updates for final release of 1.2

This commit is contained in:
Guido van Rossum 1995-04-10 11:52:44 +00:00
parent 91cb9d2fda
commit 0082c1a121

130
Misc/NEWS
View file

@ -2,40 +2,59 @@
==> Release 1.2 <== ==> Release 1.2 <==
=================================== ===================================
- Changes to Misc/python-mode.el:
- Wrapping and indentation within triple quote strings should work
properly now.
- `Standard' bug reporting mechanism (use C-c C-b)
- py-mark-block was moved to C-c C-m
- C-c C-v shows you the python-mode version
- a basic python-font-lock-keywords has been added for Emacs 19
font-lock colorizations.
- proper interaction with pending-del and del-sel modes.
- New py-electric-colon (:) command for improved outdenting. Also
py-indent-line (TAB) should handle outdented lines better.
- New commands py-outdent-left (C-c C-l) and py-indent-right (C-c C-r)
- Virtually all known bugs have been fixed. For example the - The Library Reference has been restructured, and many new and
pow(2,2,3L) bug on Linux has been fixed. Also the re-entrancy existing modules are now documented, in particular the debugger and
problems with __del__ have been fixed. the profiler, as well as the persistency and the WWW/Internet support
modules.
- Most known memory leaks have been fixed. - 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.
- All known memory leaks have been fixed.
- Phase 2 of the Great Renaming has been executed. The header files - Phase 2 of the Great Renaming has been executed. The header files
now use the new names (PyObject instead of object, etc.). The linker 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, 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 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 only see the new names. Dynamically linked modules have to be
recompiled. recompiled. (Phase 3, fixing the rest of the sources, will be
executed gradually with the release later versions.)
- The hooks for implementing "safe-python" (better called "restricted - The hooks for implementing "safe-python" (better called "restricted
execution") are in place. Specifically, the import statement is execution") are in place. Specifically, the import statement is
implemented by calling the built-in function __import__, and the implemented by calling the built-in function __import__, and the
built-in names used in a particular scope are taken from the built-in names used in a particular scope are taken from the
dictionary __builtins__ in that scope's global dictionary. See also dictionary __builtins__ in that scope's global dictionary. See also
the new module rexec.py. the new (unsupported, undocumented) module rexec.py.
- The import statement now supports the syntax "import a.b.c" and - The import statement now supports the syntax "import a.b.c" and
"from a.b.c import name". No meaningful implementation exists, but "from a.b.c import name". No officially supported implementation
one can be prototyped by replacing the built-in __import__ function. exists, but one can be prototyped by replacing the built-in __import__
function. A proposal by Ken Manheimer is provided as newimp.py.
- All machinery used by the import statement (or the built-in - All machinery used by the import statement (or the built-in
__import__ function) is now exposed through the new built-in module __import__ function) is now exposed through the new built-in module
"imp". All dynamic loading machinery is moved to the new file "imp" (see the library reference manual). All dynamic loading
importdl.c. machinery is moved to the new file importdl.c.
- Persistent storage is supported through the use of the module - Persistent storage is supported through the use of the modules
"pickle" and "shelve" (implemented in Python). Read the .py files for "pickle" and "shelve" (implemented in Python). There's also a "copy"
more info. There's also a "copy" module implementing deepcopy and module implementing deepcopy and normal (shallow) copy operations.
normal (shallow) copy operations. See the library reference manual.
- Documentation strings for many objects types are accessible through - Documentation strings for many objects types are accessible through
the __doc__ attribute. Modules, classes and functions support special the __doc__ attribute. Modules, classes and functions support special
@ -44,7 +63,10 @@ consists of just a string literal, that string literal becomes the
value of the __doc__ attribute. The default __doc__ attribute is value of the __doc__ attribute. The default __doc__ attribute is
None. Documentation strings are also supported for built-in None. Documentation strings are also supported for built-in
functions, types and modules; however this feature hasn't been widely functions, types and modules; however this feature hasn't been widely
used yet. See the 'new' module for an example. used yet. See the 'new' module for an example. (Basically, the type
object's tp_doc field contains the doc string for the type, and the
4th member of the methodlist structure contains the doc string for the
method.)
- The __coerce__ and __cmp__ methods for user-defined classes once - The __coerce__ and __cmp__ methods for user-defined classes once
again work as expected. As an example, there's a new standard class again work as expected. As an example, there's a new standard class
@ -53,62 +75,68 @@ Complex in the library.
- The functions posix.popen() and posix.fdopen() now have an optional - The functions posix.popen() and posix.fdopen() now have an optional
third argument to specify the buffer size, and default their second third argument to specify the buffer size, and default their second
(mode) argument to 'r' -- in analogy to the builtin open() function. (mode) argument to 'r' -- in analogy to the builtin open() function.
The same applies to posixfile.open() and the socket method makefile().
- Improved support for the Apple Macintosh, e.g. interfaces to (a few) - The thread.exit_thread() function now raises SystemExit so that
resource mananger functions, get/set file type and creator, gestalt, 'finally' clauses are honored and a memory leak is plugged.
sound manager, speech manager, MacTCP, comm toolbox, and the think C
console library. (Sorry, no Mac binary yet. Will try to produce one - Improved X11 and Motif support, by Sjoerd Mullender. This extension
shortly, plus instructions on how to compile with THINK C 6.0.) is being maintained and distributed separately.
- Improved support for the Apple Macintosh, in part by Jack Jansen,
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. This is being maintained
and distributed separately.
- Improved version for Windows NT, by Mark Hammond. This is being
maintained and distributed separately.
- Used autoconf 2.0 to generate the configure script. Adapted - Used autoconf 2.0 to generate the configure script. Adapted
configure.in to use the new features in autoconf 2.0. configure.in to use the new features in autoconf 2.0.
- It should now build on the NeXT without intervention, even on the - It now builds on the NeXT without intervention, even on the 3.3
3.3 Sparc pre-release. Sparc pre-release.
- __import__ is now called with 4 arguments:
(modulename, globals, locals, fromlist)
- Characters passed to isspace() and friends are masked to nonnegative - Characters passed to isspace() and friends are masked to nonnegative
values values.
- Correctly compute pow(-3.0, 3) - Correctly compute pow(-3.0, 3).
- Fix portability problems with getopt (configure now checks for a - Fix portability problems with getopt (configure now checks for a
non-GNU getopt) non-GNU getopt).
- Don't add frozenmain.o to libPython.a - Don't add frozenmain.o to libPython.a.
- Exceptions can now be classes - Exceptions can now be classes. ALl built-in exceptions are still
string objects, but this will change in the future.
- The socket module exports a long list of socket related symbols - The socket module exports a long list of socket related symbols.
(More built-in modules will export their symbolic constants instead of
relying on a separately generated Python module.)
- Lots of Mac specific changes (this area of the source is not - When a module object is deleted, it clears out its own dictionary.
completed!) This fixes a circularity in the references between functions and
their global dictionary.
- When a module object is deleted, it clears out its own dictionary - Changed the error handling by [new]getargs() e.g. for "O&".
(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 - Dynamic loading of modules using shared libraries is supported for
several new platforms several new platforms.
- Support "O&" in mkvalue() - Support "O&", "[...]" and "{...}" in mkvalue().
- Extension to findmethod(): findmethodinchain() (where a chain is a - Extension to findmethod(): findmethodinchain() (where a chain is a
linked list of methodlist arrays) linked list of methodlist arrays). The calling interface for
findmethod() has changed: it now gets a pointer to the (static!)
methodlist structure rather than just to the function name -- this
saves copying flags etc. into the (short-lived) method object.
- Callable() function is now public - The callable() function is now public.
- Object types can define a few new operations by setting function
pointers in the type object structure: tp_call defines how an object
is called, and tp_str defines how an object's str() is computed.
Known bugs still remaining: --Guido van Rossum, CWI, Amsterdam <mailto:guido@cwi.nl>
--------------------------- <http://www.cwi.nl/~guido/>
- There's still a memory leak in threads; bigger when
thread.exit_thread() is used
--Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>
URL: <http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>