Commit Graph

8308 Commits

Author SHA1 Message Date
Benjamin Peterson c77e7a4f23 only define zero constant when it is used 2014-03-15 11:50:00 -05:00
Benjamin Peterson ce68c19ee7 remove unused zero constants 2014-03-15 11:49:49 -05:00
Serhiy Storchaka ccdf352370 Issue #20283: RE pattern methods now accept the string keyword parameters
as documented.  The pattern and source keyword parameters are left as
deprecated aliases.
2014-03-06 11:28:32 +02:00
Kristján Valur Jónsson 25dded041f Make the various iterators' "setstate" sliently and consistently clip the
index.  This avoids the possibility of setting an iterator to an invalid
state.
2014-03-05 13:47:57 +00:00
Serhiy Storchaka a537eb45fd Issue #20283: RE pattern methods now accept the string keyword parameters
as documented.  The pattern and source keyword parameters are left as
deprecated aliases.
2014-03-06 11:36:15 +02:00
Kristján Valur Jónsson c5cc5011ac Make the various iterators' "setstate" sliently and consistently clip the
index.  This avoids the possibility of setting an iterator to an invalid
state.
2014-03-05 15:23:07 +00:00
Georg Brandl 2fc8f773e1 Issue #20404: reject non-text encodings early in TextIOWrapper. 2014-03-02 09:18:31 +01:00
Victor Stinner 1ac42614e3 Issue #19748: On AIX, time.mktime() now raises an OverflowError for year
outsize range [1902; 2037].
2014-02-21 09:27:17 +01:00
Victor Stinner 329e492570 Issue #20656: Restore explicit downcast in select_select().
Cast from time_t (64 bit) to long (32 bit). It should fix a compiler warning.
2014-02-18 09:30:33 +01:00
Victor Stinner 5a8e5796f1 Close #20656: Fix select.select() on OpenBSD 64-bit 2014-02-18 01:35:40 +01:00
Victor Stinner 3c1b379ebd Issue #20320: select.select() and select.kqueue.control() now round the timeout
aways from zero, instead of rounding towards zero.

It should make test_asyncio more reliable, especially test_timeout_rounding() test.
2014-02-17 00:02:43 +01:00
Benjamin Peterson ec91cd6040 merge backout for #20621 2014-02-16 14:17:28 -05:00
Benjamin Peterson eb43736de2 backout 2807a5f011e4 for causing #20621 2014-02-16 14:12:57 -05:00
Benjamin Peterson c20b4d872d backout d28242a636c7 so I can backout 2807a5f011e4 2014-02-16 14:11:56 -05:00
Andrew Kuchling c77974e033 Merge from 3.3 2014-02-16 12:18:17 -05:00
Andrew Kuchling 3137885c36 #12211: remove paragraph about NaNs 2014-02-16 12:09:35 -05:00
Andrew Kuchling 87a113b807 Merge from 3.3 2014-02-16 11:15:13 -05:00
Andrew Kuchling 8cb1ec3274 #12211: clarify math.copysign() documentation and docstring 2014-02-16 11:11:25 -05:00
Serhiy Storchaka 5bdfc51950 Issue #17671: Fixed a crash when use non-initialized io.BufferedRWPair.
Based on patch by Stephen Tu.
2014-02-12 10:55:07 +02:00
Serhiy Storchaka 61e2493b83 Issue #17671: Fixed a crash when use non-initialized io.BufferedRWPair.
Based on patch by Stephen Tu.
2014-02-12 10:52:35 +02:00
Benjamin Peterson e18e787e70 merge 3.3 (#20594) 2014-02-11 10:19:12 -05:00
Benjamin Peterson 932bba33f2 avoid name clash with posix_close (closes #20594) 2014-02-11 10:16:16 -05:00
Larry Hastings b082731fbb Issue #20517: Functions in the os module that accept two filenames
now register both filenames in the exception on failure.
This required adding new C API functions allowing OSError exceptions
to reference two filenames instead of one.
2014-02-09 22:05:19 -08:00
Serhiy Storchaka dfe98a102e Issue #20437: Fixed 22 potential bugs when deleting objects references. 2014-02-09 13:46:20 +02:00
Serhiy Storchaka 505ff755d7 Issue #20437: Fixed 21 potential bugs when deleting objects references. 2014-02-09 13:33:53 +02:00
Larry Hastings 2623c8c23c Issue #20530: Argument Clinic's signature format has been revised again.
The new syntax is highly human readable while still preventing false
positives.  The syntax also extends Python syntax to denote "self" and
positional-only parameters, allowing inspect.Signature objects to be
totally accurate for all supported builtins in Python 3.4.
2014-02-08 22:15:29 -08:00
Charles-François Natali b4062e8f8a Issue #20065: socketmodule: Fix build error when AF_CAN is defined without the
proper CAN headers.
2014-02-08 22:54:11 +01:00
Charles-François Natali 4025ac7549 Issue #20065: socketmodule: Fix build error when AF_CAN is defined without the
proper CAN headers.
2014-02-08 22:54:48 +01:00
Ned Deily 93db29b5c1 Issue #20374: merge 2014-02-05 17:03:42 -08:00
Ned Deily 22d415cf19 Issue #20374: delete spurious empty line 2014-02-05 17:02:29 -08:00
Ned Deily 4b104abdc9 Issue #20374: merge 2014-02-05 16:55:20 -08:00
Ned Deily 7b9ddea80b Issue #20374: Avoid compiler warnings when compiling readline with libedit. 2014-02-05 16:53:10 -08:00
Serhiy Storchaka 54c1391ba9 Issue #20489: Explicitly qualified expressions for default values in methods. 2014-02-05 13:34:01 +02:00
Christian Heimes 25ff287dd7 Issue #20515: Fix NULL pointer dereference introduced by issue #20368
CID 1167595
2014-02-05 00:29:48 +01:00
Christian Heimes d33491ea76 Issue #20515: Fix NULL pointer dereference introduced by issue #20368
CID 1167595
2014-02-05 00:29:17 +01:00
Benjamin Peterson e9e8907647 merge 3.3 (#19186) 2014-02-04 10:12:18 -05:00
Benjamin Peterson 091d017ab1 restore namespacing of pyexpat symbols (closes #19186) 2014-02-04 10:10:55 -05:00
Nick Coghlan a9b15241c6 Close #20404: blacklist non-text encodings in io.TextIOWrapper
- io.TextIOWrapper (and hence the open() builtin) now use the
  internal codec marking system added for issue #19619
- also tweaked the C code to only look up the encoding once,
  rather than multiple times
- the existing output type checks remain in place to deal with
  unmarked third party codecs.
2014-02-04 22:11:18 +10:00
Martin v. Löwis ca7b04644c Issue #17162: Add PyType_GetSlot. 2014-02-04 09:33:05 +01:00
Serhiy Storchaka ce591c2868 Issue #20368: The null character now correctly passed from Tcl to Python.
Improved error handling in variables-related commands.
2014-02-03 21:25:56 +02:00
Serhiy Storchaka 1317e14468 Issue #20368: The null character now correctly passed from Tcl to Python.
Improved error handling in variables-related commands.
2014-02-03 21:24:07 +02:00
Benjamin Peterson f045de4fc2 remove code which does nothing but cause refleaks 2014-02-03 09:35:08 -05:00
Larry Hastings 7726ac9163 #Issue 20456: Several improvements and bugfixes for Argument Clinic,
including correctly generating code for Clinic blocks inside C
preprocessor conditional blocks.
2014-01-31 22:03:12 -08:00
Victor Stinner dd382ef8ec Issue #20354: Fix alignment issue in the tracemalloc module on 64-bit
platforms. Bug seen on 64-bit Linux when using "make profile-opt".

Only align the "frame_t" structure on 32-bit when Visual Studio is used. Before
the alignment to 32-bit was applied to the whole file any compiler supporting
"#pragma pack(4)" which includes GCC.
2014-02-01 03:43:58 +01:00
Brett Cannon 1088d98899 The function name for cmath.isinf in PyArg_ParseTuple() was wrong. 2014-01-31 12:04:36 -05:00
Larry Hastings 4205065f9b Issue #20390: Removing detritus from Argument Clinic "file preset" name change. 2014-01-31 05:59:48 -08:00
Victor Stinner dcd9740ad2 Issue #20452: select and selectors round (again) timeout away from zero for
poll and epoll

Improve also debug info to analyze the issue
2014-01-31 12:12:53 +01:00
Victor Stinner 91445fbeb0 overlapped.c: Fix usage of the union
* read_buffer can only be used for TYPE_READ and TYPE_ACCEPT types
* write_buffer can only be used for TYPE_WRITE type
2014-01-30 19:06:44 +01:00
Larry Hastings 581ee3618c Issue #20326: Argument Clinic now uses a simple, unique signature to
annotate text signatures in docstrings, resulting in fewer false
positives.  "self" parameters are also explicitly marked, allowing
inspect.Signature() to authoritatively detect (and skip) said parameters.

Issue #20326: Argument Clinic now generates separate checksums for the
input and output sections of the block, allowing external tools to verify
that the input has not changed (and thus the output is not out-of-date).
2014-01-28 05:00:08 -08:00
Serhiy Storchaka 3c1f0f1b42 Issue #20395: Extract generated clinic code in Modules/_pickle.c to separate file. 2014-01-27 10:34:22 +02:00
Christian Heimes c4ab9a4f1d Issue #20394: Attempt to silence CID 1164423: Division or modulo by zero in audioop_ratecv_impl()
Serhiy and I had the same idea so it's most likely right. ;)
2014-01-27 01:12:00 +01:00
Christian Heimes 936e2f36ad Issue #20193: Fix commit r6f217456b9ba by including clinic/zlibmodule.c.h instead
of zlibmodule.clinic.c
2014-01-27 01:06:57 +01:00
Christian Heimes 27ea78b352 silence compiler warning that 's' may be used uninitialized in the load function. 2014-01-27 01:03:53 +01:00
Serhiy Storchaka 2c5ddbe030 Issue #20193: The zlib module now uses Argument Clinic. 2014-01-27 00:03:31 +02:00
Benjamin Peterson b62deac9a3 cleanup after custom buffer converter 2014-01-26 10:41:58 -05:00
Benjamin Peterson 08673c57f0 fix refleak on error 2014-01-26 10:24:24 -05:00
Larry Hastings f0537e8d1c Issue #20390: Final fix, for generating NoPositional/NoKeyword for __init__ calls. 2014-01-25 22:01:12 -08:00
Larry Hastings f256c22f34 Fix for catestrophic errors in previous checkin (Argument Clinic rollup patch). 2014-01-25 21:30:37 -08:00
Larry Hastings c20472640c Issue #20390: Small fixes and improvements for Argument Clinic. 2014-01-25 20:43:29 -08:00
Victor Stinner 38c72bd199 (Merge 3.3) Issue #20311: Revert 033137c12d88 (02f9db3e684e),
select.epoll.poll() rounds again the timeout towards zero
2014-01-25 14:40:04 +01:00
Victor Stinner 933209689e Issue #20311: Revert 033137c12d88, select.epoll.poll() rounds again the timeout
towards zero
2014-01-25 14:37:50 +01:00
Serhiy Storchaka 98c779e8da Issue #20193: The _lzma module now uses Argument Clinic.
LZMACompressor.__init__ is left not converted.
2014-01-25 14:02:29 +02:00
Serhiy Storchaka 1bc4bb2af1 Issue #20193: The _bz2 module now uses Argument Clinic. 2014-01-25 12:07:57 +02:00
Serhiy Storchaka 8d00d73249 Issue #20133: The audioop module now uses Argument Clinic. 2014-01-25 11:57:59 +02:00
Serhiy Storchaka 12785617c8 Fixed converting errors in the binascii module (issue20151).
a2b_qp() now accepts keyword arguments.
All "ascii" parameters is renamed to "data" for consistancy with a2b_qp().
2014-01-25 11:49:49 +02:00
Serhiy Storchaka 3ffd913d66 Issue #20151: The binascii module now uses Argument Clinic. 2014-01-25 11:21:23 +02:00
Benjamin Peterson c3bf14d1eb merge 3.3 (#20374) 2014-01-24 11:44:40 -05:00
Benjamin Peterson f0b463ad84 new plan: just remove typecasts (closes #20374) 2014-01-24 11:44:16 -05:00
Larry Hastings 5c66189e88 Issue #20189: Four additional builtin types (PyTypeObject,
PyMethodDescr_Type, _PyMethodWrapper_Type, and PyWrapperDescr_Type)
have been modified to provide introspection information for builtins.
Also: many additional Lib, test suite, and Argument Clinic fixes.
2014-01-24 06:17:25 -08:00
Benjamin Peterson 8f81c3cf3f merge 3.3 (#20374) 2014-01-24 00:33:25 -05:00
Benjamin Peterson 5f6bf55965 use new readline function types (closes #20374) 2014-01-24 00:32:12 -05:00
Serhiy Storchaka fe5fff6305 Issue #19936: Restored executable bits for several libffi files.
These files have shebangs and executable bits in the libffi distribution.
2014-01-23 16:23:50 +02:00
Serhiy Storchaka 744135d7bb Issue #19936: Restored executable bits for several libffi files.
These files have shebangs and executable bits in the libffi distribution.
2014-01-23 16:22:55 +02:00
Larry Hastings 462582651c Two minor Argument Clinic bugfixes: use the name of the class in the
docstring for __new__ and __init__, and always use "goto exit" instead of
returning "NULL" for failure to parse (as _new__ and __init__ return ints).
2014-01-22 03:05:49 -08:00
Victor Stinner 09354fd606 (Merge 3.3) Issue #20311: select.epoll.poll() now rounds the timeout away from
zero, instead of rounding towards zero. For example, a timeout of one
microsecond is now rounded to one millisecond, instead of being rounded to
zero.
2014-01-21 01:42:11 +01:00
Victor Stinner 665486e0e7 Issue #20311: select.epoll.poll() now rounds the timeout away from zero,
instead of rounding towards zero. For example, a timeout of one microsecond is
now rounded to one millisecond, instead of being rounded to zero.
2014-01-21 01:41:00 +01:00
Serhiy Storchaka ab0ac27d24 Issue #20315: Removed support for backward compatibility with early 2.x versions.
Removed backward compatibility alias curses.window.nooutrefresh which should
be removed in 2.3.
2014-01-20 21:35:06 +02:00
Serhiy Storchaka 7e52705ee3 Issue #20315: Removed support for backward compatibility with early 2.x versions. 2014-01-20 21:29:31 +02:00
Larry Hastings b7ccb20423 Issue #20294: Argument Clinic now supports argument parsing for __new__ and
__init__ functions.
2014-01-18 23:50:21 -08:00
Benjamin Peterson dc3cce077d merge 3.3 (#17811) 2014-01-18 22:57:05 -05:00
Benjamin Peterson e83ed43281 improve description of buffers argument for readv/writev (closes #17811)
Patch by Nikolaus Rath.
2014-01-18 22:54:59 -05:00
Larry Hastings bebf73511a Issue #20287: Argument Clinic's output is now configurable, allowing
delaying its output or even redirecting it to a separate file.
2014-01-17 17:47:17 -08:00
Gregory P. Smith 83fed26953 avoid a compiler warning about assigning const char * to char *. 2014-01-17 12:09:05 -08:00
Gregory P. Smith f34890937b avoid a compiler warning about assigning const char * to char *. 2014-01-17 12:08:49 -08:00
Larry Hastings 2a727916c5 Issue #20226: Major improvements to Argument Clinic.
* You may now specify an expression as the default value for a
  parameter!  Example: "sys.maxsize - 1".  This support is
  intentionally quite limited; you may only use values that
  can be represented as static C values.
* Removed "doc_default", simplified support for "c_default"
  and "py_default".  (I'm not sure we still even need
  "py_default", but I'm leaving it in for now in case a
  use presents itself.)
* Parameter lines support a trailing '\\' as a line
  continuation character, allowing you to break up long lines.
* The argument parsing code generated when supporting optional
  groups now uses PyTuple_GET_SIZE instead of PyTuple_GetSize,
  leading to a 850% speedup in parsing.  (Just kidding, this
  is an unmeasurable difference.)
* A bugfix for the recent regression where the generated
  prototype from pydoc for builtins would be littered with
  unreadable "=<object ...>"" default values for parameters
  that had no default value.
* Converted some asserts into proper failure messages.
* Many doc improvements and fixes.
2014-01-16 11:32:01 -08:00
Serhiy Storchaka 18cc3da508 Issue #19936: Remove executable bits from C source files and several forgotten
test files.
2014-01-16 18:50:53 +02:00
Serhiy Storchaka 7f470d0f9c Issue #19936: Remove executable bits from C source files and several forgotten
test files.
2014-01-16 18:48:45 +02:00
Serhiy Storchaka 8f8ec92de8 Issue #19936: Added executable bits or shebang lines to Python scripts which
requires them.  Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface.  Fixed
shebang lines in the unittestgui and checkpip scripts.
2014-01-16 17:33:23 +02:00
Serhiy Storchaka b992a0e102 Issue #19936: Added executable bits or shebang lines to Python scripts which
requires them.  Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface.  Fixed
shebang line to use python3 executable in the unittestgui script.
2014-01-16 17:15:49 +02:00
Stefan Krah 7936c81d51 Merge from 3.3. 2014-01-16 14:43:22 +01:00
Stefan Krah 16540408f4 Issue #19936: Disable shebang lines in order to prevent using a random
system python.
2014-01-16 14:33:27 +01:00
Antoine Pitrou f5207e617b Clinic-ize the crypt module. Derby! 2014-01-14 21:00:27 +01:00
Benjamin Peterson 901acb4d89 merge 3.3 (#20251) 2014-01-14 00:22:50 -05:00
Benjamin Peterson a677d7628b remove overly strict assertion (closes #20251) 2014-01-14 00:21:49 -05:00
Benjamin Peterson e19d9d1467 merge 3.3 (#20250) 2014-01-13 23:56:30 -05:00
Benjamin Peterson 9cb33b7d03 correct defaultdict signature in docstring (closes #20250)
Patch from Andrew Barnert.
2014-01-13 23:56:05 -05:00
Benjamin Peterson c6b37e21f5 merge 3.3 (#20246) 2014-01-13 23:14:42 -05:00
Benjamin Peterson 5688222907 merge 3.2 (#20246) 2014-01-13 23:12:55 -05:00
Benjamin Peterson fbf648ebba complain when nbytes > buflen to fix possible buffer overflow (closes #20246) 2014-01-13 22:59:38 -05:00
Benjamin Peterson a51791aa94 fix refleak in the error case 2014-01-13 09:20:53 -05:00
Larry Hastings 8666e65206 Issue #20228: Argument Clinic now has special support for class special
methods.
2014-01-12 14:12:59 -08:00
Larry Hastings 4a55fc5a9d Issue #20214: Fixed a number of small issues and documentation errors in
Argument Clinic (see issue for details).
2014-01-12 11:09:57 -08:00
Benjamin Peterson 463753831c fix build when SCHED_SPORADIC is defined (closes #20217) 2014-01-10 09:22:40 -06:00
Antoine Pitrou 78ace81c93 Issue #20207: Always disable SSLv2 except when PROTOCOL_SSLv2 is explicitly asked for. 2014-01-09 20:09:03 +01:00
Antoine Pitrou 2f7c31678a Remove conditional: it is useless at this point (OpenSSL headers are not yet included) 2014-01-09 20:07:41 +01:00
Antoine Pitrou cd3d7cabef Issue #20207: Always disable SSLv2 except when PROTOCOL_SSLv2 is explicitly asked for. 2014-01-09 20:02:20 +01:00
Benjamin Peterson 766e10c4a8 merge 3.3 2014-01-09 09:36:23 -06:00
Benjamin Peterson 21e7d4cd5e fix zipimport ref leak 2014-01-09 09:36:10 -06:00
Victor Stinner 149e540adf (Merge 3.3) Issue #20113: os.readv() and os.writev() now raise an OSError
exception on error instead of returning -1.
2014-01-08 15:26:12 +01:00
Victor Stinner 57ddf78b6b Issue #20113: os.readv() and os.writev() now raise an OSError exception on
error instead of returning -1.
2014-01-08 15:21:28 +01:00
Gregory P. Smith 2e385e2592 Fixes issue #19081: When a zipimport .zip file in sys.path being imported from
is modified during the lifetime of the Python process after zipimport has
already cached the zip's table of contents we detect this and recover
rather than read bad data from the .zip (causing odd import errors).
2014-01-07 18:34:23 -08:00
Gregory P. Smith 2bcbc14117 Fixes Issue #19081: When a zipimport .zip file in sys.path being imported from
is modified during the lifetime of the Python process after zipimport has
already cached the zip's table of contents we detect this and recover
rather than read bad data from the .zip (causing odd import errors).
2014-01-07 18:30:07 -08:00
Larry Hastings df7c22b25b Issue #19723: Missed one conversion to the new Argument Clinic syntax. 2014-01-07 14:25:26 -08:00
Brett Cannon b05cbe61b3 Issue #12837: Silence a Clang compiler warning on OS X.
Now makes CPython build without warnings on OS X under Clang with
-Wno-unused-value -Wno-empty-body -Qunused-arguments
-Wno-deprecated-declarations.

Thanks to David Watson for taking an initial stab at a solution.
2014-01-07 17:01:01 -05:00
Larry Hastings 61272b77b0 Issue #19273: The marker comments Argument Clinic uses have been changed
to improve readability.
2014-01-07 12:41:53 -08:00
Larry Hastings 77561cccb2 Issue #20141: Improved Argument Clinic's support for the PyArg_Parse "O!"
format unit.
2014-01-07 12:13:13 -08:00
Larry Hastings 16c5191ab3 Issue #20144: Argument Clinic now supports simple constants as parameter
default values.  inspect.Signature correspondingly supports them in
__text_signature__ fields for builtins.
2014-01-07 11:53:01 -08:00
Larry Hastings 3f144c2ad7 Issue #20142: Py_buffer variables generated by Argument Clinic are now
initialized with a default value.
2014-01-06 10:34:00 -08:00
Stefan Krah 0455c3fd28 Whitespace. 2014-01-04 13:03:48 +01:00
Larry Hastings 78cf85c669 Issue #19659: Added documentation for Argument Clinic. 2014-01-04 12:44:57 -08:00
Larry Hastings 3cceb38486 Issue #19976: Argument Clinic METH_NOARGS functions now always
take two parameters.
2014-01-04 11:09:09 -08:00
Stefan Krah 41adc26708 Merge from 3.3. 2014-01-04 13:06:59 +01:00
Martin v. Löwis 24e43308b7 * Issue #16113: Remove sha3 module again.
Patch by Christian Heimes, with modifications.
2014-01-03 14:05:06 +01:00
Victor Stinner 5c86733c8a Issue #18294: Fix uint_converter() in zlibmodule.c, fix the "> UINT_MAX" check 2014-01-03 12:26:12 +01:00
Victor Stinner daeffd2c08 audioop: adpcm2lin() and lin2adpcm() now raises a TypeError instead of a
SystemError if the state type is invalid.
2014-01-03 03:26:47 +01:00
Victor Stinner e8794526db threading.RLock._acquire_restore() now raises a TypeError instead of a
SystemError when it is not called with 2 arguments
2014-01-02 12:47:24 +01:00
Victor Stinner f4c68db162 (Merge 3.3) parser: fix usage of Py_BuildValue() to build a parser error
Fix typo: "os" format => "Os"
2014-01-02 11:50:10 +01:00
Victor Stinner 5f8d485982 parser: fix usage of Py_BuildValue() to build a parser error
Fix typo: "os" format => "Os"
2014-01-02 11:49:27 +01:00
R David Murray 0e814634e5 whatsnew for gc.get_stats, plus doc tweaks.
Clarified the "At the moment" wording, and added the get_stats entry in the
module summary that Serhiy noted was missing at the end of issue 16351.

Given that pydoc lists all the function docstrings, I'm not sure that module
summary section is actually needed; but, it is probably better to address that
when the module is converted to use Argument Clinic.  In the meantime we
should keep the list complete.
2013-12-26 15:11:28 -05:00
Christian Heimes 266772abe9 merge 2013-12-21 16:19:57 +01:00
Christian Heimes af01f66817 Issue #16136: Remove VMS support and VMS-related code 2013-12-21 16:19:10 +01:00
Antoine Pitrou 712cb734bd Issue #20037: Avoid crashes when doing text I/O late at interpreter shutdown. 2013-12-21 15:51:54 +01:00
Victor Stinner 36e96b8716 (Merge 3.3) Issue #20025: ssl.RAND_bytes() and ssl.RAND_pseudo_bytes() now
raise a ValueError if num is negative (instead of raising a SystemError).
2013-12-19 16:47:25 +01:00
Victor Stinner 1e81a399a2 Issue #20025: ssl.RAND_bytes() and ssl.RAND_pseudo_bytes() now raise a
ValueError if num is negative (instead of raising a SystemError).
2013-12-19 16:47:04 +01:00
Victor Stinner 08263f10f8 (Merge 3.3) Issue #20026: Fix the sqlite module to handle correctly invalid
isolation level (wrong type).
2013-12-19 16:39:00 +01:00
Victor Stinner cb1f74ec40 Issue #20026: Fix the sqlite module to handle correctly invalid isolation level
(wrong type).
2013-12-19 16:38:03 +01:00
Serhiy Storchaka cf58fb5e29 Issue #18829: csv.Dialect() now checks type for delimiter, escapechar and
quotechar fields.  Original patch by Vajrasky Kok.
2013-12-19 16:28:04 +02:00
Serhiy Storchaka cac23a50ee Issue #18829: csv.Dialect() now checks type for delimiter, escapechar and
quotechar fields.  Original patch by Vajrasky Kok.
2013-12-19 16:27:18 +02:00
Victor Stinner f326665fe7 Fix os.listdir(): _Py_dup() already raises an exception on error, no need to
raise a new exception
2013-12-19 13:24:49 +01:00
Gregory P. Smith b1792d9503 remove trailing spaces. 2013-12-18 11:27:05 -08:00
Serhiy Storchaka 85c2497950 Issue #16404: Add checks for return value of PyLong_FromLong() in
sys.getwindowsversion() and ossaudiodev.setparameters().
Reported by Ned Batchelder.
2013-12-17 15:12:46 +02:00
Serhiy Storchaka 48d761e2b4 Issue #16404: Add checks for return value of PyLong_FromLong() in
sys.getwindowsversion() and ossaudiodev.setparameters().
Reported by Ned Batchelder.
2013-12-17 15:11:24 +02:00
Victor Stinner 711e27cd50 tracemalloc: fix usage of strtol(), value can be LONG_MIN or LONG_MAX on ERANGE 2013-12-16 23:06:19 +01:00
Victor Stinner 4d8c29cd57 tracemalloc: only use unsigned types to compute hash
Commit to simplify the backport to python 2.7 and to make the code more
consistent.
2013-12-16 23:05:13 +01:00
Stefan Krah ae01a8bcdf Merge from 3.3. 2013-12-15 20:52:08 +01:00
Stefan Krah 1f1ec12db9 Issue #19986: Avoid an incorrect warning of older gcc versions. 2013-12-15 20:45:08 +01:00
Serhiy Storchaka 03241e8017 Issue #17919: Fixed integer overflow in the eventmask parameter. 2013-12-14 19:18:39 +02:00
Serhiy Storchaka 5da107ac72 Issue #17919: Fixed integer overflow in the eventmask parameter. 2013-12-14 19:12:02 +02:00
Stefan Krah f483b0f3a9 Issue #19972: Add rarely used freefunc. This fixes a leak if sys.exit()
is used in a program.
2013-12-14 13:43:10 +01:00
Stefan Krah 7ab9f72519 Merge from 3.3. 2013-12-14 12:58:59 +01:00
Stefan Krah 01e5f800b4 Fix C++ header usage. This __STDC_LIMIT_MACROS scheme can still be subverted
by including stdint.h before mpdecimal.h.  In that case the only option left
is to compile with -D_STDC_LIMIT_MACROS.
2013-12-14 12:58:09 +01:00
R David Murray 3c2a178af2 Merge: #19970: Fix some comment typos. 2013-12-13 20:53:26 -05:00
R David Murray fc06999e0b #19970: Fix some comment typos.
Report and patch by Vajrasky Kok.
2013-12-13 20:52:19 -05:00
Victor Stinner 590cebe391 Issue #19787: PyThread_set_key_value() now always set the value
In Python 3.3, PyThread_set_key_value() did nothing if the key already exists
(if the current value is a non-NULL pointer).

When _PyGILState_NoteThreadState() is called twice on the same thread with a
different Python thread state, it still keeps the old Python thread state to
keep the old behaviour. Replacing the Python thread state with the new state
introduces new bugs: see issues #10915 and #15751.
2013-12-13 11:08:56 +01:00
Serhiy Storchaka cb1c4c8c22 Issue #17919: select.poll.poll() again works with poll.POLLNVAL on AIX. 2013-12-13 12:08:55 +02:00
Serhiy Storchaka 3ad2d70947 Issue #17919: select.poll.poll() again works with poll.POLLNVAL on AIX. 2013-12-13 12:08:01 +02:00
Victor Stinner 441adb8c57 Backout changeset 46393019b650
test_capi is failing and the fix is not trivial, I prefer to revert
2013-12-13 04:14:41 +01:00
Victor Stinner cd0cb8ccd3 Close #19787: PyThread_set_key_value() now always set the value. In Python 3.3,
the function did nothing if the key already exists (if the current value is a
non-NULL pointer).

_testcapi.run_in_subinterp() now correctly sets the new Python thread state of
the current thread when a subinterpreter is created.
2013-12-13 03:22:00 +01:00
Victor Stinner 2aeb070e4c (Merge 3.3) Issue #14432: Fix compilation when thread support is disabled 2013-12-13 02:32:37 +01:00
Victor Stinner 258e4d372f Issue #14432: Fix compilation when thread support is disabled 2013-12-13 02:30:12 +01:00
Victor Stinner 1310510793 Issue #14432: Generator now clears the borrowed reference to the thread state
Fix a crash when a generator is created in a C thread that is destroyed while
the generator is still used. The issue was that a generator contains a frame,
and the frame kept a reference to the Python state of the destroyed C thread.
The crash occurs when a trace function is setup.
2013-12-13 02:17:29 +01:00
Victor Stinner fdeb6ec45a Issue #14432: Remove the thread state field from the frame structure. Fix a
crash when a generator is created in a C thread that is destroyed while the
generator is still used. The issue was that a generator contains a frame, and
the frame kept a reference to the Python state of the destroyed C thread. The
crash occurs when a trace function is setup.
2013-12-13 02:01:38 +01:00
Stefan Krah 5bf91dc417 Merge from 3.3. 2013-12-12 19:05:08 +01:00
Stefan Krah da12adac10 Do not discard const qualifier without a reason. 2013-12-12 18:51:51 +01:00
Stefan Krah 2d181de44c Merge 3.3. 2013-12-09 19:03:24 +01:00
Serhiy Storchaka 2dae92a807 Issue #15475: Add __sizeof__ implementations for itertools objects. 2013-12-09 17:45:57 +02:00
Stefan Krah 37d4e0be3d Fix two typos. 2013-12-08 20:08:32 +01:00
Stefan Krah 42e3b607cb Missed one copyright. 2013-12-08 20:00:56 +01:00
Stefan Krah ecff6554d3 Update copyright. The four year increment is intentional (to save work). 2013-12-08 19:54:05 +01:00
doko@ubuntu.com ca616a2709 - Issue #19736: Add module-level statvfs constants defined for GNU/glibc
based systems.
2013-12-08 15:23:07 +01:00
Christian Heimes 5bb414d176 Issue #19343: Expose FreeBSD-specific APIs in resource module. Original patch by Koobs. 2013-12-08 14:35:55 +01:00
Alexandre Vassalotti d05c9ff845 Issue #6784: Strings from Python 2 can now be unpickled as bytes objects.
Initial patch by Merlijn van Deen.

I've added a few unrelated docstring fixes in the patch while I was at
it, which makes the documentation for pickle a bit more consistent.
2013-12-07 01:09:27 -08:00
Guido van Rossum ee07b94788 Fix indentation of switch cases. 2013-12-06 17:46:22 -08:00
Christian Heimes aa15276ee9 Load expat_config.h and therefore pyconfig.h before C stdlib headers are loaded.
This silences the pre-processor warning '_POSIX_C_SOURCE redefined'.
2013-12-06 23:43:50 +01:00
Alexandre Vassalotti 6e73ff1a31 Issue #19881: Fix bad pickling of large bytes in cpickle. 2013-12-05 19:29:32 -08:00
Christian Heimes 8ff6f3e895 Issue #19296: Silence compiler warning in dbm_open.
Some dbm header files declare the first argument as char * instead of a const char *.
2013-12-06 00:20:00 +01:00
Christian Heimes 48b7df7b0a exclude _hashopenssl.c:_setException() from LCOV coverage 2013-12-05 07:38:13 +01:00
Guido van Rossum 638aebd58e Fix broken docstring continuation line for detach(). 2013-12-04 11:50:09 -08:00
Christian Heimes bd306db07c silence unused-value warnings in libffi's dlmalloc.c 2013-12-04 09:43:21 +01:00
Christian Heimes ecb4e6a9ab Silence more PyObject_INIT() unused value warnings. 2013-12-04 09:34:29 +01:00
Christian Heimes a3da7c5f8a make char* const
readline() takes a const char* and the other readline_until_enter_or_signal() implementation
already has const char*.
2013-12-04 09:31:47 +01:00
Christian Heimes 47f02e5e17 ncurses' winch and mvwinch return an unsigned long 2013-12-04 08:50:32 +01:00
Christian Heimes abbc8ca708 ncurses' winch and mvwinch return an unsigned long 2013-12-04 08:50:22 +01:00
Victor Stinner 88c29877c7 Close #19741: tracemalloc_realloc() does not release the table lock anymore
between tracemalloc_remove_trace() and tracemalloc_add_trace() to reduce the
risk of race condition.

tracemalloc_add_trace() cannot fail anymore in tracemalloc_realloc() when
tracemalloc_realloc() resizes a memory block.
2013-12-04 01:47:46 +01:00
Victor Stinner 1511680b79 Close #19757: Cleanup tracemalloc, move
PyGILState_Ensure()/PyGILState_Release() calls to the raw wrappers to simplify
the code.

Rename also tracemalloc_log_alloc/log_free() to
tracemalloc_add_trace/remove_trace().
2013-12-04 01:29:35 +01:00
Victor Stinner 9a954838ab Close #19827: On UNIX, setblocking() and settimeout() methods of socket.socket
can now avoid a second syscall if the ioctl() function can be used, or if the
non-blocking flag of the socket is unchanged.
2013-12-04 00:41:24 +01:00
Stefan Krah 4b7f7acf30 Make a couple of parameters constant. 2013-12-03 14:33:46 +01:00
Stefan Krah b1e4c9d104 Make a couple of parameters constant. 2013-12-03 14:33:46 +01:00
Christian Heimes 1aa9a75fbf Issue #19509: Add SSLContext.check_hostname to match the peer's certificate
with server_hostname on handshake.
2013-12-02 02:41:19 +01:00
Gregory P. Smith 708a3182c9 Fixes issue #15798: subprocess.Popen() no longer fails if file
descriptor 0, 1 or 2 is closed.
The errpipe_write fd will always be >= 3.
2013-12-01 17:27:40 -08:00
Charles-François Natali 5abca14b00 Issue #18994: Add a missing check for a return value in fcntmodule. Patch by
Vajrasky Kok.
2013-12-01 14:30:47 +01:00
Victor Stinner be0708f066 Closes #19831: Stop tracemalloc later at Python shutdown to be able to use
tracemalloc in objects destructor

Replace atexit handler with an harcoded C function _PyTraceMalloc_Fini().
2013-12-01 10:03:26 +01:00
Gregory P. Smith 54532c9742 Undo supposed fix for Issue #15798 until I understand why this is
causing test_multiprocessing_forkserver and test_multiprocessing_spawn
failures on head (3.4).
2013-12-01 00:13:35 -08:00
Gregory P. Smith 361e30c17a Undo supposed fix for Issue #15798 until I understand why this is
causing test_multiprocessing_forkserver and test_multiprocessing_spawn
failures on head (3.4).
2013-12-01 00:12:24 -08:00
Gregory P. Smith 1c27e3c7fb Fixes Issue #15798 - subprocess.Popen() no longer fails if file
descriptor 0, 1 or 2 is closed.
2013-11-30 19:04:00 -08:00
Gregory P. Smith 1eda9e7c30 Fixes Issue #15798 - subprocess.Popen() no longer fails if file
descriptor 0, 1 or 2 is closed.
2013-11-30 19:02:57 -08:00
Alexandre Vassalotti 2ccf8e969c Issue #6477: Merge with 3.3. 2013-11-30 17:58:53 -08:00
Alexandre Vassalotti 65846c6c51 Issue #6477: Keep PyNotImplemented_Type and PyNone_Type private. 2013-11-30 17:55:48 -08:00
Alexandre Vassalotti 3c23e7a5dc Issue #6477: Merge with 3.3. 2013-11-30 16:21:20 -08:00
Alexandre Vassalotti 19b6fa6ebb Issue #6477: Added support for pickling the types of built-in singletons. 2013-11-30 16:06:39 -08:00
Alexandre Vassalotti a1eedf9ff0 Merge with 3.3. 2013-11-30 13:55:39 -08:00
Alexandre Vassalotti 896414fedf Fixed _pickle.Unpickler to handle empty persistent IDs correctly. 2013-11-30 13:52:35 -08:00
Serhiy Storchaka 6fe39b76a9 Issue #17897: Optimized unpickle prefetching. 2013-11-30 23:15:38 +02:00
Alexandre Vassalotti 9730e33535 Issue #3693: Fix array obscure error message when given a str. 2013-11-29 20:47:15 -08:00
Alexandre Vassalotti 567eba1852 Use PyDict_GetItemWithError instead of PyDict_GetItem in cpickle. 2013-11-28 17:09:16 -08:00
Alexandre Vassalotti 6bf41e54a4 Remove explicit empty tuple reuse in cpickle.
PyTuple_New(0) always returns the same empty tuple from its free list anyway,
so we are not saving much here. Plus, the code where this was used is on
uncommon run paths.
2013-11-28 15:17:29 -08:00
Alexandre Vassalotti b13e6bcbd8 Remove the tuple reuse optimization in _Pickle_FastCall.
I have noticed a race-condition occurring on one of the buildbots because of
this optimization. The function called may release the GIL which means
multiple threads may end up accessing the shared tuple. I could fix it up by
storing the tuple to the Pickler and Unipickler object again, but honestly it
really not worth the trouble.

I ran many benchmarks and the only time the optimization helps is when using a
fin-memory file, like io.BytesIO on which reads are super cheap, combined with
pickle protocol less than 4. Even in this contrived case, the speedup is a
about 5%. For everything else, this optimization does not provide any
noticable improvements.
2013-11-28 14:56:09 -08:00
Eli Bendersky 8148164353 Issue #19815: Fix segfault when parsing empty namespace declaration.
Based on patches by Christian Heimes and Vajrasky Kok
2013-11-28 06:35:40 -08:00
Eli Bendersky 4b79518f83 Fix indentation from previous commit 2013-11-28 06:33:21 -08:00
Eli Bendersky 5dd40e555b Issue #19815: Fix segfault when parsing empty namespace declaration.
Based on patches by Christian Heimes and Vajrasky Kok
2013-11-28 06:31:58 -08:00
Christian Heimes 470fba1f9f SNI was added in OpenSSL 0.9.8f [11 Oct 2007], too 2013-11-28 15:12:15 +01:00
Alexandre Vassalotti 23bdd83053 Encapsulate cpickle global state in a dedicated object.
This implements PEP 3121 module finalization as well. This change does not
cause any significant impact on performance.
2013-11-27 19:36:52 -08:00
Victor Stinner f28ce60441 Closes #19786: tracemalloc, remove the arbitrary limit of 100 frames
The limit is now 178,956,969 on 64 bit (it is greater on 32 bit because
structures are smaller).

Use int instead of Py_ssize_t to store the number of frames to have smaller
traceback_t objects.
2013-11-27 22:27:13 +01:00
Victor Stinner 3c0481d426 Close #19798: replace "maximum" term with "peak" in get_traced_memory()
documentation. Use also the term "current" for the current size.
2013-11-27 21:39:49 +01:00
Benjamin Peterson 1314ef73d0 add SO_PRIORITY (closes #19802)
Patch by Claudiu Popa.
2013-11-27 09:18:54 -06:00
Alexandre Vassalotti 20c28c1ea2 Combine the FastCall functions in cpickle.
I fixed the bug that was in my previous attempt of this cleanup. I ran
the full test suite to verify I didn't introduce any obvious bugs.
2013-11-27 02:26:54 -08:00
Serhiy Storchaka 687ff0ecdf Issue #11489: JSON decoder now accepts lone surrogates. 2013-11-26 21:27:11 +02:00
Serhiy Storchaka c93329b3dd Issue #11489: JSON decoder now accepts lone surrogates. 2013-11-26 21:25:28 +02:00
Victor Stinner 59463d8340 tracemalloc: fix get_traced_memory() docstring for result type 2013-11-26 10:46:06 +01:00
Victor Stinner 4dc74204c1 Issue #18874: Fix typo 2013-11-26 01:18:52 +01:00
Victor Stinner 2ead3d2448 Issue #18874: make it more explicit than set_reentrant() only accept 0 or 1 2013-11-26 01:08:53 +01:00
Victor Stinner 7a5be14dd8 Issue #18874: tracemalloc: Comment the trace_t structure 2013-11-26 01:06:02 +01:00
Victor Stinner de2f132a5e Issue #18874: tracemalloc: explain the purpose of get_traces.tracebacks in a comment 2013-11-26 00:26:23 +01:00
Victor Stinner 000de53624 Issue #19752: Fix "HAVE_DEV_PTMX" implementation of os.openpty()
Regression introduced by the implementation of the PEP 446 (non-inheritable
file descriptors by default).

master_fd must be set non-inheritable after the creation of the slave_fd,
otherwise grantpt(master_fd) fails with EPERM (errno 13).
2013-11-25 23:19:58 +01:00
Alexandre Vassalotti b4a04fb7e6 Reverting e39db21df580 eagerly due to buildbot failures. 2013-11-25 13:25:12 -08:00
Alexandre Vassalotti f94a041f8f Combine _Pickler_FastCall and _Unpickler_FastCall in cpickle. 2013-11-25 13:03:32 -08:00
Alexandre Vassalotti 1048fb5539 Issue #19739: Try to fix compiler warnings on 32-bit Windows. 2013-11-25 11:35:46 -08:00
Victor Stinner 4fbefdb217 Close #19762: Fix name of _get_traces() and _get_object_traceback() function
name in their docstring. Patch written by Vajrasky Kok.
2013-11-25 09:33:18 +01:00
Alexandre Vassalotti ded929b300 Merge save_int into save_long in cpickle to remove redundant code.
Also, replace unnessary uses of the #if preprocessor directive.
2013-11-24 22:41:13 -08:00
Alexandre Vassalotti 8a67f52463 Simplify save_bool in cpickle. 2013-11-24 21:40:18 -08:00
Alexandre Vassalotti ed8c906127 Use Clinic to process arguments in cpickle.
This doesn't make any functional changes to the exisiting implementation.  The
conversion did help however uncover documentation bugs. The best thing about
this conversion is less C code to maintain by hand.
2013-11-24 12:25:48 -08:00
Stefan Krah daa96b7669 Merge from 3.3. 2013-11-24 19:56:23 +01:00
Stefan Krah 45059eb1d0 1) Prepare libmpdec for the 2.4.0 release. None of the following changes affects
_decimal:

      o Make all "mpd_t to C integer" conversion functions available in both the
        64-bit and the 32-bit versions.

      o Make all mixed mpd_t/C integer arithmetic functions available in the
        32-bit version.

      o Better handling of __STDC_LIMIT_MACROS for C++ users.

      o Add struct tags (at the request of C++ users).

2) Check for libmpdec.so.2 if --with-system-libmpdec is used.
2013-11-24 19:44:57 +01:00
Victor Stinner 7587507a97 Issue #19636: Fix usage of MAX_PATH in posixmodule.c 2013-11-24 19:23:25 +01:00
Victor Stinner 6edddfaf5b Issue #19636: Fix posix__getvolumepathname(), raise an OverflowError if
the length doesn't fit in an DWORD
2013-11-24 19:22:57 +01:00
Eli Bendersky 163d7f02a1 Cosmetic fixes 2013-11-24 06:55:04 -08:00
Larry Hastings dc6aaec9e3 Clinic: fix "self converters" with METH_NOARGS functions. 2013-11-24 04:41:57 -08:00
Victor Stinner 08facd2009 Issue #19741: cleanup tracemalloc_realloc()
Explain that unhandled error case is very unlikely
2013-11-24 12:27:59 +01:00
Alexandre Vassalotti fc91285c93 Remove code path in cpickle that does not exist in pickle. 2013-11-24 03:07:35 -08:00
Victor Stinner 52968676f1 Issue #19741: tracemalloc: report tracemalloc_log_alloc() failure to the caller
for new allocations, but not when a memory block was already resized
2013-11-24 11:37:15 +01:00
Alexandre Vassalotti c49477b184 Make Ellipsis and NotImplemented picklable through the reduce protocol. 2013-11-24 02:53:45 -08:00
Alexandre Vassalotti 4c05d3bc56 Make built-in methods picklable through the reduce protocol. 2013-11-24 02:41:05 -08:00
Victor Stinner d606ba7f55 Issue #19741: fix tracemalloc_log_alloc(), handle _Py_HASHTABLE_SET() failure 2013-11-24 11:28:20 +01:00
Alexandre Vassalotti b6a2f2a0d1 Make framing optional in pickle protocol 4.
This will allow us to control in the future whether to use framing or not.
For example, we may want to turn it off for tiny pickle where it doesn't
help.

The change also improves performance slightly:

### fastpickle ###
Min: 0.608517 -> 0.557358: 1.09x faster
Avg: 0.798892 -> 0.694738: 1.15x faster
Significant (t=3.45)
Stddev: 0.17145 -> 0.12704: 1.3496x smaller
Timeline: http://goo.gl/3xQE1J

### pickle_dict ###
Min: 0.669920 -> 0.615271: 1.09x faster
Avg: 0.733633 -> 0.645058: 1.14x faster
Significant (t=5.05)
Stddev: 0.12041 -> 0.02961: 4.0662x smaller
Timeline: http://goo.gl/LpLSXI

### pickle_list ###
Min: 0.397583 -> 0.368112: 1.08x faster
Avg: 0.412784 -> 0.397223: 1.04x faster
Significant (t=2.78)
Stddev: 0.01518 -> 0.03653: 2.4068x larger
Timeline: http://goo.gl/v39E59

### unpickle_list ###
Min: 0.692935 -> 0.594870: 1.16x faster
Avg: 0.730012 -> 0.628395: 1.16x faster
Significant (t=17.76)
Stddev: 0.02720 -> 0.02995: 1.1012x larger
Timeline: http://goo.gl/2P9AEt

The following not significant results are hidden, use -v to show them:
fastunpickle.
2013-11-23 20:30:03 -08:00
Larry Hastings 44e2eaab54 Issue #19674: inspect.signature() now produces a correct signature
for some builtins.
2013-11-23 15:37:55 -08:00
Larry Hastings ebdcb50b8a Issue #19730: Argument Clinic now supports all the existing PyArg
"format units" as legacy converters, as well as two new features:
"self converters" and the "version" directive.
2013-11-23 14:54:00 -08:00
Larry Hastings 3a9079742f Issue #19722: Added opcode.stack_effect(), which accurately
computes the stack effect of bytecode instructions.
2013-11-23 14:49:22 -08:00
Serhiy Storchaka 32eddc1bbc Issue #16203: Add re.fullmatch() function and regex.fullmatch() method,
which anchor the pattern at both ends of the string to match.

Original patch by Matthew Barnett.
2013-11-23 23:20:30 +02:00
Serhiy Storchaka 5c24d0e504 Issue #13592: Improved the repr for regular expression pattern objects.
Based on patch by Hugo Lopes Tavares.
2013-11-23 22:42:43 +02:00
Antoine Pitrou c1207c1bcf Fix signed / unsigned comparison 2013-11-23 21:34:04 +01:00