]> git.donarmstrong.com Git - perltidy.git/blobdiff - BUGS
* New upstream release
[perltidy.git] / BUGS
diff --git a/BUGS b/BUGS
index edca9bc7fdb9770c1d2a2f2121276a5c5172081b..d43b28e19677075997b148affa7bc4ab2362c299 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,39 +1,45 @@
-Perltidy open BUGS
-     You can help perltidy evolve into a better program.  If you think you
-     have hit a bug or weird behavior, or have a suggested improvement,
-     please send a note to perltidy at users.sourceforge.net.
-
-     This file only lists open bugs.  For bugs which have been fixed, 
-     see the ChangeLog.  
-
-  A here-doc invoked through an 'e' modifier on a pattern replacement text is not recognized
-    For example, the output of perltidy for this script has a syntax error:
-
-            my $text="Hello World!\n";
-            $text =~ s@Hello@<<'END'@e;
-            Goodbye 
-            Cruel
-            END
-            print "$text\n";
-
-    A workaround is to put the here-doc in a temporary string and then do
-    the substitution:
-
-            my $text="Hello World!\n";
-            my $str=<<'END';
-            Goodbye 
-            Cruel
-            END
-            $text =~ s@Hello@$str@e;
-            print "$text\n";
-
-  The --extrude option can occasionally produce code with syntax errors
-    The --extrude tries to put as many newlines in the formatted code as
-    possible. This option is of limited use for formatting, but it has been
-    helpful for debugging purposes. Occasionally it will produce code which
-    Perl considers to have a syntax error. These problems usually involve
-    code where Perl is having to guess the tokenization. For example,
-    --extrude will currently cause a syntax error in the following line:
+Perltidy open BUGS and LIMITATIONS
+    You can help perltidy evolve into a better program. If you think you
+    have hit a bug or weird behavior, or have a suggested improvement,
+    please send a note to perltidy at users.sourceforge.net.
+
+    This file only lists open bugs. For bugs which have been fixed, see the
+    ChangeLog.
 
-     utime $inc+0 ? ($mtime, $ntime) : ($atime, $atime), $file;
+  The --extrude and --mangle options can produce code with syntax errors
+    The --extrude tries to put as many newlines in the formatted code as
+    possible. The --mangle tries to remove as many newlines as possible.
+    These options are very useful for stress testing perltidy (and Perl) but
+    not so much for normal formatting. Occasionally they will produce code
+    which Perl considers to have a syntax error. These problems often
+    involve code where Perl is having to guess the tokenization based on
+    whitespace. The given/when and switch/case statements are also
+    particularly vulnerable to unusual line breaks and whitespace. This type
+    of error should not normally occur in practice, but if it does it should
+    be easy to fix the problem by rerunning perltidy with more normal
+    parameters or by manually changing whitespace or newlines.
+
+  The Pod:Html module has some bugs
+    For the most part Pod::Html works very well and is very convenient
+    because it part of the standard Perl distribution. But for example the
+    following line
+
+      =item B<< <Deck> = Session->new_cflt_deck; >>
+
+    which uses double brackets to contain single brackets does not render
+    correctly.
+
+  Perltidy does not handle UTF-8 encoded files
+  Two iterations are sometimes needed
+    Usually the code produced by perltidy on the first pass does not change
+    if it is run again, but sometimes a second pass will produce some small
+    additional change. This mainly happens if a major style change is made,
+    particularly when perltidy is untangling complex ternary statements. Use
+    the iteration parameter -it=2 if it is important that the results be
+    unchanged on subsequent passes, but note that this doubles the run time.
+
+  Latest Bug and Wishlist at CPAN:
+    For the latest list of bugs and feature requests at CPAN see:
+
+    https://rt.cpan.org/Public/Dist/Display.html?Name=Perl-Tidy