summaryrefslogtreecommitdiffstats
path: root/Python/import.c
Commit message (Collapse)AuthorAgeFilesLines
* Issue #3080: _PyWin_FindRegisteredModule() returns the path as UnicodeVictor Stinner2011-03-081-4/+17
| | | | | | | | | * 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()
* Issue #3080: Use PyUnicode_InternFromString() for builtinsVictor Stinner2011-03-071-2/+2
| | | | | _PyImport_FixupBuiltin() and _PyImport_FindBuiltin() use PyUnicode_InternFromString() instead of PyUnicode_FromString().
* Issue #3080: Import builtins using Unicode stringsVictor Stinner2011-03-071-52/+60
| | | | | | | - 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()
* Issue #3080: Add PyImport_ImportFrozenModuleObject()Victor Stinner2011-03-201-37/+61
| | | | | find_frozen(), get_frozen_object(), is_frozen_package() and other functions related to frozen modules use Unicode strings instead of byte strings.
* Issue #3080: PyImport_Cleanup() uses UnicodeVictor Stinner2011-03-071-10/+7
| | | | Replace strcmp() by PyUnicode_CompareWithASCIIString()
* import.c: replace tab by spacesVictor Stinner2011-03-071-1/+1
|
* Issue #3080: Add PyImport_AddModuleObject() and PyImport_ExecCodeModuleObject()Victor Stinner2011-03-041-21/+66
|
* Issue #3080: Mark _PyImport_FindBuiltin() argument as constantVictor Stinner2011-02-231-2/+2
| | | | | | And as a consequence, mark also name argument of _PyImport_FindExtensionUnicode() constant too. But I plan to change this argument type to PyObject* later.
* Issue #3080: Mark PyWin_FindRegisteredModule() as privateVictor Stinner2011-02-221-3/+3
| | | | | 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.
* Merge branches/pep-0384.Martin v. Löwis2010-12-031-1/+1
|
* import: use PyUnicode_FSConverter to support bytes path and PEP 383Victor Stinner2010-12-031-28/+30
| | | | (instead of PyArg_Parse*() with "es" format and Py_FileSystemDefaultEncoding)
* Issue #9573: os.fork now works when triggered as a side effect of import ↵Nick Coghlan2010-12-021-2/+11
| | | | (the wisdom of actually relying on this remains questionable!)
* Remove redundant includes of headers that are already included by Python.h.Georg Brandl2010-11-301-4/+0
|
* Issue #10359: Remove ";" after function definition, invalid in ISO CVictor Stinner2010-11-091-1/+1
|
* 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-171-10/+34
| | | | | | | * 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
* fix refleakBenjamin Peterson2010-10-161-4/+6
|
* 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.
* Create fileutils.c/.hVictor Stinner2010-10-071-65/+0
| | | | | | | * _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
* 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().
* Remove an unreferenced variable. len is no longer needed.Brian Curtin2010-09-291-1/+0
|
* 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).
* 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.
* Fix incorrect comment regarding MAGIC and TAG in import.cNick Coghlan2010-09-111-2/+5
|
* bump magic number for DELETE_DEREFBenjamin Peterson2010-09-101-1/+2
|
* Fix Issue #9752: MSVC compiler warning due to undefined functionDaniel Stutzbach2010-09-091-4/+7
| | | | (Patch by Jon Anglin)
* Issue #9225: Remove the ROT_FOUR and DUP_TOPX opcode, the latter replacedAntoine Pitrou2010-09-041-1/+3
| | | | | by the new (and simpler) DUP_TOP_TWO. Performance isn't changed, but our bytecode is a bit simplified. Patch by Demur Rumed.
* Remove unused functions _PyImport_FindModule and _PyImport_IsScriptVictor Stinner2010-08-171-16/+0
|
* Create _Py_fopen() for PyUnicodeObject pathVictor Stinner2010-08-141-0/+33
| | | | | | Call _wfopen() on Windows, or fopen() otherwise. Return the new file object on success, or NULL if the file cannot be open or (if PyErr_Occurred()) on unicode error.
* _Py_stat(): ensure that path ends with a nul characterVictor Stinner2010-08-141-2/+3
|
* Issue #9425: Create private _Py_stat() functionVictor Stinner2010-08-141-0/+33
| | | | Use stat() or _wstat() depending on the OS.
* Issue #9425: NullImporter constructor is fully unicode compliantVictor Stinner2010-08-131-38/+52
| | | | | | * On non-Windows OSes: the constructor accepts bytes filenames and use surrogateescape for unicode filenames * On Windows: use GetFileAttributesW() instead of GetFileAttributesA()
* Issue #9425: Create load_builtin() subfunctionVictor Stinner2010-08-091-30/+40
| | | | Just move the code and some variables.
* Merged revisions 81380 via svnmerge fromBenjamin Peterson2010-06-271-1/+2
| | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r81380 | brett.cannon | 2010-05-20 13:37:55 -0500 (Thu, 20 May 2010) | 8 lines Turned out that if you used explicit relative import syntax (e.g. from .os import sep) and it failed, import would still try the implicit relative import semantics of an absolute import (from os import sep). That's not right, so when level is negative, only do explicit relative import semantics. Fixes issue #7902. Thanks to Meador Inge for the patch. ........
* Typo repair.Barry Warsaw2010-06-171-4/+4
|
* Issue #8715: Create PyUnicode_EncodeFSDefault() function: Encode a UnicodeVictor Stinner2010-05-151-10/+2
| | | | | | object to Py_FileSystemDefaultEncoding with the "surrogateescape" error handler, return a bytes object. If Py_FileSystemDefaultEncoding is not set, fall back to UTF-8.
* Recorded merge of revisions 81029 via svnmerge fromAntoine Pitrou2010-05-091-2740/+2740
| | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines Untabify C files. Will watch buildbots. ........
* PEP 3147Barry Warsaw2010-04-171-28/+363
|
* Merged revisions 79428 via svnmerge fromBenjamin Peterson2010-03-251-2/+2
| | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r79428 | benjamin.peterson | 2010-03-25 18:27:16 -0500 (Thu, 25 Mar 2010) | 1 line make naming convention consistent ........
* Issue #6697: use %U format instead of _PyUnicode_AsString(), becauseVictor Stinner2010-03-121-2/+2
| | | | | | _PyUnicode_AsString() was not checked for error (NULL). The unicode string is no more truncated to 200 or 400 *bytes*.
* Merged revisions 78826 via svnmerge fromVictor Stinner2010-03-121-2/+0
| | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r78826 | victor.stinner | 2010-03-10 23:30:19 +0100 (mer., 10 mars 2010) | 5 lines Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt (SIGINT). If an error occurs while importing the site module, the error is printed and Python exits. Initialize the GIL before importing the site module. ........
* Merged revisions 78527,78550 via svnmerge fromGregory P. Smith2010-03-011-4/+8
| | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r78527 | gregory.p.smith | 2010-02-28 17:22:39 -0800 (Sun, 28 Feb 2010) | 4 lines Issue #7242: On Solaris 9 and earlier calling os.fork() from within a thread could raise an incorrect RuntimeError about not holding the import lock. The import lock is now reinitialized after fork. ........ r78550 | gregory.p.smith | 2010-02-28 22:01:02 -0800 (Sun, 28 Feb 2010) | 2 lines Fix test to be skipped on windows. ........
* Strip out trailing whitespace.Brett Cannon2010-03-011-19/+19
|
* remove magic number bumping from the 2.x -U option #7459Benjamin Peterson2009-12-101-19/+11
|
* Merged revisions 74841 via svnmerge fromBenjamin Peterson2009-10-041-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r74841 | thomas.wouters | 2009-09-16 14:55:54 -0500 (Wed, 16 Sep 2009) | 23 lines Fix issue #1590864, multiple threads and fork() can cause deadlocks, by acquiring the import lock around fork() calls. This prevents other threads from having that lock while the fork happens, and is the recommended way of dealing with such issues. There are two other locks we care about, the GIL and the Thread Local Storage lock. The GIL is obviously held when calling Python functions like os.fork(), and the TLS lock is explicitly reallocated instead, while also deleting now-orphaned TLS data. This only fixes calls to os.fork(), not extension modules or embedding programs calling C's fork() directly. Solving that requires a new set of API functions, and possibly a rewrite of the Python/thread_*.c mess. Add a warning explaining the problem to the documentation in the mean time. This also changes behaviour a little on AIX. Before, AIX (but only AIX) was getting the import lock reallocated, seemingly to avoid this very same problem. This is not the right approach, because the import lock is a re-entrant one, and reallocating would do the wrong thing when forking while holding the import lock. Will backport to 2.6, minus the tiny AIX behaviour change. ........
* Merged revisions 74075,74187,74197,74201,74216,74225 via svnmerge fromAlexandre Vassalotti2009-07-291-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r74075 | georg.brandl | 2009-07-18 05:06:31 -0400 (Sat, 18 Jul 2009) | 1 line #6505: fix typos. ........ r74187 | benjamin.peterson | 2009-07-23 10:19:08 -0400 (Thu, 23 Jul 2009) | 1 line use bools for autoraise ........ r74197 | benjamin.peterson | 2009-07-24 22:03:48 -0400 (Fri, 24 Jul 2009) | 1 line clarify ........ r74201 | amaury.forgeotdarc | 2009-07-25 12:22:06 -0400 (Sat, 25 Jul 2009) | 2 lines Better name a variable: 'buf' seems to imply a mutable buffer. ........ r74216 | michael.foord | 2009-07-26 17:12:14 -0400 (Sun, 26 Jul 2009) | 1 line Issue 6581. Michael Foord ........ r74225 | kurt.kaiser | 2009-07-27 12:09:28 -0400 (Mon, 27 Jul 2009) | 5 lines 1. Clean workspace more thoughly before build. 2. Add url of branch we are building to 'results' webpage. (url is now available in $repo_path, could be added to failure email.) 3. Adjust permissions to improve upload reliability. ........
* Merged revisions 73870,73879,73899-73900,73905-73906 via svnmerge fromAlexandre Vassalotti2009-07-171-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r73870 | r.david.murray | 2009-07-06 21:06:13 -0400 (Mon, 06 Jul 2009) | 5 lines Issue 6070: when creating a compiled file, after copying the mode bits, on posix zap the execute bit in case it was set on the .py file, since the compiled files are not directly executable on posix. Patch by Marco N. ........ r73879 | r.david.murray | 2009-07-07 05:54:16 -0400 (Tue, 07 Jul 2009) | 3 lines Update issue 6070 patch to match the patch that was actually tested on Windows. ........ r73899 | r.david.murray | 2009-07-08 21:43:41 -0400 (Wed, 08 Jul 2009) | 3 lines Conditionalize test cleanup code to eliminate traceback, which will hopefully reveal the real problem. ........ r73900 | r.david.murray | 2009-07-08 22:06:17 -0400 (Wed, 08 Jul 2009) | 2 lines Make test work with -O. ........ r73905 | r.david.murray | 2009-07-09 09:55:44 -0400 (Thu, 09 Jul 2009) | 3 lines Specify umask in execute bit test to get consistent results and make sure we test resetting all three execute bits. ........ r73906 | r.david.murray | 2009-07-09 11:35:33 -0400 (Thu, 09 Jul 2009) | 5 lines Curdir needs to be in the path for the test to work on all buildbots. (I copied this from another import test, but currently this will fail if TESTFN ends up in /tmp...see issue 2609). ........