cpython/Lib
Raymond Hettinger ef9bf4031a Tidied up the implementations of reversed (including the custom ones
for xrange and list objects).

* list.__reversed__ now checks the length of the sequence object before
  calling PyList_GET_ITEM() because the mutable could have changed length.

* all three implementations are now tranparent with respect to length and
  maintain the invariant len(it) == len(list(it)) even when the underlying
  sequence mutates.

* __builtin__.reversed() now frees the underlying sequence as soon
  as the iterator is exhausted.

* the code paths were rearranged so that the most common paths
  do not require a jump.
2004-03-10 10:10:42 +00:00
..
bsddb Fixes SF bug # 778421 2004-02-26 10:07:14 +00:00
compiler Fix SF bug [ 788011 ] compiler.compileFile fails on csv.py 2003-08-28 02:09:26 +00:00
curses Modernize code a bit: use isinstance instead of type(); return True/False 2003-09-02 11:52:06 +00:00
distutils Make _spawn_posix be ready for EINTR. waitpid(2) can be interrupted 2004-02-24 23:54:17 +00:00
email Add CJK codecs support as discussed on python-dev. (SF #873597) 2004-01-17 14:29:29 +00:00
encodings Fix wrong character mapping in koi8_u: SF bug #902501. 2004-02-23 09:00:43 +00:00
hotshot Move testing code into "if __name__ == '__main__'" so it's not run on import. 2003-03-28 16:28:48 +00:00
idlelib Add a highlight theme for builtin keywords. Python Patch 805830 Nigel Rowe 2004-03-08 18:15:31 +00:00
lib-old
lib-tk Implementation of patch 869468 2004-02-18 05:59:53 +00:00
logging Removed spurious import statement 2004-03-08 16:57:19 +00:00
plat-aix3
plat-aix4
plat-atheos
plat-beos5
plat-darwin These were somehow never added to CVS. 2002-12-30 22:14:35 +00:00
plat-freebsd2
plat-freebsd3
plat-freebsd4
plat-freebsd5
plat-generic
plat-irix5 Fixed invalid syntax. 2004-03-03 16:34:31 +00:00
plat-irix6 Fixed invalid syntax. 2004-03-03 16:34:31 +00:00
plat-linux2 Regenerate. Fixes #618012. 2002-11-23 12:09:28 +00:00
plat-mac getDefaultDatabase() should be a toplevel function, not a method of the 2004-02-28 23:18:43 +00:00
plat-netbsd1
plat-next3
plat-os2emx EMX lacks an implementation of link(). As Mailman wants os.link() to 2003-12-02 12:31:09 +00:00
plat-riscos Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
plat-sunos5
plat-unixware7
site-packages
test Tidied up the implementations of reversed (including the custom ones 2004-03-10 10:10:42 +00:00
xml Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
BaseHTTPServer.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
Bastion.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
CGIHTTPServer.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
ConfigParser.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
Cookie.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
DocXMLRPCServer.py Patch #727805: Remove extra line ending from CGI responses. 2003-05-01 05:05:09 +00:00
FCNTL.py
HTMLParser.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
MimeWriter.py
Queue.py * Move collections.deque() in from the sandbox 2004-01-29 06:37:52 +00:00
SimpleHTTPServer.py Let library modules use the new keyword arguments for list.sort(). 2003-10-16 05:53:16 +00:00
SimpleXMLRPCServer.py SF patch #834015: Remove imports of unused modules 2003-11-02 09:47:05 +00:00
SocketServer.py TCPServer: Fixed typo in class docstring. 2003-10-09 23:48:52 +00:00
StringIO.py SF patch #907403: Improvements to cStringIO.writelines() 2004-03-08 18:17:31 +00:00
TERMIOS.py
UserDict.py SF #904720: dict.update should take a 2-tuple sequence like dict.__init_ 2004-03-04 08:25:44 +00:00
UserList.py Guido grants a Christmas wish: 2003-12-17 20:43:33 +00:00
UserString.py Add rsplit method for UserString, too. 2003-12-15 19:46:09 +00:00
__future__.py
__phello__.foo.py
_strptime.py Deal with possible case of having time.tzname[1] containing UTC or GMT. 2004-03-07 23:16:27 +00:00
aifc.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
anydbm.py
asynchat.py Replace left(), right(), and __reversed__() with the more general purpose 2004-03-01 23:16:22 +00:00
asyncore.py SF bug #892492: Multiple close() for asyncore.dispatcher. 2004-02-08 11:32:50 +00:00
atexit.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
audiodev.py
base64.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
bdb.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
binhex.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
bisect.py SF Patch #864863: Bisect C implementation 2004-01-05 10:13:35 +00:00
calendar.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
cgi.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
cgitb.py Whitespace normalization. 2003-06-29 05:46:54 +00:00
chunk.py
cmd.py Add docstring 2003-10-22 14:38:54 +00:00
code.py - Finally fixed the bug in compile() and exec where a string ending 2003-02-13 22:07:59 +00:00
codecs.py Ignore sizehint argument. Fixes SF #844561. 2004-02-26 15:22:17 +00:00
codeop.py Fix typo fix. 2003-11-20 13:38:01 +00:00
colorsys.py
commands.py
compileall.py Fix typo in docstring: The switch is '-x', not '-s'. 2003-08-27 20:19:35 +00:00
copy.py Refactor the copy dispatcher code in copy.py. Simplifies and shortens 2004-03-08 05:59:33 +00:00
copy_reg.py Revert previous checkin and just add a comment about constructor_ob. 2003-06-27 16:58:43 +00:00
csv.py Make the fieldnames argument optional in the DictReader. If self.fieldnames 2003-10-03 14:03:01 +00:00
dbhash.py typo 2003-05-05 14:16:41 +00:00
difflib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
dircache.py Patch #707167: Pass dircache exceptions to the caller. Fixes #682813. 2003-09-20 15:52:21 +00:00
dis.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
doctest.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
dumbdbm.py Give dumbdbm a sync() method which Shelve can call. Should solve some 2003-07-14 12:15:15 +00:00
dummy_thread.py Cause calling interrupt_main in main thread raise KeyboardInterrupt instantly. 2003-06-13 23:56:32 +00:00
dummy_threading.py Brett Cannon's dummy_thread and dummy_threading modules (SF patch 2002-12-30 22:30:22 +00:00
filecmp.py SF bug #453515: filecmp.dircmp case sensitivity bug 2003-09-02 05:42:02 +00:00
fileinput.py Test that chmod() actually exists before calling it (it doesn't on MacOS9). 2003-01-08 16:33:16 +00:00
fnmatch.py SF patch #765238: fix fnmatch.__all__ 2003-07-13 16:06:26 +00:00
formatter.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
fpformat.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
ftplib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
getopt.py A few naughty external scripts do 'raise getopt.error, "blah"', and 2003-02-06 19:52:56 +00:00
getpass.py Fix SF #640094, on win32 getpass runs into unix_getpass 2002-11-20 23:15:54 +00:00
gettext.py GNUTranslations._parse(): Initialize local variable k so that if the 2003-10-04 02:28:31 +00:00
glob.py
gopherlib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
gzip.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
hmac.py
htmlentitydefs.py Add two dictionaries to htmlentitydefs: name2codepoint maps 2003-04-16 09:46:13 +00:00
htmllib.py Docstring fix: XHTML 1.0 entities are supported 2003-10-27 15:47:48 +00:00
httplib.py Whitespace normalization. 2004-01-18 20:29:55 +00:00
ihooks.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
imaplib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
imghdr.py
imputil.py
inspect.py Apply extract functions instead of lambda. 2003-12-01 20:12:15 +00:00
keyword.py SF patch #852140: keyword.py - use __contains__ and bool 2003-12-02 07:48:15 +00:00
linecache.py Whitespace normalization. 2003-06-29 16:59:43 +00:00
locale.py Support '' as the argument for the setlocale emulation. Fixes #678259. 2003-03-30 15:42:13 +00:00
macpath.py Getting rid of macfs. 2003-02-27 23:18:46 +00:00
macurl2path.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
mailbox.py Lists work better when popping from the right. 2004-02-07 02:16:24 +00:00
mailcap.py
markupbase.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
mhlib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
mimetools.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
mimetypes.py Remove self from the arguments for the function add_type(). 2003-12-19 18:15:10 +00:00
mimify.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
modulefinder.py Fix typo. 2004-02-15 16:43:20 +00:00
multifile.py Back out multifile.py 1.19 and 1.20. Fixes #514676. 2002-09-22 09:01:08 +00:00
mutex.py * Move collections.deque() in from the sandbox 2004-01-29 06:37:52 +00:00
netrc.py SF bug 557704: netrc module can't handle all passwords 2003-04-24 20:11:20 +00:00
new.py
nntplib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
ntpath.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
nturl2path.py
opcode.py SF patch #910929: Optimize list comprehensions 2004-03-07 07:31:06 +00:00
optparse.py don't wrap lines too late by default 2004-01-26 16:42:30 +00:00
os.py SF #904720: dict.update should take a 2-tuple sequence like dict.__init_ 2004-03-04 08:25:44 +00:00
os2emxpath.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
pdb.doc
pdb.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
pickle.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
pickletools.py dis(): Added an optional memo argument, so that multiple pickles in a 2003-02-05 19:55:53 +00:00
pipes.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
pkgutil.py SF patch #806246: use basestring where possible 2003-09-17 05:50:59 +00:00
platform.py Implement and apply PEP 322, reverse iteration 2003-11-06 14:06:48 +00:00
popen2.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
poplib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
posixfile.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
posixpath.py SF Patch 681780: Faster commonprefix (OS independent) 2003-12-31 22:44:29 +00:00
pprint.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
pre.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
profile.doc Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
profile.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
pstats.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
pty.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
py_compile.py Getting rid of macfs. 2003-02-27 23:18:46 +00:00
pyclbr.py Guido grants a Christmas wish: 2003-12-17 20:43:33 +00:00
pydoc.py * Move collections.deque() in from the sandbox 2004-01-29 06:37:52 +00:00
quopri.py
random.py Reflow long line. 2004-02-23 17:27:57 +00:00
re.py Give people who run "pydoc re" a clue. 2003-01-31 00:35:58 +00:00
reconvert.py
regex_syntax.py
regsub.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
repr.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
rexec.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
rfc822.py Make Message.__str__ more efficient. 2003-11-11 19:39:17 +00:00
rlcompleter.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
robotparser.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
sched.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
sets.py Remove deprecation of sets.Set.update(). 2003-11-19 15:52:14 +00:00
sgmllib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
shelve.py Fixup bare try/except. 2003-05-27 06:30:52 +00:00
shlex.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
shutil.py Fix SF bug #691276, shutil.copytree documentation bug 2003-02-23 21:36:32 +00:00
site.py We have cp932 support in standard distribution now. And there's now 2004-02-13 07:14:13 +00:00
smtpd.py
smtplib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
sndhdr.py
socket.py Always unwrap _socketobj in socket.ssl. Revert httplib.py 1.25. 2003-06-14 13:30:53 +00:00
sre.py Addendum to #764548: restore 2.1 compatibility. 2003-07-02 21:37:16 +00:00
sre_compile.py Implemented non-recursive SRE matching. 2003-10-17 22:13:16 +00:00
sre_constants.py Implemented non-recursive SRE matching. 2003-10-17 22:13:16 +00:00
sre_parse.py Whitespace normalization. 2004-01-18 20:29:55 +00:00
stat.py
statcache.py
statvfs.py
string.py Add rsplit method for str and unicode builtin types. 2003-12-15 18:49:53 +00:00
stringold.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
stringprep.py Whitespace normalization. 2003-04-24 16:02:54 +00:00
sunau.py
sunaudio.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
symbol.py Updates to track Grammar changes. The patch to token.py loosens the regexp to 2002-10-03 09:42:01 +00:00
symtable.py
tabnanny.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
tarfile.py [Bug #812325 ] tarfile.close() can write out more bytes to the output 2004-01-02 15:44:29 +00:00
telnetlib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
tempfile.py mktemp() shouldn't rely on os.path.exists(), which can return False if 2003-11-10 02:16:36 +00:00
textwrap.py SF bug 797650: Infinite loop in textwrap.py 2003-08-30 14:43:55 +00:00
this.py Back rev 1.3 out per Raymond's request. 2004-02-06 04:40:56 +00:00
threading.py Remove calls to currentThread() in _Condition methods that were side-effect. 2004-03-08 22:18:57 +00:00
timeit.py SF patch #868736: Disable GC for timeit 2004-01-04 03:47:51 +00:00
toaiff.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
token.py Updates to track Grammar changes. The patch to token.py loosens the regexp to 2002-10-03 09:42:01 +00:00
tokenize.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
trace.py Fix two small bugs: (1) on Windows, pathname munging didn't work 2004-02-19 19:16:50 +00:00
traceback.py Whitespace normalization. 2004-01-18 20:29:55 +00:00
tty.py
types.py [ 683376 ] Adding NotImplementedType to types.py 2003-02-10 19:38:33 +00:00
tzparse.py
unittest.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
urllib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
urllib2.py Fix two bugs in the new do_open() implementation for HTTPHandler. 2004-02-24 19:40:35 +00:00
urlparse.py See rev. 1.42 for log message 2003-10-12 04:29:10 +00:00
user.py SF # 555779, import user doesn't work with CGIs 2002-09-05 21:08:25 +00:00
uu.py
warnings.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
wave.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
weakref.py SF #904720: dict.update should take a 2-tuple sequence like dict.__init_ 2004-03-04 08:25:44 +00:00
webbrowser.py Fixed bug 2002-11-25 17:25:04 +00:00
whichdb.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
whrandom.py
xdrlib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
xmllib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
xmlrpclib.py SF patch #834015: Remove imports of unused modules 2003-11-02 09:47:05 +00:00
zipfile.py SF patch #756996: Bare except in ZipFile.testzip() 2003-06-27 22:25:03 +00:00