1994-11-10 19:04:51 -04:00
|
|
|
===================================
|
1995-01-17 13:00:47 -04:00
|
|
|
==> Release 1.2 <==
|
1994-11-10 19:04:51 -04:00
|
|
|
===================================
|
|
|
|
|
|
|
|
|
1995-01-17 13:00:47 -04:00
|
|
|
- Most known bugs have been fixed. For example the pow(2,2,3L) bug on
|
|
|
|
Linux has been fixed. Also the re-entrancy problems with __del__ have
|
|
|
|
been fixed.
|
|
|
|
|
|
|
|
- Most known memory leaks have been fixed.
|
|
|
|
|
|
|
|
- Phase 2 of the Great Renaming has been executed. The header files
|
|
|
|
now use the new names (PyObject instead of object, etc.). The linker
|
|
|
|
also sees the new names. Most source files still use the old names,
|
|
|
|
by virtue of the rename2.h header file. If you include Python.h, you
|
|
|
|
only see the new names. Dynamically linked modules have to be
|
|
|
|
recompiled.
|
|
|
|
|
|
|
|
- The hooks for implementing "safe-python" (better called "restricted
|
|
|
|
execution") are in place. Specifically, the import statement is
|
|
|
|
implemented by calling the built-in function __import__, and the
|
|
|
|
built-in names used in a particular scope are taken from the
|
|
|
|
dictionary __builtins__ in that scope's global dictionary. See also
|
|
|
|
the new module rexec.py.
|
|
|
|
|
|
|
|
- The import statement now supports the syntax "import a.b.c" and
|
|
|
|
"from a.b.c import name". No meaningful implementation exists, but
|
|
|
|
one can be prototyped by replacing the built-in __import__ function.
|
|
|
|
|
|
|
|
- All machinery used by the import statement (or the built-in
|
|
|
|
__import__ function) is now exposed through the new built-in module
|
|
|
|
"imp". All dynamic loading machinery is moved to the new file
|
|
|
|
importdl.c.
|
|
|
|
|
|
|
|
- Persistent storage is supported through the use of the module
|
|
|
|
"pickle" and "shelve" (implemented in Python). Read the .py files for
|
|
|
|
more info. There's also a "copy" module implementing deepcopy and
|
|
|
|
normal (shallow) copy operations.
|
|
|
|
|
|
|
|
- Documentation strings for many objects types are accessible through
|
|
|
|
the __doc__ attribute. Modules, classes and functions support special
|
|
|
|
syntax to initialize the __doc__ attribute: if the first statement
|
|
|
|
consists of just a string literal, that string literal becomes the
|
|
|
|
value of the __doc__ attribute. The default __doc__ attribute is
|
|
|
|
None. Documentation strings are also supported for built-in
|
|
|
|
functions, types and modules; however this feature hasn't been widely
|
|
|
|
used yet. See the 'new' module for an example.
|
|
|
|
|
|
|
|
- The __coerce__ and __cmp__ methods for user-defined classes once
|
|
|
|
again work as expected. As an example, there's a new standard class
|
|
|
|
Complex in the library.
|
|
|
|
|
|
|
|
- The functions posix.popen() and posix.fdopen() now have an optional
|
|
|
|
third argument to specify the buffer size, and default their second
|
|
|
|
(mode) argument to 'r' -- in analogy to the builtin open() function.
|
|
|
|
|
|
|
|
- Improved support for the Apple Macintosh, e.g. interfaces to (a few)
|
|
|
|
resource mananger functions, get/set file type and creator, gestalt,
|
|
|
|
sound manager, speech manager, MacTCP, comm toolbox, and the think C
|
|
|
|
console library. (Sorry, no Mac binary yet. Will try to produce one
|
|
|
|
shortly, plus instructions on how to compile with THINK C 6.0.)
|
|
|
|
|
|
|
|
- Used autoconf 2.0 to generate the configure script. Adapted
|
|
|
|
configure.in to use the new features in autoconf 2.0.
|
1994-10-06 13:03:45 -03:00
|
|
|
|
|
|
|
|
1994-01-26 13:24:14 -04:00
|
|
|
--Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>
|
|
|
|
URL: <http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>
|