Guido van Rossum
810a3396d1
Speed up the implementation of quote().
...
Fix the implementation of quote_plus(). (It wouldn't treat '+' in the
original data right.)
Add urlencode(dict) which is handy to create the data for sending a
POST request with urlopen().
1998-07-22 21:33:23 +00:00
Guido van Rossum
1f00eed8b5
Feature added by Harri Pasanen (at my suggestion): .py suffix on
...
filename may be omitted.
1998-07-22 13:35:21 +00:00
Guido van Rossum
052969a602
Don't use calculations on values gotten from tell(). Also use a
...
slightly different way to test for the existence of unread.
1998-07-21 14:24:04 +00:00
Guido van Rossum
136a112bf1
Untabified.
1998-07-20 23:22:51 +00:00
Guido van Rossum
f60e8e8108
Update the documentation. Get rid of the section "how it works"
...
(which is not very relevant when you're in the debugger :-).
1998-07-20 23:21:21 +00:00
Guido van Rossum
b5699c7240
Added support for specifying a filename for a breakpoint, roughly
...
according to an idea by Harri Pasanen (but with different syntax).
This affects the 'break' and 'clear' commands and their help
functions. Also added a helper method lookupmodule().
Also:
- Try to import readline (important when pdb is used from/as a script).
- Get rid of reference to ancient __privileged__ magic variable.
- Moved all import out of functions to the top.
- When used as a script, check that the script file exists.
1998-07-20 23:13:54 +00:00
Guido van Rossum
c612681b20
Fix another bug in ESR's changes. In order to work properly,
...
onecmd(line) must return the value returned by emptyline() or
default(line).
1998-07-20 21:22:08 +00:00
Guido van Rossum
0aec9fb183
Add missing initializer for self._backupfilename. Due to Ralph Butler.
1998-07-20 15:49:28 +00:00
Guido van Rossum
3a8d1f5a6b
Modest speed improvement to escape() by Piet van Oostrum.
1998-07-20 15:46:13 +00:00
Guido van Rossum
7333c4cafc
Patch by Piet van Oostrum to avoid calculating with the result of
...
fp.tell() -- that won't work on Windows.
(A patch for rfc822 is still needed for one case where it finds a bad
header line and wants to back up.)
1998-07-20 15:24:01 +00:00
Guido van Rossum
bd9f093fcd
Measure performance of sub(), split(), findall().
1998-07-17 21:10:42 +00:00
Guido van Rossum
0e5ab17ad3
Get a 3- to 4-fold speedup for sub()/subn(), split() and findall() by
...
not calling self.search(); instead, call self.code.match() directly
and interpret the list of registers it returns directly. This saves
the overhead of instantiating a MatchObject for each hit, basically
inlining search() as well as group(). When a MatchObject is still
needed, one is allocated and reused for the duration of the scan.
1998-07-17 20:18:49 +00:00
Guido van Rossum
c364cf8228
Added tests for findall().
...
Added test for m.groups() with default.
Added a few prints announcing various tests in verbose mode.
1998-07-17 20:05:02 +00:00
Guido van Rossum
7f1d3aa3d9
Add tests for array self-assigns. (This one has no relevance to JPython.)
1998-07-16 15:31:43 +00:00
Guido van Rossum
affd77f71e
Add tests for list self-assigns. (Sorry, this should have been here
...
before JPython 1.0 came out.)
1998-07-16 15:29:06 +00:00
Guido van Rossum
93d1fe1c56
From: Nicolas CHAUVAT <nico@caesium.fr>
...
In the bbox method of Group (Canvas.py file), you should read
return self.canvas._getints(self._do('bbox'))
instead of
return self._getints(self._do('bbox'))
1998-07-16 13:43:05 +00:00
Fred Drake
182c590869
Tk.__init__(): In computing baseName, add ".pyo" to list of dropped
...
extensions, and include the "." in ".pyc". Still need to get
_tkinter.c:Tkapp_New() to use baseName....
1998-07-15 04:36:56 +00:00
Guido van Rossum
69a79bca68
Better RFC 821 compliance (MAIL and RCPT, and CRLF in data)
...
by Carey Evans <c.evans@clear.net.nz>, for picky mail servers.
1998-07-13 15:18:49 +00:00
Guido van Rossum
eeb64287f1
(1) Added a sys.exc_info() emulation. (It returns None for the traceback.)
...
(2) Made the test script a bit fancier -- you can now use it to run
arbitrary scripts in restricted mode, and it will do the right thing.
(The interactive mode is still pretty lame; should integrate this with
code.interact().)
1998-07-09 13:52:38 +00:00
Guido van Rossum
b84ef9bc61
Put back the call to report_unbalanced() that was lost when
...
parse_endtag() was restructured in parse_endtag() and finish_endtag().
1998-07-07 22:46:11 +00:00
Guido van Rossum
9d865e1a30
Get rid of some obsolete opcodes.
1998-07-07 14:58:39 +00:00
Guido van Rossum
9f2b524385
The permissions ('mode' flag) should default to 0666.
1998-07-03 14:16:55 +00:00
Guido van Rossum
8ba4036a40
The _fromlinepattern was a little too restrictive -- some sendmails
...
don't put the seconds in the time!
1998-07-02 23:05:32 +00:00
Guido van Rossum
6bbd1d0f0e
According to Robin Dunn, at least one FTP server returns 200 instead
...
of 250 on a successful delete.
1998-07-02 20:41:20 +00:00
Guido van Rossum
030eb11823
Gotta have an __init__() method -- pdb.py calls it!
1998-07-01 22:53:04 +00:00
Barry Warsaw
bfa3f6b673
Several changes:
...
1. Convert to using re module
2. Added two new exception classes
a. MissingSectionHeaderError which signals an early parsing
exception when options appear in the file before any section
header. Previously a bogus TypeError was thrown deeper down.
b. ParsingError which collates any non-fatal parsing errors.
ConfigParser.read() will raise this after the entire file was
parsed if any errors occurred during parsing (client could just
catch the exception and continue, because the ConfigParser
instance would still be initialized with the valid data).
(small note: Error.__msg => Error._msg)
3. ConfigParser.__read() now uses re which has the following minor
semantic change: underscore is now allowed in section header and
option name. Also, because of the old regexps, theoretically.
Fixed continuation line bug reported by F. Lundh.
4. It seemed that the old ConfigParser automatically added the option
`name' to every section, which contained the name of the section.
This seemed bogus to me so I took it out.
1998-07-01 20:41:12 +00:00
Guido van Rossum
7011504e27
Improved test set for int() and long() string conversions.
1998-06-30 17:02:20 +00:00
Guido van Rossum
bf0db032cd
Add pop method.
1998-06-30 15:40:05 +00:00
Guido van Rossum
0f91183b1a
Fix the comments describing the return values of the head(), body(),
...
article() commands.
1998-06-30 14:50:26 +00:00
Guido van Rossum
8b3282be9f
For completeness, add a dummy load_package() method to RHooks. It
...
should never be called, so this isn't really needed, but this
signifies that rexec now supports packages -- because ihooks does.
1998-06-29 20:32:57 +00:00
Guido van Rossum
9f5c36fddb
Support loading of packages. (I had this coded up for a while but
...
didn't want to commit until it had been tested. I presume that it
works in Grail.)
1998-06-29 20:31:16 +00:00
Guido van Rossum
be0b62cab4
Added findall() to RegexObject -- return a list of all matches in a
...
string. Added groupdict() to MatchObject -- return the named groups
as a dict. Added default argument to groups() to specify what to
return for unmatching groups; groupdict() also has this.
1998-06-29 20:29:08 +00:00
Guido van Rossum
80884075f0
Improved by Eric Raymond.
1998-06-29 17:58:55 +00:00
Guido van Rossum
716b78474c
# Make tabnanny happy.
1998-06-29 17:58:43 +00:00
Guido van Rossum
3ad9dd559a
Improved by Eric Raymond.
1998-06-29 17:56:06 +00:00
Guido van Rossum
c94f16f156
Oops! Of course, Tim is right -- when the item is not a hex number,
...
the '%' should be put back in.
1998-06-29 00:42:54 +00:00
Guido van Rossum
52e86ad05b
Speed-up unquote(), inspired by post from Daniel Walton.
1998-06-28 23:49:35 +00:00
Guido van Rossum
1cd4d52f2f
Remove RCS and #! cruft at top.
1998-06-26 13:38:38 +00:00
Guido van Rossum
88b63b8d30
Allow binding a Tcl command (given as a string) as well as a Python
...
function.
1998-06-25 18:54:49 +00:00
Guido van Rossum
01852838f3
Treat "HEAD" same as "GET", so that CGI scripts won't fail.
1998-06-25 02:40:17 +00:00
Guido van Rossum
2349015a87
Rewrite the (test) main program so that when used as a script, it can
...
retrieve one or more URLs to stdout. Use -t to run the self-test.
1998-06-25 02:39:00 +00:00
Guido van Rossum
b1f0812be7
Piers' latest version, labeled 2.11. This time he integrated my
...
changes, and made only a few minor changes. No changes of my own this
time.
1998-06-25 02:22:16 +00:00
Guido van Rossum
95e6f7089a
Eric Raymond added support for ESMTP protocol and corrected some typos
...
in comments and doc strings.
1998-06-25 02:15:50 +00:00
Guido van Rossum
a93b848e33
Subsume the interact() function in a class. This should make it
...
possible to use this in PythonWin, and to replace Fredrik Lundh's
PythonInterpreter class. Fredrik is credited with the class' API.
1998-06-23 19:31:19 +00:00
Guido van Rossum
d9d2625dbd
"if match(x) >= 0:" smells of regex matching; should use "if match(x):"
1998-06-23 14:43:06 +00:00
Guido van Rossum
4d40b0a165
Patch by Eric Raymond: add an optional 'seekable' flag to the
...
MultiFile constructor, and only do the posstack bookkeeping when it is
true.
1998-06-23 14:20:27 +00:00
Guido van Rossum
5430b432e6
Bugfix to ESR's code reported by himself: should use hasattr() to test
...
for presence unread, not getattr()!
1998-06-22 15:46:26 +00:00
Guido van Rossum
cef4c844df
Turns out that 'winfo id' returns the id as a hex string, with 0x prefix.
...
The int() function (aliased to getint()) doesn't handle that, so we must
use self.tk.getint() again...
1998-06-19 04:35:45 +00:00
Guido van Rossum
268824e089
Different trick to get the _test() window to pop up.
1998-06-19 04:34:19 +00:00
Guido van Rossum
eda960a1dd
Piers' latest version -- authentication added by Donn Cave.
1998-06-18 14:24:28 +00:00
Guido van Rossum
e50b0a44cb
In class _Subfile, make sure read(n) can't read beyond EOF. Also
...
allow negative numbers to specify read until EOF (like for a regular
file's read() method).
1998-06-17 18:34:40 +00:00
Guido van Rossum
81d10b479e
Add __getitem__ to AddressList object, to make it a sequence.
1998-06-16 22:29:03 +00:00
Guido van Rossum
4d4ab9245f
Some extra comments and docstrings, and a new class (AddressList), all by ESR.
1998-06-16 22:27:09 +00:00
Guido van Rossum
32490824b6
Fixed the UDP server -- this never worked. Ray Loyzaga deserves
...
credit for complaining about this and for testing these changes.
1998-06-16 02:27:33 +00:00
Guido van Rossum
d458faadc3
In completer(), return None instead of raising an IndexError when
...
there are no more completions left. (This for compatibility with
Donald Beaudry's code.)
1998-06-12 19:42:14 +00:00
Guido van Rossum
c3da02e904
Don't catch interrupts in getpass() -- the finally clause will reset
...
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).
1998-06-12 14:28:38 +00:00
Guido van Rossum
ae9ee7329d
Use the getpass module instead of having platform-specific echo on/off
...
code here.
1998-06-12 14:21:13 +00:00
Guido van Rossum
69256612d7
With the recent change that makes numbers compare smaller than anything,
...
the outcome of the test for max has changed.
1998-06-11 22:25:59 +00:00
Guido van Rossum
08636f08ed
Now that test_MimeWriter is untabified, do the same here!
1998-06-11 22:22:39 +00:00
Guido van Rossum
cff311aa37
Be more careful than the previous patch. The default content-type
...
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.
1998-06-11 14:06:59 +00:00
Guido van Rossum
e894fc0ea3
Support new overridable method, isheader() (ESR).
...
Also implement __setitem__(), more-or-less correctly (GvR).
1998-06-11 13:58:40 +00:00
Guido van Rossum
c7bb8577c7
Some changes suggested/provided by Eric Raymond:
...
- 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.
1998-06-10 21:31:01 +00:00
Guido van Rossum
1f40cd6314
Add the __doc__ string from the original module on copy_none().
1998-06-09 21:33:44 +00:00
Guido van Rossum
dd47ec98e2
Default content-type to application/x-www-form-urlencoded at the top
...
level of a form. This means that browsers that omit the content-type
header when sending a POST command aren't penalized so heavily.
1998-06-09 19:49:16 +00:00
Guido van Rossum
e614fb12a0
Changed runs of 8 spaces to tab -- to satisfy the tab nanny.
1998-06-09 19:20:12 +00:00
Guido van Rossum
068ad97330
Untabified -- to satisfy the tab nanny.
1998-06-09 19:19:40 +00:00
Guido van Rossum
5a43e1a90c
Get rid of tabnanny's last complaints.
1998-06-09 19:04:26 +00:00
Guido van Rossum
aa2a7a4ae6
From: "Tim Peters" <tim_one@msn.com>
...
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.
1998-06-09 19:02:21 +00:00
Guido van Rossum
fe02efdbf4
getint() now raises ValueError, not TclError, on errors.
1998-06-09 02:37:45 +00:00
Guido van Rossum
3c46234e5e
Remove Emacs and #! cruft.
1998-05-29 18:22:53 +00:00
Guido van Rossum
d659693b5b
Improve the self-test code a bit: read a host from sys.argv[1] if set,
...
and list the host name when prompting for the password.
1998-05-29 18:08:48 +00:00
Guido van Rossum
cc20b76ad0
Add comments explaining thread unsafety of this code.
1998-05-29 17:51:59 +00:00
Guido van Rossum
d03e1197cb
Make gauss() semi-thread-safe. It can still give duplicate results,
...
but it can no longer raise an exception when called by several threads
simultaneously.
1998-05-29 17:51:31 +00:00
Guido van Rossum
b39e461b89
Two places where _time() should be used said time.time(), which
...
doesn't work of course.
1998-05-29 17:47:10 +00:00
Guido van Rossum
6884af706b
Piers Lauders' latest version, with some of my own changes reapplied.
...
Also replaced random()*32000 with randint(0, 31999).
1998-05-29 13:34:03 +00:00
Guido van Rossum
1ad00717fb
Patch by Lars Marius Garshol:
...
- Handle <? processing instructions >.
- Allow . and - in entity names.
Also fixed an oversight in the previous fix (in one place, [ \t\r\n]
was used instead of string.whitespace).
1998-05-28 22:48:53 +00:00
Jeremy Hylton
2b9d029308
add handler for JPython's org.python.core.PyStringMap object, which
...
walks and quacks like a dictionary.
1998-05-27 22:38:22 +00:00
Guido van Rossum
16653cb273
Add Tim's worst case scenario.
...
Revert to using whrandom so it will work with older versions of Python.
1998-05-26 15:05:12 +00:00
Guido van Rossum
7462942b69
Added some tests to make sure that long->int conversions near
...
sys.maxint and near -sys.maxint-1 work correctly.
1998-05-26 14:51:55 +00:00
Fred Drake
5b34ec1b14
Fixed spelling in comment: "RFC", not "RFX".
1998-05-22 18:18:08 +00:00
Guido van Rossum
e9387ea773
introduce a new platform-specific variable: os.linesep is the
...
platform's line separator. \n on Unix, \r\n on DOS, OS/2 and Windows,
\r on Macs.
1998-05-22 15:26:04 +00:00
Guido van Rossum
26fd98201f
Change the last 4-space indent into a 1-tab indent.
1998-05-22 15:05:36 +00:00
Guido van Rossum
7ef2a1de9b
Shouldn't use newdir.dir(), which no longer exists!
1998-05-22 14:11:57 +00:00
Fred Drake
c9132066e7
knownfiles: Add the default installation dirs for Apache
...
versions <= 1.2, >= 1.3.
1998-05-21 13:15:45 +00:00
Guido van Rossum
b26a1b4e2b
Use random instead of whrandom.
1998-05-20 17:05:52 +00:00
Guido van Rossum
33d7f1a76c
Add Interfaces to replace remaining needs for importing whrandom.
...
# XXX TO DO: make the distribution functions below into methods.
1998-05-20 16:28:24 +00:00
Guido van Rossum
0bd5433cf8
Get rid of nearly all clals to self._do -- turns out self.tk.call can
...
be used just as well, so this saves one Python call in many cases!
1998-05-19 21:18:13 +00:00
Fred Drake
4941341858
guess_extension(): Revise documentation string to be more clear. If not
...
inited, call init().
1998-05-19 15:15:59 +00:00
Guido van Rossum
5f4fb913a2
Test that "import sys.imp" fails as it should.
1998-05-19 15:09:42 +00:00
Fred Drake
5109ffd607
guess_extension(): New function. Performs a reverse mapping from MIME type
...
to filename extension.
1998-05-18 16:27:20 +00:00
Guido van Rossum
67133e25a2
Neatify the _timezones table and remove a misleading comment about
...
inaccuracies in mktime_tz().
1998-05-18 16:09:10 +00:00
Fred Drake
3130b7a2a9
Fixed typo in docstring: suffixes_map --> suffix_map.
1998-05-18 16:05:24 +00:00
Guido van Rossum
4658682205
Subject: bug fixes for imaplib.py
...
From: Piers Lauder <piers@staff.cs.usyd.edu.au>
To: Python List <python-list@cwi.nl>
Date: Mon, 18 May 1998 09:51:53 +1000
Following is a context diff for imaplib.py in the Python1.5.1 distribution.
It fixes 2 bugs. One to do with argument quoting, and the other to do with
caching of un-tagged responses. Apologies for its size.
1998-05-18 14:39:42 +00:00
Guido van Rossum
7beaad4e75
Add file extension .xml, mapping it to text/xml.
1998-05-18 14:25:08 +00:00
Jeremy Hylton
ee918cb487
Fix bug reported by Harri Pasanen: gzip + cPickle doesn't work. The
...
problem was a couple of bugs in the readline implementation.
1. Include the '\n' in the string returned by readline
2. Bug calculating new buffer size in _unread
Also remove unncessary import of StringIO
1998-05-13 21:49:58 +00:00
Guido van Rossum
01fc65d92f
From: conrad@cgl.ucsf.edu (Conrad Huang %CGL)
...
To: python-list@cwi.nl
Date: 13 May 98 18:33:11 GMT
I think I found a bug in CGIHTTPServer.py. (Does anyone care? :-)
I was trying to use it as the web server for uploading files.
Python CGI scripts (using the CGI module) that worked for other
servers (e.g., Netscape Enterprise server) hang when run from
CGIHTTPServer. The problem is that the content type parameters,
in particular the boundary parameter, were not passed through to
the CGI scripts, thus making the MIME parsing code choke.
My simple-minded fix is:
% diff CGIHTTPServer.py /usr/local/lib/python1.5/CGIHTTPServer.py
137,140c136
< if self.headers.typeheader is None:
< env['CONTENT_TYPE'] = self.headers.type
< else:
< env['CONTENT_TYPE'] = self.headers.typeheader
---
> env['CONTENT_TYPE'] = self.headers.type
Conrad
1998-05-13 20:13:24 +00:00
Guido van Rossum
b298a300dd
Reduce memory requirements.
1998-05-12 13:21:31 +00:00
Guido van Rossum
03e35c548f
Add a few doc strings.
1998-05-10 18:27:29 +00:00
Guido van Rossum
ea176b663e
benchmark for list.sort()
1998-05-10 18:20:05 +00:00
Guido van Rossum
b1b4f94527
Make Tim O'Malley's requested change: in FieldStorage.__init__(), when
...
method='GET', always get the query string from environ['QUERY_STRING']
or sys.argv[1] -- ignore an explicitly passed in fp.
1998-05-08 19:55:51 +00:00
Fred Drake
073b829021
When a file name is selected ("OK" button, <Return> in the filename entry),
...
and the "key" keyword parameter was used to invoke .go(), use the directory
of the selected file as the stored directory to return to when the same key
is used again. This is useful since the user may well entry at least part
of the path in the filename box instead of doing a lot of clicking around in
the listboxes.
1998-05-06 17:28:23 +00:00
Guido van Rossum
e7b6e396fc
New files from Thomas Gellekum
1998-05-06 15:14:36 +00:00
Guido van Rossum
d618c91f14
Added table of WSA error codes.
1998-05-06 13:48:04 +00:00
Guido van Rossum
e0c0da98d8
Patches to make the proxy code work again. (Why does that always break
...
as soon as I change things even just a little bit? :-) Even works
when accessing a password-protected page through the proxy. Prompted
by complaints from, and correct operation verified by, Nigel O'Brian.
1998-05-05 13:58:13 +00:00
Guido van Rossum
a986bb7e5c
Take out the check for AUTH-LOGIN or AUTH=LOGIN in login() -- some
...
servers support LOGIN but don't advertise it. If it's not supported
the protocol will respond NO. Approved by Piers Lauder.
1998-05-05 03:08:46 +00:00
Guido van Rossum
b485224d82
REMOVE samefile(), sameopenfile(), samestat() -- these cannot be made
...
to work reliably (at least I wouldn't know how).
1998-05-02 00:47:09 +00:00
Guido van Rossum
e365a590d4
Change the names of all methods in the Wm class: they are now
...
wm_title(), etc. The old names (title() etc.) are still defined as
aliases.
This brings all methods up to use the same naming convention: whether
the Tcl syntax is
.window.path.name command subcommand [options]
or
command subcommand .window.path.name [optins]
the Python equivalent is always
windowobject.command_subcommand(options)
1998-05-01 19:48:20 +00:00
Guido van Rossum
0132f69c2e
Another optimization, probably of negligeable effect: instead of
...
calling self.tk.getint() and self.tk.getdouble(), call the globals
getint() and getdouble(), which in turn are just names for the Python
builtins int() and double(). (Making them globals actually save a
dict lookup compared to using the built-in.) The corresponding
methods of class Misc have been changed similarly. (Note that
getboolean() hasn't been changed because there's no Python
equivalent.)
The use of int() and float() has another advantage: if/when Tcl calls
can actually return Tcl objects with other types than string, use of
int() and float() is essential.
1998-04-30 17:50:36 +00:00
Guido van Rossum
dc59340646
In _bind(), found a way to test for break without a temp variable.
1998-04-29 22:16:57 +00:00
Guido van Rossum
f975699c07
Save a tiny bit of time: self.tk.call takes a tuple argument so it's
...
not needed to say apply(self.tk.call, t); self.tk.call(t) has the same
effect. This cuts down tremendously on the number of apply() calls
made. No measurable effect, but at the very least it saves the lookup
of apply() in the globals!
1998-04-29 21:57:08 +00:00
Guido van Rossum
f0c891a2b2
Import MacOS at the top instead of insize Tk.__init__() -- the latter
...
repeats the I/O for the failed import on each interpreter creation.
1998-04-29 21:43:36 +00:00
Guido van Rossum
7e6d18c1c0
Replace all calls to acquire_lock() and release_lock() with acquire()
...
and release() instead.
1998-04-29 14:29:32 +00:00
Guido van Rossum
57a0661cb8
On the Mac, create the Temporary Items folder if it does not exist yet.
...
(Jack)
1998-04-28 16:03:34 +00:00
Guido van Rossum
9c93a69335
Put quotes around the filename, so spaces in filenames work.
...
(Jack)
1998-04-28 16:03:03 +00:00
Guido van Rossum
53117ae82a
typo in error message (fname vs. file).
...
(Jack)
1998-04-28 16:01:13 +00:00
Guido van Rossum
b86ba124ea
Support byte-swapped dbhash (bsddb) files. Found by Ben Sayer.
1998-04-28 15:41:03 +00:00
Guido van Rossum
fc1f64d90d
Oops, I had 'n' and 'c' mixed up in my mind. Get rid of the comment
...
that wonders what the difference is and explain them properly.
1998-04-28 15:23:09 +00:00
Guido van Rossum
a5c0998242
Inspired by Ben Sayer, rewritten the code and some of the comments to
...
be more intelligent when the database already exists (use the module
for the existing file, according to whichdb). Noted in the doc
strings that there doesn't seem to be a different between 'c' and 'n'.
1998-04-28 15:19:34 +00:00
Guido van Rossum
e86271af72
When setting the event structure fields, don't die when the widget
...
name is not registered; simply use the string. This happens for
tear-off widgets (e.g. if you've registered enter/leave events for the
menu).
1998-04-27 19:32:59 +00:00
Guido van Rossum
0eae8fba81
Feeble attempt at making urlopen more robust -- don't call splituser()
...
when splithost() returned no useable host, to avoid calling
splituser() on None.
1998-04-27 15:19:17 +00:00
Fred Drake
9291d271fb
parse150(): Simplify RE used to parse the message a little, taking advantage
...
of using re instead of regex.
1998-04-27 14:39:44 +00:00
Guido van Rossum
446898ff4a
Use hex() when outputting the various checksums so the test output is the
...
same on 32 and 64 bit machines.
1998-04-24 18:31:28 +00:00
Guido van Rossum
bb189dbcb0
Small corrections to comments that were cloned from aifc; moreover
...
the description of setparams() was wrong.
wave.py: Include the tag of an unknown format in the exception.
1998-04-23 21:40:02 +00:00
Guido van Rossum
1740b8d2f7
New test sample -- "Nobody expects the Spanish Inquisition!"
1998-04-23 21:37:22 +00:00
Guido van Rossum
e26132cf5e
Move unified findfile() into test_support.py
1998-04-23 20:13:30 +00:00
Guido van Rossum
5fd90684a9
Run the self-test (test.test_MimeWriter) when invoked as a script.
1998-04-23 13:34:57 +00:00
Guido van Rossum
2ad816f47e
Add test for MimeWriter module
1998-04-23 13:33:56 +00:00
Guido van Rossum
e87ed5f6d4
Add writelines() method to Compare class.
1998-04-23 13:33:21 +00:00
Guido van Rossum
9a34523e19
As Tim Peters points out, ``from string import *'' should not set re to None.
...
Also rename safe_env to _safe_env.
1998-04-20 14:01:00 +00:00
Fred Drake
de2f708299
Fix regexp for attrfind; bug reported by Lars Marius Garshol
...
<larsga@ifi.uio.no>.
1998-04-16 21:04:26 +00:00
Fred Drake
ac36c6403f
Open wave files in binary mode.
...
Accept 'rb' and 'wb' as well as 'r' and 'w' as the mode parameter to open().
1998-04-16 16:44:33 +00:00
Guido van Rossum
64d036c8fe
Add connect_ex to list of methods.
1998-04-14 01:30:45 +00:00
Guido van Rossum
fb9b7fd5ee
Be nicer to systems that have neither termios nor msvcrt.
1998-04-13 20:22:21 +00:00
Guido van Rossum
b19e2a383c
Whoops! Add a missing 'instantiated = 1' to load_inst(); otherwise it
...
would still try to call the class...
1998-04-13 18:08:45 +00:00
Guido van Rossum
be14e69742
New revision -- sometimes it's AUTH-LOGIN, sometimes AUTH=LOGIN!
1998-04-11 03:11:51 +00:00
Guido van Rossum
5c7e8cd267
Avoid using the obsolete rand module; and improve the randomness
...
of the boundary chosen by choose_boudary() by using milliseconds
of the timestamp.
1998-04-11 03:06:02 +00:00
Guido van Rossum
38d8f4e1c2
New version doesn't require REV1 capability.
1998-04-11 01:22:34 +00:00
Guido van Rossum
c74521acc4
Oops -- remove some debug print statements!
1998-04-11 01:18:35 +00:00
Guido van Rossum
c296651e10
Add image_types() and image_names() as methods to Misc class.
1998-04-10 19:16:10 +00:00
Guido van Rossum
ce73acf5e6
Tim's version 4, with my mods
1998-04-10 19:14:59 +00:00
Guido van Rossum
4cee3c49c2
Another easter present.
1998-04-10 16:14:34 +00:00
Guido van Rossum
7f5013a9a9
New Java-style threading module. The doc strings are in a separate module.
1998-04-09 22:01:42 +00:00
Guido van Rossum
bb08066053
The usual
1998-04-09 21:47:39 +00:00
Guido van Rossum
b5903ac9fb
Another new utility: getpass() prompts for a password, with echo off.
...
Also contains getuser(), which returns the username (not prompting though).
These work on Unix and Windows!
1998-04-09 20:37:16 +00:00
Guido van Rossum
29e5f5d81f
When getcwd() doesn't exist or raises an exception, don't fail but
...
fall back to using os.curdir instead; if it is fine, don't use
os.curdir at all.
1998-04-09 14:27:57 +00:00
Guido van Rossum
c09e6b1c0a
Clarify that put *blocks* when the queue is full. Add some blank
...
lines to doc strings.
1998-04-09 14:25:32 +00:00
Guido van Rossum
eeec0af307
Piers' new version (but I unfolded a few doc strings).
1998-04-09 14:20:31 +00:00
Guido van Rossum
c2c07fa10c
Piers Lauder's IMAP module.
1998-04-09 13:51:46 +00:00
Guido van Rossum
03774bb5ea
Version with docstrings and some other changes, by Piers Lauder.
...
(Adapted by Just, I believe.)
1998-04-09 13:50:55 +00:00
Fred Drake
3217be9395
Relocating file to Lib/lib-old.
1998-04-09 04:05:43 +00:00
Fred Drake
153165ca3d
Restore ni as an obsolete module.
1998-04-09 04:04:18 +00:00
Guido van Rossum
484772d472
Dave Ascher's pop client code.
1998-04-06 18:27:27 +00:00
Guido van Rossum
8053d89f7b
Add usage message when no arguments.
1998-04-06 14:45:26 +00:00
Guido van Rossum
f4b44fa6ef
Tim's latest version (supports old and new tokenize modules)
1998-04-06 14:41:20 +00:00
Guido van Rossum
986abac1ba
Give in to tabnanny
1998-04-06 14:29:28 +00:00
Guido van Rossum
1ae297ae8b
Remove some long obsolete files...
1998-04-06 14:16:12 +00:00
Guido van Rossum
f62cf61548
Give in to tabnanny.
1998-04-06 14:14:25 +00:00
Guido van Rossum
5810297052
Correction to vonmisesvariate() by Magnus Kessler: it should take and
...
return something between 0 and 2*pi. Also added a reference to the
literature.
1998-04-06 14:12:13 +00:00
Guido van Rossum
56c04b8376
Restructured the event_* calls slightly -- there's really no need to
...
use the default root, and instead of string.split, use splitlist.
1998-04-06 03:10:03 +00:00
Fred Drake
bdc61b1c7b
Relocating file to Lib/lib-old.
1998-04-04 01:05:17 +00:00
Fred Drake
a351f89a94
Relocating file to Lib/lib-old.
1998-04-04 00:54:56 +00:00
Guido van Rossum
8430c583da
AMK's latest
1998-04-03 21:47:12 +00:00
Guido van Rossum
a50547e0c0
Track changes in tokenize.py
1998-04-03 19:56:40 +00:00
Guido van Rossum
18586f4c48
Add optional argument to help().
1998-04-03 17:03:13 +00:00
Guido van Rossum
1d5102cac1
Explicitly close rfile and wfile in StreamRequestHandler.finish() --
...
mostly for jpython.
1998-04-03 16:49:52 +00:00
Guido van Rossum
a90c78b918
Differentiate between NEWLINE token (an official newline) and NL token
...
(a newline that the grammar ignores).
1998-04-03 16:05:38 +00:00
Guido van Rossum
fbe63de37d
UnixMailbox: don't be fooled by lines that begin with "From " but
...
otherwise don't look like headers at all...
Also robustify the test code a bit.
1998-04-03 16:04:05 +00:00
Guido van Rossum
7e07b3845b
Sjoerd's latest.
1998-04-03 16:02:39 +00:00
Guido van Rossum
0454b51282
Oops, pulled over by the tab police :-)
1998-04-03 15:57:58 +00:00
Guido van Rossum
b5916ab065
Change by Sjoerd (with minor reformatting):
...
guess the mime type of a local file.
Change suggested by Sjoerd (with different implementation):
when retrieve() creates a temporary file, preserve the suffix.
Corrollary of the first change:
also return the mime type of a local file in retrieve().
1998-04-03 15:56:16 +00:00
Guido van Rossum
75d92c1864
Added a __delitem__ to the Message class.
...
(Still no __setitem__, until I get a request to add it!)
1998-04-02 21:33:20 +00:00
Guido van Rossum
b1062fc9d2
Correct dumb typo found by kjpylint (stack should be self.stack).
1998-03-31 17:00:46 +00:00
Guido van Rossum
599174f74d
Correct a definite typo ('mem' should be 'memo').
1998-03-31 16:30:28 +00:00
Guido van Rossum
9ab75cbaab
Tim Peters' program for checking whether a program's indentation is
...
sensitive to tab size. Uses a different strategy than tabpolice.py,
but has compatible usage.
1998-03-31 14:31:39 +00:00
Guido van Rossum
a6bb6be95f
Strip argument to atol and atof to match what strop does better.
1998-03-30 17:22:30 +00:00
Guido van Rossum
a08fabad72
A few lines were indented using spaces instead of tabs -- fix them.
1998-03-30 17:17:24 +00:00
Guido van Rossum
117a5a8138
Return the name of the Tcl command defined by _bind(). This can
...
optionally be passed to unbind() (or you can apss it to
deletecommand()).
1998-03-27 21:26:51 +00:00
Guido van Rossum
548703a1b8
The usual.
1998-03-26 22:14:20 +00:00
Guido van Rossum
65e5399081
Don't write "if self.dict: self.dict.close()"; just write
...
"self.dict.close()" and ignore the exception. The "if self.dict:"
part would be calculated through len(self.dict.keys()), which is very
expensive for a large dictionary...
1998-03-26 22:12:22 +00:00
Guido van Rossum
3ec38f0ee4
A few lines were indented using tabs instead of spaces -- fix them.
1998-03-26 22:10:50 +00:00
Guido van Rossum
45e2fbc2e7
Mass check-in after untabifying all files that need it.
1998-03-26 21:13:24 +00:00
Guido van Rossum
9ea7024754
Delete this unused relic.
1998-03-26 21:07:14 +00:00
Guido van Rossum
7e7ca0ba17
A few lines were indented using spaces instead of tabs -- fix them.
1998-03-26 21:01:39 +00:00
Guido van Rossum
8ca842066c
A few lines were indented using spaces instead of tabs -- fix them.
1998-03-26 20:56:10 +00:00
Guido van Rossum
fa6e254b34
Mass check-in after untabifying all files that need it.
1998-03-26 20:23:01 +00:00
Guido van Rossum
1847d06493
Reindented with tabs only (seems fair to the Windows crowd).
1998-03-26 20:22:30 +00:00
Guido van Rossum
2830dcc15c
Get rid of the Emacs cruft now that Python-mode guess the desired settings!
1998-03-26 19:52:46 +00:00
Guido van Rossum
41360a4696
Mass check-in after untabifying all files that need it.
1998-03-26 19:42:58 +00:00
Guido van Rossum
cd0f59ea08
Get rid of the Emacs cruft now that Python-mode guess the desired settings!
1998-03-26 19:30:30 +00:00
Guido van Rossum
69c70a2fd1
Support 'whence' parameter to seek().
1998-03-25 16:25:26 +00:00
Guido van Rossum
c8d36284f3
Give in to Timmy's Tedious Tab Theorem.
1998-03-23 15:31:22 +00:00
Guido van Rossum
c457048744
Give in to the tab police.
1998-03-20 20:45:49 +00:00
Guido van Rossum
677bedab0c
Fix indent of one line in mkarg(), that got indented badly by the
...
recent reindent!
1998-03-19 15:14:24 +00:00
Guido van Rossum
3f0666c4a2
Add obvious needed else clause to format_exception().
1998-03-18 17:48:06 +00:00
Guido van Rossum
96c07fefa9
Prefer clock() over times() for timer function, except on the Mac,
...
where we use GetTicks() -- its clock() is a crock, with only 1 second
accuracy, I believe.
1998-03-17 14:46:43 +00:00
Guido van Rossum
677fc843ea
As Mike Fletcher pointed out, a __deepcopy__() method should be called
...
with the memo as an argument.
1998-03-13 20:12:17 +00:00
Guido van Rossum
6d4d1c2a25
Added support for "data" URL, by Sjoerd Mullender.
1998-03-12 14:32:55 +00:00
Guido van Rossum
5c1d2297ea
Instead of 'import mac', use 'import os' -- this way, the path syntax
...
manipulation routines can be used on non-Mac platforms (e.g. to
manipulate pathnames in a Mac specific archive).
1998-03-03 21:49:01 +00:00
Guido van Rossum
9e43adbe78
Initialize adlist variable in getrouteaddr(), so an illegal address
...
doesn't cause a traceback.
1998-03-03 16:17:52 +00:00
Guido van Rossum
d8c5b8c90f
Typo (coestring -> codestring) discovered by Mark Hammond.
1998-03-02 02:40:39 +00:00
Guido van Rossum
13452644d5
Sjoerd writes: When a multipart message is incomplete, mimify crashes.
1998-02-27 14:40:38 +00:00
Guido van Rossum
6e73af723c
New version of tb_lineno(), this time *not* using try-except, to avoid
...
disturbing the current exception, and returning tb.tb_lineno, which is
the line number of thr traceback, rather than the current line number.
By Jim Hugunin.
1998-02-26 17:25:02 +00:00
Guido van Rossum
46c86bbca9
A working version of the 'args' command (it prints the current values
...
of the variables known to hold arguments, but that's as close as I can
get, and generally it's close enough).
1998-02-25 20:50:32 +00:00
Guido van Rossum
d151d34ebd
Add test for core dump -- make sure it doesn't come back!
1998-02-25 17:51:50 +00:00
Guido van Rossum
7266496b00
Tweak the tb_lineno() function to be compatible with JPython, which
...
has no line number table etc.
1998-02-25 16:33:39 +00:00
Guido van Rossum
21df8f5dc4
Typo: baseWidht -> baseWidth.
1998-02-24 23:26:18 +00:00
Guido van Rossum
0001a11986
Fix bug in trace_vdelete(); should use master's delete command.
1998-02-19 21:20:30 +00:00
Guido van Rossum
2fc4d581ba
Added debug statements to report data actually sent and received on
...
the socket.
1998-02-19 21:19:48 +00:00
Guido van Rossum
b1908846af
Fix for literal null bytes -- these must be replaced by the four
...
characters \, 0, 0, 0.
1998-02-19 21:18:56 +00:00
Guido van Rossum
72c2e1b56e
Fixed a bug in the gauss() function. The bug was reported by Mike
...
Miller, who complained that its kurtosis was bad, and then fixed by
Lambert Meertens (author of the original algorithm) who discovered
that the mathematical analysis leading to his solution was wrong, and
provided a corrected version. Mike then tested the fix and reported
that the kurtosis was now good.
1998-02-19 21:17:42 +00:00
Guido van Rossum
9824509d3e
Add rmd() (remove directory command); fix comment in parse257.
...
In login(), force passwd and acct to '' when they are None (this can
happen in the test program!).
1998-02-19 21:15:44 +00:00
Guido van Rossum
0d530cedd7
Faster implementation of normcase (using string.lower(
...
string.replace(...)) instead of a for loop).
Don't call normcase() in normpath() -- the filesystem just might be
case preserving...
1998-02-19 21:08:36 +00:00
Guido van Rossum
a73033fcc2
Feature added by Bill van Melle: when no timezone is present, assume
...
local time -- that's better than failure.
1998-02-19 00:28:58 +00:00
Guido van Rossum
16a0bc278e
(1) Change normpath() to *not* also call normcase().
...
(2) Fix normcase() to use string.lower() and string.replace() -- it
turns out that the table constructed for translate() didn't work in
locales that have a different number of lowercase and uppercase
letters.
1998-02-18 13:48:31 +00:00
Guido van Rossum
00455b77a6
Fix sign reversal in mktime_tz discovered by Bill van Melle.
1998-02-18 05:06:30 +00:00
Guido van Rossum
358473c1a2
Andrew Kuchling writes:
...
First, the RNG in whrandom.py sucks if you let it seed itself from the time.
The problem is the line:
t = int((t&0xffffff) | (t>>24))
Since it ORs the two parts together, the resulting value has mostly
ON bits. Change | to ^, and you don't lose any randomness.
1998-02-16 14:52:42 +00:00
Guido van Rossum
e60142f2c1
Adding output of test_xmllib.py
1998-02-13 16:35:21 +00:00
Fred Drake
fe82acc3b1
Fixed typo in docstring: "__ version__" --> "__version__"
1998-02-13 03:24:48 +00:00
Guido van Rossum
8a666e7c56
Fix a horrible race condition -- various routines were storing the
...
most recently opened URL in self.openedurl of the URLopener instance.
This doesn't really work if multiple threads share the same opener
instance!
Fix: openedurl was actually simply the type prefix (e.g. "http:")
followed by the rest of the URL; since the rest of the URL is
available and the type is effectively determined by where you are in
the code, I can reconstruct the full URL easily, e.g. "http:" + url.
1998-02-13 01:39:16 +00:00
Guido van Rossum
d76732918a
Added rmtree(), to recursively remove a directory tree.
...
Code by David Ascher (docstring by me).
1998-02-06 21:38:09 +00:00
Guido van Rossum
03710d2a40
Two suggested features by Sjoerd:
...
- use the tempcache in the open() method, too.
- use the "unwrap"ped url as key for the tempcache.
1998-02-05 16:22:27 +00:00
Guido van Rossum
c5d8fed261
(1) Use matchobj.groups(), not matchbj.group() to get all groups.
...
(2) Provisional hack to avoid dying when trying to turn echo on or off
on Macs, where os.system() doesn't exist.
1998-02-05 16:21:28 +00:00
Guido van Rossum
c9aef03af4
Make this test work when imported from the interpreter instead of run
...
from regrtest.py (it still works there too, of course).
1998-01-29 21:53:17 +00:00
Guido van Rossum
fc40a8316a
Sez The Dragon:
...
Ok, I fixed the quotes, along with a bug or two.
Also added another exception.
1998-01-29 17:26:45 +00:00
Guido van Rossum
bbe323e52c
SMTP client by The Dragon De Monsyne <dragondm@integral.org>.
1998-01-29 17:24:40 +00:00
Guido van Rossum
02505e4850
New version of xmllib from Sjoerd.
...
The main incompatibility is that the error reporting method is now
called as
parser.syntax_error(msg)
instead of
parser.syntax_error(lineno, msg)
This new version also has some code to deal with the <?xml?> and
<!DOCTYPE> tags at the start of an XML document.
The documentation has been updated, and a small test module has been
created.
1998-01-29 14:55:24 +00:00
Guido van Rossum
b16a3b8450
(This fix is really by Jeremy)
...
Here's my suggested replacement for gzip.py for 1.5.1. I've
re-implemeted methods readline and readlines, added an _unread, and
tweaked read and _read.
I tried a more complicated buffer scheme for unread (using a list of
strings and string.join), but it was more complicated and slower.
This version is a lot faster than the current version and is still
pretty simple.
1998-01-27 19:29:45 +00:00
Barry Warsaw
abe2a457de
Unpickler.load_inst(), Unpickler.load_obj(), Unpickler.load_build():
...
Fixed problems when unpickling in restricted execution environments.
These methods try to assign to an instance's __class__ attribute, or
access the instances __dict__, which are prohibited in REE. For the
first two methods, I re-implemented the old behavior when assignment
to value.__class__ fails.
For the load_build() I also re-implemented the old behavior when
inst.__dict__.update() fails but this means that unpickling in REE is
semantically different than unpickling in unrestricted mode.
1998-01-26 22:47:35 +00:00
Barry Warsaw
5da0f504ba
get(): Fixed a bug in the merge order of the dictionaries. This makes
...
a copy of the defaults dictionary and merges the section's dictionary
into it so that sections can override the defaults.
1998-01-26 22:42:48 +00:00
Guido van Rossum
c567b8176a
Revamped, to match py_compile.py:
...
- added docstrings
- support option to specify a different purported directory name
- reindented with 4 spaces
1998-01-19 23:07:55 +00:00
Guido van Rossum
f7edadbc58
Add Gopher to list of protocols that support query strings.
1998-01-19 22:27:21 +00:00
Guido van Rossum
e7579624ef
Fix bad new bug in ftp code -- the test for existing file using NLST
...
would set the transfer to text mode instead of the specified mode.
1998-01-19 22:26:54 +00:00
Guido van Rossum
ca99c2ce75
Fix to ismount(). Can't remember who told me this.
1998-01-19 22:25:59 +00:00
Guido van Rossum
29c4688659
Patch by Tim O'Malley for servers that send a response looking just like
...
HTTP/1.x 200
instead of
HTTP/1.x 200 OK
1998-01-19 22:25:24 +00:00
Guido van Rossum
d2dd9a8b7f
Some patches by Lars Marius Garshol:
...
- fix type_to_name(); it never worked
- add path_to_selector()
add path_to_datatype_name()
1998-01-19 21:59:48 +00:00
Guido van Rossum
63566e2ef2
Added docstrings.
...
Added an optional third parameter giving the purported filename for
error messages from the module.
Append a newline to the code string if needed.
1998-01-19 04:01:26 +00:00
Guido van Rossum
e2c6e203c6
Add trace methods to class Variable
1998-01-14 16:44:34 +00:00
Guido van Rossum
f473cb007b
Added tests for qualified sub and split
1998-01-14 16:42:17 +00:00
Guido van Rossum
8687164426
Seems I've found a way to fix this.
1998-01-14 15:40:30 +00:00
Guido van Rossum
0d8fcb233e
Update the doc string to emphasize non-Unix behavior earlier;
...
sys.prefix is no longer empty on any platform that I know of.
1998-01-13 18:32:40 +00:00
Guido van Rossum
2b2b3f9bcb
Fix two bugs:
...
(1) maxsplit was ignored in split().
(2) groups() would return a string instead of a singleton tuple when
there was only one group.
1998-01-12 18:57:53 +00:00
Guido van Rossum
46f37144d3
New module added.
1997-12-31 00:11:03 +00:00
Guido van Rossum
51ca6e3e42
When there's no filename, don't make one up.
...
Added _test() that behaves (a bit) like gzip.
Fix a comment (*sequential* access is okay -- *random* access it out!)
1997-12-30 20:09:08 +00:00
Guido van Rossum
f5910e42d1
Add tests for re.L(OCALE).
1997-12-30 17:32:33 +00:00
Guido van Rossum
380bf64424
Since DSA.py never made it to the release, neither should dos-8x3/dsa.py.
1997-12-30 05:03:39 +00:00
Guido van Rossum
d01e9aa0df
the usual
1997-12-30 04:20:58 +00:00
Guido van Rossum
1cd6a457d9
Two critical fixes to the changes that I made for Greg McFarlane --
...
patches provided by Greg (am I glad I sent him my latest version!).
1997-12-30 04:07:19 +00:00
Guido van Rossum
5baf4bc978
Moved things around a bit in interact(), so outout is processed before
...
input. When an EOF is read, break out of the loop instead of (by
default) writing an empty line (which doesn't do much good). Don't
close self when falling through the loop.
1997-12-29 20:05:45 +00:00
Guido van Rossum
9fd41e363b
Fixed several bugs reported by Greg McFarmane:
...
* The invoke methods of the three Tkinter widgets Button,
Checkbutton and Radiobutton should return the value returned by
the callback, (like the Menu widget does):
def invoke(self):
return self.tk.call(self._w, 'invoke')
* The select_from method of the Canvas widget should use 'from', not
'set':
def select_from(self, tagOrId, index):
self.tk.call(self._w, 'select', 'from', tagOrId, index)
Currently, if you use select_from, you get the error message:
'TclError: bad select option "set": must be adjust, clear, from, item, or to'
* The 'entrycget' and 'type' methods of the Tk menu widget are
missing from Tkinter.
* There is a bug in grid_columnconfigure and grid_rowconfigure. For
example, this should return the current value of the 'minsize'
option for column 0:
f.grid_columnconfigure(0, 'minsize')
Instead it returns the same as:
f.grid_columnconfigure(0)
I suggest that the hint given in the comment in the
Tkinter.Misc.configure method should be followed - "ought to
generalize this so tag_config etc. can use it". Repeating the
same configure code several times in Tkinter is inviting errors.
[I did not follow this advice --G]
* The grid_slaves method should handle options. Currently, to pass
options to the grid_slaves method, you have to do something like:
grid_slaves('-row', 1)
1997-12-29 19:59:33 +00:00
Guido van Rossum
23e21e7cf3
Minor editing corrections.
1997-12-29 19:57:36 +00:00