Jack Jansen [Fri, 14 Dec 2001 21:28:53 +0000 (21:28 +0000)]
Added test_socketserver and test_unicode_file to tests expected to be
skipped on Mac OS X. Not sure yet about test_locale.py: this may be
due to my copy of Mac OS X (although it talks english fine enough).
Barry Warsaw [Fri, 14 Dec 2001 20:34:20 +0000 (20:34 +0000)]
send(), ehlo(): Integrate patch #487310 by Fazal Majid. Consistently
call self.close() just before raising SMTPServerDisconnected. This
allows you to, e.g. reconnect after a server timeout.
Fred Drake [Fri, 14 Dec 2001 16:57:31 +0000 (16:57 +0000)]
Work around the problem of spaces after a "}" being dropped by LaTeX2HTML if
they were represented by newlines in the document source.
Partially fixes SF bug #493243.
Fred Drake [Fri, 14 Dec 2001 16:54:53 +0000 (16:54 +0000)]
The valign attribute to control the vertical alignment of a table cell should
be on the <tr> element, not the <table> element.
Partially fixes SF bug #493243.
Jeremy Hylton [Fri, 14 Dec 2001 16:15:11 +0000 (16:15 +0000)]
Partial fix for problem in SF buf #487458
Rev 1.20 introduced a call to getpeername() in the dispatcher
constructor. This only works for a connected socket. Apparently
earlier versions of the code worked with un-connected sockets, e.g. a
listening socket.
It's not clear that the code is supposed to accept these sockets,
because it sets self.connected = 1 when passed a socket. But it's
also not clear that it should be a fatal error to pass a listening
socket.
The solution, for now, is to put a try/except around the getpeername()
call and continue if it fails. The self.addr attribute is used
primarily (only?) to produce a nice repr for the object, so it hardly
matters. If there is a real error on a connected socket, it's likely
that subsequent calls will fail too.
Jack Jansen [Fri, 14 Dec 2001 14:31:15 +0000 (14:31 +0000)]
Add default values for options in the class init routine, not in the convenience wrapper function: distutils uses the class directly. Fixes bug #492665.
Guido van Rossum [Fri, 14 Dec 2001 04:19:56 +0000 (04:19 +0000)]
(Merge into trunk.)
Fix for SF bug #492345. (I could've sworn I checked this in, but
apparently I didn't!)
This code:
class Classic:
pass
class New(Classic):
__metaclass__ = type
attempts to create a new-style class with only classic bases -- but it
doesn't work right. Attempts to fix it so it works caused problems
elsewhere, so I'm now raising a TypeError in this case.
Fred Drake [Thu, 13 Dec 2001 17:20:32 +0000 (17:20 +0000)]
Replace the "Cookbook approach" with the approach documented in
PC/example_nt/readme.txt; this one does not rely on any external scripts.
This "fixes" SF bug #221671 and most of SF bug #225003.
Fred Drake [Thu, 13 Dec 2001 04:53:07 +0000 (04:53 +0000)]
Make tix_configure() work the same way configure() works for the basic
Tkinter classes.
Adjust a lot of docstrings.
Convert a few type checks to use isinstance() instead of type().
This is part of SF patch #485959.
Fred Drake [Wed, 12 Dec 2001 05:38:08 +0000 (05:38 +0000)]
Very small test suite for the calendar module, mostly to check a constraint
on the return values from isleap(). Also checks firstweekday() and
setfirstweekday().
Guido van Rossum [Tue, 11 Dec 2001 22:41:24 +0000 (22:41 +0000)]
Fix SF bug #482171: webchecker dies on file: URLs w/o robots.txt
The cause seems to be that when a file URL doesn't exist,
urllib.urlopen() raises OSError instead of IOError. Simply add this
to the except clause. Not elegant, but effective. :-)
Tim Peters [Tue, 11 Dec 2001 21:43:14 +0000 (21:43 +0000)]
Added -Qnew news about the test_coercion.py failure. That's the only test
that still fails under -Qnew, and is so tied to details of current
behavior that fixing it before new division becomes the default is
impractical.
Fred Drake [Tue, 11 Dec 2001 20:49:23 +0000 (20:49 +0000)]
Remove crufty whitespace in a block of index entries.
Minor, but generates slightly smaller HTML & makes it easier to see what's
happening when debugging the HTML.
Joe VanAndel wrote:
>
> When using 'distutils' (shipped with Python 2.1) I've found that my
> Python scripts installed with a first line of:
>
> #!/usr/bin/python2.1None
>
> This is caused by distutils trying to patch the first line of the python
> script to use the current interpreter.
Tim Peters [Tue, 11 Dec 2001 20:31:34 +0000 (20:31 +0000)]
float_floor_div: An expression like 3.//1j crashed the interpreter, or
delivered bizarre results. Check float_divmod for a Py_NotImplemented
return and pass it along (instead of treating Py_NotImplemented as a
2-tuple).
CONVERT_TO_DOUBLE: Added comments; this macro is obscure.
Tim Peters [Tue, 11 Dec 2001 18:51:08 +0000 (18:51 +0000)]
SF bug #491415 PyDict_UpdateFromSeq2() unused
PyDict_UpdateFromSeq2(): removed it.
PyDict_MergeFromSeq2(): made it public and documented it.
PyDict_Merge() docs: updated to reveal <wink> that the second
argument can be any mapping object.
Fred Drake [Tue, 11 Dec 2001 17:46:38 +0000 (17:46 +0000)]
Fix whitespace in example of bad indentation: a comment indicated that one
line was not indented at all, so the example is no longer indented at all.
All of the errors being shown remain.
Fred Drake [Mon, 10 Dec 2001 23:44:54 +0000 (23:44 +0000)]
Make sure that when we invoke callback functions associated with weak
references, we do not allow any outstanding exceptions "leak" into the
callback's execution state.
This closes SF bug #478534.
Tim Peters [Mon, 10 Dec 2001 22:53:30 +0000 (22:53 +0000)]
Give xxsubtype a module docstring, so its oddball purpose is discoverable
from a prompt without searching the source code (there was an SF bug
report about this, already closed ... "479568 xxsubtype builtin").
Finn Bock [Mon, 10 Dec 2001 20:57:34 +0000 (20:57 +0000)]
Skipping some tests by adding the usual jython conditional test around:
- the repr of unicode. Jython only add the u'' if the string contains char
values > 255.
- A unicode arg to unicode() is perfectly valid in jython.
- A test buffer() test. No buffer() on Jython
This closes patch "[ #490920 ] Jython and test_unicode".
Guido van Rossum [Mon, 10 Dec 2001 18:00:15 +0000 (18:00 +0000)]
property_descr_get(): Fix a curious bug in the property() type: when
no get function was defined, the property's doc string was
inaccessible. This was because the test for prop_get was made
*before* the test for a NULL/None object argument.
Also changed the property class defined in Python in a comment to test
for NULL to decide between get and delete; this makes it less Python
but then, assigning None to a property doesn't delete it!
Guido van Rossum [Mon, 10 Dec 2001 16:42:43 +0000 (16:42 +0000)]
SF patch #491183 (Jeff Epler): ScrolledText.grid() doesn't work
Using grid methods on ScrolledText widgets does not
work as expected. It either fails to pack a widget, or
can even cause Tk to lock up.
The problem is that the .grid method is being called on
the text widget, not the frame widget. This can lead
to the well-known lockup in Tk when a frame's children
are managed by both the pack and grid managers. Even
if it doesn't lock up, the frame is never placed within
the intended widget.
Program fragment:
>>> import ScrolledText
>>> s = ScrolledText.ScrolledText()
>>> s.grid(row=0, column=0, rowspan=2)
The following patch uses the same hack to copy the
'grid' and 'place' geometry manager methods to the
ScrolledText instance as is already used for the 'pack'
manager.
Jack Jansen [Mon, 10 Dec 2001 16:08:14 +0000 (16:08 +0000)]
The new menu initialization code would also add the SIOUX menus if a (frozen) Python program had installed its own menubar previously. We now guard against this, with a bit of a hack: FrameWork uses the same Menu ID as Sioux, and the init code checks that the text in the menu is "About SIOUX" before replacing it.
Guido van Rossum [Mon, 10 Dec 2001 15:45:54 +0000 (15:45 +0000)]
SF patch #491049 (David Jacobs): Small PyString_FromString optimization
PyString_FromString():
Since the length of the string is already being stored in size,
changed the strcpy() to a memcpy() for a small speed improvement.
Jack Jansen [Sun, 9 Dec 2001 23:25:00 +0000 (23:25 +0000)]
The module generator now tells its object generators about the module name (through the new setmodulename() method). If the module name has been set the object generators output it as part of the tp_name field for the object type.