Commit Graph

614 Commits

Author SHA1 Message Date
Barry Warsaw accfb849f9 added PyString_GET_SIZE macro
for both PyString_GET_SIZE and PyString_AS_STRING, cast first argument
to a PyStringObject*
1997-01-06 22:42:50 +00:00
Barry Warsaw 1f2bd07aed added PyList_GET_SIZE macro
for both PyList_GET_SIZE and PyList_GET_ITEM, cast first argument to a
PyListObject*
1997-01-06 22:42:00 +00:00
Guido van Rossum 53756b1097 Added PyLong_FromUnsignedLong() and PyLong_AsUnsignedLong(). 1997-01-03 17:14:46 +00:00
Barry Warsaw f3f41a9e57 Added declaration for PyErr_SetInterrupt. 1997-01-03 00:15:03 +00:00
Guido van Rossum 408027ea46 Rename DEBUG macro to Py_DEBUG 1996-12-30 16:17:54 +00:00
Guido van Rossum caf783793d Added remaining declarations needed/used in glmodule.c; keeps gcc -Wall happy. 1996-12-10 15:41:19 +00:00
Guido van Rossum 067998f35e Add const to error and newstring functions 1996-12-10 15:33:34 +00:00
Guido van Rossum 049cd90b93 Jim F's brainchild 1996-12-05 23:30:48 +00:00
Guido van Rossum 2adf06b04c Added missing for PySequence_List. 1996-12-05 21:48:50 +00:00
Guido van Rossum d266eb460e New permission notice, includes CNRI. 1996-10-25 14:44:06 +00:00
Guido van Rossum 58055847f4 Changed version to plain "1.4". 1996-10-22 03:09:46 +00:00
Guido van Rossum b75fba04c7 Forget about Ellipses b/w compatibility. 1996-10-16 04:18:36 +00:00
Guido van Rossum e449af7da9 Ellipses -> Ellipsis rename (the dictionary really says that it should
be Ellipsis!).
Bumped the API version because a linker-visible symbol is affected.
Old C code will still compile -- there's a b/w compat macro.
Similarly, old Python code will still run, builtin exports both
Ellipses and Ellipsis.
1996-10-11 16:25:41 +00:00
Guido van Rossum a63518436a Add waitflag to down_sema(). 1996-10-08 14:21:49 +00:00
Guido van Rossum c8ce571c16 Rationalized PC compiler defines: require MS_WINDOWS or __BORLANDC__
or __WATCOMC__.  Add ALTSEP for PC filesystems.
1996-09-11 20:20:58 +00:00
Guido van Rossum a25e5e9ae9 PyMapping_DelItem[String] are actually macros. 1996-09-06 13:48:38 +00:00
Guido van Rossum ed227f0589 Correctly document PyNumber_Coerce. 1996-09-06 13:40:53 +00:00
Guido van Rossum ace527cbc2 Change comments/#ifdef structure for declaration for hypot(). 1996-08-29 18:12:36 +00:00
Guido van Rossum 2a516c8f2c Bump patchlevel (a bit early, but what the heck...) 1996-08-22 23:15:05 +00:00
Guido van Rossum 2ea0b06498 Add PYTHON_API_STRING, which is PYTHON_API_VERSION as a string literal.
Under Windows, add MS_DLL_ID and MS_DLL_VERSION_ID for Mark H.

Independent change: if Py_TRACE_REFS is defined, rename Py_InitModule4
so so linking with incompatible modules will create a link time error.

[Backing out of previous changes (also for modsupport.c) to test
the latter at runtime.]
1996-08-22 22:55:47 +00:00
Guido van Rossum 6cdc6f4146 Added PyObject_DelItem and PySequence_Del{Item,Slice}. 1996-08-21 17:41:54 +00:00
Guido van Rossum 7cf1fcf347 Always include config.h 1996-08-19 22:12:39 +00:00
Guido van Rossum 49c70a7a4d Added declaration for *PyMarshal_WriteObjectToString(). 1996-08-19 22:05:27 +00:00
Guido van Rossum 8b51d227f6 Add prototypes for c_sum() etc. 1996-08-19 22:04:54 +00:00
Guido van Rossum 0dfcf753ad Disable support for access statement 1996-08-12 22:00:53 +00:00
Guido van Rossum d86b38003d Added extern declarations for reference count admin debug functions. 1996-08-12 21:31:32 +00:00
Guido van Rossum 8b004d36ed Renamed to pyerrors.h 1996-08-09 23:15:18 +00:00
Guido van Rossum 0693dd232e Added tp_getattro, tp_setattro (Sjoerd) 1996-08-09 20:48:52 +00:00
Guido van Rossum 1d60614d42 Correctly use Py_PROTO, not obsolete PROTO. 1996-08-08 18:44:36 +00:00
Guido van Rossum 6f90e9862e Renamed errors. -> pyerrors.h (for Mac, where Errors.h is a system header). 1996-08-08 18:43:59 +00:00
Guido van Rossum 578cedde35 Typo: PySequence_Lenth -> PySequence_Length. 1996-08-08 18:43:10 +00:00
Guido van Rossum 9caf77a485 Put definition of _REENTRANT in config.h 1996-08-01 00:52:26 +00:00
Guido van Rossum 7a7eb37a10 patch level 1.4b2 1996-07-30 20:46:14 +00:00
Guido van Rossum 9de624d784 Added extern defn of hypot(). 1996-07-30 16:55:08 +00:00
Guido van Rossum e15d0dea07 Slice and ellipses interface 1996-07-30 16:42:30 +00:00
Guido van Rossum fdebf25705 Turn on CACHE_HASH, for 2% speedier dict lookups 1996-07-30 16:42:03 +00:00
Guido van Rossum db3b04104a Added BUILD_SLICE opcode. 1996-07-30 16:41:26 +00:00
Guido van Rossum ae8a99e3f5 Two bumps for the price of one (PYTHON_API_VERSION) 1996-07-30 16:41:02 +00:00
Guido van Rossum 26a70f6b32 Changes due to slice and ellipses grammar changes 1996-07-30 16:39:30 +00:00
Guido van Rossum 03eed47512 Added sliceobject.h. 1996-07-30 16:39:03 +00:00
Guido van Rossum 519b4339f1 renamed complex -> Py_complex 1996-07-21 02:24:22 +00:00
Guido van Rossum 5a84914803 Hacks for MS_COREDLL 1996-07-21 02:23:54 +00:00
Guido van Rossum bb864062f1 added new names for getprogramname, getargcargv 1996-07-21 02:23:24 +00:00
Guido van Rossum 4f4ce68085 Added prototype + doc for PySequence_Length() 1996-07-21 02:22:56 +00:00
Guido van Rossum 84fb82dda0 Patchlevel to 1.4 beta 1. 1996-06-26 18:29:09 +00:00
Guido van Rossum 04527a22c8 frozen_modules is now officially part of the API, remove _ from new name. 1996-06-17 17:05:38 +00:00
Guido van Rossum 4ee68d91c3 Add defs for struct _frozen and struct _frozen *PyImport_FrozenModules(); 1996-06-17 17:05:01 +00:00
Guido van Rossum 2e1beeac2e Add a hack for Solaris threads (why not, there are zillions of
hacks for Windows and DOS here already :-( ).
1996-06-11 18:40:02 +00:00
Guido van Rossum 9a97d6ce53 Added Py_GetPath (getpythonpath) 1996-05-28 22:27:07 +00:00
Guido van Rossum 5f1563cd93 rename more symbols 1996-05-24 21:11:58 +00:00
Guido van Rossum 652f108faf rename exported symbols with _Py_ prefix 1996-05-24 21:01:36 +00:00
Guido van Rossum 5048de2bc6 rename parser internal symbols with _Py_ prefix 1996-05-24 20:43:31 +00:00
Guido van Rossum e1cd6c175b don't use NDEBUG 1996-05-24 20:43:12 +00:00
Guido van Rossum 4b0538c472 Added PySys_SetPath. 1996-05-22 17:31:52 +00:00
Guido van Rossum b9d876020d Don't declare Py_FatalError.
Add Py_mport_Init and PyBuiltin_Init.
1996-05-22 17:30:12 +00:00
Guido van Rossum b221ac4f33 Define DL_IMPORT if necessary.
Include pydebug.h instead of declaring Py_FatalError.
1996-05-22 17:28:54 +00:00
Guido van Rossum dd197e91bf Added __WATCOMC__ as DOS compiler. 1996-05-22 17:26:25 +00:00
Guido van Rossum 39c2aae198 Added decl for PyImport_Init.
Changed decl for inittab to define struct _inittab first.
1996-05-22 17:25:28 +00:00
Guido van Rossum 2514ec7fa4 Used new names for PyBuiltin_GetDict, PyBuiltin_GetModule.
Added PyBuiltin_Init.
1996-05-22 17:24:06 +00:00
Guido van Rossum b422c24934 Added PyFile_decls for PyFile_WriteObject, PyFile_SoftSpace,
PyFile_WriteString.
1996-05-22 17:22:22 +00:00
Guido van Rossum 12669749f6 Debug related variable/function definitions go here. 1996-05-22 16:38:17 +00:00
Guido van Rossum 1799eb59da Non-trivial DL_IMPORT must now be defined in config.h.
Include <stdlib.h>.
Include several more Python header files, including new pydebug.h.
1996-05-22 16:37:29 +00:00
Guido van Rossum 60be1db9a9 Added some visual enhancements of debugging ifdefs.
Added PyNumber_Coerce decl.
1996-05-22 16:33:22 +00:00
Guido van Rossum 0578851964 Removed TRACE_REFS and REF_DEBUG b/w compat hacks -- they don't work.
Added defs for getbuiltindict, getbuiltinmod (bltinmodule.c).
1996-05-22 16:30:09 +00:00
Jack Jansen e708f4005d Include GUSI.h if compiling for mac with gusi-sockets 1996-02-14 16:04:39 +00:00
Jack Jansen b89f32e869 Added prototype for PySys_SetArgv 1996-01-22 14:56:29 +00:00
Guido van Rossum 5990592b71 added decl for PyComplex_AsCComplex 1996-01-12 00:55:11 +00:00
Guido van Rossum 3d1f09557b changes for ** (power) operator 1996-01-12 00:51:44 +00:00
Guido van Rossum b17d5dea48 changes for complex numbers 1996-01-12 00:50:33 +00:00
Guido van Rossum e0dbd590ea bump api version 1996-01-12 00:49:39 +00:00
Guido van Rossum 3ca2a95078 added complex and c object.h; get rid of Py_FatalError 1996-01-12 00:48:04 +00:00
Guido van Rossum f9fca9252f complex numbers a la Konrad Hinsen 1996-01-12 00:47:05 +00:00
Guido van Rossum 77654a7e5e opaque C object a la Jim Fulton 1996-01-12 00:44:03 +00:00
Guido van Rossum f36768eed5 set version to 1.3 1995-10-08 00:52:37 +00:00
Guido van Rossum 59c473be99 delete PyNothing_Check, which does not actually exist 1995-09-30 16:10:43 +00:00
Guido van Rossum 9d78d8d2fb spell TraceBack with capital B 1995-09-18 21:29:36 +00:00
Guido van Rossum 8ca687a68e use Py_PROTO macro 1995-09-18 21:20:02 +00:00
Guido van Rossum 23d7b4bbfd removed redundant C++ hack 1995-09-07 19:37:11 +00:00
Jack Jansen 54bc679d0a patchlevel set to 1.3b3 1995-09-01 11:46:27 +00:00
Guido van Rossum bebdc376c3 changes for keyword args to built-in functions and classes 1995-07-26 17:58:29 +00:00
Guido van Rossum 454674d5db add forgotten PyObject_SetAttrString 1995-07-26 17:53:29 +00:00
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
Guido van Rossum 1e28e5e596 * renamed malloc.h mymalloc.h, and added MALLARG as the type of the
argument to malloc() (size_t or unsigned int)

* listobject.c: check for overflow of the size of the object,
  so things like range(0x7fffffff) will raise MemoryError instead
  of calling malloc() with -4 (and then crashing -- malloc's fault)
1992-08-19 16:46:30 +00:00
Guido van Rossum f9f2e82fca New thread.c from Sjoerd, supports _exit_prog(). Use this in goaway()
to avoid hanging in cleanup().
1992-08-17 08:59:08 +00:00
Guido van Rossum e6eefc2231 * classobject.[ch], {float,long,int}object.c, bltinmodule.c:
coercion is now completely generic.
* ceval.c: for instances, don't coerce for + and *; * reverses
  arguments if left one is non-instance numeric and right one sequence.
1992-08-14 12:06:52 +00:00
Guido van Rossum 04691fc1c1 Changes so that user-defined classes can implement operations invoked
by special syntax: you can now define your own numbers, sequences and
mappings.
1992-08-12 15:35:34 +00:00
Guido van Rossum ff4949eeee * Makefile: cosmetics
* socketmodule.c: get rid of makepair(); fix makesocketaddr to fix
  broken recvfrom()
* socketmodule: get rid of getStrarg()
* ceval.h: move eval_code() to new file eval.h, so compile.h is no
  longer needed.
* ceval.c: move thread comments to ceval.h; always make save/restore
  thread functions available (for dynloaded modules)
* cdmodule.c, listobject.c: don't include compile.h
* flmodule.c: include ceval.h
* import.c: include eval.h instead of ceval.h
* cgen.py: add forground(); noport(); winopen(""); to initgl().
* bltinmodule.c, socketmodule.c, fileobject.c, posixmodule.c,
  selectmodule.c:
  adapt to threads (add BGN/END SAVE macros)
* stdwinmodule.c: adapt to threads and use a special stdwin lock.
* pythonmain.c: don't include getpythonpath().
* pythonrun.c: use BGN/END SAVE instead of direct calls; also more
  BGN/END SAVE calls etc.
* thread.c: bigger stack size for sun; change exit() to _exit()
* threadmodule.c: use BGN/END SAVE macros where possible
* timemodule.c: adapt better to threads; use BGN/END SAVE; add
  longsleep internal function if BSD_TIME; cosmetics
1992-08-05 19:58:53 +00:00
Guido van Rossum 1984f1e1c6 * Makefile adapted to changes below.
* split pythonmain.c in two: most stuff goes to pythonrun.c, in the library.
* new optional built-in threadmodule.c, build upon Sjoerd's thread.{c,h}.
* new module from Sjoerd: mmmodule.c (dynamically loaded).
* new module from Sjoerd: sv (svgen.py, svmodule.c.proto).
* new files thread.{c,h} (from Sjoerd).
* new xxmodule.c (example only).
* myselect.h: bzero -> memset
* select.c: bzero -> memset; removed global variable
1992-08-04 12:41:02 +00:00
Guido van Rossum 4fbf798f86 * myselect.h: bzero -> memset
* select.c: bzero -> memset; removed global variable
1992-08-04 09:13:45 +00:00
Guido van Rossum ed233a5696 Changes for new UNIX-specific built-in module 'select' and new header for
interfaces to variants of select() system call, "myselect.h".  This includes
adding fileno() methods to files, sockets and stdwin.
1992-06-23 09:07:03 +00:00
Guido van Rossum 000239517d added BYTE, CHAR and unsigned variants 1992-06-03 17:07:40 +00:00
Guido van Rossum 5a8f824933 Added declaration for mkvalue() 1992-04-13 15:54:59 +00:00
Guido van Rossum 5113f5fd34 Copyright for 1992 added 1992-04-05 14:20:22 +00:00
Guido van Rossum 704a26c5f3 lint (added flushline() interface) 1992-03-27 17:29:31 +00:00
Guido van Rossum 559e55f73c Make it lint-free 1992-03-27 17:23:59 +00:00
Guido van Rossum c1b5cec10e *** empty log message *** 1992-03-24 13:46:39 +00:00
Guido van Rossum 9b9ccd3fe3 Moved definition of search path DELIM here (from sysmodule.c). 1992-03-23 18:20:32 +00:00
Guido van Rossum d510c786b8 Added definitions of sys_trace and sys_profile 1992-03-23 18:20:04 +00:00
Guido van Rossum 355a33dc6e Initial revision 1992-02-26 15:19:31 +00:00
Guido van Rossum 550fbcc2aa New getargs() function. Define macros with conventional names,
except get*str*arg --> get*Str*arg; get*str*arg fetches a C string.
1992-01-27 16:50:21 +00:00
Guido van Rossum b674c3bba5 Initial revision 1992-01-19 16:32:47 +00:00
Guido van Rossum 44c8f69ff2 Added typedef for longobject and declarations for long_{format,scan}. 1992-01-19 16:31:28 +00:00
Guido van Rossum 3d09543472 Move the longobject typedef to longobject.h.
Remove some functions that need not be exported.
1992-01-19 16:30:12 +00:00
Guido van Rossum 7c36ad7f44 New function gettupleslice(v, i, j). 1992-01-14 18:45:33 +00:00
Guido van Rossum 11c03836a2 Change tb_here() prototype. 1992-01-14 18:45:09 +00:00
Guido van Rossum 22f863feee Added UNPACK_VARARG. 1992-01-14 18:38:56 +00:00
Guido van Rossum 088bc2ad3c Added f_lasti and f_lineno members. 1992-01-14 18:32:11 +00:00
Guido van Rossum 768a3f0ab8 Added SystemExit. 1991-12-31 13:13:47 +00:00
Guido van Rossum 85fc392b9e Added ImportError. 1991-12-24 13:26:33 +00:00
Guido van Rossum fb905c3ebf Regularize exceptions. 1991-12-16 15:42:38 +00:00
Guido van Rossum 750bf14c32 Added UNPACK_ARG. 1991-12-16 13:07:35 +00:00
Guido van Rossum c06022966f Add "varargs" attribute. 1991-12-16 13:07:24 +00:00
Guido van Rossum a317365eb2 SyntaxError. 1991-12-16 13:06:04 +00:00
Guido van Rossum 97ff5308fe Added _GLOBAL opcodes. 1991-12-10 13:59:17 +00:00
Guido van Rossum 876336bc7d New exceptions. 1991-12-10 13:56:23 +00:00
Guido van Rossum 7928cd7636 Added shift and mask ops. 1991-10-24 14:59:31 +00:00
Guido van Rossum 7a6dfa7d79 Added shifting and masking ops to as_number struct 1991-10-24 14:58:18 +00:00
Guido van Rossum 8883aaa5eb Added some new tokens 1991-10-20 20:24:45 +00:00
Guido van Rossum 2b9d6e2008 newclassobject gets a third parameter (optional class name) 1991-10-20 20:12:10 +00:00
Guido van Rossum 4b3c1da660 Added/moved dict2 interfaces. 1991-08-16 09:00:42 +00:00
Guido van Rossum 4f4a55b90c Change getbuiltin interface to get the name as an object. 1991-08-16 08:55:53 +00:00
Guido van Rossum 18315a0ecd New syntax 1991-07-27 21:38:01 +00:00
Guido van Rossum a049031f2d Added call_object interface 1991-07-27 21:33:03 +00:00
Guido van Rossum d6a15ada72 Generalize to macintosh. 1991-06-24 22:30:42 +00:00
Guido van Rossum 1e2293d1f7 Define 'macintosh' if THINK_C is defined. 1991-06-24 22:30:14 +00:00
Guido van Rossum 76085b95b9 Remove StopPrint hack 1991-06-07 22:50:34 +00:00
Guido van Rossum d783a46d73 printobject now returns an error code 1991-06-07 22:35:42 +00:00
Guido van Rossum 65481401b1 Add "close" function parameter to newopenfileobject(). 1991-06-07 13:57:38 +00:00
Guido van Rossum e24122f5e2 Export getdict2key() interface. 1991-06-07 13:57:16 +00:00
Guido van Rossum 4ed1ad5355 Export newcodeobject() interface. 1991-06-04 19:43:13 +00:00
Guido van Rossum dce2e3d8f5 Initial revision 1991-06-04 19:42:30 +00:00
Guido van Rossum 301f1a6f79 Added declarations for dnewlongobject and dgetlongvalue. 1991-06-03 10:58:51 +00:00
Guido van Rossum cf7423ac8f Added nonzero to number methods 1991-05-14 12:08:10 +00:00
Guido van Rossum badb116f5e Added wdigit and stwodigits typedefs, and changed prototypes. 1991-05-14 12:06:16 +00:00
Guido van Rossum 97ad2d80e5 Added divmod and abs methods for numbers 1991-05-05 20:11:43 +00:00
Guido van Rossum edcc38aac5 Initial revision 1991-05-05 20:09:44 +00:00
Guido van Rossum faf9c960a2 Renamed class members to instances and class methods to instance methods
,.
1991-05-05 20:04:55 +00:00
Guido van Rossum 9227c0e184 Added longobject.h 1991-05-05 20:00:02 +00:00
Guido van Rossum 0bd2441e00 Added external interface to readline, for raw_input(). 1991-04-04 15:21:57 +00:00
Guido van Rossum 054ff1f29e Added opcodes to load local/global variables 1991-04-04 10:45:01 +00:00
Guido van Rossum 572fd57b5a Changed 'class member' to 'instance'. 1991-04-04 10:42:27 +00:00
Guido van Rossum d594c91293 Added Getnamev() macro. 1991-04-03 19:03:22 +00:00
Guido van Rossum 88671aeabb Added declaration for dict2insert. 1991-04-03 19:02:06 +00:00
Guido van Rossum e543a94746 Satisfy Standard C rules about struct scope. 1991-04-03 19:00:55 +00:00
Guido van Rossum f70e43a073 Added copyright notice. 1991-02-19 12:39:46 +00:00
Guido van Rossum b156d7259b Changes for THINK C 4.0. 1990-12-20 23:13:00 +00:00
Guido van Rossum d05c4b2a7c Include <string.h> instead of "string.h". 1990-12-20 23:02:42 +00:00
Guido van Rossum 3f5da24ea3 "Compiling" version 1990-12-20 15:06:42 +00:00
Guido van Rossum 226d79eb4a Changed interface (no nodes but code). 1990-11-18 17:44:34 +00:00
Guido van Rossum f1270274e2 Added opcodes for classes. 1990-11-18 17:38:15 +00:00
Guido van Rossum cc398d1cbb Added prototype for new function freenode(). 1990-11-18 17:37:25 +00:00
Guido van Rossum 10dc2e8097 Initial revision 1990-11-18 17:27:39 +00:00
Guido van Rossum d5b70f5bac Add UNREF macro if not tracing refs (see UNREF function in object.c). 1990-11-18 17:27:10 +00:00
Guido van Rossum c8564cde04 Be more careful with negative reference counts. 1990-11-02 17:51:56 +00:00
Guido van Rossum 14da580104 Added prototype for sortlist(). 1990-10-30 13:32:39 +00:00
Guido van Rossum 6990c943a0 Added getdictkeys() prototype. 1990-10-30 13:27:43 +00:00
Guido van Rossum 3ccb6172f8 removed dir statement. Function arguments may now be tests. 1990-10-26 15:01:05 +00:00
Guido van Rossum 0558a205a3 Added getmodulename() public interface. 1990-10-26 15:00:11 +00:00
Guido van Rossum ed97f6aa04 Added prototype for reload_module. 1990-10-26 14:59:11 +00:00
Guido van Rossum 4ab9b4c9ad Changed strdup prototype to use const. 1990-10-21 22:13:08 +00:00
Guido van Rossum 3e55cb6302 Added err_badcall() and planned new errors. 1990-10-21 22:09:30 +00:00
Guido van Rossum 0539ba2c74 Removed declarations of err_badargs [sic] and err_nomem. 1990-10-14 20:03:07 +00:00
Guido van Rossum 5c600e1614 Made exception objects extern.
Added convenience functions.
1990-10-14 20:00:25 +00:00
Guido van Rossum ce4704a4f5 Remove dict2 interface -- it's now static. 1990-10-14 19:59:45 +00:00
Guido van Rossum 85a5fbbdfe Initial revision 1990-10-14 12:07:46 +00:00