Tim Peters [Fri, 23 Feb 2001 22:23:53 +0000 (22:23 +0000)]
Shuffle premature decref; nuke unreachable code block.
Fixes the "debug-build -O test_builtin.py and no test_b2.pyo" crash just
discussed on Python-Dev.
Jack Jansen [Fri, 23 Feb 2001 22:13:07 +0000 (22:13 +0000)]
Turn on the "multifinder aware" bit. This should always have been on, but was was never a problem that it was off until CarbonLib 1.1 (which requires it, for some reason).
Fred Drake [Fri, 23 Feb 2001 20:04:54 +0000 (20:04 +0000)]
Do not hide a failure to create a temporary file; if it fails the work
will not have been done, and applications need to know that. Also, do
not print a message about it; the exception is the right thing.
Jeremy Hylton [Fri, 23 Feb 2001 17:55:27 +0000 (17:55 +0000)]
Fix for bug 133489: compiler leaks memory
Two different but related problems:
1. PySymtable_Free() must explicitly DECREF(st->st_cur), which should
always point to the global symtable entry. This entry is setup by the
first enter_scope() call, but there is never a corresponding
exit_scope() call.
Since each entry has a reference to scopes defined within it, the
missing DECREF caused all symtable entries to be leaked.
2. The leak here masked a separate problem with
PySymtableEntry_New(). When the requested entry was found in
st->st_symbols, the entry was returned without doing an INCREF.
And problem c) The ste_children slot was getting two copies of each
child entry, because it was populating the slot on the first and
second passes. Now only populate on the first pass.
Barry Warsaw [Fri, 23 Feb 2001 16:46:39 +0000 (16:46 +0000)]
Py_Main(): When compiled by Insure (i.e. __INSURE__ is defined), call
the internal API function to release the interned strings as the very
last thing before returning status. This aids in memory use debugging
because it eliminates a huge source of noise from the reports. This
is never called during normal (non-debugging) use because releasing
the interned strings slows Python's shutdown and isn't necessary
anyway because the system will always reclaim the memory.
Barry Warsaw [Fri, 23 Feb 2001 16:40:48 +0000 (16:40 +0000)]
_Py_ReleaseInternedStrings(): Private API function to decref and
release the interned string dictionary. This is useful for memory
use debugging because it eliminates a huge source of noise from the
reports. Only defined when INTERN_STRINGS is defined.
Patch #103899: Don't compile modules configured in Setup. This seems much
simpler than adding a bazillion switches, but means that the makesetup
method probably can't ever go away completely. Oh well...
Guido van Rossum [Thu, 22 Feb 2001 22:18:04 +0000 (22:18 +0000)]
In try_3way_to_rich_compare(), swap the call to default_3way_compare()
and the test for errors, so that an error in the default compare
doesn't go undetected. This fixes SF Bug #132933 (submitted by
effbot) -- list.sort doesn't detect comparision errors.
Remove soundex module, as stated by GvR.
(Fred, I'll leave the doc changes to you, because I don't know if you
want to delete libsoundex.tex or leave it in.
Someone else will have to tweak PC/os2vacpp/{config.c,makefile} and
PCbuild/pythoncore.dsp, both of which refer to soundex.c)
Tim Peters [Wed, 21 Feb 2001 03:22:39 +0000 (03:22 +0000)]
Bug #133297: cmath.asin is the same as cmath.asinh.
The bug report title isn't correct, but was on the right track.
Rev 2.13 applied a patch intended to improve asinh and acosh, but the
author mistakenly replaced the body of asin with their new code for asinh.
See bug report for all the gory details.
This patch: (a) puts the "new" (as of 2.13) asinh code into the asinh
function; and, (b) repairs asin via what Abramowitz & Stegun say it should
be (which is probably the same as what 2.12 did for asin, although I got
tired of matching parentheses before being 100% sure of that -- and I don't
care! The source of the old code is a mystery, and I *know* why I picked
the new code.).
Patch #103373 from Donovan Baarda: This patch:
* fixes the zlib decompress sync flush bug as reported in bug #124981
* avoids repeat calls to (in|de)flateEnd when destroying (de)compression
objects
* raises exception when allocating unused_data fails
* fixes memory leak when allocating unused_data fails
* raises exception when allocating decompress data fails
* removes vestigial code from decompress flush now that decompression
returns all available data
* tidies code so object compress/decompress/flush routines are consistent
Patch #103854: raises an exception if a non-Attr node is passed to
NamedNodeMap.setNamedItem(). Martin, should I sync the PyXML tree, too,
or do you want to do it? (I don't know if you're wrapping the 0.6.4
release right now.)
Jack Jansen [Tue, 20 Feb 2001 22:27:43 +0000 (22:27 +0000)]
On OSX passing NULL to NewUniversalFilterProc() does not return NULL but a crashing UPP. This made ModalDialog (and, hence EditPythonPrefs and EasyDialogs and many others) crash. Fixed.
Patch #103473 from dougfort: Some sites (amazon.com for one) drop
cookies that contain '=' as part of the value. This patch modifies
Cookie.py to allow '=' as a legal character, and to make the key
search nongreedy so it stops at the first '='.
Guido van Rossum [Tue, 20 Feb 2001 21:43:24 +0000 (21:43 +0000)]
The code in PyImport_Import() tried to save itself a bit of work and
save the __builtin__ module in a static variable. But this doesn't
work across Py_Finalise()/Py_Initialize()! It also doesn't work when
using multiple interpreter states created with PyInterpreterState_New().
So I'm ripping out this small optimization.
This was probably broken since PyImport_Import() was introduced in
1997! We really need a better test suite for multiple interpreter
states and repeatedly initializing.
This fixes the problems Barry reported in Demo/embed/loop.c.
Tim Peters [Tue, 20 Feb 2001 10:02:21 +0000 (10:02 +0000)]
Flesh out PlaySound() docs enough so that SND_ALIAS isn't hopelessly confusing.
If someone knows how to turn the new table of guaranteed-registered system
sounds into a LaTeX table, be my guest.
Fred Drake [Mon, 19 Feb 2001 19:18:09 +0000 (19:18 +0000)]
Add an option allowing the user to determine where the output HTML is built.
Provide a way to set the paper size by name instead of only supporting
separate options for each size.
Guido van Rossum [Mon, 19 Feb 2001 18:39:09 +0000 (18:39 +0000)]
SF Patch # 103839 byt dougfort: Allow ';' in attributes
sgmllib does not recognize HTML attributes containing the semicolon
';' character. This may be in accordance with the HTML spec, but there
are sites that use it (excite.com) and the browsers I regularly use
(IE5, Netscape, Opera) all handle it. Doug Fort Downright Software LLC
Neil Schemenauer [Mon, 19 Feb 2001 18:17:33 +0000 (18:17 +0000)]
Revert SF patch #103655. Martin Löwis says:
-shared does the following things:
- invoke the linker with -G -dy -z text (the latter only if
-mimpure-text was not given)
- drop crt1.o from the list of objects being linked
- drop -lc from the list of libraries being linked
OTOH, -G is just passed through to the linker.
The things that -shared does are necessary: crt1.o defines _start, and
requires main, so it should not be present in a shared library.
Likewise, -z text should be used to detect position-dependent code at
compile time.
Thomas Heller [Mon, 19 Feb 2001 17:48:03 +0000 (17:48 +0000)]
Checked in with Andrew's blessing, I leave the comments with which
this was posted to distutils-sig in.
Here is what I've hacked together over some spare time
at the weekend. I would appreciate feedback, as I've told
before I'm neither a great author, nor native english speaker,
nor anything else.
Mostly I've completed (and written) docs for bdist_wininst
(where I'm an experert for), also I've started some stuff
for the data_files and scripts option.
Should I continue in this way? Would others like to jump in?
Jeremy Hylton [Mon, 19 Feb 2001 15:50:51 +0000 (15:50 +0000)]
When running python -O, do not include blocks defined in asserts in
the symbol table pass. These blocks were already ignored by the code
gen pass. Both passes must visit the same set of blocks in the same
order.
Fred Drake [Mon, 19 Feb 2001 14:57:02 +0000 (14:57 +0000)]
DOMException._get_code():
New method; this is the "alternate" access to the exception code.
(Useful for Python DOM implementations that support the accessor
method approach to retrieving attribute values.)
Thomas Heller [Mon, 19 Feb 2001 09:20:30 +0000 (09:20 +0000)]
Enhancements to the bdist_wininst command:
--bitmap command line option allows to use a different bitmap file instead
of the build-in python powered logo.
--title lets you specify the text to display on the background.
The editbox in the first screen now longer is
selected (highlighted), it had the WS_TABSTOP flag.
This is the patch
http://sourceforge.net/patch/?func=detailpatch&patch_id=103687&group_id=5470
with two changes:
1. No messagebox displayed when the compilation to .pyc or .pyo files
failes, this will only confuse the user (and it will fail under certain
cases, where sys.path contains garbage).
2. A debugging print statement was removed from bdist_wininst.py.
This patch makes the default compiler determination more flexible
and also takes the sys.platform name into account. This helps on
platforms where there are multiple possible compiler backends (the
one with which Python itself was compiled is preferred over others
in this case).
The patch uses this new technique to enable using cygwin compiler
per default for cygwin compiled Pythons.
Written by Marc-Andre Lemburg. Copyright assigned to Guido van Rossum.
Tim Peters [Mon, 19 Feb 2001 07:06:36 +0000 (07:06 +0000)]
Take a tour of hell's seedier neighborhoods to try to make winsound.Beep()
do something non-useless on Win9X boxes. WinME unknown to me. Someone with
NT/2000 make sure it still works there!
Neil Schemenauer [Mon, 19 Feb 2001 04:47:42 +0000 (04:47 +0000)]
Use -G option for linking shared libraries on Solaris (SF patch #103656).
Compile shared object files using -fPIC option when using GCC on Solaris (SF
patch #103865). Closes bug #132783. Move config.c generated by makesetup to
the Modules directory.