backport tim_one's checkin of
revision 2.111 of floatobject.c
SF bug 525705: [2.2] underflow raise OverflowException.
Another year in the quest to out-guess random C behavior.
Added macros Py_ADJUST_ERANGE1(X) and Py_ADJUST_ERANGE2(X, Y). The latter
is useful for functions with complex results. Two corrections to errno-
after-libm-call are attempted:
1. If the platform set errno to ERANGE due to underflow, clear errno.
Some unknown subset of libm versions and link options do this. It's
allowed by C89, but I never figured anyone would do it.
2. If the platform did not set errno but overflow occurred, force
errno to ERANGE. C89 required setting errno to ERANGE, but C99
doesn't. Some unknown subset of libm versions and link options do
it the C99 way now.
Bugfix candidate, but hold off until some Linux people actually try it,
with and without -lieee. I'll send a help plea to Python-Dev.
backport tim_one's checkin of
revision 2.28 of cmathmodule.c
SF bug 525705: [2.2] underflow raise OverflowException.
Another year in the quest to out-guess random C behavior.
Added macros Py_ADJUST_ERANGE1(X) and Py_ADJUST_ERANGE2(X, Y). The latter
is useful for functions with complex results. Two corrections to errno-
after-libm-call are attempted:
1. If the platform set errno to ERANGE due to underflow, clear errno.
Some unknown subset of libm versions and link options do this. It's
allowed by C89, but I never figured anyone would do it.
2. If the platform did not set errno but overflow occurred, force
errno to ERANGE. C89 required setting errno to ERANGE, but C99
doesn't. Some unknown subset of libm versions and link options do
it the C99 way now.
Bugfix candidate, but hold off until some Linux people actually try it,
with and without -lieee. I'll send a help plea to Python-Dev.
backport tim_one's checkin of
revision 2.45 of pyport.h
SF bug 525705: [2.2] underflow raise OverflowException.
Another year in the quest to out-guess random C behavior.
Added macros Py_ADJUST_ERANGE1(X) and Py_ADJUST_ERANGE2(X, Y). The latter
is useful for functions with complex results. Two corrections to errno-
after-libm-call are attempted:
1. If the platform set errno to ERANGE due to underflow, clear errno.
Some unknown subset of libm versions and link options do this. It's
allowed by C89, but I never figured anyone would do it.
2. If the platform did not set errno but overflow occurred, force
errno to ERANGE. C89 required setting errno to ERANGE, but C99
doesn't. Some unknown subset of libm versions and link options do
it the C99 way now.
Bugfix candidate, but hold off until some Linux people actually try it,
with and without -lieee. I'll send a help plea to Python-Dev.
backport tim_one's checkin of
revision 2.248 of bltinmodule.c
Docstring for filter(): Someone on the Tutor list reasonably complained
that it didn't tell enough of the truth.
Bugfix candidate (I guess -- it helps and it's harmless).
backport jhylton's checkin of
revision 2.97 of abstract.c
Fix for SF bug 516727: MyInt(2) + "3" -> NotImplemented
PyNumber_Add() tries the nb_add slot first, then falls back to
sq_concat. However, it didn't check the return value of sq_concat.
If sq_concat returns NotImplemented, raise the standard TypeError.
backport jhylton's checkin of
revision 1.45 of httplib.py
SF bug report #405939: wrong Host header with proxy
In August, Greg said this looked good, so I'm going ahead with it.
The fix is different from the one in the bug report. Instead of using
a regular expression to extract the host from the url, I use
urlparse.urlsplit.
Martin commented that the patch doesn't address URLs that have basic
authentication username and password in the header. I don't see any
code anywhere in httplib that supports this feature, so I'm not going
to address it for this fix.
I presume most of the fixes currently hitting the tree should go into
2.2.1, but it would be nice if people remembered to comment on their
fixes' applicability!
backport akuchling's checkin of
revision 1.26 of webchecker.py
[Bug #512799] urllib.splittype() returns a 2-tuple. (Reported by seb bacon)
backport jhylton's checkin of
revision 2.33 of cStringIO.c
Fix SF bug #526518
The doc string for cStringIO suggested that str() of a StringIO object
was equivalent to getvalue(). This was never true, so repair the doc
string. (doctest would have helped here.)
Jack Jansen [Sun, 10 Mar 2002 21:33:19 +0000 (21:33 +0000)]
Backport of 1.22:
Use waste included with CW in stead of separate package.
(But a truer log message would have been "updated to current version of waste",
as in MachoPython we use a normal standalone separate Waste distribution).
Jack Jansen [Sun, 10 Mar 2002 21:29:55 +0000 (21:29 +0000)]
Backport of 1.9 (missed last time around):
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
MachoPython. Mainly making sure we don't call routines that don't exist
and representing pathnames in a os.separator-neutral format.
backport jackjansen's checkin of
revision 1.294 of configure.in
revision 1.285 of configure
When testing for availability of pthreads without special compiler options
or libraries also look for thread_detach. SGI has thread_create in libc
but complete pthread support only in -lpthread. Fixes #522393.
backport montanaro's checkin of
revision 1.58 of pydoc.py
add repr_str as alias for repr_string in both HTMLRepr and TextRepr classes
- reflects the change in type("").__name__ between 2.1 and 2.2. The
__name__ field is used to find a method to call for particular types.
backport tim_one's checkin of
revision 2.38 of mmapmodule.c
SF bug 515943: searching for data with \0 in mmap.
mmap_find_method(): this obtained the string to find via s#, but it
ignored its length, acting as if it were \0-terminated instead.
Someone please run on Linux too (the extended test_mmap works on Windows).
backport tim_one's checkin of
revision 1.20 of test_mmap.py
SF bug 515943: searching for data with \0 in mmap.
mmap_find_method(): this obtained the string to find via s#, but it
ignored its length, acting as if it were \0-terminated instead.
Someone please run on Linux too (the extended test_mmap works on Windows).
After some thinking, I decided to move all of this across onto
the branch. I don't think it can break code, so the only risk
is introducing new bugs. In that vein, can I ask -checkins readers
who have time to carefully look this over, check my refcounts &c?
TIA.
backport my checkin of
revision 1.5 of structseq.c
Apply (my) patch:
[ 526072 ] pickling os.stat results round II
structseq's constructors can now take "invisible" fields in a dict.
Gave the constructors better error messages.
their __reduce__ method puts these fields in a dict.
(this is all in aid of getting os.stat_result's to pickle portably)
Also fixes
[ 526039 ] devious code can crash structseqs
Thought needed about how much of this counts as a bugfix. Certainly
#526039 needs to be fixed.
revision 1.52
date: 2002/03/06 17:11:17; author: mwh; state: Exp; lines: +20 -0
Special support for pickling os.stat and os.stat_vfs results portably
(the types come from different modules on different platforms).
backport gvanrossum's checkin of
revision 1.115 of test_descr.py
SF patch 514641 (Naofumi Honda) - Negative ob_size of LongObjects
Due to the bizarre definition of _PyLong_Copy(), creating an instance
of a subclass of long with a negative value could cause core dumps
later on. Unfortunately it looks like the behavior of _PyLong_Copy()
is quite intentional, so the fix is more work than feels comfortable.
This fix is almost, but not quite, the code that Naofumi Honda added;
in addition, I added a test case.
I haven't quite worked out how to port the fix yet, but the test cases
can go straight over.
backport tim_one's checkin of
revision 2.5 of pymem.h
revision 2.44 of pyport.h
Whether platform malloc(0) returns NULL has nothing to do with whether
platform realloc(p, 0) returns NULL, so MALLOC_ZERO_RETURNS_NULL can
be correctly undefined yet realloc(p, 0) can return NULL anyway.
Prevent realloc(p, 0) doing free(p) and returning NULL via a different
hack. Would probably be better to get rid of MALLOC_ZERO_RETURNS_NULL
entirely.
backport tim_one's checkin of
revision 2.164 of object.c
Whether platform malloc(0) returns NULL has nothing to do with whether
platform realloc(p, 0) returns NULL, so MALLOC_ZERO_RETURNS_NULL can
be correctly undefined yet realloc(p, 0) can return NULL anyway.
Prevent realloc(p, 0) doing free(p) and returning NULL via a different
hack. Would probably be better to get rid of MALLOC_ZERO_RETURNS_NULL
entirely.
backport bwarsaw's checkin of
revision 1.34 of mailbox.py
Added PortableUnixMailbox to the __all__ variable, and in the __main__
section use this class instead of UnixMailbox as per the comments in
the latter's class.
backport tim_one's checkin of
revision 2.22 of thread_nt.h
SF patch 522961: Leak in Python/thread_nt.h, from Gerald S. Williams.
A file-static "threads" dict mapped thread IDs to Windows handles, but
was never referenced, and entries never got removed. This gets rid of
the YAGNI-dict entirely.
Bugfix candidate.
Martin v. Löwis [Sun, 3 Mar 2002 21:32:01 +0000 (21:32 +0000)]
Patch #50002: Display line information for bad \x escapes:
- recognize "SyntaxError"s by the print_file_and_line attribute.
- add the syntaxerror attributes to all exceptions in compile.c.
Fixes #221791
backport gvanrossum's checkin of
revision 1.44 of test_b1.py
revision 1.31 of test_b2.py
SF patch #523169, by Samuele Pedroni.
There were never tests for the fact that list() always returns a *new*
list object, even when the argument is a list, while tuple() may
return a reference to the argument when it is a tuple. Now there are.
backport gvanrossum's checkin of
revision 1.7 of test_builtin
SF patch #523169, by Samuele Pedroni.
There were never tests for the fact that list() always returns a *new*
list object, even when the argument is a list, while tuple() may
return a reference to the argument when it is a tuple. Now there are.
backport gvanrossum's checkin of
revision 1.35 of bdb.py
date: 2002/02/25 23:23:24; author: gvanrossum; state: Exp; lines: +1 -0
canonic(): Fix by Edward K Ream to make breakpoints work better on
Windows: apply normcase() as well as abspath(). (Note: this isn't
needed to make IDLE work, but it's a good idea anyway.)
Jack Jansen [Wed, 27 Feb 2002 23:15:29 +0000 (23:15 +0000)]
Backport of 1.8-1.10 (of _Menumodule.c):
- The output MenuRef of GetMenuItemHierarchicalMenu() may be NULL.
- Added support for optional MenuObj arguments
- Added a bunch of calls as functions with an optional
MenuObj first argument. The same calls already
exist as methods, but then the first arg isn't
optional... The method versions could go as far as I'm
concerned. Jack?
Jack Jansen [Wed, 27 Feb 2002 23:11:42 +0000 (23:11 +0000)]
Backport of 1.4 thru 1.16 (of _Ctlmodule.c):
- added support for UserPaneKeyDownProc and UserPaneFocusProc
- clear error after failing PyArg_Parse()
- Oops, forgot to mark CreateScrollBarControl and CreateSliderControl
as Carbon-only
- added support for ControlActionProcs, exposing the following calls:
- ctl.SetControlAction()
- CreateScrollBarControl()
- CreateSliderControl()
Jack Jansen [Wed, 27 Feb 2002 23:07:46 +0000 (23:07 +0000)]
Backport of 1.6 thru 1.9 (of _Appmodule.c):
- Added support for DrawThemeButton() and friends.
- Q&D support for ThemeDrawingState objects.
- Added DrawThemeTextBox()
- fixed GetThemeTextDimensions(): it has an in/out Point arg, not just out.
backport tim_one's checkin of
revision 1.11 of test_descrtut.py
Somebody made list.__dict__ grow a '__doc__' key, but apparently didn't
run the test suite afterwards. Either that, or whether '__doc__' shows
up is platform-dependent!
Jack Jansen [Sun, 24 Feb 2002 23:23:52 +0000 (23:23 +0000)]
Backport of 1.18 through 1.21:
- Get rid of keyword list and use keyword.iskeyword() function (which I wasn't aware of previously).
- Identify() enum values. This was changed in 1.14, but I don't think it is a good idea.
Jack Jansen [Sun, 24 Feb 2002 23:21:35 +0000 (23:21 +0000)]
Backport of 1.15 and 1.16:
- Added minimal support for floating windows.
- Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
MachoPython. Mainly making sure we don't call routines that don't exist
and representing pathnames in a os.separator-neutral format.
These shouldn't interfere too much with Just's work on the next generation IDE,
I hope.
Jack Jansen [Sun, 24 Feb 2002 23:19:07 +0000 (23:19 +0000)]
Backport of 1.15 and 1.16:
- Don't append quit menu when on OSX, it is special and automatic there.
- Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
MachoPython. Mainly making sure we don't call routines that don't exist
and representing pathnames in a os.separator-neutral format.
These shouldn't interfere too much with Just's work on the next generation IDE,
I hope.
Jack Jansen [Sun, 24 Feb 2002 23:17:23 +0000 (23:17 +0000)]
Backport of 1.27 and 1.28:
- Added minimal support for floating windows.
- Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
MachoPython. Mainly making sure we don't call routines that don't exist
and representing pathnames in a os.separator-neutral format.
These shouldn't interfere too much with Just's work on the next generation IDE,
I hope.
Jack Jansen [Sun, 24 Feb 2002 23:16:25 +0000 (23:16 +0000)]
Backport of 1.9:
Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
MachoPython. Mainly making sure we don't call routines that don't exist
and representing pathnames in a os.separator-neutral format.
These shouldn't interfere too much with Just's work on the next generation IDE,
I hope.
Jack Jansen [Sun, 24 Feb 2002 23:12:47 +0000 (23:12 +0000)]
Backport of 1.9-1.11:
- Flush screen buffer upon console.flush() and output.flush().
This fixes bug #511992.
- Changes by Donovan Preston (and a few minor ones by me) to make IDE run under
MachoPython. Mainly making sure we don't call routines that don't exist
and representing pathnames in a os.separator-neutral format.
These shouldn't interfere too much with Just's work on the next generation IDE,
I hope.
- Modified version of patch #496882: echo SimpleStdin readline()
input to stdout.
Jack Jansen [Sun, 24 Feb 2002 23:07:04 +0000 (23:07 +0000)]
bqackport of 1.73:
In MachoPython, don't simulate argc/argv unless we have argc=1 and argv[1]
starts with "-psn_". This means the drag-and-drop continues to work as
expected, but we can now also do
/Applications/Python.app/Contents/MacOS/python script.py
from the command line, which is a lot easier with debugging. Pressing <option>
at this point also has the expected effect of opening the options dialog!
Jack Jansen [Sun, 24 Feb 2002 23:03:47 +0000 (23:03 +0000)]
Backport of 1.5 thru 1.8:
- Use full paths for Rez and DeRez, which may not be on $PATH. Fixes bug
#509074.
- Also install the Tools directory on "make installmacsubtree".
- Added a note that you have to add Mac/Lib to sys.path after doing
a "make installmacsubtree".
- Include errors.rsrc in the Python.app resource file, so the error strings
are available in MacOS API exceptions.
Jack Jansen [Sun, 24 Feb 2002 22:55:34 +0000 (22:55 +0000)]
backport of 1.52 and 1.53:
- Added as_pathname() method to FSRef objects.
- In MachoPython expect Unix-style pathnames for both FSSpec and FSRef
initializers.