summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
* initfsencoding(): get_codeset() failure is now a fatal errorVictor Stinner2010-10-191-13/+6
| | | | | Don't fallback to utf-8 anymore to avoid mojibake. I never got any error from his function.
* make hashes always the size of pointers; introduce Py_hash_t #9778Benjamin Peterson2010-10-173-4/+4
|
* compiler_error(): use PyUnicode_DecodeFSDefault() to decode the filename,Victor Stinner2010-10-171-2/+11
| | | | instead of utf-8 in strict mode.
* PyErr_SyntaxLocationEx() uses PyUnicode_DecodeFSDefault(), instead ofVictor Stinner2010-10-171-1/+1
| | | | PyUnicode_FromString(), to decode the filename.
* find_module(): use FS encoding to display the missing __init__ warningVictor Stinner2010-10-171-7/+9
|
* _PyImport_FixupExtension() and _PyImport_FindExtension() uses FS encodingVictor Stinner2010-10-173-24/+62
| | | | | | | * 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
* Add an optional size argument to _Py_char2wchar()Victor Stinner2010-10-161-11/+16
| | | | | | _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.
* _Py_wrealpath() uses _Py_char2wchar() to decode the result, to supportVictor Stinner2010-10-161-2/+12
| | | | surrogate characters.
* _Py_wreadlink(): catch _Py_char2wchar() failureVictor Stinner2010-10-161-0/+4
|
* _Py_wreadlink() uses _Py_char2wchar() to decode the result, to supportVictor Stinner2010-10-161-2/+7
| | | | surrogate characters.
* Fix ast_error_finish() and err_input(): filename can be NULLVictor Stinner2010-10-162-2/+12
| | | | Fix my previous commit (r85569).
* Issue #9713, #10114: Parser functions (eg. PyParser_ASTFromFile) expectsVictor Stinner2010-10-165-26/+63
| | | | | filenames encoded to the filesystem encoding with surrogateescape error handler (to support undecodable bytes), instead of UTF-8 in strict mode.
* don't identify the toplevel namespace by name #9997Benjamin Peterson2010-10-161-1/+1
|
* fix refleakBenjamin Peterson2010-10-161-4/+6
|
* First (uncontroversial) part of issue 9807.Barry Warsaw2010-10-161-0/+4
| | | | | | | | | * 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.
* Fix imp_cache_from_source(): Decode make_compiled_pathname() result from theVictor Stinner2010-10-151-1/+1
| | | | | | | 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().
* imp_load_module() uses PyUnicode_FSConverter() to support surrogates in moduleVictor Stinner2010-10-151-7/+7
| | | | path
* imp.cache_from_source() uses PyUnicode_FSConverter() to support surrogates inVictor Stinner2010-10-151-5/+8
| | | | module path
* imp.load_dynamic() uses PyUnicode_FSConverter() to support surrogatesVictor Stinner2010-10-151-6/+6
| | | | in the library path.
* Use locale encoding if Py_FileSystemDefaultEncoding is not setVictor Stinner2010-10-151-258/+0
| | | | | | | | * 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
* redecode_filename(): don't need to initialize variablesVictor Stinner2010-10-151-1/+1
|
* Mark _Py_char2wchar() input argument as constantVictor Stinner2010-10-151-1/+1
|
* Explicitly close some files (from issue #10093)Antoine Pitrou2010-10-141-0/+6
|
* _Py_wgetcwd() decodes the path using _Py_char2wchar() to support surrogatesVictor Stinner2010-10-141-3/+11
|
* Issue #9992: Remove PYTHONFSENCODING environment variable.Victor Stinner2010-10-131-16/+6
|
* ceval.c: catch recursion error on _PyUnicode_AsString(co->co_filename)Victor Stinner2010-10-131-0/+4
|
* Issue #10062: Allow building on platforms which do not have sem_timedwait.Antoine Pitrou2010-10-101-1/+2
|
* fileutils.c: document which encodings are usedVictor Stinner2010-10-071-6/+26
|
* _Py_wrealpath() requires the size of the output bufferVictor Stinner2010-10-072-3/+4
|
* _Py_stat() and _Py_fopen(): avoid PyUnicode_AsWideCharString() on WindowsVictor Stinner2010-10-071-18/+6
| | | | | On Windows, Py_UNICODE is wchar_t, so we can avoid the expensive Py_UNICODE* => wchar_t* conversion.
* Fix fileutils for WindowsVictor Stinner2010-10-071-8/+7
| | | | | | * 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
* Ooops, fileutils.c contains twice the same codeVictor Stinner2010-10-071-380/+0
| | | | | I suppose that I reapplied my local patch creating Python/fileutils.c whereas the file already existed.
* Create fileutils.c/.hVictor Stinner2010-10-073-93/+759
| | | | | | | * _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
* _wrealpath() and _Py_wreadlink() support surrogates (PEP 383)Victor Stinner2010-10-071-3/+4
| | | | Use _Py_wchar2char() to support surrogate characters in the input path.
* PyUnicode_AsWideCharString() takes a PyObject*, not a PyUnicodeObject*Victor Stinner2010-10-071-3/+3
| | | | | All unicode functions uses PyObject* except PyUnicode_AsWideChar(). Fix the prototype for the new function PyUnicode_AsWideCharString().
* Create a subfunction for PySys_SetArgvEx()Victor Stinner2010-10-061-78/+94
| | | | Create sys_update_path() static function. Do nothing if argc==0.
* #9060 Let platforms without dup2() compile the replacement fonction without ↵Amaury Forgeot d'Arc2010-10-051-0/+1
| | | | error.
* Remove an unreferenced variable. len is no longer needed.Brian Curtin2010-09-291-1/+0
|
* Issue #9630: Redecode filenames when setting the filesystem encodingVictor Stinner2010-09-291-0/+258
| | | | | | | | | | | | | | 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.
* Issue #9979: Use PyUnicode_AsWideCharString() in import.cVictor Stinner2010-09-291-18/+16
| | | | | Don't truncate path if it is too long anymore, and allocate fewer memory (but allocate it on the heap, not on the stack).
* Since __import__ is not designed for general use, have its docstring pointBrett Cannon2010-09-271-2/+6
| | | | | | people towards importlib.import_module(). Closes issue #7397.
* revert r85003, poorly considered; breaks testsBenjamin Peterson2010-09-251-1/+1
|
* don't count keyword arguments as positional #9943Benjamin Peterson2010-09-251-1/+1
|
* add column offset to all syntax errorsBenjamin Peterson2010-09-204-33/+56
|
* add PyErr_SyntaxLocationEx, to support adding a column offsetBenjamin Peterson2010-09-201-1/+17
|
* Issue #9901: Destroying the GIL in Py_Finalize() can fail if some otherAntoine Pitrou2010-09-201-5/+8
| | | | | threads are still running. Instead, reinitialize the GIL on a second call to Py_Initialize().
* issue 9786 Native TLS support for pthreadsKristján Valur Jónsson2010-09-203-1/+49
| | | | PyThread_create_key now has a failure mode that the applicatino can detect.
* PyImport_Import was using the old import hack of sticking a dummy value intoBrett Cannon2010-09-191-3/+13
| | | | | | | 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.
* Issue #9828: Destroy the GIL in Py_Finalize(), so that it gets properlyAntoine Pitrou2010-09-133-4/+34
| | | | | 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.
* Fix incorrect comment regarding MAGIC and TAG in import.cNick Coghlan2010-09-111-2/+5
|