cpython/Lib
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
..
compiler Pop loop off the loop stack before handling the loop's else clause. 2001-04-12 21:54:41 +00:00
curses Bug #412086, reported by Peter Wilson: The _curses module doesn't 2001-04-05 16:08:41 +00:00
distutils Pete Shinners discovered that zipfile.ZipFile() is called with mode 2001-04-14 16:17:00 +00:00
encodings This patch changes the default behaviour of the builtin charmap 2001-01-03 21:29:14 +00:00
idlelib Fixes for Python 1.6 compatibility - socket bind and connect get a 2000-09-24 06:29:50 +00:00
lib-old Fixed syntax error. 2001-02-09 16:34:24 +00:00
lib-tk The lower() and tkraise() methods were calling the Canvas widget 2001-04-10 21:13:06 +00:00
plat-aix3 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-aix4 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-beos5 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-freebsd2 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-freebsd3 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-freebsd4 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-freebsd5 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-generic Use python$EXE instead of python, for Darwin. (Patch by Tony 2000-10-09 19:34:12 +00:00
plat-irix5 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-irix6 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-linux1 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-linux2 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-netbsd1 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-next3
plat-riscos Updated version of RISCOS support. SF patch 411213 by Dietmar Schwertberger 2001-04-10 22:07:43 +00:00
plat-sunos4 The socket constants have been moved to the socket module for a long time; 2001-02-02 02:51:21 +00:00
plat-sunos5 Replace all the platform-specific TERMIOS modules with a portable version 2001-02-27 21:35:40 +00:00
plat-unixware7 SOCKET.py and TERMIOS.py are no longer used in this release. 2001-04-11 23:43:09 +00:00
site-packages
test Implement, test and document "key in dict" and "key not in dict". 2001-04-20 16:50:40 +00:00
xml Corrected default value of the DocumentType.internalSubset attribute based 2001-04-05 14:41:30 +00:00
BaseHTTPServer.py Correction to test main. 2001-02-09 05:38:46 +00:00
Bastion.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
CGIHTTPServer.py Eliminate use of string.whitespace and a string import with it. 2001-02-09 12:10:26 +00:00
ConfigParser.py Make sure ConfigParser uses .optionxform() consistently; this affects 2001-02-26 21:55:34 +00:00
Cookie.py Since this module already uses doctest-style examples, I figured I'd 2001-04-06 19:39:11 +00:00
MimeWriter.py String method conversion. 2001-02-09 09:39:08 +00:00
Queue.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
SimpleHTTPServer.py Correction after translation test. 2001-02-09 10:26:06 +00:00
SocketServer.py Add a close_request method to the BaseServer so that the TCPServer class 2001-04-11 04:02:05 +00:00
StringIO.py Remove silly EMPTYSTRING global. Saves a global lookup. 2001-02-09 13:37:37 +00:00
TERMIOS.py No need to call filterwarnings() to suppress further warnings from this 2001-02-27 21:51:47 +00:00
UserDict.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
UserList.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
UserString.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
__future__.py Remove redundant "__future__:" from module docstring. 2001-03-15 10:45:44 +00:00
aifc.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
anydbm.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
asynchat.py Fix from the Madusa mailing list: 2001-04-08 07:23:44 +00:00
asyncore.py dispatcher.__repr__() was unprepared to handle the address for a Unix 2001-04-20 19:04:55 +00:00
atexit.py Bug #128475: mimetools.encode (sometimes) fails when called from a thread. 2001-01-21 03:40:37 +00:00
audiodev.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
base64.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
bdb.py Make it clear that a bdb subclass must implement do_clear(). 2001-04-08 15:05:16 +00:00
binhex.py String method cleanup. 2001-02-10 00:06:00 +00:00
bisect.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
builtin.py
calendar.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
cgi.py Add a whole lot of stuff to __all__. 2001-03-19 13:40:44 +00:00
chunk.py Fix typo in attribute name (chunk_size should be chunksize) found by 2001-04-15 12:40:13 +00:00
cmd.py This is SF patch #405952, by Anthony Baxter: 2001-03-22 21:59:20 +00:00
code.py String method conversion. 2001-02-09 08:56:30 +00:00
codecs.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
codeop.py Remove useless imports, as reported by PyChecker. 2001-04-08 00:43:13 +00:00
colorsys.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
commands.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
compileall.py Fix compileall.py so that it fails on SyntaxErrors 2001-04-18 01:20:21 +00:00
copy.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
copy_reg.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
dbhash.py fail more completely by deleting dbhash from sys.modules if bsddb can't be 2001-01-25 13:47:00 +00:00
difflib.py Improve accuracy. In the .tex file, note the new "% BUG:" comments: an 2001-02-20 11:24:35 +00:00
dircache.py Whitespace normalization. 2001-03-16 08:29:48 +00:00
dis.py Iterators phase 1. This comprises: 2001-04-20 19:13:02 +00:00
doctest.py Changed doctest to run tests in alphabetic order of name. 2001-03-21 23:07:59 +00:00
dospath.py more __all__ updates 2001-01-20 23:34:12 +00:00
dumbdbm.py RISCOS changes by dschwertberger. 2001-03-02 06:43:49 +00:00
filecmp.py more __all__ updates 2001-01-20 23:34:12 +00:00
fileinput.py more __all__ updates 2001-01-20 23:34:12 +00:00
fnmatch.py Donovan Baarda <abo@users.sourceforge.net>: 2001-03-21 18:05:48 +00:00
formatter.py String method conversion. 2001-02-09 11:10:16 +00:00
fpformat.py more __all__ updates 2001-01-20 23:34:12 +00:00
ftplib.py remove global decl about unused variable 2001-04-09 04:31:50 +00:00
getopt.py more __all__ updates 2001-01-20 23:34:12 +00:00
getpass.py Get the needed constants from termios, not TERMIOS. 2001-02-27 21:23:31 +00:00
gettext.py added a few more __all__ lists 2001-01-23 15:35:05 +00:00
glob.py more __all__ updates 2001-01-20 23:34:12 +00:00
gopherlib.py String method conversion. 2001-02-09 10:10:02 +00:00
gzip.py Bug #409419: delete seek() and tell() methods, so callers can use getattr() 2001-03-20 15:51:14 +00:00
htmlentitydefs.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
htmllib.py String method conversion. 2001-02-09 08:25:29 +00:00
httplib.py SF patch #405845 by Martin von Löwis 2001-04-13 14:57:08 +00:00
ihooks.py String method conversion. 2001-02-09 10:18:37 +00:00
imaplib.py Fix previous checkin, hopelessly broken as it was; reported by Detlef Lannert. 2001-02-22 13:24:27 +00:00
imghdr.py a few more modules get __all__ 2001-01-24 06:27:27 +00:00
imputil.py Add an uninstall method to the ImportManager. 2001-04-07 16:05:24 +00:00
inspect.py Clean up isroutine(). 2001-04-13 14:04:02 +00:00
keyword.py String method conversion. 2001-02-09 09:10:35 +00:00
knee.py String method conversion. 2001-02-09 09:48:45 +00:00
linecache.py a few more modules get __all__ 2001-01-24 06:27:27 +00:00
locale.py Implement Mark Favas's suggestion. There's a clear bug in _group(): 2001-04-16 16:04:10 +00:00
macpath.py a few more modules get __all__ 2001-01-24 06:27:27 +00:00
macstat.py
macurl2path.py String method conversion. 2001-02-09 09:48:45 +00:00
mailbox.py Get rid of the seek() method on the _Mailbox class. This was a 2001-04-15 13:32:27 +00:00
mailcap.py String method conversion. 2001-02-09 10:23:55 +00:00
mhlib.py String method cleanup. 2001-02-10 00:22:33 +00:00
mimetools.py Do not hide a failure to create a temporary file; if it fails the work 2001-02-23 20:04:54 +00:00
mimetypes.py String method conversion. Added a trivial main to test it with. 2001-02-09 09:44:47 +00:00
mimify.py Fix an unqualified except:. 2001-04-10 15:42:02 +00:00
multifile.py Multifile.read(): Fix a broken conversion to string methods. 2001-03-12 02:56:15 +00:00
mutex.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
netrc.py Fix typo in attribute name (file should be filename) found by 2001-04-15 12:51:42 +00:00
nntplib.py String method conversion. 2001-02-09 07:02:17 +00:00
ntpath.py added several more __all__ lists 2001-02-06 01:07:02 +00:00
nturl2path.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
os.py Unify _Environ processing on riscos with other platforms. 2001-03-07 09:05:45 +00:00
pdb.doc
pdb.py SF bug #131560: pdb imports 'repr', causing name collision 2001-02-09 23:28:07 +00:00
persist.py
pickle.py test_pickle works on sizeof(long)==8 boxes again. 2001-04-10 05:02:52 +00:00
pipes.py a few more __all__ lists 2001-02-07 23:14:30 +00:00
popen2.py Whitespace normalization. 2001-02-09 20:06:00 +00:00
poplib.py __all__ for several more modules 2001-02-12 02:00:42 +00:00
posixfile.py Fix two unqualified except: clauses. 2001-04-10 15:44:33 +00:00
posixpath.py In walk(), don't die when os.lstat() raises os.error, e.g. because a 2001-04-16 18:12:04 +00:00
pprint.py __all__ for several more modules 2001-02-12 02:00:42 +00:00
pre.py Make docstrings raw, since they contain literal backslashes. 2001-03-10 09:33:14 +00:00
profile.doc
profile.py Add doc string for run from profile.doc. (pydoc motivates me to write 2001-03-14 20:01:19 +00:00
pstats.py Should resolve [ #416039 ] pstats browser crashes. 2001-04-14 15:16:05 +00:00
pty.py __all__ for several more modules 2001-02-12 02:00:42 +00:00
py_compile.py __all__ for several more modules 2001-02-12 02:00:42 +00:00
pyclbr.py __all__ for several more modules 2001-02-12 02:00:42 +00:00
pydoc.py One-character style change to appease Netscape stylesheets. 2001-04-13 15:04:32 +00:00
quopri.py Strip \r as trailing whitespace as part of soft line endings. 2001-03-22 22:30:21 +00:00
random.py Whitespace normalization. 2001-02-15 23:56:39 +00:00
re.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
reconvert.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
regex_syntax.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
regsub.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
repr.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
rexec.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
rfc822.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
rlcompleter.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
robotparser.py Whitespace normalization. 2001-02-15 23:56:39 +00:00
sched.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
sgmllib.py Fix typo in exception name (SGMLParserError should be SGMLParseError) 2001-04-15 13:01:41 +00:00
shelve.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
shlex.py Unused variable (caught by PyChecker) removed. 2001-04-17 17:20:19 +00:00
shutil.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
site.py Two minor changes for better Jython compatibility. Finn Bock says: 2001-03-23 17:53:49 +00:00
smtpd.py Fix typo in exception name (UnimplementedError should be 2001-04-15 13:06:04 +00:00
smtplib.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
sndhdr.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
socket.py Whitespace normalization. 2001-03-29 04:36:09 +00:00
sre.py sre 2.1b2 update: 2001-03-22 15:50:10 +00:00
sre_compile.py sre 2.1b2 update: 2001-03-22 15:50:10 +00:00
sre_constants.py sre 2.1b2 update: 2001-03-22 15:50:10 +00:00
sre_parse.py sre 2.1b2 update: 2001-03-22 15:50:10 +00:00
stat.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
statcache.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
statvfs.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
string.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
stringold.py Nuke accurate but confusing and unhelpful comments about split vs splitfields. 2001-02-09 20:18:41 +00:00
sunau.py Whitespace normalization. 2001-01-15 01:36:40 +00:00
sunaudio.py Whitespace normalization. 2001-01-15 01:36:40 +00:00
symbol.py Update for augmented assignment. 2000-08-24 21:08:39 +00:00
symtable.py Fix three PyChecker-detected gotchas. 2001-04-16 18:43:18 +00:00
tabnanny.py Get rid of useless string import, as reported by Neal Norwitz's PyChecker.py 2001-04-08 00:38:42 +00:00
telnetlib.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
tempfile.py Search /tmp before /var/tmp and /usr/tmp -- this seems preferred. 2001-03-02 05:51:16 +00:00
threading.py SF bug [#410708] Condition.wait() and KeyboardInterrupt. 2001-04-02 20:15:57 +00:00
toaiff.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
token.py String method cleanup. 2001-02-10 00:22:33 +00:00
tokenize.py Provide a StopTokenizing exception for conveniently exiting the loop. 2001-03-23 05:22:49 +00:00
traceback.py Whitespace normalization. 2001-03-29 04:36:09 +00:00
tty.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
types.py
tzparse.py Add a deprecation warning to this module. 2001-03-20 18:36:48 +00:00
unittest.py - Typo in message for TestCase.failIfEqual() 2001-04-15 09:18:32 +00:00
urllib.py Fix SF bug [ #416231 ] urllib.basejoin fails to apply some ../. 2001-04-15 20:47:33 +00:00
urllib2.py Fix typo (missing "req." prefix on error_302_dict) found by Neil 2001-04-15 13:08:01 +00:00
urlparse.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
user.py
uu.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
warnings.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
wave.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
weakref.py Weak*Dictionary: Added docstrings to the classes. 2001-04-19 16:26:06 +00:00
webbrowser.py _synthesize(): Helper function: when the users passes a specific 2001-04-12 22:07:27 +00:00
whichdb.py Whitespace normalization. 2001-03-16 08:29:48 +00:00
whrandom.py Whitespace normalization. Top level of Lib now fixed-point for reindent.py! 2001-01-15 03:34:38 +00:00
xdrlib.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
xmllib.py Moved clearing of "literal" flag. The flag is set in setliteral which 2001-03-14 17:03:30 +00:00
zipfile.py Mark Favas points out that there's an 'self.fp.flush()' call in the 2001-04-14 16:45:14 +00:00