Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to
match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__
mechanism. In the process, fix a bug where isinstance() and issubclass(),
when given a tuple of classes as second argument, were looking up
__instancecheck__ / __subclasscheck__ on the tuple rather than on each
type object.
Reviewed by Benjamin Peterson and Raymond Hettinger.
........
Antoine Pitrou [Tue, 26 Aug 2008 22:40:48 +0000 (22:40 +0000)]
Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to
match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__
mechanism. In the process, fix a bug where isinstance() and issubclass(),
when given a tuple of classes as second argument, were looking up
__instancecheck__ / __subclasscheck__ on the tuple rather than on each
type object.
Reviewed by Benjamin Peterson and Raymond Hettinger.
Merged revisions 65910,65977,65980,65984,65986,66000,66011-66012,66014,66017,66020 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r65910 | benjamin.peterson | 2008-08-20 09:07:59 -0500 (Wed, 20 Aug 2008) | 1 line
fix up the multiprocessing docs a little
........
r65977 | christian.heimes | 2008-08-22 14:47:25 -0500 (Fri, 22 Aug 2008) | 3 lines
Silenced compiler warning
Objects/stringlib/find.h:97: warning: 'stringlib_contains_obj' defined but not used
Reviewed by Benjamin Peterson
........
r65980 | christian.heimes | 2008-08-22 15:10:27 -0500 (Fri, 22 Aug 2008) | 3 lines
Fixed two format strings in the _collections module. For example
Modules/_collectionsmodule.c:674: warning: format '%i' expects type 'int', but argument 2 has type 'Py_ssize_t'
Reviewed by Benjamin Peterson
........
r65984 | christian.heimes | 2008-08-22 16:23:47 -0500 (Fri, 22 Aug 2008) | 1 line
d is the correct format string
........
r65986 | mark.hammond | 2008-08-22 19:59:14 -0500 (Fri, 22 Aug 2008) | 2 lines
Fix bug 3625: test issues on 64bit windows. r=pitrou
........
r66000 | benjamin.peterson | 2008-08-23 15:27:43 -0500 (Sat, 23 Aug 2008) | 5 lines
#3643 add a few more checks to _testcapi to prevent segfaults
Author: Victor Stinner
Reviewer: Benjamin Peterson
........
r66011 | neal.norwitz | 2008-08-24 12:27:43 -0500 (Sun, 24 Aug 2008) | 1 line
Ignore a couple more tests that report leaks inconsistently.
........
r66012 | neal.norwitz | 2008-08-24 12:29:53 -0500 (Sun, 24 Aug 2008) | 1 line
Use the actual blacklist of leaky tests
........
r66014 | georg.brandl | 2008-08-24 13:11:07 -0500 (Sun, 24 Aug 2008) | 2 lines
#3654: fix duplicate test method name. Review by Benjamin P.
........
r66017 | benjamin.peterson | 2008-08-24 16:55:03 -0500 (Sun, 24 Aug 2008) | 1 line
remove note about unimplemented feature
........
r66020 | brett.cannon | 2008-08-24 18:15:19 -0500 (Sun, 24 Aug 2008) | 1 line
Clarify that some attributes/methods are listed somewhat separately because they are not part of the threading API.
........
Fix problem reported by pychecker where AuthenticationError wasn't imported.
Add some test coverage to this code. More tests should be added (TODO added).
Neal Norwitz [Sun, 24 Aug 2008 23:50:08 +0000 (23:50 +0000)]
Issue #3657: Fix uninitialized memory read when pickling longs.
The conversion to the unicode API was incorrect, it should use bytes.
repr is a bad variable name. The use is overloaded, but I'll leave
that to fix later.
Fix:
* crashes on memory allocation failure found with failmalloc
* memory leaks found with valgrind
* compiler warnings in opt mode which would lead to invalid memory reads
* problem using wrong name in decimal module reported by pychecker
Update the valgrind suppressions file with new leaks that are small/one-time
leaks we don't care about (ie, they are too hard to fix).
TBR=barry
TESTED=./python -E -tt ./Lib/test/regrtest.py -uall (both debug and opt modes)
in opt mode:
valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \
./python -E -tt ./Lib/test/regrtest.py -uall,-bsddb,-compiler \
-x test_logging test_ssl test_multiprocessing
valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \
./python -E -tt ./Lib/test/regrtest.py test_multiprocessing
for i in `seq 1 4000` ; do
LD_PRELOAD=~/local/lib/libfailmalloc.so FAILMALLOC_INTERVAL=$i \
./python -c pass
done
At least some of these fixes should probably be backported to 2.5.
........
Hye-Shik Chang [Sat, 23 Aug 2008 08:03:03 +0000 (08:03 +0000)]
#1276: Add temporary encoding aliases for non-supported Mac CJK
encodings that are detected as system defaults in MacOS with CJK
locales. Will be replaced by properly-implemented codecs in 3.1.
Silenced a compiler warning in the sqlite module
Modules/_sqlite/row.c:187: warning: suggest parentheses around && within ||
Reviewed by Benjamin Peterson
........
issue 3633: Solaris allows fullwidth Unicode digits in isxdigit, so
rewrite float.fromhex to only allow ASCII hex digits on all platforms.
(Tests for this are already present, but the test_float failures
on Solaris hadn't been noticed before.)
Reverted r65901 and uses GetVolumeInformationW because string in py3k is unicode.
See http://mail.python.org/pipermail/python-checkins/2008-August/073116.html
For some reason sys.stdin may be None on Windows, and makes test_multiprocessing fail.
Since we are closing the fileno anyway, the best is to skip this part.
Mark Summerfield [Wed, 20 Aug 2008 07:34:41 +0000 (07:34 +0000)]
Revised all texts concerning the ASCII flag: (1) put Unicode case first
(since that's the default), (2) made all descriptions consistent, (3)
dropped mention of re.LOCALE in most places since it is not recommended.
Merged revisions 65885,65892,65894,65898 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r65885 | benjamin.peterson | 2008-08-19 17:06:11 -0500 (Tue, 19 Aug 2008) | 1 line
check that the parser module can handle the new keyword syntax
........
r65892 | benjamin.peterson | 2008-08-19 20:27:30 -0500 (Tue, 19 Aug 2008) | 1 line
add a NEWS note for new args syntax
........
r65894 | benjamin.peterson | 2008-08-19 20:44:45 -0500 (Tue, 19 Aug 2008) | 2 lines
newSymbolTable is not public API
........
r65898 | benjamin.peterson | 2008-08-19 21:15:42 -0500 (Tue, 19 Aug 2008) | 1 line
follow-up of issue3473: update the compiler package to recognize the new syntax.
........
r65893 | benjamin.peterson | 2008-08-19 20:42:01 -0500 (Tue, 19 Aug 2008) | 1 line
deprecate some useless, noop methods in symtable
........
Apply Amaury's patch to multiprocessing for issue 3125, removes the copy_reg and replaces it with ForkingPickler.register(), which should resolve the conflict with the global registry/ctypes
........
Fix a regression introduced by rev. 63792: ctypes function pointers
that are COM methods must have a boolean True value.
........
r65870 | thomas.heller | 2008-08-19 21:40:23 +0200 (Di, 19 Aug 2008) | 1 line
issue3352: clean up the multiprocessing API to remove many get_/set_ methods and convert them to properties. Update the docs and the examples included.
........
#3580: fix a failure in test_os
........
r65782 | benjamin.peterson | 2008-08-17 15:33:45 -0500 (Sun, 17 Aug 2008) | 1 line
set svn:executable on a script
........
r65785 | amaury.forgeotdarc | 2008-08-17 16:05:18 -0500 (Sun, 17 Aug 2008) | 3 lines
Fix a refleak in bytearray.split and bytearray.rsplit, detected by
regrtest.py -R:: test_bytes
........
r65809 | nick.coghlan | 2008-08-18 07:42:46 -0500 (Mon, 18 Aug 2008) | 1 line
Belated NEWS entry for r65642
........
r65812 | nick.coghlan | 2008-08-18 08:32:19 -0500 (Mon, 18 Aug 2008) | 1 line
#2234 distutils failed with mingw binutils 2.18.50.20080109.
Be less strict when parsing these version numbers,
they don't necessarily follow the python numbering scheme.
........
r65846 | georg.brandl | 2008-08-18 18:09:49 -0500 (Mon, 18 Aug 2008) | 2 lines
Antoine Pitrou [Tue, 19 Aug 2008 17:56:33 +0000 (17:56 +0000)]
#2834: Change re module semantics, so that str and bytes mixing is forbidden,
and str (unicode) patterns get full unicode matching by default. The re.ASCII
flag is also introduced to ask for ASCII matching instead.
Merged revisions 65853-65854 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3
........
r65853 | benjamin.peterson | 2008-08-19 11:09:09 -0500 (Tue, 19 Aug 2008) | 1 line
apply a patch for #3131. this solves the problem for the moment, but we should do some refactoring to get display logic out of RefactoringTool
........
r65854 | benjamin.peterson | 2008-08-19 11:37:38 -0500 (Tue, 19 Aug 2008) | 1 line
another quick fix to get lib2to3 to work
........
................
issue #3554: ctypes.string_at and ctypes.wstring_at must use the
pythonapi calling convention so that the GIL is held and error return
values are checked.
........
r65682 | thomas.heller | 2008-08-14 22:04:38 +0200 (Do, 14 Aug 2008) | 2 lines
Try to fix the test on 64-bit platforms.
........
r65684 | thomas.heller | 2008-08-14 22:19:18 +0200 (Do, 14 Aug 2008) | 2 lines
Disable the test until I have one that works.
........
Guido van Rossum [Mon, 18 Aug 2008 21:44:30 +0000 (21:44 +0000)]
- Issue #3300: make urllib.parse.[un]quote() default to UTF-8.
Code contributed by Matt Giuca. quote() now encodes the input
before quoting, unquote() decodes after unquoting. There are
new arguments to change the encoding and errors settings.
There are also new APIs to skip the encode/decode steps.
[un]quote_plus() are also affected.
Optimization of str.format() for cases with str, unicode, int, long,
and float arguments. This gives about 30% speed improvement for the
simplest (but most common) cases. This patch skips the __format__
dispatch, and also avoids creating an object to hold the format_spec.
Unfortunately there's a complication in 2.6 with int, long, and float
because they always expect str format_specs. So in the unicode
version of this optimization, just check for unicode objects. int,
float, long, and str can be added later, if needed.
........