17533 Commits

Author SHA1 Message Date
Tim Peters
cf96de052f SF but #417587: compiler warnings compiling 2.1.
Repaired *some* of the SGI compiler warnings Sjoerd Mullender reported.
2001-04-21 02:46:11 +00:00
Tim Peters
9dfe4cdfa4 Teach Windows about new iterobject.c. 2001-04-20 21:21:28 +00:00
Guido van Rossum
05311481d4 Adding iterobject.[ch], which were accidentally not added. Sorry\! 2001-04-20 21:06:46 +00:00
Guido van Rossum
59d1d2b434 Iterators phase 1. This comprises:
new slot tp_iter in type object, plus new flag Py_TPFLAGS_HAVE_ITER
new C API PyObject_GetIter(), calls tp_iter
new builtin iter(), with two forms: iter(obj), and iter(function, sentinel)
new internal object types iterobject and calliterobject
new exception StopIteration
new opcodes for "for" loops, GET_ITER and FOR_ITER (also supported by dis.py)
new magic number for .pyc files
new special method for instances: __iter__() returns an iterator
iteration over dictionaries: "for x in dict" iterates over the keys
iteration over files: "for x in file" iterates over lines

TODO:

documentation
test suite
decide whether to use a different way to spell iter(function, sentinal)
decide whether "for key in dict" is a good idea
use iterators in map/filter/reduce, min/max, and elsewhere (in/not in?)
speed tuning (make next() a slot tp_next???)
2001-04-20 19:13:02 +00:00
Jeremy Hylton
12e73bb2f0 dispatcher.__repr__() was unprepared to handle the address for a Unix
domain socket.  Fix that and make the error message for failures a
little more helpful by including the class name.
2001-04-20 19:04:55 +00:00
Guido van Rossum
55ad67d74d Oops. Removed dictiter_new decl that wasn't supposed to go in yet. 2001-04-20 16:52:06 +00:00
Guido van Rossum
0dbb4fba4c Implement, test and document "key in dict" and "key not in dict".
I know some people don't like this -- if it's really controversial,
I'll take it out again.  (If it's only Alex Martelli who doesn't like
it, that doesn't count as "real controversial" though. :-)

That's why this is a separate checkin from the iterators stuff I'm
about to check in next.
2001-04-20 16:50:40 +00:00
Tim Peters
78fe5308b4 CVS patch 416248: 2.1c1 unicodeobject: unused vrbl cleanup, from Mark Favas. 2001-04-19 21:55:14 +00:00
Jeremy Hylton
b8a93215c2 Revert previous checkin, which caused test_unicodedata to fail. 2001-04-19 16:43:49 +00:00
Fred Drake
bd7f818c50 Weak*Dictionary: Added docstrings to the classes.
Weak*Dictionary.update():  No longer create a temporary list to hold the
    things that will be stuffed into the underlying dictionary.  This had
    been done so that if any of the objects used as the weakly-held value
    was not weakly-referencable, no updates would take place (TypeError
    would be raised).  With this change, TypeError will still be raised
    but a partial update could occur.  This is more like other .update()
    implementations.

Thoughout, use of the name "ref" as a local variable has been removed.  The
original use of the name occurred when the function to create a weak
reference was called "new"; the overloaded use of the name could be
confusing for someone reading the code.  "ref" used as a variable name
has been replaced with "wr" (for 'weak reference').
2001-04-19 16:26:06 +00:00
Fred Drake
1aec3a16f3 Add versioning notes: many of the signatures changed to allow the time
used to be omitted (meaning use the current time) as of Python 2.1.
Users who need cross-version portability need to know things like this.
2001-04-19 04:55:23 +00:00
Tim Peters
52709e321c Move Windows stuff to 2.2, so CVS builds won't interfere with 2.1
installations.
2001-04-18 21:12:25 +00:00
Fred Drake
bc524c4e9f Cut-&-paste-o noted by Wolfgang Teschner: decompressobj() returns
*DE*compression objects, not compression objects!
2001-04-18 20:16:51 +00:00
Fred Drake
223ac0a498 Remove BrowserControl module; this had been left in for Python 1.5.2
support.
2001-04-18 18:43:34 +00:00
Fred Drake
6e06531d92 Remove legacy support for the BrowserControl module; the webbrowser
module has been included since Python 2.0, and that is the preferred
interface.
2001-04-18 18:42:48 +00:00
Fred Drake
895aa9da4c Suggestion from Keith Briggs: refer to RE objects consistently instead of
introducing a new term ("regex") without defining it.
2001-04-18 17:26:20 +00:00
Martin v. Löwis
da3dc5b892 Patch #416953: Cache ASCII characters to speed up ASCII decoding. 2001-04-18 12:49:15 +00:00
Fred Drake
f3848322ff Sync version number with the current CVS version.
(Note that the docs are also being maintained on the 2.1.1 maintenance
 branch, so users interested only in corrections and clarifications
 can get that.)
2001-04-18 05:22:24 +00:00
Fred Drake
3151f44d49 Add description of the "explanation" optional parameter added to the
\versionadded macro.

Note: this should not be merged into the 2.1 maintenance branch.
2001-04-18 05:19:06 +00:00
Fred Drake
4c6f17a537 Make a number of small clarifications and correct a whole bunch of typos,
all reported by Bruce Smith.
2001-04-18 05:12:47 +00:00
Fred Drake
635a7cfcbb Sync version number with the current CVS version.
(Note that the docs are also being maintained on the 2.1.1 maintenance
 branch, so users interested only in corrections and clarifications
 can get that.)
2001-04-18 05:02:01 +00:00
Guido van Rossum
6db412be44 Bump the version number in more places 2001-04-18 04:37:57 +00:00
Guido van Rossum
879a186348 Change the version to 2.2a0. This may look strange, but indicates
it's 2.2 before the first alpha release.
2001-04-18 04:31:01 +00:00
Barry Warsaw
2720d380e9 update_yourself(): Removed unused local variable reported by
PyChecker.
2001-04-18 03:53:29 +00:00
Barry Warsaw
31c2dae39c __init__(): Removed unused local variable reported by PyChecker. 2001-04-18 03:52:54 +00:00
Barry Warsaw
741eae0b31 StripWidget.__init__(), update_yourself(): Removed some unused local
variables reported by PyChecker.

__togglegentype(): PyChecker accurately reported that the variable
__gentypevar was unused -- actually this whole method is currently
unused so comment it out.
2001-04-18 03:51:55 +00:00
Barry Warsaw
6a5522677a Helpwin.__init__(): Removed an unused local variable (via import)
reported by PyChecker.
2001-04-18 03:50:07 +00:00
Barry Warsaw
cc8a60cdf6 Bump the version to 1.1 2001-04-18 03:49:00 +00:00
Barry Warsaw
6330b52327 There have been a few new Python releases <wink> in the 2 years since
this tool was last touched!  Update some of the introductory material
and bump the version to 1.1.
2001-04-18 03:48:41 +00:00
Fred Drake
293f77af6f Add note about the version in which GetoptError was added -- this can
bite people interested in 1.5.2 compatibility.
2001-04-18 03:18:57 +00:00
Fred Drake
c2b29d0fee Added support for optional explanation parameter to the \versionadded
macro.

Refactored do_cmd_versionadded() and do_cmd_versionchanged() to do most
of the work in a helper function, with the do_cmd_*() wrappers just supplying
a portion of the replacement text.
2001-04-18 03:11:04 +00:00
Fred Drake
fdfb05bb0b \versionadded: Add support for including an explanatory note along with
the versioning information, similar to \versionchanged.
2001-04-18 03:08:54 +00:00
Jeremy Hylton
12b6457e24 Fix compileall.py so that it fails on SyntaxErrors
The changes cause compilation failures in any file in the Python
installation lib directory to cause the install to fail.  It looks
like compileall.py intended to behave this way, but a change to
py_compile.py and a separate bug defeated it.

Fixes SF bug #412436

This change affects the test suite, which contains several files that
contain intentional errors.  The solution is to extend compileall.py
with the ability to skip compilation of selected files.

NB compileall.py is changed so that compile_dir() returns success only
if all recursive calls to compile_dir() also check success.
2001-04-18 01:20:21 +00:00
Jeremy Hylton
3090694068 Fix compileall.py so that it fails on SyntaxErrors
The changes cause compilation failures in any file in the Python
installation lib directory to cause the install to fail.  It looks
like compileall.py intended to behave this way, but a change to
py_compile.py and a separate bug defeated it.

Fixes SF bug #412436

This change affects the test suite, which contains several files that
contain intentional errors.  The solution is to extend compileall.py
with the ability to skip compilation of selected files.

In the test suite, rename nocaret.py and test_future[3..7].py to start
with badsyntax_nocaret.py and badsyntax_future[3..7].py.  Update the
makefile to skip compilation of these files.  Update the tests to use
the name names for imports.

NB compileall.py is changed so that compile_dir() returns success only
if all recursive calls to compile_dir() also check success.
2001-04-18 01:19:28 +00:00
Eric S. Raymond
bc41957d2b Unused variable (caught by PyChecker) removed. 2001-04-17 17:20:19 +00:00
cvs2svn
2fb17ba2fa This commit was manufactured by cvs2svn to create tag 'release21'. v2.1 2001-04-16 18:46:45 +00:00
Guido van Rossum
ffe13be84d Noted what's new in 2.1 (final).
Hopefully this is the last checkin for 2.1!
2001-04-16 18:46:45 +00:00
Jeremy Hylton
5030cf1c2d Fix three PyChecker-detected gotchas.
Import OPT_ symbols from _symtable.
Define has_exec() and has_import_star().
2001-04-16 18:43:18 +00:00
Jeremy Hylton
43454765c2 Export three optimization (fast locals) flags 2001-04-16 18:42:13 +00:00
Tim Peters
dd37dace87 Update Windows installer & buildno for 2.1 final. 2001-04-16 18:20:30 +00:00
Guido van Rossum
a490d5856d In walk(), don't die when os.lstat() raises os.error, e.g. because a
file was deleted by a previous call to the visitor function.

This used to be the behavior in 1.5.2 and before, but a patch to avoid
making two stat() calls accidentally broke this in 2.0.

Moshe, this would be a good one for 2.0.1 too!
2001-04-16 18:12:04 +00:00
Guido van Rossum
95f301fa27 Update the version to 2.1final (again :-). 2001-04-16 17:51:43 +00:00
Fred Drake
a0a4ab1772 Add a test case for Weak*Dictionary.update() that would have caught a
recently reported bug; also exposed some other bugs in the implementation.
2001-04-16 17:37:27 +00:00
Fred Drake
1d9e4b7de3 Weak*Dictionary.update(): Fix calls to [].append() to only have one
parameter.

Weak*Dictionary.get():  Make the second parameter optional.

WeakKeyDictionary.has_key(), .keys():  Make these actually work!
2001-04-16 17:34:48 +00:00
Guido van Rossum
67addfe2a8 Implement Mark Favas's suggestion. There's a clear bug in _group():
its first return statement returns a single value while its caller
always expects it to return a tuple of two items.  Fix this by
returning (s, 0) instead.

This won't make the locale test on Irix succeed, but now it will fail
because of a bug in the platform's en_US locale rather than because of
a bug in the locale module.
2001-04-16 16:04:10 +00:00
Andrew M. Kuchling
1fcd438956 Update document for the actual 2.1rc1 2001-04-16 02:27:53 +00:00
cvs2svn
8c83ec63f5 This commit was manufactured by cvs2svn to create tag 'r21c2'. v2.1c2 2001-04-16 02:07:08 +00:00
Guido van Rossum
16e809e400 This is (hopefully) last checkin before releasing 2.1c2 -- get rid of
trailing whitespace.
2001-04-16 02:07:08 +00:00
Guido van Rossum
5b08f13a0c Added news for 2.1c2.
Greatly updated news for 2.1c1 (!).
2001-04-16 02:05:23 +00:00
Tim Peters
b093166f93 Update Windows installer & build number to 2.1c2 release. 2001-04-16 01:44:08 +00:00