Guido van Rossum
d085e88d3c
Added Py_Malloc and friends as well as PyMem_Malloc and friends.
1997-08-05 01:59:22 +00:00
Guido van Rossum
29e46a9a12
Mass checkin (more to follow for other directories).
...
Introduce truly separate (sub)interpreter objects. For now, these
must be used by separate threads, created from C. See Demo/pysvr for
an example of how to use this. This also rationalizes Python's
initialization and finalization behavior:
Py_Initialize() -- initialize the whole interpreter
Py_Finalize() -- finalize the whole interpreter
tstate = Py_NewInterpreter() -- create a new (sub)interpreter
Py_EndInterpreter(tstate) -- delete a new (sub)interpreter
There are also new interfaces relating to threads and the interpreter
lock, which can be used to create new threads, and sometimes have to
be used to manipulate the interpreter lock when creating or deleting
sub-interpreters. These are only defined when WITH_THREAD is defined:
PyEval_AcquireLock() -- acquire the interpreter lock
PyEval_ReleaseLock() -- release the interpreter lock
PyEval_AcquireThread(tstate) -- acquire the lock and make the thread current
PyEval_ReleaseThread(tstate) -- release the lock and make NULL current
Other administrative changes:
- The header file bltinmodule.h is deleted.
- The init functions for Import, Sys and Builtin are now internal and
declared in pythonrun.h.
- Py_Setup() and Py_Cleanup() are no longer declared.
- The interpreter state and thread state structures are now linked
together in a chain (the chain of interpreters is a static variable
in pythonrun.c).
- Some members of the interpreter and thread structures have new,
shorter, more consistent, names.
- Added declarations for _PyImport_{Find,Fixup}Extension() to import.h.
1997-08-02 02:56:48 +00:00
Guido van Rossum
7a2d6112d9
Add cast to PyInt_AS_LONG macro, as suggested by Marc Lemburg.
1997-08-02 02:41:13 +00:00
Guido van Rossum
2981bc7a65
Add cast to PyFloat_AS_DOUBLE macro, as suggested by Marc Lemburg.
1997-08-02 02:40:58 +00:00
Guido van Rossum
766118525a
Changed the patch level to 1.5a3, to avoid confusion with a2 (I'm not
...
ready for a release yet).
1997-07-19 23:46:59 +00:00
Guido van Rossum
57d8e3f1c7
Added declarations for Py_{Set,Get}ProgramName() and a bunch of other
...
Py_Get*() functions.
1997-07-19 19:50:52 +00:00
Guido van Rossum
5617f32c5c
Added decl for PyInt_GetMax().
1997-07-19 19:49:11 +00:00
Guido van Rossum
a847889607
Moved PyEval_InitThreads to inside WITH_THREAD, where it belongs.
1997-07-19 19:27:30 +00:00
Guido van Rossum
e6fb2043ce
Got rid of "suppres printing" flag.
1997-07-19 19:26:38 +00:00
Guido van Rossum
618af4b3ef
Include pystate.h earlier so it can be referenced by ceval.h.
1997-07-18 23:59:26 +00:00
Guido van Rossum
2fca21f762
PyEval_SaveThread() and PyEval_RestoreThread() now return/take a
...
PyThreadState pointer instead of a (frame) PyObject pointer. This
makes much more sense. It is backward incompatible, but that's no
problem, because (a) the heaviest users are the Py_{BEGIN,END}_
ALLOW_THREADS macros here, which have been fixed too; (b) there are
very few direct users; (c) those who use it are there will probably
appreciate the change.
Also, added new functions PyEval_AcquireThread() and
PyEval_ReleaseThread() which allows the threads created by the thread
module as well threads created by others (!) to set/reset the current
thread, and at the same time acquire/release the interpreter lock.
Much saner.
1997-07-18 23:56:58 +00:00
Guido van Rossum
4b11c74f7c
Only add 1 byte to all malloc calls when it is known that malloc(0) or
...
realloc(p, 0) returns NULL. See changes to configure script to be
checked in later.
1997-07-10 22:40:54 +00:00
Guido van Rossum
745b8cff08
flushline and writestring can now return an error
1997-05-22 22:23:46 +00:00
Guido van Rossum
59943ba718
Added Py_PROTO macros for SunOS 4.x /bin/cc.
1997-05-20 22:07:46 +00:00
Guido van Rossum
c23ef0a6e8
Workaround for bug in Metrowerks MSL headers on 68K Macs (Jack)
1997-05-20 15:58:15 +00:00
Guido van Rossum
d0c87ee6c4
Oops, another forgotten renaming: varobject -> PyVarObject.
1997-05-15 21:31:03 +00:00
Guido van Rossum
4346716962
Bump level to 1.5a2.
1997-05-14 21:41:46 +00:00
Guido van Rossum
2ec9031b55
Subsumed mappingobject.h in dictobject.h.
1997-05-13 21:23:32 +00:00
Guido van Rossum
6a33de9526
Get rid of obsolete ACCESS_MODE opcode.
1997-05-09 00:39:04 +00:00
Guido van Rossum
6778f257b7
Oops, rename2.h was included by some other headers.
1997-05-07 23:50:40 +00:00
Guido van Rossum
b05a5c7698
Instead of importing graminit.h whenever one of the three grammar 'root'
...
symbols is needed, define these in Python.h with a Py_ prefix.
1997-05-07 17:46:13 +00:00
Guido van Rossum
fdf95dd525
Checkin of Jack's buffer mods.
...
Not really checked, but didn't fail any tests either...
1997-05-05 22:15:02 +00:00
Guido van Rossum
a027efa5bf
Massive changes for separate thread state management.
...
All per-thread globals are moved into a struct which is manipulated
separately.
1997-05-05 20:56:21 +00:00
Guido van Rossum
4a43cc67db
Remove sys_* defines that are internal only and about to disappear
1997-05-05 20:46:18 +00:00
Guido van Rossum
84bf42531c
Finally deleted this obsolete crud.
1997-05-02 04:01:08 +00:00
Guido van Rossum
d27b4f2a3f
Several oopsies -- Py_ALLOBJECTS_H -> Py_PYTHON_H, temporarily removed
...
pystate.h (to be restored later when that code is debugged), removed
accessobject.h.
1997-05-02 04:00:11 +00:00
Guido van Rossum
174f95adf7
Moved allobjects.h to Python.h (without rename2.h).
...
allobjects.h disappears -- old-style extensions must include Python.h
and rename2.h.
1997-05-02 03:55:52 +00:00
Guido van Rossum
87490eb3b0
Renamed inittab.
1997-04-29 20:31:59 +00:00
Guido van Rossum
e601c0f55d
Added new name for inittab!
1997-04-29 16:23:44 +00:00
Guido van Rossum
63c35e5407
Remove macros that are only used for cgensupport.[ch].
...
Fixed typo in PyArg_VaParse (not PyArgs_*).
1997-04-29 16:21:39 +00:00
Guido van Rossum
92e8782217
Moved cgensupport.h to Modules (awaiting oblivion).
1997-04-29 16:08:53 +00:00
Guido van Rossum
1818b7702b
Moved rename2's macros relevant to this module here and added comment
...
about the file's obsolescence.
1997-04-29 15:35:28 +00:00
Guido van Rossum
45c3aaba56
Got rid of the static decl of PyCObject_Import, which was a 1.4
...
compatibility hack.
1997-04-09 18:04:08 +00:00
Guido van Rossum
0a73dd5f35
Changed the way the C API was exported. Jim Fulton.
1997-04-09 17:34:28 +00:00
Guido van Rossum
8ecd1ad785
Added assert grammar.
1997-04-02 05:24:08 +00:00
Guido van Rossum
6fa4466cec
Added AssertionError.
1997-04-02 05:22:53 +00:00
Guido van Rossum
94dbd99483
Remove ConflictError (which was also removed from bltinmodule.c, even
...
though the checkin message failed to note that).
1997-03-31 17:19:40 +00:00
Guido van Rossum
e053c67780
Remove err_input -- there is no such global!
1997-03-14 05:09:30 +00:00
Guido van Rossum
f0958064f9
Remove redundant references to thread stuff -- long, long ago, there
...
was some locking code in this file that needed it...
1997-03-14 04:25:22 +00:00
Guido van Rossum
74277916a9
Add Macros defining new names for all external symbols.
1997-03-14 04:24:08 +00:00
Guido van Rossum
1f06beeedd
Change PyFPE_END_PROTECT to PyFPE_END_PROTECT(v). v should be the
...
last variable to which a floating point expression is assigned. The
macro passes its address to a dummy function so that the optimizer
can't delay calculating its value until after the macro.
1997-03-14 04:23:42 +00:00
Guido van Rossum
f39fc43f31
A few comment alignment and clarifications.
1997-03-04 18:31:47 +00:00
Guido van Rossum
e9e47796c8
Add global Py_OptimizeFlag.
1997-03-03 19:13:54 +00:00
Guido van Rossum
7d4266ed5a
Changes for Lee Busby's SIGFPE patch set.
...
New file pyfpe.h, new exception FloatingPointError.
1997-02-14 22:53:12 +00:00
Guido van Rossum
1ca407f3e4
Fix the comments for bitwise and/or.
1997-02-14 22:51:40 +00:00
Guido van Rossum
5c4998b236
Added decl for Py_FdIsInteractive.
1997-02-14 19:51:34 +00:00
Guido van Rossum
3f3a2686b8
Added decl for Py_InteractiveFlag.
1997-02-14 19:51:09 +00:00
Guido van Rossum
c4193f1547
Added prototype for PyErr_Format(exception, formatstring, ...) -> NULL.
1997-02-14 17:10:25 +00:00
Guido van Rossum
36280a7772
Added PyArg_ParseTupleAndKeywords() prototype.
1997-02-14 16:36:35 +00:00
Guido van Rossum
fb76f1af9b
djgpp support.
1997-02-14 16:36:08 +00:00
Guido van Rossum
767579854c
Add co_firstlineno and co_lnotab, for the line number table generated
...
by the compiler (in lieu of SET_LINENO instructions).
1997-01-24 03:41:09 +00:00
Guido van Rossum
e0e696282f
Added PyCObject_Import.
1997-01-22 20:48:48 +00:00
Guido van Rossum
c1ef39f795
Bump version to 1.5a1.
1997-01-22 03:46:13 +00:00
Guido van Rossum
cdf578ebaf
New lay-out of frame object, for fewer mallocs.
...
See frameobject.c checkin message.
1997-01-20 04:16:40 +00:00
Guido van Rossum
ee5cf9b672
Bump API version due to the various speedup hacks.
1997-01-18 07:54:03 +00:00
Guido van Rossum
1e6e9a2368
Two speedup hacks. Caching the hash saves recalculation of a string's
...
hash value. Interning strings (which requires hash caching) tries to
ensure that only one string object with a given value exists, so
equality tests are one pointer comparison. Together, these can speed
the interpreter up by as much as 20%. Each costs the size of a long
or pointer per string object. In addition, interned strings live
until the end of times. If you are concerned about memory footprint,
simply comment the #define out here (and rebuild everything!).
1997-01-18 07:53:23 +00:00
Guido van Rossum
3f6e408a31
Add co_stacksize field to codeobject structure, and stacksize argument
...
to PyCode_New() argument list. Also add CO_MAXBLOCKS constant
indicating the maximum static nesting supported by the compiler.
1997-01-17 20:59:26 +00:00
Guido van Rossum
d81a1baa5f
Jim's latest version
1997-01-06 22:50:12 +00:00
Barry Warsaw
9c5494a1b9
added PyTuple_GET_SIZE macro
1997-01-06 22:44:27 +00:00
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