| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
arbitrary nested parens in a %(...)X style format.
#Also folded two lines and added more detail to the error message for
#unsupported format character.
|
|
|
|
| |
imported when the user says "from package import *".
|
| |
|
| |
|
|
|
|
|
|
|
| |
resource files with various inheritence rules, parsers, etc.
pythonprefs uses this to create a single uniform interface to all
relevant python preferences.
|
| |
|
|
|
|
| |
resulted in full recompilation every time.
|
| |
|
| |
|
| |
|
|
|
|
| |
"optimize" has replaced "don't print".
|
|
|
|
|
|
|
| |
preference handling code is in modules pythonprefs and preferences.
This should finally make it easier for someone (Just?) to write a
decent interface to preference setting, and it'll allow setting
initial sys.path and such from ConfigurePython.
|
|
|
|
| |
Added a couple of splash screens to show what we're doing
|
| |
|
| |
|
| |
|
|
|
|
| |
metaclasses, and acks.
|
| |
|
|
|
|
|
| |
a shared class variable -- but each instance will attempt to clean it
up entirely ob cleanup).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
instance, use inst.__dict__.update(value) instead of a for loop with
setattr() over the value.keys(). This is more consistent (the
pickling doesn't use getattr() either but pickles inst.__dict__) and
avoids problems with instances that have a __setattr__ hook.
But it *is* a semantic change (because the setattr hook is no longer
used). So beware!
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
lib-tk and lib-stdwin. (BTW this was also done in the previous
checkin of (toplevel)/Makefile.in, though not noted in the checkin
message.)
|
| |
|
|
|
|
|
| |
(This is necessary because when imported as test.test_rgbimg, the test
directory is not on sys.path.)
|
|
|
|
|
| |
(This is necessary because when imported as test.test_rgbimg, the test
directory is not on sys.path.)
|
|
|
|
|
|
| |
makesetup script. (Sorry Sjoerd -- I know you proposed this a while
ago and I didn't think it would work then. I looked again and it
does work.)
|
|
|
|
|
|
|
| |
it will run as package test, e.g. this will run the test suite:
import test.regrtest
test.regrtest.main()
|
| |
|
|
|
|
|
|
| |
- traceback should go to stdout!
- don't import ni, import t1!
- nicer support for command line options, only if run as __main__
|
|
|
|
| |
(i.e. when using ni, the old __init__.py semantics prevail!)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dummy entry to sys.modules, marking the absence of a submodule by the
same name.
Thus, if module foo.bar executes the statement "import time",
sys.modules['foo.time'] will be set to None, once the absence of a
module foo.time is confirmed (by looking for it in foo's path).
The next time when foo.bar (or any other submodule of foo) executes
"import time", no I/O is necessary to determine that there is no
module foo.time.
(Justification: It may seem strange to pollute sys.modules. However,
since we're doing the lookup anyway it's definitely the fastest
solution. This is the same convention that 'ni' uses and I haven't
heard any complaints.)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
right thing.
Still to do:
- Make reload() of a submodule work.
- Performance tweaks -- currently, a submodule that tries to import a
global module *always* searches the package directory first, even if
the global module was already imported. Not sure how to solve this
one; probably need to record misses per package.
- Documentation!
|
| |
|
| |
|
|
|
|
|
| |
a core dump when __str__() returns a non-string, and plugs a memory
leak as well: the result of PyObject_Str() was never DECREFed.
|
|
|
|
|
|
|
|
|
| |
errors are handled (these gave ``TypeError: not enough arguments'').
Also changed its __str__() to correct a typo (missing self.) and
return str(self.msg) to ensure the result is always string.
Also changed the default __str__ to simply return str(self.args).
|
|
|
|
| |
count, PyList_SetItem() does. Very confusing!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This doesn't yet support "import a.b.c" or "from a.b.c import x", but
it does recognize directories. When importing a directory, it
initializes __path__ to a list containing the directory name, and
loads the __init__ module if found.
The (internal) find_module() and load_module() functions are
restructured so that they both also handle built-in and frozen modules
and Mac resources (and directories of course). The imp module's
find_module() and (new) load_module() also have this functionality.
Moreover, imp unconditionally defines constants for all module types,
and has two more new functions: find_module_in_package() and
find_module_in_directory().
There's also a new API function, PyImport_ImportModuleEx(), which
takes all four __import__ arguments (name, globals, locals, fromlist).
The last three may be NULL. This is currently the same as
PyImport_ImportModule() but in the future it will be able to do
relative dotted-path imports.
Other changes:
- bltinmodule.c: in __import__, call PyImport_ImportModuleEx().
- ceval.c: always pass the fromlist to __import__, even if it is a C
function, so PyImport_ImportModuleEx() is useful.
- getmtime.c: the function has a second argument, the FILE*, on which
it applies fstat(). According to Sjoerd this is much faster. The
first (pathname) argument is ignored, but remains for backward
compatibility (so the Mac version still works without changes).
By cleverly combining the new imp functionality, the full support for
dotted names in Python (mini.py, not checked in) is now about 7K,
lavishly commented (vs. 14K for ni plus 11K for ihooks, also lavishly
commented).
Good night!
|
|
|
|
|
|
| |
is like PyImport_ImporModule(name) but receives the globals and locals
dict and the fromlist arguments as well. (The name is a char*; the
others are PyObject*s).
|
|
|
|
|
|
|
| |
Added 'p' format character for Pascal string (i.e. leading length
byte). This uses the count prefix line 's' does, except that the
count includes the length byte; i.e. '10p' takes 10 bytes packed but
has space for a length byte and 9 data bytes.
|
| |
|