Nick Coghlan
e69bfc3fb6
Issue #5765 : Merge from 3.3
2012-11-04 23:53:15 +10:00
Nick Coghlan
aab9c2b2ea
Issue #5765 : Apply a hard recursion limit in the compiler
...
Previously, excessive nesting in expressions would blow the
stack and segfault the interpreter. Now, a hard limit based
on the configured recursion limit and a hardcoded scaling
factor is applied.
2012-11-04 23:14:34 +10:00
Ezio Melotti
1e58ae44df
#16336 : merge with 3.3.
2012-11-03 23:05:18 +02:00
Ezio Melotti
a0b5c46fa2
#16336 : merge with 3.2.
2012-11-03 23:04:41 +02:00
Ezio Melotti
540da76115
#16336 : fix input checking in the surrogatepass error handler. Patch by Serhiy Storchaka.
2012-11-03 23:03:39 +02:00
Andrew Svetlov
76bcff27b2
Issue #7317 : Display full tracebacks when an error occurs asynchronously.
...
Patch by Alon Horev with update by Alexey Kachayev.
2012-11-03 15:56:05 +02:00
Andrew Svetlov
1511a5a3af
Merge issue #16218 : Support non ascii characters in python launcher.
...
Patch by Serhiy Storchaka.
2012-11-01 14:52:03 +02:00
Andrew Svetlov
90c0eb28c5
Issue #16218 : Support non ascii characters in python launcher.
...
Patch by Serhiy Storchaka.
2012-11-01 14:51:14 +02:00
Benjamin Peterson
d9c8702c0f
point errors related to nonlocals and globals to the statement declaring them ( closes #10189 )
2012-10-31 20:26:20 -04:00
Benjamin Peterson
da58c3d81a
merge 3.3
2012-10-31 19:01:48 -04:00
Benjamin Peterson
e132f527c9
check return value of _PyUnicode_AsString
2012-10-31 19:01:42 -04:00
Benjamin Peterson
42124a727d
initialize map/filter/zip in _PyBuiltin_Init rather than the catch-all function
2012-10-30 23:41:54 -04:00
Victor Stinner
76df43de30
Issue #16330 : Use surrogate-related macros
...
Patch written by Serhiy Storchaka.
2012-10-30 01:42:39 +01:00
Philip Jenvey
16bb5450d6
merge with 3.3
2012-10-26 17:05:55 -07:00
Philip Jenvey
5f9459fbed
merge with 3.2
2012-10-26 17:05:09 -07:00
Philip Jenvey
45c41494bf
bounds check for bad data (thanks amaury)
2012-10-26 17:01:53 -07:00
Nick Coghlan
557c76c136
Fix compilation on Windows
2012-10-20 11:43:58 +10:00
Nick Coghlan
d4f5ad6c6e
Merge fix from #6074 from 3.3
2012-10-19 23:36:15 +10:00
Nick Coghlan
eb8d627bbd
Issue #6074 : Apply an appropriate fix for importlib based imports
2012-10-19 23:32:00 +10:00
Nick Coghlan
34937ce249
Issue #6074 : Forward port Windows read-only source file fix from 2.7
2012-10-19 22:38:14 +10:00
Christian Heimes
743e0cd6b5
Issue #16166 : Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified
...
endianess detection and handling.
2012-10-17 23:52:17 +02:00
Trent Nelson
744faddae8
Merge issue #15833 : don't raise an exception if importlib can't write
...
byte-compiled files.
This fixes a regression introduced by 3.3.
Patch by Charles-François Natali.
2012-10-16 08:03:21 -04:00
Trent Nelson
d783c8ed00
Issue #15833 : don't raise an exception if importlib can't write byte-compiled
...
files.
This fixes a regression introduced by 3.3. Patch by Charles-François Natali.
2012-10-16 07:47:34 -04:00
Benjamin Peterson
fe1bcb64cd
move more variable declarations to the top of blocks
2012-10-12 11:40:01 -04:00
Benjamin Peterson
f208df3618
move declaration to top of block
2012-10-12 11:37:56 -04:00
Benjamin Peterson
31a58ff1c3
ceval cleanup
...
- Make many variables local to the opcode; Kill u, v, w, and x.
- Force every opcode to end with DISPATCH or jump to error handling.
- Simplify error handling.
- Check error statuses in more places.
Closes #16191 .
2012-10-12 11:34:51 -04:00
Brett Cannon
6072e0bf42
Remove uses of % with str.format.
2012-10-12 10:00:34 -04:00
Brett Cannon
9407d50208
Merge fix for issue #15111 .
2012-10-10 19:18:37 -04:00
Brett Cannon
a6ce4fd426
Closes issue #15111 : Calling __import__ with a module specified in
...
fromlist which causes its own ImportError (e.g. the module tries to
import a non-existent module) should have that exception propagate.
2012-10-10 19:03:46 -04:00
Benjamin Peterson
00f86f2202
add some missing DISPATCH()
2012-10-10 14:10:33 -04:00
Jesus Cea
f01d695ccd
Closes #16135 : Removal of OS/2 support
2012-10-05 03:36:11 +02:00
Jesus Cea
b48925a406
#16135 : Removal of OS/2 support (I)
2012-10-05 01:04:27 +02:00
Victor Stinner
3b635cd447
Close #15766 : Catch exceptions while raising the ImportError in imp.load_dynamic()
2012-10-02 00:55:07 +02:00
Victor Stinner
621ef3d84f
Issue #15609 : Optimize str%args for integer argument
...
- Use _PyLong_FormatWriter() instead of formatlong() when possible, to avoid
a temporary buffer
- Enable the fast path when width is smaller or equals to the length,
and when the precision is bigger or equals to the length
- Add unit tests!
- formatlong() uses PyUnicode_Resize() instead of _PyUnicode_FromASCII()
to resize the output string
2012-10-02 00:33:47 +02:00
Brett Cannon
8ed677db12
Add some comments.
2012-09-28 16:41:39 -04:00
Benjamin Peterson
feaa54f537
don't depend on __debug__ because it's baked in at freeze time (issue #16046 )
2012-09-25 11:22:59 -04:00
Antoine Pitrou
ca8aa4acf6
Issue #15144 : Fix possible integer overflow when handling pointers as integer values, by using Py_uintptr_t instead of size_t.
...
Patch by Serhiy Storchaka.
2012-09-20 20:56:47 +02:00
Christian Heimes
10ca1fee8f
Cleanup 'k' when the creation of PySTEntryObject fails. ad3824a90261 used to decref 'k' in too many error cases.
2012-09-12 17:58:20 +02:00
Christian Heimes
55ad6515c9
Cleanup 'k' when the creation of PySTEntryObject fails. ad3824a90261 used to decref 'k' in too many error cases.
2012-09-12 17:58:10 +02:00
Christian Heimes
9c5b521c71
Partly revert ad3824a90261 and add comment about reference ownership
2012-09-12 17:53:15 +02:00
Christian Heimes
1526582df6
Partly revert ad3824a90261 and add comment about reference ownership
2012-09-12 17:52:46 +02:00
Christian Heimes
e9a6d62d9f
Fix null pointer dereferencing in structmember.c PyMember_SetOne() for T_CHAR. _PyUnicode_AsStringAndSize() can return NULL without touching the len argument. Also remove unnecessary PyUnicode_Check(), _PyUnicode_AsStringAndSize() performance the test again. CID 486815
2012-09-11 17:31:08 +02:00
Christian Heimes
5557a9c73f
Fix null pointer dereferencing in structmember.c PyMember_SetOne() for T_CHAR. _PyUnicode_AsStringAndSize() can return NULL without touching the len argument. Also remove unnecessary PyUnicode_Check(), _PyUnicode_AsStringAndSize() performance the test again. CID 486815
2012-09-11 17:30:53 +02:00
Christian Heimes
6d29352cfd
Issue #15895 : my analysis was slightly off. The FILE pointer is only leaked when set_main_loader() fails for a pyc file with closeit=0. In the success case run_pyc_file() does its own cleanup of the fp. I've changed the code to use another FILE ptr for pyc files and moved the fclose() to PyRun_SimpleFileExFlags() to make it more obvious what's happening.
2012-09-11 15:47:28 +02:00
Christian Heimes
6a77af690f
Issue #15895 : Fix FILE pointer leak in PyRun_SimpleFileExFlags() when filename points to a pyc/pyo file and closeit is false.
2012-09-11 14:11:03 +02:00
Christian Heimes
10e85ded9b
Fixed memory leak in error branch of parsestrplus. CID 715374 Variable s going out of scope leaks the storage it points to.
2012-09-10 16:53:28 +02:00
Christian Heimes
3d463393bb
Fixed memory leak in error branch of parsestrplus. CID 715374 Variable s going out of scope leaks the storage it points to.
2012-09-10 16:52:42 +02:00
Christian Heimes
879329d66e
Added missing va_end in error branch of PyArg_UnpackTuple(). CID 486641
2012-09-10 13:17:23 +02:00
Christian Heimes
48d8d21438
Added missing va_end in error branch of PyArg_UnpackTuple(). CID 486641
2012-09-10 13:16:45 +02:00
Christian Heimes
310f81449a
Closed reference leak of variable 'k' in function ste_new which wasn't decrefed in error cases
2012-09-10 03:09:17 +02:00
Christian Heimes
837e53a7c2
Closed reference leak of variable 'k' in function ste_new which wasn't decrefed in error cases
2012-09-10 03:08:46 +02:00
Antoine Pitrou
8c195afcac
Issue #15340 : Fix importing the random module when /dev/urandom cannot be opened.
...
This was a regression caused by the hash randomization patch.
2012-09-07 23:51:22 +02:00
Antoine Pitrou
7ff1822ec7
Issue #15340 : Fix importing the random module when /dev/urandom cannot be opened.
...
This was a regression caused by the hash randomization patch.
2012-09-07 23:49:07 +02:00
Stefan Krah
d9c1bf7f1f
After the jump in line 1051 unicode_tmp is NULL. Found by Coverity.
2012-09-06 13:02:46 +02:00
Antoine Pitrou
5b4faae307
Issue #13992 : The trashcan mechanism is now thread-safe. This eliminates
...
sporadic crashes in multi-thread programs when several long deallocator
chains ran concurrently and involved subclasses of built-in container
types.
Note that the trashcan functions are part of the stable ABI, therefore
they have to be kept around for binary compatibility of extensions.
2012-09-06 01:17:42 +02:00
Antoine Pitrou
56cd62c04a
Issue #13992 : The trashcan mechanism is now thread-safe. This eliminates
...
sporadic crashes in multi-thread programs when several long deallocator
chains ran concurrently and involved subclasses of built-in container
types.
Because of this change, a couple extension modules compiled for 3.2.4
(those which use the trashcan mechanism, despite it being undocumented)
will not be loadable by 3.2.3 and earlier. However, extension modules
compiled for 3.2.3 and earlier will be loadable by 3.2.4.
2012-09-06 00:59:49 +02:00
Benjamin Peterson
d40528fe9a
merge 3.2
2012-09-02 16:37:09 -04:00
Benjamin Peterson
c7dedb0945
put * in the normal place
2012-09-02 16:36:01 -04:00
Benjamin Peterson
bd0df50fb6
get rid of ast_error_finish by passing the compiling struct to ast_error
2012-09-02 15:04:51 -04:00
Benjamin Peterson
e9f72dbf0d
merge 3.2
2012-09-02 14:38:15 -04:00
Benjamin Peterson
c5d7518a2e
move variable decl to the top of the function
2012-09-02 14:38:08 -04:00
Benjamin Peterson
c7f447c89f
merge 3.2 ( #15846 )
2012-09-02 14:24:44 -04:00
Benjamin Peterson
2e2c903700
prevert ast errors from being normalized before ast_error_finish is called ( closes #15846 )
2012-09-02 14:23:15 -04:00
Antoine Pitrou
4f0338cab7
Issue #15781 : Fix two small race conditions in import's module locking.
2012-08-28 00:24:52 +02:00
Brett Cannon
12c6bda4f0
Issue #15316 : Let exceptions raised during imports triggered by the
...
fromlist of __import__ propagate.
The problem previously was that if something listed in fromlist didn't
exist then that's okay. The fix for that was too broad in terms of
catching ImportError.
The trick with the solution to this issue is that the proper
refactoring of import thanks to importlib doesn't allow for a way to
distinguish (portably) between an ImportError because finders couldn't
find a loader, or a loader raised the exception. In Python 3.4 the
hope is to introduce a new exception (e.g. ModuleNotFound) to make it
clean to differentiate why ImportError was raised.
2012-08-24 18:25:59 -04:00
Brett Cannon
ba0a3edd26
Issue #2051 : Tweak last commit for this issue to pass in mode instead
...
of source path to set_data() and make the new argument private until
possible API changes can be discussed more thoroughly in Python 3.4.
2012-08-24 13:48:39 -04:00
Nick Coghlan
a508770e20
Close #2501 : Permission bits are once again correctly copied from the source file to the cached bytecode file. Test by Eric Snow.
2012-08-24 18:32:40 +10:00
Victor Stinner
ad54c6d82e
Issue #15766 : Fix a crash in imp.load_dynamic() on PyUnicode_FromString() failure
2012-08-22 17:45:52 +02:00
Antoine Pitrou
35503c9c14
Issue #15726 : Fix incorrect bounds checking in PyState_FindModule.
...
Patch by Robin Schreiber.
2012-08-20 19:31:52 +02:00
Antoine Pitrou
75506e8b7c
Issue #15726 : Fix incorrect bounds checking in PyState_FindModule.
...
Patch by Robin Schreiber.
2012-08-20 19:30:46 +02:00
Stefan Krah
66d1eb23d4
Merge 3.2.
2012-08-20 17:20:46 +02:00
Stefan Krah
07795df683
Issue #15741 : Fix potential NULL dereference. Found by Coverity.
2012-08-20 17:19:50 +02:00
Stefan Krah
28a2ad556a
Check return value of asdl_seq_new(). Found by Coverity.
2012-08-20 16:07:38 +02:00
Nick Coghlan
48fec05391
Close #14846 : Handle a sys.path entry going away
2012-08-20 13:18:15 +10:00
Brett Cannon
7385adc84c
Issue #15715 : Ignore failed imports triggered by the use of fromlist.
...
When the fromlist argument is specified for __import__() and the
attribute doesn't already exist, an import is attempted. If that fails
(e.g. module doesn't exist), the ImportError will now be silenced (for
backwards-compatibility). This *does not* affect
``from ... import ...`` statements.
Thanks to Eric Snow for the patch and Simon Feltman for reporting the
regression.
2012-08-17 13:21:16 -04:00
Antoine Pitrou
721738fbee
Issue #15604 : Update uses of PyObject_IsTrue() to check for and handle errors correctly.
...
Patch by Serhiy Storchaka.
2012-08-15 23:20:39 +02:00
Antoine Pitrou
6f430e4963
Issue #15604 : Update uses of PyObject_IsTrue() to check for and handle errors correctly.
...
Patch by Serhiy Storchaka.
2012-08-15 23:18:25 +02:00
Brett Cannon
b428f47cf6
Don't overwrite a __path__ value from extension modules if already
...
set.
2012-08-11 19:43:29 -04:00
Philip Jenvey
688a551ca0
fix docstring wording
2012-08-10 16:21:35 -07:00
Brett Cannon
f410ce8c09
Issue #15502 : Refactor some code.
2012-08-10 17:41:23 -04:00
Senthil Kumaran
e9175bd0af
Fix issue #15607 : Update the print builtin function docstring with the new flush keyword.
...
Patch contributed by Daniel Ellis.
2012-08-10 13:53:45 -07:00
Philip Jenvey
731d48a65f
update docstring per the extension package fix, refactor
2012-08-10 11:53:54 -07:00
Brett Cannon
ac9f2f3de3
Issue #15576 : Allow extension modules to be a package's __init__
...
module again. Also took the opportunity to stop accidentally exporting
_imp.extension_suffixes() as public.
2012-08-10 13:47:54 -04:00
Brett Cannon
f4dc9204cc
Issue #15502 : Finish bringing importlib.abc in line with the current
...
state of the import system. Also make importlib.invalidate_caches()
work with sys.meta_path instead of sys.path_importer_cache to
completely separate the path-based import system from the overall
import system.
Patch by Eric Snow.
2012-08-10 12:21:12 -04:00
Victor Stinner
2d6266d5f1
Remove now unused IntOrLongToString type
2012-08-09 21:38:23 +02:00
Benjamin Peterson
0ed05059de
merge heads
2012-08-06 17:53:19 -07:00
Benjamin Peterson
b37df519c7
fix yield from return value on custom iterators ( closes #15568 )
2012-08-06 17:53:09 -07:00
Brett Cannon
cb4996afe4
Issue #15471 : Don't use mutable object as default values for the
...
parameters of importlib.__import__().
2012-08-06 16:34:44 -04:00
Brett Cannon
ecfefb7956
Fix a spelling mistake in a comment.
2012-08-05 19:24:57 -04:00
Antoine Pitrou
c4d974d3fa
Remove unused variable `trim_get_code`.
2012-08-04 23:26:25 +02:00
Victor Stinner
90ef747e04
Close #13119 : use "\r\n" newline for sys.stdout/err on Windows
...
sys.stdout and sys.stderr are now using "\r\n" newline on Windows, as Python 2.
2012-08-04 01:37:32 +02:00
Victor Stinner
7b3f0fa68e
Close #13119 : use "\r\n" newline for sys.stdout/err on Windows
...
sys.stdout and sys.stderr are now using "\r\n" newline on Windows, as Python 2.
2012-08-04 01:28:00 +02:00
Nick Coghlan
4941774f59
Issue #15502 : Bring the importlib.PathFinder docs and docstring more in line with the new import system documentation, and fix various parts of the new docs that weren't quite right given PEP 420 or were otherwise a bit misleading. Also note the key terminology problem still being discussed in the issue
2012-08-02 23:03:58 +10:00
Nick Coghlan
ff79486bb5
Close #15519 : Properly expose WindowsRegistryFinder in importlib and bring the name into line with normal import terminology. Original patch by Eric Snow
2012-08-02 21:45:24 +10:00
Nick Coghlan
42c0766a53
Close #15486 : Simplify the mechanism used to remove importlib frames from tracebacks when they just introduce irrelevant noise
2012-07-31 21:14:18 +10:00
Victor Stinner
d5698cbbca
Fix initialization of the faulthandler module
...
faulthandler requires the importlib if "-X faulthandler" option is present on
the command line, so initialize faulthandler after importlib.
Add also an unit test.
2012-07-31 02:55:49 +02:00
Brett Cannon
722d3aec2e
Issue #15508 : Fix the docstring for __import__ to not mention negative
...
'level' values and set its document default value to 0.
Thanks to Arfrever Frehtes Taifersar Arahesis for filing the bug.
2012-07-30 17:45:54 -04:00
Victor Stinner
54f939b9ae
Issue #15463 : the faulthandler module truncates strings to 500 characters,
...
instead of 100, to be able to display long file paths
2012-07-30 13:08:58 +02:00
Nick Coghlan
5ee9892406
Close #15425 : Eliminate more importlib related traceback noise
2012-07-29 20:30:36 +10:00
Martin v. Löwis
e3010a8d12
Issue #14578 : Support modules registered in the Windows registry again.
...
Patch by Amaury Forgeot d'Arc.
2012-07-28 21:33:05 +02:00