| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
# checkin email because my PC doesn't have the "Mail" command.
Add threading (now that it works). Also some small adaptations to
Unix again.
|
|
|
|
|
|
|
|
|
| |
# 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).
|
| |
|
|
|
|
| |
doesn't depend on the value of os.sep. (I.e. ported to Windows :-)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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...)
|
|
|
|
|
| |
there are no more completions left. (This for compatibility with
Donald Beaudry's code.)
|
|
|
|
|
| |
of Windows file handles. Now it is at least compatible with itself on
Unix!
|
| |
|
|
|
|
|
|
|
| |
the tty and the caller can deal with the interrupt.
In the windows version, recognize ^C and raise KeyboardInterrupt (not
sure if this is needed, but can't hurt).
|
|
|
|
|
| |
tcgetattr(). This seems to be the only correct way to cope with
platform-specific structure members...
|
|
|
|
| |
code here.
|
|
|
|
|
| |
This second problem only shows up if LDLAST is not an empty string (such
as with threads enabled on DEC Alphas).
|
|
|
|
|
| |
The first one only shows up if $prefix != $exec_prefix, and the problem
is caused by the recent change in location for config.h.
|
|
|
|
| |
the outcome of the test for max has changed.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
should only be set to application/x-www-form-urlencoded when the
method is POST. E.g. for PUT, an empty default (defaulting to
text/plain later) makes more sense.
|
|
|
|
| |
Also implement __setitem__(), more-or-less correctly (GvR).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- explain seekable
- when seekable==1, test fp.tell() and set it to 0 if that fails
- support overridable method iscomment(line) to weed out comments
- check for unread() method on file object before trying to seek
And one of my own:
- Add a get() method which behaves like a dictionary's get(); this is
actually implemented by giving getheader() an optional second argument
to specify the default, and aliasing get to getheader.
|
|
|
|
|
| |
including the new __stdin__, __stdout__ and __stderr__.
Also moved setttrace around to its proper place in the alphabet.
|
| |
|
|
|
|
|
| |
(all with index entries!). Also update the list of functions that
take or yield a time represented as a 9-tuple.
|
|
|
|
|
| |
level of a form. This means that browsers that omit the content-type
header when sending a POST command aren't penalized so heavily.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The 1.5.1 tabnanny.py suffers an assert error if fed a script whose last
line is both indented and lacks a newline:
if 1:
print 'oh fudge' # no newline here:
The attached version repairs that.
|
|
|
|
|
| |
the type names), make sure that numeric objects are considered smaller
than all other objects, by forcing their name to "".
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
and lists; if the size is negative, raise an exception. Also raise an
exception when an undefined type is found -- all this to increase the
chance that garbage input causes an exception instead of a core dump.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not in restricted mode.
__dict__ can be set to any dictionary; the cl_getattr, cl_setattr and
cl_delattr slots are refreshed.
__name__ can be set to any string.
__bases__ can be set to to a tuple of classes, provided they are not
subclasses of the class whose attribute is being assigned.
__getattr__, __setattr__ and __delattr__ can be set to anything, or
deleted; the appropriate slot (cl_getattr, cl_setattr, cl_delattr) is
refreshed.
(Note: __name__ really doesn't need to be a special attribute, but
that would be more work.)
|
| |
|
| |
|
|
|
|
| |
Slightly more featureful than regexdemo.py.
|
| |
|
| |
|
|
|
|
| |
and list the host name when prompting for the password.
|
|
|
|
| |
the median-of-three code to get a few percent back.
|