Fred Drake [Thu, 17 Jul 2003 15:22:47 +0000 (15:22 +0000)]
- remove mention of the isprivate flag, since that isn't directly
documented here, and according to Tim, should never have been there
- misc. cleanups for consistency
Fred Drake [Thu, 17 Jul 2003 05:26:53 +0000 (05:26 +0000)]
- improve the description of how user-defined method
objects get made
- improve the description of attribute retrieval from
classes and class instances
- add brief documentation of static method and
class method objects.
expose the C API subsection which was hidden from LaTeX in a comment. In
the info conversion the \comment LaTeX macro mapped to a Texinfo @ignore
macro. Unfortunately, py2texi.el is not smart enough to avoid generating
links to the @ignore'd section, which causes makeinfo to croak.
Exposing this text is probably not the most correct thing to do, as this
documentation really belongs in the C API manual. This does get the info
files generated, however, which is a more practical goal considering the
impending release of 2.3rc1.
Doctest now examines all docstrings by default. Previously, it would
skip over functions with private names (as indicated by the underscore
naming convention). The old default created too much of a risk that
user tests were being skipped inadvertently. Note, this change could
break code in the unlikely case that someone had intentionally put
failing tests in the docstrings of private functions. The breakage
is easily fixable by specifying the old behavior when calling testmod()
or Tester(). The more likely case is that the silent failure was
unintended and that the user needed to be informed so the test could be
fixed.
Fred Drake [Wed, 16 Jul 2003 16:19:08 +0000 (16:19 +0000)]
Remove \versionchanged; the text was too complex for the GNU info
conversion to support. Keep the content as normal content, with a
note that this applies starting in Python 2.3.
Jeremy Hylton [Wed, 16 Jul 2003 16:08:23 +0000 (16:08 +0000)]
Remove unnecessary check in tests for slots allowed.
The !PyType_Check(base) check snuck in as part of rev 2.215, but was
unrelated to the SF patch that is mentioned in the checkin comment.
The test is currently unnecessary because base is set to the return
value of best_bases(), which returns a type or NULL.
Exercise Jim Fulton's new doctest extension for running doctests in a
unittest environment. Since his extension finds docstrings in private
functions, it exposed a bug in the difflib doctests.
Fred Drake [Wed, 16 Jul 2003 03:26:31 +0000 (03:26 +0000)]
In the description of enumerate(), the indexing operators should not
be included in the \var. This produced weird results in general, but
broke the GNU info conversion.
Kurt B. Kaiser [Wed, 16 Jul 2003 03:10:43 +0000 (03:10 +0000)]
Update to reflect the current status of the configuration system.
Extensions must still be configured manually and there is currently one
set of extension key bindings for all platforms.
Bring NEWS.txt up to date.
Update CREDITS.txt and idlever.py for release.
M NEWS.txt
M config-extensions.def
M extend.txt
M help.txt
M idlever.py
Mark Hammond [Tue, 15 Jul 2003 23:03:55 +0000 (23:03 +0000)]
Fix [ 771097 ] frozen programs fail due to implicit import of "warnings".
If the initial import of warnings fails, clear the error. When the module
is actually needed, if the original import failed, see if it has managed
to find its way to sys.modules yet and if so, remember it.
Jeremy Hylton [Tue, 15 Jul 2003 20:23:26 +0000 (20:23 +0000)]
SF patch 763201: handling of SyntaxErrors in symbol table build
Fixes for three related bugs, including errors that caused a script to
be ignored without printing an error message. The key problem was a bad
interaction between syntax warnings and syntax errors. If an
exception was already set when a warning was issued, the warning could
clobber the exception.
The PyErr_Occurred() check in issue_warning() isn't entirely
satisfying (the caller should know whether there was already an
error), but a better solution isn't immediately obvious.
Fred Drake [Mon, 14 Jul 2003 21:46:23 +0000 (21:46 +0000)]
Remove proxy_print(), since that caused an inconsistency between
"print repr(proxy(a))" and "proxy(a)" at an interactive prompt.
Closes SF bug #722763.
Andrew MacIntyre [Sun, 13 Jul 2003 13:41:59 +0000 (13:41 +0000)]
More pre-2.3 build tweaks for the OS/2 EMX port:
- separate the building of the core from the wrapper executables and the
external modules (.PYDs), based on the Py_BUILD_CORE define;
- clean up the generated import library definiton (.DEF file) to remove
references to a number of non-static symbols that aren't part of the
Python API and which shouldn't be exported by the core DLL;
- compile the release build with -fomit-frame-pointer, for a small
performance gain;
- make "make clean" remove byte compiled Python library files.
* It ran fine under "python regrtest.py test_warnings" but failed under
"python regrtest.py" presumably because other tests would add to
filtered warnings and not reset them at the end of the test.
* Converted to a unittest format for better control. Renamed
monkey() and unmonkey() to setUp() and tearDown().
* Increased coverage by testing all warnings in __builtin__.
* Increased coverage by testing regex matching of specific messages.
This test failed on WindowsME because the full file path did not get
reported consistently with the *nix world. 'Lib/test/test_warnings.py'
came out as 'lib\test\test_warnings.py'. The basename is all we care
about so I used that.
Tim Peters [Sun, 13 Jul 2003 02:22:03 +0000 (02:22 +0000)]
Fixed critical shutdown race in _Database._commit.
Related to SF patch 723231 (which pointed out the problem, but didn't
fix it, just shut up the warning msg -- which was pointing out a dead-
serious bug!).
Tim Peters [Sat, 12 Jul 2003 20:11:25 +0000 (20:11 +0000)]
There's a persistent rumor on the spambayes mailing list that dumbdbm
databases are associated with corruption problems, so I studied this code
carefully and ran some brutal stress tests. I didn't find any bugs,
although it's unclear whether this code *intends* that __setitem__ can
leave the directory file out of synch with the data file (so
if a dumbdbm isn't properly closed, and the value of an existing key
was ever replaced, corruption is almost certain, where "corruption"
means the directory file is out of synch with the data file).
Added many comments and generally modernized the code. Examples of the
latter: we have better ways of reading a whole file line-by-line now;
eval() now tolerates a trailing newline; the %r format code can be used
to avoid explicit repr/backtick calls; and the code often broke tuples
into their components when it was clearer and faster to just leave them
as tuples.