Antoine Pitrou
6c40eb7f42
Fix the builtin module initialization code to store the init function for future reinitialization.
14 years ago
Antoine Pitrou
5136ac0ca2
Issue #13645 : pyc files now contain the size of the corresponding source
code, to avoid timestamp collisions (especially on filesystems with a low
timestamp resolution) when checking for freshness of the bytecode.
14 years ago
Victor Stinner
bd0850b857
import.c now catchs _Py_stat() exceptions
_Py_stat() now returns -2 if an exception was raised.
14 years ago
Charles-François Natali
1659b83b1d
Followup to a541bda2f5e2: Add a short comment.
14 years ago
Charles-François Natali
7c0b0cc9f9
Issue #11051 : Reduce the number of syscalls per import.
14 years ago
Antoine Pitrou
86a36b500a
PEP 3155 / issue #13448 : Qualified name for classes and functions.
14 years ago
Victor Stinner
1f7951711c
Catch PyUnicode_AS_UNICODE() errors
14 years ago
Antoine Pitrou
8ad982cccf
Use PyUnicode_FromFormat() to create the temporary file name.
Also, as in importlib, append the id of an object to make the file name
pseudo-random.
14 years ago
Antoine Pitrou
1d8f3f451c
Fix regression under Windows following b75b41237380 (from issue #13392 )
14 years ago
Antoine Pitrou
28e401e717
Issue #13392 : Writing a pyc file should now be atomic under Windows as well.
14 years ago
Charles-François Natali
0c929d9d39
Issue #13303 : Fix bytecode file default permission.
14 years ago
Éric Araujo
5df1108de2
Add signatures to the docstring of functions added to imp by PEP 3147
14 years ago
Antoine Pitrou
8db076cf8a
Issue #10363 : Deallocate global locks in Py_Finalize().
14 years ago
Charles-François Natali
e695eec24a
Issue #13303 : Fix a race condition in the bytecode file creation.
14 years ago
Martin v. Löwis
f45dee998f
Port import_module_level to Unicode API.
14 years ago
Martin v. Löwis
796ea53937
Port PyImport_ReloadModule to Unicode API.
14 years ago
Antoine Pitrou
b528fcf954
Fix test_imp failure under Windows
14 years ago
Martin v. Löwis
9af29d39af
Rewrite find_module_path using unicode API.
14 years ago
Martin v. Löwis
2cc0cc54a2
Fix off-by-one error.
14 years ago
Martin v. Löwis
fadcd317fa
Drop unused macros. Use CACHEDIR consistently.
14 years ago
Martin v. Löwis
8a0ef78e8c
Rewrite make_source_pathname using Unicode API.
14 years ago
Martin v. Löwis
30260a7fe3
Add ready checks for make_compiled_pathname.
14 years ago
Martin v. Löwis
2db72863fb
Reformulate make_compiled_pathname in terms of unicode objects.
14 years ago
Antoine Pitrou
707033a694
Issue #13146 : Writing a pyc file is now atomic under POSIX.
14 years ago
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
14 years ago
Victor Stinner
8c9818980b
Fix typo in import.c
14 years ago
Victor Stinner
beac78bb24
Use PyUnicode_AsUnicodeAndSize() instead of PyUnicode_GET_SIZE()
14 years ago
Martin v. Löwis
1ee1b6fe0d
Use identifier API for PyObject_GetAttrString.
14 years ago
Martin v. Löwis
afe55bba33
Add API for static strings, primarily good for identifiers.
Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
14 years ago
Victor Stinner
46084bad88
Fix find_module_path(): make the string ready
14 years ago
Benjamin Peterson
014cc42db8
remove unused label
14 years ago
Martin v. Löwis
0b1d348990
Issue 13085: Fix some memory leaks. Patch by Stefan Krah.
14 years ago
Georg Brandl
4cb0de246c
Rename new macros to conform to naming rules (function macros have "Py" prefix, not "PY").
14 years ago
Martin v. Löwis
d63a3b8beb
Implement PEP 393.
14 years ago
Victor Stinner
53ffdc53bf
Issue #7732 : Don't open a directory as a file anymore while importing a
module. Ignore the direcotry if its name matchs the module name (e.g.
"__init__.py") and raise a ImportError instead.
14 years ago
Victor Stinner
9561d7c526
import.c: remove now useless arbitrary limit
14 years ago
Victor Stinner
1619132e5d
Fix the import machinery if there is an error on sys.path or sys.meta_path
find_module() now raises a RuntimeError, instead of ImportError, on an error on
sys.path or sys.meta_path because load_package() and import_submodule() returns
None and clear the exception if a ImportError occurred.
14 years ago
Victor Stinner
0af0306396
Remove unused variable if Python is build without threads
15 years ago
Victor Stinner
d417d01ec8
call_find_module() handles dup() failure: raise an OSError exception
15 years ago
Victor Stinner
925ef39949
find_module_path_list() fails if _Py_fopen() failed and raised an exception
(UnicodeEncodeError).
15 years ago
Benjamin Peterson
e7c15fa184
bump magic for super closure change
15 years ago
Benjamin Peterson
48deae12d5
some horrible preprocessing tricks to automatically update the tag
15 years ago
Victor Stinner
25095b2be6
Remove useless assignments
Warnings found by the the Clang Static Analyzer.
15 years ago
Benjamin Peterson
04778a8150
make PyImport_ImportModuleLevel's first arg const like similiar functions ( closes #12173 )
15 years ago
Victor Stinner
783c82c701
Close #11619 : write_compiled_module() doesn't encode the filename
Reimplement open_exclusive() using _wopen() to avoid encoding the filename to
the filesystem encoding: use the Unicode version of the Windows API.
15 years ago
Victor Stinner
fe7c5b5bdf
Issue #9319 : Include the filename in "Non-UTF8 code ..." syntax error.
15 years ago
Brett Cannon
442c9b92d8
Make importlib compatible with __import__ by "fixing" code.co_filename
paths.
__import__ does a little trick when importing from bytecode by
back-patching the co_filename paths to point to the file location
where the code object was loaded from, *not* where the code object was
originally created. This allows co_filename to point to a valid path.
Problem is that co_filename is immutable from Python, so a private
function -- imp._fix_co_filename() -- had to be introduced in order to
get things working properly. Originally the plan was to add a file
argument to marshal.loads(), but that failed as the algorithm used by
__import__ is not fully recursive as one might expect, so to be fully
backwards-compatible the code used by __import__ needed to be exposed.
This closes issue #6811 by taking a different approach than outlined
in the issue.
15 years ago
Victor Stinner
e9ddbf65a8
Issue #11630 , issue #3080 : Fix refleak introduced by ef2b6305d395
15 years ago
Victor Stinner
9c61e24be4
Issue #3080 : On DJGPP, case_bytes() returns -1 to signal an error if the file
cannot be found.
15 years ago
Victor Stinner
6ae1e7f04e
Issue #3080 : imp.load_module() accepts None for the module path
imp.find_module() returns None as module path for builtin and frozen builtins.
15 years ago