Commit Graph

5920 Commits

Author SHA1 Message Date
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 d0924f4585 Add a simple way to enable purify; now you can set the Make variable
PURIFY (e.g. in the Setup file or on the make command line) to point
to the purify command, to run purify.
1997-08-02 02:06:20 +00:00
Guido van Rossum c46d22e52e Print ps (process status) for us when starting a new thread.
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.
1997-08-02 02:02:22 +00:00
Guido van Rossum 35d43377b4 Functionality enhancement: allow other threads to use Tk commands
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.)
1997-08-02 00:09:09 +00:00
Guido van Rossum 3e819a7aa8 Compatibility with Tcl/Tk 8.0b*. 1997-08-01 19:29:02 +00:00
Guido van Rossum f4e32c729b Add definitions for symbolic constants LOCK_{EX,NB,SH,UN}. 1997-07-31 19:39:54 +00:00
Guido van Rossum 55b9ab5bdb Extend the "Don Beaudry hack" with "Guido's corollary" -- if the base
class has a __class__ attribute, call that to create the new class.
This allows us to write metaclasses purely in C!
1997-07-31 03:54:02 +00:00
Guido van Rossum fd16ca4542 Added mimify docs (Sjoerd). 1997-07-30 22:05:07 +00:00
Guido van Rossum 74d25e7d8a Mention decode_base64 in example. 1997-07-30 22:02:28 +00:00
Fred Drake bc0cd37fe2 l2h target: l2htut was listed twice and l2hapi was skipped. Fixed. 1997-07-30 15:59:25 +00:00
Jack Jansen 5e0625762e Final set of CW11 projects, before switch to CW Pro 1. 1997-07-28 13:04:22 +00:00
Guido van Rossum ff0ec52d3c Finally plug the memory leak caused by syntax error (including
interactive EOF, which leaked *one* byte).
1997-07-27 01:52:50 +00:00
Guido van Rossum 6fc06e770f Plugged a leak. (The same as the one plugged in compile.c -- forgot
to free lnotab).
1997-07-26 23:30:18 +00:00
Guido van Rossum 5ec8e4b5ff Moved the special compile of getbuildno.o to ../Makefile.in.
A dummy getbuildno.o (with a number of 0) still gets built here,
to make the library complete.
1997-07-25 22:35:24 +00:00
Guido van Rossum 1eec528d5e Build getbuildno.o here, to adequately update it every time a new
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.)
1997-07-25 22:34:08 +00:00
Guido van Rossum 630924f190 Use Py_NewInterpreter() and friends. Remove saving/restoring of std files. 1997-07-25 20:59:55 +00:00
Guido van Rossum 275558cb9f Plug a leak in code_dealloc() (and reordered the deallocs to match the
order of the variables in the declarations).

Also removed an entry in the TODO list that's done.
1997-07-25 20:13:49 +00:00
Guido van Rossum 9a876a4500 Tweaks by Lars Wirzenius to parse some more forms of illegal dates:
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
1997-07-25 15:20:52 +00:00
Guido van Rossum 4e5cbcf5af Added createmessage() -- Lars Wirzenius. 1997-07-25 14:59:10 +00:00
Guido van Rossum 2e2525fd3c Patch by Lars Wirzenius to allow f.readline(length). 1997-07-25 14:56:01 +00:00
Fred Drake b065452ebc Bump up the version number. The date still needs to be set (Guido will
have to do that one!), but at least the version will match the release
version.  (1.5a2 got skipped for this.)
1997-07-25 13:14:35 +00:00
Fred Drake 12d9eac0a2 A couple of grammatical nits.
Re-sequenced the function descriptions so that the formatting is described
before the assumption is made that the reader has a clue about the formatting.

Moved examples to be closer to the functions being demonstrated.

Added example of saferepr() result.
1997-07-24 15:39:16 +00:00
Guido van Rossum ed57d7663e Regenerated; __assert__ becomes assert. 1997-07-23 18:10:52 +00:00
Guido van Rossum ef3d02ebb9 Removed some variables that are used to exchange data between import.c and
importdl.c: the MAXSUFFIXSIZE macro is now defined in importdl.h, and
the modules dictionary is now passed using PyImport_GetModuleDict().

Also undefine USE_SHLIB for AIX -- in AIX 4.2 and up, dlfcn.h exists
but we don't want to use it.
1997-07-21 14:54:36 +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 661aebcbde New test for generic Makefile.pre.in 1997-07-19 23:14:13 +00:00
Guido van Rossum a955967a5b Added description of the extend subdirectory. 1997-07-19 23:13:10 +00:00
Guido van Rossum 895e1052e3 For use with Misc/Makefile.pre.in, the libainstall target must install
Modules/python.o.
1997-07-19 22:53:39 +00:00
Guido van Rossum bef03ae032 Adapted to the new build system. 1997-07-19 22:52:43 +00:00
Guido van Rossum ded2e207f4 Change libainstall again: need to install fewer files for "freeze";
add Setup.local to list of installed files.
1997-07-19 22:00:45 +00:00
Guido van Rossum a94145118a frozenmain.c is now also in the library,
with entry point Py_FrozenMain().
1997-07-19 21:59:47 +00:00
Guido van Rossum b3afce5763 Updated for new style build/install; much simpler! 1997-07-19 21:58:30 +00:00
Guido van Rossum 019db5d73e Oops -- this contains frozen bytecode, but it was Python 1.4 bytecode! 1997-07-19 21:54:24 +00:00
Guido van Rossum a88446aa4a Some improvements, e.g. -L/depot/... is not needed. 1997-07-19 21:34:11 +00:00
Guido van Rossum e0c6901369 Added leading comment and security check. 1997-07-19 21:33:10 +00:00
Guido van Rossum 42ded89c08 Reformulate security check using getsockname(). 1997-07-19 21:29:28 +00:00
Guido van Rossum eca991df27 Change security policy -- only accept requests from current host. 1997-07-19 21:13:53 +00:00
Guido van Rossum d1bef00f66 Removed old signature. 1997-07-19 21:02:32 +00:00
Guido van Rossum 14b0e700a0 Updated description for embed; added pysvr. 1997-07-19 21:02:08 +00:00
Guido van Rossum 5c8b991175 New example of threaded embedding 1997-07-19 21:00:47 +00:00
Guido van Rossum 6e614e3d2a Updated the Makefile to work with the new build strategy. 1997-07-19 20:58:50 +00:00
Guido van Rossum 8aea8d9600 Remove -s option and $PYTHONSUPPRESS environment variable. 1997-07-19 20:46:22 +00:00
Guido van Rossum 5624abd086 Emptied (in expectation of a laundry list of what's new in 1.5). 1997-07-19 20:45:30 +00:00
Guido van Rossum ecd3b153d5 Added note about libpython1.5.a. 1997-07-19 20:44:33 +00:00
Guido van Rossum 132cd063f5 Some new names. 1997-07-19 20:44:09 +00:00
Guido van Rossum 68de37973f Add the option to pass an open file object to GzipFile. This obviates
the need for the StringIO subclass.
1997-07-19 20:22:23 +00:00
Guido van Rossum 6576dd6ad6 Document new 'quote' flag to cgi.escape(). 1997-07-19 20:16:07 +00:00
Guido van Rossum 64c6620934 Add optional 'quote' flag argument to escape(); if true, translate '"'
to '"'.
1997-07-19 20:11:53 +00:00