Complete log of changes since 1.5a3 at the end.

This commit is contained in:
Guido van Rossum 1997-08-28 03:43:21 +00:00
parent a11b041537
commit 522578e90f
1 changed files with 143 additions and 13 deletions

156
Misc/NEWS
View File

@ -343,7 +343,7 @@ Drake.
determine whether an interactively entered command is complete or not,
distinguishing incomplete from invalid input.
- There is now a library module xdr.py which can read and write the
- There is now a library module xdrlib.py which can read and write the
XDR data format as used by Sun RPC, for example. It uses the struct
module.
@ -742,28 +742,159 @@ The following changes have been made to the source base after the
release of 1.5a3. These need to be merged into their respective
categories for the next release.
- regrtest.py is slightly more verbose, printing the name of each test
as it runs them.
- faqwiz.py: version 0.8; Recognize https:// as URL; <html>...</html>
feature; better install instructions; removed faqmain.py (which was an
older version).
- nntplib.py: Fixed some bugs reported by Lars Wirzenius (to Debian)
about the treatment of lines starting with '.'. Added a minimal test
function.
- struct module: ignore most whitespace in format strings.
- urllib.py: close the socket and temp file in URLopener.retrieve() so
that multiple retrievals using the same connection work.
- Three new C API functions:
- int PyErr_GivenExceptionMatches(obj1, obj2)
Returns 1 if obj1 and obj2 are the same object, or if obj1 is an
instance of type obj2, or of a class derived from obj2
- int PyErr_ExceptionMatches(obj)
Higher level wrapper around PyErr_GivenExceptionMatches() which uses
PyErr_Occurred() as obj1. This will be the more commonly called
function.
- void PyErr_NormalizeException(typeptr, valptr, tbptr)
Normalizes exceptions, and places the normalized values in the
arguments. If type is not a class, this does nothing. If type is a
class, then it makes sure that value is an instance of the class by:
1. if instance is of the type, or a class derived from type, it does
nothing.
2. otherwise it instantiates the class, using the value as an
argument. If value is None, it uses an empty arg tuple, and if
the value is a tuple, it uses just that.
- Demo/metaclasses: new demo subdir explains metaclasses (read
index.html in a browser).
- core interpreter: remove the distinction between tuple and list
unpacking; allow an arbitrary sequence on the right hand side of any
unpack instruction. (UNPACK_LIST and UNPACK_TUPLE now do the same
thing, which should really be called UNPACK_SEQUENCE.)
- classes: Allow assignments to an instance's __dict__ or __class__,
so you can change ivars (including shared ivars -- shock horror) and
change classes dynamically. Also make the check on read-only
attributes of classes less draconic -- only the specials names
__dict__, __bases__, __name__ and __{get,set,del}attr__ can't be
assigned.
- Two new built-in functions: issubclass() and isinstance(). Both
take classes as their second arguments. The former takes a class as
the first argument and returns true iff first is second, or is a
subclass of second. The latter takes any object as the first argument
and returns true iff first is an instance of the second, or any
subclass of second.
- configure: Added configuration tests for presence of alarm(),
pause(), and getpwent().
- Doc/Makefile: changed latex2html targets.
- classes: Reverse the search order for the Don Beaudry hook so that
the first class with an applicable hook wins. Makes more sense.
- Changed the checks made in Py_Initialize() and Py_Finalize(). It is
now legal to call these more than once. The first call to
Py_Initialize() initializes, the first call to Py_Finalize()
finalizes. There's also a new API, Py_IsInitalized() which checks
whether we are already initialized (in case you want to leave things
as they were).
- Completely disable the declarations for malloc(), realloc() and
free(). Any 90's C compiler has these in header files, and the tests
to decide whether to suppress the declarations kept failing on some
platforms.
- *Before* (instead of after) signalmodule.o is added, remove both
intrcheck.o and sigcheck.o. This should get rid of warnings in ar or
ld on various systems.
- Added reop to PC/config.c
- configure: Decided to use -Aa -D_HPUX_SOURCE on HP-UX platforms.
Removed outdated HP-UX comments from README. Added Cray T3E comments.
- Various renames of statically defined functions that had name
conflicts on some systems, e.g. strndup (GNU libc), join (Cray),
roundup (sys/types.h).
- urllib.py: Interpret three slashes in file: URL as local file (for
Netscape on Windows/Mac).
- copy.py: Make sure the objects returned by __getinitargs__() are
kept alive (in the memo) to avoid a certain kind of nasty crash. (Not
easily reproducable because it requires a later call to
__getinitargs__() to return a tuple that happens to be allocated at
the same address.)
- Added definition of AR to toplevel Makefile. Renamed @buildno temp
file to buildno1.
- Moved Include/assert.h to Parser/assert.h, which seems to be the
only place where it's needed.
- Alas, the thread support for _tkinter didn't work. Withdrew it.
- Tweaked the dictionary lookup code again for some more speed
(Vladimir Marangozov).
- NT build: Changed the way python15.lib is included in the other
projects. Per Mark Hammond's suggestion, add it to the extra libs in
Settings instead of to the project's source files.
- regrtest.py: Change default verbosity so that there are only three
levels left: -q, default and -v. In default mode, the name of each
test is now printed. -v is the same as the old -vv. -q is more quiet
than the old default mode.
- Removed the old FAQ from the distribution. You now have to get it
from the web!
- Removed the PC/make_nt.in file from the distribution; it is no
longer needed.
- Changed the build sequence so that shared modules are built last.
This fixes things for AIX and doesn't hurt elsewhere.
- Improved test for GNU MP v1 in mpzmodule.c
- fileobject.c: ftell() on Linux discards all buffered data; changed
read() code to use lseek() instead
read() code to use lseek() instead to get the same effect
- configure.in, configure, importdl.c: NeXT sharedlib fixes
- tupleobject.c: PyTuple_SetItem asserts refcnt==1
- resource.c: Change how and when to declare getpagesize() and
getrlimit()
- mpzmodule.c: CPP hack to support GMP 1.x for real
- resource.c: Different strategy regarding whether to declare
getrusage() and getpagesize() -- #ifdef doesn't work, Linux has
conflicting decls in its headers. Choice: only declare the return
type, not the argument prototype, and not on Linux.
- importdl.c, configure*: set sharedlib extensions properly for NeXT
- configure*, Makefile.in, Modules/Makefile.pre.in: AIX shared libraries
fixed; moved addition of PURIFY to LINKCC to configure
- reopmodule.c, regexmodule.c, regexpr.c, zlibmodule.c: casts to shut
up Mac compiler
- reopmodule.c, regexmodule.c, regexpr.c, zlibmodule.c: needed casts
added to shup up various compilers.
- _tkinter.c: removed buggy mac #ifndef
@ -771,10 +902,9 @@ up Mac compiler
- PC/make_nt.in: deleted
- test_time.py, test_strftime.py: tweaks to catch %Z
- test_time.py, test_strftime.py: tweaks to catch %Z (which may return
"")
- test_rotor.py: print b -> print `b`
- Tkinter.py: (tagOrId) -> (tagOrId,)
- faqwiz.py: Recognize https:// as URL