diff lisp/man.el @ 51892:3146f91c8c99

(Man-translate-cleanup): New. (Man-translate-references): Call `Man-translate-cleanup' to clean leading, trailing and middle spaces.
author Juanma Barranquero <lekktu@gmail.com>
date Sun, 13 Jul 2003 17:16:31 +0000
parents ebe64300a9d5
children c97fe9557de4
line wrap: on
line diff
--- a/lisp/man.el	Sun Jul 13 17:15:47 2003 +0000
+++ b/lisp/man.el	Sun Jul 13 17:16:31 2003 +0000
@@ -504,17 +504,30 @@
 				       (error "Malformed Man-filter-list"))
 				   phrase)
 				 pargs " ")))
-	(setq flist (cdr flist))))
+        (setq flist (cdr flist))))
     command))
 
+
+(defun Man-translate-cleanup (string)
+  "Strip leading, trailing and middle spaces."
+  (when (stringp string)
+    ;;  Strip leading and trailing
+    (if (string-match "^[ \t\f\r\n]*\\(.+[^ \t\f\r\n]\\)" string)
+        (setq string (match-string 1 string)))
+    ;; middle spaces
+    (setq string (replace-regexp-in-string "[\t\r\n]" " " string))
+    (setq string (replace-regexp-in-string "  +" " " string))
+    string))
+
 (defun Man-translate-references (ref)
   "Translates REF from \"chmod(2V)\" to \"2v chmod\" style.
 Leave it as is if already in that style.  Possibly downcase and
 translate the section (see the Man-downcase-section-letters-flag
 and the Man-section-translations-alist variables)."
   (let ((name "")
-	(section "")
-	(slist Man-section-translations-alist))
+        (section "")
+        (slist Man-section-translations-alist))
+    (setq ref (Man-translate-cleanup ref))
     (cond
      ;; "chmod(2V)" case ?
      ((string-match (concat "^" Man-reference-regexp "$") ref)
@@ -578,6 +591,7 @@
 ;;;###autoload
 (defalias 'manual-entry 'man)
 
+
 ;;;###autoload
 (defun man (man-args)
   "Get a Un*x manual page and put it in a buffer.