- 17 Jan, 2001 37 commits
-
-
Guido van Rossum authored
- Use the compare nesting level and in-progress dictionary properly in PyObject_RichCompare(). - Change the in-progress code to use static variables instead of globals (both the nesting level and the key for the thread dict were globals but have no reason to be globals; the key can even be a function-static variable in get_inprogress_dict()). - Rewrote try_rich_to_3way_compare() to benefit from the similarity of the three cases, making it table-driven. - In try_rich_to_3way_compare(), test for EQ before LT and GT. This turns out essential when comparing recursive UserList instances; with the old code, these would recurse into rich comparison three times for each nesting level up to NESTING_LIMIT/2, making the total number of calls in the order of 3**(NESTING_LIMIT/2)! NOTE: I'm not 100% comfortable with this. It works for the standard test suite (which compares a few trivial recursive data structures only), but I'm not sure that the in-progress dictionary is used properly by the rich comparison code. Jeremy suggested that maybe the operation should be included in the dict. Currently I presume that objects in the dict are equal unless proven otherwise, and I set the outcome for the rich comparison accordingly: true for operators EQ, LE, GE, and false for the other three. But Jeremy seems to think that there may be counter-examples where this doesn't do the right thing.
-
Andrew M. Kuchling authored
Check for the two possible headers for Expat, expat.h and xmlparse.h, and only compile the pyexpat module if one of them is found.
-
Andrew M. Kuchling authored
-
Andrew M. Kuchling authored
oversight in using self.compiler.library_dirs)
-
Ka-Ping Yee authored
-
Marc-André Lemburg authored
and replaces them with a new API verify(). As a result the regression suite will also perform its tests in optimization mode. Written by Marc-Andre Lemburg. Copyright assigned to Guido van Rossum.
-
Tim Peters authored
Not that Jack doesn't deserve them, but saying it so often cheapens the sentiment.
-
Andrew M. Kuchling authored
The final piece of this change... Strip down Setup.config.in and Setup.dist to the minimal sets required to get a working Python; setup.py will handle the rest
-
Andrew M. Kuchling authored
The final piece of this change... Run setup.py to build shared modules and to install them.
-
Marc-André Lemburg authored
-
Marc-André Lemburg authored
except that it always returns Unicode objects. A new C API PyObject_Unicode() is also provided. This closes patch #101664. Written by Marc-Andre Lemburg. Copyright assigned to Guido van Rossum.
-
Andrew M. Kuchling authored
* Uncomment the xreadlines module * The Tcl/Tk detection code doesn't need to worry about pre-8.0 versions * Fix some debugging changes (not running ar, a commented-out line)
-
Guido van Rossum authored
(I'm going to check in some more uses of rich comparisons, but the basic feature should be in place now.)
-
Guido van Rossum authored
-
Guido van Rossum authored
- Use PyObject_RichCompare*() where possible: when comparing keyword arguments, in _PyEval_SliceIndex(), and of course in cmp_outcome(). Unrelated stuff: - Removed all trailing whitespace. - Folded some long lines.
-
Guido van Rossum authored
- Get rid of float_cmp(). - Renamed Py_TPFLAGS_NEWSTYLENUMBER to Py_TPFLAGS_CHECKTYPES.
-
Guido van Rossum authored
- Get rid of long_cmp(). - Renamed Py_TPFLAGS_NEWSTYLENUMBER to Py_TPFLAGS_CHECKTYPES.
-
Guido van Rossum authored
- Get rid of int_cmp(). - Renamed Py_TPFLAGS_NEWSTYLENUMBER to Py_TPFLAGS_CHECKTYPES.
-
Guido van Rossum authored
- Renamed Py_TPFLAGS_NEWSTYLENUMBER to Py_TPFLAGS_CHECKTYPES. - Use PyObject_RichCompareBool() in PySequence_Contains().
-
Guido van Rossum authored
- Got rid of instance_cmp(); refactored instance_compare(). - Added instance_richcompare() which calls __lt__() etc. Some unrelated stuff mixed in: - Aligned comments in various large struct initializers. - Better test to avoid recursion if __coerce__ returns self as the first argument (this is an unrelated fix by Neil Schemenauer!). - Style nit: don't use Py_DECREF(Py_NotImplemented); use Py_DECREF(result) -- it just looks better. :-)
-
Andrew M. Kuchling authored
Tweak the configure script to build setup.cfg
-
Guido van Rossum authored
PyObject_RichCompare() and PyObject_RichCompareBool(). XXX Note: the code that checks for deeply nested rich comparisons is bogus -- it assumes the two objects are always identical, rather than using the same logic as PyObject_Compare(). I'll fix that later.
-
Andrew M. Kuchling authored
Check in the setup.py script, and the setup.cfg.in file, which handle compiling and installing as many extension modules as possible
-
Guido van Rossum authored
-
Guido van Rossum authored
- Removed the nb_add slot from the PyNumberMethods struct. - Renamed Py_TPFLAGS_NEWSTYLENUMBER to Py_TPFLAGS_CHECKTYPES. - Added typedef richcmpfunc. - Added tp_richcompare slot to PyTypeObject (replacing spare tp_xxx7). - Added APIs PyObject_RichCompare() and PyObject_RichCompareBool(). - Added rich comparison operators Py_LT through Py_GE.
-
Andrew M. Kuchling authored
sys.prefix + 'config/Makefile'. When building Python for the first time, these files aren't there, so the files from the build tree have to be used instead; this file adds an entry point for specifying that the build tree files should be used. (Perhaps 'set_python_build' should should be preceded with an underscore?)
-
Guido van Rossum authored
__getattr__() method, which clearly (like the other methods) was intended to pass the __getattr__() call on to the self.err object, mistakenly returned getattr(self, self.err) rather than getattr(self.err, attr). Since self.err is not a string, this always raises a TypeError. Apparently that doesn't bother for the one attribute for which __getattr__() is actually called ('__coerce__'), but it broke the rich comparisons stuff that I'm trying to get into shape, so I'm fixing this now. (I could also simply remove the __getattr__() method, but fixing it seems more in the spirit of what the ComparableException class is trying to do.)
-
Marc-André Lemburg authored
the test_charmapcodec test via the test package.
-
Guido van Rossum authored
-
Sjoerd Mullender authored
was never enabled.
-
Tim Peters authored
\t\t\t\t\treal code ##\t\t\t\t\tunused code \t\t\t\t\treal code via untabifying and shifting the real code left. Semantically the same but made the intent of the commented-out-in-column-0 unused code unclear. The exact same unused code appears to have gotten copied from file to file over the years.
-
Tim Peters authored
-
Tim Peters authored
-
Eric S. Raymond authored
builds during which he forgot to uncomment crucial library lines in Setup, walks into Guido's East End nightclub with a tactical nuclear weapon on his shoulder. Said nuclear weapon is promptly deployed exactly where it will do the most good, right in the middle of configure.in. With this patch, the set of libraries autoconfigured in is extended to include ndbm, gdbm, and crypt. This essentially eliminates any need to tweak Setup for a normal Linux build. "'E was a fair man. Cruel, but fair."
-
Fred Drake authored
<cpr@emsoftware.com>.
-
Guido van Rossum authored
warnings.filterwarnings() call. This suppresses the warning when the module is imported with its full name (test.test_regex) too.
-
Guido van Rossum authored
-
- 16 Jan, 2001 3 commits
-
-
Guido van Rossum authored
simpler if we use fgetpos and fsetpos, rather than trying to mess with platform-specific TELL64 alternatives. Of course, this hasn't been tested on a 64-bit platform, so I may have to withdraw this -- but I'm hopeful, and Trent Mick supports this patch!
-
Fred Drake authored
-
Andrew M. Kuchling authored
for done[n] can be integers as well as strings, but the code concatenates them with strings (fixed by adding a str()) and calls string.strip() on them (fixed by rearranging the logic) (Presumably this wasn't noticed previously because parse_makefile() was only called on Modules/Makefile, which contains no integer-valued variables.)
-