Fred Drake [Tue, 19 Sep 2000 15:36:19 +0000 (15:36 +0000)]
make_nav_sectref(): Create more minimal HTML, hanging the class attribute
off an existing anchor tag if available (I think it
always is, but am not completely sure).
Tim Peters [Tue, 19 Sep 2000 08:54:13 +0000 (08:54 +0000)]
Obscure marshal fixes:
When reading a short, sign-extend on platforms where shorts are
bigger than 16 bits.
When reading a long, repair the unportable sign extension that was
being done for 64-bit machines (it assumed that signed right shift
sign-extends).
Patch #101121, by Ka-Ping Yee: cosmetic cleanup of cgi.py, using my
style conventions. (Ping has checkin privileges but apparently
ignores them at the moment.)
Ping improves a few doc strings and fixes style violations like foo ( bar ).
An addition of my own: rearrange the printing of various items in
test() so that the (long) environment comes at the end. This avoids
having to scroll if you want to see the current directory or command
line arguments.
Make better use of GNU Pth -- patch by Andy Dustman.
I can't test this, so I'm just checking it in with blind faith in Andy.
I've tested that it doesn't broeak a non-Pth build on Linux.
Changes include:
- There's a --with-pth configure option.
- Instead of _GNU_PTH, we test for HAVE_PTH.
- Better signal handling.
- (The config.h.in file is regenerated in a slightly different order.)
Jeremy Hylton [Mon, 18 Sep 2000 22:50:38 +0000 (22:50 +0000)]
Do not close socket when a Content-Length is 0. This make the
interface consistent: The client is responsible for closing the
socket, regardless of the amount of data received.
PyObject_SetAttr() and PyObject_GetAttr() now also accept Unicode
objects for the attribute name. Unicode objects are converted to
a string using the default encoding before trying the lookup.
Note that previously it was allowed to pass arbitrary objects as
attribute name in case the tp_getattro/setattro slots were defined.
This patch fixes this by applying an explicit string check first:
all uses of these slots expect string objects and do not check
for the type resulting in a core dump. The tp_getattro/setattro
are still useful as optimization for lookups using interned
string objects though.
Tim Peters [Mon, 18 Sep 2000 15:34:57 +0000 (15:34 +0000)]
Repaired some glitches in the MD5 and SHA docs; copied the descriptions of
the MD5 methods into the SHA docs (substituting "sha" for "md5", of course,
and changing the stuff that depended on digest size accordingly).
Fred, don't trust me!
sys.setdefaultencoding() should only be called in case the standard
default encoding ("ascii") is changed. This safes quite a few cycles
during startup since the first call to .setdefaultencoding() will
initialize the codec registry and the encodings package.
See python-dev for a discussion (Subject: "[Python-Dev] [comp.lang.python] sys.setdefaultencoding (2.0b1)").
Fred Drake [Sun, 17 Sep 2000 16:09:27 +0000 (16:09 +0000)]
Add invert() and __invert__() as aliases for inv()/__inv__().
Add contains() as alias for __contains__().
Make PyArg_ParseTuple() formats include the function name.
Based on patch by Denis S. Otkidach <ods@users.sourceforge.net>,
this closes SourceForge patch #101390.
Tim Peters [Sun, 17 Sep 2000 14:40:17 +0000 (14:40 +0000)]
Fix for SF bug 110688: Instance deallocation neglected to account for
that Py_INCREF boosts global _Py_RefTotal when Py_REF_DEBUG is defined
but Py_TRACE_REFS isn't.
There are, IMO, way too many preprocessor gimmicks in use for refcount
debugging (at least 3 distinct true/false symbols, but not all 8 combos
are supported by the code, etc etc), and no coherent documentation of
this stuff -- 'twas too painful to track this one down.
Added 'expand_makefile_vars()' to (duh) expand make-style variables
in a string (gives you something to do with the dictionary returned
by 'parse_makefile()').
Pulled the regexes in 'parse_makefile()' out -- they're now globals,
as 'expand_makefile_vars()' needs (two of) them.
Cosmetic tweaks to 'parse_makefile()'.
Added 'read_setup_file()' to read old-style Setup files. Could make life
easier for people porting Makefile.pre.in-based extensions to Distutils.
Also loosened argument-checking in Extension constructor to make life
easier for 'read_setup_file()'.
Tim Peters [Sat, 16 Sep 2000 22:31:29 +0000 (22:31 +0000)]
arraymodule: Fix SF bug 113960.
reverse() didn't work at all due to bad arg check.
Fixed that.
Added Brad Chapman to ACKS file, as the proud new owner of two
implicitly copyrighted lines of Python source code <wink>.
Repaired buffer_info's total lack of arg-checking.
Replaced memmove by memcpy in reverse() guts, as memmove is
often slower and the memory areas are guaranteed disjoint.
Replaced poke-and-hope unchecked decl of tmp buffer size by
assert-checked larger tmp buffer.
Got rid of inconsistent spaces before open paren in docstrings.
Added reverse() sanity tests to test_array.py.
Changed so lines that are all comment (or just whitespace + comment)
are completely skipped, rather than being treated as blank lines
(and then subject to the 'skip_blanks' flag). This allows us
to process old-style Setup files, which rely on
hello \\
# boo!
there
coming out as "hello there".
[change from 2000/08/11, propagating now to distutils copy]
Factored the guts of 'warn()' out to 'gen_error()', and added the
'error()' method (trivial thanks to the refactoring).
[change from 2000/04/17, propagating now to distutils copy]
Dropped the 'collapse_ws' option and replaced it with 'collapse_join' --
it's *much* faster (no 're.sub()') and this is the reason I really added
'collapse_ws', ie. to remove leading whitespace from a line being joined
to the previous line.
Rene Liebscher: if we have to run the same sub-command multiple times
(eg. "bdist_dumb", to generate both ZIP and tar archives in the same
run), tell all but the last run to keep temp files -- this just gets
rid of the need to pseudo-install the same files multiple times.
Generalized 'reinitialize_command()' so it can optionally reinitialize
the command's sub-commands as well (off by default). This is essential if
we want to be be able to run (eg.) "install" twice in one run, as happens
when generating multiple built distributions in one run.
Added the "sub-command" machinery to formalize the notion of "command
families" -- eg. install and its brood, build and its brood, and so forth.
Specifically: added the 'sub_commands' class attribute (empty list, sub-
classes must override it) and a comment describing it, and the
'get_sub_commands()' method.
Factored the "sub-command" machinery out to Command. Mainly, this
meant removing 'get_sub_commands()', and moving the 'sub_commands' class
attribute to the end and restructuring it to conform to the new regime.
Fred Drake [Sat, 16 Sep 2000 14:16:57 +0000 (14:16 +0000)]
Use a really ugly hack that depends on output processing by LaTeX2HTML.
This replaces the tilde character with the string ";SPMtilde;", which
LaTeX2HTML converts to a tilde on output.
Include the Python version in the platform-specific build directories:
with the recent change in 'get_platform()', we now have directory names
like "build/lib-1.5-linux-i586". Idea and original patch by
Rene Liebscher.
Jack Jansen [Fri, 15 Sep 2000 22:44:08 +0000 (22:44 +0000)]
This will eventually evolve into a package that creates CodeWarrior projects from templates (for distutils, and possibly the standard extensions too). For now it generates a correct xml file based on sources/output/expfile, but that is about all.
Jeremy Hylton [Fri, 15 Sep 2000 20:06:57 +0000 (20:06 +0000)]
fix bug #110661 (PR#356) -- accept either & or ; as separator for CGI
query string
also some doc string reformatting and use of string methods instead of
older string.splitfields
Fred Drake [Fri, 15 Sep 2000 15:19:35 +0000 (15:19 +0000)]
Update comments in the second paragraph, discussing versioning issues
related to the BSD DB library. Based on comments from Mark Summerfield
<summer@netcraft.com>.
Jeremy Hylton [Fri, 15 Sep 2000 15:14:51 +0000 (15:14 +0000)]
Fix Bug #114293:
Strings are unpickled by calling eval on the string's repr. This
change makes pickle work like cPickle; it checks if the pickled
string is safe to eval and raises ValueError if it is not.
test suite modifications:
Verify that pickle catches a variety of insecure string pickles
Make test_pickle and test_cpickle use exactly the same test suite
Add test for pickling recursive object