Guido van Rossum
eaa1ed6b42
Fix some problems that a picky SGI compiler reported. Two were benign
...
(unreachable break after a return) but one was a real bug:
ReadFrames() was getting a bogus framecount because of a missing '&'.
1998-07-07 22:19:27 +00:00
Guido van Rossum
82a5c66a51
Added copious docstrings, plus two minor layout tweaks.
1998-07-07 20:45:43 +00:00
Guido van Rossum
d20781b518
On Windows, put the select file descriptor arrays on the heap.
...
This is because they are huge and the stack is limited on Windows.
Other platforms keep declaring it on the stack.
1998-07-02 02:53:36 +00:00
Guido van Rossum
39ef2274a3
Unsigned 1 and 2 byte sized formats shouldn't result in long integer values!
1998-06-29 04:00:40 +00:00
Guido van Rossum
911ec188c8
# Added missing semicolon (was #ifdef'ed out in edit on Windows).
1998-06-28 17:00:19 +00:00
Guido van Rossum
1d8fb2d894
Added doc strings.
1998-06-28 16:54:49 +00:00
Guido van Rossum
0ef577b966
Added doc strings.
1998-06-27 20:38:36 +00:00
Guido van Rossum
d2264bb5c3
# Remove an extra blank line from a doc string.
1998-06-27 19:45:17 +00:00
Guido van Rossum
75e9fc31d3
Added doc strings. Also export LockType from the modoule, and give it
...
a doc string.
1998-06-27 18:21:06 +00:00
Guido van Rossum
5cd70f4f66
Added <ctype.h>, needed for Windows.
1998-06-19 04:33:30 +00:00
Guido van Rossum
f766e23f63
There was an error check in a loop in PythonCmd which called
...
PythonCmd_Error() but failed to return. The error wasn't very likely
(only when we run out of memory) but since the check is there we might
as well return the error. (I think that Barry introduced this buglet
when he added error checks everywhere.)
1998-06-19 04:28:10 +00:00
Guido van Rossum
5e97783c8f
# Note: a previous checkin message was lost because I can now use CVS
...
# from my PC at home, but it can't send email :-(
Add a clarifying comment about the new ENTER_OVERLAP and
LEAVE_OVERLAP_TCL macros; get rid of all the bogus tests for deleted
interpreters (Tcl already tests for this; they were left over from an
earlier misguided attempt to fix the threading).
1998-06-15 14:03:52 +00:00
Guido van Rossum
62320c9b9b
# (My first checkin from Windows NT using remote CVS!)
...
There were some serious problem with the thread-safety code.
The basic problem was that often the result was gotten out of
the Tcl interpreter object after releasing the Tcl lock.
Of course, another thread might have changed the return value
already, and this was indeed happening. (Amazing what trying
it on a different thread implementation does!)
The solution is to grab the Python lock without releasing the
Tcl lock, so it's safe to create a string object or set the
exceptions from the Tcl interpreter. Once that's done, the
Tcl lock is released.
Note that it's now legal to acquire the Python lock while the
the Tcl lock is held; but the reverse is not true: the Python
lock must be released before the Tcl lock is acquired. This
in order to avoid deadlines. Fortunately, there don't seem to
be any problems with this.
1998-06-15 04:36:09 +00:00
Guido van Rossum
ad4db17552
Fixed the EventHook() code so that it also works on Windows, sort of.
...
(The "sort of" is because it uses kbhit() to detect that the user
starts typing, and then no events are processed until they hit
return.)
Also fixed a nasty locking bug: EventHook() is called without the Tcl
lock set, so it can't use the ENTER_PYTHON and LEAVE_PYTHON macros,
which manipulate both the Python and the Tcl lock. I now only acquire
and release the Python lock.
(Haven't tested this on Unix yet...)
1998-06-13 13:56:28 +00:00
Guido van Rossum
b3f9f4b729
On Windows, make the pipe() call return Unix file descriptors instead
...
of Windows file handles. Now it is at least compatible with itself on
Unix!
1998-06-12 15:05:15 +00:00
Guido van Rossum
e7c4193755
In tcsetattr(), first initialize the mode structure by calling
...
tcgetattr(). This seems to be the only correct way to cope with
platform-specific structure members...
1998-06-12 14:26:18 +00:00
Guido van Rossum
87ce7bbc39
Added strptime, if it exists. Modified after a patch by Jesse Hallio.
1998-06-09 16:30:31 +00:00
Guido van Rossum
3c8c5981b1
Sorry, the initializer for ob_type must really be NULL,
...
else the damn thing won't compile on Windows :-(
1998-05-29 02:58:20 +00:00
Guido van Rossum
2a5119b680
On Windows, need #include <windows.h>; and it's MS_WINDOWS, not MS_WIN32.
1998-05-29 01:28:40 +00:00
Guido van Rossum
00d93066b0
Changes to make it possible to write multi-threaded programs using
...
Tkinter. This adds a separate lock -- read the comments. (This was
also needed for Mark Hammond's attempts to make PythonWin
Tkinter-friendly.)
The changes have affected the EventHook slightly, too; and I've done
some more cleanup of the code that deals with the different versions
of Tcl_CreateFileHandler().
1998-05-28 23:06:38 +00:00
Guido van Rossum
578de30fd7
Some systems (e.g. Linux) use enums for some symbols (like IPPROTO_IP)
...
so that our #ifdef test has the wrong effect. Substitute hardcoded
values for some important symbols (but not for the whole range -- some
are pretty obscure so it's not worth it).
1998-05-28 20:18:18 +00:00
Fred Drake
d3dbb38e98
get_long(): Use PyErr_ExceptionMatches(...) instead of PyErr_Occurred(...).
1998-05-28 04:35:49 +00:00
Fred Drake
bebc97fcd7
t_bootstrap(): Use PyErr_ExceptionMatches(...) instead of PyErr_Occurred(...).
1998-05-28 04:35:12 +00:00
Fred Drake
764b984db5
Use PyErr_ExceptionMatches(...) instead of PyErr_Occurred() == ... in two
...
places.
1998-05-28 04:33:37 +00:00
Guido van Rossum
7bf15648a4
Use a different implementation of EventHook(). The new version
...
registers an input file handler for stdin with Tcl and handles Tcl
events until something is available on stdin; it then deletes the
handler and returns from EventHook().
This works with or without GNU readline, and doesn't busy-wait.
It still doesn't work for Mac or Windows :-(
1998-05-22 18:28:17 +00:00
Guido van Rossum
832f6d2890
Add an alias (and preferred name) "contains" for "sequenceIncludes".
...
Rationalized the doc strings.
Also simplify the module initialization -- we don't need a __version__
which is set to "$Rev" :-) and we don't need a fatal error when the
initialization fails.
1998-05-22 18:12:59 +00:00
Guido van Rossum
b88679b2a4
I think there was a tiny bug in new_function() -- the 'defaults'
...
argument was initialized to Py_None, but later checked for NULL.
Consistently use Py_None.
1998-05-22 00:57:31 +00:00
Guido van Rossum
b1ed9c5295
PySequence_In() -> PySequence_Contains().
1998-05-22 00:54:16 +00:00
Guido van Rossum
7df115de65
Make sure that no use of a function pointer gotten from a
...
tp_as_sequence or tp_as_mapping structure is made without checking it
for NULL first.
1998-05-22 00:53:47 +00:00
Guido van Rossum
a88c5f30c7
Correct bug doc string (discovered by Berthold Hoellmann):
...
get_line_buffer() does not take an optional argument.
1998-05-20 15:50:56 +00:00
Guido van Rossum
fa1fb7df31
When a .o file is an absolute pathname, assume it's a file for which
...
we have no .c source.
1998-05-14 02:37:45 +00:00
Guido van Rossum
4ccda15cd3
strop_replace(): balk if the pattern string is empty.
1998-05-14 02:36:29 +00:00
Guido van Rossum
ed33a3f415
whichmodule(): remove redundant PyErr_Clear(); add explicit setting
...
of error when sys.modules isn't there.
1998-05-14 02:34:46 +00:00
Guido van Rossum
02759c03f1
Don't delete glmodule.c on 'make clobber' (it's a checked in file!).
1998-05-14 02:33:57 +00:00
Guido van Rossum
b41addf6a6
Replace all calls to fprintf(stderr, ...) with calls to PySys_WriteStderr(...).
1998-05-12 15:02:41 +00:00
Guido van Rossum
597ac20708
Trivial little change: timer tokens shouldn't have a Print() function,
...
they should have a Repr() function.
1998-05-12 14:36:19 +00:00
Fred Drake
ed3da23e44
parser_compare_nodes(): Corrected a minor type error; eliminate one GCC
...
warning (at least under Linux).
1998-05-11 03:31:16 +00:00
Guido van Rossum
ae94cf292b
Fix by Sean Reifschneider:
...
- When facility not specified to syslog() method, use default from openlog()
(This is how it was claimed to work in the documentation)
- Potential resource leak of o_ident, now cleaned up in closelog()
- Minor comment accuracy fix.
1998-05-08 21:52:55 +00:00
Guido van Rossum
821a5e42bf
Added URLs for zlib's home page and the Windows DLL's home page .
1998-05-08 14:56:29 +00:00
Guido van Rossum
dda6696be6
AMK's revised version of the previous patch.
1998-05-07 15:32:44 +00:00
Guido van Rossum
a5e54d02a0
Use (void) to throw away a function result, not (void *) !
1998-05-01 18:58:59 +00:00
Guido van Rossum
302be44e96
When following symlinks to the real executable, use a loop so a
...
symlink to a symlink can work.
(Jack)
1998-04-29 21:07:06 +00:00
Guido van Rossum
212643f199
Still somewhat experimental speedup. This appears to speed up the
...
most common interface to Tcl, the call() method, by maybe 20-25%.
The speedup code avoids the construction of a Tcl command string from
the argument list -- the Tcl argument list is immediately parsed back
by Tcl_Eval() into a list that is *guaranteed* (by Tcl_Merge()) to be
exactly the same list, so instead we look up the command info and call
the command function directly. If the lookup fails, we fall back to
the old method (Tcl_Merge() + Tcl_Eval()) so we don't need to worry
about special cases like undefined commands or the occasional command
("after") that sets the info.proc pointer to NULL -- let TclEval()
deal with these.
1998-04-29 16:22:14 +00:00
Guido van Rossum
9d1b7ae65b
Add a new method of interpreter objects, interpaddr(). This returns
...
the address of the Tcl interpreter object, as an integer. Not very
useful for the Python programmer, but this can be called by another C
extension that needs to make calls into the Tcl/Tk C API and needs to
get the address of the Tcl interpreter object. A simple cast of the
return value to (Tcl_Interp *) will do the trick now.
1998-04-29 16:17:01 +00:00
Fred Drake
268397f513
Made lint a bit happier.
...
Fixed a memory leak in an error handler.
1998-04-29 14:16:32 +00:00
Guido van Rossum
2ea1c94b9a
On the Mac a call to TkMacInitMenus is needed. Also, we pass
...
appropriate events to Sioux so the console window remains functional.
(Jack)
1998-04-28 16:12:43 +00:00
Guido van Rossum
19efc5fb80
Add a declaration for strdup() for the Mac.
...
(Jack)
1998-04-28 16:10:19 +00:00
Guido van Rossum
5c069fd4b1
Generate the clear() method manually (calling __GLclear(), another
...
name for clear()). This fixes the name clash with curses.
(Jack)
1998-04-28 16:09:16 +00:00
Guido van Rossum
239a218bac
Type casts, and added a strdup() declaration for the Mac.
...
(Jack)
1998-04-28 16:08:19 +00:00
Guido van Rossum
1f41f846a3
Instead of calling mktime(), which has all sorts of unwanted side
...
effects, simply zero out the struct tm buffer before using it; this
should take care of the BSD folks' concern just as well.
1998-04-27 19:04:26 +00:00
Guido van Rossum
690119621e
Purported fixes for 64-bit platforms with help from John Jorgensen
1998-04-23 20:23:00 +00:00
Guido van Rossum
115f517f77
Tiny patch for zlib 1.1.2
1998-04-23 20:22:11 +00:00
Fred Drake
301b5bea3f
In method & function tables, added a cast for the function pointers to keep
...
compilers happy.
initparser(): Remove unused variable.
gcc -Wall is now happy.
1998-04-21 22:31:45 +00:00
Guido van Rossum
2621637835
Add #ifdefs so Tcl_Finalize isn't referenced when it's not defined.
1998-04-20 18:47:52 +00:00
Guido van Rossum
7c33095b6b
Typo in usage message.
1998-04-13 20:28:18 +00:00
Fred Drake
503d8d66cc
The documentation threatened it would happen -- the functions that should
...
have been methods now are! Still available as functions for compatibility.
1998-04-13 18:45:18 +00:00
Guido van Rossum
cef113c524
Don't allow unescaped newlines in doc strings.
1998-04-13 18:11:55 +00:00
Fred Drake
43f8f9b894
Added support for pickling ast objects.
1998-04-13 16:25:46 +00:00
Fred Drake
10032ebb48
Module docstring indicated seek() isn't implemented, but it is.
1998-04-11 19:54:54 +00:00
Guido van Rossum
730806d3d9
Make new gcc -Wall happy
1998-04-10 22:27:42 +00:00
Guido van Rossum
39b0f8976c
Address warnings issued by the MSVC++ compiler
1998-04-10 21:52:06 +00:00
Guido van Rossum
5d30e740f5
Delete reference to reopmodule.c. Add comment about soundex' obsolescence.
1998-04-10 20:44:11 +00:00
Guido van Rossum
b53dc43769
Delete this obsolete module.
1998-04-10 20:38:41 +00:00
Guido van Rossum
bba92ca555
Add -t option to set the Py_TabcheckFlag flag.
1998-04-10 19:39:15 +00:00
Fred Drake
c542bc79c8
Support raise with no parameters.
1998-04-10 04:43:28 +00:00
Guido van Rossum
c6a681a57d
remove C++ entries of the form Class::method
1998-04-09 21:46:02 +00:00
Guido van Rossum
4f199eaa6e
Threading speedup patches by Christopher Lindblad <cjl@infoseek.com>.
1998-04-09 20:56:35 +00:00
Guido van Rossum
99c185e787
Add not_ and __not__.
1998-04-09 17:54:26 +00:00
Guido van Rossum
042ff9eb3a
AMK's latest
1998-04-03 21:13:31 +00:00
Guido van Rossum
104be4a4a7
Use %.17f to format floats/doubles
1998-04-03 21:13:02 +00:00
Fred Drake
fcc6c68e11
Export MPZType -- the type of mpz objects....
1998-04-03 15:33:43 +00:00
Guido van Rossum
031c6315e2
Check for boundary errors in [r]find -- find("x", "", 2) should return -1.
1998-03-24 04:19:22 +00:00
Guido van Rossum
816671c666
patch for re.sub bug, by AMK.
1998-03-10 04:55:29 +00:00
Guido van Rossum
60cd813810
Check for HAVE_MKTIME (if you don't have it, some tests will fail, but
...
at least the build will now succeed). For Sony NEWS-OS, BSD 4.3 based.
1998-03-06 17:16:21 +00:00
Guido van Rossum
22ffac1b1f
Don't use setvbuf unless HAVE_SETVBUF is defined.
1998-03-06 15:30:39 +00:00
Guido van Rossum
8a6dba3562
Clear class_map in constructor so that when it later detects an error
...
and the destructor is called early, it doesn't DECREF garbage.
1998-03-06 01:39:39 +00:00
Guido van Rossum
7853570651
Raise ValueError: "unconvertible time" when ctime() returns NULL,
...
instead of dumping core.
1998-03-03 22:19:10 +00:00
Guido van Rossum
1aca4d803d
Doc strings added by Mitch Chapman.
1998-03-03 22:10:18 +00:00
Guido van Rossum
3e79c4492e
Doc strings added by Mitch Chapman.
1998-03-03 22:03:26 +00:00
Guido van Rossum
bfc49e8c75
Doc strings added by Mitch Chapman.
...
Also got rid of some inconsistent change log comments near the top.
1998-03-03 22:02:24 +00:00
Ken Manheimer
74a43470b1
Looks like mention of http://quest.jpl.nasa.gov/zlib/ got added but
...
not checked in, so i'm doing it.
1998-03-03 16:42:53 +00:00
Guido van Rossum
d0f432b840
A bug in PCRE could cause core dumps in patterns such as
...
'((a)*)*'. Andrew Kuchling posted a fix to the string-sig.
1998-02-20 21:45:14 +00:00
Guido van Rossum
1c0d31565d
Delete the 'exit' command from the Tcl interpreter -- it would allow
...
users to exit Python without the normal precautions. (The can do this
using os._exit() anyway, but at least that's documented.)
1998-02-19 21:28:49 +00:00
Guido van Rossum
1ad1b3f911
Forgot to return NULL in joinfields() when a type error was detected
...
in one of the sequence items.
1998-02-06 22:37:12 +00:00
Guido van Rossum
64608cfb86
Updated URL for zlib.
1998-02-06 22:36:10 +00:00
Guido van Rossum
07e9fbf6b9
Register Tcl_Finalize as a Python exit handler.
1998-02-06 22:35:46 +00:00
Guido van Rossum
40769dd073
Don't store the exception info from an unhandled exception in a thread
...
in sys.last_*; it prevents proper calling of destructors of local
variables.
1998-02-06 22:32:08 +00:00
Guido van Rossum
131c92c069
- Use Py_GetPythonHome() instead of getenv("PYTHONHOME").
...
- Don't print error messages when Py_FrozenFlag is set.
1998-02-06 22:29:30 +00:00
Guido van Rossum
57d9f2e6ec
Renamed Jim's PyErr_[JF]Format() to cPickle_ErrFormat(). It's not a
...
standard Python API function so it should not have a Py prefix.
1998-01-19 23:18:18 +00:00
Guido van Rossum
d29806c37e
Instead of a single exists(), differentiate between files, modules,
...
executable files, and directories. When expecting a module, we also
look for the .pyc or .pyo file.
1998-01-19 22:06:22 +00:00
Guido van Rossum
73bacfc3d7
Add unistd.h for isatty().
1998-01-19 22:05:22 +00:00
Guido van Rossum
3dacdc306e
Add LOG_SYSLOG if defined.
1998-01-19 22:05:08 +00:00
Guido van Rossum
3dd264cc0f
Deleted targets used only by Jim Fulton's now deleted "gMakefile".
...
Also change the build rules to use $(LIBRARY) instead of
-L.. -lpython$(VERSION)
since the latter trips up the SunOS 4.1.x linker (sigh).
1998-01-13 18:57:24 +00:00
Guido van Rossum
74608f8b8a
Oops, big glitch. Charles had put a 1 in the column for argument list
...
type for all functions. However many function call PyArg_Parse() and
need a 0. This is so that when they didn't change anything, the can
do Py_INCREF(args); return args. Reverted this back. For atof(),
there's no reason not to use PyArg_ParseTuple(), so I changed the code
(atoi and atol already used that).
1997-12-30 05:44:10 +00:00
Guido van Rossum
786205e385
Oops, the last checkin left a blank line in a string literal.
1997-12-30 05:10:14 +00:00
Guido van Rossum
1d0d7e4e48
At Jeff Rush' request, add Py_BEGIN/END_ALLOW_THREADS around call to
...
DosSleep().
1997-12-29 20:03:10 +00:00
Guido van Rossum
bfaf3d6186
Moved some #ifdefs around that got put in the wrong place by the
...
latest OS/2 patch set.
1997-12-29 20:02:27 +00:00
Guido van Rossum
23e21e7cf3
Minor editing corrections.
1997-12-29 19:57:36 +00:00
Guido van Rossum
983c930c8d
Added doc string, provided by Charles Waldman (with some reformatting
...
and a little editing my me).
1997-12-29 19:52:29 +00:00
Guido van Rossum
557dea1ca2
AMK's latest -- synchronized with PCRE 1.04.
1997-12-22 22:46:52 +00:00