Commit Graph

233 Commits

Author SHA1 Message Date
Guido van Rossum 884afd654a keyword arguments and faster function calls 1995-07-18 14:21:06 +00:00
Guido van Rossum 3c7807937e include abstract.h 1995-07-18 14:07:52 +00:00
Guido van Rossum a827537afa Generic Abstract Object Interface 1995-07-18 14:07:00 +00:00
Guido van Rossum 3b46a50d63 new opcodes RAISE_VARARGS, CALL_FUNCTION 1995-07-07 22:32:10 +00:00
Guido van Rossum 5bb73ed5e4 new grammar symbols arglist and argument 1995-07-07 22:31:40 +00:00
Jack Jansen f9480ce4d4 Changed ifdef __CFM68K__ to ifdef SYMANTEC__CFM68K__: CW has its own
unique set of ideosyncracies:-(
1995-06-27 13:12:09 +00:00
Guido van Rossum cf97469407 removed duplicate defs for None, False, True 1995-04-28 21:28:02 +00:00
Sjoerd Mullender 107c747009 DL_IMPORT needs an argument. 1995-04-25 11:53:24 +00:00
Jack Jansen 5dbc7231a0 DL_IMPORT macro was called in a funny way (and MW barfed on it) 1995-04-23 22:06:05 +00:00
Sjoerd Mullender 91e7a0bd2a Also count UNREF's as freeing an object (only relevant when
COUNT_ALLOCS is defined).
1995-04-06 13:47:48 +00:00
Guido van Rossum 8f7871eec3 finalizing 1.2 1995-04-05 12:24:52 +00:00
Guido van Rossum 6f9e433ab3 fix dusty debugging macros 1995-03-29 16:57:48 +00:00
Guido van Rossum 599de5ab9f addet SETTUPLEITEM and added cast to GETTUPLEITEM 1995-03-09 12:10:16 +00:00
Guido van Rossum 051ab123b4 make the type a parameter of the DL_IMPORT macro, for Borland C 1995-02-27 10:17:52 +00:00
Guido van Rossum 57836fe998 change in staticforward -- added statichere 1995-02-21 21:06:10 +00:00
Guido van Rossum 0acd4b6e82 changes for Mac CFM-68K 1995-02-18 14:50:12 +00:00
Guido van Rossum fe299f9408 add Py_FatalError 1995-02-17 15:01:39 +00:00
Guido van Rossum b13afdd6f4 added PyObject_IsTrue & PyCallable_Check to object interface 1995-02-17 15:01:21 +00:00
Jack Jansen 3cfc8bd841 exec_dode_object/PyImport_ExecCodeObject is now externally visible 1995-02-15 22:55:45 +00:00
Guido van Rossum f2038a3593 version 1.2-beta-3 1995-02-13 20:27:30 +00:00
Guido van Rossum b7d3d4e5d6 make newvarobj's size arg signed 1995-02-10 16:55:33 +00:00
Guido van Rossum 10f8efd87a add Py_CHARMASK 1995-02-10 16:51:02 +00:00
Guido van Rossum 9e89f0a5b3 added callable, removed run_pyc_file 1995-02-07 15:26:59 +00:00
Guido van Rossum 6978503235 added findmethodinchain and methodchain data types 1995-01-26 22:58:48 +00:00
Guido van Rossum 855d0b3602 corrected two unconverted names 1995-01-20 16:52:42 +00:00
Guido van Rossum 58e4a1e0cb last bits 1995-01-17 16:53:38 +00:00
Guido van Rossum 938178283c new names for lots of new functions 1995-01-17 16:01:01 +00:00
Guido van Rossum caa6380886 The great renaming, phase two: all header files have been updated to
use the new names exclusively, and the linker will see the new names.
Files that import "Python.h" also only see the new names.  Files that
import "allobjects.h" will continue to be able to use the old names,
due to the inclusion (in allobjects.h) of "rename2.h".
1995-01-12 11:45:45 +00:00
Guido van Rossum 6c1874fc2b changes for C++ (Tim MacKenzie) 1995-01-10 17:43:33 +00:00
Guido van Rossum 6135a87f2b __builtins__ mods (and sys_checkinterval for ceval.c) 1995-01-09 17:53:26 +00:00
Guido van Rossum 970a0a20b8 api version checking 1995-01-09 17:47:20 +00:00
Guido van Rossum a0d7a23398 sys.check_interval=x -> sys.setcheckinterval(x) 1995-01-09 17:46:13 +00:00
Guido van Rossum 5e56997969 initmodule2 -> initmodule3 (with doc string) 1995-01-07 11:51:27 +00:00
Guido van Rossum 3615aaf6c5 Changed since Grammar has changed 1995-01-07 10:33:27 +00:00
Guido van Rossum 7a01389bc7 add 5th arg to instancebinop 1995-01-07 10:33:05 +00:00
Guido van Rossum 0908bacfa5 added func_doc 1995-01-07 10:32:47 +00:00
Guido van Rossum 9dc8d0e0a3 added ml_doc and changed newmethodlist interface 1995-01-07 10:32:29 +00:00
Guido van Rossum 6fde390655 new tp_str and tp_doc members in type object 1995-01-07 10:32:04 +00:00
Guido van Rossum 5799b52008 Added 1995 copyright.
object.h: made sizes and refcnts signed ints.
stringobject.h: make getstrsize() signed int.
methodobject.h: add METH_VARARGS and METH_FREENAME flag bit definitions.
1995-01-04 19:06:22 +00:00
Guido van Rossum 66cb311fba Lots of small things, see ChangeLog 1994-12-30 15:33:50 +00:00
Jack Jansen 599f0d1c2c - Added ability to get at strings embedded in the struct
- For the mac, added ability to get at pascal-style strings
1994-12-14 13:04:05 +00:00
Jack Jansen 234fd7e4bb Use \n as PYTHONPATH delimiter on Mac (less likely to occur in
filenames than space).
1994-12-14 12:57:12 +00:00
Guido van Rossum f483846386 pl1.1.1; added newgetargs renaming 1994-11-10 22:29:04 +00:00
Guido van Rossum 5ebc0cad57 include stddef.h 1994-10-20 22:03:08 +00:00
Guido van Rossum 8780a44f2c Oops -- version number! 1994-10-06 17:00:05 +00:00
Guido van Rossum c5d92e1271 ceval.h: added Py_MakePendingCalls()
classobject.h: added instancebinop()
modsupport.h: added newgetargs()
rename1.h: removed Py_FPROTO
1994-09-28 15:44:39 +00:00
Guido van Rossum 956640880d pythonrun.h: added run_pyc_file
ceval.h: added Py_AddPendingCall
rest: modules using the new naming scheme must now include Python.h
1994-09-14 13:23:36 +00:00
Guido van Rossum c6cf1dd317 pythgonrun.h: added Py_AtExit().
rename1.h: add PyArg_GetInt.
1994-09-07 14:35:10 +00:00
Guido van Rossum 03a909628b Define cl_{get,set,del}attr members in classobject 1994-09-06 09:48:43 +00:00
Guido van Rossum d2002c79f0 Added PyArg_NoArgs(v) 1994-08-29 10:55:31 +00:00
Guido van Rossum ff18df0eb3 For THINK C 6.0 1994-08-29 10:55:19 +00:00
Guido van Rossum b4f066da49 Include/node.h: make some fields short to save space during
parsing
1994-08-23 13:37:43 +00:00
Guido van Rossum a715274421 No need to define THINK_C any more 1994-08-19 11:16:32 +00:00
Guido van Rossum e89bc75048 Changes for dynamic linking under NT 1994-08-18 16:18:13 +00:00
Guido van Rossum 8a38a6b99f Moved to Include and changed format to "<complete_version>" 1994-08-17 14:39:22 +00:00
Guido van Rossum e149fa2a1e * 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
1994-08-12 12:49:46 +00:00
Guido van Rossum e025e31de6 * Include/rename1.h: added PyMethodDef and PyObject 1994-08-12 12:46:05 +00:00
Guido van Rossum 75abc6392b * 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
1994-08-09 13:21:54 +00:00
Guido van Rossum 46f24027f4 Strange... levels 1 and 2 were never committed? 1994-08-01 13:16:27 +00:00
Guido van Rossum b6775db241 Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
Guido van Rossum 80e32bf546 Added Makefile with clean and clobber targets 1994-01-04 23:24:22 +00:00
Guido van Rossum f30adc8a99 all: 1994 copyright
moved config.c and most modules to ../Modules
moved patchlevel.h here from ../Include
changed version to 1.0.0 BETA, date to January 1994
1994-01-02 00:15:57 +00:00
Guido van Rossum 5a18919d00 all: 1994 copyright
added config.h, config.h.in
moved parser.h to ../Parser, patchlevel.h to ../Python
allobjects.h: include config.h
some: remove all refs to THINK_C_3_0
mymalloc.h: di HAVE_STDLIB differently, use size_t instead of MALLARG
1994-01-02 00:11:39 +00:00
Guido van Rossum 60a578aa4e New files 1993-12-24 10:32:48 +00:00
Guido van Rossum 7d6aa51b56 * rangeobject.[ch], bltinmodule.c: incorporate new version of range
object (unchanged from source except "range" -> "xrange").
1993-12-21 22:50:31 +00:00
Sjoerd Mullender 7030b1ff2d almodule.c: added close method, equivalent to closeport.
thread.h: use PROTO instead of _P for prototypes.
1993-12-20 17:26:34 +00:00
Guido van Rossum 248a50c168 * Grammar: corrected old typo (class instead of 'class')
* dosmodule.c: MSDOS specific stuff from posixmodule.c.
* posixmodule.c: removed all MSDOS specific stuff.
* tokenizer.h, parsetok.h: in prototypes, don't mix named and unnamed
  parameters (MSC doesn't like this).
1993-12-20 12:53:10 +00:00
Guido van Rossum 590baa4a7a * import.c (get_module): pass .py filename to parse_file, not .pyc filename!
* funcobject.c (func_repr): don't call getstringvalue(None) for anonymous
  functions.
* bltinmodule.c: removed lambda (which is now a built-in function);
  removed implied lambda for string arg to filter/map/reduce.
* Grammar, graminit.[ch], compile.[ch]: replaced lambda as built-in
  function by lambda as grammar entity: instead of "lambda('x: x+1')" you
  write "lambda x: x+1".
* Xtmodule.c (checkargdict): return 0, not NULL, for error.
1993-11-30 13:40:46 +00:00
Guido van Rossum b376a4ad18 * timemodule.c: Add hack for Solaris 2.
* posixmodule.c: don't prototype getcwd() -- it's not portable...
* mappingobject.c: double-check validity of last_name_char in
  dict{lookup,insert,remove}.
* arraymodule.c: need memmove only for non-STDC Suns.
* Makefile: comment out HTML_LIBS and XT_USE by default
* pythonmain.c: don't prototype getopt() -- it's not standardized
* socketmodule.c: cast flags arg to {get,set}sockopt() and addrbuf arg to
  recvfrom() to (ANY*).
* pythonrun.c (initsigs): fix prototype, make it static
* intobject.c (LONG_BIT): only #define it if not already defined
* classobject.[ch]: remove all references to unused instance_convert()
* mappingobject.c (getmappingsize): Don't return NULL in int function.
1993-11-23 17:53:17 +00:00
Guido van Rossum c600411755 * mpzmodule.c: removed redundant mpz_print function.
* object.[ch], bltinmodule.c, fileobject.c: changed str() to call
  strobject() which calls an object's __str__ method if it has one.
  strobject() is also called by writeobject() when PRINT_RAW is passed.
* ceval.c: rationalize code for PRINT_ITEM (no change in function!)
* funcobject.c, codeobject.c: added compare and hash functionality.
  Functions with identical code objects and the same global dictionary are
  equal.  Code objects are equal when their code, constants list and names
  list are identical (i.e. the filename and code name don't count).
  (hash doesn't work yet since the constants are in a list and lists can't
  be hashed -- suppose this should really be done with a tuple now we have
  resizetuple!)
1993-11-05 10:22:19 +00:00
Guido van Rossum 4199facacd Added getmappingsize(). (Needed by previous checkin of posixmodule.c) 1993-11-05 10:18:44 +00:00
Guido van Rossum b73cc04e62 * ceval.c, longobject.c, methodobject.c, listnode.c, arraymodule.c,
pythonrun.c: added static forward declarations
* pythonrun.h, ceval.h, longobject.h, node.h: removed declarations of
  static routines
1993-11-01 16:28:59 +00:00
Guido van Rossum 2586bf0a34 * rangeobject.{c,h}, bltinmodule.c: removed non-essential ops from range
object.
1993-11-01 16:21:44 +00:00
Sjoerd Mullender 615194a352 Fixed bugs in resizetuple and extended the interface.
Added ifdefs in stringobject.c for shared strings of length 1.
Renamed free_list in tupleobject.c to free_tuples.
1993-11-01 13:46:50 +00:00
Guido van Rossum 12d12c5faf * compile.[ch]: support for lambda()
* PROTO.h, mymalloc.h: added #ifdefs for TURBOC and GNUC.
* allobjects.h: added #include "rangeobject.h"
* Grammar: added lambda_input; relaxed syntax for exec.
* bltinmodule.c: added bagof, map, reduce, lambda, xrange.
* tupleobject.[ch]: added resizetuple().
* rangeobject.[ch]: new object type to speed up range operations (not
  convinced this is needed!!!)
1993-10-26 17:58:25 +00:00
Sjoerd Mullender 3bb8a05947 Several optimizations and speed improvements.
cstubs: Use Matrix type instead of float[4][4].
1993-10-22 12:04:32 +00:00
Guido van Rossum db3165e655 * bltinmodule.c: removed exec() built-in function.
* Grammar: add exec statement; allow testlist in expr statement.
* ceval.c, compile.c, opcode.h: support exec statement;
  avoid optimizing locals when it is used
* fileobject.{c,h}: add getfilename() internal function.
1993-10-18 17:06:59 +00:00
Sjoerd Mullender a9c3c22c33 * 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.
1993-10-11 12:54:31 +00:00
Guido van Rossum a3309960a5 * 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++.
1993-07-28 09:05:47 +00:00
Guido van Rossum ed18fdc9fc * 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.
1993-07-11 19:55:34 +00:00
Guido van Rossum 234f942aef * 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().
1993-06-17 12:35:49 +00:00
Guido van Rossum eb6b33a837 * 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.)
1993-05-25 09:38:27 +00:00
Guido van Rossum b3f7258f14 * 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!)
1993-05-21 19:56:10 +00:00
Guido van Rossum 81daa32c15 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.
1993-05-20 14:24:46 +00:00
Guido van Rossum 25831652fd 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.)
1993-05-19 14:50:45 +00:00
Guido van Rossum f56e3db1dd Support for frozen scripts; added -i option. 1993-04-01 20:59:32 +00:00
Guido van Rossum 5b7221849e * 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.]
1993-03-30 17:46:03 +00:00
Guido van Rossum 8b17d6bd89 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.
1993-03-30 13:18:41 +00:00
Guido van Rossum 9bfef44d97 * 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
1993-03-29 10:43:31 +00:00
Guido van Rossum 4b1302bd1d Generalized version of dictionaries, with compatibility hacks. 1993-03-27 18:11:32 +00:00
Guido van Rossum e537240c25 * 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.
1993-03-16 12:15:04 +00:00
Guido van Rossum 34679b7661 * 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
1993-01-26 13:33:44 +00:00
Guido van Rossum a2b7f40513 * Configure.py: use #!/usr/local/bin/python
* posixmodule.c: move extern function declarations to top
* listobject.c: cmp() arguments must be void* if __STDC__
* Makefile, allobjects.h, panelmodule.c, modsupport.c: get rid of
  strdup() -- it is a portability risk
* Makefile: enclosed ranlib command in parentheses for Sequent Make
  which aborts if the command is not found even if '-' is present
* timemodule.c: time() returns a floating point number, in microsecond
  precision if BSD_TIME is defined.
1993-01-04 09:09:59 +00:00
Guido van Rossum 5f59d6018e * mymalloc.h: always allocate one extra byte, since some malloc's
return NULL for malloc(0) or realloc(p, 0).  (This should be done
  differently than wasting one byte, but alas...)
* Moved "add'l libraries" option in Makefile to an earlier place.
* Remove argument compatibility hacks (b) and (c).
* Add grey2mono, dither2mono and mono2grey to imageop.
* Dup the fd in socket.fromfd().
* Added new modules mpz, md5 (by JH, requiring GNU MP 1.2).  Affects
  Makefile and config.c.
* socketmodule.c: added socket.fromfd(fd, family, type, [proto]),
  converted socket() to use of getargs().
1992-12-14 16:59:51 +00:00
Guido van Rossum a9e7dc1081 * bltinmodule.c: added built-in function cmp(a, b)
* flmodule.c: added {do,check}_only_forms to fl's list of functions;
  and don't print a message when an unknown object is returned.

* pythonrun.c: catch SIGHUP and SIGTERM to do essential cleanup.

* Made jpegmodule.c smaller by using getargs() and mkvalue() consistently.

* Increased parser stack size to 500 in parser.h.

* Implemented custom allocation of stack frames to frameobject.c and
  added dynamic stack overflow checks (value stack only) to ceval.c.
  (There seems to be a bug left: sometimes stack traces don't make sense.)
1992-10-18 18:53:57 +00:00
Guido van Rossum 3165fe6a56 Modified most (but not yet all) I/O to always go through sys.stdout or
sys.stderr or sys.stdin, and to work with any object as long as it has
a write() (respectively readline()) methods.  Some functions that took
a FILE* argument now take an object* argument.
1992-09-25 21:59:05 +00:00
Guido van Rossum 1899c2e055 Made builtins int(), long(), float(), oct() and hex() more generic. 1992-09-12 11:09:23 +00:00
Sjoerd Mullender d10d8291f1 Added C++ support in thread.h; don't use signals if not strictly
necessary, and when they are, use SIGKILL; when compiled with -DDEBUG,
only print debug messages when "THREADDEBUG" is set in the environment.
1992-09-11 15:19:27 +00:00
Guido van Rossum 3702284d2a Correct spelling in function name 1992-09-03 20:46:06 +00:00
Guido van Rossum f2c8beba0b AOnly define NDEDBUG if DEBUG is not defined 1992-09-03 20:34:07 +00:00