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
Victor Stinner
2f02a51135
PyUnicode_EncodeFS() raises an exception if _Py_wchar2char() fails
...
* Add error_pos optional argument to _Py_wchar2char()
* PyUnicode_EncodeFS() raises a UnicodeEncodeError or MemoryError if
_Py_wchar2char() fails
2010-11-08 22:43:46 +00:00
Hirokazu Yamamoto
3d89751c7a
Merged revisions 85980 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85980 | hirokazu.yamamoto | 2010-10-31 00:08:15 +0900 | 1 line
Issue #10157 : Fixed refleaks in pythonrun.c. Patch by Stefan Krah.
........
2010-10-30 15:43:30 +00:00
Hirokazu Yamamoto
daf83acf00
Issue #10157 : Fixed refleaks in pythonrun.c. Patch by Stefan Krah.
2010-10-30 15:08:15 +00:00
Benjamin Peterson
c8850d0771
Merged revisions 85817,85904 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85817 | benjamin.peterson | 2010-10-23 22:41:46 -0500 (Sat, 23 Oct 2010) | 1 line
tighten loop
........
r85904 | benjamin.peterson | 2010-10-28 22:28:14 -0500 (Thu, 28 Oct 2010) | 1 line
decrement offset when it points to a newline (#10186 followup)
........
2010-10-29 04:02:30 +00:00
Benjamin Peterson
a95e977e41
decrement offset when it points to a newline ( #10186 followup)
2010-10-29 03:28:14 +00:00
Antoine Pitrou
98e2b45297
Merged revisions 85896 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85896 | antoine.pitrou | 2010-10-29 00:56:58 +0200 (ven., 29 oct. 2010) | 4 lines
Issue #5437 : A preallocated MemoryError instance should not hold traceback
data (including local variables caught in the stack trace) alive infinitely.
........
2010-10-28 23:06:57 +00:00
Antoine Pitrou
07e20ef50b
Issue #5437 : A preallocated MemoryError instance should not hold traceback
...
data (including local variables caught in the stack trace) alive infinitely.
2010-10-28 22:56:58 +00:00
Victor Stinner
07e4f1565b
sys_update_path(): update sys.path even if argc==0
2010-10-25 17:37:23 +00:00
Georg Brandl
08be72d0aa
Add a new warning gategory, ResourceWarning, as discussed on python-dev. It is silent by default,
...
except when configured --with-pydebug.
Emit this warning from the GC shutdown procedure, rather than just printing to stderr.
2010-10-24 15:11:22 +00:00
Benjamin Peterson
d4519c14ca
tighten loop
2010-10-24 03:41:46 +00:00
Benjamin Peterson
9831611865
Merged revisions 85814 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85814 | benjamin.peterson | 2010-10-23 21:52:05 -0500 (Sat, 23 Oct 2010) | 1 line
remove broken code accounting an offset the size of the line #10186
........
2010-10-24 02:57:31 +00:00
Benjamin Peterson
503d6c5ae9
remove broken code accounting an offset the size of the line #10186
2010-10-24 02:52:05 +00:00
Benjamin Peterson
8035bc5c04
follow up to #9778 : define and use an unsigned hash type
2010-10-23 16:20:50 +00:00
Victor Stinner
3aa6cea861
Issue #10077 : Fix logging of site module errors at startup.
2010-10-23 08:50:36 +00:00
Antoine Pitrou
9583cac633
Issue #10089 : Add support for arbitrary -X options on the command-line.
...
They can be retrieved through a new attribute `sys._xoptions`.
2010-10-21 13:42:28 +00:00
Benjamin Peterson
4d3d08f961
Merged revisions 85757 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85757 | benjamin.peterson | 2010-10-20 16:25:23 -0500 (Wed, 20 Oct 2010) | 1 line
fix uninitialized struct member #10152
........
2010-10-20 21:35:05 +00:00
Benjamin Peterson
b8ffb60ec6
fix uninitialized struct member #10152
2010-10-20 21:25:23 +00:00
Victor Stinner
15244f7b12
Recorded merge of revisions 85569-85570 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85569 | victor.stinner | 2010-10-16 15:14:10 +0200 (sam., 16 oct. 2010) | 4 lines
Issue #9713 , #10114 : Parser functions (eg. PyParser_ASTFromFile) expects
filenames encoded to the filesystem encoding with surrogateescape error handler
(to support undecodable bytes), instead of UTF-8 in strict mode.
........
r85570 | victor.stinner | 2010-10-16 15:42:53 +0200 (sam., 16 oct. 2010) | 4 lines
Fix ast_error_finish() and err_input(): filename can be NULL
Fix my previous commit (r85569).
........
2010-10-19 01:22:07 +00:00
Victor Stinner
e474309bb7
initfsencoding(): get_codeset() failure is now a fatal error
...
Don't fallback to utf-8 anymore to avoid mojibake. I never got any error from
his function.
2010-10-19 00:05:51 +00:00
Benjamin Peterson
8f67d0893f
make hashes always the size of pointers; introduce Py_hash_t #9778
2010-10-17 20:54:53 +00:00
Victor Stinner
c049982ea5
compiler_error(): use PyUnicode_DecodeFSDefault() to decode the filename,
...
instead of utf-8 in strict mode.
2010-10-17 19:16:33 +00:00
Victor Stinner
15a71cdad2
PyErr_SyntaxLocationEx() uses PyUnicode_DecodeFSDefault(), instead of
...
PyUnicode_FromString(), to decode the filename.
2010-10-17 19:03:16 +00:00
Victor Stinner
ed7916dd00
find_module(): use FS encoding to display the missing __init__ warning
2010-10-17 02:07:09 +00:00
Victor Stinner
49d3f2514b
_PyImport_FixupExtension() and _PyImport_FindExtension() uses FS encoding
...
* Rename _PyImport_FindExtension() to _PyImport_FindExtensionUnicode():
the filename becomes a Unicode object instead of byte string
* Rename _PyImport_FixupExtension() to _PyImport_FixupExtensionUnicode():
the filename becomes a Unicode object instead of byte string
2010-10-17 01:24:53 +00:00
Victor Stinner
168e117e0a
Add an optional size argument to _Py_char2wchar()
...
_Py_char2wchar() callers usually need the result size in characters. Since it's
trivial to compute it in _Py_char2wchar() (O(1) whereas wcslen() is O(n)), add
an option to get it.
2010-10-16 23:16:16 +00:00
Victor Stinner
0a1b8cba90
_Py_wrealpath() uses _Py_char2wchar() to decode the result, to support
...
surrogate characters.
2010-10-16 22:55:47 +00:00
Victor Stinner
350147b5ca
_Py_wreadlink(): catch _Py_char2wchar() failure
2010-10-16 22:52:09 +00:00
Victor Stinner
3f711f4a3e
_Py_wreadlink() uses _Py_char2wchar() to decode the result, to support
...
surrogate characters.
2010-10-16 22:47:37 +00:00
Victor Stinner
2f2ed1f36c
Fix ast_error_finish() and err_input(): filename can be NULL
...
Fix my previous commit (r85569).
2010-10-16 13:42:53 +00:00
Victor Stinner
4c7c8c3023
Issue #9713 , #10114 : Parser functions (eg. PyParser_ASTFromFile) expects
...
filenames encoded to the filesystem encoding with surrogateescape error handler
(to support undecodable bytes), instead of UTF-8 in strict mode.
2010-10-16 13:14:10 +00:00
Benjamin Peterson
e9633491ca
Merged revisions 85562 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85562 | benjamin.peterson | 2010-10-15 22:45:45 -0500 (Fri, 15 Oct 2010) | 1 line
don't identify the toplevel namespace by name #9997
........
2010-10-16 03:49:22 +00:00
Benjamin Peterson
230b20684f
don't identify the toplevel namespace by name #9997
2010-10-16 03:45:45 +00:00
Benjamin Peterson
294a9fcba6
fix refleak
2010-10-16 03:12:39 +00:00
Barry Warsaw
8cf4eae522
First (uncontroversial) part of issue 9807.
...
* Expose the build flags to Python as sys.abiflags
* Shared library libpythonX.Y<abiflags>.so
* python-config --abiflags
* Make two distutils tests that failed with --enable-shared (even before this
patch) succeed.
* Fix a few small style issues.
2010-10-16 01:04:07 +00:00
Victor Stinner
88bd891e6c
Fix imp_cache_from_source(): Decode make_compiled_pathname() result from the
...
filesystem encoding instead of utf-8.
imp_cache_from_source() encodes the input path to filesystem encoding and this
path is passed to make_compiled_pathname().
2010-10-15 22:46:07 +00:00
Victor Stinner
1a5630326f
imp_load_module() uses PyUnicode_FSConverter() to support surrogates in module
...
path
2010-10-15 22:43:10 +00:00
Victor Stinner
3ea23ddabf
imp.cache_from_source() uses PyUnicode_FSConverter() to support surrogates in
...
module path
2010-10-15 20:34:32 +00:00
Victor Stinner
8dbf629bbd
imp.load_dynamic() uses PyUnicode_FSConverter() to support surrogates
...
in the library path.
2010-10-15 12:48:01 +00:00
Victor Stinner
f3170ccef8
Use locale encoding if Py_FileSystemDefaultEncoding is not set
...
* PyUnicode_EncodeFSDefault(), PyUnicode_DecodeFSDefaultAndSize() and
PyUnicode_DecodeFSDefault() use the locale encoding instead of UTF-8 if
Py_FileSystemDefaultEncoding is NULL
* redecode_filenames() functions and _Py_code_object_list (issue #9630 )
are no more needed: remove them
2010-10-15 12:04:23 +00:00
Victor Stinner
6a4aff10f0
redecode_filename(): don't need to initialize variables
2010-10-15 11:16:59 +00:00
Victor Stinner
5d1e3438cd
Mark _Py_char2wchar() input argument as constant
2010-10-15 11:15:54 +00:00
Antoine Pitrou
3d400b7a58
Merged revisions 85497 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85497 | antoine.pitrou | 2010-10-14 23:15:17 +0200 (jeu., 14 oct. 2010) | 3 lines
Explicitly close some files (from issue #10093 )
........
2010-10-14 21:17:39 +00:00
Antoine Pitrou
b86680e299
Explicitly close some files (from issue #10093 )
2010-10-14 21:15:17 +00:00
Victor Stinner
f4061dac60
_Py_wgetcwd() decodes the path using _Py_char2wchar() to support surrogates
2010-10-14 12:37:19 +00:00
Victor Stinner
8f6b6b0cc3
Issue #9992 : Remove PYTHONFSENCODING environment variable.
2010-10-13 22:02:27 +00:00
Victor Stinner
a00064576a
ceval.c: catch recursion error on _PyUnicode_AsString(co->co_filename)
2010-10-13 10:48:55 +00:00
Antoine Pitrou
19f8edc39d
Issue #10062 : Allow building on platforms which do not have sem_timedwait.
2010-10-10 08:37:22 +00:00
Victor Stinner
6672d0c5bb
fileutils.c: document which encodings are used
2010-10-07 22:53:43 +00:00
Victor Stinner
015f4d87ab
_Py_wrealpath() requires the size of the output buffer
2010-10-07 22:29:53 +00:00
Victor Stinner
a4a759515e
_Py_stat() and _Py_fopen(): avoid PyUnicode_AsWideCharString() on Windows
...
On Windows, Py_UNICODE is wchar_t, so we can avoid the expensive Py_UNICODE*
=> wchar_t* conversion.
2010-10-07 22:23:10 +00:00
Victor Stinner
b306d7594f
Fix fileutils for Windows
...
* Don't define _Py_wstat() on Windows, Windows has its own _wstat() function
with a different API (the stat buffer has another type)
* Include windows.h
2010-10-07 22:09:40 +00:00
Victor Stinner
e7c8083bf1
Ooops, fileutils.c contains twice the same code
...
I suppose that I reapplied my local patch creating Python/fileutils.c whereas
the file already existed.
2010-10-07 21:55:44 +00:00
Victor Stinner
4e31443c4d
Create fileutils.c/.h
...
* _Py_fopen() and _Py_stat() come from Python/import.c
* (_Py)_wrealpath() comes from Python/sysmodule.c
* _Py_char2wchar(), _Py_wchar2char() and _Py_wfopen() come from Modules/main.c
* (_Py)_wstat(), (_Py)_wgetcwd(), _Py_wreadlink() come from Modules/getpath.c
2010-10-07 21:45:39 +00:00
Victor Stinner
7ae7c87b05
_wrealpath() and _Py_wreadlink() support surrogates (PEP 383)
...
Use _Py_wchar2char() to support surrogate characters in the input path.
2010-10-07 11:06:49 +00:00
Victor Stinner
beb4135b8c
PyUnicode_AsWideCharString() takes a PyObject*, not a PyUnicodeObject*
...
All unicode functions uses PyObject* except PyUnicode_AsWideChar(). Fix the
prototype for the new function PyUnicode_AsWideCharString().
2010-10-07 01:02:42 +00:00
Victor Stinner
c08ec9fdba
Create a subfunction for PySys_SetArgvEx()
...
Create sys_update_path() static function. Do nothing if argc==0.
2010-10-06 22:44:06 +00:00
Amaury Forgeot d'Arc
7955fb638a
Merged revisions 85236 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85236 | amaury.forgeotdarc | 2010-10-06 00:15:37 +0200 (mer., 06 oct. 2010) | 2 lines
#9060 Let platforms without dup2() compile the replacement fonction without error.
........
2010-10-05 22:18:29 +00:00
Amaury Forgeot d'Arc
90774dd47b
#9060 Let platforms without dup2() compile the replacement fonction without error.
2010-10-05 22:15:37 +00:00
Brian Curtin
748cacee46
Remove an unreferenced variable. len is no longer needed.
2010-09-29 19:09:33 +00:00
Victor Stinner
c39211f51e
Issue #9630 : Redecode filenames when setting the filesystem encoding
...
Redecode the filenames of:
- all modules: __file__ and __path__ attributes
- all code objects: co_filename attribute
- sys.path
- sys.meta_path
- sys.executable
- sys.path_importer_cache (keys)
Keep weak references to all code objects until initfsencoding() is called, to
be able to redecode co_filename attribute of all code objects.
2010-09-29 16:35:47 +00:00
Victor Stinner
255dfdb5ce
Issue #9979 : Use PyUnicode_AsWideCharString() in import.c
...
Don't truncate path if it is too long anymore, and allocate fewer memory (but
allocate it on the heap, not on the stack).
2010-09-29 10:28:51 +00:00
Brett Cannon
5305a998d5
Since __import__ is not designed for general use, have its docstring point
...
people towards importlib.import_module().
Closes issue #7397 .
2010-09-27 21:08:38 +00:00
Benjamin Peterson
aa7fbd9564
revert r85003, poorly considered; breaks tests
2010-09-25 03:25:42 +00:00
Benjamin Peterson
81437c9025
don't count keyword arguments as positional #9943
2010-09-25 03:14:33 +00:00
Benjamin Peterson
d4efd9eb15
add column offset to all syntax errors
2010-09-20 23:02:10 +00:00
Benjamin Peterson
2c53971b37
add PyErr_SyntaxLocationEx, to support adding a column offset
2010-09-20 22:42:10 +00:00
Antoine Pitrou
b0b384b7c0
Issue #9901 : Destroying the GIL in Py_Finalize() can fail if some other
...
threads are still running. Instead, reinitialize the GIL on a second
call to Py_Initialize().
2010-09-20 20:13:48 +00:00
Kristján Valur Jónsson
2fea9b961d
issue 9786 Native TLS support for pthreads
...
PyThread_create_key now has a failure mode that the applicatino can detect.
2010-09-20 02:11:49 +00:00
Brett Cannon
bc2eff3112
PyImport_Import was using the old import hack of sticking a dummy value into
...
fromlist to get __import__ to return the module desired. Now it uses the proper
approach of fetching the module from sys.modules.
Closes issue #9252 . Thanks to Alexander Belopolsky for the bug report.
2010-09-19 21:39:02 +00:00
Antoine Pitrou
1df1536fb9
Issue #9828 : Destroy the GIL in Py_Finalize(), so that it gets properly
...
re-created on a subsequent call to Py_Initialize(). The problem (a crash)
wouldn't appear in 3.1 or 2.7 where the GIL's structure is more trivial.
2010-09-13 14:16:46 +00:00
Nick Coghlan
cd419abe42
Fix incorrect comment regarding MAGIC and TAG in import.c
2010-09-11 00:39:25 +00:00
Benjamin Peterson
e208b7c5b1
typo
2010-09-10 23:53:14 +00:00
Benjamin Peterson
d0de25d731
use Py_REFCNT
2010-09-10 23:52:42 +00:00
Benjamin Peterson
d2be5b4fe4
remove gil_drop_request in --without-threads
2010-09-10 22:47:02 +00:00
Benjamin Peterson
00ebe2cdc4
use DISPATCH() instead of continue
2010-09-10 22:02:31 +00:00
Victor Stinner
5b519e0201
Issue #9632 : Remove sys.setfilesystemencoding() function: use PYTHONFSENCODING
...
environment variable to set the filesystem encoding at Python startup.
sys.setfilesystemencoding() creates inconsistencies because it is unable to
reencode all filenames in all objects.
2010-09-10 21:57:59 +00:00
Benjamin Peterson
6246d6dcb0
bump magic number for DELETE_DEREF
2010-09-10 21:51:44 +00:00
Amaury Forgeot d'Arc
ba117ef7e9
#4617 : Previously it was illegal to delete a name from the local
...
namespace if it occurs as a free variable in a nested block. This limitation
of the compiler has been lifted, and a new opcode introduced (DELETE_DEREF).
This sample was valid in 2.6, but fails to compile in 3.x without this change::
>>> def f():
... def print_error():
... print(e)
... try:
... something
... except Exception as e:
... print_error()
... # implicit "del e" here
This sample has always been invalid in Python, and now works::
>>> def outer(x):
... def inner():
... return x
... inner()
... del x
There is no need to bump the PYC magic number: the new opcode is used
for code that did not compile before.
2010-09-10 21:39:53 +00:00
Daniel Stutzbach
c7937791a1
Fix Issue #9752 : MSVC compiler warning due to undefined function
...
(Patch by Jon Anglin)
2010-09-09 21:18:04 +00:00
Antoine Pitrou
c9a8df24cc
Merged revisions 84655 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r84655 | antoine.pitrou | 2010-09-09 22:30:23 +0200 (jeu., 09 sept. 2010) | 6 lines
Issue #9804 : ascii() now always represents unicode surrogate pairs as
a single `\UXXXXXXXX`, regardless of whether the character is printable
or not. Also, the "backslashreplace" error handler now joins surrogate
pairs into a single character on UCS-2 builds.
........
2010-09-09 20:33:43 +00:00
Antoine Pitrou
e4a189274f
Issue #9804 : ascii() now always represents unicode surrogate pairs as
...
a single `\UXXXXXXXX`, regardless of whether the character is printable
or not. Also, the "backslashreplace" error handler now joins surrogate
pairs into a single character on UCS-2 builds.
2010-09-09 20:30:23 +00:00
Matthias Klose
f69af1e959
PEP 3149: Try to load the extension with the SOABI before trying
...
to load the one without the SOABI in the name.
2010-09-08 16:22:10 +00:00
Antoine Pitrou
3c6261a90b
Merged revisions 84623 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r84623 | antoine.pitrou | 2010-09-08 14:37:10 +0200 (mer., 08 sept. 2010) | 4 lines
Issue #9797 : pystate.c wrongly assumed that zero couldn't be a valid
thread-local storage key.
........
2010-09-08 12:48:12 +00:00
Antoine Pitrou
079ce54efe
Issue #9797 : pystate.c wrongly assumed that zero couldn't be a valid
...
thread-local storage key.
2010-09-08 12:37:10 +00:00
Antoine Pitrou
74a69fa662
Issue #9225 : Remove the ROT_FOUR and DUP_TOPX opcode, the latter replaced
...
by the new (and simpler) DUP_TOP_TWO. Performance isn't changed, but
our bytecode is a bit simplified. Patch by Demur Rumed.
2010-09-04 18:43:52 +00:00
Brett Cannon
ef0e6c3b04
_warnings exposed two variables with the name 'default_action' and
...
'once_registry'. This is bad as the warnings module had variables named
'defaultaction' and 'onceregistry' which are what people should be looking at
(technically those variables shouldn't be mucked with as they are undocumented,
but we all know better than to believe that isn't happening). So the variables
from _warnings have been renamed to come off as private and to avoid confusion
over what variable should be used.
Closes issue #9766 . Thanks to Antoine Pitrou for the discovery.
2010-09-04 18:24:04 +00:00
Barry Warsaw
35f3a2cbeb
PEP 3149 is accepted.
...
http://mail.python.org/pipermail/python-dev/2010-September/103408.html
2010-09-03 18:30:30 +00:00
Antoine Pitrou
fce7fd6426
Issue #9549 : sys.setdefaultencoding() and PyUnicode_SetDefaultEncoding()
...
are now removed, since their effect was inexistent in 3.x (the default
encoding is hardcoded to utf-8 and cannot be changed).
2010-09-01 18:54:56 +00:00
Benjamin Peterson
17689991e6
only catch AttributeError in hasattr() #9666
2010-08-24 03:26:23 +00:00
Raymond Hettinger
819a064556
Issue 8403: Don't mask KeyboardInterrupt during peephole operation.
2010-08-22 08:39:49 +00:00
Amaury Forgeot d'Arc
a1e5c69d5b
Merged revisions 84214 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r84214 | amaury.forgeotdarc | 2010-08-19 23:32:38 +0200 (jeu., 19 août 2010) | 3 lines
Add tests for r84209 (crashes in the Ast builder)
Also remove one tab, and move a check closer to the possible failure.
........
2010-08-19 21:35:59 +00:00