]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 282349: Comments are forced to being left-justified
authormkanat%kerio.com <>
Sun, 27 Feb 2005 09:14:05 +0000 (09:14 +0000)
committermkanat%kerio.com <>
Sun, 27 Feb 2005 09:14:05 +0000 (09:14 +0000)
Patch By Max Kanat-Alexander <mkanat@kerio.com> r=myk, r=gerv, a=justdave

Bugzilla/Util.pm
checksetup.pl

index 7481c18c3bcdaabc0a2503dc6401878abea0e5ad..8fcb900df63f9cdbf1e9f1e30bdcfbb69f4b5518 100644 (file)
@@ -43,28 +43,7 @@ use Bugzilla::Error;
 use Bugzilla::Constants;
 use Date::Parse;
 use Date::Format;
-use Text::Autoformat qw(autoformat break_wrap);
-
-our $autoformat_options = {
-    # Reformat all paragraphs, not just the first one.
-    all        => 1,
-    # Break only on spaces, and let long lines overflow.
-    break      => break_wrap,
-    # Columns are COMMENT_COLS wide.
-    right      => COMMENT_COLS,
-    # Don't reformat into perfect paragraphs, just wrap.
-    fill       => 0,
-    # Don't compress whitespace.
-    squeeze    => 0,
-    # Lines starting with ">" are not wrapped.
-    ignore     => qr/^>/,
-    # Don't re-arrange numbered lists.
-    renumber   => 0,
-    # Keep short lines at the end of paragraphs as-is.
-    widow      => 0,
-    # Even if a paragraph looks centered, don't "auto-center" it.
-    autocentre => 0,
-};
+use Text::Wrap;
 
 # This is from the perlsec page, slightly modifed to remove a warning
 # From that page:
@@ -218,7 +197,26 @@ sub diff_strings {
 
 sub wrap_comment ($) {
     my ($comment) = @_;
-    return autoformat($comment, $autoformat_options);
+    my $wrappedcomment = "";
+
+    # Use 'local', as recommended by Text::Wrap's perldoc.
+    local $Text::Wrap::columns = COMMENT_COLS;
+    # Make words that are longer than COMMENT_COLS not wrap.
+    local $Text::Wrap::huge    = 'overflow';
+    # Don't mess with tabs.
+    local $Text::Wrap::unexpand = 0;
+
+    # If the line starts with ">", don't wrap it. Otherwise, wrap.
+    foreach my $line (split(/\r\n|\r|\n/, $comment)) {
+      if ($line =~ qr/^>/) {
+        $wrappedcomment .= ($line . "\n");
+      }
+      else {
+        $wrappedcomment .= (wrap('', '', $line) . "\n");
+      }
+    }
+
+    return $wrappedcomment;
 }
 
 sub format_time {
index e94e9dc0dc084fdfa2dd3a4ad333f57f548b9595..0aaebe652791060993dbdaf987ed632f0e7797bf 100755 (executable)
@@ -313,8 +313,8 @@ my $modules = [
         version => '2.08' 
     }, 
     { 
-        name => 'Text::Autoformat', 
-        version => '0' 
+        name => 'Text::Wrap',
+        version => '2001.0131'
     }, 
     { 
         name => 'Mail::Mailer',