Guido van Rossum [Mon, 18 Oct 1993 11:44:47 +0000 (11:44 +0000)]
* stdwinmodule.c (stdwin_done): interface to shutdown stdwin (now this is
no longer done by config.c).
* stdwinmodule.c (initstdwin), config.c (initall): get command line
arguments from sys.argv instead of special-casing stdwin in config.c
* import.c (get_module): fix core dump when foomodule.o does not define
initfoo().
* ChangeLog: documented changes by Sjoerd.
Sjoerd Mullender [Fri, 15 Oct 1993 16:18:48 +0000 (16:18 +0000)]
intobject.c: Save references to small integers, so that they can be
shared. The default is to save references to the integers in
the range -1..99. The lower limit can be set by defining
NSMALLNEGINTS (absolute value of smallest integer to be saved)
and NSMALLPOSINTS (1 more than the largest integer to be
saved).
tupleobject.c: Save a reference to the empty tuple to be returned
whenever a tuple of size 0 is requested. Tuples of size 1
upto, but not including, MAXSAVESIZE (default 20) are put in
free lists when deallocated. When MAXSAVESIZE equals 1, only
share references to the empty tuple, when MAXSAVESIZE equals
0, don't include the code at all and revert to the old
behavior.
object.c: Print some more statistics when COUNT_ALLOCS is defined.
Sjoerd Mullender [Tue, 12 Oct 1993 12:55:27 +0000 (12:55 +0000)]
* Added support for X window interface.
* Moviechannel now uses colormap mode on 8-bit XS Indigo's instead of
converting the image to RGB32.
* Compression Library support is dependent on USE_CL compile-time flag.
Guido van Rossum [Mon, 11 Oct 1993 12:54:58 +0000 (12:54 +0000)]
* ref3.tex: added cross-ref to try statement for exc handler.
* ref7.tex: added description of sys.exc_{type,value,traceback}.
* lib5.tex: rect.intersect is different now!
Sjoerd Mullender [Mon, 11 Oct 1993 12:54:31 +0000 (12:54 +0000)]
* Extended X interface: pixmap objects, colormap objects visual objects,
image objects, and lots of new methods.
* Added counting of allocations and deallocations of builtin types if
COUNT_ALLOCS is defined. Had to move calls to NEWREF down in some
files.
* Bug fix in sorting lists.
WDB enhancement: Click once on a line with a class instance in the
local or global variables list and you get a window with the instance
variable of the class instance. This list is of course automatically
kept up to date.
Implemented support for CDDB_PATH and CDDB_WRITE_DIR environment
variables.
Added auxiliary routine tochash to convert a table-of-contents to a
hashed toc.
* clmodule.c (doParams): free PVbuffer in error condition.
* frameobject.c (newframeobject): initialize ob_type if taking entry
from the free list, since it is zeroed out when DEBUG is defined.
* pdb.py: set 'privileged' property when evaluating expressions
* string.py: change whitespace to include \r, \v and \f.
When importing strop succeeds, re-evaluate meaning of letters.
* Added support for X11 modules.
* Makefile: change location of FORMS library.
* posixmodule.c: turn #if 0 into #ifdef MSDOS (stuff in unistd.h or not)
* Almost all .h files: added CPP magic to avoid duplicate inclusions and
to support inclusion from C++.
* accessobject.c (ownercheck): allow a base class access to protected
objects of its derived classes; allow anything that has an attribute
named "__privileged__" access to anything.
* object.[ch]: added hasattr() -- test whether getattr() will succeed.
* config.c: different default PYTHONPATH for MS-DOS
* timemodule.c: change #ifdef TURBO_C into #ifdef MSDOS
* posixmodule.c: MSDOS changes by Marcel van der Peijl (Digicash)
* stropmodule.c: use C isspace(c) to test for whitespace; add
whitespace, lowercase and uppercase variables to the module.
* posixpath.py: Fix border cases in normpath ('/foo/..' should return '/')
* ftplib.py: made cwd() use 'CDUP' when dirname is '..'
* FL.py: added new constant FL_PLACE_FULLSCREEN
* Makefile: added all: and default: targets.
* many files: made some functions static; removed "extern int errno;".
* frozenmain.c: fixed bugs introduced on 24 June...
* flmodule.c: remove 1.5 bw compat hacks, add new functions in 2.2a
(and some old functions that were omitted).
* timemodule.c: added MSDOS floatsleep version .
* pgenmain.c: changed exit() to goaway() and added defn of goaway().
* intrcheck.c: add hack (to UNIX only) so interrupting 3 times
will exit from a hanging program. The second interrupt prints
a message explaining this to the user.
Guido van Rossum [Thu, 24 Jun 1993 11:10:19 +0000 (11:10 +0000)]
* pythonmain.c: -k option, usage message, more environment flags.
(the latter also in frozenmain.c)
* ceval.c: global 'killprint' flag raises exception when printing an
expression statement's value (useful for finding stray output)
* timemodule.c: add asctime() and ctime(). Change julian date to
1-based origin (as intended and documented).
* Removed unused DO_TIMES stuff from timemodule.c. Added 'epoch' and
'day0' globals (year where time.time() == 0 and day of the week the
epoch started).
Guido van Rossum [Wed, 23 Jun 1993 09:30:50 +0000 (09:30 +0000)]
* calendar.py: all libC functionality now moved to built-in time module
* imghdr.py: added jpeg recognition
* torgb.py: added jpeg conversion
* tzparse.py: use functions from time instead of calendar
* whatsound.py: add /ufs/guido/biin/sgi to $PATH when calling 'whatsound'
Guido van Rossum [Sun, 20 Jun 1993 21:02:22 +0000 (21:02 +0000)]
* aifc.py: don't die on invalid MARK chunk
* calendar.py: remove stuff now built in time; some cleanup and
generalization in the calendar printing
* cmd.py: use __init__.
* tzparse.py: This module is no longer necessary -- use builtin time instead!
Guido van Rossum [Thu, 17 Jun 1993 12:38:10 +0000 (12:38 +0000)]
* calendar.py: minor cleanups
* ftplib.py: support __init__ with optional host, port args
* aifc.py: ensure header is written on close even when no data is written
Guido van Rossum [Thu, 17 Jun 1993 12:35:49 +0000 (12:35 +0000)]
* Added gmtime/localtime/mktime and SYSV timezone globals to timemodule.c.
Added $(SYSDEF) to its build rule in Makefile.
* cgensupport.[ch], modsupport.[ch]: removed some old stuff. Also
changed files that still used it... And made several things static
that weren't but should have been... And other minor cleanups...
* listobject.[ch]: add external interfaces {set,get}listslice
* socketmodule.c: fix bugs in new send() argument parsing.
* sunaudiodevmodule.c: added flush() and close().
Guido van Rossum [Fri, 11 Jun 1993 14:13:13 +0000 (14:13 +0000)]
Keep top left corner of window where it was when resizing.
Keep aspect and max size of window at all times.
Remove (now unnecessary) sleep(0.1) in vcr capture code.
Add messages when initializing VCR.
Remove old comments.
Guido van Rossum [Thu, 10 Jun 1993 13:32:32 +0000 (13:32 +0000)]
VCR.py: Use unix files instead of stdio files for tty communication,
because of buffering. Also added several new commands (Jack).
VFile.py: Made setting of RGB or colormap mode separate methods,
so they can be overridden (e.g. when using the Glx.draw widget
the way to change the mode is totally different).
Guido van Rossum [Tue, 25 May 1993 09:38:27 +0000 (09:38 +0000)]
* classobject.c: in instance_getattr, don't make a method out of a
function found as instance data.
* socketmodule.c: added 'flags' argument sendto/recvfrom, rewrite
argument parsing in send/recv.
* More changes related to access (terminology change: owner instead of
class; allow any object as owner; local/global variables are owned
by their dictionary, only class/instance data is owned by the class;
"from...import *" now only imports objects with public access; etc.)
Guido van Rossum [Mon, 24 May 1993 14:16:22 +0000 (14:16 +0000)]
* ftplib.py: added abort() command (sends oob data).
* Several modules: change "class C(): ..." to "class C: ...".
* flp.py: support for frozen forms.
* Added string.find() which is like index but returns -1 if not found
Guido van Rossum [Fri, 21 May 1993 19:56:10 +0000 (19:56 +0000)]
* Lots of small changes related to access.
* Added "access *: ...", made access work for class methods.
* Introduced subclass check: make sure that when calling
ClassName.methodname(instance, ...), the instance is an instance of
ClassName or of a subclass thereof (this might break some old code!)
Guido van Rossum [Thu, 20 May 1993 14:24:46 +0000 (14:24 +0000)]
Access checks now work, at least for instance data (not for methods
yet). The class is now passed to eval_code and stored in the current
frame. It is also stored in instance method objects. An "unbound"
instance method is now returned when a function is retrieved through
"classname.funcname", which when called passes the class to eval_code.
Guido van Rossum [Wed, 19 May 1993 14:50:45 +0000 (14:50 +0000)]
Several changes in one:
(1) dictionaries/mappings now have attributes values() and items() as
well as keys(); at the C level, use the new function mappinggetnext()
to iterate over a dictionary.
(2) "class C(): ..." is now illegal; you must write "class C: ...".
(3) Class objects now know their own name (finally!); and minor
improvements to the way how classes, functions and methods are
represented as strings.
(4) Added an "access" statement and semantics. (This is still
experimental -- as long as you don't use the keyword 'access' nothing
should be changed.)
Guido van Rossum [Wed, 12 May 1993 08:24:20 +0000 (08:24 +0000)]
* pythonrun.c: Print exception type+arg *after* stack trace instead of
before it.
* ceval.c, object.c: moved testbool() to object.c (now extern visible)
* stringobject.c: fix bugs in and rationalize string resize in formatstring()
* tokenizer.[ch]: fix non-working code for lines longer than BUFSIZ
* Microscopic corrections to make things compile on the Cray APP.
* Removed one use of $> in Makefile and warned about others.
Added configurable lines in Makefile to change CC and AR.
Guido van Rossum [Tue, 30 Mar 1993 17:46:03 +0000 (17:46 +0000)]
* Fixed some subtleties with fastlocals. You can no longer access
f_fastlocals in a traceback object (this is a core dump hazard
if there are <nil> entries), but instead eval_code() merges the fast
locals back into the locals dictionary if it looks like the local
variables will be retained. Also, the merge routines save
exceptions since this is sometimes needed (alas!).
* Added id() to bltinmodule.c, which returns an object's address
(identity). Useful to walk arbitrary data structures containing
cycles.
* Added compile() to bltinmodule.c and compile_string() to
pythonrun.[ch]: support to exec/eval arbitrary code objects. The
code that defaults globals and locals is moved from run_node in
pythonrun.c (which is now identical to eval_node) to eval_code in
ceval.c. [XXX For elegance a clean-up session is necessary.]
Guido van Rossum [Tue, 30 Mar 1993 13:18:41 +0000 (13:18 +0000)]
Changes to speed up local variables enormously, by avoiding dictionary
lookup (opcode.h, ceval.[ch], compile.c, frameobject.[ch],
pythonrun.c, import.c). The .pyc MAGIC number is changed again.
Added get_menu_text to flmodule.
Guido van Rossum [Mon, 29 Mar 1993 11:30:50 +0000 (11:30 +0000)]
* Fix bug in tzparse.py for DST timezone
* Added whatis command to pdb.py
* new module GET.py (GL definitions from <gl/get.h>)
* rect.py: is_empty takes a rect as argument, not two points.
* Added tests for builtin round() [XXX not yet complete!]
Guido van Rossum [Mon, 29 Mar 1993 10:43:31 +0000 (10:43 +0000)]
* Changed all copyright messages to include 1993.
* Stubs for faster implementation of local variables (not yet finished)
* Added function name to code object. Print it for code and function
objects. THIS MAKES THE .PYC FILE FORMAT INCOMPATIBLE (the version
number has changed accordingly)
* Print address of self for built-in methods
* New internal functions getattro and setattro (getattr/setattr with
string object arg)
* Replaced "dictobject" with more powerful "mappingobject"
* New per-type functio tp_hash to implement arbitrary object hashing,
and hashobject() to interface to it
* Added built-in functions hash(v) and hasattr(v, 'name')
* classobject: made some functions static that accidentally weren't;
added __hash__ special instance method to implement hash()
* Added proper comparison for built-in methods and functions