Victor Stinner
f091033b14
Issue #25401 : Remove now unused hex_digit_to_int() function
2015-10-14 11:59:46 +02:00
Victor Stinner
2bf8993db9
Optimize bytes.fromhex() and bytearray.fromhex()
...
Issue #25401 : Optimize bytes.fromhex() and bytearray.fromhex(): they are now
between 2x and 3.5x faster. Changes:
* Use a fast-path working on a char* string for ASCII string
* Use a slow-path for non-ASCII string
* Replace slow hex_digit_to_int() function with a O(1) lookup in
_PyLong_DigitValue precomputed table
* Use _PyBytesWriter API to handle the buffer
* Add unit tests to check the error position in error messages
2015-10-14 11:25:33 +02:00
Victor Stinner
ebcf9edc05
Document latest optimizations using _PyBytesWriter
2015-10-14 10:10:00 +02:00
Victor Stinner
772b2b09f2
Optimize bytearray % args
...
Issue #25399 : Don't create temporary bytes objects: modify _PyBytes_Format() to
create work directly on bytearray objects.
* Rename _PyBytes_Format() to _PyBytes_FormatEx() just in case if something
outside CPython uses it
* _PyBytes_FormatEx() now uses (char*, Py_ssize_t) for the input string, so
bytearray_format() doesn't need tot create a temporary input bytes object
* Add use_bytearray parameter to _PyBytes_FormatEx() which is passed to
_PyBytesWriter, to create a bytearray buffer instead of a bytes buffer
Most formatting operations are now between 2.5 and 5 times faster.
2015-10-14 09:56:53 +02:00
Victor Stinner
661aaccf9d
Add use_bytearray attribute to _PyBytesWriter
...
Issue #25399 : Add a new use_bytearray attribute to _PyBytesWriter to use a
bytearray buffer, instead of using a bytes object.
2015-10-14 09:41:48 +02:00
Victor Stinner
199c9a6f4b
Fix long_format_binary()
...
Issue #25399 : Fix long_format_binary(), allocate bytes for the bytes writer.
2015-10-14 09:47:23 +02:00
Terry Jan Reedy
8c737d280b
Merge with 3.5
2015-10-13 22:09:34 -04:00
Terry Jan Reedy
c1e98de7be
Merge with 3.4
2015-10-13 22:09:19 -04:00
Terry Jan Reedy
b2f87608d1
Issue #24782 : whitespace
2015-10-13 22:09:06 -04:00
Terry Jan Reedy
8533a21117
Merge with 3.5
2015-10-13 22:04:22 -04:00
Terry Jan Reedy
447169f6da
Merge with 3.4
2015-10-13 22:04:07 -04:00
Terry Jan Reedy
93f3542ae4
Issue #24782 : Finish converting the Configure Extension dialog into a new
...
tab in the IDLE Preferences dialog. Code patch by Mark Roseman.
2015-10-13 22:03:51 -04:00
Victor Stinner
7ab986dd84
Fix test_bytes on Windows
...
On Windows, sprintf("%p", 0xabcdef) formats hexadecimal in uppercase and pad to
16 characters (on 64-bit system) with zeros.
2015-10-14 02:55:12 +02:00
Victor Stinner
03dab786b2
Rewrite PyBytes_FromFormatV() using _PyBytesWriter API
...
* Add much more unit tests on PyBytes_FromFormatV()
* Remove the first loop to compute the length of the output string
* Use _PyBytesWriter to handle the bytes buffer, use overallocation
* Cleanup the code to make simpler and easier to review
2015-10-14 00:21:35 +02:00
Serhiy Storchaka
b6d84832bf
Issue #24164 : Document changes to __getnewargs__ and __getnewargs_ex__.
2015-10-13 21:26:35 +03:00
Serhiy Storchaka
dbc517c2dd
Issue #25382 : pickletools.dis() now outputs implicit memo index for the
...
MEMOIZE opcode.
2015-10-13 21:20:14 +03:00
Serhiy Storchaka
ca77aef31b
Issue #25380 : Fixed protocol for the STACK_GLOBAL opcode in
...
pickletools.opcodes.
2015-10-13 21:14:01 +03:00
Serhiy Storchaka
5a8bbc5f2a
Issue #25380 : Fixed protocol for the STACK_GLOBAL opcode in
...
pickletools.opcodes.
2015-10-13 21:13:34 +03:00
Serhiy Storchaka
5805ddeedb
Issue #25380 : Fixed protocol for the STACK_GLOBAL opcode in
...
pickletools.opcodes.
2015-10-13 21:12:32 +03:00
Victor Stinner
eaaaf136d2
Issue #25384 : Use _PyBytesWriter API in binascii
...
This API avoids a final call to _PyBytes_Resize() for output smaller than 512
bytes.
Small optimization: disable overallocation in binascii.rledecode_hqx() for the
last write.
2015-10-13 10:51:47 +02:00
Zachary Ware
fcd8794ab5
Closes #25093 : Merge with 3.5
2015-10-12 23:31:44 -05:00
Zachary Ware
fa10f61ee5
Issue #25093 : Merge with 3.4
2015-10-12 23:30:15 -05:00
Zachary Ware
83fd0a81a4
Issue #25093 : Fix test_tcl's testloadWithUNC for paths with spaces
...
Patch by Serhiy Storchaka.
2015-10-12 23:27:58 -05:00
Victor Stinner
f7d2471260
Merge 3.5 (sys.setrecursionlimit)
2015-10-13 00:16:07 +02:00
Victor Stinner
50856d5ae7
sys.setrecursionlimit() now raises RecursionError
...
Issue #25274 : sys.setrecursionlimit() now raises a RecursionError if the new
recursion limit is too low depending at the current recursion depth. Modify
also the "lower-water mark" formula to make it monotonic. This mark is used to
decide when the overflowed flag of the thread state is reset.
2015-10-13 00:11:21 +02:00
Victor Stinner
397c42b8cc
Merge 3.5 (test_eintr)
2015-10-12 23:37:31 +02:00
Victor Stinner
60f26691f5
Issue #25277 : Use a longer sleep in test_eintr to reduce the risk of race
...
condition in test_eintr.
2015-10-12 23:37:02 +02:00
Victor Stinner
358af13526
Issue #25353 : Optimize unicode escape and raw unicode escape encoders to use
...
the new _PyBytesWriter API.
2015-10-12 22:36:57 +02:00
Victor Stinner
d65e4f4eea
Issue #24164 : Fix test_pyclbr
...
Ignore pickle.partial symbol which comes from functools.partial.
2015-10-12 14:38:24 +02:00
Victor Stinner
e9aa5950bb
Fix compilation error in _PyBytesWriter_WriteBytes() on Windows
2015-10-12 13:57:47 +02:00
Victor Stinner
6c2cdae9e6
Writer APIs: use empty string singletons
...
Modify _PyBytesWriter_Finish() and _PyUnicodeWriter_Finish() to return the
empty bytes/Unicode string if the string is empty.
2015-10-12 13:29:43 +02:00
Victor Stinner
c29e29bed1
Relax _PyBytesWriter API
...
Don't require _PyBytesWriter pointer to be a "char *". Same change for
_PyBytesWriter_WriteBytes() parameter.
For example, binascii uses "unsigned char*".
2015-10-12 13:12:54 +02:00
Benjamin Peterson
b031eaee3b
merge 3.5
2015-10-11 23:03:47 -07:00
Benjamin Peterson
63e80e1798
merge 3.4
2015-10-11 23:03:41 -07:00
Benjamin Peterson
b395188088
actually link to the version attributes documentation
2015-10-11 23:03:22 -07:00
Raymond Hettinger
965362e92d
Minor fixup. maxlen is already known.
2015-10-11 22:52:54 -07:00
Raymond Hettinger
d96db09b57
Refactor the deque trim logic to eliminate the two separate trim functions.
2015-10-11 22:34:48 -07:00
Terry Jan Reedy
9e6d7a524d
Merge with 3.5
2015-10-11 22:08:02 -04:00
Terry Jan Reedy
bcbc50bbb2
Merge with 3.4
2015-10-11 22:07:48 -04:00
Terry Jan Reedy
d0cadba85f
Issue #22726 : Re-activate config dialog help button with some content about
...
the other buttons and the new IDLE Dark theme.
2015-10-11 22:07:31 -04:00
Steve Dower
66b037b087
Merge from 3.5
2015-10-11 18:07:07 -07:00
Steve Dower
bec29815d2
Keeps all-users launcher checkbox visible when the option cannot be changed.
2015-10-11 18:06:55 -07:00
Steve Dower
79e60dec1b
Merge from 3.5
2015-10-11 18:05:27 -07:00
Steve Dower
8ffe4fdeb0
Only detects features from previous version when a bundle is found.
...
Otherwise, stray registry entries would cause issues.
Also fixes an accelerator collision and improves UAC icons when upgrading.
2015-10-11 18:05:11 -07:00
Steve Dower
3628d488c7
Issue #25143 : Improves installer error messages for unsupported platforms.
2015-10-11 16:40:52 -07:00
Steve Dower
b96698112d
Issue #25143 : Improves installer error messages for unsupported platforms.
2015-10-11 16:40:41 -07:00
Steve Dower
5669387948
Issue #25163 : Display correct directory in installer when using non-default settings.
2015-10-11 15:37:36 -07:00
Steve Dower
731f4a2c5f
Issue #25163 : Display correct directory in installer when using non-default settings.
2015-10-11 15:37:22 -07:00
Steve Dower
80b31402d5
Issue #25361 : Disables use of SSE2 instructions in Windows 32-bit build
2015-10-11 15:16:21 -07:00
Steve Dower
5700ae877f
Issue #25361 : Disables use of SSE2 instructions in Windows 32-bit build
2015-10-11 15:15:52 -07:00