Woman parsing fix (Bug#5729).
authorChong Yidong <cyd@stupidchicken.com>
Tue, 16 Mar 2010 17:24:44 +0000 (13:24 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 16 Mar 2010 17:24:44 +0000 (13:24 -0400)
* woman.el (woman2-process-escapes): Only consume the newline if
the filler character is on a line by itself (Bug#5729).

lisp/ChangeLog
lisp/woman.el

index abacebd..832297e 100644 (file)
@@ -1,3 +1,8 @@
+2010-03-16  Chong Yidong  <cyd@stupidchicken.com>
+
+       * woman.el (woman2-process-escapes): Only consume the newline if
+       the filler character is on a line by itself (Bug#5729).
+
 2010-03-16  Kenichi Handa  <handa@m17n.org>
 
        * language/indian.el (devanagari-composable-pattern): Add more
index b365126..79d6d84 100644 (file)
@@ -3876,10 +3876,14 @@ Optional argument NUMERIC, if non-nil, means the argument is numeric."
   ;; The first two cases below could be merged (maybe)!
   (let ((from (point)))
     ;; Discard zero width filler character used to hide leading dots
-    ;; and zero width characters.  If on a line by itself, consume the
-    ;; newline as well, as this may interfere with (Bug#3651).
-    (while (re-search-forward "\\\\[&|^]\n?" to t)
-      (woman-delete-match 0))
+    ;; and zero width characters.
+    (while (re-search-forward "\\\\[&|^]" to t)
+      (woman-delete-match 0)
+      ;; If on a line by itself, consume newline as well (Bug#3651).
+      (and (eq (char-before (match-beginning 0)) ?\n)
+          (eq (char-after (match-beginning 0)) ?\n)
+          (delete-char 1)))
+
     (goto-char from)
     ;; Interrupt text processing -- CONTINUE current text with the
     ;; next text line (after any control lines, unless processing to