Commit Graph

14239 Commits

Author SHA1 Message Date
Victor Stinner 2f084ecfe7 Issue #18137: Detect integer overflow on precision in float.__format__() and
complex.__format__().
2013-06-23 14:54:30 +02:00
Christian Heimes c77d9f38c2 Issue #11016: Add C implementation of the stat module as _stat 2013-06-22 21:05:02 +02:00
Senthil Kumaran f83bc7a2c9 merge from 3.3
Add -b and -X options to python man page.
Patch contributed by Corey Brune.
2013-06-19 22:20:26 -05:00
Senthil Kumaran ce3dd0bdd5 Add -b and -X options to python man page.
Patch contributed by Corey Brune.
2013-06-19 22:19:46 -05:00
Benjamin Peterson 15a7d2e8d6 merge 3.3 (#18248) 2013-06-19 09:01:58 -07:00
Benjamin Peterson 19886b8adc fix libffi build on AIX (closes #18248) 2013-06-19 09:01:42 -07:00
Christian Heimes d9a52f2625 merge heads 2013-06-19 02:09:00 +02:00
Christian Heimes dceec13dfb merge heads 2013-06-19 02:08:41 +02:00
Christian Heimes 71515510d8 Issue #18259: Declare sethostname in socketmodule.c for AIX 2013-06-19 02:07:20 +02:00
Christian Heimes d2774c7d09 Issue #18259: Declare sethostname in socketmodule.c for AIX 2013-06-19 02:06:29 +02:00
Antoine Pitrou 1a1a06ee36 Issue #18256: Compilation fix for recent AIX releases. Patch by David Edelsohn. 2013-06-18 22:19:11 +02:00
Antoine Pitrou 9a00e0a41c Issue #18256: Compilation fix for recent AIX releases. Patch by David Edelsohn. 2013-06-18 22:17:48 +02:00
Christian Heimes 9ce4f36aa1 merge heads 2013-06-17 15:45:11 +02:00
Christian Heimes 9a5395ae2b Issue #18147: Add diagnostic functions to ssl.SSLContext().
get_ca_list() lists all loaded CA certificates and cert_store_stats() returns
amount of loaded X.509 certs, X.509 CA certs and CRLs.
2013-06-17 15:44:12 +02:00
Serhiy Storchaka a5f004fe7d Merge heads 2013-06-17 16:38:00 +03:00
Serhiy Storchaka 774bed7e60 Issue #18167: cgi.FieldStorage no more fails to handle multipart/form-data
when \r\n appears at end of 65535 bytes without other newlines.
2013-06-17 16:36:20 +03:00
Serhiy Storchaka c7bfe0e42e Issue #18167: cgi.FieldStorage no more fails to handle multipart/form-data
when \r\n appears at end of 65535 bytes without other newlines.
2013-06-17 16:34:41 +03:00
Christian Heimes 9424bb4aea Issue #18207: Fix test_ssl for some versions of OpenSSL that ignore seconds
in ASN1_TIME fields.
2013-06-17 15:32:57 +02:00
Brett Cannon f24fecd4ac Issue #18076: Introduce imoportlib.util.decode_source().
The helper function makes it easier to implement
imoprtlib.abc.InspectLoader.get_source() by making that function
require just the raw bytes for source code and handling all other
details.
2013-06-16 18:37:53 -04:00
Brett Cannon f4375ef4d4 importlib.abc.SourceLoader.get_source() was re-raising SyntaxError and
UnicodeDecodeError as ImportError. That was over-reaching the point of
raising ImportError in get_source() (which is to signal the source
code was not found when it should have). Conflating the two exceptions
with ImportError could lead to masking errors with the source which
should be known outside of whether there was an error simply getting
the source to begin with.
2013-06-16 18:05:54 -04:00
Brett Cannon 13d8ff9c5b Issues #18058, 18057: Make importlib._bootstrap.NamespaceLoader
conform the the InspectLoader ABC. Perk of this is that runpy/-m can
now work with namespace packages.
2013-06-16 14:56:58 -04:00
Brett Cannon e4f41deccf Issue #17177: The imp module is pending deprecation.
To make sure there is no issue with code that is both Python 2 and 3
compatible, there are no plans to remove the module any sooner than
Python 4 (unless the community moves to Python 3 solidly before then).
2013-06-16 13:13:40 -04:00
Gregory P. Smith 22ba31a3af Prevent a possible double close of parent pipe fds when the subprocess
exec runs into an error.  Prevent a regular multi-close of the /dev/null
fd when any of stdin, stdout and stderr was set to DEVNULL.
2013-06-15 18:14:56 -07:00
Gregory P. Smith 893f2ffc7c news entry for subprocess double close fix. 2013-06-15 18:05:17 -07:00
Andrew Kuchling 8a2a902f88 Merge with 3.3 2013-06-15 15:10:08 -04:00
Andrew Kuchling 53e5ea7951 #18113: Objects associated to a curses.panel object with set_userptr() were leaked.
Reported by Atsuo Ishimoto.
2013-06-15 14:04:04 -04:00
Brett Cannon cc39b1ed1d merge w/ 3.3 2013-06-15 13:37:38 -04:00
Brett Cannon 27bbfdbc4c Drop some dead imports of imp 2013-06-15 13:37:12 -04:00
Brett Cannon a38e81428a Issue #18194: Introduce importlib.util.cache_from_source() and
source_from_cache(), finishing the work introduced in changset
4134:9cacdb9d0c59.
2013-06-14 22:35:40 -04:00
Ethan Furman 6b3d64ab5d Closes issue 17947. Adds PEP-0435 (Adding an Enum type to the Python standard library).
Missing files added.
News entry added.
2013-06-14 16:55:46 -07:00
Brett Cannon 2d77204180 Issue #17907: Document types.ModuleType's constructor and attributes,
allowing for documenting imp.new_module() as deprecated.
2013-06-14 19:19:57 -04:00
Brett Cannon 05a647deed Issue #18192: Introduce importlib.util.MAGIC_NUMBER and document the
deprecation of imp.get_magic().
2013-06-14 19:02:34 -04:00
Brett Cannon 8c18da20f9 merge 2013-06-14 18:33:21 -04:00
Brett Cannon 33915eba7c Issue #17222: Raise FileExistsError when py_compile.compile would
overwrite a symlink or non-regular file with a regular file.
2013-06-14 18:33:00 -04:00
Ned Deily 7bff3cbe3d Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache.
Patch by Mark Levitt
2013-06-14 15:19:11 -07:00
Brett Cannon 3fe35e6503 Issue #18193: Add importlib.reload(), documenting (but not
implementing in code) the deprecation of imp.reload().

Thanks to Berker Peksag for the patch.
2013-06-14 15:04:26 -04:00
Christian Heimes 09ec23f120 Issue #15172: Document NASM 2.10+ as requirement for building OpenSSL 1.0.1 on Windows 2013-06-14 15:48:16 +02:00
Christian Heimes c81549f476 Issue #15172: Document NASM 2.10+ as requirement for building OpenSSL 1.0.1 on Windows 2013-06-14 15:40:28 +02:00
Brett Cannon 8f5ac5106e Issue #15767: Touch up ModuleNotFoundError usage by import.
Forgot to raise ModuleNotFoundError when None is found in sys.modules.
This led to introducing the C function PyErr_SetImportErrorSubclass()
to make setting ModuleNotFoundError easier.

Also updated the reference docs to mention ModuleNotFoundError
appropriately. Updated the docs for ModuleNotFoundError to mention the
None in sys.modules case.

Lastly, it was noticed that PyErr_SetImportError() was not setting an
exception when returning None in one case. That issue is now fixed.
2013-06-12 23:29:18 -04:00
Brett Cannon b1611e2772 Issue #15767: Introduce ModuleNotFoundError, a subclass of
ImportError.

The exception is raised by import when a module could not be found.
Technically this is defined as no viable loader could be found for the
specified module. This includes ``from ... import`` statements so that
the module usage is consistent for all situations where import
couldn't find what was requested.

This should allow for the common idiom of::

  try:
    import something
  except ImportError:
    pass

to be updated to using ModuleNotFoundError and not accidentally mask
ImportError messages that should propagate (e.g. issues with a
loader).

This work was driven by the fact that the ``from ... import``
statement needed to be able to tell the difference between an
ImportError that simply couldn't find a module (and thus silence the
exception so that ceval can raise it) and an ImportError that
represented an actual problem.
2013-06-12 16:59:46 -04:00
Roger Serwy 6d844c5db9 #18196: merge with 3.3 2013-06-11 22:25:34 -05:00
Roger Serwy f467521927 #18196: Avoid displaying spurious SystemExit tracebacks. 2013-06-11 22:25:14 -05:00
Roger Serwy c2efeb61b9 #5492: merge with 3.3 2013-06-11 22:13:51 -05:00
Roger Serwy 036e84924a #5492: Avoid traceback when exiting IDLE caused by a race condition. 2013-06-11 22:13:17 -05:00
Brett Cannon d5e6f2e200 Issue #18157: stop using imp.load_module() in imp. 2013-06-11 17:09:36 -04:00
Roger Serwy 30b4131b41 #17511: merge with 3.3. 2013-06-10 23:02:56 -05:00
Roger Serwy 391f469681 #17511: Keep IDLE find dialog open after clicking "Find Next".
Original patch by Sarah K.
2013-06-10 23:01:20 -05:00
Benjamin Peterson 3164f5d565 merge 3.3 (#18183) 2013-06-10 09:24:01 -07:00
Benjamin Peterson 7e30373126 remove MAX_MAXCHAR because it's unsafe for computing maximum codepoitn value (see #18183) 2013-06-10 09:19:46 -07:00
Richard Oudkerk cac17b4d78 Merge. 2013-06-10 15:45:30 +01:00
Richard Oudkerk 409f90237c Issue #18180: Fix ref leak in _PyImport_GetDynLoadWindows(). 2013-06-10 15:38:54 +01:00
Serhiy Storchaka 531381f207 Issue #16102: Make uuid._netbios_getnode() work again on Python 3. 2013-06-09 21:10:13 +03:00
Serhiy Storchaka 6f50b810b7 Issue #16102: Make uuid._netbios_getnode() work again on Python 3. 2013-06-09 21:08:05 +03:00
Christian Heimes 46bebee25f Issue #17134: Add ssl.enum_cert_store() as interface to Windows' cert store. 2013-06-09 19:03:31 +02:00
Christian Heimes 6d7ad13a45 Issue #18143: Implement ssl.get_default_verify_paths() in order to debug
the default locations for cafile and capath.
2013-06-09 18:02:55 +02:00
Serhiy Storchaka 302b8c31ec Issue #15239: Make mkstringprep.py work again on Python 3. 2013-06-09 17:11:48 +03:00
Serhiy Storchaka e7275ffa4c Issue #15239: Make mkstringprep.py work again on Python 3. 2013-06-09 17:08:00 +03:00
Serhiy Storchaka 9670543a00 Issue #18038: SyntaxError raised during compilation sources with illegal
encoding now always contains an encoding name.
2013-06-09 16:53:55 +03:00
Serhiy Storchaka 3af14aaba5 Issue #18038: SyntaxError raised during compilation sources with illegal
encoding now always contains an encoding name.
2013-06-09 16:51:52 +03:00
Ezio Melotti 7dc4c03344 #18126: merge with 3.3. 2013-06-09 01:05:16 +03:00
Ezio Melotti c1f5839412 #18126: update NumPy links in the documentation. Patch by Yury V. Zaytsev. 2013-06-09 01:04:21 +03:00
Ezio Melotti f103d55b2a #17691: merge with 3.3. 2013-06-09 00:10:04 +03:00
Ezio Melotti 28b0d9d13e #17691: test_univnewlines now works with unittest test discovery. Patch by Zachary Ware. 2013-06-09 00:07:06 +03:00
Łukasz Langa 7f7a67aac8 Fixed #18150: duplicate test inside TestSingleDispatch
Thanks to Vajrasky Kok for the patch
2013-06-07 22:25:27 +02:00
Brett Cannon abb18af38f merge w/ 3.3 for issue #18055 2013-06-07 13:18:36 -04:00
Brett Cannon 50793b4438 Issue #18055: Move to importlib from imp for IDLE. 2013-06-07 13:17:48 -04:00
Brett Cannon a33e11e436 Issue #17314: Stop using imp in multiprocessing.forking and move over
to importlib.
2013-06-07 11:45:41 -04:00
Vinay Sajip 30298b468b Closes #11959: SMTPServer and SMTPChannel now take an optional map, use of which avoids affecting global state. 2013-06-07 15:21:41 +01:00
Richard Oudkerk ac0ad884d1 Issue #17931: Resolve confusion on Windows between pids and process handles. 2013-06-05 23:29:30 +01:00
Łukasz Langa 6f69251980 Add reference implementation for PEP 443
PEP accepted: http://mail.python.org/pipermail/python-dev/2013-June/126734.html
2013-06-05 12:20:24 +02:00
Victor Stinner 7e91e771a9 Close #17931: Fix PyLong_FromPid() on Windows 64-bit: processes are identified
by their HANDLE which is a pointer (and not a long, which is smaller).
2013-06-04 23:56:38 +02:00
Brett Cannon c97ec8fa69 merge 2013-06-04 17:36:07 -04:00
Brett Cannon af38f5a503 Tweak at the suggestion of Ezio Melotti for exception messages when
EOF is hit while trying to read the header of a bytecode file.
2013-06-04 17:34:49 -04:00
Victor Stinner e0b99ba140 Close #17932: Fix an integer overflow issue on Windows 64-bit in iterators:
change the C type of seqiterobject.it_index from long to Py_ssize_t.
2013-06-04 23:02:46 +02:00
Victor Stinner 0b81111b18 (Merge 3.3) Close #18109: os.uname() now decodes fields from the locale
encoding, and socket.gethostname() now decodes the hostname from the locale
encoding, instead of using the UTF-8 encoding in strict mode.
2013-06-03 22:09:14 +02:00
Victor Stinner a534fc4b3b Close #18109: os.uname() now decodes fields from the locale encoding, and
socket.gethostname() now decodes the hostname from the locale encoding, instead
of using the UTF-8 encoding in strict mode.
2013-06-03 22:07:27 +02:00
Serhiy Storchaka 7d15b54f37 Issue #18094: test_uuid no more reports skipped tests as passed. 2013-05-31 22:31:02 +03:00
Terry Jan Reedy b1165f0c01 Issue #15392: Finish news entry. 2013-05-30 20:55:52 -04:00
Senthil Kumaran c70a6ae49b #17403: urllib.parse.robotparser normalizes the urls before adding to ruleline.
This helps in handling certain types invalid urls in a conservative manner.
2013-05-29 05:54:31 -07:00
Ned Deily 97345680dc Issue #18080: When building a C extension module on OS X, if the compiler
is overriden with the CC environment variable, use the new compiler as
the default for linking if LDSHARED is not also overriden.  This restores
Distutils behavior introduced in 3.2.3 and inadvertently dropped in 3.3.0.
2013-05-28 16:35:30 -07:00
Serhiy Storchaka 37a79a12d1 Issue #18025: Fixed a segfault in io.BufferedIOBase.readinto() when raw
stream's read() returns more bytes than requested.
2013-05-28 16:24:45 +03:00
Serhiy Storchaka ea2b490f3d Issue #18011: base64.b32decode() now raises a binascii.Error if there are
non-alphabet characters present in the input string to conform a docstring.
Updated the module documentation.
2013-05-28 15:27:29 +03:00
Jason R. Coombs 3a09286790 Issue #13772: Restored directory detection of targets in `os.symlink` on Windows, which was temporarily removed in Python 3.2.3 due to an incomplete implementation. The implementation now works even if the symlink is created in a location other than the current directory. 2013-05-27 23:21:28 -04:00
Terry Jan Reedy db4e5c53c9 Issue #15392: Create a unittest framework for IDLE.
Preliminary patch by Rajagopalasarma Jayakrishnan.
2013-05-27 21:32:03 -04:00
Brett Cannon c3511c1dd8 Issue #17953: document that sys.modules shouldn't be replaced (thanks
to interp->modules) and that deleting essential items from the dict
can cause Python to blow up.

Thanks to Terry Reedy for coming up with initial wording and Yogesh
Chaudhari for coming up with a patch using that wording in parallel to
my own patch.
2013-05-24 08:05:07 -04:00
Ronald Oussoren 27a4ac535f Issue #17269: Workaround for a platform bug in getaddrinfo on OSX
Without this patch socket.getaddrinfo crashed when called
with some unusual argument combinations.
2013-05-24 13:47:37 +02:00
Ned Deily 7f0882c920 Issue #17532: Always include Options menu for IDLE on OS X.
Patch by Guilherme Simões.
2013-05-22 15:19:40 -07:00
Serhiy Storchaka 66d53fa9ad Issue #16986: ElementTree now correctly parses a string input not only when
an internal XML encoding is UTF-8 or US-ASCII.
2013-05-22 17:07:51 +03:00
Serhiy Storchaka 9e62d35e65 Issue #17844: Add links to encoders and decoders for bytes-to-bytes codecs. 2013-05-22 15:33:09 +03:00
Roger Serwy caf3024fa6 #14146: Highlight source line while debugging on Windows. 2013-05-20 22:13:39 -05:00
Ezio Melotti 86aecc360f #14097: improve the "introduction" page of the tutorial. 2013-05-20 08:12:32 +03:00
Antoine Pitrou 916fc7bf28 Issue #11995: test_pydoc doesn't import all sys.path modules anymore. 2013-05-19 15:44:54 +02:00
Serhiy Storchaka 2c3f2f19df Issue #17812: Fixed quadratic complexity of base64.b32encode(). 2013-05-19 11:41:15 +03:00
Eli Bendersky 08231a9c6a Issue #17901: fix TreeBuilder construction for an explicit element_factory=None
Based on report and patch by Aaron Oakley.
2013-05-18 15:47:16 -07:00
Antoine Pitrou 636f93c63b Issue #17980: Fix possible abuse of ssl.match_hostname() for denial of service using certificates with many wildcards (CVE-2013-2099). 2013-05-18 17:56:42 +02:00
Benjamin Peterson d2b58a9880 only recursively expand in the format spec (closes #17644) 2013-05-17 17:34:30 -05:00
Brett Cannon 3e0651b5fa Issue #18065: For frozen packages set __path__ to [].
Previously __path__ was set to [__name__], but that could lead to bad
results if someone managed to circumvent the frozen importer and
somehow ended up with a finder that thought __name__ was a legit
directory/location.
2013-05-31 23:18:39 -04:00
Brett Cannon 0dbb4c7f13 Issues #18088, 18089: Introduce
importlib.abc.Loader.init_module_attrs() and implement
importlib.abc.InspectLoader.load_module().

The importlib.abc.Loader.init_module_attrs() method sets the various
attributes on the module being loaded. It is done unconditionally to
support reloading. Typically people used
importlib.util.module_for_loader, but since that's a decorator there
was no way to override it's actions, so init_module_attrs() came into
existence to allow for overriding. This is also why module_for_loader
is now pending deprecation (having its other use replaced by
importlib.util.module_to_load).

All of this allowed for importlib.abc.InspectLoader.load_module() to
be implemented. At this point you can now implement a loader with
nothing more than get_code() (which only requires get_source();
package support requires is_package()). Thanks to init_module_attrs()
the implementation of load_module() is basically a context manager
containing 2 methods calls, a call to exec(), and a return statement.
2013-05-31 18:56:47 -04:00
Serhiy Storchaka c7a2825681 Issue #18094: test_uuid no more reports skipped tests as passed. 2013-05-31 22:34:00 +03:00
Terry Jan Reedy 1acd3a081c Remove duplicate entry due to mismerge and incomplete resolution. 2013-05-30 21:08:49 -04:00