summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1995-10-11 18:03:13 (GMT)
committerGuido van Rossum <guido@python.org>1995-10-11 18:03:13 (GMT)
commit5e639d446c638b794a3e6e6fa448d5a81b544763 (patch)
tree631e7c4bf1657beaf5b5905dc3bab60d526c1754 /Misc
parentc102a13f61a9292479d7353d3358b66a136357e9 (diff)
downloadcpython-5e639d446c638b794a3e6e6fa448d5a81b544763.zip
cpython-5e639d446c638b794a3e6e6fa448d5a81b544763.tar.gz
cpython-5e639d446c638b794a3e6e6fa448d5a81b544763.tar.bz2
transcribed changes from tut.tex
Diffstat (limited to 'Misc')
-rw-r--r--Misc/NEWS279
1 files changed, 144 insertions, 135 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 6a58712..f5d1b4f 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1,142 +1,151 @@
-===================================
-==> 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)
-
-- 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
-modules.
-
-- 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
-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.)
-
-- 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 rexec.py.
-
-- 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 newimp.py.
-
-- 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.
-
-- 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.
-
-- 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
-method.)
-
-- 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.
-The same applies to posixfile.open() and the socket method makefile().
-
-- The thread.exit_thread() function now raises SystemExit so that
-'finally' clauses are honored and a memory leak is plugged.
-
-- Improved X11 and Motif support, by Sjoerd Mullender. This extension
-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
-configure.in to use the new features in autoconf 2.0.
-
-- It now builds on the NeXT without intervention, even on the 3.3
-Sparc pre-release.
-
-- 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. 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.
-(More built-in modules will export their symbolic constants instead of
-relying on a separately generated Python module.)
+=====================================
+==> Release 1.3 (13 October 1995) <==
+=====================================
-- 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.
+Major change
+============
+
+Two words: Keyword Arguments. See the first section of Chapter 12 of
+the Tutorial.
+
+(The rest of this file is textually the same as the remaining sections
+of that chapter.)
-- 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&", "[...]" and "{...}" in mkvalue().
+Changes to the WWW and Internet tools
+=====================================
+
+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.
-- 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.
+A new module "formatter" has been added, for use with the new
+"htmllib" module.
-- The callable() function is now public.
+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.
-- 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.
+The "rfc822.Message" class has been changed to allow a flag to be
+passed in that says that the file is unseekable.
---Guido van Rossum, CWI, Amsterdam <mailto:guido@cwi.nl>
-<http://www.cwi.nl/~guido/>
+The "ftplib" module has been fixed to be (hopefully) more robust on
+Linux.
+
+Several new operations that are optionally supported by servers have
+been added to "nntplib": "xover", "xgtitle", "xpath" and "date".
+
+Other Language Changes
+======================
+
+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.
+
+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.
+
+Changes to Built-in Operations
+==============================
+
+For file objects, "f.read(0)" 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.
+
+A new system variable, "sys.platform", has been added. It specifies
+the current platform, e.g. "sunos5" or "linux1".
+
+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.
+
+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
+module.)
+
+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".
+
+Library Changes
+===============
+
+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; ni.ni()" at the very top of the main program. These
+modules are amply documented in the Python source.
+
+The module "rexec" has been rewritten (incompatibly) to define a class
+and to use "ihooks".
+
+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()".
+
+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
+dialogs.
+
+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.
+
+A new dbm-like module, "bsddb", has been added, which uses the BSD DB
+package's hash method.
+
+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".
+
+The module "anydbm" provides a unified interface to "bsddb", "gdbm",
+"dbm", and "dumbdbm", choosing the first one available.
+
+A new extension module, "binascii", provides a variety of operations
+for conversion of text-encoded binary data.
+
+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".
+
+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 :-)