diff lisp/man.el @ 107144:0811f079d15e

* man.el (Man-fontify-manpage, Man-cleanup-manpage): Remove remaining ^H with their preceding chars. (Bug#5566)
author Juri Linkov <juri@jurta.org>
date Sun, 14 Feb 2010 02:20:31 +0200
parents 741ff2bdfe79
children f6b8c73548b3
line wrap: on
line diff
--- a/lisp/man.el	Sat Feb 13 11:29:25 2010 -0800
+++ b/lisp/man.el	Sun Feb 14 02:20:31 2010 +0200
@@ -1087,6 +1087,11 @@
     (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 @@
 	))
   (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))