]> git.eshelyaron.com Git - emacs.git/commitdiff
(Man-bgproc-sentinel): Check here for failure to find
authorRichard M. Stallman <rms@gnu.org>
Sat, 23 Jul 2005 22:51:58 +0000 (22:51 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 23 Jul 2005 22:51:58 +0000 (22:51 +0000)
any man page in the output, and report the error here.
(Man-arguments): Make it permanent local.
(Man-goto-page): New arg NOERROR.  Never kill the current buffer.
(Man-mode): Pass t for NOERROR.

lisp/ChangeLog
lisp/man.el

index 1823f0c3ec94ac5c047b36d17ddf4e211d4dc37d..03c4b8943cf69c8b8118168ca7657f0b06557dda 100644 (file)
@@ -1,3 +1,18 @@
+2005-07-23  Richard M. Stallman  <rms@gnu.org>
+
+       * man.el (Man-bgproc-sentinel): Check here for failure to find
+       any man page in the output, and report the error here.
+       (Man-arguments): Make it permanent local.
+       (Man-goto-page): New arg NOERROR.  Never kill the current buffer.
+       (Man-mode): Pass t for NOERROR.
+
+       * progmodes/grep.el (grep-error-face): Use font-lock-keyword-face
+       (grep-mode-font-lock-keywords): 
+       Don't use compilation-...-face for messages that are not file names.
+
+       * progmodes/compile.el (compilation-mode-font-lock-keywords):
+       Don't use compilation-...-face for messages that are not file names.
+
 2005-07-22  Juri Linkov  <juri@jurta.org>
 
        * simple.el (line-move-1): Fix comments.
index cb62aa65e942341cbc3451ba6a26d1aa4ca5ede5..70304d320435ea4a879049268fbc3c38cd9200e3 100644 (file)
@@ -352,6 +352,7 @@ Otherwise, the value is whatever the function
 (make-variable-buffer-local 'Man-page-mode-string)
 (make-variable-buffer-local 'Man-original-frame)
 (make-variable-buffer-local 'Man-arguments)
+(put 'Man-arguments 'permanent-local t)
 
 (setq-default Man-sections-alist nil)
 (setq-default Man-refpages-alist nil)
@@ -1005,8 +1006,15 @@ manpage command."
           (if Man-fontify-manpage-flag
               (Man-fontify-manpage)
             (Man-cleanup-manpage))
+
           (run-hooks 'Man-cooked-hook)
-          (Man-mode)
+         (Man-mode)
+
+         (if (not Man-page-list)
+             (let ((args Man-arguments))
+               (kill-buffer (current-buffer))
+               (error "Can't find the %s manpage" args)))
+
           (set-buffer-modified-p nil)
           ))
        ;; Restore case-fold-search before calling
@@ -1082,7 +1090,7 @@ The following key bindings are currently in effect in the buffer:
   (Man-build-page-list)
   (Man-strip-page-headers)
   (Man-unindent)
-  (Man-goto-page 1)
+  (Man-goto-page 1 t)
   (run-mode-hooks 'Man-mode-hook))
 
 (defsubst Man-build-section-alist ()
@@ -1342,35 +1350,32 @@ Specify which REFERENCE to use; default is based on word at point."
   (interactive)
   (quit-window))
 
-(defun Man-goto-page (page)
+(defun Man-goto-page (page noerror)
   "Go to the manual page on page PAGE."
   (interactive
    (if (not Man-page-list)
-       (let ((args Man-arguments))
-        (kill-buffer (current-buffer))
-        (error "Can't find the %s manpage" args))
+       (error "Not a man page buffer")
      (if (= (length Man-page-list) 1)
         (error "You're looking at the only manpage in the buffer")
        (list (read-minibuffer (format "Go to manpage [1-%d]: "
                                      (length Man-page-list)))))))
-  (if (not Man-page-list)
-      (let ((args Man-arguments))
-       (kill-buffer (current-buffer))
-       (error "Can't find the %s manpage" args)))
-  (if (or (< page 1)
-         (> page (length Man-page-list)))
-      (error "No manpage %d found" page))
-  (let* ((page-range (nth (1- page) Man-page-list))
-        (page-start (car page-range))
-        (page-end (car (cdr page-range))))
-    (setq Man-current-page page
-         Man-page-mode-string (Man-make-page-mode-string))
-    (widen)
-    (goto-char page-start)
-    (narrow-to-region page-start page-end)
-    (Man-build-section-alist)
-    (Man-build-references-alist)
-    (goto-char (point-min))))
+  (if (and (not Man-page-list) (not noerror))
+      (error "Not a man page buffer"))
+  (when Man-page-list
+    (if (or (< page 1)
+           (> page (length Man-page-list)))
+       (error "No manpage %d found" page))
+    (let* ((page-range (nth (1- page) Man-page-list))
+          (page-start (car page-range))
+          (page-end (car (cdr page-range))))
+      (setq Man-current-page page
+           Man-page-mode-string (Man-make-page-mode-string))
+      (widen)
+      (goto-char page-start)
+      (narrow-to-region page-start page-end)
+      (Man-build-section-alist)
+      (Man-build-references-alist)
+      (goto-char (point-min)))))
 
 
 (defun Man-next-manpage ()