1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-26 19:18:50 +00:00

(describe-mode): Use marker buttons to make minor mode list into hyperlinks.

This commit is contained in:
Daniel Pfeiffer 2004-10-13 19:01:01 +00:00
parent cb32aefcd4
commit e25e90b4b1
2 changed files with 46 additions and 22 deletions

View File

@ -1,3 +1,14 @@
2004-10-13 Daniel Pfeiffer <occitan@esperanto.org>
* button.el (button-activate): Allow a marker to display as an
action.
* help-fns.el (describe-variable): Use it to make "below" a
hyperlink.
* help.el (describe-mode): Use it to make minor mode list into
hyperlinks.
2004-10-14 Masatake YAMATO <jet@gyve.org>
* progmodes/gud.el (gdb-script-beginning-of-defun): New function.

View File

@ -111,6 +111,9 @@
(define-key help-map "q" 'help-quit)
;; insert-button makes the action nil if it is not store somewhere
(defvar help-button-cache nil)
(defun help-quit ()
"Just exit from the Help command's command loop."
@ -655,32 +658,42 @@ whose documentation describes the minor mode."
(lambda (a b) (string-lessp (car a) (car b)))))
(when minor-modes
(princ "Summary of minor modes:\n")
(dolist (mode minor-modes)
(let ((pretty-minor-mode (nth 0 mode))
(indicator (nth 2 mode)))
(princ (format " %s minor mode (%s):\n"
pretty-minor-mode
(if indicator
(format "indicator%s" indicator)
"no indicator")))))
(make-local-variable 'help-button-cache)
(with-current-buffer standard-output
(dolist (mode minor-modes)
(let ((pretty-minor-mode (nth 0 mode))
(mode-function (nth 1 mode))
(indicator (nth 2 mode)))
(add-text-properties 0 (length pretty-minor-mode)
'(face bold) pretty-minor-mode)
(save-excursion
(goto-char (point-max))
(princ "\n\f\n")
(push (point-marker) help-button-cache)
;; Document the minor modes fully.
(insert pretty-minor-mode)
(princ (format " minor mode (%s):\n"
(if indicator
(format "indicator%s" indicator)
"no indicator")))
(princ (documentation mode-function)))
(princ " ")
(insert-button pretty-minor-mode
'action (car help-button-cache)
'help-echo "mouse-2, RET: show full information")
(princ (format " minor mode (%s):\n"
(if indicator
(format "indicator%s" indicator)
"no indicator"))))))
(princ "\n(Full information about these minor modes
follows the description of the major mode.)\n\n"))
;; Document the major mode.
(princ mode-name)
(let ((mode mode-name))
(with-current-buffer standard-output
(insert mode)
(add-text-properties (- (point) (length mode)) (point) '(face bold))))
(princ " mode:\n")
(princ (documentation major-mode))
;; Document the minor modes fully.
(dolist (mode minor-modes)
(let ((pretty-minor-mode (nth 0 mode))
(mode-function (nth 1 mode))
(indicator (nth 2 mode)))
(princ "\n\f\n")
(princ (format "%s minor mode (%s):\n"
pretty-minor-mode
(if indicator
(format "indicator%s" indicator)
"no indicator")))
(princ (documentation mode-function)))))
(princ (documentation major-mode)))
(print-help-return-message))))