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-03-09 10:44:51 -04:00
|
|
|
- Virtually all 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.
|
1995-01-17 13:00:47 -04:00
|
|
|
|
|
|
|
- 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
|
|
|
|
1995-03-09 10:44:51 -04:00
|
|
|
- It should now build on the NeXT without intervention, even on the
|
|
|
|
3.3 Sparc pre-release.
|
|
|
|
|
|
|
|
- __import__ is now called with 4 arguments:
|
|
|
|
(modulename, globals, locals, fromlist)
|
|
|
|
|
|
|
|
- Characters passed to isspace() and friends are masked to nonnegative
|
|
|
|
values
|
|
|
|
|
|
|
|
- Correctly compute pow(-3.0, 3)
|
|
|
|
|
|
|
|
- Fix portability problems with getopt (configure now checks for a
|
|
|
|
non-GNU getopt)
|
|
|
|
|
|
|
|
- Don't add frozenmain.o to libPython.a
|
|
|
|
|
|
|
|
- Exceptions can now be classes
|
|
|
|
|
|
|
|
- The socket module exports a long list of socket related symbols
|
|
|
|
|
|
|
|
- Lots of Mac specific changes (this area of the source is not
|
|
|
|
completed!)
|
|
|
|
|
|
|
|
- When a module object is deleted, it clears out its own dictionary
|
|
|
|
(this fixes a circularity in the references between functions and
|
|
|
|
their global dictionary)
|
|
|
|
|
|
|
|
- Changed the error handling by [new]getargs() e.g. for "O&"
|
|
|
|
|
|
|
|
- Dynamic loading of modules using shared libraries is supported for
|
|
|
|
several new platforms
|
|
|
|
|
|
|
|
- Support "O&" in mkvalue()
|
|
|
|
|
|
|
|
- Extension to findmethod(): findmethodinchain() (where a chain is a
|
|
|
|
linked list of methodlist arrays)
|
|
|
|
|
|
|
|
- Callable() function is now public
|
|
|
|
|
|
|
|
|
|
|
|
Known bugs still remaining:
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
- There's still a memory leak in threads; bigger when
|
|
|
|
thread.exit_thread() is used
|
|
|
|
|
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>
|