Antoine Pitrou
71382cb64b
Fix reference loss on Py_None when None is encountered in sys.modules.
2012-04-16 18:48:49 +02:00
Brett Cannon
2ee61422ed
Issue #13959 : Re-implement imp.load_package() in imp.py.
...
Thanks to Eric Snow for helping with imp.load_module() (previous
commit) which led to the removal of a bunch of C code.
2012-04-15 22:28:28 -04:00
Brett Cannon
01a76171a0
Issue #13959 : Re-implement imp.load_module() in imp.py.
2012-04-15 20:25:23 -04:00
Brett Cannon
8a1d04c643
Issue #13959 : Simplify imp.reload() by relying on a module's
...
__loader__.
Since import now sets __loader__ on all modules it creates and
imp.reload() already relied on the attribute for modules that import
didn't create, the only potential compatibility issue is if people
were deleting the attribute on modules and expecting imp.reload() to
continue to work.
2012-04-15 17:56:09 -04:00
Brett Cannon
6f44d66bc4
Issue #13959 : Rename imp to _imp and add Lib/imp.py and begin
...
rewriting functionality in pure Python.
To start, imp.new_module() has been rewritten in pure Python, put into
importlib (privately) and then publicly exposed in imp.
2012-04-15 16:08:47 -04:00
Brett Cannon
881535b726
Issue #14582 : Import returns the module returned by a loader instead
...
of sys.modules when possible.
This is being done for two reasons. One is to gain a little bit of
performance by skipping an unnecessary dict lookup in sys.modules. But
the other (and main) reason is to be a little bit more clear in how
things should work from the perspective of import's interactions with
loaders. Otherwise loaders can easily forget to return the module even
though PEP 302 explicitly states they are expected to return the module
they loaded.
2012-04-15 15:24:04 -04:00
Brett Cannon
27fc52877c
Set ImportError.name when raising the exception in the case of None
...
found in sys.modules.
2012-04-15 14:15:31 -04:00
Brett Cannon
49f8d8b016
Handle importing pkg.mod by executing
...
__import__('mod', {'__packaging__': 'pkg', level=1) w/o properly (and
thus not segfaulting).
2012-04-14 21:50:00 -04:00
Brian Curtin
e6b299faf5
Fix Windows build
2012-04-14 14:19:33 -05:00
Brett Cannon
740fce0e38
Undo a C99 idiom.
2012-04-14 14:23:49 -04:00
Brett Cannon
fd0741555b
Issue #2377 : Make importlib the implementation of __import__().
...
importlib._bootstrap is now frozen into Python/importlib.h and stored
as _frozen_importlib in sys.modules. Py_Initialize() loads the frozen
code along with sys and imp and then uses _frozen_importlib._install()
to set builtins.__import__() w/ _frozen_importlib.__import__().
2012-04-14 14:10:13 -04:00
Benjamin Peterson
f53d20f2cd
in 72556ff86828, I should have updated the magic as well as the comment ( #14230 )
2012-03-16 09:39:12 -05:00
Benjamin Peterson
abdb5528c0
fix comment
2012-03-15 15:40:37 -05:00
Benjamin Peterson
2afe6aeae8
perform yield from delegation by repeating YIELD_FROM opcode ( closes #14230 )
...
This allows generators that are using yield from to be seen by debuggers. It
also kills the f_yieldfrom field on frame objects.
Patch mostly from Mark Shannon with a few tweaks by me.
2012-03-15 15:37:39 -05:00
Antoine Pitrou
cf1c8339f9
Issue #14084 : Fix a file descriptor leak when importing a module with a bad encoding.
2012-02-22 18:08:30 +01:00
Antoine Pitrou
4f22a8d739
Issue #14084 : Fix a file descriptor leak when importing a module with a bad encoding.
2012-02-22 18:05:43 +01:00
Antoine Pitrou
7214612443
In find_module(), do not silence fileno() and dup() errors.
2012-02-22 18:03:04 +01:00
Victor Stinner
a3dd409b52
Remove now useless arbitrary limit of module name length
2012-01-26 00:31:49 +01:00
Antoine Pitrou
581616624d
Port import fixes from 2.7.
2012-01-25 18:06:07 +01:00
Antoine Pitrou
33d15f7c85
Port import fixes from 2.7.
2012-01-25 18:01:45 +01:00
Antoine Pitrou
abaf89b2be
Issue #11235 : Fix OverflowError when trying to import a source file whose modification time doesn't fit in a 32-bit timestamp.
2012-01-24 17:45:50 +01:00
Antoine Pitrou
2be60afb7e
Issue #11235 : Fix OverflowError when trying to import a source file whose modification time doesn't fit in a 32-bit timestamp.
2012-01-24 17:44:06 +01:00
Antoine Pitrou
165e01f83f
Fix the builtin module initialization code to store the init function for future reinitialization.
2012-01-18 20:17:58 +01:00
Antoine Pitrou
6c40eb7f42
Fix the builtin module initialization code to store the init function for future reinitialization.
2012-01-18 20:16:09 +01:00
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.
2012-01-13 18:52:16 +01:00
Victor Stinner
3573476271
(Merge 3.2) Handle correctly _Py_fopen() error: don't replace the exception
2011-12-18 21:05:22 +01:00
Victor Stinner
bd0850b857
import.c now catchs _Py_stat() exceptions
...
_Py_stat() now returns -2 if an exception was raised.
2011-12-18 20:47:30 +01:00
Charles-François Natali
1659b83b1d
Followup to a541bda2f5e2: Add a short comment.
2011-12-07 23:17:58 +01:00
Charles-François Natali
7c0b0cc9f9
Issue #11051 : Reduce the number of syscalls per import.
2011-12-07 19:16:01 +01:00
Antoine Pitrou
86a36b500a
PEP 3155 / issue #13448 : Qualified name for classes and functions.
2011-11-25 18:56:07 +01:00
Victor Stinner
1f7951711c
Catch PyUnicode_AS_UNICODE() errors
2011-11-17 00:45:54 +01:00
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.
2011-11-15 22:27:32 +01:00
Antoine Pitrou
1d8f3f451c
Fix regression under Windows following b75b41237380 (from issue #13392 )
2011-11-15 20:40:55 +01:00
Antoine Pitrou
28e401e717
Issue #13392 : Writing a pyc file should now be atomic under Windows as well.
2011-11-15 19:15:19 +01:00
Charles-François Natali
0c929d9d39
Issue #13303 : Fix bytecode file default permission.
2011-11-10 19:12:29 +01:00
Éric Araujo
e64052176d
Merge follow-up for #11254 and other changes from 3.2
2011-11-03 05:17:11 +01:00
Éric Araujo
5df1108de2
Add signatures to the docstring of functions added to imp by PEP 3147
2011-11-03 03:38:44 +01:00
Antoine Pitrou
8db076cf8a
Issue #10363 : Deallocate global locks in Py_Finalize().
2011-10-30 19:13:55 +01:00
Charles-François Natali
e695eec24a
Issue #13303 : Fix a race condition in the bytecode file creation.
2011-10-31 20:47:31 +01:00
Martin v. Löwis
f45dee998f
Port import_module_level to Unicode API.
2011-10-30 23:50:02 +01:00
Antoine Pitrou
6fbbc33440
Issue #10363 : Deallocate global locks in Py_Finalize().
2011-10-30 19:14:46 +01:00
Martin v. Löwis
796ea53937
Port PyImport_ReloadModule to Unicode API.
2011-10-30 09:07:07 +01:00
Antoine Pitrou
b528fcf954
Fix test_imp failure under Windows
2011-10-25 00:21:02 +02:00
Martin v. Löwis
9af29d39af
Rewrite find_module_path using unicode API.
2011-10-23 18:45:16 +02:00
Martin v. Löwis
2cc0cc54a2
Fix off-by-one error.
2011-10-23 18:41:56 +02:00
Martin v. Löwis
fadcd317fa
Drop unused macros. Use CACHEDIR consistently.
2011-10-23 18:08:20 +02:00
Martin v. Löwis
8a0ef78e8c
Rewrite make_source_pathname using Unicode API.
2011-10-23 18:05:06 +02:00
Martin v. Löwis
30260a7fe3
Add ready checks for make_compiled_pathname.
2011-10-23 17:35:46 +02:00
Martin v. Löwis
2db72863fb
Reformulate make_compiled_pathname in terms of unicode objects.
2011-10-23 17:29:08 +02:00
Antoine Pitrou
707033a694
Issue #13146 : Writing a pyc file is now atomic under POSIX.
2011-10-17 19:28:44 +02:00
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
2011-10-14 10:20:37 +02:00
Victor Stinner
8c9818980b
Fix typo in import.c
2011-10-11 22:27:13 +02:00
Victor Stinner
beac78bb24
Use PyUnicode_AsUnicodeAndSize() instead of PyUnicode_GET_SIZE()
2011-10-11 21:55:01 +02:00
Martin v. Löwis
1ee1b6fe0d
Use identifier API for PyObject_GetAttrString.
2011-10-10 18:11:30 +02:00
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.
2011-10-09 10:38:36 +02:00
Victor Stinner
46084bad88
Fix find_module_path(): make the string ready
2011-10-06 02:39:42 +02:00
Benjamin Peterson
014cc42db8
remove unused label
2011-10-02 13:19:16 -04:00
Martin v. Löwis
0b1d348990
Issue 13085: Fix some memory leaks. Patch by Stefan Krah.
2011-10-01 16:35:40 +02:00
Georg Brandl
4cb0de246c
Rename new macros to conform to naming rules (function macros have "Py" prefix, not "PY").
2011-09-28 21:49:49 +02:00
Martin v. Löwis
d63a3b8beb
Implement PEP 393.
2011-09-28 07:41:54 +02:00
Victor Stinner
a1fe1f8dcf
Merge 3.2: 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.
2011-09-23 18:59:08 +02:00
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.
2011-09-23 18:54:40 +02:00
Victor Stinner
9561d7c526
import.c: remove now useless arbitrary limit
2011-09-15 19:50:01 +02:00
Victor Stinner
84b8e40fd7
Merge 3.2: 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.
2011-09-15 19:38:54 +02:00
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.
2011-09-15 19:28:05 +02:00
Victor Stinner
22d80bcf1b
Merge 3.2: Remove unused variable if Python is build without threads
2011-09-02 00:13:16 +02:00
Victor Stinner
0af0306396
Remove unused variable if Python is build without threads
2011-09-02 00:11:43 +02:00
Victor Stinner
d417d01ec8
call_find_module() handles dup() failure: raise an OSError exception
2011-06-20 15:16:55 +02:00
Victor Stinner
925ef39949
find_module_path_list() fails if _Py_fopen() failed and raised an exception
...
(UnicodeEncodeError).
2011-06-20 15:01:10 +02:00
Benjamin Peterson
e7c15fa184
bump magic for super closure change
2011-06-19 19:54:45 -05:00
Benjamin Peterson
48deae12d5
some horrible preprocessing tricks to automatically update the tag
2011-06-03 17:50:16 -05:00
Victor Stinner
25095b2be6
Remove useless assignments
...
Warnings found by the the Clang Static Analyzer.
2011-05-26 13:47:08 +02:00
Benjamin Peterson
04778a8150
make PyImport_ImportModuleLevel's first arg const like similiar functions ( closes #12173 )
2011-05-25 09:29:00 -05:00
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.
2011-04-20 03:27:51 +02:00
Victor Stinner
fe7c5b5bdf
Issue #9319 : Include the filename in "Non-UTF8 code ..." syntax error.
2011-04-05 01:48:03 +02:00
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.
2011-03-23 16:14:42 -07:00
Victor Stinner
e9ddbf65a8
Issue #11630 , issue #3080 : Fix refleak introduced by ef2b6305d395
2011-03-22 10:46:35 +01:00
Victor Stinner
9c61e24be4
Issue #3080 : On DJGPP, case_bytes() returns -1 to signal an error if the file
...
cannot be found.
2011-03-22 01:22:27 +01:00
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.
2011-03-20 22:37:17 +01:00
Victor Stinner
cc9564ecd8
Issue #3080 : Fix call to case_ok() in find_init_module()
2011-03-20 04:58:29 +01:00
Victor Stinner
1304f2d8a3
Issue #3080 : Fix case_ok() using case_bytes()
...
Invert name and namelen arguments.
2011-03-20 04:28:55 +01:00
Victor Stinner
fe93faf98c
Issue #3080 : Add PyImport_ImportModuleLevelObject() function
...
Use it for the builtin __import__ function.
2011-03-14 15:54:52 -04:00
Victor Stinner
98dbba5d20
Issue #3080 : Use repr() to format the module name on error
2011-03-14 15:15:47 -04:00
Victor Stinner
ccbf475dfd
Fix imp.cache_from_source() if the directory name contains a dot
...
If the directory name contains a dot but not the filename, don't strip at the
dot.
2011-03-14 15:05:12 -04:00
Victor Stinner
fe19d21815
Issue #3080 : imp.new_module() uses Unicode
2011-03-14 14:53:28 -04:00
Victor Stinner
2fd76e478f
Issue #3080 : find_module() returns the path as Unicode
2011-03-14 15:19:39 -04:00
Victor Stinner
c9a271cf2b
Issue #3080 : case_ok() expects Unicode strings
2011-03-14 14:34:13 -04:00
Victor Stinner
547a2a6d52
Issue #3080 : find_init_module() expects Unicode
2011-03-20 03:07:28 +01:00
Victor Stinner
d029621c70
Issue #3080 : Refactor find_module_path(), use return instead of break
...
Prepare also the API change of case_ok()
2011-03-14 14:04:10 -04:00
Victor Stinner
df75a023a0
Issue #3080 : find_module() sets an empty path for builtin and frozen modules
2011-03-14 13:40:04 -04:00
Victor Stinner
533d78399f
Issue #3080 : Rename some path variables to path_list
2011-03-14 13:22:54 -04:00
Victor Stinner
ad3c03b23e
Issue #3080 : find_module() expects module fullname and subname as Unicode
...
And PyImport_ReloadModule() uses Unicode for the module name.
2011-03-14 09:21:33 -04:00
Victor Stinner
58d37112ae
Issue #3080 : Drop OS/2 support for the import machinery
...
Sorry Andrew I MacIntyre!
2011-03-13 23:11:02 -04:00
Victor Stinner
9599de5110
Issue #3080 : Reindent and simplify import_submodule()
2011-03-13 22:38:38 -04:00
Victor Stinner
c24c8108b6
Issue #3080 : Use %R to format module name in error messages
...
%R format instead of %U
2011-03-13 22:38:06 -04:00
Victor Stinner
974389d92c
Issue #3080 : Use Unicode for the "The Magnum Opus of dotted-name import"
...
Use Unicode for module name and paths in the following functions:
* PyImport_ImportModuleLevel()
* add_submodule()
* ensure_from_list()
* get_parent()
* import_module_level()
* import_submodule()
* load_next()
* mark_miss()
2011-03-15 09:33:57 +01:00
Victor Stinner
2e5f11aaa4
Issue #3080 : PyImport_ImportModuleNoBlock() uses Unicode
2011-03-13 21:57:27 -04:00
Victor Stinner
41c5fecce0
Issue #3080 : load_module() expects name and path as Unicode
2011-03-13 21:46:30 -04:00
Victor Stinner
2f42ae53aa
Issue #3080 : Use Unicode to import source and compiled modules
...
* Use Unicode for module name and path in the following functions:
* get_file()
* load_source_module(), parse_source_module()
* make_compiled_pathname(), check_compiled_module(),
read_compiled_module(), load_compiled_module(), write_compiled_module(),
update_compiled_module()
* On Windows, use CreateDirectoryW() instead of mkdir()
* update_compiled_module() cannot fail anymore
2011-03-20 00:41:24 +01:00
Victor Stinner
c9abda0c04
Issue #3080 : get_sourcefile(), make_source_pathname(), load_package()
...
Use Unicode for module name and path in get_sourcefile(),
make_source_pathname() and load_package() functions.
2011-03-14 13:33:46 -04:00
Victor Stinner
d68c2cf237
Issue #3080 : Create find_module_path() subfunction
2011-03-12 16:02:28 -05:00
Victor Stinner
3758028299
Issue #3080 : Create find_module_path_list() subfunction
2011-03-20 01:34:43 +01:00
Victor Stinner
c696316466
Issue #3080 : Remove useless name buffer from find_module()
...
Rename subname argument to name, and mark it as constant.
2011-03-12 09:26:54 -05:00
Victor Stinner
7d8b77c2aa
Issue #3080 : find_module() initialize buf and *p_fp
...
Document also the find_module() function
2011-03-12 08:45:02 -05:00
Victor Stinner
fefd70c40d
Issue #3080 : _PyImport_LoadDynamicModule() uses Unicode for name and path
...
Document also that dynamic module names are ASCII only
2011-03-14 15:54:07 -04:00
Victor Stinner
4d6c1c476a
Issue #3080 : _PyWin_FindRegisteredModule() returns the path as Unicode
...
* 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()
2011-03-08 23:49:04 +01:00
Victor Stinner
21fcd0c9af
Issue #3080 : Use PyUnicode_InternFromString() for builtins
...
_PyImport_FixupBuiltin() and _PyImport_FindBuiltin() use
PyUnicode_InternFromString() instead of PyUnicode_FromString().
2011-03-07 18:28:15 +01:00
Victor Stinner
9587286f98
Issue #3080 : Import builtins using Unicode strings
...
- 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()
2011-03-07 18:20:56 +01:00
Victor Stinner
53dc735168
Issue #3080 : Add PyImport_ImportFrozenModuleObject()
...
find_frozen(), get_frozen_object(), is_frozen_package() and other functions
related to frozen modules use Unicode strings instead of byte strings.
2011-03-20 01:50:21 +01:00
Victor Stinner
9464d61cba
Issue #3080 : PyImport_Cleanup() uses Unicode
...
Replace strcmp() by PyUnicode_CompareWithASCIIString()
2011-03-07 17:08:21 +01:00
Victor Stinner
942003ccf9
import.c: replace tab by spaces
2011-03-07 16:57:48 +01:00
Victor Stinner
27ee089c35
Issue #3080 : Add PyImport_AddModuleObject() and PyImport_ExecCodeModuleObject()
2011-03-04 12:57:09 +00:00
Victor Stinner
501c09a754
Issue #3080 : Mark _PyImport_FindBuiltin() argument as constant
...
And as a consequence, mark also name argument of
_PyImport_FindExtensionUnicode() constant too. But I plan to change this
argument type to PyObject* later.
2011-02-23 00:02:00 +00:00
Victor Stinner
9b99b448f7
Issue #3080 : Mark PyWin_FindRegisteredModule() as private
...
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.
2011-02-22 23:12:28 +00:00
Martin v. Löwis
4d0d471a80
Merge branches/pep-0384.
2010-12-03 20:14:31 +00:00
Victor Stinner
ebc0052e3a
import: use PyUnicode_FSConverter to support bytes path and PEP 383
...
(instead of PyArg_Parse*() with "es" format and Py_FileSystemDefaultEncoding)
2010-12-03 17:06:43 +00:00
Nick Coghlan
b2ddf7979d
Issue #9573 : os.fork now works when triggered as a side effect of import (the wisdom of actually relying on this remains questionable!)
2010-12-02 04:11:46 +00:00
Georg Brandl
e5b99f0fb3
Remove redundant includes of headers that are already included by Python.h.
2010-11-30 09:41:01 +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
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
Benjamin Peterson
294a9fcba6
fix refleak
2010-10-16 03:12:39 +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
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
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
Brian Curtin
748cacee46
Remove an unreferenced variable. len is no longer needed.
2010-09-29 19:09:33 +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
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
Nick Coghlan
cd419abe42
Fix incorrect comment regarding MAGIC and TAG in import.c
2010-09-11 00:39:25 +00:00
Benjamin Peterson
6246d6dcb0
bump magic number for DELETE_DEREF
2010-09-10 21:51:44 +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
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
Victor Stinner
6b06da5395
Remove unused functions _PyImport_FindModule and _PyImport_IsScript
2010-08-17 22:54:21 +00:00
Victor Stinner
f52b705be4
Create _Py_fopen() for PyUnicodeObject path
...
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.
2010-08-14 17:06:04 +00:00
Victor Stinner
8a79dccc48
_Py_stat(): ensure that path ends with a nul character
2010-08-14 16:59:08 +00:00
Victor Stinner
4f4402c4bb
Issue #9425 : Create private _Py_stat() function
...
Use stat() or _wstat() depending on the OS.
2010-08-14 14:50:26 +00:00
Victor Stinner
1a4d12d746
Issue #9425 : NullImporter constructor is fully unicode compliant
...
* On non-Windows OSes: the constructor accepts bytes filenames
and use surrogateescape for unicode filenames
* On Windows: use GetFileAttributesW() instead of GetFileAttributesA()
2010-08-13 13:07:29 +00:00
Victor Stinner
44c6c155d6
Issue #9425 : Create load_builtin() subfunction
...
Just move the code and some variables.
2010-08-09 00:59:10 +00:00
Benjamin Peterson
556d8001df
Merged revisions 81380 via svnmerge from
...
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.
........
2010-06-27 22:37:28 +00:00
Barry Warsaw
7c9627b4de
Typo repair.
2010-06-17 18:38:20 +00:00
Victor Stinner
ae6265f8d0
Issue #8715 : Create PyUnicode_EncodeFSDefault() function: Encode a Unicode
...
object to Py_FileSystemDefaultEncoding with the "surrogateescape" error
handler, return a bytes object. If Py_FileSystemDefaultEncoding is not set,
fall back to UTF-8.
2010-05-15 16:27:27 +00:00
Antoine Pitrou
f95a1b3c53
Recorded merge of revisions 81029 via svnmerge from
...
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.
........
2010-05-09 15:52:27 +00:00
Barry Warsaw
28a691b7fd
PEP 3147
2010-04-17 00:19:56 +00:00
Benjamin Peterson
fa0aebacd9
Merged revisions 79428 via svnmerge from
...
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
........
2010-03-25 23:30:20 +00:00
Victor Stinner
3f1af5c42e
Issue #6697 : use %U format instead of _PyUnicode_AsString(), because
...
_PyUnicode_AsString() was not checked for error (NULL).
The unicode string is no more truncated to 200 or 400 *bytes*.
2010-03-12 17:00:41 +00:00
Victor Stinner
52f6dd7a3d
Merged revisions 78826 via svnmerge from
...
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.
........
2010-03-12 14:45:56 +00:00
Gregory P. Smith
24cec9fe07
Merged revisions 78527,78550 via svnmerge from
...
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.
........
2010-03-01 06:18:41 +00:00