summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/emacs/help.texi3
-rw-r--r--lisp/help-mode.el9
-rw-r--r--lisp/info-look.el7
3 files changed, 19 insertions, 0 deletions
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index 5a458209d2f..1f743ccd88f 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -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
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 894b2a50aa7..5fb5dcfb195 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -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)
diff --git a/lisp/info-look.el b/lisp/info-look.el
index 64f16df4dc3..42e758360ea 100644
--- a/lisp/info-look.el
+++ b/lisp/info-look.el
@@ -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)))