Commit Graph

21123 Commits

Author SHA1 Message Date
Guido van Rossum 04a866170d Add test for pickling new-style class with custom metaclass. 2001-12-19 16:58:54 +00:00
Guido van Rossum f83142910b Fix for SF bug #494904: Cannot pickle a class with a metaclass,
reported by Dan Parisien.
2001-12-19 16:57:36 +00:00
Guido van Rossum 950dce6f01 save(): Fix for SF bug #494904: Cannot pickle a class with a
metaclass, reported by Dan Parisien.

Objects that are instances of custom metaclasses, i.e. whose ob_type
is a subclass of PyType_Type, should be pickled the same as new-style
classes (objects whose ob_type is PyType_Type).  This can't be done
through the existing dispatch switches, and the __reduce__ trick
doesn't work for these, since it finds the unbound __reduce__ for
instances of the class (inherited from PyBaseObject_Type).  So check
explicitly using PyType_IsSubtype().
2001-12-19 16:56:54 +00:00
Guido van Rossum f048a8f6d7 Pickler.save(): Fix for SF bug #494904: Cannot pickle a class with a
metaclass, reported by Dan Parisien.

Objects that are instances of custom metaclasses, i.e. whose class is
a subclass of 'type', should be pickled the same as new-style classes
(objects whose class is 'type').  This can't be done through a
dispatch table entry, and the __reduce__ trick doesn't work for these,
since it finds the unbound __reduce__ for instances of the class
(inherited from 'object').  So check explicitly using issubclass().
2001-12-19 16:55:02 +00:00
Fred Drake 5935ff07be Add some additional tests that check more proxy behaviors. 2001-12-19 16:54:23 +00:00
Fred Drake 2a908f6b7b proxy_compare(): Make sure that we unwrap both objects being compared if
both are proxy objects.
2001-12-19 16:44:30 +00:00
Fred Drake 694ed091af Fix the test control support for the pickle & cPickle tests so the tests run
under regrtest.
2001-12-19 16:42:15 +00:00
Guido van Rossum 1444f67fa0 The test using class initarg failed, because it was lacking a
__safe_for_unpickling__ attribute.
2001-12-19 16:38:29 +00:00
Fred Drake 4f5b49fb56 Make the module docstring agree with reality: the module prvides the
"handler()" function, not the "handle()" function.
2001-12-19 14:27:41 +00:00
Jack Jansen 0d1536654d When running regen for the plat directories we should use the BUILDEXT
extension, not the EXT one, as regen uses the python binary in the build
directory. Fixes #493959.
2001-12-19 09:24:40 +00:00
Tim Peters 1fbb577ee2 SF bug #494738: binascii_b2a_base64 overwrites memory.
binascii_b2a_base64():  We didn't allocate enough buffer space for very
short inputs (e.g., a 1-byte input can produce a 5-byte output, but we
only allocated 2 bytes).  I expect that malloc overheads absorbed the
overrun in practice, but computing a correct upper bound is a very simple
change.
2001-12-19 04:41:35 +00:00
Tim Peters b6d14daa1c SF bug #494668: PUSH() should assert-fail on overflow.
eval_frame():  Added asserts to the top of the eval loop, to verify
that the eval stack pointer is in bounds, plus some comments.
2001-12-19 04:11:07 +00:00
Tim Peters 81b61bdc1a TemporaryFileWrapper: fixed typo in new comment. 2001-12-18 23:22:01 +00:00
Martin v. Löwis 8d3ce5a6b3 Patch #494384: Disable more Unicode API if Unicode is not used. 2001-12-18 22:36:40 +00:00
Tim Peters a255a72f0a TemporaryFileWrapper: cache the value of os.unlink for use by __del__,
to prevent mysterious errors at shutdown due to "os.unlink" turning into
"None.unlink".
2001-12-18 22:32:40 +00:00
Guido van Rossum 99d2fbb823 Move the helper class _closedsocket *into* the _socketobject class.
This way, when a socket object is deleted after the socket module has
already been zapped by module shutdown, we don't get annoying warnings
about exceptions in __del__ methods.
2001-12-18 22:22:25 +00:00
Thomas Heller f499b030bd Recreated after source changes. 2001-12-18 21:08:15 +00:00
Just van Rossum 7eb48e3283 Moved a bunch of routines from "blacklisted" to "graylisted", as they _are_
available in OSX (mach-o) but not in CarbonLib (neither on OSX or OS9).
2001-12-18 20:15:27 +00:00
Thomas Heller c7cb9ed35f Second part of fix for bug [#483982] Python 2.2b2 bdist_wininst
crashes.

If no external zip-utility is found, the archive is created by the
zipfile module, which behaves different now than in 2.1: if the
zip-file is created in the root directory if the distribution, it will
contain an (empty) version of itself.

This triggered the above bug - so it's better to create the zip-file
far away in the TMP directory.
2001-12-18 20:13:40 +00:00
Fred Drake 4b1b3bfac1 Add entry for the pydoc documentation. 2001-12-18 16:32:30 +00:00
Fred Drake 96be564027 Add documentation for the pydoc module; contributed by Ka-Ping Yee.
This closes SF patch #494622.
2001-12-18 16:31:44 +00:00
Fred Drake 732299ff63 Add documentation for the help() built-in; contributed by Ka-Ping Yee.
This is part of SF patch #494622.
2001-12-18 16:31:08 +00:00
Fred Drake e088970ce0 Merge in Ping's changes to the cgitb documentation, and add a version
annotation as well.
This closes SF patch #494582.
2001-12-18 15:51:55 +00:00
Jack Jansen 6f4f8c7fe1 Small change to allow for generation of QuickTime module for Windows. 2001-12-18 15:48:28 +00:00
Jack Jansen 620a7667eb Updated to Universal Headers 3.4 2001-12-18 15:39:38 +00:00
Just van Rossum f30c3ad0d9 Added missing docstring 2001-12-18 12:53:47 +00:00
Just van Rossum 66d78bf2a0 Added support for tab controls and initial (incomplete) support
for DataBrowser controls.
2001-12-18 12:47:47 +00:00
Just van Rossum 820867662b Patch #494553 by Donovan Preston: initial implementation
for GetEventParameter().
2001-12-18 12:35:57 +00:00
Tim Peters 4befff95e9 initxxsubtype(): Add a comment to make the magic clearer; I doubt it's
obvious to anyone except PyType_Ready's author <0.9 wink>.
2001-12-17 18:26:19 +00:00
Guido van Rossum a7b9b3ccba Use PyType_Ready() for initialization of the ob_type field of our
types (the tp_base field must be initialized prior to that call).
2001-12-17 17:25:53 +00:00
Guido van Rossum 8efd6ceecc Update comments about mpz, pointing to gmpy and mxNumber rather than
to the non-existing pympz (did that ever exist?).
2001-12-17 17:24:43 +00:00
Guido van Rossum f884b74910 - PyType_Ready(): Initialize the ob_type field to &PyType_Type if it's
NULL, so that you can call PyType_Ready() to initialize a type that
  is to be separately compiled with C on Windows.

inherit_special():  Add a long comment explaining that you have to set
tp_new if your base class is PyBaseObject_Type.
2001-12-17 17:14:22 +00:00
Guido van Rossum facf24bdc7 Don't use Latex \code{...} in docstrings. 2001-12-17 16:07:06 +00:00
Barry Warsaw 6e1c576a4e Get rid of the stupid backslash in front of the column zero open
paren.  This was there to worm around a stupid XEmacs bug, but since I
can't tickle the bug in newer XEmacsen (just tried w/21.4.5) it's
possible the problem has been fixed.  We shouldn't have to be working
around editor bugs anyway.

If it crops up again, I'll report it (again) to the XEmacs crowd.
2001-12-17 15:40:24 +00:00
Jack Jansen 086f7c3890 There's a new include file AEInteraction.h which contains AESend and friends. 2001-12-17 11:47:27 +00:00
Jack Jansen ec982e2739 TickCount moved to a different header file. We manually added it back in here, for conveninece. 2001-12-17 11:46:50 +00:00
Sjoerd Mullender 564980bd86 Portability fix: Not every compiler implements the extension of
unescaped newlines in strings.
2001-12-17 11:39:56 +00:00
Steve Purcell ca9aaf36e1 Synch with pyunit CVS:
- Adds Fred's patch 487662: "Better error message for assertEqual"
 - Removed small portion of code unused after Guido's patch
   490119: "Don't treat ^C as error"
2001-12-17 10:13:17 +00:00
Guido van Rossum 33c1a8893d SF patch #493452: docstrings for staticmethod/classmethod (Skip
Montanaro)

(With minor adjustments.)
2001-12-17 02:53:53 +00:00
Tim Peters dd5c05fe6d David Abrahams tried to compile this as a separate DLL under MSVC, and
got a barrage of compile errors that didn't make sense to the C++ brain:
MSVC does not allow C (but does allow C++) initializers to contain
data addresses supplied by other DLLs.  So changed the initializers here
to use dummy nulls, and changed module init to plug in the foreign
addresses at runtime (manually simulating what C++ does by magic).  Tested
on Windows, and Guido tested on Linux (thanks!).  BTW, the *point* is that
people are going to use this module as a template for writing their own
subtypes, and it's unusual for extension authors to build their extensions
into Python directly (separate DLLs are the norm on Windows); so it's
better if we give them a template that works <wink>.
2001-12-17 01:27:01 +00:00
Jack Jansen 2168e9d602 Adapted for Universal Headers 3.4 2001-12-16 20:18:40 +00:00
Tim Peters b519638d1e _PyEval_SliceIndex(): explain why a NULL argument is allowed (thanks
to Guido for the revelation).
2001-12-16 19:44:20 +00:00
Tim Peters cb479e78e0 _PyEval_SliceIndex(): Repaired the comments, and added XXX comments
about its dubious treatment of NULL (also opened a bug report on that,
but don't want to risk changing it this late in the 2.2 game).
2001-12-16 19:11:44 +00:00
Fred Drake 0c0b5305ae Mark the mpz module deprecated as of Python 2.2. 2001-12-16 01:54:55 +00:00
Tim Peters fc1a7ce985 Update the example Windows extension to 2.2 (was hardcoded to 2.1). 2001-12-15 22:27:01 +00:00
Fred Drake b9c0ef5db7 Update to reflect recently added markup. 2001-12-15 22:24:06 +00:00
Tim Peters 1422e9dc60 SF patch 493739 2 Bugfixes for 2.2c1 (RISC OS specific), from
Dietmar Schwertberger.
Bugfix candidate.
"""
RISCOS/Modules/getpath_riscos.c:
Include trailing '\0' when using strncpy [copy
strlen(...)+1 characters].

Lib/plat-riscos/riscospath.py:
Use riscosmodule.expand for os.path.abspath.
[fixes problems with site.py where
abspath("<Python$Dir>") returned
join(os.getcwd(), "<Python$Dir>") as e.g.
"SCSI::SCSI4.$.<Python$Dir>" because "<Python$Dir>"
wasn't recognised as an absolute path.]
"""
2001-12-15 22:12:47 +00:00
Fred Drake c57772870b Add a link to the mxNumber package. 2001-12-15 20:37:40 +00:00
Fred Drake b40501b05e Add link to the gmpy project. 2001-12-15 18:37:24 +00:00
Guido van Rossum 796e1e0b30 Don't call resetwarnings(). Be more restrictive in what we filter out
instead.
2001-12-15 18:04:10 +00:00