emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#15722: closed ([PATCH] Man: Add menu.)


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#15722: closed ([PATCH] Man: Add menu.)
Date: Sun, 27 Oct 2013 02:05:02 +0000

Your message dated Sat, 26 Oct 2013 22:04:14 -0400
with message-id <address@hidden>
and subject line Re: [PATCH] Man: Add menu.
has caused the debbugs.gnu.org bug report #15722,
regarding [PATCH] Man: Add menu.
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
15722: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15722
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [PATCH] Man: Add menu. Date: Sat, 26 Oct 2013 14:26:20 +0200 User-agent: KMail/4.11.2 (Linux/3.11.0-12-generic; KDE/4.11.2; x86_64; ; )
I wasn't sure if it is acceptable to use `cl-lib'.  The check whether
there is a "SEE ALSO" section could be simplified to
  (cl-member Man-see-also-regexp Man--sections :test #'string-match-p)

* lisp/man.el (man-imenu-title): New defcustom.
  (Man-mode-map): Add menu entry.
  (Man-mode): Add imenu to menu.

Signed-off-by: RĂ¼diger Sonderfeld <address@hidden>
---
 lisp/man.el | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/lisp/man.el b/lisp/man.el
index 5619803..a9dcd98 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -368,6 +368,12 @@ (defvar Man-support-local-filenames 'auto-detect
 Otherwise, the value is whatever the function
 `Man-support-local-filenames' should return.")
 
+(defcustom man-imenu-title "Contents"
+  "The title to use if man adds a Contents menu to the menubar.
+Default is \"Contents\"."
+  :type 'string
+  :group 'man)
+
 
 ;; other variables and keymap initializations
 (defvar Man-original-frame)
@@ -446,6 +452,31 @@ (defvar Man-mode-map
     ;; manual page can contain references to other man pages
     (define-key map "\r"   'man-follow)
     (define-key map "?"    'describe-mode)
+
+    (easy-menu-define nil map
+      "`Man-mode' menu."
+      '("Man"
+        ["Next Section" Man-next-section t]
+        ["Previous Section" Man-previous-section t]
+        ["Go To Section..." Man-goto-section t]
+        ["Go To \"SEE ALSO\" Section" Man-goto-see-also-section
+         :active (let (m)
+                   (dolist (sec Man--sections m)
+                     (when (and (not m)
+                                (string-match-p Man-see-also-regexp sec))
+                       (setq m t))))]
+        ["Follow Reference..." Man-follow-manual-reference
+         :active Man--refpages
+         :help "Go to a manpage referred to in the \"SEE ALSO\" section"]
+        "--"
+        ["Next Manpage" Man-next-manpage
+         :active (> (length Man-page-list) 1)]
+        ["Previous Manpage" Man-previous-manpage
+         :active (> (length Man-page-list) 1)]
+        "--"
+        ["Man..." man t]
+        ["Kill Buffer" Man-kill t]
+        ["Quit" Man-quit t]))
     map)
   "Keymap for Man mode.")
 
@@ -1396,6 +1427,7 @@ (define-derived-mode Man-mode fundamental-mode "Man"
   (buffer-disable-undo)
   (auto-fill-mode -1)
   (setq imenu-generic-expression (list (list nil Man-heading-regexp 0)))
+  (imenu-add-to-menubar man-imenu-title)
   (set (make-local-variable 'outline-regexp) Man-heading-regexp)
   (set (make-local-variable 'outline-level) (lambda () 1))
   (set (make-local-variable 'bookmark-make-record-function)
-- 
1.8.4.1




--- End Message ---
--- Begin Message --- Subject: Re: [PATCH] Man: Add menu. Date: Sat, 26 Oct 2013 22:04:14 -0400 User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)
Version: 24.4

Thank you, applied. Trivial comments follow:

RĂ¼diger Sonderfeld wrote:

> +(defcustom man-imenu-title "Contents"
> +  "The title to use if man adds a Contents menu to the menubar.
> +Default is \"Contents\"."

No need to say what the default is, since that information is
automatically available. New defcustoms need :version tags.

BTW, I suggest you create a Savannah account and request membership of
the Emacs project so that you can commit these things yourself.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]