Mon Feb 13 12:39:16 1995 Guido van Rossum * README: removed remark on NeXT and -posix since this is now done by configure * Mac/config.c, Modules/config.c.in (getversion): tack compiler name and version (where known) onto version string * Python/{ceval.c,bltinmodule.c}: call __import__ with 4 arguments: modulename, globals, locals, list_of_from_names_or_None (for Ken Manheimer) * Objects/floatobject.c: work-around for NeXT Sparc 3.3 prerelease (Barry Warsaw) * Python/ceval.c (eval_code): call locals_2_fast before doing import from (Jim Roskind) Fri Feb 10 17:08:35 1995 Guido van Rossum * Objects/object.c (newvarobject), Include/objimpl.h: make size argument signed * Include/allobjects.h, several other files: introduce Py_CHARMASK(c) which expands to c&0xff, or just c if characters are unsigned. This should fix problems with passing negative values to isspace() and friends for characters > 0x7f on systems where 'char' is signed Thu Feb 9 10:26:21 1995 Guido van Rossum * Lib/copy.py: added __doc__ strings * Lib/shelve.py: added __doc__ strings * Lib/anydbm.py: added __doc__ strings and test for gdbm * Include/longintrepr.h: remove untrue comment about signed/unsigned ob_size * Modules/mpzmodule.c (mpz_div_and_mod): add proper casts (Jim Fulton) Wed Feb 8 15:48:24 1995 Guido van Rossum * Python/bltinmodule.c (do_pow), Objects/floatobject.c (float_pow): move check for negative float to the float power to the pow() function, so negative float to the integer power can be implemented correctly (after coercion to float) Tue Feb 7 10:14:34 1995 Guido van Rossum * Python/import.c (init_frozen): make it non-static, so frozenmain.c can use it. Also remove the reference to frozenmain.o from Python/Makefile.in * Doc/{ref6.tex,ref7.tex} (raise, except): describe classes and instances used as exceptions (R Lindsay Todd) * Lib/test/test_exceptions.py: added tests for raising classes (R Lindsay Todd) * Python/ceval.c (exec_statement): DECREF result of run_string (Mark Lutz) * Modules/cursesmodule.c: patches to clear errors between failing calls to Arg_Parse (Steve Clift) Fri Feb 3 13:48:12 1995 Guido van Rossum * Lib/bdb.py (format_stack_entry): append () to function name if no __args__ * Lib/pdb.py (print_stack_entry): default prompt_prefix is line_prefix, and use the default everywhere Thu Feb 2 15:27:15 1995 Guido van Rossum * Python/pythonrun.c (print_error): print class name for exceptions that are classes (R Lindsay Todd) * Modules/tkintermodule.c: use PyCallable_Check instead of manually checking for some callable types for callbacks; export TK_VERSION and TCL_VERSION strings; a few Tk 4.0 specific changes * Modules/socketmodule.c (initsocket): added a long list of socket related constants -- better here than in a separate python module, because the values change per system (R Lindsay Todd) * Doc/{lib.tex,libsignal.tex}: added documentation for signal module (Andrew Kuchling) Tue Jan 31 13:06:59 1995 Guido van Rossum * Include/pythonrun.h: remove declaration of (now static) run_pyc_file * Modules/posixmodule.c (posix_utime): correct typo in utime() stub Tue Jan 31 11:02:00 1995 Guido van Rossum * Modules/{pwdmodule.c,grpmodule.c} (mkpwent, mkgrent): NeXT specific patch for little endian machines where the uid and gid are in the wrong place in the structure (Mike Carlton) Mon Jan 30 16:17:33 1995 Guido van Rossum * configure.in: add -posix to definition of CC when detecting Next Mon Jan 30 13:32:07 1995 Guido van Rossum * Mac/*: not clearly logged are lots of changes to the Mac specific modules, e.g. reworking of the interrupt detection code and general reorganization of macglue.[ch], as well as support for modules generated by "bgen" (see Demo/bgen), and subsequent removal of the resource and sound interfaces from MacOS (since they now have their own, complete, generated interface), and also lots of development on the mactcp and macfs front * Modules/stdwinmodule.c (initstdwin): disable python's own event processing on the mac as soon as stdwin is imported; removed some unused variables * Parser/intrcheck.c: moved all mac specific stuff to Mac/macglue.c * Python/pythonrun.c (goaway): Think C mod to suppress pausing at normal exit * Python/import.c (imp_get_magic): fix glaring indexing bug * Modules/dbmmodule.c (dbm_keys): fix memory leak and tighten error checking (and redo lay-out) Fri Jan 27 00:00:17 1995 Guido van Rossum * Objects/listobject.c: round up item count on resize to improve realloc performance (dramatic effect in the Mac with Think C!) * Include/{rename2.h,methodobject.h}, Objects/methodobject.c: added support for chaining method lists: Py_FindMethodInChain Thu Jan 26 12:59:51 1995 Guido van Rossum * Python/Makefile.in: removed frozenmain.o from OBJS -- it has no business being in libPython.a. (Still build it though.) Thu Jan 26 00:42:29 1995 Guido van Rossum * Lib/mhlib.py: fix bogus test for matching regex * stdwinmodule.c: (re)move some unused variables * Python/pythonrun.c (run_pyc_file): made static (fatal): loop forever on Mac, so error message remains visible * Python/import.c (doneimport): no need to dictclear() the module's dictionary (that's done automatically when the module is actually deleted) * Objects/classobject.c (instancebinop): removed unused variables * Objects/moduleobject.c (module_dealloc): explicitly erase a module's dictionary when the module object disappears -- this was formerly done in import's doneimport() * Objects/object.c, Python/bltinmodule.c: moved callable() to object.c (from static in bltinmodule.c) since it is generally useful (and I needed it :-); removed some unused vars Wed Jan 25 13:20:52 1995 Guido van Rossum * Modules/posixmodule.c (posix_utime): Be more robust in the light of unusual types for uname struct members and 64-bit longs * Python/ceval.c (eval_code): mods to allow using classes as exceptions (R Lindsay Todd) Mon Jan 23 20:48:16 1995 Guido van Rossum * configure.in (LDSHARED): add case for OSF/1 (Bob Kras); (socket libraries): add conditional for IRIX 5, where -lsocket exists but doesn't seem to work properly * Python/compile.c (get_docstring): add missing case for file_input, so __doc__ strings in modules work Sun Jan 22 20:45:40 1995 Guido van Rossum * Modules/regexmodule.c (reg_dealloc): free the compiled pattern buffer -- plugs a memory leak Sun Jan 22 01:44:01 1995 Guido van Rossum * Modules/signalmodule.c (sigcheck): renamed to PyErr_CheckSignals -- signal checking was broken because of this! Sat Jan 21 15:10:08 1995 Guido van Rossum * Python/getargs.c (seterror): don't overwrite error if one is already set (e.g. by O& handler) (convertsimple1): return "(unspecified)" instead of empty string for type description of "O&" object Fri Jan 20 15:27:51 1995 Guido van Rossum * Modules/Makefile.pre.in (sharedinstall): add command to make the $(DESTSHARED) directory * README: change NeXT hint to add -posix to C compiler flags * Python/import.c: document the fact that almost all functions returning a module object (except add_module()) increment its reference count, and add missing INCREF calls here and there * Python/bltinmodule.c (builtin___import__): don't INCREF the module -- import_module() has already done that * Python/ceval.c (eval_code, RAISE_EXCEPTION): add missing INCREF after gettupleitem() call (R Lindsay Todd) * configure.in: added check for working getopt (R Lindsay Todd); modernize all tests to use cache and report outcome (John Interrante) * Include/{classobject.h,listobject.h}: corrected two unconverted names (found by John Interrante) Thu Jan 19 01:31:46 1995 Guido van Rossum * configure.in (LDSHARED): added case for Sequent DYNIX (Jaap Vermeulen) * Mac/macglue.c (Pstring): truncate string to 255 bytes * Objects/listobject.c (list_dealloc): Fix NULL dereference in case of out-of-memory condition (Jack) * Parser/intrcheck.c (intrpeek): new Mac specific routine to test for interrupt without clearing the interrupt flag (Jack) * Python/errors.c (strerror): #undef it first on the Mac (Jack) * Lib/ftplib.py: don't break if os.environ doesn't exist (Jack) * Modules/timemodule.c (inittime): fix memory leaks (should decref new objects passed to dictinsert) * Python/compile.c (optimize): fix memory leak (forgot to decref localmap) * Objects/funcobject.c (func_dealloc): fix memory leak (forgot to decref func_name) * Python/importdl.c: added changes for NetBSD dynamic linking (David Hobley); removed shared linking for NeXT (incompatible with the -posix flag) * Modules/mathmodule.c: removed empty #ifdef macintosh...#endif * Parser/parsetok.c (parsetok): avoid uninitialized memory read * Mac: various stuff to port Jack's mods back to THINK C, as well as my own changes for apple events * Python/modsupport.c: support "O&" taking an object constructor and a void* (sort of inverse of O& in getargs) * configure.in, Makefile.in: mods to define and use INSTALL_PROGRAM and INSTALL_DATA as well as INSTALL (John Interrante) Wed Jan 18 12:01:20 1995 Guido van Rossum * Mac: lots of new stuff checked in by jack * configure.in: added test for genuine getopt (R Lindsay Todd) * Python/Makefile.in: removed getopt.o from OBJS (but left in getopt.o: getopt.c rule) * Python/getopt.c: don't use function prototypes (Anthony Baxter) * Modules/arraymodule.c: make the routines static now that their forward declarations are! (Anthony Baxter) ======================================== ==> Release 1.2 BETA 2 (17 Jan 1995) <== ======================================== Tue Jan 17 11:24:23 1995 Guido van Rossum * Include/patchlevel.h: set version to 1.2-beta-2 * Python/Makefile.in: added getopt to list of objects * Makefile.pre.in: be more careful about building Modules/Makefile.pre * Objects/floatobject.c: test for __STDC__ instead of macintosh de decide whether to declare fmod() and pow() -- this works in mathomodule.c so why not here... * Objects/rangeobject.c: made a few things static * Objects/longobject.c, Include/{longobject.h,rename2.h}: long_scan is now a macro that calls long_escan; long_scan no longer exists * Objects/object.c (strobject): use tp_str and only try __str__ if it's an instance * configure.in: hopefully final changes for Sequent's -linet * README: add hint for NeXT users to use --without-gcc * Python/{bltinmodule.c,ceval.c}, Objects/frameobject.c: initialize __builtins__ from built-in *module* instead of *dict*, to prevent interactive vars() call to loop recursively * Python/bltinmodule.c: fix Alpha bug in range and xrange -- sizeof(int) != sizeof(long) * Python/mystrtoul.c: include rename2.h * Modules/*: made things static and general clean-up for new naming scheme * Include/*.h: new names for lots of new functions * Lib/rexec.py: no need for distrusting dir() or vars(), changed open() to allow everything (for reading) except /etc/* * Mac/macmain.c: include rename2.h * */Makefile*in: added harmless $& to $(LIB) target for Sequent parallel make * Parser/tokenizer.c: fix loop on unterminated triple quotes * Parser/intrcheck.c: made 'interrupted' flag static again * Objects/listobject.c (list_ass_slice): free recycling bin when making early exit due to memory error * Objects/listobject.c, Include/{listobject.h,rename2.h}: added reverselist, C interface to list.reverse(). * Object/listobject.c (list_ass_slice): fixed re-entrancy bug (noticed by Jim Roskind) Sat Jan 14 11:21:29 1995 Guido van Rossum * Python/modsupport.c (PyEval_CallMethod): changed method argument name to methodname -- since method is also a typedef and some compiler choke on this (e.g. HP) (Andrew Kuchling) * Python/thread.c: added #include thread_nt.h (Mark Hammond) * Demo/scripts/h2py.py: support $include or $INCLUDE path instead of only using /usr/include (Mark Hammond) * Python/ceval.c (eval_code/PRINT_EXPR): fix messed output when x.__repr__() prints something and repr(x) is called at the prompt ======================================== ==> Release 1.2 BETA 1 (12 Jan 1995) <== ======================================== Thu Jan 12 12:27:23 1995 Guido van Rossum * Python/pythonrun.c (initmain), Python/import.c (exec_code_module): use getbuiltins(), not getbuiltindict() to initialize new modules * Python/ceval.c (getbuiltins): return getbuiltindict() instead of NULL if no current frame * Modules/cryptmodule.c: removed redundant include of modsupport.h * Modules/signalmodule.c: remove unwanted trigraph from comment * Modules/Setup.in: clarify status of dlmodule.c * Objects/object.c (cmpobject): properly implement cmp() for class instances Wed Jan 11 10:56:12 1995 Guido van Rossum * README: removed references to --with-svr4; added docs for --without-gcc * Modules/mathmodule.c: rearrange declarations somewhat Tue Jan 10 11:34:23 1995 Guido van Rossum * Include/*.h, Python/getmtime.c, Modules/.c: THE GREAT RENAMING (inspired by Jun Hamano). One now either includes "Python.h" and then uses new names only, or one includes "allobjects.h" and uses old names. "rename1.h" no longer exists; instead, "rename2.h" performs the reverse mapping. * Python/bltinmodule.c (builtin_filter): fix subtle refcount big in filter() (Tim MacKenzie) * Include/mymalloc.h, Modules/{Makefile.pre.in,config.c.in}: change to make things palatable for C++ (Tim MacKenzie) * Modules/socketmodule.c: only call hstrerror() if it exists * Modules/tkintermodule.c: added interface to Tk_DoOneEvent() (R Lindsay Todd) * Objects/longobject.c (long_pow): some defensive programming (Eric Siegerman) * Objects/intobject.c (int_pow): fix memory leak in ternary pow() (Eric Siegerman) * Modules/posixmodule.c (posix_fdopen, posix_popen): add optional argument to specify buffer size as for __builtin__.open(); also make mode argument optional (default "r") * Objects/classobject.c (instance_coerce): implement coercions involving instances properly * Objects/object.c, Python/bltinmodule.c: moved coerce() to objects.c, where it belongs * Doc/libfuncs.tex: added execfile(); reformulated eval() somewhat * Python/bltinmodule.c (builtin_{execfile,eval}): fix globals/locals defaults to match the manual again; also allow None to mean the same as the default * Lib/nntplib.py: fix comments for list command (should be last, first instead of first, last) * Lib/test/test_grammar.py: fix exec test so presence of __builtins__ doesn't break it Mon Jan 9 14:20:16 1995 Guido van Rossum * Objects/{funcobject.c,methodobject.c,classobject.c}: don't expose certain internals (e.g. __dict__) in restricted mode. * Python/thread_pthread.h: Alpha OSF/1 fix * Python/importdl.c (load_dynamic_module): removed bogus check for reloading of dynamically loaded modules (tested uninitialized local variable) * Include/{frameobject.h,ceval.h,bltinmodule.h,rename1}, Python/{ceval.c,import.c,pythonrun.c,bltinmodule.c}, Object/frameobject.c: changed handling of builtins. Each frame now has a pointer to the dictionary of builtins to be used in that frame, initialized from __builtins__ in the globals passed to the frame. Only run_node() and exec_code_module() initialize __builtins__ to the dictionary of the real __builtin__ module. Furthermore, a frame is in "restricted" mode if its builtins are not the real __builtin__ module. In restricted mode, some other modules and object types restrict their interfaces. Subtle change: eval_code() no longer automatically fills in the default globals; this must be done by the caller (who can then also explicitly stick in the builtins if needed). bltinmodule.c no longer exports {get,set}builtin() but instead exports getbuiltindict(). ceval.c export getbuiltins() and getrestricted() in analogy of getglobals(). * Include/sysmodule.h, Python/{sysmodule.c,ceval.c}, Doc/libsys.tex: change sys.check_interval Python variable into Python function sys.setcheckinterval(interval) and C variable sys_checkinterval * Mac/macosmodule.c: use new getargs interface; add {Get,Set}FileInfo Sat Jan 7 09:40:24 1995 Guido van Rossum * Python/compile.c: support import A.B...Z; added doc strings to modules, classes and function * Python/ceval.c: use new instancebinop interface * Python/bltinmodule.c: restructured coerce(), divmod(), pow() to use new instancebinop interface * Objects/classobject.c: added 5th (function) parameter to instancebinop, to support things like Rational * float; added documentation strings to classes and methods * Objects/methodobject.c: changed drastically, the object now contains a pointer to the struct methodlist (which must be static); added attributes __name__, __doc__ and __self__ * Objects/funcobject.c: added __doc__ attribute (alias func_doc), initialized from first constand in code object if it is a string, else to None * Objects/moduleobject.c: initialize __doc__ to None * Objects/typeobject.c: added getattr(), supporting __doc__ and __name__ * Objects/object.c: raise AttributeError, not TypeError for object without attributes * Python/modsupport.c, Include/modsupport.h: add doc string parameter to initmodule3 (renamed from initmodule2); new newmethodobject() interface * Modules/signalmodule.c (initsignal): don't call newmethodobject() directly -- rely on initmodule() * Modules/newmodule.c: rationalize argument checking, redo lay-out, add __doc__ strings * Include/object.h: added tp_str (to implement str()), tp_doc, and some dummy fields * Include/methodobject.h: added ml_doc member to struct methodlist and renamed ml_varargs to ml_flags; changed newmethodobject() to take a struct methodlist * argument instead of individual parts; got rid of ML_FREENAME again * Include/funcobject.h: added func_doc struct member * Include/classobject.h: added 5th (function) parameter to instancebinop, to support things like Rational * float * Grammar/Grammar: changed import to support NAME.NAME...NAME * Python/importdl.c (load_dynamic_module): NT dlls have extension .pyd, not .dll Thu Jan 5 11:00:13 1995 Guido van Rossum * Demo/scripts/mboxconvert.py: invent Message-ID if none present Wed Jan 4 18:23:09 1995 Guido van Rossum * Python/modsupport.c (initmodule2), Include/methodobject.h, Objects/methodobject.c: introduced METH_FREENAME bit passed to newmethodobject to indicate that if the object is freed the name pointer must also be freed (this saves a long standing memory leak in initmodule2) * Modules/structmodule.c (struct_pack, struct_unpack): use memcpy instead of double precision assignment (since a string isn't always double-aligned, e.g. when debug fields are present in the object header) * Objects/floatobject.c (float_hash): changed a constant to avoid float->long conversion overflow * Python/bltinmodule.c (builtin_pow): fix coerce() ref count nightmare (core dumps on Linux) * Python/pythonrun.c: call flushline() in print_error(), after fetching the exception info, since flushline() can mask an exception; move flushline() calls around so they are not between the detection and printing of the exception Tue Jan 3 12:55:28 1995 Guido van Rossum * Modules/config.c.in (getcopyright): Change copyright to include 1995 Mon Jan 2 20:15:39 1995 Guido van Rossum * Objects/mappingobject.c (mappingremove): don't call lookmapping() for empty dictionary * Doc/libsocket.tex (section{Built-in Module \sectcode{socket}}): documented gethostbyaddr() * Modules/mpzmodule.c (mpz_power): made it ternary * Modules/mathmodule.c: only use hypot() if it exists * Modules/Makefile.pre.in (sharedinstall): fix bug (sh can't loop over empty list) when $(SHAREDMODS) is empty sMon Jan 2 19:35:49 1995 Guido van Rossum * Python/errors.c: added hook for better mac error messages * Python/pythonrun.c (run_script): removed extraneous fclose() in case of .pyc file argument * Include/{object.h,stringobject.h}: changed refcnt and sizes from unsigned to int (i.e. signed) * Objects/fileobject.c (newfileobject): use HAVE_FOPENRF instead of USE_FOPENRF * Lib/test/test_b1.py: test eval() and execfile() with globals, locals arguments * Lib/mhlib.py: added movemessage(), copymessage(), added copy fallback for refilemessages(), and updated the docs Fri Dec 30 16:19:17 1994 Guido van Rossum * Parser/tokenizer.c (tok_nextc): zap tok->buf after freeing * Include/traceback.h: added struct _frame declaration for ANSI C * Include/bitset.h: move definition of testbit() around Thu Dec 29 10:09:25 1994 Guido van Rossum * Objects/mappingobject.c (mapping_has_key): don't call lookmapping() for empty dictionary * Modules/Makefile.pre.in: use new style @prefix@ substitution (sharedinstall): fix case of loop over empty $(SHAREDMODS) * Several files: removed redundant variables etc. (Sam Leffler) Wed Dec 28 12:09:10 1994 Guido van Rossum * Modules/threadmodule.c (t_bootstrap): XDECREF the return value; (thread_exit_thread): DECREF the frame returned by save_thread() * Modules/md5module.c, Doc/libmd5.tex: renamed md5.md5() to md5.new() Wed Dec 21 13:30:47 1994 Guido van Rossum * Python/ceval.c (build_class): add hook for Donald Beaudry Mon Dec 19 17:35:13 1994 Guido van Rossum * Doc/libposixfile.tex: the fileopen function was erroneously documented as openfile Tue Dec 13 11:46:03 1994 Guido Van Rossum * config.h.in, configure: rewritten *by* autoconf 2.0 * configure.in: parts rewritten for autoconf 2.0; strip spaces from uname output for QNX; test for some new things like ftruncate, truncate and va_list as array * acconfig.h: some reordering to get things in alphabetical order; added GETTIMEOFDAY_NO_TZ and VA_LIST_IS_ARRAY * README: Added SCO notes * Python/thread_solaris.h (start_new_thread): create new threads with THR_DETACHED option instead of THR_NEW_LWP -- else there's a limit to the number of threads you can create in total, ever, per process * Python/traceback.c (tb_print): don't store in sys.last_traceback (that's done in pythonrun.c:print_error() now) * Python/pythonrun.c (print_error): use fatal() instead of abort(); use err_fetch() instead of err_get(); call tb_print() instead of going through ceval.c:printtraceback() * Python/modsupport.c: fix vmkvalue() for systems where va_list is an array; add support for creating lists and dictionaries; added convenience functions for calling functions/methods with format and argument list * Python/marshal.c (rd[s]_object): add trap for calls while an exception condition is still set * Python/{import.c,importdl.c}: completely restructured: moved all dynamic loading stuff to importdl.c; added public interface to the functionality through module 'imp' (for __import__ hack) * Modules/threadmodule.c (t_bootstrap): fix leak of result value (still a massive leak left I think) * Python/errors.c: don't declare strerror on NT * Python/getargs.c (vgetargs[1]): fix for systems where va_list is an array * Python/compile.c: use fatal() instead of abort(); use err_{fetch,restore} * Python/ceval.c: move some (X)DECREF's around for improved re-entrancy; call built-in __import__ to implement IMPORT_NAME; use err_{fetch,restore}; fix call to __rshift__ in __lshift__; check for string left arg before anything else in rem() * Python/ceval.c, Include/ceval.h: get rid of printtraceback * Python/bltinmodule.c: added __import__ built-in function; restructured argument parsing of most built-ins to use newgetargs() * Python/Makefile.in: add importdl.o to OBJS; special-case compilation of importdl.c instead of import.c * Parser/{pgen.c,parser.c,grammar.c}: use fatal() instead of abort() * Objects/object.c: use fatal() instead of abort() * Objects/mappingobject.c: fix re-entrancy bugs (allow ma_table and ma_size to be 0) * Objects/listobject.c: fix some re-entrancy bugs (not complete) * Objects/frameobject.c: use err_{fetch,restore} everywhere; use fatal() instead of abort() * Objects/fileobject.c (file_truncate): new method (only of ftruncate() is in libc) * Objects/classobject.c (instance_getattr): add err_clear() when retrying after failing instance_getattr1() call; use err_{fetch,restore} everywhere * Modules/tkintermodule.c: use PyErr_{Fetch,Restore} instead of {GetAndClear,SetObject}; fix NULL dereference in TimerHandler * configure.in, Modules/timemodule.c: on some systems, gettimeofday() has no second argument * Modules/socketmodule.c: if O_NDELAY undefined, use O_NONBLOCK (for QNX); use gethostbyname_r if it exists (since it is re-entrant); use h_error and hstrerror when they exist; other changes for re-entrancy; make printable representation more useful; cosmetic changes in argument lists; add gethostbyaddr() * Modules/signalmodule.c: if NSIG undefined, use _SIGMAX + 1 * Modules/posixmodule.c: changes for direct/dirent dictated by autoconf 2.0 * Modules/config.c.in: added standard built-in module "imp" * Modules/{Makefile.pre.in,makesetup}: change @...@ to _..._ * Makefile.in: adapted to autoconf 2.0; treat prefix in a standard way, remove config caches in distclean target * Lib/tkinter/Tkinter.py (Pack.propagate): fix calling convention * Lib/test/test_b2.py: test reload() of built-in module (marshal) * Lib/test/{test_b1.py,testall.out}: added test for __import__ * Include/rename1.h: change HEAD_INIT to macro with argument * Include/import.h: added decl for get_pyc_magic() * Include/{rename1.h,errors.h}, Python/errors.c: added err_fetch() and err_restore(), get rid of err_get() * Include/bltinmodule.h, Python/bltinmodule.c (getbuiltins): new like getbuiltin() buit takes char * instead of stringobject * argument (for __import__ hack) * Doc/tut.tex: use spam, bacon and eggs instead of foo, bar, bletch * Doc/libtypes.tex (File Objects): add footnote explaining why readline() leaves the trailing newline in Sat Nov 19 15:14:02 1994 Guido Van Rossum * Objects/mappingobject.c: ma_table may now be NULL (when ma_size == ); changes to avoid re-entering the interpreter via DECREF while the mapping object is being modified * Several other places: similar * errors.[ch]: new functions err_fetch and err_restore fetch and restore all three exception related values (plus places using these) * Makefile.in (TESTPATH): Added ./Modules to test path so dynamically loaded modules are found even if not yet installed Wed Nov 16 14:19:01 1994 Guido Van Rossum * Python/sysmodule.c (list_builtin_module_names): stop a leak Mon Nov 14 13:21:45 1994 Guido van Rossum * Doc/ref[467].tex: don't use \verb{...} in footnotes; rewritten using {\tt ...} * Lib/urlparse.py (urljoin): safe version of Andy Bensky's fix to urllib.py * Lib/urllib.py (basejoin): (Andy Bensky) fix case where url has a type and a path but no host -- the host from the base should be inserted * Parser/grammar.c: (Don Beaudry) initialize accelerators print "Translating labels" header only if debugging * Doc/ref[36].tex: some typos * Doc/ref[35].tex: clarify reverse/backward quotes, add them to the index =================================== ==> Release 1.1.1 (10 Nov 1994) <== =================================== Thu Nov 10 13:09:26 1994 Guido van Rossum * Objects/classobject.c (instance_compare): don't ever raise an exception or return -2 * Python/compile.c: stick "" in function name instead of NULL or None * Doc/tut.tex: corrected a few typos * Modules/tkintermodule.c: added timer and file handler interfaces and made mainloop/quit global functions (as well still being tk methods) * Modules/newmodule.c: made it compile on SunOS4.1.3 (there were continuation backslashes on non-cpp lines :-) * Modules/gdbmmodule.c: fix some bugs (freed the wrong objects) * Modules/Setup.in: clarified some things a little in the comments * Modules/Makefile.pre.in (sharedinstall): don't fail if there aren't any shared modules * Include/structmember.h: include stddef.h (for offsetof) * Include/rename1.h: added PyArg_ParseTuple for newgetargs * Python/bltinmodule.c: fix core dump in pow() (should be declared varargs in methodlist array) * Python/ceval.c: replace abort() calls with fatal() calls * Python/errors.c (err_setval): call err_clear() to clear existing error instead of calling XDECREF * Python/getargs.c: fix core dump when old style call expecting some arguments receives none * Lib/test/{test_b[12].py,testall.out}: added more tests (now all built-ins are covered again) Thu Oct 20 08:31:02 1994 Guido van Rossum * Modules/makesetup: should use $cc not cc * configure.in, configure, config.h.in: test for presence of stddef.h * Include/structmember.h: include if it exists Wed Oct 19 11:45:35 1994 Guido Van Rossum * Makefile.in: patch by Wolf-D. Ihlenfeld to use BINDIR etc * Lib/tkinter/Tkinter.py: added option_{add,clear,get,readfile} to Misc class * Lib/poly.py: fix bug in minus() * Modules/Setup.in: clarified optional SGI modules and improved template for using *noconfig* * Doc/Makefile: don't assum '.' is in $PATH * Modules/mathmodule.c, Doc/libmath.tex: add hypot() * Makefile.in: on libinstall, automatically run sharedinstall in Modules * Modules/Makefile.pre.in: always make sharedmods * Modules/makesetup: quote $ in two places * configure.in, acconfig.h.in, config.h.in, configure, Modules/posixmodule.c: separate arg requirements for getpgrp() and setpgrp() * Nt/Python/makefile.nt.mak: added getargs() Thu Oct 13 07:51:03 1994 Guido van Rossum * README: removed misleading comment about example Setup.* files ================================= ==> Release 1.1 (11 Oct 1994) <== ================================= Tue Oct 11 16:24:42 1994 Guido van Rossum * last-minute changes for SunOS 4.1.3: test for volatile in configure; add getargs.o dependency to Modules/Makefile.in; some things in README and Misc/NEWS; change pathnames in Demo/tkinter/guido/*.py; new date in Doc Mon Oct 10 19:00:34 1994 Guido van Rossum * Makefile.in: apply ranlib to installed libraries * Modules/socketmodule.c: new style * Doc/ref3.tex: some stuff about __getattr__ etc. Thu Oct 6 16:40:05 1994 Guido van Rossum * Got rid of Modules/imgformat.c (will be distributed with Jack's img package) * Doc/*.tex: moved title boilerplate to separate file, added copyright notice (separate file) Wed Oct 5 11:13:13 1994 Guido van Rossum * Modules/config.c.in: don't include frozen.c when frozen (the new freeze script compiles it separately) * Lib/os.py: add dummy import posixpath, for freeze script * Python/marshal.c (r_object): plugged memory leak in reading of code objects * Modules/config.c.in (getpythonpath): always return malloc'ed memory -- save a static pointer to free next time (prevents leaks) Thu Sep 29 10:35:28 1994 Guido van Rossum * Grammar/Grammar: got rid of history; changed some diagram commands * Lib/types.py: cosmetic changes * Mac/{config.c,macosmodule.c}: new interface to (a few bits of) the Mac OS * Modules/xxmodule.c: integrated with xxobject.c by Jack * Modules/(posix,socket}module.c: more NT changes * Python/traceback.c: security fix -- check for buffer oveflow before concatenating sys.path item and module name * Python/ceval.c, Include/ceval.h: promote MakePendingCalls to global: Py_MakePendingCalls. Also guard against recursive calls * Python/pythonmain.c: fatal error if can't alloc mem for -c string * Python/pythonrun.c: add string "Python" to fatal error message Wed Sep 28 16:39:09 1994 Guido van Rossum * Objects/longobject.c: change ValueError to OverflowError when converting to int * Objects/xxobject.c: changed to use new style (not finished?) * Objects/stringobject.c: use HAVE_LIMITS instead of __STDC__ * Objects/rangeobject.c: modernized * Objects/floatobject.c: add overflow check when converting float to int and implement truncation towards zero using ceil/float * Parser/intrcheck.c: make 'interrupted' global (forgot for whom...) * Include/rename1.h: don't even define Py_FPROTO * Python/{modsupport.c,getargs.c,Makefile.in}, Include/modsupport.h: moved getargs() to its own file and re-implemented it entirely to support optional arguments, multiple arguments without surrounding parentheses (when called as newgetargs()), and better error messages * Include/classobject.h, Objects/classobject.c, Python/{ceval.c,bltinmodule.c}: entirely redone operator overloading. The rules for class instances are now much more relaxed than for other built-in types (whose coerce must still return two objects of the same type) Sun Sep 18 07:26:39 1994 Guido van Rossum * Python/pythonrun.c (print_error): print only last line of multi-line source line * Parser/tokenizer.c (tok_nextc): count line numbers when parsing strings Fri Sep 16 15:54:56 1994 Guido van Rossum * Python/modsupport.c (do_arg): added error message if "O!" fails; change type of converter for "O&" to function returning int taking an object* and a void* parameter; it should return 1 for success or return 0 and set an exception for failure to convert Wed Sep 14 14:08:44 1994 Guido van Rossum * Include/Python.h: new header file for new naming scheme * various modules: #include "Python.h" and remove most remporary renaming hacks * Lib/whrandom.py: if seed is (0,0,0), initialize from current time; default seed's arguments to (0,0,0) * Python/ceval.c (eval_code), Include/ceval.h: added registry of pending functions (to be used by functions that are called asynchronously, like UNIX signal handlers or Mac I/O completion routines) Wed Sep 14 11:05:36 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/libsys.tex (section{Built-in Module \sectcode{sys}}): documented sys.check_interval Tue Sep 13 21:35:19 1994 Guido van Rossum (guido@voorn.cwi.nl) * Import/pythonrun.h, Python/{import,pythonrun}.c, mac/macsetfiletype.c: changes by Jack to execute .pyc file passed as command line argument. On the Mac .pyc files are given a special type so they can be double-clicked * Modules/stropmodule.c (strop_[r]find): change index range check -- don't raise ValueError buit silently clip when it's out of range (this is compatible with slicing) Mon Sep 12 12:53:07 1994 Guido van Rossum (guido@voorn.cwi.nl) * Extensions/X11/Xmmodule.c: (Sjoerd): Implemented Xm.OptionButtonGadget and Xm.OptionLabelGadget * Modules/Setup.in: define PYTHONPATH using COREPYTHONPATH for extensions; add -lm to math module definition * Modules/Makefile.pre.in: remove *.so and so_locations on clobber * Modules/makesetup: (Sjoerd): treat words beginning with a dollar and not ending in a well-known extension as linker arguments * Lib/urlparse.py: URL parser according to the latest Internet draft * README: added note about HP-UX Sun Sep 11 12:12:28 1994 Guido van Rossum (guido@voorn.cwi.nl) * Misc/indent.pro: Steen's approximation of my C style as a GNU indent profile * Modules/{Setup.in,termios.c}: add Steen's termios; also Lib/[pt]ty.py, Demo/scripts/script.py, Lib/irix5/TERMIOS.py * Demo/scripts/h2py.py: merged in Steen Lumholt's changes to handle #include. Now also handles one-argument macros. * configure.in: use uname to decide how to create / link shared libraries and to set $(MACHDEP) (machine dependent subdirectory of Lib) * Makefile.in: shared library support; added target sharedinstall which move shared libraries into Lib/$(MACHDEP) * Modules/{Makefile.pre.in,Setup.in,makesetup}: support shared libraries. Had to re-engineer rule production in makesetup because sed was dumping core on the script fed to it -- now the rules are always appended to the end of the Makefile. Fri Sep 9 11:35:28 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/uu.py: new module, does uuencode/uudecode (thanks to Lance) * Grammar/Grammar: fewer #diagram:break hacks needed; removed history from file Thu Sep 8 10:24:41 1994 Guido van Rossum (guido@voorn.cwi.nl) * Parser/grammar1.c (finddfa): massive speed up by using direct addressing instead of searching Wed Sep 7 08:49:37 1994 Guido van Rossum (guido@voorn.cwi.nl) * Include/rename1.h: added PyArg_GetInt * pythonrun.h: added Py_AtExit * Doc/libsocket.tex, Modules/socketmodule.c: added Tommy Burnette's setblocking() method * Modules/signalmodule.c: adapted to new module style (Lance); added {BGN,END}_SAVE around pause() call * Objects/object.c (DELREF): must zap type pointer *before* calling free() (or other destructor) Sat Sep 3 14:12:38 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/{Setup.in,tkintermodule.c,tkappinit.c}: moved tkinter into the main Modules directory, and its Lib and Demo subdirectories into the main Lib and Demo directories. Moved definition of STDWIN component and TK component of PYTHONPATH to their respective sections so it's easier to remember to enable them. * Python/pythonrun.c (cleanup), Include/pythonrun.h: added Py_AtExit() -- register cleanup functions for C modules Tue Aug 30 10:53:50 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/getmtime.c: Remove mac specifics (Mac subdirectory has its own version now) * Modules/Setup.in: uses .c instead of .o now; added curses * Modules/{rotormodule,syslogmodule}.c: new naming conventions * Modules/cursesmodule.c: new, interface to curses * Modules/makesetup: bugfix: add objects from sources to OBJS * Modules/cursesmodule.c: new contribution from Lance * Python/bltinmodule.c (builtin_tuple): use pre-existing listtuple(v) for lists Mon Aug 29 15:41:02 1994 Guido van Rossum (guido@voorn.cwi.nl) * Various places: merged THINK C 6.0 and MPW 3.2 mods: Python 1.1 should build flawlessly on the Mac using either compiler Fri Aug 26 10:18:05 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/tut.tex (subsection{Lambda Forms}): fix typo in lambda example Thu Aug 25 12:30:11 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/importall.py: obsolete. * Lib/{compileall,py_compile}.py: new modules for compiling .py files. * Modules/timemodule.c (floattime), Objects/longobject.c (dgetlongvalue): add (double) casts for the benefit of the SCO C compiler Tue Aug 23 00:52:32 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/Setup.*: removed all except Setup.in (huh? I thought I'd done that already?!); disable gdbm by default * Modules/makesetup: support C++ files now; these should be given as file.C or file.cc or file.c++; C files can be given as file.c (instead of file.o, which is still supported) * configure.in, */Makefile*.in: OPT can now be specified in the env at configure time and will then be put in all Makefiles as default * Modules/config.c.in: change mac specific things * Python/import.c: add lost NT-specific code back in * Parser/tokenizer.c: backup over illegal newline in string literal (for "completeness" test) * Include/node.h: make some fields short to save space during parsing * Modules/posixmodule.c: some more NT changes * Doc/libtime.tex: get rid of references to millitime() and millisleep(); document clock() Mon Aug 22 10:53:59 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/linecache.py: don't crash on empty filename * Lib/macpath.py: don't return trailing colon for dirname() (XXX won't do for volume names -- but otherwise glob(':*:*.py') loops forever) * Lib/traceback.py: print SyntaxError correctly * Modules/signalmodule.c: added pause(). * Python/pythonrun.c (print_error): added INCREF/DECREF pair -- the exception returned by a syntax error (when reported) would contain an object with refcnt zero! Fri Aug 19 15:35:44 1994 Guido van Rossum (guido@voorn.cwi.nl) * */Makefile*.in: remove lib*.a before adding to it * Lib/urllib.py: fix caching bug (by disabling the cache) * Lib/sgi/flp.py: fix caching bug (always write the whole file to the cache!) * Doc/ref6.tex (section{Assignment statements}): added warning about overlaps in lhs of assignment (e.g. "i, x[i] = 1, 2") * Python/errors.c (err_clear): clear interpreter stack trace Wed Aug 17 16:10:07 1994 Guido van Rossum (guido@voorn.cwi.nl) * Moved patchlevel.h from Python/ to Include/, moved all code from version.c to config.c and removed version.c, and changed Modules/Makefile(.pre.in) to add dependencies on $(MYLIBS) for config.c (so the date in the version is always current). Also changed the format of PATCHLEVEL: it is now a string containing the complete version number, e.g. "1.1". * Grammar/Grammar: Added #diagram:... comments for Kees Blom's railroad diagram generator * Doc/libstring.tex (section{Standard Module \sectcode{string}}): removed references to {ato{f,i,l},index}_error * Lib/string.py: find/rfind is now the main implementation and index/rindex is a wrapper that raises index_error (which is now always ValueError) * Modules/stropmodule.c: implement find/rfind instead of index/rindex (raising and catching an exception is much more expensive than returning and testing -1) * Lib/os.py: do fake "import posix" for freeze.py script Tue Aug 16 23:58:30 1994 Guido van Rossum (guido@voorn.cwi.nl) * Parser/parsetok.c (parsetok): don't call strncpy(str, NULL, 0) * Doc/libfuncs.tex (section{Built-in Functions}): added docs for delattr() * Python/bltinmodule.c: added delattr(x, 'attr'), equivalent to del x.attr Fri Aug 12 15:00:20 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/libfuncs.tex: don't use $math$ in description of pow(x,y,z); describe tuple() * Doc/libposixfile.tex: use tableiii instead of tableii, so partparse will work again (I know, chicken!) * Doc/libthread.tex: Added get_ident(); updated text on module availability * Doc/myformat.perl: Added sub do_cmd_Cpp * Python/compile.c (com_argdefs, com_arglist): avoid referencing CHILD(n,i) for i >= NCH(n) * Python/bltinmodule.c: added tuple() builtin Thu Aug 11 16:41:14 1994 Guido van Rossum (guido@voorn.cwi.nl) * Objects/classobject.c, Include/classobject.h: added __getattr__ and __setattr__ support to override getattr(x, name) and setattr(x, name, value) for class instances. This uses a special hack whereby the class is supposed to be static: the __getattr__ and __setattr__ methods are looked up only once and saved in the instance structure for speed. (Later rewritten to also support __delattr__ and to store the routines in the class instead of in the instance) Wed Aug 10 13:42:29 1994 Guido van Rossum (guido@voorn.cwi.nl) * configure.in, Makefile.in: remove the AC_PREFIX() call -- it's more trouble than it's worth at CWI and most other people seem to install Python in the default (/usr/local) anway. Changed comment describing --prefix in Makefile.in * Lib/urllib.py (ftpcache): remove debug print statement Tue Aug 9 14:32:45 1994 Guido van Rossum (guido@voorn.cwi.nl) * Objects/{int,long,float}object.c, Include/object.h, Python/bltinmodule.c: mods by Andrew Kuchling to implement pow(x,y,z) == pow(x,y)%z, but without incurring overflow * Python/import.c: if initializing a module did not enter the module into sys.modules, it may have raised an exception -- don't override this exception. * Include/rename1.h: added PyMethodDef and PyObject Mon Aug 8 09:51:08 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/{Makefile,*.tex}: Changes by Andrew Kuchling: * Added dependencies to the Makefile * Added \optional{} commands all over the place (possibly not finished yet) * Defined \optional and \Cpp in myformat.sty * Changed all occurrences of C++ to \Cpp{}, for nicely formatting the + signs. * Fixed typos, sentence structure in lots of places * Added documentation for the rotor module * Added a commented-out paragraph to libcrypto.tex that can be added once the Python Cryptography Kit is released. * Altered the table in libposixfile.tex a bit. * Documented socket.gethostname() * Started completely rewriting the Extending manual. * Modules/{Setup.in, gdbmmodule.c}, Doc/{lib,libgdbm}.tex: added Anthony Baxter's gdbm module (derived from Jack's dbm module) Fri Aug 5 11:43:16 1994 Guido van Rossum (guido@voorn.cwi.nl) * BUGS: new file (merger of unofficial BUGS1.0.x files) * Modules/{Setup.in,Makefile.pre.in}: renamed some modules to shorter names (dropped the "module" from the name): sunaudiodev, imgformat, audioop, imageop, imgfile * Python/import.c: support *.o/*.so as alternative for *module.o/*module.so * Modules/stropmodule.c (strop_rindex): make rindex('abc', '') do the right thing (i.e. return 3 instead of 0) * Python/bltinmodule.c (builtin_vars): correct typo in error msg * Doc/libsocket.tex (subsection{Socket Object Methods}): documented gethostname() and a few misc things * Modules/socketmodule.c: disabled allowbroadcast() socket method Mon Aug 1 01:28:29 1994 Guido van Rossum (guido@voorn.cwi.nl) * Makefile.in (TAGS): Call etags w/o -t option * Lib/rfc822.py: fix two bugs: error in readheaders interpreting regex.match() result, and wrong logic in getfirstmatchingheader() when the same header occurs twice consecutively * Lib/test/test_types.py (6.4.1): test for particular bug in integer multiply Sat Jul 30 13:31:40 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/libsocket.tex, Modules/socketmodule.c: send() and sendto() now return actual byte count (useful for sockets in non-blocking mode) Tue Jul 26 14:21:17 1994 Guido van Rossum (guido@voorn.cwi.nl) * configure.in: check for * Objects/longobject.c (newlongobject): fix long(0x80000000) and add warning that it isn't actually correct on 64-bit machines; include if HAVE_LIMITS_H is defined * Objects/intobject.c (int_mul): check int*int overflow without resorting to double precision (many thanks to John Tromp) * Modules/signalmodule.c (signal_alarm): interface to Posix alarm() * Python/ceval.c (call_object): print message before abort() Mon Jul 25 11:30:56 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/libstring.tex (section{Standard Module \sectcode{string}}): documented string.count() * Lib/string.py: added count(s, sub, i=0), returns number of occurrences of sub in s[i:] * Doc/keywords.py: program to sort table of keywords in ref2.tex * Doc/ref2.tex (subsection{Keywords}): add 'access' and 'lambda' to list of reserved words Thu Jul 14 15:26:14 1994 Guido van Rossum (guido@voorn.cwi.nl) * README, Misc/NEWS, Python/patchlevel.h, Doc/{lib,ext,tut,ref}.tex: bump version to 1.0.3; in README, fewer references to it elsewhere, nor to IP numbers. Wed Jul 13 18:51:36 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/mhlib.py (removefromallsequences): call putsequences with proper argument Mon Jul 11 13:00:36 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/selectmodule.c: don't accept negative file descriptors; changed error messages slightly Thu Jul 7 12:20:10 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/syslogmodule.c: new module by Lance * configure.in: don't check for strtod! * Python/import.c: undo Mac DL mods (temporarily) and install NeXT dl mods by William Lewis instead. * Modules/posixmodule.c (posix_popen): substitute pclose for fclose (how did fclose ever creep into this?) Wed Jul 6 21:45:54 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/{bdb,cmd,pdb}.py: Mods by Rickard Westman: No longer barfs on lambda:s (outputs "" as the function name); "a(rgs)" in pdb now works; help messages added to pdb (lifted from pdb.doc). Also, "h pdb" calls pdb.help(). cmd.do_help() displays topics on a nicer way (I think). Also, topics for which there is a help_ method, but no do_method (like "pdb" above) are displayed in a special way. My own mod: fix break on function to also support methods. Tue Jul 5 23:18:16 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/stropmodule.c (strop_rindex): change semantics of third argument -- as in the original string.rindex, search to its right, not to its left. (Maybe both index and rindex need a 4th parameter to restrict the search on the other end? Mon Jul 4 23:01:36 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/timemodule.c (sleep, floatsleep): don't use setjmp or signal, rely on err_errno() or sigcheck() instead. * Dos/{pcmodule,dosmodule}.c, Modules/posixmodule.c: don't include Sat Jul 2 00:42:47 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/urllib.py: implemented new quoting rules; added splituser, splitpasswd, splitattr, splitvalue; new ftp syntax (user:passwd, cwd to each subdir, type={a,i,d}) Fri Jul 1 17:32:51 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/traceback.c: add function name to traceback info * Object/listobject.c, Modules/{array,mpz}module.c: include for size_t Fri Jul 1 12:47:05 1994 Guido van Rossum (guido@voorn.cwi.nl) * Makefile.in (Makefile): add dependency on config.status * configure.in: support --with-gcc[=value], --without-gcc * configure.in, acconfig.h, config.h.in: check for clock_t * Modules/{arraymodule,mpzmodule}.c: Include sys/types.h, for size_t * Lib/test/test_types.py (6.5.1 Strings): test for nasty string formatting bug * Objects/stringobject.c (formatstring): fix nasty bug in resizing Wed Jun 29 10:01:17 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/ref3.tex (section{The standard type hierarchy} \label{types}): fix typo * Lib/packmail.py: applied patch from Lance to remove '.' and '..' Tue Jun 28 00:57:35 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/ref1.tex: grammar notation can use single or double quotes now * configure.in (termcap): hack around conflict about clear() on IRIX 5 in shared libraries gl and termcap * Python/bltinmodule.c: added callable() predicate Wed May 18 15:01:13 1994 Donald Beaudry (don@zippy.vicorp.com) * modsupport.c (do_arg): Changed all of the int getting things to just try to get and int, instead of explicitly checking for an int first. (do_arg): Added the "O&" option to allow using a user supplied conversion function. Wed May 18 14:10:49 1994 Donald Beaudry (don@zippy.vicorp.com) * intobject.c (getintvalue): Changed to allow automatic conversion from any type that supports the nb_int method. * floatobject.c (getfloatvalue): Changed to allow automatic conversion from any numeric type that supports the nb_float method. Wed May 4 22:56:15 1994 Donald Beaudry (don@scooter.vicorp.com) * object.h -- Added tp_call member to the typeobject struct This along with a minor change to the ceval.c allows overloading of the function call operator for any class. Wed May 4 22:23:48 1994 Donald Beaudry (don@scooter.vicorp.com) * modsupport.c -- replace the part of getargs that processes "O!", it had a minor problem with comparing the types. * ceval.c -- changed call_object to make use of the tp_call field. Fri Jun 27 17:22:00 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/pythonmain.c: On MPW (3.2) unbuffered seems to hang, so use setvbuf ... _IOLBF for -u option. * Python/mystrtoul.c: MPW hack (overflow check doesn't seem to work) Thu Jun 23 14:46:34 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/Makefile.pre.in (clobber): delete config.c and glmodule.c Thu Jun 23 00:17:16 1994 Guido van Rossum (guido@voorn.cwi.nl) * Parser/tokenizer.c: if a triple-quoted string ends in a quote followed by a newline (followed immediately by the terminating 3 quotes) then a syntax error or system error ensues (one-line fix) * Doc/ref4.tex: clarify that global name space is almost always containing module's name space * Lib/profile.{py,doc}: totally new versions by James Roskind; also edited source & doc to replace 'jprofile' by 'profile' * Modules/posixmodule.c: don't mess with SIGPIPE any more -- this is now done in Python/pythonrun.c (saves NT dependency here) * Modules/Setup.*: removed all except Setup.in (keeping them up to date was too much of a pain) * Python/import.c: don't rely on three-line "dl.h", just copy the contents. * Doc/libtypes.tex (subsubsection{More String Operations.}): clarified tuple vs non-tuple argument to format strings. Wed Jun 22 10:38:22 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/libsocket.tex: clarify the meaning of address for those methods that or return addresses. * Doc/libtypes.tex (subsubsection{File Objects.}): documented writelines. Tue Jun 21 15:54:36 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/aifc.py: avoid calling read(0) * Lib/sgi/cddp.py: added some functionality (Sjoerd) * Include/modsupport.h: added decl for initmodule2(). * Parser/myreadline.c (my_readline): fixed typo in MPW-specific hack; removed debug fprintfs; added two needed #includes. Mon Jun 20 23:46:04 1994 Guido van Rossum (guido@voorn.cwi.nl) * Objects/fileobject.c (file_read): test for negative read count was misplaced. Mon Jun 18 11:20:00 1994 Guido van Rossum (guido@voorn.cwi.nl) * acconfig.h: changed GETPGRP_HAVE_ARGS into GETPGRP_HAVE_ARG * Lib/posixpath.py(walk): don't descend down symbolic links Thu Jun 16 16:20:12 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/imgformatmodule.c: new module for Jack by Jack Tue Jun 14 21:07:00 1994 Guido van Rossum (guido@voorn.cwi.nl) * Fix bug in 3quoted strings where string ends in quote followed by newline Mon Jun 13 00:24:06 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/multifile.py: added readlines() and read() methods * Lib/mimetools.py: added functions to encode/decode standard MIME Content-transfer-encoding types (as well as uuencode) * Lib/mhlib.py: new interface to MH folders and messages Sun Jun 12 17:38:31 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/socketmodule.c (sock_listen): fix typo (== instead of =) Thu Jun 9 23:33:33 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/compile.c (parsenumber), Python/marshal.c (r_object): replace strtod() by atof() Tue Jun 7 11:41:05 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/lib.tex: added warning about lineii, libposixfile and partparse * Lib/bdb.py (clear_all_breaks): this was defined with two arguments that weren't used and shouldn't have been there Mon Jun 6 14:53:05 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/ceval.c (call_trace): Added call to fast_2_locals so locals_2_fast won't zap locals if the trace function never looks in f.f_locals; don't XDECREF(f->f_trace) Sun Jun 5 13:18:00 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/rfc822.py: Accept lines ending in CR LF as well Fri Jun 3 16:37:58 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/profile.py: unspecified improvements by Sjoerd * Lib/{bdb,pwd,stdwin/wdb}.py: remove debugger overhead when continuing with no breakpoints; add set_trace() method and functions to forcibly enter the debugger * Python/ceval.c(eval_code): give the name of the local variable when LOAD_FAST or DELETE_FAST fails * frameobject.[ch], ceval.c: made fast_2_locals and locals_2_fast global and moved them to frameobject.c. getattr(f, "f_locals") now calls fast_2_locals and there are fewer other calls to it Thu Jun 2 13:50:11 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/ceval.c (call_trace): *p_trace can now be cleared by the trace function! * Modules/{{pwd,grp}module.c,Setup.in}: split pwdmodule.c into pwd and grp modules (e.g. OS2 seems to have pwd but not grp) * Modules/posixmodule.c: OS/2 mods: add #include * configure.in: test for existence of link, chown, setuid, setgid; use std macros for output; require autoconf 1.8 * Python/sigcheck.c: sigcheck() for use without signalmodule.c * Modules/signalmodule.c: added thread compatibility (only main thread uses signals); much improved efficiency; intrcheck() doesn't call sigcheck() but only tests and clears the SIGINT tripped flag. * Lots of places: replace intrcheck() by sigcheck() and remove following err_set(KeyboardInterrupt). Wed Jun 1 11:33:34 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/regexmodule.c (reg_dealloc): remove bogus XDEL's. Tue May 31 11:22:47 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/intrcheck.c: removed sigcheck() * Python/structmember.c (setmember): test for NULL value * frameobject, Python/ceval.c (eval_code): moved trace variable to frame object so debugging can be switched on later Mon May 23 14:44:46 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/newmodule.c: new module, create empty new objects (by Tommy) Fri May 20 09:46:50 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/Makefile: add DVIPS variable with default "dvips -f" * Parser/myreadline.c (my_fgets): Fix position of #endif EINTR Wed May 18 00:21:05 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/lib.tex: added libfcntl and libposixfile (by Jaap V) * Objects/funcobject.c (func_compare): take argcount and argdefs into account Wed May 17 00:00:00 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/import.c: bump MAGIC because of changes below * Python/{ceval,compile}.c, Include/frameobject.h: changes to code objects -- consts/names are tuples, RESERVE_LOCALS instruction gets tuple of names instead of dictionary -- so code objects are immutable and thus code and function objects are hashable * Objects/listobject.c, Include/listobject.h: added listtuple() -- convert list to tuple Tue May 17 15:40:12 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/ceval.c (getframe): cast current_frame to (object *) * Lib/ftplib.py (login): default user='' is translated explicitly to 'anonymous' Wed May 11 10:29:22 1994 Guido van Rossum (guido@voorn.cwi.nl) * Parser/tokenizer.c (tok_nextc): fix inf loop when file does not end in newline * Modules/sybasemodule.c: new, interface to sybase (John Redford) * Modules/signalmodule.c: new, catch unix signals (Lance) * Parser/intrcheck.c, Python/ceval.c, Include/ceval.h, Python/pythonrun.c: prepare for signalmodule.c; add sigcheck() interface to intrcheck.c, add getframe() interface to ceval.c; don't override signal handlers in pythonrun.c Tue May 10 09:01:06 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/import.c (get_module): print dlopen debug message only of verbose Mon May 9 10:37:48 1994 Guido van Rossum (guido@voorn.cwi.nl) * acconfig.h: added _POSIX_THREADS define * configure.in: test for -lpthreads; add directory argument to --with-thread to LIBS as -L option * Python/thread.c: split in per-system files (thread.c includes thread_foobar.h for foobar threads) * Objects/stringobject.c (formatstring): don't DECREF result of strobject() before using it * Doc/libtypes.tex: fix typo in table of list methods; clarify truncation behavior of floating point formatting * Doc/ref3.tex: clarify defaults for __repr__, __cmp__ and __str__; correct (some) descriptions of class constructors Fri May 6 11:25:26 1994 Guido van Rossum (guido@voorn.cwi.nl) * various files: micro changes needed to compile on Mac; Grouped more Mac-specific files in Mac subdirectory * Lib/*.py: rewrote many functions to use default arguments instead of arbitrary argument lists Thu May 5 12:33:31 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/{cryptmodule.c,Setup.in}: new crypt(3) interface (Steve M) * Python/bltinmodule.c, Include/bltinmodule.h: new fn setbuiltin() to set a built-in variable * Python/ceval.c (eval_code): place '_' variable in __builtin__ instead of in local dictionary, to avoid endless recursion when printing vars() ======================================================================== Release 1.0.3 (14 July 1994) ======================================================================== Thu Jul 14 14:38:11 1994 Guido van Rossum (guido@voorn.cwi.nl) * copied FAQ 1.10 (which still references 1.0.2 by the way) Thu Jul 7 12:20:10 1994 Guido van Rossum (guido@voorn.cwi.nl) * configure.in: don't check for strtod! Tue Jul 5 23:18:16 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/stropmodule.c (strop_rindex): change semantics of third argument -- as in the original string.rindex, search to its right, not to its left. (Maybe both index and rindex need a 4th parameter to restrict the search on the other end? Fri Jul 1 12:47:05 1994 Guido van Rossum (guido@voorn.cwi.nl) * configure.in: support --with-gcc[=value], --without-gcc * configure.in, acconfig.h, config.h.in: check for clock_t * Objects/stringobject.c (formatstring): fix nasty bug in resizing Tue Jun 28 00:57:35 1994 Guido van Rossum (guido@voorn.cwi.nl) * configure.in (termcap): hack around conflict about clear() on IRIX 5 in shared libraries gl and termcap Thu Jun 23 00:17:16 1994 Guido van Rossum (guido@voorn.cwi.nl) * Parser/tokenizer.c: if a triple-quoted string ends in a quote followed by a newline (followed immediately by the terminating 3 quotes) then a syntax error or system error ensues (one-line fix) Sun Jun 12 17:38:31 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/socketmodule.c (sock_listen): fix typo (== instead of =) Thu Jun 9 23:33:33 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/compile.c (parsenumber), Python/marshal.c (r_object): replace strtod() by atof() Thu Jun 2 13:50:11 1994 Guido van Rossum (guido@voorn.cwi.nl) * configure.in: test for existence of link, chown, setuid, setgid; use std macros for output; require autoconf 1.8 Wed Jun 1 11:33:34 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/regexmodule.c (reg_dealloc): remove bogus XDEL's. Tue May 31 11:22:47 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/structmember.c (setmember): test for NULL value Fri May 20 09:46:50 1994 Guido van Rossum (guido@voorn.cwi.nl) * Parser/myreadline.c (my_fgets): Fix position of #endif EINTR Wed May 11 10:29:22 1994 Guido van Rossum (guido@voorn.cwi.nl) * Parser/tokenizer.c (tok_nextc): fix inf loop when file does not end in newline Tue May 10 09:01:06 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/import.c (get_module): print dlopen debug message only of verbose Mon May 9 10:37:48 1994 Guido van Rossum (guido@voorn.cwi.nl) * acconfig.h: added _POSIX_THREADS define * configure.in: test for -lpthreads; add directory argument to --with-thread to LIBS as -L option * Objects/stringobject.c (formatstring): don't DECREF result of strobject() before using it Fri May 6 11:25:26 1994 Guido van Rossum (guido@voorn.cwi.nl) * various files: micro changes needed to compile on Mac; Grouped more Mac-specific files in Mac subdirectory Thu May 5 12:33:31 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/bltinmodule.c, Include/bltinmodule.h: new fn setbuiltin() to set a built-in variable * Python/ceval.c (eval_code): place '_' variable in __builtin__ instead of in local dictionary, to avoid endless recursion when printing vars() ======================================================================== Release 1.0.2 (4 May 1994) ======================================================================== Wed May 4 13:12:00 1994 Guido van Rossum (guido@voorn.cwi.nl) * README: version 1.0.2 * Objects/fileobject.c (setfilebufsize): less error checking * configure.in: test for withval != yes (autoconf 1.8 change) * Makefile.in: don't remove config.status on "make clobber" * Python/ceval.c (eval_code): removed last traces of killprint (-k option) * Doc/tut.tex: documented some more new stuff * Added else clause to try-except. Affected files: Grammar/Grammar, Include/graminit.h, Python/graminit.c, Python/compile.c, Doc/ref7.tex, Doc/tut.tex Tue May 3 15:21:47 1994 Guido van Rossum (guido@voorn.cwi.nl) * Misc/python.man: documented -u; undocumented -k * Python/{python,frozen}main.c: got rid of -k option; added -u option (unbuffered stdout/stderr); plus environment * Python/import.c: Steven Majewski's mods for AIX * Lib/lockfile.py: new module to lock files (using fcntl) * Objects/fileobject.c, Include/fileobject.h: added setfilebufsize function to set buffer size (call only from C when it's safe!) * Python/bltinmodule.c (builtin_open): Added 3rd parameter to give buffer size; default 2nd parameter to "r" Mon May 2 17:51:23 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/{al,cd,sv}module.c: added (method) casts to methodlist initializers Thu Apr 28 15:01:50 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/ref2.tex: (section{Line structure}): documented line joining without backslashes inside parens Wed Apr 27 13:15:42 1994 Guido van Rossum (guido@voorn.cwi.nl) * Misc/python-mode.el: version 1.09 from Tim (grand new indentation scheme) * configure.in: test for setvbuf * Python/ceval.c (PRINT_EXPR): assign a non-None value to '_' before printing it * Python/compile.c: only call PRINT_EXPR for interactive code (start symbol single_input), else call POP_TOP after evaluating an expression Tue Apr 26 16:23:06 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/bltinmodule.c (builtin_reduce): added essential INCREF() if a third argument is present * Doc/tut.tex: added chapter "Recent Additions" Mon Apr 25 11:27:09 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/ref7.tex (section{Function definitions}): add missing '}'. * Doc/ref2.tex (subsection{String literals}): documented triple quotes and double quotes. * Lib/test/test_grammar.py: added tests for triple-quoted strings and strings continued with backslash-newline * Objects/fileobject.c (writestring): don't do anything when writing to a Python object while an error is already set * Parser/tokenizer.c: added support for triple-quoted strings and strings continued with backslash * Parser/tokenizer.h: moved here from Include * Python/compile.c (parsenumber): support triple-quoted strings. Raise SyntaxError, not SystemError for bad number syntax Fri Apr 22 17:39:20 1994 Guido van Rossum (guido@voorn.cwi.nl) * Objects/{tuple,list,string,mapping}object.c, Modules/arraymodule.c, Python/compile.c: use new joinstring(_decref) interface for more compact code * Objects/stringobject.c (joinstring): if error, DECREF and zero result; added joinstring_decref() which XDECREFs its second argument Thu Apr 21 10:59:04 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/libtypes.tex (subsubsection{More String Operations}): documented new '%(key)s' % {...} formatting and more liberal %s interpretation (applies str() first) * Doc/libfuncs.tex (section{Built-in Functions}): documented new vars() built-in function * Objects/stringobject.c (formatstring): add Donald Beaudry's patch (slightly changed) to allow '%()' % {...} to format dictionary entries by key. Also changed %s format to accept any type and convert it to a string using str() * Python/bltinmodule.c: add new built-in function vars() which returns variables (of which dir() returns the sorted keys()) Mon Apr 18 11:00:54 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/libppath.tex (section{Standard Module \sectcode{posixpath}}): describe for expandvars() * Lib/posixpath.py (expandvars): do it using regular expressions instead of forking of a shell * Lib/urllib.py (open_http, open_gopher): diagnose missing hostname Sun Apr 17 21:52:52 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/compile.c (com_atom), Grammar/Grammar (atom): string literal concatenation -- "abc" 'def' is equivalent to 'abcdef' Thu Apr 14 12:36:25 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/test/test_thread.py: new module to test threads (very basic) * Python/thread.c: remove #define DEBUG 1 * Demo/scripts/freeze.py: changes by Jaap V and my own to make it work again * Makefile.in (libainstall): install frozenmain.c * Python/frozenmain.c: added getprogramname() * Doc/ref7.tex (section{Function definitions}): describe default parameter values * Lib/test/test_grammar.py: added grammar variants for default argument expressions * Python/compile.c: compile default argument values (com_argdefs plus related stuff) * Python/bltinmodule.c (builtin_apply): require that the argument list is a tuple * Misc/python-mode.el: change by Donald Beaudry to py-compute-indentation; and fix to that by Sjoerd Wed Apr 13 10:08:33 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/ceval.c (eval_code): implement SET_FUNC_ARGS opcode * Include/opcode.h: added SET_FUNC_ARGS opcode * Objects/funcobject.c (newfuncobject, func_memberlist): added func_argcount and func_argdefs fields and {get,set}funcargstuff() functions. * Include/funcobject.h: Added func_argcount and func_argdefs fields and {get,set}funcargstuff() functions. * Python/import.c (init_builtin): Give error message if module's initialization function is NULL (e.g. for 'sys'). (get_module): Give error message if reloading a dynamically loadable module. (reload_module): Give error message if reloading a built-in module; correctly (I hope) reload a frozen module. * Doc/ref6.tex (break and continue): rephrase definition of restrictions on where these may occur; change rules for continue to match implementation. * Doc/ref4.tex (section{Code blocks, execution frames, and name spaces}): fix definition of what's local to include deleted targets; added footnote describing exec and from - import * restriction. * Lib/dis.py: added LOAD_GLOBALS and EXEC_STMT to list of opcodes. Tue Apr 12 10:27:19 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/ceval.c (eval_code): fix core dump on "raise ()" -- found by Tim Peters Mon Apr 11 20:48:26 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/compile.c (optimize): added optimization for LOAD_NAME suggested by Steve Majewski * Python/ceval.c (eval_code: case DELETE_FAST): fix cut-paste error (w should be x) found by Steve Majewski Tue Mar 22 15:37:06 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/profile.py: fix handle_return for exceptional case (fix suggested by Jim Roskind) * Lib/tzparse.py (tzprog): Fix typo in test for regex.match * Lib/urlopen.py: renamed to Lib/urllib.py Thu Mar 17 01:24:29 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/urlopen.py: added quote() and unquote() functions Wed Mar 16 11:26:29 1994 Guido van Rossum (guido@voorn.cwi.nl) * Objects/mappingobject.c: allow dictionaries with more than 20,000 entries. Thu Mar 10 11:13:24 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/{pdb,profile,bdb,codehack,stdwin/wdb}.py: codehack.getcodename() is obsolete now we have co.co_name; same for getfuncname(): f.func_name. Module codehack is still needed for getlineno(), used in profile and pdb Tue Mar 8 10:37:21 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/modsupport.c (do_arg): Format "O!" means typechecked object; pointer argument must be preceded by typeobject * Modules/threadmodule.c: don't define exit_prog if NO_EXIT_PROG is defined * Python/thread.c: don't define [_]exit_prog if NO_EXIT_PROG is defined; in the SGI version, don't use signals if exit_prog is node defined defined; in the SGI version, waitpid() for exited threads. * Python/pythonrun.c: don't call [_]exit_prog if NO_EXIT_PROG is defined * Include/thread.h: define NO_EXIT_PROG and then don't define [_]exit_prog * Modules/dbmmodule.c: Add calls to dbm_clearerr() after error on assignment (fix by Jack) Mon Mar 7 12:41:32 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/test/test_rgbimg.py: search test file along sys.path * Lib/test/test_{b1,b2,grammar}.py: tests for indefinite sequences * Python/{bltinmodule,ceval}.c: Changed implied and explicit loops over sequences to allow for "indefinite" sequences a la Steve Majewski. Instead of iterating over 0, 1, 2, ..., len(a)-1, we now iterate over 0, 1, 2, ..., until we get an IndexError exception (other exceptions are still errors). This affects the semantics of the following language constructs: "for x in a: ...", "x in a", "x not in a", and the following built-in functions: filter(), map(), max(), min(), reduce(). * Doc/ref6.tex (section{Assignment statements}): clarify slice assignment; (section{The {\tt break} statement}): fix typo * Doc/ref5.tex (subsection{Identifiers (Names)}): clarify difference between local and global * Doc/ref2.tex (subsection{String literals}): fix typo in def of escapeseq * Lib/addpack.py: new module to add packages to sys.path * Lib/urlopen.py: added basejoin() function Fri Mar 4 13:07:43 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/urlopen.py(open_ftp): avoid crash when no host given Wed Mar 2 10:33:39 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/ceval.c (eval_code): use sys.check_interval to reset the ticker * Lib/repr.py: added special case for class instances (which may cause exceptions in their __repr__) * Lib/pdb.{py,doc}: mod by Steve Kirsch to allow setting a break on a function name Tue Mar 1 10:32:54 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/pythonrun.c (run_tty_1): Fix wrong (uninitialized) return value * Doc/ref4.tex (table 4.1): differentiated between exec stmt and eval() Mon Feb 28 10:49:20 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/svmodule.c: correct wrong cast of svideo_getattr * README: added Linux to list of supported systems. * Doc/libsocket.tex: adapt to min value of 1 for listen() backlog argument. * Modules/socketmodule.c (sock_listen): ensure backlog argument is at least 1. Fri Feb 25 14:25:30 1994 Guido van Rossum (guido@voorn.cwi.nl) * Include/osdefs.h, Modules/config.c.in: Added NT case (same as MSDOS) Thu Feb 24 09:58:53 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/posixmodule.c: merged in NT changes by Jaap Vermeulen * README: added Mac and PC platforms to blurb. * Doc/libfuncs.tex (section{Built-in Functions}): documented xrange() * Doc/ref7.tex (section{Function definitions} added index entry for second ref to lambda. * Lib/{bdb.py,pdb.py,stdwin/wdb.py}: call linecache.checkcache() in bdb.Bdb's reset method; remove it from the test() functions. Wed Feb 23 10:15:28 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/parsermodule.c (parser_parsefile): fix fatal typo in NULL comparison * Misc/python.man: fixed mess describing -d and -i options Tue Feb 22 09:08:22 1994 Guido van Rossum (guido@voorn.cwi.nl) * Demo2: added new subdirectory holmes, with Mark Lutz' expert system shell * Demo: added new subdirectory lutz, with Mark Lutz' examples (e.g. psh.py, a nice enhanced Python shell!!!) * Lib/os.py: added listdir for Windows NT * Modules/timemodule.c, Parser/intrcheck.c: changes for Windows NT by Jaap Vermeulen (#ifdef _M_IX86) * Makefile.in (inclinstall): added variable INCLUDEPY to specify where the include files are installed * Modules/nismodule.c (nisproc_maplist_2): cast some args to (caddr_t) as required on some systems * Objects/mappingobject.c (getmappingitems): correct typo (called _values instead of _items) Mon Feb 21 17:07:07 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/rfc822.py: added access as a dictionary * Lib/urlopen.py: new module to access arbitrary files designated by a URL (Universal Resource Locator) * Lib/{httplib,gopherlib}.py: new modules to interface to HTTP and gopher servers * Lib/rfc822.py: moved _monthnames to where it is used; add some blank lines Fri Feb 18 09:54:34 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/sgi/flp.py: avoid using time.milli{sleep,timer} * Lib/stdwin/WindowSched.py: avoid using time.milli{sleep,timer} -- still maintain time in milliseconds though * Lib/sched.py: remove references to milli{timer,sleep} from comments * Lib/os.py: made execvp more portable; added os.pathsep and os.defpath Thu Feb 17 12:53:33 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/ftplib.py(FTP.makeport): call listen(1) instead of listen(0) so it works on Solaris 2 * Modules/makesetup: reverse order of DEFS so first Setup file can override; any non-cpp uppercase option is sent to the linker Wed Feb 16 10:26:59 1994 Guido van Rossum (guido@voorn.cwi.nl) * Objects/fileobject.c: add name, mode, softspace and closed attributes (softspace is also writable). * configure.in: in --verbose mode, don't hide compiler output ======================================================================== Release of 1.0.1 (Feb 15 1994) ======================================================================== Tue Feb 15 11:32:42 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/string.py (atof): force the result to be float * Python/modsupport.c (do_arg): don't use a local object va -- this doesn't work on some compilers (e.g. WATCOM) Mon Feb 14 10:52:01 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/dospath.py: proper version by Jaap Vermeulen * Makefile.in (Makefiles): add semicolon after ) which some Make versions need * Doc/libposix.tex: added doc for posix.fdopen * README: add Sequent and NeXT to list of platforms; add troubleshooting section; add hist about -Dindex for readline * Lib/os.py: generalize to many os specific modules using a dictionary * Lib/ospath.py: now obsolete; use os.name to import the right one * configure.in: change order of -lsocket and -lnsl and insert -linet in between, so it works on Sequent (it still works on Solaris 2 -- hope it still works elsewhere as well); add test for _NEXT_SOURCE (then define _POSIX_SOURCE); remove test for dlopen; * configure.in, acconfig.h, */modsupport.[ch]: rename HAVE_VARARGS_PROTOTYPES to HAVE_STDARG_PROTOTYPES, to avoid confusion * Include/modsupport.h: no prototypes for getargs() and mkvalue() in case no varargs prototypes * Lib/test/test_grammar.py: don't import sleep from time, but time (since sleep has portability problems) Fri Feb 11 23:47:46 1994 Guido van Rossum (guido@voorn.cwi.nl) * Parser/intrcheck.c: added QUICKWIN version (doesn't really work); fixed MSDOS version to also set a SIGINT handler. * Modules/timemodule.c (time_sleep): declare sigsave 'auto' hoping this will avoid restoring its pre-setjmp value. On non-threaded systems declare it 'static' since at least Microsoft C still puts the auto variable in a register causing a bug... Also implement the MSDOS version of floatsleep() using a busy-wait loop calling intrcheck() Wed Feb 9 11:43:11 1994 Guido van Rossum (guido@voorn.cwi.nl) * Lib/rfc822.py: added parsedate() and parseaddr() utility functions and getdate(), getaddr(), getaddrlist() methods; added test code when run as script * Include/pythonrun.h, Python/pythonrun.c: cleanup() is now externally visible, for the benefits of embedded use. * Lib/dospath.py: new module for dos stuff Mon Feb 7 09:50:16 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/makesetup: add -n option between Setup files (suppresses making of .o files but keeps processing of libraries and module names) * Makefile.in (libainstall): install Setup, makesetup, config.c.in * Modules/Setup*: added -lX11_s to line for gl module * Demo/scripts/unbirthday.py: new script, print unbirthday count * Modules/audioopmodule.c: removed hack for signed on sun (there's now a test in the configure script); check that if 'signed' is defined away characters aren't unsigned * Modules/posixmodule.c: include mytime.h (for clock_t on NeXT) * acconfig.h: add entry for 'signed' keyword * configure.in: remove const from check for exec prototypes; add check for signed keyword and check for whether chars are unsigned Fri Feb 4 13:07:03 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/makesetup: added usage message, -c and -m options to specify config.c.in and Makefile.pre input files, -s option to specify source directory, added comments * Modules/Setup.in: remove -lm from imgfile entry * Modules/nismodule.c: only define YPPROC_MAPLIST, YPPROG and YPVERS if not already defined * configure.in, acconfig.h, Include/modsupport.h, Python/modsupport.c: added separate check for varargs prototypes (HAVE_VARARGS_PROTOTYPES) Thu Feb 3 11:00:26 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/bltinmodule.c (filterstring): fix core dump of func == None * Lib/string.py: replace atoi_error, atof_error, atol_error by ValueError when the strop versions are used * Modules/stropmodule.c: added atol(), added optional base argument to atoi() and atol() * Objects/longobject.c, Include/longobject.h: added long_escan (like long_scan but raises exception for bad base and stores end of string into return argument) * Objects/rangeobject.c (range_repr): repr must use "xrange..." Wed Feb 2 12:28:04 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/stropmodule.c: added atoi() and atof() * Python/modsupport.c: use stdarg.h / varargs.h depending on presence of prototypes * Modules/timemodule.c (floattime): try ftime() or time() if gettime() fails Tue Feb 1 14:41:04 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/Makefile (python-lib.info): change makeinfo option style from +foo to --foo * Doc/README: remove invalid reference to ../misc/FTP; update description of making the info version * Doc/{fix.el,fix_hack,whichlibs}: minor updates/corrections Mon Jan 31 11:16:38 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/import.c: only use shared libraries if HAVE_DLOPEN *and* HAVE_DLFCN_H are defined; define symbol USE_SHLIB then * Doc/tut.tex: lots of small changes by Tim Peters: typos, out-of-date examples, restrictions lifted, new and better ways to do some things... Fri Jan 28 10:59:48 1994 Guido van Rossum (guido@voorn.cwi.nl) * README: added Minix note * Lib/sunau.py: correct byte count calculation from frame rate * Lib/aifc.py: rate should be an integer Thu Jan 27 12:55:17 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/ext.tex: removed obsolete reminder in line 1; correct typo * Misc/FAQ: fixed some out of date info, added question on module run as script * Modules/rgbimgmodule.c (initrgbimg): exception string should contain dot not comma * Modules/md5module.c: fix compiler warnings about (unsigned) char * Makefile.in: libinstall and maninstall should use $(srcdir) * Lib/tzparse.py: don't run test() on import * Lib/filewin.py: moved into Lib/stdwin * Modules/cdmodule.c: fix wrong cast of cdparser_getattr ======================================================================== Release of 1.0.0 (Jan 26 1994) ======================================================================== Wed Jan 26 14:13:39 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/tut.tex: updated version number in invocation example * Doc/Makefile: update destination of texi2html * Misc/FAQ: updated for release 1.0.0 * Misc/NEWS: created -- all bits of news * Misc/HISTORY: added (from old releases) * Misc/README: documented some new files * README: non-beta version and preface, don't ref TODO * Makefile.in: got rid of references to TODO * Python/version.c, Doc/???.tex: updated version and date Tue Jan 25 20:11:49 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/ext.tex: revamped, finally ready for release * Doc/{Makefile,myformat.perl}: support latex2html (0.5.1) * README: correct typo on DL_DIRECTORY ======================================================================== Release of 1.0.0 BETA 6 (Jan 24 1994) ======================================================================== Mon Jan 24 16:37:46 1994 Guido van Rossum (guido@voorn.cwi.nl) * Doc/ref?.tex: Change \verb\\ into \verb@@ so latex2html doesn't crash Thu Jan 20 18:05:18 1994 Guido van Rossum (guido@voorn.cwi.nl) * Ext-dummy/, README, Makefile.in: Created new directory Ext-dummy/. Ext-dummy/ contains its own README and copies of Extensions/mk{ext,mf}.py. Tue Jan 18 11:04:16 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/getmtime.c: Include config.h if we have it * Modules/Setup.in: fixed comments about GMP version * Modules/nismodule.c: define YPPROC_MAPLIST, YPPROG, YPVERS as plain integer literals, to make it work on 64 bit machines * Parser/grammar.c (translabel): remove redundant decl of strchr() (which caused trouble on AIX) Sun Jan 16 14:13:13 1994 Guido van Rossum (guido@voorn.cwi.nl) * configure.in: test for fcntl.h * Modules/posixmodule.c: include fcntl.h if it exists Fri Jan 14 17:35:33 1994 Guido van Rossum (guido@voorn.cwi.nl) * configure.in: check for sys/time.h; substitute and check for AR; check for nice() * Makefile.in: make python .PRECIOUS; define OPT=-O and pass it to submakes * */Makefile*in: set OPT=-O; set AR=@ar@ * Modules/Setup.minix: new * Lib/audiodev.py: only import system specific modules if needed Thu Jan 13 16:40:28 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/flmodule.c: make type objects static * Modules/almodule.c: make type objects static * Makefile.in: add rule to build Makefile; add VPATH for that; remove dependency on configure script (you can run 'make autoconf' instead); add Lib/test to path for test target; * Lib/test: new subdirectory, holds all test modules Wed Jan 12 10:17:41 1994 Guido van Rossum (guido@voorn.cwi.nl) * acconfig.h: added HAVE_ALTZONE * configure.in: test for altzone; check for working termcap/termlib when --with-readline used; don't test for readline function; send errors to stderr * Lib/test_grammar.py: fix 64-bit int test for max negative int * Python/import.c (get_module): call dlerror() when dlopen() fails (also some layout changes) Tue Jan 11 10:56:00 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/import.c: use RTLD_NOW (define as 2 if undefined) * Makefile.in: "make (local)clean" shouldn't bother about Include; added .PRECIOUS: config.status * Modules/md5.h: define PROTOTYES as 1 if HAVE_PROTOTYPES is defined * Modules/md5module.c: grand cleanup * Modules/Setup.sgi: renamed to Setup.irix4 * Modules/Setup.sunos5: renamed to Setup.solaris2 * Modules/Setup.in: some makes (e.g. Ultrix) don't strip trailing whitespace from variable definitions -- make sure there isn't any in the defs used to generate PYTHONPATH * Many modules and objects: use 'staticforward' where needed * Include/object.h: added #define 'staticforward' as either static or extern depending on BAD_STATIC_FORWARD * acconfig.h: added BAD_STATIC_FORWARD * configure.in: added test for bad static forward Mon Jan 10 10:35:21 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/md5module.c: SCO ODT 3.0 dependent fix * Objects/xxobject.c: quote size fields as tp_basicsize instead of (incorrectly) tp_size * Objects/listobject.c (cmp): arguments must be const!!! * Modules/imageopmodule.c: another attempt at casting away warnings about changed semantics in ANSI C * Modules/regexpr.c: cast away warning about changed semantics in ANSI C * Modules/Makefile.pre.in: add LIBC_S (shared version of -lc, to be figured out by configure) * README, Python/version.c: version 1.0.0 BETA 6 * README: fixed description of Setup (which was buried under the SVR4 exception!); added description of --prefix, --exec-prefix, --with-libm and --with-libc * configure.in: added --with-libc=... and --with-libm=... * Modules/Makefile.pre.in: Remove dependency of Setup on Setup.in, so it is only copied when Setup does not exist at all; add prefix=/usr/local so Setup can base default path on --prefix option to toplevel configure script * Modules/Setup.in: clarified build procedure in comments; don't include GNN's timing module by default; use $(prefix) instead requiring manual edit of DESTDIR * Makefile.in: replace DESTDIR by prefix and exec_prefix and updated affected targets; added inclinstall and libainstall targets * Objects/accessobject.c: removed (???) from comment to avoid trigraph warning * Makefile.in (libinstall): correct typo: (D)DESTDIR Fri Jan 7 10:34:43 1994 Guido van Rossum (guido@voorn.cwi.nl) * README: describe --with-sgi-dl and --with-dl-dld * Python/Makefile.in: compile import.c with -I$(DLINCLDIR) * Python/import.c: check for WITH_SGI_DL and WITH_DL_DLD * acconfig.h: added WITH_SGI_DL and WITH_DL_DLD * configure.in: added --with-sgi-dl=DIR and --with-dl-dld=DIR,DIR; now require --with-readline=DIR and test for existing directory * Lib/test_audioop.py: new module to test (you guessed it) audioop * Modules/audioopmodule.c: got rid of adpcm32lin and lin2adpcm3 -- Jack says they're not useful ======================================================================== Release of 1.0.0 BETA 5 (Jan 6 1994) ======================================================================== Thu Jan 6 13:36:32 1994 Guido van Rossum (guido@voorn.cwi.nl) * readline/Makefile: remove some cruft so it works with VPATH * Lib/aifc.py: remove dependencies on AL (Sjoerd) * README: describe new Setup procedure * Modules/Makefile.pre.in: copy Setup from $9srcdir)/Setup.in so it *really* works with VPATH * Modules/Setup: renamed to Modules/Setup.in * Python/pythonmain.c (realmain): fclose script file * Python/import.c (get_module): fix important leak: close the .py file after parsing! * README, Python/version.c: version 1.0.0 BETA 5 Wed Jan 5 16:42:35 1994 Guido van Rossum (guido@voorn.cwi.nl) * Modules/rgbimgmodule.c: Only include if it exists * Modules/timemodule.c: don't include sys/time.h on the Mac * Modules/stdwinmodule.c (initstdwin): don't fuss with sys.argv on the mac -- so {check,putback}stringlist aren't needed there * Parser/intrcheck.c: Make sure is included before any other include file * Modules/audioopmodule.c: include math.h after allobjects.h (so the latter can be a precompiled header file on the Mac) Wed Jan 5 15:34:26 1994 Guido van Rossum (guido@poseidon.cwi.nl) * Python/pythonrun.c (sighandler): only call kill(getpid()) if getpid() exists; otherwise call exit(1) * configure.in: added test for getpid() * Modules/config.c.in: Changes for Macintosh: new default path, call wargc() in main(); 1994 copyright * Python/frozenmain.c: added declarations for getversion() and getcopyright() (foei!); insert "Python " before version on banner * Python/pythonmain.c: added declarations for getversion() and getcopyright() (foei!); default startupfile to "PythonStartup" on Macintosh; add fclose(fp) for startupfile; insert "Python " before version on banner ======================================================================== Release of 1.0.0 BETA 4 (Jan 5 1994) ======================================================================== Wed Jan 5 01:21:59 1994 Guido van Rossum (guido@voorn.cwi.nl) * README, version.c: bumped version to 1.0.0 BETA 4 * README: removed all references to --with-solaris; updated list of files and directories * Modules/sunaudiodevmodule.c: define SOLARIS if HAVE_SYS_AUDIOIO_H is defined * Python/thread.c: define SOLARIS if HAVE_THREAD_H is defined * configure.in: added test for (SOLARIS thread interface); remvoe test for --with-solaris ======================================================================== Release of 1.0.0 BETA 3 (Jan 5 1994) ======================================================================== Wed Jan 5 00:18:45 1994 Guido van Rossum (guido@voorn.cwi.nl) * {Parser,Objects,Python,Makefile}/Makefile*in: made depend target work with VPATH * README: describe new build procedure; added section on building for multiple architectures * acconfig.h: fix (reversed!) comment for SYS_SELECT_WITH_SYS_TIME * Modules/Makefile.pre.in: copy Setup from $(srcdir) if not present, and use local Setup as input for makesetup script Tue Jan 4 12:32:16 1994 Guido van Rossum (guido@voorn.cwi.nl) * Note that there are no functional changes below -- just changes to the build process and changes to avoid compiler warnings * Modules/Setup: disable nis as well by default, change the pertaining comments, and change the comments about the multimedia modules to be default on * fixed all warnings about function pointer initializations, and miscellanous other warnings (e.g. about extern forward references to static variables); touched random bits of code as a consequence * changed configuration process and Makefiles to support VPATH; for this, config.h(.in) now lives to the toplevel directory, the toplevel Makefile is now created by configure as well, and various improvements to it have been made (e.g. working tags and TAGS targets), the makesetup script follows configure instead of preceding it, it understands srcdir and has an exception for glmodule.c, the intermediate file is called Makefile.pre, the Makefiles don't use TOP any more and are much more careful about the difference between .. and the toplevel directory, and I've improved my understanding of how configure handles srcdir * Modules/threadmodule.c: refuse to compile when WITH_THREAD is not defined * configure.in, acconfig.h, config.h.in, Include/ceval.h, Modules/{stdwin,thread}module.c, Python/{ceval,pythonrun}.c: renamed USE_THREAD to WITH_THREAD * configure.in: add AC_PROG_INSTALL * README, Python/version.c: version set to 1.0.0 BETA 3 * Demo, Include, Lib: added Makefile with clean/clobber targets * README: added remarks on --with-svr4; unnumber special cases * configure.in: only look for -lnsl and -lsocket if --with-svr4 is specified, to avoid linking with them on IRIX 5 ======================================================================== Release of 1.0.0 BETA 2 (Jan 3 1994) ======================================================================== Mon Jan 3 22:21:24 1994 Guido van Rossum (guido@voorn.cwi.nl) * Include/myselect.h: fix typo in name of SYS_SELECT_WITH_SYS_TIME * Parser/pgen.h: moved here from Include; removed extern definition of 'gram' * Parser/acceler.c: include node.h, now needed by parser.h * README: added paragraph on testing * Misc/python.man: changed date and add 1994 copyright * Makefile: added test target * Python/thread.c: include config.h if needed * Parser/parser.h: remove references to struct _grammar and similar things * Modules/rotormodule.c (RTR_e_char, RTR_d_char): avoid warnings by picky compilers about unsigned % signed * README: added a section on building it for non-UNIX systems * Makefile (configure): call autoheader when calling autoconf * Include/config.h.in: now generated by autoheader * acconfig.h: new file (input for autoheader) * configure.in: added AC_REVISION call to top * Modules/flmodule.c (form_setattr): one NULL should be 0 * Include/myselect.h: this now implies mytime.h and attempts to work around systems where sys/select.h and sys/time.h can't be included together * Modules/socketmodule.c, Doc/libsocket.tex: remove socket avail() method -- you can use select instead * Modules/Setup: disable dbm, it is not truly portable * Lib/sunau.py: incorporate one-line fix by Sjoerd * Include/pgenheaders.h: include if its symbol defined, not just on the mac * Include/grammar.h: remove redundant structure tags * Include/cgensupport.h: avoid possible macro argument substitution inside string literal * configure.in, Include/config.h.in: add test whether sys/select.h and sys/times.h can be included by the same program * Include/config.h.in: add lines for HAVE_SYS_UN_H and HAVE_GETPEERNAME * Extensions/mkext.py: copy change in library order from Modules/Makefile.in.in * Modules/Makefile.in.in: change library order subtly so -ltermcap follows instead of precedes -lgl_s on SGI systems; this solves (hides?) problems with clashing entry points * configure.in: added sys/un.h to list of tested header files; added getpeername to list of tested functions (both for Modules/socketmodule.c) * Modules/socketmodule.c: conditionally include sys/un.h and change tests for AF_UNIX to tests for HAVE_SYS_UN_H; test for HAVE_GETPEERNAME instead of NO_PEERNAME * Modules/config.c.in: add marshal and __main__ built-in modules * Python/sysmodule.c (list_builtin_module_names): sort the list * Doc/Makefile: remove 'qua' from default targets * Doc/README: add reference to ext.tex, change reference to lib*.tex, explain that qua isn't built by default * README: explain DESTDIR, clarify install procedure, add more explanation to some options, add description of ChangeLog, add wuarchive.wustl.edu to list of mirror sites * Modules/socketmodule.c: make AF_UNIX code dependent on existence of AF_UNIX (SCO ODT 3.0 doesn't support it -- let's hope it doesn't define the symbol either) * Makefile: attempt to fix install targets (added separate libinstall and maninstall) * Doc/libregex.tex: documented Tracy Tims' changes * Modules/regexpr.c: redid Tracy Tims' changes to minimize diffs (only two added lines now) * Modules/regexmodule.c: fix core dump when asking a plain regex object for a named group Sun Jan 2 23:10:44 1994 Guido van Rossum (guido@voorn.cwi.nl) * README, Python/version.c: changed version string to 1.0.0 BETA 2 * Modules/{regexpr.{c,h},regexmodule.c}: merged in Tracy Tims' mods for named subexpressions * Include/regexpr.h: moved to Modules/regexpr.h * Modules/timingmodule.c: change tests for no arguments * configure.in: remove strtoul from AC_REPLACE_FUNCS; remove initial blank line (which got copied into configure so it wouldn't start with #!/bin/sh as required) * Python/compile.c: call mystrto(u)l instrad of strto(u)l * Python/Makefile.in: add mystrtoul.c to OBJS * Python/mystrtoul.c: renamed from strtol.c; renamed functions to mystrto(u)l; this is now a standard source file (since some systems have a strto(u)l that doesn't report errors properly) * Modules/Setup: added entry for timing module * Modules/{timing.h,timingmodule.c}: new files implementing GNN's timing module ======================================================================== Release of 1.0.0 BETA (Jan 1 1994) ========================================================================