cpython/Lib
Jeremy Hylton 566d934745 compiler.transformer: correct lineno attribute when possible
SF patch #1015989

The basic idea of this patch is to compute lineno attributes for all AST nodes.  The actual
implementation lead to a lot of restructing and code cleanup.

The generated AST nodes now have an optional lineno argument to constructor.  Remove the
top-level asList(), since it didn't seem to serve any purpose.  Add an __iter__ to ast nodes.
Use isinstance() instead of explicit type tests.

Change transformer to use the new lineno attribute, which replaces three lines of code with one.
Use universal newlines so that we can get rid of special-case code for line endings.  Use
lookup_node() in a few more frequently called, but simple com_xxx methods().  Change string
exception to class exception.
2004-09-07 15:28:01 +00:00
..
bsddb Purged Berkeley code of references to the long-obsolete whrandom. 2004-08-08 00:54:21 +00:00
compiler compiler.transformer: correct lineno attribute when possible 2004-09-07 15:28:01 +00:00
curses Somehow (no idea how!) I missed half of patch #1005008. Sorry about that. 2004-08-07 15:20:15 +00:00
distutils Patch #973204: Use -rpath instead of -R on Irix and Tru64. 2004-08-29 16:40:55 +00:00
email Test cases and fixes for bugs described in patch #873418: email/Message.py: 2004-08-16 15:47:34 +00:00
encodings Whitespace normalization. 2004-08-07 06:03:09 +00:00
hotshot
idlelib 1. If user passes a non-existant filename on the commandline, just open 2004-08-22 05:14:32 +00:00
lib-old Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
lib-tk Remove debug print. 2004-08-20 06:19:23 +00:00
logging Fixed bug in DatagramHandler.send() 2004-08-24 09:36:23 +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 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +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 compiler.transformer: correct lineno attribute when possible 2004-09-07 15:28:01 +00:00
xml Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +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 ConfigParser: 2004-05-18 04:24:02 +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 [Bug #921657] Allow '@' in unquoted HTML attributes. Not strictly legal according to the HTML REC, but HTMLParser is already a pretty loose parser. Reported by Bernd Zimmermann. 2004-06-05 15:31:45 +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 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 Add missing docstrings. 2004-03-14 07:54:37 +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 Replace str.find()!=1 with the more readable "in" operator. 2004-05-04 09:21:43 +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 Replace left(), right(), and __reversed__() with the more general purpose 2004-03-01 23:16:22 +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 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 Patch #1003640: replace checkline() function parsing with new breakpoint logic: 2004-08-30 13:29:44 +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 There is no reason to have an underscore after self 2004-06-07 03:47:06 +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 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 Patch #975885: print file name in err msg in quiet mode 2004-06-20 20:59:56 +00:00
cookielib.py [Patch #969907] Add traceback to warning output 2004-07-10 18:32:12 +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
decimal.py Establish policies with respect to 2.3 compatibilty and treated spec 2004-08-19 22:39:55 +00:00
difflib.py Whitespace normalization. test_difflib passes again. 2004-08-29 22:38:38 +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 Added IGNORE_EXCEPTION_DETAIL comparison option. The need is explained 2004-09-04 17:21:02 +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 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
filecmp.py SF bug #453515: filecmp.dircmp case sensitivity bug 2003-09-02 05:42:02 +00:00
fileinput.py
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
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 Fix erroneous docstring comment. 2004-09-06 07:04:09 +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 Docstring fix: XHTML 1.0 entities are supported 2003-10-27 15:47:48 +00:00
httplib.py Patch #800236: add HTTPResponse.getheaders(). 2004-08-18 12:46:26 +00:00
ihooks.py ihooks FancyModuleLoader.load_module() 2004-08-04 02:29:12 +00:00
imaplib.py Fix typo in getquotaroot parameter reported by Thierry FLORAC. Also amplify doc string for select to indicate proper way to obtain other responses. 2004-08-10 01:24:54 +00:00
imghdr.py
imputil.py ihooks FancyModuleLoader.load_module() 2004-08-04 02:29:12 +00:00
inspect.py Patch #1006219: let inspect.getsource show '@' decorators and add tests for 2004-08-18 12:40:31 +00:00
keyword.py Replace str.find()!=1 with the more readable "in" operator. 2004-05-04 09:21:43 +00:00
linecache.py Whitespace normalization. 2003-06-29 16:59:43 +00:00
locale.py Patch #962487: Don't crash for empty locale names. 2004-07-26 12:45:18 +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 Upgrade optparse module and tests to Optik 1.5a1: 2004-07-31 16:15:44 +00:00
os.py Whitespace normalization. 2004-09-01 13:10:32 +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 Patch #1003640: replace checkline() function parsing with new breakpoint logic: 2004-08-30 13:29:44 +00:00
pickle.py Make 'bin' argument trigger DeprecationWarning 2004-08-07 16:27:24 +00:00
pickletools.py Add argument to docstring 2004-08-07 16:51:30 +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 Added normalization for Windows system name. Closes SF #945665. 2004-06-19 17:17:00 +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 Add support for FreeBSD 6. 2004-08-18 15:13:41 +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 typo - fixes 954030. 2004-05-14 16:31:56 +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 Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +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 Patch #934356: if a module defines __all__, believe that rather than using 2004-08-30 14:13:04 +00:00
quopri.py
random.py Fulfill Martin's request to use try/except rather than a "look before 2004-09-05 00:00:42 +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 Resolution of bug #997368, "strftime() backward compatibility". 2004-08-07 16:38:40 +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 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 Catch OSError raised when src or dst argument to os.path.samefile doesn't 2004-08-14 14:51:01 +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 Updated my email address to something that works <wink>. 2004-07-12 23:10:08 +00:00
smtplib.py Debug output is now printed to sys.stderr . 2004-07-10 23:14:30 +00:00
sndhdr.py
socket.py Patch #1003700: Add socketpair function to socket module. 2004-08-09 04:51:41 +00:00
sre.py PEP 292 classes Template and SafeTemplate are added to the string module. 2004-08-25 02:22:30 +00:00
sre_compile.py Fix _sre.CODESIZE on 64-bit machines in UCS-4 mode. Fixes #931848. 2004-05-07 07:18:13 +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
statcache.py
statvfs.py
string.py Minor improvements to the template code. 2004-08-26 00:21:13 +00:00
stringold.py Replace backticks with repr() or "%r" 2004-02-12 17:35:32 +00:00
stringprep.py Whitespace normalization. 2004-07-07 20:54:48 +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 #1014992: Never return more than a line from readline. 2004-08-25 10:52:58 +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 Open file in universal newline mode when passing to compile(). Solution 2004-04-16 03:28:19 +00:00
traceback.py Whitespace normalization. 2004-01-18 20:29:55 +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
tzparse.py
unittest.py Added an __iter__ method for test suites. 2004-08-28 15:22:12 +00:00
urllib.py Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
urllib2.py Use multi-line import 2004-08-31 11:38:12 +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 Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
whrandom.py Trigger DeprecationWarning 2004-08-07 21:44:37 +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 Replace yield with sequence class. Fixes #1009803. 2004-08-22 16:04:50 +00:00
zipfile.py Make struct formats for specifying file size to be unsigned instead of signed 2004-07-10 19:09:20 +00:00