From: Juanma Barranquero Date: Sun, 13 Mar 2011 01:57:40 +0000 (+0100) Subject: lisp/help.el (describe-mode): Link to the mode's definition. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~590^2~3 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9d05d1ba20797a7478a7ed68ff88452cb4f8c4c8;p=emacs.git lisp/help.el (describe-mode): Link to the mode's definition. Fixes: debbugs:8185 --- 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)