summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add test for function comparisonsGuido van Rossum1997-08-052-0/+36
|
* Fix bug in comparing function objects detected by Sjoerd:Guido van Rossum1997-08-051-3/+9
| | | | | | SystemError: bad argument to internal function caused by comparing NULL pointer default args.
* Get READABLE c.s. from _tkinter instead of conditional definition.Guido van Rossum1997-08-052-24/+12
| | | | in Tk.destroy(), reset _default_root to None when it is us.
* Add a cast to the call to _Py_Dealloc in the expanded version ofGuido van Rossum1997-08-051-2/+2
| | | | | | Py_DECREF, to reduce the warnings when compiling with reference count debugging on. (There are still warnings for each call to _Py_NewReference -- too bad.)
* Add pointer to new BSDDB module.Guido van Rossum1997-08-051-0/+3
|
* purported linux portability patch (Oliver Andrich)Guido van Rossum1997-08-051-0/+4
|
* Py_Cleanup() is now Py_Finalize().Guido van Rossum1997-08-051-1/+1
|
* Merge Py_Cleanup() into Py_Finalize(). Call the various small Fini()Guido van Rossum1997-08-051-36/+43
| | | | functions.
* New rules for deleting modules. Rather than having an elaborateGuido van Rossum1997-08-051-1/+29
| | | | | | | | | | | | scheme based on object's types, have a simple two-phase scheme based on object's *names*: /* To make the execution order of destructors for global objects a bit more predictable, we first zap all objects whose name starts with a single underscore, before we clear the entire dictionary. We zap them by replacing them with None, rather than deleting them from the dictionary, to avoid rehashing the dictionary (to some extent). */
* Renamed a local label that was accidentally grandly renamed toGuido van Rossum1997-08-051-3/+3
| | | | 'Py_Cleanup' back to 'cleanup'.
* Added _Fini() routines to free up some memoryGuido van Rossum1997-08-053-1/+47
|
* Change the Fini function to only remove otherwise unreferenced stringsGuido van Rossum1997-08-051-6/+16
| | | | | | | | | | from the interned table. There are references in hard-to-find static variables all over the interpreter, and it's not worth trying to get rid of all those; but "uninterning" isn't fair either and may cause subtle failures later -- so we have to keep them in the interned table. Also get rid of no-longer-needed insert of None in interned dict.
* Added separate free list for cfunction (builtin method) objects, for aGuido van Rossum1997-08-051-7/+30
| | | | few percent speed up. Also add PyCFunction_Fini() to discard it.
* Provide a dummy empty directory as f_builtins instead of failing, whenGuido van Rossum1997-08-051-7/+22
| | | | | | | no valid directory is passed in. This prevents __del__ to fail when invoked after __builtins__ has already been discarded. Also add PyFrame_Fini() to discard the cache of frames.
* Added separate free list for instance method objects, for a fewGuido van Rossum1997-08-051-4/+28
| | | | percent speed up. Also add PyMethod_Fini() to discard it.
* Added _Py_ResetReferences(), if tracing references.Guido van Rossum1997-08-051-3/+84
| | | | | | | In _Py_PrintReferences(), no longer suppress once-referenced string. Add Py_Malloc and friends and PyMem_Malloc and friends (malloc wrappers for third parties).
* Added Py_Malloc and friends as well as PyMem_Malloc and friends.Guido van Rossum1997-08-051-2/+19
|
* Plug memory leak (DECREF doc string properly after inserting in dict).Guido van Rossum1997-08-041-0/+1
|
* The reload(sys) test no longer works due to changes in the importGuido van Rossum1997-08-021-4/+4
| | | | semantics.
* Oops, one more checkin. Use the new tstate/interp interface.Guido van Rossum1997-08-021-1/+2
|
* The last of the mass checkins for separate (sub)interpreters.Guido van Rossum1997-08-027-218/+542
| | | | | | | Everything should now work again. See the comments for the .h files mass checkin (e.g. pystate.h) for more detail.
* Removed fatal errors from Py_Initmodule4() (and thus fromGuido van Rossum1997-08-021-12/+12
| | | | | | | | | | | | Py_Initmodule(), which is a macro wrapper around it). The return value is now a NULL pointer if the initialization failed. This may make old modules fail with a SEGFAULT, since they don't expect this kind of failure. That's OK, since (a) it "never" happens, and (b) they would fail with a fatal error otherwise, anyway. Tons of extension modules should now check the return value of Py_Initmodule*() -- that's on my TODO list.
* Added finalization routines.Guido van Rossum1997-08-022-1/+44
|
* Add finialization routines; fixed some memory leaks related to this.Guido van Rossum1997-08-021-4/+35
| | | | Reset the SIGINT handler when the finalization is invoked.
* Free the malloc'ed buffer that holds the command once we're done with it.Guido van Rossum1997-08-021-2/+3
| | | | Instead of calling Py_Exit(sts), call Py_Cleanup() and return sts.
* Avoid function calls to access the current thread state and builtinsGuido van Rossum1997-08-021-4/+2
| | | | | -- the thread state is passed in as an argument and the builtins are a member thereof.
* Added internal routine PyString_Fini() which deletes all internedGuido van Rossum1997-08-021-0/+18
| | | | strings. For use in Py_Finalize() only.
* Mass checkin (more to follow for other directories).Guido van Rossum1997-08-027-98/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add cast to PyInt_AS_LONG macro, as suggested by Marc Lemburg.Guido van Rossum1997-08-021-1/+1
|
* Add cast to PyFloat_AS_DOUBLE macro, as suggested by Marc Lemburg.Guido van Rossum1997-08-021-1/+1
|
* Add a simple way to enable purify; now you can set the Make variableGuido van Rossum1997-08-021-1/+1
| | | | | PURIFY (e.g. in the Setup file or on the make command line) to point to the purify command, to run purify.
* Print ps (process status) for us when starting a new thread.Guido van Rossum1997-08-021-9/+40
| | | | | | | | | | Even less shuffling of stdout (only at start of new interpreter). Interact properly with new interpreter initialization conventions (must use Py_Initialize/Py_Finalize *and* Py_NewInterpreter/Py_EndInterpreter). Probably more minor changes.
* Functionality enhancement: allow other threads to use Tk commandsGuido van Rossum1997-08-021-243/+211
| | | | | | | | | | | | | | | | | | while one thread is blocked in mainloop(). Also, handle signals (not just interrupts) as soon as they happen. Cleanup: remove support for Tcl/Tk versions 7.4/4.0. (I've confirmed that it works for 7.5/4.1 and 7.6/4.2, as well as 8.0b2.) Coding style change: instead of ``func (args)'', write ``func(args)'' everywhere. Minor functionality change: use PyArg_ParseTuple everywhere. This should only affect the errors reported for bad argument lists; in particular, deletefilehandler() is much clearer about what's going on. (XXX Still to do: Mac and Win ports to 8.0b2.)
* Compatibility with Tcl/Tk 8.0b*.Guido van Rossum1997-08-011-14/+28
|
* Add definitions for symbolic constants LOCK_{EX,NB,SH,UN}.Guido van Rossum1997-07-311-0/+25
|
* Extend the "Don Beaudry hack" with "Guido's corollary" -- if the baseGuido van Rossum1997-07-311-10/+27
| | | | | class has a __class__ attribute, call that to create the new class. This allows us to write metaclasses purely in C!
* Added mimify docs (Sjoerd).Guido van Rossum1997-07-307-1/+159
|
* Mention decode_base64 in example.Guido van Rossum1997-07-301-1/+1
|
* l2h target: l2htut was listed twice and l2hapi was skipped. Fixed.Fred Drake1997-07-301-1/+1
|
* Final set of CW11 projects, before switch to CW Pro 1.Jack Jansen1997-07-2835-9518/+9931
|
* Finally plug the memory leak caused by syntax error (includingGuido van Rossum1997-07-271-1/+4
| | | | interactive EOF, which leaked *one* byte).
* Plugged a leak. (The same as the one plugged in compile.c -- forgotGuido van Rossum1997-07-261-0/+1
| | | | to free lnotab).
* Moved the special compile of getbuildno.o to ../Makefile.in.Guido van Rossum1997-07-251-8/+1
| | | | | A dummy getbuildno.o (with a number of 0) still gets built here, to make the library complete.
* Build getbuildno.o here, to adequately update it every time a newGuido van Rossum1997-07-251-1/+15
| | | | | | python executable is built. (It still won't reflect builds of the library only, but since the default make target builds the python executable, that's alright.)
* Use Py_NewInterpreter() and friends. Remove saving/restoring of std files.Guido van Rossum1997-07-251-22/+16
|
* Plug a leak in code_dealloc() (and reordered the deallocs to match theGuido van Rossum1997-07-251-3/+2
| | | | | | order of the variables in the declarations). Also removed an entry in the TODO list that's done.
* Tweaks by Lars Wirzenius to parse some more forms of illegal dates:Guido van Rossum1997-07-251-2/+5
| | | | | | | | the comma after the day name is optional if it is a recognized day name; and the date and month may be swapped. Thus, the following two test dates will now be parsed correctly: Thu, Feb 13 12:16:57 1992 Thu Feb 13 12:16:57 1992
* Added createmessage() -- Lars Wirzenius.Guido van Rossum1997-07-251-0/+26
|
* Patch by Lars Wirzenius to allow f.readline(length).Guido van Rossum1997-07-251-1/+4
|
* Bump up the version number. The date still needs to be set (Guido willFred Drake1997-07-252-2/+2
| | | | | have to do that one!), but at least the version will match the release version. (1.5a2 got skipped for this.)