summaryrefslogtreecommitdiffstats
path: root/Python/import.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Checkpoint. 218 tests are okay; 53 are failing. Done so far:Guido van Rossum2006-03-151-2/+3
| | | | | | | | - all classes are new-style (but ripping out classobject.[ch] isn't done) - int/int -> float - all exceptions must derive from BaseException - absolute import - 'as' and 'with' are keywords
* Um, I thought I'd already checked this in.Guido van Rossum2006-03-101-0/+1
| | | | | | | Anyway, this is the changes to the with-statement so that __exit__ must return a true value in order for a pending exception to be ignored. The PEP (343) is already updated.
* Change int to Py_ssize_t in several places.Martin v. Löwis2006-03-071-4/+4
| | | | | Add (int) casts to silence compiler warnings. Raise Python exceptions for overflows.
* SF patch #1438387, PEP 328: relative and absolute imports.Thomas Wouters2006-02-281-13/+56
| | | | | | | | | | | | | | | | | | | | | | | - IMPORT_NAME takes an extra argument from the stack: the relativeness of the import. Only passed to __import__ when it's not -1. - __import__() takes an optional 5th argument for the same thing; it __defaults to -1 (old semantics: try relative, then absolute) - 'from . import name' imports name (be it module or regular attribute) from the current module's *package*. Likewise, 'from .module import name' will import name from a sibling to the current module. - Importing from outside a package is not allowed; 'from . import sys' in a toplevel module will not work, nor will 'from .. import sys' in a (single-level) package. - 'from __future__ import absolute_import' will turn on the new semantics for import and from-import: imports will be absolute, except for from-import with dots. Includes tests for regular imports and importhooks, parser changes and a NEWS item, but no compiler-package changes or documentation changes.
* PEP 343 -- the with-statement.Guido van Rossum2006-02-271-1/+2
| | | | | | | | | | | | | This was started by Mike Bland and completed by Guido (with help from Neal). This still needs a __future__ statement added; Thomas is working on Michael's patch for that aspect. There's a small amount of code cleanup and refactoring in ast.c, compile.c and ceval.c (I fixed the lltrace behavior when EXT_POP is used -- however I had to make lltrace a static global).
* Merge ssize_t branch.Martin v. Löwis2006-02-151-16/+18
|
* Check return result from Py_InitModule*(). This API can fail.Neal Norwitz2006-01-191-0/+2
| | | | Probably should be backported.
* Merge from ast-arena. This reduces the code in Python/ast.c by ~300 lines,Neal Norwitz2005-12-171-3/+5
| | | | simplifies a lot of error handling code, and fixes many memory leaks.
* Add const to several API functions that take char *.Jeremy Hylton2005-12-101-2/+2
| | | | | | | | | | | | | | | | | | | In C++, it's an error to pass a string literal to a char* function without a const_cast(). Rather than require every C++ extension module to put a cast around string literals, fix the API to state the const-ness. I focused on parts of the API where people usually pass literals: PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type slots, etc. Predictably, there were a large set of functions that needed to be fixed as a result of these changes. The most pervasive change was to make the keyword args list passed to PyArg_ParseTupleAndKewords() to be a const char *kwlist[]. One cast was required as a result of the changes: A type object mallocs the memory for its tp_doc slot and later frees it. PyTypeObject says that tp_doc is const char *; but if the type was created by type_new(), we know it is safe to cast to char *.
* the ast-branch changed the stack discipline of MAKE_CLOSURE, so we need toMichael W. Hudson2005-10-211-1/+3
| | | | bump MAGIC.
* Merge ast-branch to headJeremy Hylton2005-10-201-11/+12
| | | | | | | | | | This change implements a new bytecode compiler, based on a transformation of the parse tree to an abstract syntax defined in Parser/Python.asdl. The compiler implementation is not complete, but it is in stable enough shape to run the entire test suite excepting two disabled tests.
* Fix SF bug #976608, Unhelpful error message when mtime of a module is -1Neal Norwitz2005-10-031-1/+5
| | | | Will backport.
* - Changes donated by Elemental Security to make it work on AIX 5.3Guido van Rossum2005-09-141-0/+12
| | | | | with IBM's 64-bit compiler (SF patch #1284289). This also closes SF bug #105470: test_pwd fails on 64bit system (Opteron).
* Patch #1290454: Fix reload() error message when parent module is not inGeorg Brandl2005-09-141-2/+3
| | | | sys.modules.
* This is my patch:Michael W. Hudson2005-06-031-1/+2
| | | | | | | | | [ 1180995 ] binary formats for marshalling floats Adds 2 new type codes for marshal (binary floats and binary complexes), a new marshal version (2), updates MAGIC and fiddles the de-serializing of code objects to be less likely to clobber the real reason for failing if it fails.
* Patch #1197318: Cygwin case-sensitive import patchJason Tishler2005-05-201-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | A problem regarding importing symlinked modules was recently reported on the Cygwin mailing list: http://cygwin.com/ml/cygwin/2005-04/msg00257.html The following test case demonstrates the problem: $ ls -l total 1 lrwxrwxrwx 1 jt None 6 Apr 23 13:32 bar.py -> foo.py -rw-r--r-- 1 jt None 24 Apr 18 20:13 foo.py $ python -c 'import bar' Traceback (most recent call last): File "<string>", line 1, in ? ImportError: No module named bar Since Cygwin's case_ok() uses a modified version of the Windows's version, the symlinked bar module actually resolves to file foo.py instead of bar.py. This obviously causes the matching code to fail (regardless of case). The patch fixes this problem by making Cygwin use the Mac OS X case_ok() instead of a modified Window's version.
* SF patch #1035498: -m option to run a module as a scriptRaymond Hettinger2004-10-071-0/+16
| | | | (Contributed by Nick Coghlan.)
* Fix for SF bug #1029475 : reload() doesn't work with PEP 302 loaders.Phillip J. Eby2004-09-231-4/+10
|
* SF patch #1031667: Fold tuples of constants into a single constantRaymond Hettinger2004-09-221-1/+2
| | | | | | | | Example: >>> import dis >>> dis.dis(compile('1,2,3', '', 'eval')) 0 0 LOAD_CONST 3 ((1, 2, 3)) 3 RETURN_VALUE
* SF Patch #1013667: Cleanup Peepholer OutputRaymond Hettinger2004-08-231-1/+2
| | | | | | | | | * Make a pass to eliminate NOPs. Produce code that is more readable, more compact, and a tiny bit faster. Makes the peepholer more flexible in the scope of allowable transformations. * With Guido's okay, bumped up the magic number so that this patch gets widely exercised before the alpha goes out.
* PyImport_ExecCodeModuleEx(): remove module from sys.modules in error cases.Tim Peters2004-08-021-16/+46
| | | | | | | | PyImport_ReloadModule(): restore the module to sys.modules in error cases. load_package(): semantic-neutral refactoring from an earlier stab at this patch; giving it a common error exit made the code easier to follow, so retaining that part. _RemoveModule(): new little utility to delete a key from sys.modules.
* lock_held() docs: Use True/False instead of 1/0. The LaTeX docs wereTim Peters2004-08-011-3/+3
| | | | already correct, so not changed here.
* Trimmed trailing whitespace.Tim Peters2004-08-011-2/+2
|
* Patch #923098: Share interned strings in marshal.Martin v. Löwis2004-06-271-9/+9
|
* Fix a refcount bug in an obscure code corner.Thomas Heller2004-06-071-0/+1
| | | | Already backported.
* starting to add comments to explain what's hereFred Drake2004-05-281-0/+11
|
* Bump the magic number to avoid sharing bytecode between 2.3 and 2.4.Jeremy Hylton2004-04-011-32/+14
| | | | | Revise the long comment that explained details of the magic number in gory detail.
* Marshal clean-up (SF patch #873224)Armin Rigo2004-03-261-7/+7
|
* Changed random calls to PyThreadState_Get() to use the macroNicholas Bastin2004-03-241-2/+2
|
* Decref all if ensure_fromlist fails. Fixes #876533.Martin v. Löwis2004-03-231-2/+3
| | | | Backported to 2.3.
* Add comment to mollify Tim.Jeremy Hylton2004-01-021-0/+2
|
* Getting rid of all the code inside #ifdef macintosh too.Jack Jansen2003-11-201-94/+0
|
* Fix a bunch of typos in documentation, docstrings and comments.Walter Dörwald2003-10-201-1/+1
| | | | (From SF patch #810751)
* Bug #794140: cygwin builds do not embedJason Tishler2003-09-041-1/+1
| | | | | | The embed2.diff patch solves the user's problem by exporting the missing symbols from the Python core so Python can be embedded in another Cygwin application (well, at lest vim).
* - fix typoFred Drake2003-07-111-1/+1
| | | | | - there's a weird variable name here (zimpimport), but I'll leave that for someone that's familiar with the ZIP import support
* Don't use the module object setattr when importing submodules. Instead,Neil Schemenauer2003-06-161-18/+38
| | | | | | operate on the module dictionary directly. This prevents spurious depreciation warnings from being raised if a submodule name shadows a builtin name.
* SF patch #708201, unchecked return value in import.c by Jason HarperNeal Norwitz2003-03-231-0/+2
| | | | Will backport.
* Remove PyArg_ParseTuple() for methods which take no args,Neal Norwitz2003-02-171-23/+13
| | | | use METH_NOARGS instead
* Cleanup from patch #683257:Neal Norwitz2003-02-121-4/+7
| | | | | | | Add missing INCREFs and re-indent returns to be consistent. Add \n\ for lines in docstring Add a pathetic test Add docs
* Provide access to the import lock, fixing SF bug #580952. This isGuido van Rossum2003-02-121-6/+52
| | | | | | | | mostly from SF patch #683257, but I had to change unlock_import() to return an error value to avoid fatal error. Should this be backported? The patch requested this, but it's a new feature.
* MacPython-OS9 specific fix: If there are non-string items on sys.path don't ↵Jack Jansen2003-01-241-15/+18
| | | | try to intern them. This has the theoretical problem that resource filenames on sys.path cannot be unicode objects, but in practice that shouldn't matter.
* PEP 302 + zipimport:Just van Rossum2002-12-301-19/+236
| | | | | | | | | | | | | - new import hooks in import.c, exposed in the sys module - new module called 'zipimport' - various changes to allow bootstrapping from zip files I hope I didn't break the Windows build (or anything else for that matter), but then again, it's been sitting on sf long enough... Regarding the latest discussions on python-dev: zipimport sets pkg.__path__ as specified in PEP 273, and likewise, sys.path item such as /path/to/Archive.zip/subdir/ are supported again.
* Backing out patch #642578 in anticipation of final acceptance of PEP 302.Just van Rossum2002-12-251-147/+0
|
* Added missing casts.Jack Jansen2002-12-131-2/+2
|
* Patch #614055: Support OpenVMS.Martin v. Löwis2002-12-061-2/+5
|
* Slightly improved version of patch #642578: "Expose PyImport_FrozenModulesJust van Rossum2002-11-291-0/+147
| | | | | in imp". This adds two functions to the imp module: get_frozenmodules() and set_frozenmodules().
* Because MWH changed the bytecode again, moved the magic number *back*Guido van Rossum2002-08-311-1/+6
| | | | | to 62011. This should get the snake-farm to throw away its old .pyc files, amongst others.
* This is my patchMichael W. Hudson2002-08-151-1/+5
| | | | | | | | [ 587993 ] SET_LINENO killer Remove SET_LINENO. Tracing is now supported by inspecting co_lnotab. Many sundry changes to document and adapt to this change.
* Patch #569753: Remove support for WIN16.Martin v. Löwis2002-06-301-5/+5
| | | | Rename all occurrences of MS_WIN32 to MS_WINDOWS.
* Apply diff2.txt from SF patch http://www.python.org/sf/566999Walter Dörwald2002-06-171-7/+29
| | | | | | | | This patch enhances Python/import.c/find_module() so that unicode objects found in sys.path will be treated as legal directory names (The current code ignores anything that is not a str). The unicode name is converted to str using Py_FileSystemDefaultEncoding.