mislabeled.
(Using -c and then -e rearranges some comments, so I won't check that
in -- but it's a good test anyway.
Note that pindent is not perfect -- e.g. it doesn't know about
triple-quoted strings!)
Problem:
A Python program can be completed and reformatted using
Tools/scripts/pindent.py. Unfortunately there is no option for removal
of the generated "# end"-tags. Although a few Python commands or a
"grep -v '# end '" can do wonders here, there are two drawbacks:
- not everyone has grep/time to write a Python script
- it is not checked whether the "# end"-tags were used validly
Solution:
add extra option "-e" (eliminate) to pindent.py
"""
If the filename being complained about contains a space, enclose the
file-name in quotes.
The reason is simply that when I try and parse tabnanny's output, filenames
with spaces make it very difficult to determine where the filename stops
and the linenumber begins!
"""
Tim approves.
I slightly changed the patch (use 'in' instead of string.find()) and
arbitrarily bumped the __version__ variable up to 6.
I should have waited overnight <wink/sigh>. Nothing wrong with the one I
sent, but I couldn't resist going on to add new -r1 / -r2 cmdline options
for recreating the original files from ndiff's output. That's attached, if
you're game! Us Windows guys don't usually have a sed sitting around
<wink>.
Attached is a cleaned-up version of ndiff (added useful module
docstring, now echo'ed in case of cmd line mistake); added -q option
to suppress initial file identification lines; + other minor cleanups,
& a slightly faster match engine.
"""
the NEWS file of Python 1.5.2a2 inspired me to look at
Tools/scripts/untabify.py. I wonder why it accepts a -t argument
but ignores it. The following patch tries to make it somewhat useful
(i.e., to override the tabsize=8 setting). Is that agreeable?
"""
.mirrorinfo. Fix by me to call string.lstrip(filename) to cope with a
bug in strop.strip() in Python 1.4. Additionally, I changed all print
statements that print filenames etc. to put them in backquotes so that
it will be more obvious when there's a funny character on one of them
(such as a space...).
The 1.5.1 tabnanny.py suffers an assert error if fed a script whose last
line is both indented and lacks a newline:
if 1:
print 'oh fudge' # no newline here:
The attached version repairs that.
This patch must hold the world record for living in my inbox:
From: John Ehresman <jehresma@dsg.harvard.edu>
Date: Wed, 23 Aug 1995 16:07:11 -0400
He provided a fix for the version that comes with Python 1.3:
ftpmirror.py revision 1.1... And it was still relevant!
is used), do a recursive delete. Use -r with even more caution!
Also changed usage message into a doc string, added a comment or two,
and rearranged a long line.
will compare equal even if the master file uses only \n to terminate
lines (this is by far the most common situation). Also, check for the
case where the master file is missing, and print the time difference
in seconds when the slave file appears newer than the master (for
debugging).
removed from .mirrorinfo. Now they are (even if -r is not specified
-- the files are not removed, just their .mirrorinfo entry).
Added a feature: the -s pattern option is also used to skip local
files when removing (i.e. -r won't remove local files matching the -s
patterns).
navigation links for HTML 3 version.
Forced a blank line above the footnotes separator for HTML 2; at
least one page did not get this spaced correctly.
print section titles even when the debugging output is not enabled.
Added -3 option to generate HTML 3.0 constructs where meaningful.
Removed repititive garbage generation: the old version added simple
descriptive comments after every datadesc/funcdesc/*desc entry:
function(args) -- function of module xxxx
Description....
These comments are no longer generated:
function(args)
Description....
to 4 spaces per level (no longer 8).
(Makefile): Use .pyc versions of partparse.py and texi2html.py to generate
converted documentation formats. This reduces the startup costs;
probably doesn't affect anyone but me in reality, but helps when
working on the docs.