[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5474: 23.1.91.1; describe-mode does not offer link to the .el
From: |
Juri Linkov |
Subject: |
bug#5474: 23.1.91.1; describe-mode does not offer link to the .el |
Date: |
Mon, 25 Jan 2010 19:54:09 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (x86_64-pc-linux-gnu) |
> We hit C-h m. We see the following:
>
> XXXX mode:
> Major mode for editing XXXX.
>
> key binding
> --- -------
>
> C-c Prefix Command
> ESC Prefix Command
>
> C-M-x XXXX-eval-defun
>
> Nowhere is there a link to XXXX.el.
> We have to hit XXXX-eval-defun to get a link to XXXX.el.
>
> It should say at top
> XXXX mode:
> Major mode for editing XXXX. Defined in XXXX.el <---clickable.
>
> Or
> XXXX mode (... XXXX-mode, defined in XXXX.el):
> Major mode for editing XXXX.
This can be implemented after feature freeze with the following patch
that adds links to the major/minor mode names for `C-h m':
Index: emacs/lisp/help.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/help.el,v
retrieving revision 1.327
diff -u -r1.327 help.el
--- emacs/lisp/help.el 21 Mar 2007 16:15:45 -0000 1.327
+++ emacs/lisp/help.el 5 May 2007 17:01:30 -0000
@@ -815,7 +815,12 @@
(princ "\n\f\n")
(push (point-marker) help-button-cache)
;; Document the minor modes fully.
- (insert pretty-minor-mode)
+ (insert-button pretty-minor-mode
+ 'action `(lambda (button)
+ (describe-function ',mode-function))
+ 'follow-link t
+ 'help-echo (format "mouse-2, RET: show
information about %S"
+ mode-function))
(princ (format " minor mode (%s):\n"
(if (zerop (length indicator))
"no indicator"
@@ -833,10 +838,15 @@
(princ "\n(Information about these minor modes follows the major mode
info.)\n\n"))
;; Document the major mode.
- (let ((mode mode-name))
+ (let ((major-mode-function major-mode) (mode mode-name))
(with-current-buffer standard-output
(let ((start (point)))
- (insert (format-mode-line mode))
+ (insert-button (format-mode-line mode)
+ 'action `(lambda (button)
+ (describe-function
',major-mode-function))
+ 'follow-link t
+ 'help-echo (format "mouse-2, RET: show information
about %S"
+ major-mode-function))
(add-text-properties start (point) '(face bold)))))
(princ " mode:\n")
(princ (documentation major-mode)))
--
Juri Linkov
http://www.jurta.org/emacs/