mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
* lisp/help-mode.el (help-bookmark-make-record, help-bookmark-jump): New funs.
(help-mode): Use them.
This commit is contained in:
parent
43682bb61e
commit
0c9e42b592
@ -1,3 +1,9 @@
|
||||
2012-06-12 Drew Adams <drew.adams@oracle.com>
|
||||
|
||||
* help-mode.el (help-bookmark-make-record, help-bookmark-jump):
|
||||
New functions.
|
||||
(help-mode): Use them.
|
||||
|
||||
2012-06-11 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* progmodes/fortran.el (fortran-font-lock-keywords-3):
|
||||
|
@ -267,6 +267,8 @@ The format is (FUNCTION ARGS...).")
|
||||
'help-function 'customize-create-theme
|
||||
'help-echo (purecopy "mouse-2, RET: edit this theme file"))
|
||||
|
||||
(defvar bookmark-make-record-function)
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode help-mode special-mode "Help"
|
||||
"Major mode for viewing help text and navigating references in it.
|
||||
@ -274,7 +276,9 @@ Entry to this mode runs the normal hook `help-mode-hook'.
|
||||
Commands:
|
||||
\\{help-mode-map}"
|
||||
(set (make-local-variable 'revert-buffer-function)
|
||||
'help-mode-revert-buffer))
|
||||
'help-mode-revert-buffer)
|
||||
(set (make-local-variable 'bookmark-make-record-function)
|
||||
'help-bookmark-make-record))
|
||||
|
||||
;;;###autoload
|
||||
(defun help-mode-setup ()
|
||||
@ -791,6 +795,36 @@ help buffer by other means."
|
||||
(with-output-to-temp-buffer (help-buffer)
|
||||
(insert string)))
|
||||
|
||||
|
||||
;; Bookmark support
|
||||
|
||||
(declare-function bookmark-prop-get "bookmark" (bookmark prop))
|
||||
|
||||
(defun help-bookmark-make-record ()
|
||||
"Create and return a help-mode bookmark record.
|
||||
Implements `bookmark-make-record-function' for help-mode buffers."
|
||||
(unless (car help-xref-stack-item)
|
||||
(error "Cannot create bookmark - help command not known"))
|
||||
`(,@(bookmark-make-record-default 'NO-FILE 'NO-CONTEXT)
|
||||
(buffer-name . "*Help*")
|
||||
(help-fn . ,(car help-xref-stack-item))
|
||||
(help-arg . ,(cadr help-xref-stack-item))
|
||||
(position . ,(point))
|
||||
(handler . help-bookmark-jump)))
|
||||
|
||||
;;;###autoload
|
||||
(defun help-bookmark-jump (bookmark)
|
||||
"Jump to help-mode bookmark BOOKMARK.
|
||||
Handler function for record returned by `help-bookmark-make-record'.
|
||||
BOOKMARK is a bookmark name or a bookmark record."
|
||||
(let ((help-fn (bookmark-prop-get bookmark 'help-fn))
|
||||
(help-arg (bookmark-prop-get bookmark 'help-arg))
|
||||
(position (bookmark-prop-get bookmark 'position)))
|
||||
(funcall help-fn help-arg)
|
||||
(pop-to-buffer "*Help*")
|
||||
(goto-char position)))
|
||||
|
||||
|
||||
(provide 'help-mode)
|
||||
|
||||
;;; help-mode.el ends here
|
||||
|
Loading…
Reference in New Issue
Block a user