]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a *Help* command that'll take you to the lispref manual
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 24 Jan 2022 11:59:55 +0000 (12:59 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 24 Jan 2022 11:59:55 +0000 (12:59 +0100)
* doc/emacs/help.texi (Help Mode): Document it.
* lisp/help-mode.el (help-mode-map): Add an `I' keystroke.
(help-goto-lispref-info): New command.

* lisp/info-look.el (:mode): Add an entry for the lispref manual.

doc/emacs/help.texi
lisp/help-mode.el
lisp/info-look.el

index 5a458209d2f77883fab37e9526da409a3a6bd6f8..1f743ccd88fde9fbbb97bed20a66340bc78f2b7e 100644 (file)
@@ -478,6 +478,9 @@ View the source of the current help topic (if any)
 (@code{help-view-source}).
 @item i
 Look up the current topic in the manual(s) (@code{help-goto-info}).
+@item I
+Look up the current topic in the Emacs Lisp manual
+(@code{help-goto-lispref-info}).
 @item c
 Customize the variable or the face (@code{help-customize}).
 @end table
index 894b2a50aa7a5d3ba82482c8b415424e97b56054..5fb5dcfb195365f8e7c04d591e39b60ba42bc957 100644 (file)
@@ -45,6 +45,7 @@
     (define-key map [XF86Forward] 'help-go-forward)
     (define-key map "\C-c\C-c" 'help-follow-symbol)
     (define-key map "s" 'help-view-source)
+    (define-key map "I" 'help-goto-lispref-info)
     (define-key map "i" 'help-goto-info)
     (define-key map "c" 'help-customize)
     map)
@@ -819,6 +820,14 @@ The help buffers are divided into \"pages\" by the ^L character."
   (info-lookup-symbol (plist-get help-mode--current-data :symbol)
                       'emacs-lisp-mode))
 
+(defun help-goto-lispref-info ()
+  "View the Emacs Lisp manual *info* node of the current help item."
+  (interactive nil help-mode)
+  (unless help-mode--current-data
+    (error "No symbol to look up in the current buffer"))
+  (info-lookup-symbol (plist-get help-mode--current-data :symbol)
+                      'emacs-lisp-only))
+
 (defun help-customize ()
   "Customize variable or face whose doc string is shown in the current buffer."
   (interactive nil help-mode)
index 64f16df4dc376a67ddfd3f72cea2d524c96c8ca8..42e758360ea3006437b66f71c33a2541fb1ea8ee 100644 (file)
@@ -1010,6 +1010,13 @@ Return nil if there is nothing appropriate in the buffer near point."
              ("(cl)Function Index"    nil "^ -+ .*: " "\\( \\|$\\)")
              ("(cl)Variable Index"    nil "^ -+ .*: " "\\( \\|$\\)")))
 
+(info-lookup-maybe-add-help
+ :mode 'emacs-lisp-only
+ :regexp "[^][()`'‘’,\" \t\n]+"
+ :doc-spec '(("(elisp)Index"          nil "^ -+ .*: " "\\( \\|$\\)")
+             ("(cl)Function Index"    nil "^ -+ .*: " "\\( \\|$\\)")
+             ("(cl)Variable Index"    nil "^ -+ .*: " "\\( \\|$\\)")))
+
 (mapc
  (lambda (elem)
    (let* ((prefix (car elem)))