Commit Graph

38855 Commits

Author SHA1 Message Date
Victor Stinner f2c1aa1661 Add ast.Constant
Issue #26146: Add a new kind of AST node: ast.Constant. It can be used by
external AST optimizers, but the compiler does not emit directly such node.

An optimizer can replace the following AST nodes with ast.Constant:

* ast.NameConstant: None, False, True
* ast.Num: int, float, complex
* ast.Str: str
* ast.Bytes: bytes
* ast.Tuple if items are constants too: tuple
* frozenset

Update code to accept ast.Constant instead of ast.Num and/or ast.Str:

* compiler
* docstrings
* ast.literal_eval()
* Tools/parser/unparse.py
2016-01-26 00:40:57 +01:00
Victor Stinner 1aa78938b0 Issue #26146: marshal.loads() now uses the empty frozenset singleton 2016-01-23 14:15:48 +01:00
Victor Stinner 5ebe2c89fe Cleanup test_dict
* Write one import per line
* Sort imports by name
* Add an empty line: 2 empty lines between code blocks at the module level (PEP 8)
2016-01-23 13:52:05 +01:00
Victor Stinner 843a1fb1e7 test_gc: remove unused imports 2016-01-23 13:29:02 +01:00
Brett Cannon 9fa812668f Issue #18018: Raise an ImportError if a relative import is attempted
with no known parent package.

Previously SystemError was raised if the parent package didn't exist
(e.g., __package__ was set to '').
Thanks to Florent Xicluna and Yongzhi Pan for reporting the issue.
2016-01-22 16:39:02 -08:00
Brett Cannon 4b18dd339a Issue #25234: Skip test_eintr.test_open() under OS X to avoid hanging 2016-01-22 15:55:56 -08:00
Brett Cannon b0db3718d4 whitespace cleanup 2016-01-22 15:26:56 -08:00
Brett Cannon 849113af6b Issue #25791: Warn when __package__ != __spec__.parent.
In a previous change, __spec__.parent was prioritized over
__package__. That is a backwards-compatibility break, but we do
eventually want __spec__ to be the ground truth for module details. So
this change reverts the change in semantics and instead raises an
ImportWarning when __package__ != __spec__.parent to give people time
to adjust to using spec objects.
2016-01-22 15:25:50 -08:00
Victor Stinner 5a701f0304 Issue #25876: Fix also test_set() of test_gdb when -E command line is used 2016-01-22 15:04:27 +01:00
Victor Stinner 22756f18bc Issue #25876: test_gdb: use subprocess._args_from_interpreter_flags() to test
Python with more options.
2016-01-22 14:16:47 +01:00
Victor Stinner efb2413ce8 code_richcompare() now uses the constants types
Issue #25843: When compiling code, don't merge constants if they are equal but
have a different types. For example, "f1, f2 = lambda: 1, lambda: 1.0" is now
correctly compiled to two different functions: f1() returns 1 (int) and f2()
returns 1.0 (int), even if 1 and 1.0 are equal.

Add a new _PyCode_ConstantKey() private function.
2016-01-22 12:33:12 +01:00
Victor Stinner e3560a7dc9 site: error on sitecustomize import error
Issue #26099: The site module now writes an error into stderr if sitecustomize
module can be imported but executing the module raise an ImportError. Same
change for usercustomize.
2016-01-22 12:22:07 +01:00
Donald Stufft a7baa106cd Merge update to pip 2016-01-21 21:56:28 -05:00
Donald Stufft 38150e0d85 Merge update to pip 2016-01-21 21:56:06 -05:00
Donald Stufft 5d0124623c Upgrade pip to 8.0.2 2016-01-21 21:55:32 -05:00
Victor Stinner f3914eb16d co_lnotab supports negative line number delta
Issue #26107: The format of the co_lnotab attribute of code objects changes to
support negative line number delta.

Changes:

* assemble_lnotab(): if line number delta is less than -128 or greater than
  127, emit multiple (offset_delta, lineno_delta) in co_lnotab
* update functions decoding co_lnotab to use signed 8-bit integers

  - dis.findlinestarts()
  - PyCode_Addr2Line()
  - _PyCode_CheckLineNumber()
  - frame_setlineno()

* update lnotab_notes.txt
* increase importlib MAGIC_NUMBER to 3361
* document the change in What's New in Python 3.6
* cleanup also PyCode_Optimize() to use better variable names
2016-01-20 12:16:21 +01:00
Serhiy Storchaka 5ccbf79eae Issue #26147: xmlrpc now works with strings not encodable with used
non-UTF-8 encoding.
2016-01-20 10:41:33 +02:00
Serhiy Storchaka aebb6d3682 Issue #26147: xmlrpc now works with strings not encodable with used
non-UTF-8 encoding.
2016-01-20 10:34:27 +02:00
Donald Stufft 33abe9a210 Merge update to pip/setuptools 2016-01-19 20:15:33 -05:00
Donald Stufft 1dce2c72ed Merge update to pip/setuptools 2016-01-19 20:14:39 -05:00
Donald Stufft 33a827678e Update pip to 8.0.0 and setuptools to 19.4 2016-01-19 20:13:51 -05:00
Serhiy Storchaka 4918b47c64 Issue #25935: Garbage collector now breaks reference loops with OrderedDict. 2016-01-19 14:48:42 +02:00
Serhiy Storchaka d205d0145c Issue #25935: Garbage collector now breaks reference loops with OrderedDict. 2016-01-19 14:46:25 +02:00
Serhiy Storchaka 31a858cbf1 Issue #16620: Got rid of using undocumented function glob.glob1(). 2016-01-19 14:09:33 +02:00
Serhiy Storchaka 47670ebb0c Issue #16620: Fixed AttributeError in msilib.Directory.glob(). 2016-01-19 14:06:13 +02:00
Serhiy Storchaka e914cd1308 Issue #16620: Fixed AttributeError in msilib.Directory.glob(). 2016-01-19 13:55:36 +02:00
Victor Stinner 70c6a13613 Merge 3.5 2016-01-19 08:50:56 +01:00
Victor Stinner 47b91b0a81 Fix BytecodeTestCase.assertNotInBytecode()
Issue #11816: Fix bytecode_helper to handle correctly errors. Don't use
unassigned variables.
2016-01-19 08:48:48 +01:00
Benjamin Peterson 2c028492d4 merge 3.5 (#25731) 2016-01-18 21:18:35 -08:00
Benjamin Peterson 9ad11544bf set tp_new from the class in the hierarchy that actually owns the descriptor (closes #25731)
Debugging by Eryk Sun.
2016-01-18 21:11:18 -08:00
Martin Panter f12dc26c66 Issue #25859: Merge NNTP test server from 3.5 2016-01-19 01:35:44 +00:00
Martin Panter 8f19e8e1c5 Issue #25859: Reimplement NNTP test_starttls() using local server
The previous test relied on a remote server, which currently seems to be
shutting the connection down once TLS has been set up, causing an EOFError.
Now the test is implemented using a minimal NNTP server running in a
background thread.
2016-01-19 01:10:58 +00:00
Berker Peksag 99132051bf Issue #25366: Skip test_with_pip when threading module is not available
Some dependencies of pip import threading module unconditionally so
we need to skip the test to make buildbots happy.
2016-01-19 02:02:13 +02:00
Berker Peksag 1b25eff76e Issue #25366: Skip test_with_pip when threading module is not available
Some dependencies of pip import threading module unconditionally so
we need to skip the test to make buildbots happy.
2016-01-19 02:01:53 +02:00
Serhiy Storchaka 9d4f3d81c7 Added exceptins for testing non-reversible import mapping for Issue #26013. 2016-01-18 22:34:19 +02:00
Serhiy Storchaka 5c1d9d2ff7 Added exceptins for testing non-reversible import mapping for Issue #26013. 2016-01-18 22:33:44 +02:00
Serhiy Storchaka 905a97d4c2 Issue #26013: Added compatibility with broken protocol 2 pickles created
in old Python 3 versions (3.4.3 and lower).
2016-01-18 21:36:03 +02:00
Serhiy Storchaka 111c7b9011 Issue #26013: Added compatibility with broken protocol 2 pickles created
in old Python 3 versions (3.4.3 and lower).
2016-01-18 21:35:22 +02:00
Serhiy Storchaka 75ed708285 Issue #9006: Added tests for XML RPC with non-UTF-8 encoding. 2016-01-18 19:40:23 +02:00
Serhiy Storchaka 084f7e4012 Issue #9006: Added tests for XML RPC with non-UTF-8 encoding. 2016-01-18 19:39:26 +02:00
Serhiy Storchaka 9cc4ed5c7a Issue #26129: Deprecated accepting non-integers in grp.getgrgid(). 2016-01-18 18:49:57 +02:00
Victor Stinner 9def284387 subprocess._optim_args_from_interpreter_flags()
Issue #26100:

* Add subprocess._optim_args_from_interpreter_flags()
* Add test.support.optim_args_from_interpreter_flags()
* Use new functions in distutils, test_cmd_line_script, test_compileall and
  test_inspect

The change enables test_details() test of test_inspect when -O or -OO command
line option is used.
2016-01-18 12:15:08 +01:00
Victor Stinner c437d0cb4e Fix test_compilepath() of test_compileall
Issue #26101: Exclude Lib/test/ from sys.path in test_compilepath(). The
directory contains invalid Python files like Lib/test/badsyntax_pep3120.py,
whereas the test ensures that all files can be compiled.
2016-01-18 11:25:50 +01:00
Terry Jan Reedy ab061cf2ae Merge with 3.5 2016-01-16 23:44:16 -05:00
Terry Jan Reedy 356765194c Issue #25905: Specify 'ascii' encoding for README.txt and NEWS.txt.
Re-encode CREDITS.txt to utf-8 and open it with 'utf-8'.
2016-01-16 23:44:04 -05:00
Steve Dower 709c2aeba6 Issue #26071: bdist_wininst created binaries fail to start and find 32bit Python 2016-01-16 13:55:05 -08:00
Steve Dower 332334f1ab Issue #26071: bdist_wininst created binaries fail to start and find 32bit Python 2016-01-16 13:54:53 -08:00
Steve Dower d8ce735e82 Issue #25850: Use cross-compilation by default for 64-bit Windows. 2016-01-16 12:40:19 -08:00
Steve Dower 1d329413fc Issue #25850: Use cross-compilation by default for 64-bit Windows. 2016-01-16 12:39:10 -08:00
Martin Panter 5318d1048f Issue #23883: grp and pwd are None on Windows 2016-01-16 11:01:14 +00:00