Anonymous committed df2f252

transcribed changes from tut.tex

Comments (0)

Files changed (1)

-==> Release 1.2 <==
+==> Release 1.3 (13 October 1995) <==
-- 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)
+Major change
-- The Library Reference has been restructured, and many new and
-existing modules are now documented, in particular the debugger and
-the profiler, as well as the persistency and the WWW/Internet support
+Two words: Keyword Arguments.  See the first section of Chapter 12 of
+the Tutorial.
-- 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.
+(The rest of this file is textually the same as the remaining sections
+of that chapter.)
-- All 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.  (Phase 3, fixing the rest of the sources, will be
-executed gradually with the release later versions.)
+Changes to the WWW and Internet tools
-- 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 (unsupported, undocumented) module
+The "htmllib" module has been rewritten in an incompatible fashion.
+The new version is considerably more complete (HTML 2.0 except forms,
+but including all ISO-8859-1 entity definitions), and easy to use.
+Small changes to "sgmllib" have also been made, to better match the
+tokenization of HTML as recognized by other web tools.
-- The import statement now supports the syntax "import a.b.c" and
-"from a.b.c import name".  No officially supported implementation
-exists, but one can be prototyped by replacing the built-in __import__
-function.  A proposal by Ken Manheimer is provided as
+A new module "formatter" has been added, for use with the new
+"htmllib" module.
-- All machinery used by the import statement (or the built-in
-__import__ function) is now exposed through the new built-in module
-"imp" (see the library reference manual).  All dynamic loading
-machinery is moved to the new file importdl.c.
+The "urllib"and "httplib" modules have been changed somewhat to allow
+overriding unknown URL types and to support authentication.  They now
+use "mimetools.Message" instead of "rfc822.Message" to parse headers.
+The "endrequest()" method has been removed from the HTTP class since
+it breaks the interaction with some servers.
-- Persistent storage is supported through the use of the modules
-"pickle" and "shelve" (implemented in Python).  There's also a "copy"
-module implementing deepcopy and normal (shallow) copy operations.
-See the library reference manual.
+The "rfc822.Message" class has been changed to allow a flag to be
+passed in that says that the file is unseekable.
-- 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.  (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
+The "ftplib" module has been fixed to be (hopefully) more robust on
-- 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.
+Several new operations that are optionally supported by servers have
+been added to "nntplib": "xover", "xgtitle", "xpath" and "date".
-- 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.
-The same applies to and the socket method makefile().
+Other Language Changes
-- The thread.exit_thread() function now raises SystemExit so that
-'finally' clauses are honored and a memory leak is plugged.
+The "raise" statement now takes an optional argument which specifies
+the traceback to be used when printing the exception's stack trace.
+This must be a traceback object, such as found in "sys.exc_traceback".
+When omitted or given as "None", the old behavior (to generate a stack
+trace entry for the current stack frame) is used.
-- Improved X11 and Motif support, by Sjoerd Mullender.  This extension
-is being maintained and distributed separately.
+The tokenizer is now more tolerant of alien whitespace.  Control-L in
+the leading whitespace of a line resets the column number to zero,
+while Control-R just before the end of the line is ignored.
-- 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.
+Changes to Built-in Operations
-- Improved version for Windows NT, by Mark Hammond.  This is being
-maintained and distributed separately.
+For file objects, "" and "f.readline(0)" now return an empty
+string rather than reading an unlimited number of bytes.  For the
+latter, omit the argument altogether or pass a negative value.
-- Used autoconf 2.0 to generate the configure script.  Adapted to use the new features in autoconf 2.0.
+A new system variable, "sys.platform", has been added.  It specifies
+the current platform, e.g. "sunos5" or "linux1".
-- It now builds on the NeXT without intervention, even on the 3.3
-Sparc pre-release.
+The built-in functions "input()" and "raw_input()" now use the GNU
+readline library when it has been configured (formerly, only
+interactive input to the interpreter itself was read using GNU
+readline).  The GNU readline library provides elaborate line editing
+and history.  The Python debugger ("pdb") is the first beneficiary of
+this change.
-- Characters passed to isspace() and friends are masked to nonnegative
+Two new built-in functions, "globals()" and "locals()", provide access
+to dictionaries containming current global and local variables,
+respectively.  (These augment rather than replace "vars()", which
+returns the current local variables when called without an argument,
+and a module's global variables when called with an argument of type
-- Correctly compute pow(-3.0, 3).
+The built-in function "compile()" now takes a third possible value for
+the kind of code to be compiled: specifying "'single'" generates code
+for a single interactive statement, which prints the output of
+expression statements that evaluate to something else than "None".
-- Fix portability problems with getopt (configure now checks for a
-non-GNU getopt).
+Library Changes
-- Don't add frozenmain.o to libPython.a.
+There are new module "ni" and "ihooks" that support importing modules
+with hierarchical names such as "A.B.C".  This is enabled by writing
+"import ni;" at the very top of the main program.  These
+modules are amply documented in the Python source.
-- Exceptions can now be classes.  ALl built-in exceptions are still
-string objects, but this will change in the future.
+The module "rexec" has been rewritten (incompatibly) to define a class
+and to use "ihooks".
-- 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.)
+The "string.split()" and "string.splitfields()" functions are now the
+same function (the presence or absence of the second argument
+determines which operation is invoked); similar for "string.join()"
+and "string.joinfields()".
-- 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.
+The "Tkinter" module and its helper "Dialog" have been revamped to use
+keyword arguments.  Tk 4.0 is now the standard.  A new module
+"FileDialog" has been added which implements standard file selection
-- Changed the error handling by [new]getargs() e.g. for "O&".
+The optional built-in modules "dbm" and "gdbm" are more coordinated
+--- their "open()" functions now take the same values for their "flag"
+argument, and the "flag" and "mode" argument have default values (to
+open the database for reading only, and to create the database with
+mode "0666" minuse the umask, respectively).  The memory leaks have
+finally been fixed.
-- Dynamic loading of modules using shared libraries is supported for
-several new platforms.
+A new dbm-like module, "bsddb", has been added, which uses the BSD DB
+package's hash method.
-- Support "O&", "[...]" and "{...}" in mkvalue().
+A portable (though slow) dbm-clone, implemented in Python, has been
+added for systems where none of the above is provided.  It is aptly
+dubbed "dumbdbm".
-- Extension to findmethod(): findmethodinchain() (where a chain is a
-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.
+The module "anydbm" provides a unified interface to "bsddb", "gdbm",
+"dbm", and "dumbdbm", choosing the first one available.
-- The callable() function is now public.
+A new extension module, "binascii", provides a variety of operations
+for conversion of text-encoded binary data.
-- 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.
+There are three new or rewritten companion modules implemented in
+Python that can encode and decode the most common such formats: "uu"
+(uuencode), "base64" and "binhex".
---Guido van Rossum, CWI, Amsterdam <>
+A module to handle the MIME encoding quoted-printable has also been
+added: "quopri".
+The parser module (which provides an interface to the Python parser's
+abstract syntax trees) has been rewritten (incompatibly) by Fred
+Drake.  It now lets you change the parse tree and compile the result!
+Other Changes
+The dynamic module loader recognizes the fact that different filenames
+point to the same shared library and loads the library only once, so
+you can have a single shared library that defines multiple modules.
+(SunOS / SVR4 style shared libraries only.)
+Jim Fulton's ``abstract object interface'' has been incorporated into
+the run-time API.  For more detailes, read the files
+"Include/abstract.h" and "Objects/abstract.c".
+The Macintosh version is much more robust now.
+Numerous things I have forgotten or that are so obscure no-one will
+notice them anyway :-)