Commit Graph

3708 Commits

Author SHA1 Message Date
Victor Stinner a1fe1f8dcf Merge 3.2: Issue #7732: Don't open a directory as a file anymore while
importing a module. Ignore the direcotry if its name matchs the module name
(e.g.  "__init__.py") and raise a ImportError instead.
2011-09-23 18:59:08 +02:00
Victor Stinner 53ffdc53bf Issue #7732: Don't open a directory as a file anymore while importing a
module. Ignore the direcotry if its name matchs the module name (e.g.
"__init__.py") and raise a ImportError instead.
2011-09-23 18:54:40 +02:00
Stefan Krah 472d280d8b Issue #13002: Fix Visual Studio warning (not enough actual parameters). 2011-09-21 19:08:39 +02:00
Barry Warsaw a80b14cc5f - Issue #13021: Missing decref on an error path. Thanks to Suman Saha for
finding the bug and providing a patch.
2011-09-20 14:58:01 -04:00
Barry Warsaw 916048d780 - Issue #13021: Missing decref on an error path. Thanks to Suman Saha for
finding the bug and providing a patch.
2011-09-20 14:45:44 -04:00
Victor Stinner 9561d7c526 import.c: remove now useless arbitrary limit 2011-09-15 19:50:01 +02:00
Victor Stinner 84b8e40fd7 Merge 3.2: Fix the import machinery if there is an error on sys.path or sys.meta_path
find_module() now raises a RuntimeError, instead of ImportError, on an error on
sys.path or sys.meta_path because load_package() and import_submodule() returns
None and clear the exception if a ImportError occurred.
2011-09-15 19:38:54 +02:00
Victor Stinner 1619132e5d Fix the import machinery if there is an error on sys.path or sys.meta_path
find_module() now raises a RuntimeError, instead of ImportError, on an error on
sys.path or sys.meta_path because load_package() and import_submodule() returns
None and clear the exception if a ImportError occurred.
2011-09-15 19:28:05 +02:00
Éric Araujo 6f08f53e79 Merge 3.2 2011-09-02 17:32:30 +02:00
Victor Stinner 22d80bcf1b Merge 3.2: Remove unused variable if Python is build without threads 2011-09-02 00:13:16 +02:00
Victor Stinner 0af0306396 Remove unused variable if Python is build without threads 2011-09-02 00:11:43 +02:00
Benjamin Peterson 0224d4e699 accept bytes for the AST 'string' type
This is a temporary kludge and all is well in 3.3.
2011-08-31 22:13:03 -04:00
Benjamin Peterson ea281a54f3 include header with PyAST_Validate 2011-08-12 23:10:50 -05:00
Benjamin Peterson 832bfe2ebd add a AST validator (closes #12575) 2011-08-09 16:15:04 -05:00
Benjamin Peterson e249841903 add a asdl bytes type, so Bytes.s be properly typechecked 2011-08-09 16:08:39 -05:00
Benjamin Peterson 405f32c14c plug refleak 2011-07-29 22:43:45 -05:00
Benjamin Peterson 4f921c2e06 bytes -> bytearray 2011-07-29 14:24:29 -05:00
Benjamin Peterson ce071ca4e7 bytes should be verboten in sum() (fixes #12654) 2011-07-29 14:23:47 -05:00
Éric Araujo 0bbacc621c Branch merge 2011-07-29 14:30:03 +02:00
Eli Bendersky 906b88fb2a Issue #12380: PyArg_ParseTuple now accepts a bytearray for the 'c' format.
As a side effect, this now allows the rjust, ljust and center methods of
bytes and bytearray to accept a bytearray argument.

Patch by Petri Lehtinen
2011-07-29 07:05:08 +03:00
Éric Araujo 2527796a22 Merge from 3.2 (#10318, #12255, #12043, #12417 and other fixes) 2011-07-29 03:11:09 +02:00
Éric Araujo 6c0ba447bd Fix style in code added by edba722f3b02 2011-07-26 17:23:57 +02:00
Antoine Pitrou 5a24d82941 Add a test for issue #1813: getlocale() failing under a Turkish locale
(not a problem under 3.x)
2011-07-24 02:41:54 +02:00
Antoine Pitrou cf9d3c08c8 Issue #1813: Fix codec lookup under Turkish locales. 2011-07-24 02:27:04 +02:00
Charles-François Natali f23339a7bb Issue 12620: Make pendingbusy flag static to Py_MakePendingCalls(). 2011-07-23 18:15:43 +02:00
Benjamin Peterson 8a4b42b7f4 merge 3.2 2011-07-22 11:10:43 -05:00
Benjamin Peterson 180e63507d None is ok for identifiers but not strings 2011-07-22 11:09:07 -05:00
Benjamin Peterson 86f088e8e5 merge 3.2 2011-07-22 10:55:02 -05:00
Benjamin Peterson 2193d2b72b type check AST strings and identifiers
This is related to a21829180423 as well as #12609 and #12610.
2011-07-22 10:50:23 -05:00
Benjamin Peterson efad2449fc hardcode the old svn __version__ 2011-07-22 10:39:12 -05:00
Benjamin Peterson bd9c655c97 merge heads 2011-07-17 22:50:12 -05:00
Benjamin Peterson 76f7f4d979 excise the remains of STOP_CODE, which hasn't done anything useful for years 2011-07-17 22:49:50 -05:00
Brett Cannon 52a7d98273 Make warnings accept a callable for showwarnings instead of
restricting itself to just functions and methods (which allows
built-in functions to be used, etc.).

Closes issue #10271. Thanks to lekma for the bug report.
2011-07-17 19:17:55 -07:00
Benjamin Peterson 0bd152cd67 remove ast.__version__ (closes #12273) 2011-07-15 21:10:13 -05:00
Benjamin Peterson e92cd0ce98 merge 3.2 (#11627) 2011-07-15 14:10:35 -05:00
Benjamin Peterson 5afa03a72e catch nasty exception classes with __new__ that doesn't return a exception (closes #11627)
Patch from Andreas Stührk.
2011-07-15 14:09:26 -05:00
Victor Stinner ecf4fdad50 Py_BuildValue("C") supports non-BMP characters on narrow build
Py_BuildValue("C") doesn't have to check the code point,
PyUnicode_FromOrdinal() checks its input and now supports non-BMP characters
(range U+10000-U+10FFFF).
2011-07-15 01:13:24 +02:00
Antoine Pitrou 370092071b Issue #11863: Remove support for legacy systems deprecated in Python 3.2
(following PEP 11).  These systems are systems using Mach C Threads,
SunOS lightweight processes, GNU pth threads and IRIX threads.
2011-07-08 23:47:50 +02:00
Antoine Pitrou 022ae22cc6 Issue #11863: remove unused file Python/thread_wince.h 2011-07-08 23:37:39 +02:00
Benjamin Peterson 9797e29f86 merge 3.2 2011-07-04 22:28:00 -05:00
Benjamin Peterson bb4a747b69 start out this branch always with filename NULL 2011-07-04 22:27:16 -05:00
Victor Stinner 87e78ce1c6 Issue #12469: partial revert of 024827a9db64, freebsd6 thread initialization
* Don't create a thread at startup anymore to initialize the pthread library:
   it changes the behaviour of many functions related to signal handling like
   sigwait()
 * Reenable test_sigtimedwait_poll() on FreeBSD 6
2011-07-04 22:53:49 +02:00
Victor Stinner 99b9538636 Issue #9642: Uniformize the tests on the availability of the mbcs codec
Add a new HAVE_MBCS define.
2011-07-04 14:23:54 +02:00
Victor Stinner d64e8a75e5 Issue #9642: Fix filesystem encoding initialization: use the ANSI code page on
Windows if the mbcs codec is not available, and fail with a fatal error if we
cannot get the locale encoding (if nl_langinfo(CODESET) is not available)
instead of using UTF-8.
2011-07-04 13:48:30 +02:00
Benjamin Peterson 401d197657 merge 3.2 2011-07-03 22:19:29 -05:00
Benjamin Peterson a55007a620 plug refleak 2011-07-03 22:18:34 -05:00
Victor Stinner 5a21e83119 (merge 3.2) Issue #12467: warnings: fix a race condition if a warning is
emitted at shutdown, if globals()['__file__'] is None.
2011-07-04 02:56:10 +02:00
Victor Stinner 8b0508ed4e Issue #12467: warnings: fix a race condition if a warning is emitted at
shutdown, if globals()['__file__'] is None.
2011-07-04 02:43:09 +02:00
Benjamin Peterson 9bfd0dee9b no one passes NULL here (or should anyway) 2011-07-03 17:06:32 -05:00
Benjamin Peterson 878802435d convert generator exc state functions into static functions 2011-07-03 16:48:31 -05:00
Benjamin Peterson 536feac7f8 merge 3.2 2011-07-03 16:27:41 -05:00
Benjamin Peterson ac91341333 never retain a generator's caller's exception state on the generator after a yield/return
This requires some trickery to properly save the exception state if the
generator creates its own exception state.
2011-07-03 16:25:11 -05:00
Benjamin Peterson 7b7099c36f merge 3.2 (#12475) 2011-07-03 13:48:36 -05:00
Benjamin Peterson d2ed630243 merge heads 2011-07-03 13:44:56 -05:00
Benjamin Peterson 83195c3f0c restore a generator's caller's exception state both on yield and (last) return
This prevents generator exception state from leaking into the caller.

Closes #12475.
2011-07-03 13:44:00 -05:00
Vinay Sajip aac0f75b3b Correct uninitialized data problem in marshal code. 2011-07-02 18:42:21 +01:00
Vinay Sajip 3232284391 Removed breaking typo accidentally introduced during merge with 3.2. 2011-07-02 17:19:51 +01:00
Vinay Sajip 65897a386e Closes #12291 for 3.3 - merged fix from 3.2. 2011-07-02 17:16:02 +01:00
Vinay Sajip 5bdae3bb7c Closes #12291: Fixed bug which was found when doing multiple loads from one stream. 2011-07-02 16:42:47 +01:00
Benjamin Peterson 9d872e19aa fix possibily uninitialized memory usage (closes #12474) 2011-07-02 09:22:13 -05:00
Benjamin Peterson 609da58ae5 store the current scope on the stack right away 2011-06-29 22:52:39 -05:00
Benjamin Peterson c2575d55cd remove VISIT_*_IN_BLOCK macros
These are pointless because on error, all blocks will be finalized by
symtable_dealloc.
2011-06-29 15:27:14 -05:00
Benjamin Peterson 9003760991 map cells to arg slots at code creation time (closes #12399)
This removes nested loops in PyEval_EvalCodeEx.
2011-06-25 22:54:45 -05:00
Victor Stinner e71db4450c Issue #12392: fix thread initialization on FreeBSD 6
On FreeBSD6, pthread_kill() doesn't work on the main thread before the creation
of the first thread. Create therefore a dummy thread (no-op) a startup to
initialize the pthread library.

Add also a test for this use case, test written by Charles-François Natali.
2011-06-24 20:52:27 +02:00
Benjamin Peterson e109c70860 give the names of missing positional or keyword-only arguments (closes #12356) 2011-06-24 09:37:26 -05:00
Benjamin Peterson 28db0fd357 merge 3.2 2011-06-20 22:09:20 -05:00
Benjamin Peterson b7149cad04 fix indentation 2011-06-20 22:09:13 -05:00
Benjamin Peterson 267ca6cb23 merge 3.2 2011-06-20 21:40:46 -05:00
Benjamin Peterson f63d615f8b fix indentation 2011-06-20 21:40:19 -05:00
Victor Stinner d417d01ec8 call_find_module() handles dup() failure: raise an OSError exception 2011-06-20 15:16:55 +02:00
Victor Stinner 925ef39949 find_module_path_list() fails if _Py_fopen() failed and raised an exception
(UnicodeEncodeError).
2011-06-20 15:01:10 +02:00
Benjamin Peterson e7c15fa184 bump magic for super closure change 2011-06-19 19:54:45 -05:00
Benjamin Peterson f5ff22329b use a invalid name for the __class__ closure for super() (closes #12370)
This prevents the assignment of __class__ in the class body from breaking
super. (Although a determined person could do locals()["@__class__"] = 4)
2011-06-19 19:42:22 -05:00
Brian Curtin 589f89e2ad Removed a Windows 9x trick used before LoadLibraryExW.
Windows 9x has long been unsupported and the result of GetFullPathName
was not even being used in the first place.
2011-06-09 17:55:54 -05:00
Benjamin Peterson b204a42383 greatly improve argument parsing error messages (closes #12265) 2011-06-05 22:04:07 -05:00
Benjamin Peterson 48deae12d5 some horrible preprocessing tricks to automatically update the tag 2011-06-03 17:50:16 -05:00
Vinay Sajip 623e8b86af Removed some unused local variables. 2011-07-02 17:21:37 +01:00
Benjamin Peterson 04a90b4611 bump ast version 2011-05-29 11:45:29 -05:00
Benjamin Peterson 43af12b0b4 unify TryExcept and TryFinally (closes #12199) 2011-05-29 11:43:10 -05:00
Ned Deily 61be422bd7 Issue #9670: Increase the default stack size for secondary threads on
Mac OS X and FreeBSD to reduce the chances of a crash instead of a
"maximum recursion depth" RuntimeError exception.
(patch by Ronald Oussoren)
2011-05-28 00:45:52 -07:00
Ned Deily 056f5b9dad Issue #9670: Increase the default stack size for secondary threads on
Mac OS X and FreeBSD to reduce the chances of a crash instead of a
"maximum recursion depth" RuntimeError exception.
(patch by Ronald Oussoren)
2011-05-28 00:36:12 -07:00
Ned Deily 9a7c524dc6 Issue #9670: Increase the default stack size for secondary threads on
Mac OS X and FreeBSD to reduce the chances of a crash instead of a
"maximum recursion depth" RuntimeError exception.
(patch by Ronald Oussoren)
2011-05-28 00:19:56 -07:00
Benjamin Peterson d8255e0e9e merge 3.2 2011-05-27 14:17:35 -05:00
Benjamin Peterson a290bac5b1 merge 3.1 2011-05-27 14:17:19 -05:00
Benjamin Peterson 0a5dad9ef1 fix spacing 2011-05-27 14:17:04 -05:00
Benjamin Peterson 4a0f20f5a3 merge 3.2 2011-05-27 14:12:53 -05:00
Benjamin Peterson 5218853c67 merge 3.1 2011-05-27 14:10:36 -05:00
Benjamin Peterson 74897ba46f fix indentation 2011-05-27 14:10:24 -05:00
Benjamin Peterson 7f670e5dad bump ast version 2011-05-27 14:01:01 -05:00
Benjamin Peterson bf1bbc1452 reflect with statements with multiple items in the AST (closes #12106) 2011-05-27 13:58:08 -05:00
Victor Stinner 4f2dab5c33 Revert my commit 7ba176c2f558: "Avoid useless "++" at the end of functions
Warnings found by the Clang Static Analyzer."

Most people prefer ++ at the end of functions.
2011-05-27 16:46:51 +02:00
Benjamin Peterson 43b068648e try to use the same str object for all code filenames when compiling or unmarshalling (#12190)
This should reduce memory usage.
2011-05-27 09:08:01 -05:00
Benjamin Peterson d408503b2c remove unused string WILFE attribute 2011-05-27 07:53:28 -05:00
Victor Stinner 13b21bd749 print_exception(): handle correctly PyObject_GetAttrString() failure
Bug found by the Clang Static Analyzer.
2011-05-26 14:25:13 +02:00
Victor Stinner 97e561ef24 Avoid useless "++" at the end of functions
Warnings found by the Clang Static Analyzer.
2011-05-26 13:53:47 +02:00
Victor Stinner 25095b2be6 Remove useless assignments
Warnings found by the the Clang Static Analyzer.
2011-05-26 13:47:08 +02:00
Benjamin Peterson 04778a8150 make PyImport_ImportModuleLevel's first arg const like similiar functions (closes #12173) 2011-05-25 09:29:00 -05:00
Victor Stinner 118ed71afe (Merge 3.2) Issue #11614: import __hello__ prints "Hello World!". Patch written
by Andreas Stührk.
2011-05-16 16:35:35 +02:00
Victor Stinner 9cd6626f3d (Merge 3.1) Issue #11614: import __hello__ prints "Hello World!". Patch written
by Andreas Stührk.
2011-05-16 16:32:33 +02:00
Victor Stinner c77b931196 Issue #11614: import __hello__ prints "Hello World!". Patch written by Andreas
Stührk.
2011-05-16 16:29:35 +02:00
Georg Brandl 1a4de20d95 Merge #6498 fix from 3.2. 2011-05-15 08:49:38 +02:00
Georg Brandl 318e62153b Merge #6498 fix from 3.1. 2011-05-15 08:49:29 +02:00
Georg Brandl 0b2489e986 Closes #6498: fix several misspellings of "SystemExit" as "SystemError". 2011-05-15 08:49:12 +02:00
Victor Stinner 65b7eff7c7 _PyImport_LoadDynamicModule() encodes the module name explicitly to ASCII
The name must be encodable to ASCII because dynamic module must have a function
called "PyInit_NAME", they are written in C, and the C language doesn't accept
non-ASCII identifiers.
2011-05-07 12:46:05 +02:00
Victor Stinner 7bba62fd68 faulthandler: dump all threads by default
* Set the default value of all_threads arguments to True
 * Py_FatalError() dumps all threads, instead of only the current thread

Dump only the current thread is not reliable. In some cases, Python is unable
to retrieve the state of the current thread and so is unable to dump the
traceback. faulthandler keeps a reference to the interpreter and so is always
able to dump the traceback of all threads.
2011-05-07 12:43:00 +02:00
Antoine Pitrou fc20b0c65c Issue #1856: Avoid crashes and lockups when daemon threads run while the
interpreter is shutting down; instead, these threads are now killed when
they try to take the GIL.
2011-05-04 20:04:29 +02:00
Antoine Pitrou 0d5e52d346 Issue #1856: Avoid crashes and lockups when daemon threads run while the
interpreter is shutting down; instead, these threads are now killed when
they try to take the GIL.
2011-05-04 20:02:30 +02:00
Victor Stinner d5c355ccc7 Issue #11223: Replace threading._info() by sys.thread_info 2011-04-30 14:53:09 +02:00
Antoine Pitrou 9ea1c8d7d7 Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_*
APIs, to avoid a crash with the pthread implementation in RHEL 5.  Patch
by Charles-François Natali.
2011-04-27 19:30:16 +02:00
Antoine Pitrou 0c759febb6 Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_*
APIs, to avoid a crash with the pthread implementation in RHEL 5.  Patch
by Charles-François Natali.
2011-04-27 19:28:05 +02:00
Victor Stinner 3cbf14bfb1 Issue #10914: Initialize correctly the filesystem codec when creating a new
subinterpreter to fix a bootstrap issue with codecs implemented in Python, as
the ISO-8859-15 codec.

Add fscodec_initialized attribute to the PyInterpreterState structure.
2011-04-27 00:24:21 +02:00
Victor Stinner 793b531756 Issue #10914: Initialize correctly the filesystem codec when creating a new
subinterpreter to fix a bootstrap issue with codecs implemented in Python, as
the ISO-8859-15 codec.

Add fscodec_initialized attribute to the PyInterpreterState structure.
2011-04-27 00:24:21 +02:00
Victor Stinner 1188935af9 Issue #10914: Py_NewInterpreter() uses PyErr_PrintEx(0)
... instead of PyErr_Print() because we don't need to set sys attributes,
the sys module is destroyed just after printing the error.
2011-04-27 00:20:27 +02:00
Victor Stinner c40a350db0 Issue #10914: Py_NewInterpreter() uses PyErr_PrintEx(0)
... instead of PyErr_Print() because we don't need to set sys attributes,
the sys module is destroyed just after printing the error.
2011-04-27 00:20:27 +02:00
Jesus Cea 7124f5f7e8 MERGE: Up-port changeset 5cf8f6da8743 (closes #11890) 2011-04-20 20:32:52 +02:00
Jesus Cea 1d4ae84e53 Up-port changeset 5cf8f6da8743 (closes #11890) 2011-04-20 20:24:57 +02:00
Victor Stinner e07f522c7f Issue #11223: fix compiler warnings 2011-04-20 12:23:26 +02:00
Victor Stinner 783c82c701 Close #11619: write_compiled_module() doesn't encode the filename
Reimplement open_exclusive() using _wopen() to avoid encoding the filename to
the filesystem encoding: use the Unicode version of the Windows API.
2011-04-20 03:27:51 +02:00
Victor Stinner 754851f456 Issue #11223: Add threading._info() function providing informations about the
thread implementation.

Skip test_lock_acquire_interruption() and test_rlock_acquire_interruption() of
test_threadsignals if a thread lock is implemented using a POSIX mutex and a
POSIX condition variable. A POSIX condition variable cannot be interrupted by a
signal (e.g. on Linux, the futex system call is restarted).
2011-04-19 23:58:51 +02:00
Ezio Melotti e1adeeb7fd #5057: Merge with 3.2. 2011-04-15 16:52:35 +03:00
Ezio Melotti 71e84a6e27 #5057: Merge with 3.1. 2011-04-15 16:50:41 +03:00
Ezio Melotti 2df6a93916 Issue #5057: fix a bug in the peepholer that led to non-portable pyc files between narrow and wide builds while optimizing BINARY_SUBSCR on non-BMP chars (e.g. "\U00012345"[0]). 2011-04-15 16:38:34 +03:00
Benjamin Peterson 59c90c6cb2 merge 3.2 2011-04-12 18:35:21 -05:00
Benjamin Peterson 62f8bcb0a4 merge 3.1 2011-04-12 18:34:30 -05:00
Benjamin Peterson bd3e362089 make assigning to a bytes literal a syntax error (closes #11506) 2011-04-12 18:33:28 -05:00
Eli Bendersky dd97fbb2dc Issue #9904: fix and clarify some comments + fix indentation in symtable code 2011-04-10 07:37:26 +03:00
Ned Deily 4e6aba6f63 Issue9670: Merge backout from 3.2. 2011-04-09 14:58:04 -07:00
Ned Deily 2604e33f30 Issue9670: Merge backout to 3.2. 2011-04-09 14:53:47 -07:00
Ned Deily 45e47e58ed Issue9670: Back out changeset 378b40d71175; test fails on other platforms
and on OS X with pydebug.
2011-04-09 14:50:59 -07:00
Ned Deily 6e678b4395 Issue #9670: merge with current 2011-04-09 12:47:12 -07:00
Ned Deily 15012a67d2 Issue #9670: merge with 3.2 2011-04-09 12:37:55 -07:00
Ned Deily 517ac72b00 Issue #9670: Increase the default stack size for secondary threads on
Mac OS X and FreeBSD to reduce the chances of a crash instead of a
"maximum recursion depth" RuntimeError exception.
(Patch by Ronald Oussoren)
2011-04-09 12:32:12 -07:00
Alexander Belopolsky 0df80926c9 Removed 'or long integer' from bin, oct, and hex docstrings. 2011-04-07 00:16:22 -04:00
Alexander Belopolsky 12338ab10b Removed 'or long integer' from bin, oct, and hex docstrings. 2011-04-07 00:15:33 -04:00
Victor Stinner fe7c5b5bdf Issue #9319: Include the filename in "Non-UTF8 code ..." syntax error. 2011-04-05 01:48:03 +02:00
Victor Stinner 7f2fee3640 Issue #10785: Store the filename as Unicode in the Python parser. 2011-04-05 00:39:01 +02:00
Victor Stinner 2d3222740b Issue #11619: _PyImport_LoadDynamicModule() doesn't encode the path to bytes
on Windows.
2011-04-04 23:05:53 +02:00
Victor Stinner fcb88c4503 Issue #11393: _Py_DumpTraceback() writes the header even if there is no frame 2011-04-01 15:34:01 +02:00
Victor Stinner d727e23243 Issue #11393: The fault handler handles also SIGABRT 2011-04-01 12:13:55 +02:00
Victor Stinner dd810ddb65 Merge 3.2: sys.getfilesystemencoding() raises a RuntimeError if
initfsencoding() was not called yet: detect bootstrap (startup) issues earlier.
2011-03-31 13:40:14 +02:00
Victor Stinner 27181ac778 sys.getfilesystemencoding() raises a RuntimeError if initfsencoding() was not
called yet: detect bootstrap (startup) issues earlier.
2011-03-31 13:39:03 +02:00
Victor Stinner 024e37adcc Issue #11393: Add the new faulthandler module 2011-03-31 01:31:06 +02:00
Antoine Pitrou d85456279f Issue #11618: Fix the timeout logic in threading.Lock.acquire() under
Windows.
2011-03-31 01:03:10 +02:00
Antoine Pitrou 7899acfc23 Issue #11618: Fix the timeout logic in threading.Lock.acquire() under
Windows.
2011-03-31 01:00:32 +02:00
Éric Araujo be3bd57ba2 Remove traces of division_warning left over from Python 2 (#10998) 2011-03-26 01:55:15 +01:00
Brett Cannon 442c9b92d8 Make importlib compatible with __import__ by "fixing" code.co_filename
paths.

__import__ does a little trick when importing from bytecode by
back-patching the co_filename paths to point to the file location
where the code object was loaded from, *not* where the code object was
originally created. This allows co_filename to point to a valid path.
Problem is that co_filename is immutable from Python, so a private
function -- imp._fix_co_filename() -- had to be introduced in order to
get things working properly. Originally the plan was to add a file
argument to marshal.loads(), but that failed as the algorithm used by
__import__ is not fully recursive as one might expect, so to be fully
backwards-compatible the code used by __import__ needed to be exposed.

This closes issue #6811 by taking a different approach than outlined
in the issue.
2011-03-23 16:14:42 -07:00
Mark Dickinson 7c9e803284 Issue #11244: Remove outdated peepholer check that was preventing the peepholer from folding -0 and -0.0. Thanks Eugene Toder for the patch. 2011-03-23 17:59:37 +00:00
Victor Stinner e9ddbf65a8 Issue #11630, issue #3080: Fix refleak introduced by ef2b6305d395 2011-03-22 10:46:35 +01:00
Victor Stinner 9c61e24be4 Issue #3080: On DJGPP, case_bytes() returns -1 to signal an error if the file
cannot be found.
2011-03-22 01:22:27 +01:00
Victor Stinner 0a5f65ab0a Issue #7330, #10833: Replace %100s by %.100s and %200s by %.200s
I suppose that the author would like to truncate the type name, not get a
string of 100/200 characters.
2011-03-22 01:09:21 +01:00
Victor Stinner 6ced7c4333 Issue #10833: Use PyErr_Format() and PyUnicode_FromFormat() instead of
PyOS_snprintf() to avoid temporary buffer allocated on the stack and a
conversion from bytes to Unicode.
2011-03-21 18:15:42 +01:00
Victor Stinner 451385d8f8 Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file
doesn't have PY_SSIZE_T_CLEAN define and the size doesn't fit in an int
(length bigger than 2^31-1 bytes).
2011-03-21 03:22:50 +01:00
Victor Stinner 9c4efe571d Fix #11586: typo in initfsencoding()
Patch written by Ray Allen.
2011-03-20 23:23:22 +01:00
Victor Stinner 4ca2809b5c Fix #11586: typo in initfsencoding()
Patch written by Ray Allen.
2011-03-20 23:09:03 +01:00
Victor Stinner 6ae1e7f04e Issue #3080: imp.load_module() accepts None for the module path
imp.find_module() returns None as module path for builtin and frozen builtins.
2011-03-20 22:37:17 +01:00
Victor Stinner cc9564ecd8 Issue #3080: Fix call to case_ok() in find_init_module() 2011-03-20 04:58:29 +01:00
Victor Stinner 1304f2d8a3 Issue #3080: Fix case_ok() using case_bytes()
Invert name and namelen arguments.
2011-03-20 04:28:55 +01:00
Ezio Melotti 3b3499ba69 #11565: Merge with 3.1. 2011-03-16 11:35:38 +02:00
Ezio Melotti 13925008dc #11565: Fix several typos. Patch by Piotr Kasprzyk. 2011-03-16 11:05:33 +02:00
Raymond Hettinger 29dcaad6eb Issue 11510: Fix BUILD_SET optimizer bug. 2011-03-15 14:50:16 -07:00
Ezio Melotti 4969f709cc #11515: Merge with 3.1. 2011-03-15 05:59:46 +02:00
Ezio Melotti 42da663e6f #11515: fix several typos. Patch by Piotr Kasprzyk. 2011-03-15 05:18:48 +02:00
Victor Stinner fe93faf98c Issue #3080: Add PyImport_ImportModuleLevelObject() function
Use it for the builtin __import__ function.
2011-03-14 15:54:52 -04:00
Victor Stinner 98dbba5d20 Issue #3080: Use repr() to format the module name on error 2011-03-14 15:15:47 -04:00
Victor Stinner ccbf475dfd Fix imp.cache_from_source() if the directory name contains a dot
If the directory name contains a dot but not the filename, don't strip at the
dot.
2011-03-14 15:05:12 -04:00
Victor Stinner fe19d21815 Issue #3080: imp.new_module() uses Unicode 2011-03-14 14:53:28 -04:00
Victor Stinner 2fd76e478f Issue #3080: find_module() returns the path as Unicode 2011-03-14 15:19:39 -04:00
Victor Stinner c9a271cf2b Issue #3080: case_ok() expects Unicode strings 2011-03-14 14:34:13 -04:00
Victor Stinner 547a2a6d52 Issue #3080: find_init_module() expects Unicode 2011-03-20 03:07:28 +01:00
Victor Stinner d029621c70 Issue #3080: Refactor find_module_path(), use return instead of break
Prepare also the API change of case_ok()
2011-03-14 14:04:10 -04:00
Victor Stinner df75a023a0 Issue #3080: find_module() sets an empty path for builtin and frozen modules 2011-03-14 13:40:04 -04:00
Victor Stinner 533d78399f Issue #3080: Rename some path variables to path_list 2011-03-14 13:22:54 -04:00
Victor Stinner ad3c03b23e Issue #3080: find_module() expects module fullname and subname as Unicode
And PyImport_ReloadModule() uses Unicode for the module name.
2011-03-14 09:21:33 -04:00
Victor Stinner 58d37112ae Issue #3080: Drop OS/2 support for the import machinery
Sorry Andrew I MacIntyre!
2011-03-13 23:11:02 -04:00
Victor Stinner 9599de5110 Issue #3080: Reindent and simplify import_submodule() 2011-03-13 22:38:38 -04:00
Victor Stinner c24c8108b6 Issue #3080: Use %R to format module name in error messages
%R format instead of %U
2011-03-13 22:38:06 -04:00
Victor Stinner 974389d92c Issue #3080: Use Unicode for the "The Magnum Opus of dotted-name import"
Use Unicode for module name and paths in the following functions:

 * PyImport_ImportModuleLevel()
 * add_submodule()
 * ensure_from_list()
 * get_parent()
 * import_module_level()
 * import_submodule()
 * load_next()
 * mark_miss()
2011-03-15 09:33:57 +01:00
Victor Stinner 2e5f11aaa4 Issue #3080: PyImport_ImportModuleNoBlock() uses Unicode 2011-03-13 21:57:27 -04:00
Victor Stinner 41c5fecce0 Issue #3080: load_module() expects name and path as Unicode 2011-03-13 21:46:30 -04:00
Victor Stinner 2f42ae53aa Issue #3080: Use Unicode to import source and compiled modules
* Use Unicode for module name and path in the following functions:

   * get_file()
   * load_source_module(), parse_source_module()
   * make_compiled_pathname(), check_compiled_module(),
     read_compiled_module(), load_compiled_module(), write_compiled_module(),
     update_compiled_module()

 * On Windows, use CreateDirectoryW() instead of mkdir()
 * update_compiled_module() cannot fail anymore
2011-03-20 00:41:24 +01:00
Victor Stinner c9abda0c04 Issue #3080: get_sourcefile(), make_source_pathname(), load_package()
Use Unicode for module name and path in get_sourcefile(),
make_source_pathname() and load_package() functions.
2011-03-14 13:33:46 -04:00
Victor Stinner d68c2cf237 Issue #3080: Create find_module_path() subfunction 2011-03-12 16:02:28 -05:00
Victor Stinner 3758028299 Issue #3080: Create find_module_path_list() subfunction 2011-03-20 01:34:43 +01:00
Victor Stinner c696316466 Issue #3080: Remove useless name buffer from find_module()
Rename subname argument to name, and mark it as constant.
2011-03-12 09:26:54 -05:00
Victor Stinner 7d8b77c2aa Issue #3080: find_module() initialize buf and *p_fp
Document also the find_module() function
2011-03-12 08:45:02 -05:00
Victor Stinner fefd70c40d Issue #3080: _PyImport_LoadDynamicModule() uses Unicode for name and path
Document also that dynamic module names are ASCII only
2011-03-14 15:54:07 -04:00
Victor Stinner 4d6c1c476a Issue #3080: _PyWin_FindRegisteredModule() returns the path as Unicode
* Document the function
 * Use RegQueryValueW() instead of RegQueryValueA()
 * Use _Py_fopen() instead of fopen()
 * Allocate registry key on the heap, not on the stack, and handle memory
   allocation failure
 * Handle Python exception in find_module()
2011-03-08 23:49:04 +01:00
Victor Stinner 21fcd0c9af Issue #3080: Use PyUnicode_InternFromString() for builtins
_PyImport_FixupBuiltin() and _PyImport_FindBuiltin() use
PyUnicode_InternFromString() instead of PyUnicode_FromString().
2011-03-07 18:28:15 +01:00
Victor Stinner 9587286f98 Issue #3080: Import builtins using Unicode strings
- is_builtin(), init_builtin(), load_builtin() and other builtin related
   functions use Unicode strings, instead of byte strings
 - Rename _PyImport_FixupExtensionUnicode() to _PyImport_FixupExtensionObject()
 - Rename _PyImport_FindExtensionUnicode() to _PyImport_FindExtensionObject()
2011-03-07 18:20:56 +01:00
Victor Stinner 53dc735168 Issue #3080: Add PyImport_ImportFrozenModuleObject()
find_frozen(), get_frozen_object(), is_frozen_package() and other functions
related to frozen modules use Unicode strings instead of byte strings.
2011-03-20 01:50:21 +01:00
Victor Stinner 9464d61cba Issue #3080: PyImport_Cleanup() uses Unicode
Replace strcmp() by PyUnicode_CompareWithASCIIString()
2011-03-07 17:08:21 +01:00
Victor Stinner 942003ccf9 import.c: replace tab by spaces 2011-03-07 16:57:48 +01:00
Ezio Melotti b88ed1549e #11565: Merge with 3.2. 2011-03-16 11:38:59 +02:00
Raymond Hettinger 0661e91fed Issue 11510: Fix BUILD_SET optimizer bug. 2011-03-15 15:03:36 -07:00
Ezio Melotti 373089239b #11515: Merge with 3.2. 2011-03-15 06:03:08 +02:00
Jesus Cea 736e7fc0f6 Issue #11495: OSF support is eliminated. It was deprecated in Python 3.2 2011-03-14 17:36:54 +01:00
Benjamin Peterson c9723d09eb use only the hex version, since the revno is unreliable across repos 2011-03-13 16:36:08 -05:00
Benjamin Peterson 678da9fefb bump ast version 2011-03-12 18:35:23 -06:00
Benjamin Peterson 6cb2b923e0 convert ast versioning to mercurial 2011-03-12 18:28:16 -06:00
Antoine Pitrou 17b880a5d6 Issue #11244: The peephole optimizer is now able to constant-fold
arbitrarily complex expressions.  This also fixes a 3.2 regression where
operations involving negative numbers were not constant-folded.
2011-03-11 17:27:02 +01:00
Georg Brandl 776e586114 Remove sys.subversion and svn build identification leftovers. 2011-03-06 10:35:42 +01:00
Georg Brandl fe09a54280 Merge build identification to default branch. 2011-03-06 10:26:32 +01:00
Georg Brandl 13039c87f1 Merge build identification to 3.2 branch. 2011-03-06 10:13:00 +01:00
Georg Brandl 1ca2e7965c Commit the hg build identification patch from the pymigr repo. 2011-03-05 20:51:24 +01:00
Victor Stinner 27ee089c35 Issue #3080: Add PyImport_AddModuleObject() and PyImport_ExecCodeModuleObject() 2011-03-04 12:57:09 +00:00
Victor Stinner f3fd733f92 Remove useless argument of _PyUnicode_AsDefaultEncodedString() 2011-03-02 01:03:11 +00:00
Georg Brandl 3f0df3bc51 Merged revisions 88430 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k

........
  r88430 | georg.brandl | 2011-02-15 20:48:59 +0100 (Di, 15 Feb 2011) | 1 line

  #730467: Another small AIX fix.
........
2011-02-25 10:22:44 +00:00
Victor Stinner 02bfdb3f79 Merged revisions 88530 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r88530 | victor.stinner | 2011-02-23 13:07:37 +0100 (mer., 23 févr. 2011) | 4 lines

  Issue #11272: Fix input() and sys.stdin for Windows newline

  On Windows, input() strips '\r' (and not only '\n'), and sys.stdin uses
  universal newline (replace '\r\n' by '\n').
........
2011-02-23 12:10:23 +00:00
Victor Stinner c0f1a1afae Issue #11272: Fix input() and sys.stdin for Windows newline
On Windows, input() strips '\r' (and not only '\n'), and sys.stdin uses
universal newline (replace '\r\n' by '\n').
2011-02-23 12:07:37 +00:00
Victor Stinner 3eeee83391 dynload_dl.c: replace tabs by spaces 2011-02-23 11:29:28 +00:00
Victor Stinner 501c09a754 Issue #3080: Mark _PyImport_FindBuiltin() argument as constant
And as a consequence, mark also name argument of
_PyImport_FindExtensionUnicode() constant too. But I plan to change this
argument type to PyObject* later.
2011-02-23 00:02:00 +00:00
Victor Stinner 42040fb665 Issue #3080: Remove unused argument of _PyImport_GetDynLoadFunc()
The first argument, fqname, was not used.
2011-02-22 23:16:19 +00:00
Victor Stinner 9b99b448f7 Issue #3080: Mark PyWin_FindRegisteredModule() as private
This function was not declared in Python public API (in any .h file) and not
documented. Mark it as private to prepare a change of its API.
2011-02-22 23:12:28 +00:00
Brett Cannon b94767ff44 Issue #8914: fix various warnings from the Clang static analyzer v254. 2011-02-22 20:15:44 +00:00
Victor Stinner ed4c71112a Remove filename variable from ceval.c
Issue #11168: Remove filename debug variable from PyEval_EvalFrameEx().
It encoded the Unicode filename to UTF-8, but the encoding fails on
undecodable filename (on surrogate characters) which raises an unexpected
UnicodeEncodeError on recursion limit.
2011-02-21 21:05:50 +00:00
Georg Brandl 59e87bd251 #730467: Another small AIX fix. 2011-02-15 19:48:59 +00:00
Antoine Pitrou 6a002c02da Fix the GIL with subinterpreters. Hopefully this will allow mod_wsgi to work with 3.2.
(we need some tests for this)
2011-01-15 11:37:11 +00:00
David Malcolm 8ad4cd90e9 Merged revisions 87796 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87796 | david.malcolm | 2011-01-06 12:01:36 -0500 (Thu, 06 Jan 2011) | 6 lines

  Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
  timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
  support now looks for "__powerpc__" as well as "__ppc__": the latter seems to
  only be present on OS X; the former is the correct one for Linux with GCC.
........
2011-01-06 17:36:32 +00:00
David Malcolm f1397ad399 Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
support now looks for "__powerpc__" as well as "__ppc__": the latter seems to
only be present on OS X; the former is the correct one for Linux with GCC.
2011-01-06 17:01:36 +00:00
Raymond Hettinger 90e8f8cd9b Fix count of flag fields. Being one short caused the 'quiet' option not to print. 2011-01-05 20:08:25 +00:00
Victor Stinner 0fcab4a3ed Issue #9566: use Py_ssize_t instead of int 2011-01-04 12:59:15 +00:00
Victor Stinner 6ab8e8298e Issue #8992: convertsimple() doesn't need to fill msgbuf if an error occurred
Return msgbug on error is enough.
2011-01-04 11:16:49 +00:00
Victor Stinner a093d0d6a9 Issue #8992: Simplify addcleanup() API
Don't need to handle unknown destructor anymore.
2011-01-04 11:16:48 +00:00
Victor Stinner b3c9e073fc Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file
doesn't have PY_SSIZE_T_CLEAN define and the size doesn't fit in an int
(length bigger than 2^31-1).
2011-01-04 02:07:34 +00:00
Benjamin Peterson beef5dcf77 Merged revisions 87607 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87607 | benjamin.peterson | 2011-01-01 08:28:31 -0600 (Sat, 01 Jan 2011) | 1 line

  update copyright to 2011
........
2011-01-01 15:32:26 +00:00
Benjamin Peterson 834cb394c3 update copyright to 2011 2011-01-01 14:28:31 +00:00
Georg Brandl 8aa7e999b5 Add sys.flags.quiet attribute for the new -q option, as noted missing by Eric in #1772833. 2010-12-28 18:30:18 +00:00
Victor Stinner 92be939695 Issue #10780: PyErr_SetFromWindowsErrWithFilename() and
PyErr_SetExcFromWindowsErrWithFilename() decode the filename from the
filesystem encoding instead of UTF-8.
2010-12-28 00:28:21 +00:00
Victor Stinner cb428f0162 Issue #10779: PyErr_WarnExplicit() decodes the filename from the filesystem
encoding instead of UTF-8.
2010-12-27 20:10:36 +00:00
Antoine Pitrou 810023db3e Issue #8844: Regular and recursive lock acquisitions can now be interrupted
by signals on platforms using pthreads.  Patch by Reid Kleckner.
2010-12-15 22:59:16 +00:00
Victor Stinner 13d49ee7d6 Issue #10601: sys.displayhook uses 'backslashreplace' error handler on
UnicodeEncodeError.
2010-12-04 17:24:33 +00:00
Georg Brandl 8334fd9285 Add an "optimize" parameter to compile() to control the optimization level, and provide an interface to it in py_compile, compileall and PyZipFile. 2010-12-04 10:26:46 +00:00
Martin v. Löwis 4d0d471a80 Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
Victor Stinner ebc0052e3a import: use PyUnicode_FSConverter to support bytes path and PEP 383
(instead of PyArg_Parse*() with "es" format and Py_FileSystemDefaultEncoding)
2010-12-03 17:06:43 +00:00
Nick Coghlan b2ddf7979d Issue #9573: os.fork now works when triggered as a side effect of import (the wisdom of actually relying on this remains questionable!) 2010-12-02 04:11:46 +00:00
Georg Brandl e5b99f0fb3 Remove redundant includes of headers that are already included by Python.h. 2010-11-30 09:41:01 +00:00
Georg Brandl 71c23d4473 Include structseq.h in Python.h, and remove now-redundant includes in individual sources. 2010-11-30 09:30:54 +00:00
Antoine Pitrou e71362d3de Issue #10518: Bring back the callable() builtin.
Approved by Guido (BDFL) and Georg (RM).
2010-11-27 22:00:11 +00:00
Benjamin Peterson 0a4dae5309 fix refleak 2010-11-21 15:12:34 +00:00
Antoine Pitrou 5a96b5241f Issue #10255: Fix reference leak in Py_InitializeEx(). Patch by Neil
Schemenauer.
2010-11-20 19:50:57 +00:00
Benjamin Peterson 787cddc93d Merged revisions 86545 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86545 | benjamin.peterson | 2010-11-19 22:31:07 -0600 (Fri, 19 Nov 2010) | 1 line

  new plan: functions that want 'tmp' can declare it
........
2010-11-20 04:37:00 +00:00
Benjamin Peterson d8f6597318 new plan: functions that want 'tmp' can declare it 2010-11-20 04:31:07 +00:00
Benjamin Peterson e82c169622 Merged revisions 86540 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86540 | benjamin.peterson | 2010-11-19 20:01:45 -0600 (Fri, 19 Nov 2010) | 1 line

  c89 declarations
........
2010-11-20 02:04:14 +00:00
Benjamin Peterson 0e9e98edc7 c89 declarations 2010-11-20 02:01:45 +00:00
Benjamin Peterson aab9585130 Merged revisions 86538 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86538 | benjamin.peterson | 2010-11-19 19:38:49 -0600 (Fri, 19 Nov 2010) | 1 line

  use %R format code; fixes invalid dereferencing #10391
........
2010-11-20 01:48:38 +00:00
Benjamin Peterson 5b066817e2 use %R format code; fixes invalid dereferencing #10391 2010-11-20 01:38:49 +00:00
Benjamin Peterson f609654b0e handle dict subclasses gracefully in PyArg_ValidateKeywordArguments 2010-11-17 22:33:12 +00:00
Antoine Pitrou cf9f98034a Issue #10372: Import the warnings module only after the IO library is
initialized, so as to avoid bootstrap issues with the '-W' option.
2010-11-10 13:55:25 +00:00
Victor Stinner 3e2b7171bf Issue #10359: Remove ";" after function definition, invalid in ISO C 2010-11-09 09:32:19 +00:00
Victor Stinner 19de4c3a8c _Py_char2wchar() frees the memory on conversion error
Explain in the documentation that conversion errors should never happen.
2010-11-08 23:30:46 +00:00