cpython/Lib
Johannes Gijsbers 1542f34c42 Patch #1011890: fix inspect.getsource breaking with line-continuation &
more. Thanks to Simon Percivall!

The patch makes changes to inspect.py in two places:

* the pattern to match against functions at line 436 is
modified: lambdas should be matched even if not
preceded by whitespace, as long as "lambda" isn't part
of another word.

* the BlockFinder class is heavily modified. Changes are:
- checking for "def", "class" or "lambda" names
before setting self.started to True. Then checking the
same line for word characters after the colon (if the
colon is on that line). If so, and the line does not
end with a line continuation marker, raise EndOfBlock
immediately.
- adding self.passline to show that the line is to be
included and no more checking is necessary on that
line. Since a NEWLINE token is not generated when a
line continuation marker exists, this allows getsource
to continue with these functions even if the following
line would not be indented.

Also add a bunch of
'quite-unlikely-to-occur-in-real-life-but-working-anyway' tests.
2004-12-12 16:46:28 +00:00
..
bsddb Purged Berkeley code of references to the long-obsolete whrandom. 2004-08-08 00:54:21 +00:00
compiler Fix bug 2004-11-08 12:17:34 +00:00
curses Display helpful message; print repr() of return value so the whitespace is clearer 2004-10-19 19:36:09 +00:00
distutils Restore Python 2.1 compatibility (os.extsep was introduced in Python 2.2). 2004-12-02 20:14:16 +00:00
email Fixes for SF #1076485, which I'll apply to the CVS head too. The problem was 2004-12-05 03:45:42 +00:00
encodings Rearranged mappings to value sorting order. 2004-12-10 21:54:35 +00:00
hotshot
idlelib doodedoodedoo on the way to 2.4 final 2004-11-30 01:28:55 +00:00
lib-old Removed deprecated tzparse module. 2004-12-05 11:38:18 +00:00
lib-tk Convert boolean results back to strings. Fixes #807871. 2004-09-18 16:01:23 +00:00
logging Fixed bug in handling of args in LogRecord.__init__. 2004-10-21 21:24:27 +00:00
plat-aix3
plat-aix4
plat-atheos Repair bizarre generated Python. 2004-07-18 06:35:21 +00:00
plat-beos5 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
plat-darwin
plat-freebsd2
plat-freebsd3
plat-freebsd4
plat-freebsd5
plat-freebsd6 Whitespace normalization. 2004-08-20 03:47:14 +00:00
plat-generic
plat-irix5 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
plat-irix6 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
plat-linux2 Repair bizarre generated Python. 2004-07-18 06:35:21 +00:00
plat-mac On second thought: "Errors should never pass silently", so barf when a 2004-11-12 09:36:12 +00:00
plat-netbsd1 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
plat-next3
plat-os2emx Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
plat-riscos Patch #941486: add os.path.lexists(). Also fix bug #940578 by using lexists in glob.glob. 2004-08-30 10:19:56 +00:00
plat-sunos5 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
plat-unixware7 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
site-packages
test Patch #1011890: fix inspect.getsource breaking with line-continuation & 2004-12-12 16:46:28 +00:00
xml Fix typo in comment. 2004-11-25 12:23:23 +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 Patch #727483: Add AUTH_TYPE and REMOTE_USER. 2004-08-29 16:53:26 +00:00
ConfigParser.py SF bug #997050: Document, test, & check for non-string values in ConfigParser. Moved the new string-only restriction added in rev. 1.65 to the SafeConfigParser class, leaving existing ConfigParser & RawConfigParser behavior alone, and documented the conditions under which non-string values work. 2004-10-03 15:55:09 +00:00
Cookie.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
DocXMLRPCServer.py Use multi-line import 2004-08-31 11:38:12 +00:00
HTMLParser.py remove unnecessary override of base class method 2004-09-08 22:58:36 +00:00
MimeWriter.py
Queue.py Simplified the new get/get_nowait/put/put_nowait implementations a bit. 2004-07-12 01:20:32 +00:00
SimpleHTTPServer.py Patch #1011123: Use urllib.quote() instead of cgi.escape() for encoding the 2004-08-21 10:43:29 +00:00
SimpleXMLRPCServer.py Fix a small typo in the docstring for system_methodSignature . 2004-10-03 23:21:44 +00:00
SocketServer.py TCPServer: Fixed typo in class docstring. 2003-10-09 23:48:52 +00:00
StringIO.py Arghh, checked in wrong draft. Replacing with correct one. 2004-09-23 07:00:47 +00:00
UserDict.py The default argument in dict.setdefault() defaults to None. 2004-05-27 09:41:04 +00:00
UserList.py Guido grants a Christmas wish: 2003-12-17 20:43:33 +00:00
UserString.py Remove .width() and .iswide() from UserString as well. 2004-08-04 08:01:06 +00:00
_LWPCookieJar.py Use multi-line import 2004-08-31 11:38:12 +00:00
_MozillaCookieJar.py Whitespace normalization. 2004-09-01 13:10:32 +00:00
__future__.py
__phello__.foo.py
_strptime.py Fix bug of implementation of algorithm for calculating the date from year, week 2004-10-28 04:49:21 +00:00
_threading_local.py Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
aifc.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
anydbm.py
asynchat.py Trivial bug fix: deque == [] is not a good way to check if a deque is empty. 2004-09-27 17:49:00 +00:00
asyncore.py [Bug #1011606] Only check file descriptors for exceptional conditions if the fd is readable or writable 2004-09-01 14:04:51 +00:00
atexit.py SF bug #1083202L UnboundLocalError raised by atexit module 2004-12-11 02:49:40 +00:00
audiodev.py
base64.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
bdb.py Bug #1055168: calling pdb.set_trace() calls Bdb.set_trace, which made 2004-11-07 11:35:30 +00:00
binhex.py Remove a useless operation, setting name to itself 2004-06-07 03:45:56 +00:00
bisect.py SF Patch #864863: Bisect C implementation 2004-01-05 10:13:35 +00:00
calendar.py SF bug 1065388: calendar day/month name lookup too slow 2004-11-13 16:18:32 +00:00
cgi.py Let cgi.parse_header() properly unquote headers (patch #1008597). 2004-08-14 15:39:34 +00:00
cgitb.py Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
chunk.py
cmd.py Whitespace normalization. 2004-07-07 20:54:48 +00:00
code.py
codecs.py SF #1048865: Fix a trivial typo that breaks StreamReader.readlines() 2004-10-17 23:51:21 +00:00
codeop.py Fix typo fix. 2003-11-20 13:38:01 +00:00
colorsys.py
commands.py
compileall.py Patch #975885: print file name in err msg in quiet mode 2004-06-20 20:59:56 +00:00
cookielib.py Remove unnecessary imports 2004-10-17 16:23:52 +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
csv.py Make the fieldnames argument optional in the DictReader. If self.fieldnames 2003-10-03 14:03:01 +00:00
dbhash.py
decimal.py SF bug #1071588 coercing decimal to int doesn't work between -1 and 1 2004-11-24 07:28:48 +00:00
difflib.py SF bug 1054821: difflib HtmlDiff() extra space on inserted 1 character lines 2004-11-12 16:12:15 +00:00
dircache.py
dis.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
doctest.py And delete a useless comment. 2004-11-08 22:31:09 +00:00
dumbdbm.py
dummy_thread.py
dummy_threading.py Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
filecmp.py Removed deprecated use_statcache argument. 2004-12-05 01:58:09 +00:00
fileinput.py
fnmatch.py
formatter.py remove the other half of one of the regsub-related comments; the other 2004-12-07 14:08:24 +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
getpass.py
gettext.py This change implements the following gettext features, as 2004-07-22 18:44:01 +00:00
glob.py Patch #941486: add os.path.lexists(). Also fix bug #940578 by using lexists in glob.glob. 2004-08-30 10:19:56 +00:00
gopherlib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
gzip.py Ack, removed useless import of os I just introduced. 2004-07-27 21:05:21 +00:00
heapq.py Add key= argument to heapq.nsmallest() and heapq.nlargest(). 2004-12-02 08:59:14 +00:00
hmac.py Speed HMAC.copy() by installing a secret backdoor argument to 2004-03-20 20:11:29 +00:00
htmlentitydefs.py
htmllib.py clean up the API a little; exceptions are defined by this module 2004-09-09 02:24:13 +00:00
httplib.py Fix for SF bug 988120 via patch 1061941. 2004-11-07 16:13:49 +00:00
ihooks.py ihooks FancyModuleLoader.load_module() 2004-08-04 02:29:12 +00:00
imaplib.py Fix bug in _checkquote that raised an exception on empty "arg". 2004-10-08 04:05:39 +00:00
imghdr.py
imputil.py ihooks FancyModuleLoader.load_module() 2004-08-04 02:29:12 +00:00
inspect.py Patch #1011890: fix inspect.getsource breaking with line-continuation & 2004-12-12 16:46:28 +00:00
keyword.py Replace str.find()!=1 with the more readable "in" operator. 2004-05-04 09:21:43 +00:00
linecache.py SF #737473: Show up-to-date source code in tracebacks always. 2004-10-26 09:16:42 +00:00
locale.py locale.py now uses an updated locale alias table (built using 2004-12-10 21:58:14 +00:00
macpath.py Whitespace normalization. 2004-08-30 13:39:50 +00:00
macurl2path.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
mailbox.py Patch #880621: the last message of a Babyl mailbox ends in '\037' instead of 2004-08-21 12:30:26 +00:00
mailcap.py
markupbase.py [Patch #965175] Incorporate a suggestion for a better error message 2004-07-10 21:49:45 +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
modulefinder.py Fix SF item #876278: Unbounded recursion in modulefinder. 2004-05-11 15:10:59 +00:00
multifile.py Stacks based on lists work better and read more clearly when they 2004-05-04 08:21:52 +00:00
mutex.py * Move collections.deque() in from the sandbox 2004-01-29 06:37:52 +00:00
netrc.py
new.py
nntplib.py Patch #823072: add option to NOT use ~/.netrc in nntplib.NNTP(). 2004-08-03 14:36:32 +00:00
ntpath.py Patch #941486: add os.path.lexists(). Also fix bug #940578 by using lexists in glob.glob. 2004-08-30 10:19:56 +00:00
nturl2path.py
opcode.py Install two code generation optimizations that depend on NOP. 2004-06-21 16:31:15 +00:00
optparse.py Change code in setup.py for parsing LDFLAGS and CPPFLAGS to use optparse 2004-12-07 03:25:18 +00:00
os.py Document that on Unix, the 'cmd' argument to the os.popen2/3/4 and 2004-10-11 18:12:20 +00:00
os2emxpath.py Patch #941486: add os.path.lexists(). Also fix bug #940578 by using lexists in glob.glob. 2004-08-30 10:19:56 +00:00
pdb.doc bug #989672: pdb.doc and the help messages for the help_d and help_u methods 2004-08-14 15:19:28 +00:00
pdb.py Bug #1055168: calling pdb.set_trace() calls Bdb.set_trace, which made 2004-11-07 11:35:30 +00:00
pickle.py Eliminate the deprecated option to return None instead of a tuple of arguments in __reduce__(). 2004-12-07 07:05:57 +00:00
pickletools.py Remove reference to old pickle feature. 2004-12-07 08:26:10 +00:00
pipes.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
pkgutil.py
platform.py Added normalization for Windows system name. Closes SF #945665. 2004-06-19 17:17:00 +00:00
popen2.py Document that on Unix, the 'cmd' argument to the os.popen2/3/4 and 2004-10-11 18:12:20 +00:00
poplib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
posixfile.py Remove the deprecated statcache module. 2004-12-05 04:55:14 +00:00
posixpath.py Patch #941486: add os.path.lexists(). Also fix bug #940578 by using lexists in glob.glob. 2004-08-30 10:19:56 +00:00
pprint.py Fix pprint to be able to handle objects that don't have a __repr__ 2004-11-15 13:51:41 +00:00
profile.doc Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
profile.py Using repr() generates entries that the current stats package can't 2004-07-12 23:38:02 +00:00
pstats.py Removed deprecated method from pstats. 2004-12-05 03:28:00 +00:00
pty.py Removed no-longer-needed convolutions to recover from damaged modules 2004-08-02 03:55:18 +00:00
py_compile.py
pyclbr.py PEP-0318, @decorator-style. In Guido's words: 2004-08-02 06:10:11 +00:00
pydoc.py Back out rev 1.96; see #1009389. 2004-11-14 10:21:04 +00:00
quopri.py
random.py Use floor division operator. 2004-09-27 15:29:05 +00:00
re.py
reconvert.py Remove specific Python version from #! 2004-04-06 19:42:34 +00:00
regex_syntax.py
regsub.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
repr.py Committing Tim's patch for SF bug #983585: 2004-07-01 20:28:47 +00:00
rexec.py Remove rotor, xreadlines modules 2004-08-31 13:31:42 +00:00
rfc822.py Bug #1030125: rfc822 __iter__ problem 2004-09-22 17:17:32 +00:00
rlcompleter.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
robotparser.py Patch #1014237: Consistently return booleans throughout. 2004-08-23 20:42:35 +00:00
sched.py
sets.py Remove deprecation of sets.Set.update(). 2003-11-19 15:52:14 +00:00
sgmllib.py add name that should be considered public to __all__ 2004-09-09 01:49:58 +00:00
shelve.py Removed deprecated method arguments from the shelve module. 2004-12-05 03:58:17 +00:00
shlex.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
shutil.py Bug #1048941: shutil.rmtree error handling was always broken 2004-10-31 12:05:31 +00:00
site.py Fix bug in addsitedir() to properly handle the lack of a second argument. 2004-07-20 02:28:28 +00:00
smtpd.py Fix for SF bug # 1010102. The default is PureProxy not SMTPProxy. 2004-10-09 21:44:13 +00:00
smtplib.py Patch #1075928: AUTH PLAIN in smtplib. 2004-12-06 21:25:26 +00:00
sndhdr.py
socket.py Patch #1003700: Add socketpair function to socket module. 2004-08-09 04:51:41 +00:00
sre.py Granted Noam Raphael's request for minor improvements to the re module and 2004-09-24 03:41:05 +00:00
sre_compile.py make sure to check for this limit even if we're running with -O 2004-10-15 06:15:08 +00:00
sre_constants.py PEP 292 classes Template and SafeTemplate are added to the string module. 2004-08-25 02:22:30 +00:00
sre_parse.py Minor aesthetic change in sre_parse.py, as suggested by Mike Coleman. 2004-09-03 20:15:56 +00:00
stat.py
statvfs.py
string.py Remove outdated references to the regsub module. 2004-12-07 07:55:07 +00:00
stringold.py Remove outdated references to the regsub module. 2004-12-07 07:55:07 +00:00
stringprep.py Whitespace normalization. 2004-07-07 20:54:48 +00:00
subprocess.py Changed signature of call function to avoid confusion: this 'args' is not the same as the one to the Popen constructor 2004-12-05 20:15:36 +00:00
sunau.py
sunaudio.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
symbol.py SF patch #1007189, multi-line imports, for instance: 2004-08-31 10:07:13 +00:00
symtable.py
tabnanny.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
tarfile.py [Patch #1043972, for bug #1017553] filemode() returns an incorrect value for the mode 07111 2004-10-20 11:48:42 +00:00
telnetlib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
tempfile.py Record that FCNTL.py has gone away; remove FCNTL hack in tempfile.py; 2004-07-18 23:58:17 +00:00
textwrap.py SF #965425: fix so hyphenated words surrounded by punctuation are 2004-06-03 01:59:41 +00:00
this.py Back rev 1.3 out per Raymond's request. 2004-02-06 04:40:56 +00:00
threading.py Thread.__delete: Discussion of internal obscurities belongs in comments 2004-07-21 03:36:52 +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 PEP-0318, @decorator-style. In Guido's words: 2004-08-02 06:10:11 +00:00
tokenize.py PEP-0318, @decorator-style. In Guido's words: 2004-08-02 06:10:11 +00:00
trace.py SF #1062190. Removed an assertion that rendered trace.py unnecessarily 2004-11-08 06:36:42 +00:00
traceback.py SF #737473: Show up-to-date source code in tracebacks always. 2004-10-26 09:16:42 +00:00
tty.py
types.py Oops! Restored the pickle test to test_pyclbr, but changed types.py so 2004-07-18 00:08:11 +00:00
unittest.py SF bug #1078905: Docs for unittest run() methods are misleading 2004-12-04 21:21:53 +00:00
urllib.py Added a usegmt flag to email.Utils.formatdate - this allows it to be 2004-10-11 13:53:08 +00:00
urllib2.py Added a usegmt flag to email.Utils.formatdate - this allows it to be 2004-10-11 13:53:08 +00:00
urlparse.py rsync is now a recognized protocol that uses "netloc" (i.e. specifies a network 2004-06-29 04:02:40 +00:00
user.py
uu.py
warnings.py Stop producing or using OverflowWarning. PEP 237 thought this would 2004-08-25 02:14:08 +00:00
wave.py Fix SF #1001053, wave.open() with unicode filename fails 2004-08-01 22:48:06 +00:00
weakref.py Use multi-line import 2004-08-31 11:38:12 +00:00
webbrowser.py [Patch #981794] Add support for Firefox/Firebird 2004-07-10 22:07:02 +00:00
whichdb.py SF patch #1038388: __main__ for whichdb.py 2004-10-20 07:17:16 +00:00
xdrlib.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
xmllib.py Do not use the default namespace for attributes. 2004-05-02 20:37:13 +00:00
xmlrpclib.py removed info@pythonware.com reference 2004-10-13 06:48:37 +00:00
zipfile.py Don't choke on modes like rb or wb. 2004-11-06 00:31:51 +00:00