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
Guido van Rossum [Tue, 16 Mar 1993 12:15:04 +0000 (12:15 +0000)]
* Changed many files to use mkvalue() instead of newtupleobject().
* Fixcprt.py: added [-y file] option, do only files younger than file.
* modsupport.[ch]: added vmkvalue().
* intobject.c: use mkvalue().
* stringobject.c: added "formatstring"; renamed string* to string_*;
ceval.c: call formatstring for string % value.
* longobject.c: close memory leak in divmod.
* parsetok.c: set result node to NULL when returning an error.
Guido van Rossum [Thu, 25 Feb 1993 16:10:16 +0000 (16:10 +0000)]
Vrec.py, Vrecb.py:
- call v.SetParam() after v.BindGLWindow()
- turn of dithering in mono/grey mode
- use prefposition to place the top left corner at (150, 150)
(so that the video remains visible during recording)
- default width is 256
Vcopy.py: correct typos; more verbose output.
OldVcopy.py: new name for Jack's old grabbing Vcopy.py.
Vstat.py: print values of all video parameters.
Guido van Rossum [Thu, 25 Feb 1993 14:20:13 +0000 (14:20 +0000)]
- Separated grabbing (which isn't used much!) from VFile.
- Renamed old Vcopy.py to OldVcopy.py, some cosmetic changes to it (is
it still needed?)
- Added new Vcopy.py which does everything that Vtime.py does but also
format conversions, image scaling, and packfactors.
- VFile: make packfactor always a tuple; introduce set and get methods
for pf, format, and calculate some derived values.
- Added new module GET.py to std library, use it instead of defining
DM* in VFile.
- Get rid of C programs (new Python programs can do all that they do
and they probably don't understand the current file format anyway).
Sjoerd Mullender [Wed, 17 Feb 1993 09:11:14 +0000 (09:11 +0000)]
* clmodule.c: the documentation was wrong, so changed the interface
accordingly: SetMin, SetMax, SetDefault are no longer methods of the
compressor/decompressor but are functions of the cl module and they
take a first argument which is a compression scheme
Sjoerd Mullender [Tue, 16 Feb 1993 11:55:17 +0000 (11:55 +0000)]
* clmodule.c: use function prototypes (found and fixed some bugs this
way); more efficiently check whether parameters are float; removed
one argument from DecompressImage method; use clGetParam instead of
clGetParams where it makes sense; convert int parameters in
SetParams, SetParam, SetMin, SetMax, and SetDefault to float when
needed; added QuerySchemeFromHandle method
* Makefile: interchanged cstubs and cgen.py so that $> in rule gets
them in the right order
Guido van Rossum [Fri, 12 Feb 1993 16:29:05 +0000 (16:29 +0000)]
bltinmodule.c: added round(x, [n]); coerce() of two class instances
will try to coerce anyway.
classobject.c: instance 'nonzero' should first try __nonzero__
only then __len__.
* stdwinmodule.c: various new commands: setwin{pos,size},
listfontnames, bitmap ops.
* listobject.c: use mkvalue() when possible; avoid weird error when
calling append() without args.
* modsupport.c: new feature in getargs(): if the format string
contains a semicolor the string after that is used as the error
message instead of "bad argument list (format %s)" when there's an
error.
* ceval.c: ifdef out the last argument passing compat hack.
* Fixed memory leaks in socket, select and sv modules: mkvalue("O", v)
does INCREF(v) so if v is brand new it should be XDECREF'd
Guido van Rossum [Tue, 26 Jan 1993 13:33:44 +0000 (13:33 +0000)]
* Added Fixcprt.py: script to fix copyright message.
* various modules: added 1993 to copyright.
* thread.c: added copyright notice.
* ceval.c: minor change to error message for "+"
* stdwinmodule.c: check for error from wfetchcolor
* config.c: MS-DOS fixes (define PYTHONPATH, use DELIM, use osdefs.h)
* Add declaration of inittab to import.h
* sysmodule.c: added sys.builtin_module_names
* xxmodule.c, xxobject.c: fix minor errors