* man.el (Man-fontify-manpage, Man-cleanup-manpage):
authorJuri Linkov <juri@jurta.org>
Sun, 14 Feb 2010 00:20:31 +0000 (02:20 +0200)
committerJuri Linkov <juri@jurta.org>
Sun, 14 Feb 2010 00:20:31 +0000 (02:20 +0200)
Remove remaining ^H with their preceding chars.  (Bug#5566)

lisp/ChangeLog
lisp/man.el

index 0b764b3..9590f80 100644 (file)
@@ -1,3 +1,8 @@
+2010-02-14  Juri Linkov  <juri@jurta.org>
+
+       * man.el (Man-fontify-manpage, Man-cleanup-manpage):
+       Remove remaining ^H with their preceding chars.  (Bug#5566)
+
 2010-02-13  Glenn Morris  <rgm@gnu.org>
 
        * simple.el (transpose-subr): Give it a doc-string.
index dd64fbd..a92caf4 100644 (file)
@@ -1087,6 +1087,11 @@ Same for the ANSI bold and normal escape sequences."
     (while (re-search-forward "[-|]\\(\b[-|]\\)+" nil t)
       (replace-match "+")
       (put-text-property (1- (point)) (point) 'face 'bold))
+    ;; When the header is longer than the manpage name, groff tries to
+    ;; condense it to a shorter line interspered with ^H.  Remove ^H with
+    ;; their preceding chars (but don't put Man-overstrike-face).  (Bug#5566)
+    (goto-char (point-min))
+    (while (re-search-forward ".\b" nil t) (backward-delete-char 2))
     (goto-char (point-min))
     ;; Try to recognize common forms of cross references.
     (Man-highlight-references)
@@ -1174,6 +1179,11 @@ script would have done them."
        ))
   (goto-char (point-min))
   (while (re-search-forward "[-|]\\(\b[-|]\\)+" nil t) (replace-match "+"))
+  ;; When the header is longer than the manpage name, groff tries to
+  ;; condense it to a shorter line interspered with ^H.  Remove ^H with
+  ;; their preceding chars (but don't put Man-overstrike-face).  (Bug#5566)
+  (goto-char (point-min))
+  (while (re-search-forward ".\b" nil t) (backward-delete-char 2))
   (Man-softhyphen-to-minus)
   (message "%s man page cleaned up" Man-arguments))