From d5704d66b7244f17c7f3463b1bd821215ae54f46 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 16 Mar 2010 13:24:44 -0400 Subject: [PATCH] Woman parsing fix (Bug#5729). * woman.el (woman2-process-escapes): Only consume the newline if the filler character is on a line by itself (Bug#5729). --- lisp/ChangeLog | 5 +++++ lisp/woman.el | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index abacebd99c..832297eded 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-03-16 Chong Yidong + + * 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 * language/indian.el (devanagari-composable-pattern): Add more diff --git a/lisp/woman.el b/lisp/woman.el index b365126ecb..79d6d84aff 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -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 -- 2.20.1