cpython/Lib
Tim Peters 0ab085c4cb Changed the dict implementation to take "string shortcuts" only when
keys are true strings -- no subclasses need apply.  This may be debatable.

The problem is that a str subclass may very well want to override __eq__
and/or __hash__ (see the new example of case-insensitive strings in
test_descr), but go-fast shortcuts for strings are ubiquitous in our dicts
(and subclass overrides aren't even looked for then).  Another go-fast
reason for the change is that PyCheck_StringExact() is a quicker test
than PyCheck_String(), and we make such a test on virtually every access
to every dict.

OTOH, a str subclass may also be perfectly happy using the base str eq
and hash, and this change slows them a lot.  But those cases are still
hypothetical, while Python's own reliance on true-string dicts is not.
2001-09-14 00:25:33 +00:00
..
compiler Fix _convert_NAME() so that it doesn't store locals for class bodies. 2001-08-30 20:25:55 +00:00
curses Catch curses.error instead of a non-existent global (PyChecker) 2001-08-13 13:47:23 +00:00
distutils Implement PEP250: Use Lib/site-packages under windows. 2001-09-05 13:00:40 +00:00
encodings Fix typo (PyChecker) 2001-08-13 13:48:55 +00:00
idlelib further work on font config and general feel improvements 2001-08-13 04:36:58 +00:00
lib-old Use string.ascii_letters instead of string.letters (SF bug #226706). 2001-07-20 19:05:50 +00:00
lib-tk class Listbox: add itemcget, to satisfy SF patch #457713. 2001-09-05 19:29:56 +00:00
plat-aix3 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-aix4 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-beos5 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-freebsd2 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-freebsd3 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-freebsd4 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-freebsd5 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-generic Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-irix5 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-irix6 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-linux1 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-linux2 Regenerate for glibc 2.2.3. 2001-08-09 12:48:17 +00:00
plat-netbsd1 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-next3 Do no regenerate modules that should no longer be here. 2001-05-10 15:52:47 +00:00
plat-riscos Use string.ascii_letters instead of string.letters (SF bug #226706). 2001-07-20 19:05:50 +00:00
plat-sunos4 Do no regenerate modules that should no longer be here. 2001-05-10 15:52:47 +00:00
plat-sunos5 Regenerate for Solaris 8. 2001-08-09 12:33:32 +00:00
plat-unixware7 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
site-packages
test Changed the dict implementation to take "string shortcuts" only when 2001-09-14 00:25:33 +00:00
xml Make sure XMLGenerator uses quoteattr() instead of escape() to quote 2001-08-07 19:14:46 +00:00
BaseHTTPServer.py Remove unused imports from previous checkin. 2001-07-25 06:12:16 +00:00
Bastion.py
CGIHTTPServer.py Apply two small changes to the Windows code, according to SF bug 2001-08-07 19:55:10 +00:00
ConfigParser.py Patch #445762: Support --disable-unicode 2001-08-17 18:39:25 +00:00
Cookie.py Patch #444359: Remove unused imports. 2001-08-02 07:15:29 +00:00
FCNTL.py Add a new FCNTL.py backward compatibility module that issues a deprecation 2001-05-09 21:13:23 +00:00
HTMLParser.py HTMLParser is allowed to be more strict than sgmllib, so let's not 2001-09-04 16:26:03 +00:00
MimeWriter.py
Queue.py
SimpleHTTPServer.py
SocketServer.py Patch #401196: Use getaddrinfo and AF_INET6 in TCP servers and clients. 2001-07-24 20:34:08 +00:00
StringIO.py
TERMIOS.py No need to call filterwarnings() to suppress further warnings from this 2001-02-27 21:51:47 +00:00
UserDict.py Remove the __iter__ method from the UserDict class -- it can silently 2001-08-07 17:40:42 +00:00
UserList.py Patch #424475: Speed-up tp_compare usage, by special-casing the common 2001-06-09 07:34:05 +00:00
UserString.py This patch changes the way the string .encode() method works slightly 2001-05-15 12:00:02 +00:00
__future__.py Repair repr of future-features (wasn't updated to include the new 2001-08-24 17:13:54 +00:00
aifc.py
anydbm.py Catch only the relevant exceptions instead of using a bare except clause. 2001-05-11 18:27:00 +00:00
asynchat.py Fix from the Madusa mailing list: 2001-04-08 07:23:44 +00:00
asyncore.py Patch #460554: Properly test for tuples. 2001-09-11 15:11:27 +00:00
atexit.py
audiodev.py Commenting out the getfillable() method -- it's broken, and nobody 2001-08-13 15:04:33 +00:00
base64.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
bdb.py Return self.trace_dispatch from dispatch_return() to enable stepping through generators. (An alternative would be to create a new "yield" debugger event, but that involves many more changes, and might break Bdb subclasses.) 2001-06-25 18:01:24 +00:00
binhex.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
bisect.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
calendar.py Application of patch #401842 by Denis S. Otkidach to support 2001-05-22 15:58:30 +00:00
cgi.py Class FieldStorage: add two new methods, getfirst() and getlist(), 2001-09-05 19:45:34 +00:00
cgitb.py Enhancements: 2001-08-21 06:53:01 +00:00
chunk.py Clean up bare except: when determining whether a file is seekable. 2001-05-11 19:14:51 +00:00
cmd.py Whitespace normalization. 2001-08-09 21:40:30 +00:00
code.py A fiddled version of the rest of Michael Hudson's SF patch 2001-08-17 22:11:27 +00:00
codecs.py Patch #444359: Remove unused imports. 2001-08-02 07:15:29 +00:00
codeop.py A fiddled version of the rest of Michael Hudson's SF patch 2001-08-17 22:11:27 +00:00
colorsys.py
commands.py
compileall.py Fix compileall.py so that it fails on SyntaxErrors 2001-04-18 01:20:21 +00:00
copy.py Patch #445762: Support --disable-unicode 2001-08-17 18:39:25 +00:00
copy_reg.py
dbhash.py Fix bug #422702: Make flag argument to open optional, and document it that way. 2001-06-05 05:33:19 +00:00
difflib.py SF patch #445412 extract ndiff functionality to difflib, from 2001-08-12 22:25:01 +00:00
dircache.py Whitespace normalization. 2001-03-16 08:29:48 +00:00
dis.py Add opcodes for floor division and true division (PEP 238) 2001-08-29 18:02:21 +00:00
doctest.py Remove the horrid generators hack from doctest.py. This relies on a 2001-08-18 00:05:50 +00:00
dospath.py Use string.ascii_letters instead of string.letters (SF bug #226706). 2001-07-20 19:05:50 +00:00
dumbdbm.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
filecmp.py
fileinput.py
fnmatch.py Patch #409973: Speedup glob.glob, add fnmatch.filter. 2001-06-06 06:24:38 +00:00
formatter.py Remove empty __init__ (PyChecker) 2001-08-13 14:55:17 +00:00
fpformat.py
ftplib.py Change the 227 response parser to use a more liberal regular 2001-08-17 17:24:29 +00:00
getopt.py
getpass.py win_getpass(): if sys.stdin is not sys.__stdin__, use 2001-08-30 15:07:44 +00:00
gettext.py
glob.py Patch #409973: Speedup glob.glob, add fnmatch.filter. 2001-06-06 06:24:38 +00:00
gopherlib.py Remove unused variable (PyChecker) 2001-08-13 14:52:37 +00:00
gzip.py Remove redefinition of writelines() method 2001-08-13 14:54:12 +00:00
hmac.py HMAC algorithm as described by RFC 2104, by Gerhard Häring (SF patch 2001-09-11 15:54:00 +00:00
htmlentitydefs.py
htmllib.py int() of a string is only expected to through ValueError, so do not use 2001-05-11 18:45:52 +00:00
httplib.py Resolve patch #449367. 2001-08-18 09:20:23 +00:00
ihooks.py
imaplib.py Remove redundant 'import sys' (PyChecker). 2001-08-13 15:34:41 +00:00
imghdr.py
imputil.py Added docstring by Neal Norwitz. This closes SF bug #450979. 2001-09-04 18:39:45 +00:00
inspect.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
keyword.py Updated keyword.py for "yield". 2001-06-19 00:26:25 +00:00
knee.py
linecache.py Patch from Gordon McMillan. 2001-05-29 04:27:01 +00:00
locale.py Remove some dead code (PyChecker) 2001-08-13 14:50:44 +00:00
macpath.py Typo fix (spelling mistake in error message). 2001-08-08 20:55:10 +00:00
macurl2path.py
mailbox.py SF bug #461073: mailbox __iter__ bug, by Andrew Dalke. 2001-09-13 01:29:13 +00:00
mailcap.py Opening a file for reading can raise IOError, so only catch that. 2001-05-11 18:47:54 +00:00
mhlib.py Clean up a bare except: clause. 2001-07-04 07:01:29 +00:00
mimetools.py
mimetypes.py Patch #438790: Add additional mappings. 2001-09-07 16:49:12 +00:00
mimify.py Fix for SF bug #425868. 2001-07-04 10:15:58 +00:00
multifile.py Patch #444359: Remove unused imports. 2001-08-02 07:15:29 +00:00
mutex.py
netrc.py Fix typo in attribute name (file should be filename) found by 2001-04-15 12:51:42 +00:00
nntplib.py
ntpath.py SF bug #456621: normpath on Win32 not collapsing c:\\.. 2001-08-30 22:05:26 +00:00
nturl2path.py Use string.ascii_letters instead of string.letters. 2001-07-20 18:52:02 +00:00
os.py Unify _Environ processing on riscos with other platforms. 2001-03-07 09:05:45 +00:00
pdb.doc
pdb.py
pickle.py pickle.py, load_int(): Match cPickle's just-repaired ability to unpickle 2001-08-28 22:21:18 +00:00
pipes.py Patch #444359: Remove unused imports. 2001-08-02 07:15:29 +00:00
popen2.py
poplib.py Initialize msg to avoid unbound locals. 2001-07-31 08:40:21 +00:00
posixfile.py Add forgotten import (PyChecker) 2001-08-13 14:47:12 +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 Make pprint more locale-friendly; patch contributed by Denis S. Otkidach. 2001-09-04 19:43:26 +00:00
pre.py Clean up a bare except where we only expect to catch pcre.error. 2001-05-11 19:20:17 +00:00
profile.doc
profile.py Fix two bugs detected by PyChecker: there's no need for redundant 2001-08-09 21:22:15 +00:00
pstats.py Remove unused variable (PyChecker) 2001-08-13 14:52:37 +00:00
pty.py Whitespace normalization. 2001-05-29 06:06:54 +00:00
py_compile.py
pyclbr.py Nick Mathewson: Make sure the recursion is handled properly. 2001-08-13 20:20:51 +00:00
pydoc.py Oh, ok, so plainpager is probably marginally better. 2001-07-23 19:48:10 +00:00
quopri.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
random.py
re.py Added docstrings by Neal Norwitz. This closes SF bug #450980. 2001-09-04 19:10:20 +00:00
reconvert.py Suppress the warning about regex here. 2001-09-04 15:18:54 +00:00
regex_syntax.py
regsub.py
repr.py Another / that should be a // (previously not caught because of 2001-09-05 02:27:04 +00:00
rexec.py Now that file objects are subclassable, you can get at the file constructor 2001-09-13 21:01:29 +00:00
rfc822.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
rlcompleter.py
robotparser.py Remove unused import (PyChecker) 2001-08-13 14:43:43 +00:00
sched.py
sgmllib.py Patch #444359: Remove unused imports. 2001-08-02 07:15:29 +00:00
shelve.py
shlex.py Unused variable (caught by PyChecker) removed. 2001-04-17 17:20:19 +00:00
shutil.py
site.py Patch #445762: Support --disable-unicode 2001-08-17 18:39:25 +00:00
smtpd.py found_terminator(): Add a debug print showing the data. 2001-08-13 21:18:01 +00:00
smtplib.py Add login() method and SMTPAuthenticationError exception. SF patch 2001-09-11 15:57:46 +00:00
sndhdr.py Amazing. This would open the sound file in text mode. Fixed. 2001-07-31 06:27:07 +00:00
socket.py Inspired by Greg Stein's proposed simplification of the _closesocket 2001-08-18 21:00:39 +00:00
sre.py Convert docstring to "raw" string. 2001-09-04 19:20:06 +00:00
sre_compile.py Added docstrings by Neal Norwitz. This closes SF bug #450980. 2001-09-04 19:10:20 +00:00
sre_constants.py Added docstrings by Neal Norwitz. This closes SF bug #450980. 2001-09-04 19:10:20 +00:00
sre_parse.py Added docstrings by Neal Norwitz. This closes SF bug #450980. 2001-09-04 19:10:20 +00:00
stat.py
statcache.py
statvfs.py
string.py Added the constants ascii_letters, ascii_lowercase, and ascii_uppercase 2001-07-20 18:38:26 +00:00
stringold.py
sunau.py
sunaudio.py
symbol.py Updated this file to match reality. 2001-07-13 18:05:46 +00:00
symtable.py Remove now-unnecessary "from __future__ import nested_scopes" stmts. 2001-07-12 22:36:02 +00:00
tabnanny.py Add the NannyNag exception class and the process_tokens() function to 2001-08-07 17:19:25 +00:00
telnetlib.py Patch #416079: fix the debug string output when receiving telnet commands. 2001-09-06 08:51:38 +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 Patch #428326: New class threading.Timer. 2001-09-05 13:44:54 +00:00
toaiff.py Capture exception message (PyChecker) 2001-08-13 14:40:47 +00:00
token.py Remove redundant 'import string' (PyChecker). 2001-08-13 15:48:06 +00:00
tokenize.py SF patch #455966: Allow leading 0 in float/imag literals. 2001-08-30 20:51:59 +00:00
traceback.py SF bug 431772: traceback.print_exc() causes traceback 2001-06-10 18:58:26 +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 SF bug [#460467] file objects should be subclassable. 2001-09-13 05:38:56 +00:00
tzparse.py Add a deprecation warning to this module. 2001-03-20 18:36:48 +00:00
unittest.py Add missing period in docstring. 2001-09-06 19:13:14 +00:00
urllib.py Add content-type header to ftp URLs (SF patch #454553) 2001-08-27 20:16:53 +00:00
urllib2.py Add content-type header to ftp URLs (SF patch #454553) 2001-08-27 20:16:53 +00:00
urlparse.py Remove unused variable 2001-08-13 14:38:50 +00:00
user.py
uu.py decode(): Raise a uu.Error if no out_file is given but the file 2001-08-17 19:59:34 +00:00
warnings.py Allow for the possibility that globals['__name__'] does not exist; 2001-08-31 17:46:35 +00:00
wave.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
weakref.py Add __delitem__() support for WeakKeyDictionary. 2001-09-06 14:51:01 +00:00
webbrowser.py Fix malformed line (PyChecker) 2001-08-13 14:37:23 +00:00
whichdb.py Whitespace normalization. 2001-03-16 08:29:48 +00:00
whrandom.py
xdrlib.py Use (c)StringIO for collecting bytes. Fixes bug #451622. 2001-08-16 17:06:44 +00:00
xmllib.py Moved clearing of "literal" flag. The flag is set in setliteral which 2001-03-14 17:03:30 +00:00
xmlrpclib.py more xmlrpclib tweaks: fixed repr(Fault()); enable UTF-8 parsing in 2001-09-10 21:45:42 +00:00
zipfile.py [ #458701 ] Patch to zipfile.py for Java 2001-09-05 18:40:33 +00:00