GNU bug report logs - #15722
[PATCH] Man: Add menu.

Previous Next

Package: emacs;

Reported by: Rüdiger Sonderfeld <ruediger <at> c-plusplus.de>

Date: Sat, 26 Oct 2013 12:27:01 UTC

Severity: wishlist

Tags: patch

Fixed in version 24.4

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Glenn Morris <rgm <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#15722: closed ([PATCH] Man: Add menu.)
Date: Sun, 27 Oct 2013 02:05:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 26 Oct 2013 22:04:14 -0400
with message-id <j4n83bhb5.fsf <at> fencepost.gnu.org>
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
help-debbugs <at> gnu.org.)


-- 
15722: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15722
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Rüdiger Sonderfeld <ruediger <at> c-plusplus.de>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] Man: Add menu.
Date: Sat, 26 Oct 2013 14:26:20 +0200
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 <ruediger <at> c-plusplus.de>
---
 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



[Message part 3 (message/rfc822, inline)]
From: Glenn Morris <rgm <at> gnu.org>
To: 15722-done <at> debbugs.gnu.org
Subject: Re: [PATCH] Man: Add menu.
Date: Sat, 26 Oct 2013 22:04:14 -0400
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.


This bug report was last modified 11 years and 211 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.