]> granicus.if.org Git - python/log
python
23 years agoInitial check-in of cgitb.
Ka-Ping Yee [Sat, 18 Aug 2001 04:04:50 +0000 (04:04 +0000)]
Initial check-in of cgitb.
A few enhancements are pending, but this should work reliably.

23 years agoWhen the socket is closed, don't just assign 0 to self._sock.
Guido van Rossum [Sat, 18 Aug 2001 01:23:20 +0000 (01:23 +0000)]
When the socket is closed, don't just assign 0 to self._sock.
This breaks software that excepts a socket.error but not an
AttributeError.

23 years agoAdd a little introductory text.
Jeremy Hylton [Sat, 18 Aug 2001 00:24:46 +0000 (00:24 +0000)]
Add a little introductory text.

Change several sections to subsections (part of the manual -> howto
transformation).

Flesh out discussion of assignment nodes (and delete statements).

Add an example of manipulating AST objects at a >>> prompt

23 years agoGenerate correct reprs for Mul, Add, etc.
Jeremy Hylton [Sat, 18 Aug 2001 00:14:37 +0000 (00:14 +0000)]
Generate correct reprs for Mul, Add, etc.

23 years agoTrack removal of doc string from Module().nodes[0]
Jeremy Hylton [Sat, 18 Aug 2001 00:07:46 +0000 (00:07 +0000)]
Track removal of doc string from Module().nodes[0]

23 years agoAdd Yield() node
Jeremy Hylton [Sat, 18 Aug 2001 00:07:14 +0000 (00:07 +0000)]
Add Yield() node

23 years agoRemove the horrid generators hack from doctest.py. This relies on a
Tim Peters [Sat, 18 Aug 2001 00:05:50 +0000 (00:05 +0000)]
Remove the horrid generators hack from doctest.py.  This relies on a
somewhat less horrid hack <wink>:  if a module does
    from __future__ import X
then the module dict D is left in a state such that (viewing X as a
string)
    D[X] is getattr(__future__, X)
So by examining D for all the names of future features, and making that
test for each, we can make a darned good guess as to which future-features
were imported by the module.  The appropriate flags are then sucked out
of the __future__ module, and passed on to compile()'s new optional
arguments (PEP 264).

Also gave doctest a meaningful __all__, removed the history of changes
(CVS serves that purpose now), and removed the __version__ vrbl (similarly;
before CVS, it was a reasonable clue, but not anymore).

23 years agoAdd Yield() statement handler
Jeremy Hylton [Sat, 18 Aug 2001 00:04:31 +0000 (00:04 +0000)]
Add Yield() statement handler

Fix Module() handler to avoid including the doc string in the AST

23 years agoFix for bug [#452230] future division isn't propagated.
Tim Peters [Fri, 17 Aug 2001 23:04:59 +0000 (23:04 +0000)]
Fix for bug [#452230] future division isn't propagated.
builtin_eval wasn't merging in the compiler flags from the current frame;
I suppose we never noticed this before because future division is the
first future-feature that can affect expressions (nested_scopes and
generators had only statement-level effects).

23 years agoThe OSX framework Headers symlink pointed the wrong way. Fixed.
Jack Jansen [Fri, 17 Aug 2001 22:37:02 +0000 (22:37 +0000)]
The OSX framework Headers symlink pointed the wrong way. Fixed.
Bill Fancher found this one.

23 years agoA fiddled version of the rest of Michael Hudson's SF patch
Tim Peters [Fri, 17 Aug 2001 22:11:27 +0000 (22:11 +0000)]
A fiddled version of the rest of Michael Hudson's SF patch
    #449043 supporting __future__ in simulated shells
which implements PEP 264.

23 years agoUse raw-unicode-escape for the tests that require it.
Martin v. Löwis [Fri, 17 Aug 2001 22:08:34 +0000 (22:08 +0000)]
Use raw-unicode-escape for the tests that require it.

23 years agoAddress SF bug #442813. The sequence getitem wrappers should do
Guido van Rossum [Fri, 17 Aug 2001 21:57:47 +0000 (21:57 +0000)]
Address SF bug #442813.  The sequence getitem wrappers should do
interpretation of negative indices, since neither the sq_*item slots
nor the slot_ wrappers do this.  (Slices are a different story, there
the size wrapping is done too early.)

23 years agoAdd test for weak references.
Guido van Rossum [Fri, 17 Aug 2001 21:27:53 +0000 (21:27 +0000)]
Add test for weak references.

23 years agoAdd note on type/class unification.
Guido van Rossum [Fri, 17 Aug 2001 21:21:04 +0000 (21:21 +0000)]
Add note on type/class unification.

23 years agoceval, PyEval_MergeCompilerFlags: wasn't merging in the
Tim Peters [Fri, 17 Aug 2001 20:47:47 +0000 (20:47 +0000)]
ceval, PyEval_MergeCompilerFlags:  wasn't merging in the
CO_FUTURE_DIVISION flag.  Redid this to use Jeremy's PyCF_MASK #define
instead, so we dont have to remember to fiddle individual feature names
here again.

pythonrun.h:  Also #define a PyCF_MASK_OBSOLETE mask.  This isn't used
yet, but will be as part of the PEP 264 implementation (compile() mustn't
raise an error just because old code uses a flag name that's become
obsolete; a warning may be appropriate, but not an error; so compile() has
to know about obsolete flags too, but nobody is going to remember to
update compile() with individual obsolete flag names across releases either
-- i.e., this is the flip side of PyEval_MergeCompilerFlags's oversight).

23 years agoWeak reference support, closing SF bug #451773.
Guido van Rossum [Fri, 17 Aug 2001 20:32:36 +0000 (20:32 +0000)]
Weak reference support, closing SF bug #451773.

Classes that don't use __slots__ have a __weakref__ member added in
the same way as __dict__ is added (i.e. only if the base didn't
already have one).  Classes using __slots__ can enable weak
referenceability by adding '__weakref__' to the __slots__ list.

Renamed the __weaklistoffset__ class member to __weakrefoffset__ --
it's not always a list, it seems.  (Is tp_weaklistoffset a historical
misnomer, or do I misunderstand this?)

23 years agoDocument that uu.decode() will always raise a uu.Error if out_file
Barry Warsaw [Fri, 17 Aug 2001 20:01:06 +0000 (20:01 +0000)]
Document that uu.decode() will always raise a uu.Error if out_file
isn't given, and the file in the uu header already exists.  Also add a
description of the uu.Error exception class.

23 years agoTest that uu.py will not override an existing file if out_file isn't
Barry Warsaw [Fri, 17 Aug 2001 20:00:11 +0000 (20:00 +0000)]
Test that uu.py will not override an existing file if out_file isn't
given and the path is gleaned from the uu header.

23 years agodecode(): Raise a uu.Error if no out_file is given but the file
Barry Warsaw [Fri, 17 Aug 2001 19:59:34 +0000 (19:59 +0000)]
decode(): Raise a uu.Error if no out_file is given but the file
    specified in the uu header already exists.  No additional
    workaround is provided since out_file=pathname is a deprecated
    interface, so it is better to simply pass a file-like object into
    out_file anyway.  This closes SF bug #438083.

Use isinstance() tests instead of type comparisons.

23 years agoA self-contained piece of Michael Hudson's patch
Tim Peters [Fri, 17 Aug 2001 19:49:02 +0000 (19:49 +0000)]
A self-contained piece of Michael Hudson's patch
    #449043 supporting __future__ in simulated shells
in support of PEP 264.

Much has changed from the patch version:
+ Repaired bad hex constant for nested_scopes.
+ Defined symbolic CO_xxx names so global search will find these uses.
+ Made the exported list of feature names explicit, instead of abusing
  __all__ for this purpose (and redefined __all__ accordingly).
+ Added gross .compiler_flag verification to test___future__.py, and
  reworked it a little to make use of the newly exported explicit list
  of feature names.

23 years agoAddress SF #451547. The approach is a bit draconian: any object that
Guido van Rossum [Fri, 17 Aug 2001 18:49:52 +0000 (18:49 +0000)]
Address SF #451547.  The approach is a bit draconian: any object that
is pickled as a global must now exist by the name under which it is
pickled, otherwise the pickling fails.  Previously, such things would
fail on unpickling, or unpickle as the wrong global object.  I'm
hoping that this won't break existing code that is playing tricks with
this.

I need a volunteer to do this for cPickle too.

23 years agoPatch #445762: Support --disable-unicode
Martin v. Löwis [Fri, 17 Aug 2001 18:39:25 +0000 (18:39 +0000)]
Patch #445762: Support --disable-unicode
- Do not compile unicodeobject, unicodectype, and unicodedata if Unicode is disabled
- check for Py_USING_UNICODE in all places that use Unicode functions
- disables unicode literals, and the builtin functions
- add the types.StringTypes list
- remove Unicode literals from most tests.

23 years agoAnother contributor's patch got accepted.
Guido van Rossum [Fri, 17 Aug 2001 17:36:00 +0000 (17:36 +0000)]
Another contributor's patch got accepted.

23 years agoChange the 227 response parser to use a more liberal regular
Guido van Rossum [Fri, 17 Aug 2001 17:24:29 +0000 (17:24 +0000)]
Change the 227 response parser to use a more liberal regular
expression.  This is needed for certain servers that (in violation of
the standard) don't return the parentheses in the response.

This fixes SF bug #441712 by Henrik Weber (not exactly using his
patch).

23 years agoMake sure that ampersand escaping is still performed on the contents of
Fred Drake [Fri, 17 Aug 2001 17:20:44 +0000 (17:20 +0000)]
Make sure that ampersand escaping is still performed on the contents of
local module tables (the lists of modules documented within a chapter,
inserted at the beginning of the chapter).  If this is not done here,
the text is not part of the resulting documents when latex2html does the
processing normally.

This fixes a little bit more of SF bug #451556.

23 years agotype_new(): look for __dynamic__ at the module level (after looking in
Guido van Rossum [Fri, 17 Aug 2001 16:47:50 +0000 (16:47 +0000)]
type_new(): look for __dynamic__ at the module level (after looking in
the class dict).  Anything but a nonnegative int in either place is
*ignored* (before, a non-Boolean was an error).  The default is still
static -- in a comparative test, Jeremy's Tools/compiler package ran
twice as slow (compiling itself) using dynamic as the default.  (The
static version, which requires a few tweaks to avoid modifying class
variables, runs at about the same speed as the classic version.)

slot_tp_descr_get(): this also needed fallback behavior.

slot_tp_getattro(): remove a debug fprintf() call.

23 years agoStrip trailing whitespace, including two lines containing only one or
Guido van Rossum [Fri, 17 Aug 2001 15:32:31 +0000 (15:32 +0000)]
Strip trailing whitespace, including two lines containing only one or
more tabs that XEmacs Makefile mode found suspicious.

23 years ago- Get rid of obsolete #define PATCHLEVEL.
Guido van Rossum [Fri, 17 Aug 2001 14:05:27 +0000 (14:05 +0000)]
- Get rid of obsolete #define PATCHLEVEL.

- Change PY_VERSION (but not the numeric versions) to "2.2a1+".

23 years agoFix core dump in repr() of instancemethod whose class==NULL.
Guido van Rossum [Fri, 17 Aug 2001 13:59:27 +0000 (13:59 +0000)]
Fix core dump in repr() of instancemethod whose class==NULL.

23 years agoclassic(),metods(): add tests to verify that a bound method without a
Guido van Rossum [Fri, 17 Aug 2001 13:58:31 +0000 (13:58 +0000)]
classic(),metods(): add tests to verify that a bound method without a
class has a correct repr().

23 years agoinstance_getattr2(): rewritten to remove unnecessary stuff and
Guido van Rossum [Fri, 17 Aug 2001 13:43:27 +0000 (13:43 +0000)]
instance_getattr2(): rewritten to remove unnecessary stuff and
streamlined a bit.

instancemethod_descr_get(): don't bind an unbound method of a class
that's not a base class of the argument class.

23 years agoclassic(), methods(): add another test relating to unbound methods:
Guido van Rossum [Fri, 17 Aug 2001 13:40:47 +0000 (13:40 +0000)]
classic(), methods(): add another test relating to unbound methods:
when an unbound method of class A is stored as a class variable of
class B, and class B is *not* a subclass of class A, that method
should *not* get bound to B instances.

23 years agoInstance methods: allow a NULL value for im_class.
Guido van Rossum [Fri, 17 Aug 2001 12:07:34 +0000 (12:07 +0000)]
Instance methods: allow a NULL value for im_class.

23 years agoAdd early binding of methods to the 2nd metaclass example.
Guido van Rossum [Fri, 17 Aug 2001 11:55:58 +0000 (11:55 +0000)]
Add early binding of methods to the 2nd metaclass example.

23 years agometaclass(): add tests for metaclasses written in Python: one that
Guido van Rossum [Fri, 17 Aug 2001 11:43:17 +0000 (11:43 +0000)]
metaclass(): add tests for metaclasses written in Python: one that
subclasses type, one that doesn't (the latter isn't fully functional
yet).

23 years agotype_new(): only defer to the winning metatype if it's different from
Guido van Rossum [Fri, 17 Aug 2001 11:18:38 +0000 (11:18 +0000)]
type_new(): only defer to the winning metatype if it's different from
the metatype passed in as an argument.  This prevents infinite
recursion when a metatype written in Python calls type.__new__() as a
"super" call.

Also tweaked some comments.

23 years agoStop adding 3 to FD_SETSIZE -- it makes no sense. If it turns out it
Tim Peters [Thu, 16 Aug 2001 21:59:46 +0000 (21:59 +0000)]
Stop adding 3 to FD_SETSIZE -- it makes no sense.  If it turns out it
actually does <wink>, perhaps an Insure run will catch it.
Also removed senseless Windows comment.

23 years agofix_font(): Instead of using a long if/elsif cluster, use a bloody
Fred Drake [Thu, 16 Aug 2001 21:56:24 +0000 (21:56 +0000)]
fix_font():  Instead of using a long if/elsif cluster, use a bloody
    dictionary.  Added some entries to the dictionary to fix part of
    SF bug #451556.

23 years agoFix typo reported by Joonas Paalasmaa: dada-->data
Fred Drake [Thu, 16 Aug 2001 21:25:24 +0000 (21:25 +0000)]
Fix typo reported by Joonas Paalasmaa:  dada-->data

23 years agoRe-write the description of the os.spawn*() functions, and cover the
Fred Drake [Thu, 16 Aug 2001 21:21:28 +0000 (21:21 +0000)]
Re-write the description of the os.spawn*() functions, and cover the
whole family instead of just two.

This closes SF bug #451630.

23 years agoAdded a test for module repr truncation when the package name is
Barry Warsaw [Thu, 16 Aug 2001 20:42:38 +0000 (20:42 +0000)]
Added a test for module repr truncation when the package name is
really long.  Closes SF bug #437984.

23 years agoclassobject.c:instancemethod_descr_get(): when a bound method is
Guido van Rossum [Thu, 16 Aug 2001 20:41:56 +0000 (20:41 +0000)]
classobject.c:instancemethod_descr_get(): when a bound method is
assigned to a class variable and then accessed via an instance, it
should not be rebound.

test_descr.py:methods(): test for the condition above.

23 years agomodule_repr(): Instead of fixing the maximum buf size to 400,
Barry Warsaw [Thu, 16 Aug 2001 20:39:24 +0000 (20:39 +0000)]
module_repr(): Instead of fixing the maximum buf size to 400,
    calculate it on the fly.  This way even modules with long package
    names get an accurate repr instead of a truncated one.  The extra
    malloc/free cost shouldn't be a problem in a repr function.

    Closes SF bug #437984

23 years agoIf genpluginprojects is called from fullbuild we set the Python source directory...
Jack Jansen [Thu, 16 Aug 2001 20:39:17 +0000 (20:39 +0000)]
If genpluginprojects is called from fullbuild we set the Python source directory to be the same as fullbuild uses (in stead of using the default sys.prefix). This fixes an issue Mark Day raised that you can't use fullbuild with one Python installation to build another one.

23 years agoinit_sre(): Plug a little leak reported by Insure.
Barry Warsaw [Thu, 16 Aug 2001 20:33:48 +0000 (20:33 +0000)]
init_sre(): Plug a little leak reported by Insure.

23 years agoLink readline module with ncurses in preference to termcap. [Bug ##441580]
Andrew M. Kuchling [Thu, 16 Aug 2001 20:30:18 +0000 (20:30 +0000)]
Link readline module with ncurses in preference to termcap. [Bug ##441580]
Remove pointless comment

23 years ago[Patch #441691] preprocess() method for Borland C compiler.
Andrew M. Kuchling [Thu, 16 Aug 2001 20:17:41 +0000 (20:17 +0000)]
[Patch #441691] preprocess() method for Borland C compiler.
    I have no way of testing this.

23 years agotest_descr started breaking in yet another way in the same place.
Tim Peters [Thu, 16 Aug 2001 19:50:51 +0000 (19:50 +0000)]
test_descr started breaking in yet another way in the same place.

23 years agoFix object_repr() to include the module (using the same rules as
Guido van Rossum [Thu, 16 Aug 2001 18:52:43 +0000 (18:52 +0000)]
Fix object_repr() to include the module (using the same rules as
type_repr() for when to show or not to show it).

23 years agoNew unit test for the mimetypes module, to avoid future regressions.
Fred Drake [Thu, 16 Aug 2001 18:36:59 +0000 (18:36 +0000)]
New unit test for the mimetypes module, to avoid future regressions.

23 years agoAnother egregious error that copied the encodings info over the suffix
Fred Drake [Thu, 16 Aug 2001 18:14:38 +0000 (18:14 +0000)]
Another egregious error that copied the encodings info over the suffix
info.  Caught by the tests that I'm writing now.

23 years agoUse (c)StringIO for collecting bytes. Fixes bug #451622.
Martin v. Löwis [Thu, 16 Aug 2001 17:06:44 +0000 (17:06 +0000)]
Use (c)StringIO for collecting bytes. Fixes bug #451622.

23 years agoRepair some accidents causing Windows failures:
Tim Peters [Thu, 16 Aug 2001 16:56:16 +0000 (16:56 +0000)]
Repair some accidents causing Windows failures:
+ test_compare.  While None compares less than anything else, it's not
  always the case that None has the smallest id().
+ test_descr.  The output of %p (pointer) formats varies across platforms.
  In particular, on Windows it doesn't produce a leading "0x".

23 years agoFixed a couple of minor formatting nits where lines were > 79 columns wide.
Barry Warsaw [Thu, 16 Aug 2001 16:55:10 +0000 (16:55 +0000)]
Fixed a couple of minor formatting nits where lines were > 79 columns wide.

23 years agoselect_select(): Closing bug #448351 the easy way, i.e. by changing
Barry Warsaw [Thu, 16 Aug 2001 16:52:59 +0000 (16:52 +0000)]
select_select(): Closing bug #448351 the easy way, i.e. by changing
    the "#ifdef MS_WINDOWS" to "#ifdef SELECT_USES_HEAP" and by
    setting SELECT_USES_HEAP when FD_SETSIZE > 1024.

    The indirection seems useful since this subtly changes the path
    that "normal" Windows programs take (where Timmie sez FD_SETSIZE =
    512).  If that's a problem for Windows, he has only one place to
    change.

23 years agoBad bug: the MimeTypes.readfp() was supposed to take a file object as a
Fred Drake [Thu, 16 Aug 2001 15:54:28 +0000 (15:54 +0000)]
Bad bug: the MimeTypes.readfp() was supposed to take a file object as a
parameter, but did not.  This was found because it can create failures
elsewhere based on the presence of mime.types files in some common locations
the module searches by default.

(I will be writing a test for this module shortly!)

23 years agoI should add that the previous checkin also added a slight
Guido van Rossum [Thu, 16 Aug 2001 15:42:49 +0000 (15:42 +0000)]
I should add that the previous checkin also added a slight
optimization for dynamic classes.  If __getattr__ is not found as an
attribute on the type, slot_tp_getattro replaces itself with
PyObject_GenericGetAttr.  This means you can't add a __getattr__
method to a class after the fact -- but you can still *change* a
__getattr__ method into a different one.

(A similar restriction exists for classic classes.)

23 years agoLong time overdue: change sys.path defaults so that people will
Just van Rossum [Thu, 16 Aug 2001 15:16:19 +0000 (15:16 +0000)]
Long time overdue: change sys.path defaults so that people will
have to do "from PIL import Image" instead of "import Image".

23 years agoUse METH_O where possible (two functions). This does not lead to real
Fred Drake [Thu, 16 Aug 2001 14:11:30 +0000 (14:11 +0000)]
Use METH_O where possible (two functions).  This does not lead to real
performance changes since the affected functions are not expected to be
used frequently, but reduces the volume of code.

23 years agoUpdated to the current state of things (long overdue).
Jack Jansen [Thu, 16 Aug 2001 14:10:56 +0000 (14:10 +0000)]
Updated to the current state of things (long overdue).

23 years agoRemoved expat from the access paths, it isn't needed.
Jack Jansen [Thu, 16 Aug 2001 14:10:08 +0000 (14:10 +0000)]
Removed expat from the access paths, it isn't needed.

23 years ago[Patch #444854 from twburton]
Andrew M. Kuchling [Thu, 16 Aug 2001 14:08:02 +0000 (14:08 +0000)]
[Patch #444854 from twburton]
    Add executable extension, needed to get the program name right on Win32

23 years ago[Patch #442530 from twburton]
Andrew M. Kuchling [Thu, 16 Aug 2001 13:56:40 +0000 (13:56 +0000)]
[Patch #442530 from twburton]
    Provide include_dirs argument to all calls to ._preprocess and ._compile
    Fix typo: pattern.search(pattern) should be pattern.search(line)

23 years agoPatch #427190: Implement and use METH_NOARGS and METH_O.
Martin v. Löwis [Thu, 16 Aug 2001 13:15:00 +0000 (13:15 +0000)]
Patch #427190: Implement and use METH_NOARGS and METH_O.

23 years agoFix SF bug #442501: calculate __module__ properly.
Guido van Rossum [Thu, 16 Aug 2001 09:18:56 +0000 (09:18 +0000)]
Fix SF bug #442501: calculate __module__ properly.

- type_module(), type_name(): if tp_name contains one or more period,
  the part before the last period is __module__, the part after that
  is __name__.  Otherwise, for non-heap types, __module__ is
  "__builtin__".  For heap types, __module__ is looked up in
  tp_defined.

- type_new(): heap types have their __module__ set from
  globals().__name__; a pre-existing __module__ in their dict is not
  overridden.  This is not inherited.

- type_repr(): if __module__ exists and is not "__builtin__", it is
  included in the string representation (just as it already is for
  classes).  For example <type '__main__.C'>.

23 years agoChange the type names to xxsublist.<name>.
Guido van Rossum [Thu, 16 Aug 2001 09:10:42 +0000 (09:10 +0000)]
Change the type names to xxsublist.<name>.

23 years agoThe change of type(None).__name__ from 'None' to 'NoneType' broke this
Guido van Rossum [Thu, 16 Aug 2001 08:32:39 +0000 (08:32 +0000)]
The change of type(None).__name__ from 'None' to 'NoneType' broke this
test in a trivial way.  Fixed.

23 years agoSubtle change to make None.__class__ work:
Guido van Rossum [Thu, 16 Aug 2001 08:27:33 +0000 (08:27 +0000)]
Subtle change to make None.__class__ work:

- descrobject.c:descr_check(): only believe None means the same as
  NULL if the type given is None's type.

- typeobject.c:wrap_descr_get(): don't "conventiently" default an
  absent type to the type of the object argument.  Let the called
  function figure it out.

23 years agoOops. Two fixes for SF bug #422004 are not needed. :-)
Guido van Rossum [Thu, 16 Aug 2001 08:24:00 +0000 (08:24 +0000)]
Oops.  Two fixes for SF bug #422004 are not needed. :-)

23 years agoBunchathings:
Guido van Rossum [Thu, 16 Aug 2001 08:21:42 +0000 (08:21 +0000)]
Bunchathings:

- initsigs(): Ignore SIGXFZ so writing files beyond the file system
  size limit won't kill us.

- Py_Initialize(): call _Py_ReadyTypes() instead of readying types
  here.

- Py_Initialize(): call _PyImport_FixupExtension() for module
  "extensions".  (SF bug #422004.)

23 years agoAdd a function _Py_ReadyTypes() which initializes various and sundry
Guido van Rossum [Thu, 16 Aug 2001 08:17:26 +0000 (08:17 +0000)]
Add a function _Py_ReadyTypes() which initializes various and sundry
types -- currently Type, List, None and NotImplemented.  To be called
from Py_Initialize() instead of accumulating calls there.

Also rename type(None) to NoneType and type(NotImplemented) to
NotImplementedType -- naming the type identical to the object was
confusing.

23 years agoUpdate to MvL's patch #424475 to avoid returning 2 when tp_compare
Guido van Rossum [Thu, 16 Aug 2001 08:02:45 +0000 (08:02 +0000)]
Update to MvL's patch #424475 to avoid returning 2 when tp_compare
returns that.  (This fix is also by MvL; checkin it in because I want
to make more changes here.  I'm still not 100% satisfied -- see
comments attached to the patch.)

23 years agoNo change, just wanted to record more info in the log: after the last
Tim Peters [Thu, 16 Aug 2001 02:23:04 +0000 (02:23 +0000)]
No change, just wanted to record more info in the log:  after the last
checkin, the Wise uninstaller *will* delete the Python DLL from the system
directory, but if and only if there wasn't a same-named Python DLL already
in the system directory at the time the installer ran.  That (no same-named
DLL) should be the typical case for most most people (I'm different because
I've run perhaps hundreds of 2.2 installs over the last several weeks).
IOW, the change was worth making.

23 years agoWise uninstallers never delete the Python DLL from the system directory.
Tim Peters [Thu, 16 Aug 2001 01:53:51 +0000 (01:53 +0000)]
Wise uninstallers never delete the Python DLL from the system directory.
They should.  Added a line that's supposed to fix that -- it doesn't
actually work on my box, but checking it in anyway.

23 years agoAdd tests for overridable operators that have default interpretations
Guido van Rossum [Wed, 15 Aug 2001 23:57:59 +0000 (23:57 +0000)]
Add tests for overridable operators that have default interpretations
(__hash__ etc.), in static and dynamic classes, overridden and
default.

23 years ago- Another big step in the right direction. All the overridable
Guido van Rossum [Wed, 15 Aug 2001 23:57:02 +0000 (23:57 +0000)]
- Another big step in the right direction.  All the overridable
  operators for which a default implementation exist now work, both in
  dynamic classes and in static classes, overridden or not.  This
  affects __repr__, __str__, __hash__, __contains__, __nonzero__,
  __cmp__, and the rich comparisons (__lt__ etc.).  For dynamic
  classes, this meant copying a lot of code from classobject!  (XXX
  There are still some holes, because the comparison code in object.c
  uses PyInstance_Check(), meaning new-style classes don't get the
  same dispensation.  This needs more thinking.)

- Add object.__hash__, object.__repr__, object.__str__.  The __str__
  dispatcher now calls the __repr__ dispatcher, as it should.

- For static classes, the tp_compare, tp_richcompare and tp_hash slots
  are now inherited together, or not at all.  (XXX I fear there are
  still some situations where you can inherit __hash__ when you
  shouldn't, but mostly it's OK now, and I think there's no way we can
  get that 100% right.)

23 years agoRewrote Jack's latest change so it does what it intended to do...
Just van Rossum [Wed, 15 Aug 2001 21:20:42 +0000 (21:20 +0000)]
Rewrote Jack's latest change so it does what it intended to do...

23 years agoGiven a class without __cmp__ or __eq__, cmp() of two instances of
Guido van Rossum [Wed, 15 Aug 2001 21:02:20 +0000 (21:02 +0000)]
Given a class without __cmp__ or __eq__, cmp() of two instances of
that class should compare the id() of those instances.  Add a test
that verifies this.  This test currently fails; I believe this is
caused by object.c:2.132 (Patch #424475 by loewis).

23 years agoA large contribution from Dave Kuhlman describing what each of the slots
Fred Drake [Wed, 15 Aug 2001 19:07:18 +0000 (19:07 +0000)]
A large contribution from Dave Kuhlman describing what each of the slots
in the type object is used for, for many of the more commonly used slots.
Thanks!

(But there is still a lot more to write on this topic.)
Markup and organizational changes by your friendly neighborhood
documentation czar.

23 years agoDave Kuhlman has contributed a nice improvement to the "Defining New Types"
Fred Drake [Wed, 15 Aug 2001 19:00:29 +0000 (19:00 +0000)]
Dave Kuhlman has contributed a nice improvement to the "Defining New Types"
section of the Extending & Embedding manual -- thanks!

23 years agoRemove spurious space before a period.
Fred Drake [Wed, 15 Aug 2001 18:48:10 +0000 (18:48 +0000)]
Remove spurious space before a period.

23 years agoAdded comments before recently added/assigned slots in the type object,
Fred Drake [Wed, 15 Aug 2001 18:32:33 +0000 (18:32 +0000)]
Added comments before recently added/assigned slots in the type object,
so the backward compatibility issues will be easier to understand.  I only
added comments indicating additions and assignments back to Python 2.0.

23 years agoAdd 'state' as a get/set attribute to spamlist. This serves as an
Guido van Rossum [Wed, 15 Aug 2001 18:18:58 +0000 (18:18 +0000)]
Add 'state' as a get/set attribute to spamlist.  This serves as an
example.

23 years agoAdd 'state' as a read-only attribute to spamdict. This serves as an
Guido van Rossum [Wed, 15 Aug 2001 18:09:11 +0000 (18:09 +0000)]
Add 'state' as a read-only attribute to spamdict.  This serves as an
example.

23 years agoPyMethod_Type: add a tp_descr_get slot function to ensure proper
Guido van Rossum [Wed, 15 Aug 2001 17:52:31 +0000 (17:52 +0000)]
PyMethod_Type: add a tp_descr_get slot function to ensure proper
binding of unbound methods.

23 years agoAdd a test to verify that bound methods work correctly.
Guido van Rossum [Wed, 15 Aug 2001 17:51:17 +0000 (17:51 +0000)]
Add a test to verify that bound methods work correctly.

23 years agoFix portability problems with glibc 2.0, as reported in #449157.
Martin v. Löwis [Wed, 15 Aug 2001 17:14:33 +0000 (17:14 +0000)]
Fix portability problems with glibc 2.0, as reported in #449157.

23 years agoUse the "howto" document class rather than the "manual" class.
Fred Drake [Wed, 15 Aug 2001 17:01:34 +0000 (17:01 +0000)]
Use the "howto" document class rather than the "manual" class.

Remove the module index; there aren't enough modules documented yet
for this to make sense.

Add a couple more index entries, fixed a few typos, and adjusted a few
more things for consistency.

23 years agoProperly mark attribute names in the table.
Fred Drake [Wed, 15 Aug 2001 16:47:10 +0000 (16:47 +0000)]
Properly mark attribute names in the table.

23 years agoChange the generated markup so that attribute names are properly marked.
Fred Drake [Wed, 15 Aug 2001 16:46:22 +0000 (16:46 +0000)]
Change the generated markup so that attribute names are properly marked.

23 years agoUse the abstract object interfaces when digging around in module objects
Fred Drake [Wed, 15 Aug 2001 16:44:56 +0000 (16:44 +0000)]
Use the abstract object interfaces when digging around in module objects
instead of directly manipulating the underlying dictionary.

23 years agoNote addition of cleanfuture.py
Andrew M. Kuchling [Wed, 15 Aug 2001 15:55:48 +0000 (15:55 +0000)]
Note addition of cleanfuture.py

23 years agoFix typo
Andrew M. Kuchling [Wed, 15 Aug 2001 15:54:56 +0000 (15:54 +0000)]
Fix typo

23 years agoFix small markup consistency nits.
Fred Drake [Wed, 15 Aug 2001 14:35:13 +0000 (14:35 +0000)]
Fix small markup consistency nits.

23 years agoMacOSX: if we're building without --enable-toolbox-glue don't attempt to
Jack Jansen [Wed, 15 Aug 2001 13:55:15 +0000 (13:55 +0000)]
MacOSX: if we're building without --enable-toolbox-glue don't attempt to
include _PyMac_Error. Also don't try to include __dummy: it needs Foundation
and I think (not 100% sure) that this isn't part of naked Darwin.

23 years agoOn OSX we should not pass the -shared option to ld: it make the build
Jack Jansen [Wed, 15 Aug 2001 13:17:45 +0000 (13:17 +0000)]
On OSX we should not pass the -shared option to ld: it make the build
of audioop and cmath fail. Removing it seems to have no adverse consequences.

Closes bug #450510.

23 years agoDon't remove non-directories from sys.path on the mac: files
Jack Jansen [Wed, 15 Aug 2001 12:07:46 +0000 (12:07 +0000)]
Don't remove non-directories from sys.path on the mac: files
can be on sys.path too.

23 years agoNew, larger installer bitmap from Erik van Blokland. Added more
Tim Peters [Wed, 15 Aug 2001 06:10:16 +0000 (06:10 +0000)]
New, larger installer bitmap from Erik van Blokland.  Added more
vertical whitespace to the acknowledgements portion of the "Installation
Completed!" screen for easier reading.

23 years agoFix typo in module docstring.
Tim Peters [Wed, 15 Aug 2001 06:07:42 +0000 (06:07 +0000)]
Fix typo in module docstring.