From 9d05d1ba20797a7478a7ed68ff88452cb4f8c4c8 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Sun, 13 Mar 2011 02:57:40 +0100 Subject: [PATCH] lisp/help.el (describe-mode): Link to the mode's definition. Fixes: debbugs:8185 --- lisp/ChangeLog | 4 ++++ lisp/help.el | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3b47dd24698..1f50ee9ebe6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2011-03-13 Juanma Barranquero + + * help.el (describe-mode): Link to the mode's definition (bug#8185). + 2011-03-12 Stefan Monnier * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization diff --git a/lisp/help.el b/lisp/help.el index 9fcb06c559f..e148e5ef6ab 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -871,7 +871,17 @@ whose documentation describes the minor mode." (let ((start (point))) (insert (format-mode-line mode nil nil buffer)) (add-text-properties start (point) '(face bold))))) - (princ " mode:\n") + (princ " mode") + (let* ((mode major-mode) + (file-name (find-lisp-object-file-name mode nil))) + (when file-name + (princ (concat " defined in `" (file-name-nondirectory file-name) "'")) + ;; Make a hyperlink to the library. + (with-current-buffer standard-output + (save-excursion + (re-search-backward "`\\([^`']+\\)'" nil t) + (help-xref-button 1 'help-function-def mode file-name))))) + (princ ":\n") (princ (documentation major-mode))))) ;; For the sake of IELM and maybe others nil) -- 2.39.2