Log message:
Update to 20031021:
2003 10 21
-The default has been changed to not do syntax checking with perl.
Use -syn if you want it. Perltidy is very robust now, and the -syn
flag now causes more problems than it's worth because of BEGIN blocks
(which get executed with perl -c). For example, perltidy will never
return when trying to beautify this code if -syn is used:
BEGIN { 1 while { }; }
Although this is an obvious error, perltidy is often run on untested
code which is more likely to have this sort of problem. A more subtle
example is:
BEGIN { use FindBin; }
which may hang on some systems using -syn if a shared file system is
unavailable.
-Changed style -gnu to use -cti=1 instead of -cti=2 (see next item).
In most cases it looks better. To recover the previous format, use
'-gnu -cti=2'
-Added flags B<-cti=n> for finer control of closing token indentation.
-cti = 0 no extra indentation (default; same as -nicp)
-cti = 1 enough indentation so that the closing token
aligns with its opening token.
-cti = 2 one extra indentation level if the line has the form
C<);>, C<];>, or <};> (same as -icp).
The new option -cti=1 works well with -lp:
EXAMPLES:
# perltidy -lp -cti=1
@month_of_year = (
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
);
# perltidy -lp -cti=2
@month_of_year = (
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
);
This is backwards compatible with -icp. See revised manual for
details. Suggested by Mike Pennington.
-Added flag '--preserve-line-endings' or '-ple' to cause the output
line ending to be the same as in the input file, for unix, dos,
or mac line endings. Only works under unix. Suggested by
Rainer Hochschild.
-Added flag '--output-line-ending=s' or '-ole=s' where s=dos or win,
unix, or mac. Only works under unix.
-Files with Mac line endings should now be handled properly under unix
and dos without being passed through a converter.
-You may now include 'and', 'or', and 'xor' in the list following
'--want-break-after' to get line breaks after those keywords rather than
before them. Suggested by Rainer Hochschild.
-Corrected problem with command line option for -vtc=n and -vt=n. The
equals sign was being eaten up by the Windows shell so perltidy didn't
see it.
2003 07 26
-Corrected cause of warning message with recent versions of Perl:
"Possible precedence problem on bitwise & operator at ..."
Thanks to Jim Files.
-fixed bug with -html with '=for pod2html' sections, in which code/pod
output order was incorrect. Thanks to Tassilo von Parseval.
-fixed bug when the -html flag is used, in which the following error
message, plus others, appear:
did not see <body> in pod2html output
This was caused by a change in the format of html output by pod2html
VERSION 1.04 (included with perl 5.8). Thanks to Tassilo von Parseval.
-Fixed bug where an __END__ statement would be mistaken for a label
if it is immediately followed by a line with a leading colon. Thanks
to John Bayes.
-Implemented guessing logic for brace types when it is ambiguous. This
has been on the TODO list a long time. Thanks to Boris Zentner for
an example.
-Long options may now be negated either as '--nolong-option'
or '--no-long-option'. Thanks to Philip Newton for the suggestion.
-added flag --html-entities or -hent which controls the use of
Html::Entities for html formatting. Use --nohtml-entities or -nhent to
prevent the use of Html::Entities to encode special symbols. The
default is -hent. Html::Entities when formatting perl text to escape
special symbols. This may or may not be the right thing to do,
depending on browser/language combinations. Thanks to Gurak Bursoy for
this suggestion.
-Bareword strings with leading '-', like, '-foo' now count as 1 token
for horizontal tightness. This way $a{'-foo'}, $a{foo}, and $a{-foo}
are now all treated similarly. Thus, by default, OLD: $a{ -foo } will
now be NEW: $a{-foo}. Suggested by Mark Olesen.
-added 2 new flags to control spaces between keywords and opening parens:
-sak=s or --space-after-keyword=s, and
-nsak=s or --nospace-after-keyword=s, where 's' is a list of keywords.
The new default list of keywords which get a space is:
"my local our and or eq ne if else elsif until unless while for foreach
return switch case given when"
Use -sak=s and -nsak=s to add and remove keywords from this list,
respectively.
Explanation: Stephen Hildrey noted that perltidy was being inconsistent
in placing spaces between keywords and opening parens, and sent a patch
to give user control over this. The above list was selected as being
a reasonable default keyword list. Previously, perltidy
had a hardwired list which also included these keywords:
push pop shift unshift join split die
but did not have 'our'. Example: if you prefer to make perltidy behave
exactly as before, you can include the following two lines in your
.perltidyrc file:
-sak="push pop local shift unshift join split die"
-nsak="our"
-Corrected html error in .toc file when -frm -html is used (extra ");
browsers were tolerant of it.
-Improved alignment of chains of binary and ?/: operators. Example:
OLD:
$leapyear =
$year % 4 ? 0
: $year % 100 ? 1
: $year % 400 ? 0
: 1;
NEW:
$leapyear =
$year % 4 ? 0
: $year % 100 ? 1
: $year % 400 ? 0
: 1;
-improved breakpoint choices involving '->'
-Corrected tokenization of things like ${#} or ${©}. For example,
${©} is valid, but ${© } is a syntax error.
-Corrected minor tokenization errors with indirect object notation.
For example, 'new A::()' works now.
-Minor tokenization improvements; all perl code distributed with perl 5.8
seems to be parsed correctly except for one instance (lextest.t)
of the known bug.
|