mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-27 10:54:40 +00:00
Fix revert-buffer functionality of Help mode and Info.
* lisp/help-mode.el (help-mode): Set buffer-local variable revert-buffer-function to help-mode-revert-buffer. (help-mode-revert-buffer): New function. * lisp/info.el (Info-revert-find-node): Check for major-mode Info-mode before popping to "*info*" (like in other Info functions). Keep buffer-name in old-buffer-name. Keep Info-history-forward in old-history-forward. Pop to old-buffer-name or "*info*" to recreate the killed buffer. Set Info-history-forward from old-history-forward. (Info-breadcrumbs-depth): Add :group and :version.
This commit is contained in:
parent
64eba874f5
commit
dbd6da7865
@ -1,3 +1,17 @@
|
||||
2010-06-17 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* help-mode.el (help-mode): Set buffer-local variable
|
||||
revert-buffer-function to help-mode-revert-buffer.
|
||||
(help-mode-revert-buffer): New function.
|
||||
|
||||
* info.el (Info-revert-find-node): Check for major-mode Info-mode
|
||||
before popping to "*info*" (like in other Info functions).
|
||||
Keep buffer-name in old-buffer-name. Keep Info-history-forward in
|
||||
old-history-forward. Pop to old-buffer-name or "*info*" to
|
||||
recreate the killed buffer. Set Info-history-forward from
|
||||
old-history-forward.
|
||||
(Info-breadcrumbs-depth): Add :group and :version.
|
||||
|
||||
2010-06-17 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* emacs-lisp/package.el (package-menu-mode-map): Add a menu.
|
||||
|
@ -272,6 +272,9 @@ Commands:
|
||||
(with-current-buffer buffer
|
||||
(bury-buffer))))
|
||||
|
||||
(set (make-local-variable 'revert-buffer-function)
|
||||
'help-mode-revert-buffer)
|
||||
|
||||
(run-mode-hooks 'help-mode-hook))
|
||||
|
||||
;;;###autoload
|
||||
@ -783,6 +786,17 @@ Show all docs for that symbol as either a variable, function or face."
|
||||
(fboundp sym) (facep sym))
|
||||
(help-do-xref pos #'help-xref-interned (list sym)))))
|
||||
|
||||
(defun help-mode-revert-buffer (ignore-auto noconfirm)
|
||||
(when (or noconfirm (yes-or-no-p "Revert help buffer? "))
|
||||
(let ((pos (point))
|
||||
(item help-xref-stack-item)
|
||||
;; Pretend there is no current item to add to the history.
|
||||
(help-xref-stack-item nil)
|
||||
;; Use the current buffer.
|
||||
(help-xref-following t))
|
||||
(apply (car item) (cdr item))
|
||||
(goto-char pos))))
|
||||
|
||||
(defun help-insert-string (string)
|
||||
"Insert STRING to the help buffer and install xref info for it.
|
||||
This function can be used to restore the old contents of the help buffer
|
||||
|
11
lisp/info.el
11
lisp/info.el
@ -238,7 +238,9 @@ This only has an effect if `Info-hide-note-references' is non-nil."
|
||||
(defcustom Info-breadcrumbs-depth 4
|
||||
"Depth of breadcrumbs to display.
|
||||
0 means do not display breadcrumbs."
|
||||
:type 'integer)
|
||||
:version "23.1"
|
||||
:type 'integer
|
||||
:group 'info)
|
||||
|
||||
(defcustom Info-search-whitespace-regexp "\\s-+"
|
||||
"If non-nil, regular expression to match a sequence of whitespace chars.
|
||||
@ -800,17 +802,22 @@ otherwise, that defaults to `Top'."
|
||||
"Go to an Info node FILENAME and NODENAME, re-reading disk contents.
|
||||
When *info* is already displaying FILENAME and NODENAME, the window position
|
||||
is preserved, if possible."
|
||||
(pop-to-buffer "*info*")
|
||||
(or (eq major-mode 'Info-mode) (pop-to-buffer "*info*"))
|
||||
(let ((old-filename Info-current-file)
|
||||
(old-nodename Info-current-node)
|
||||
(old-buffer-name (buffer-name))
|
||||
(pcolumn (current-column))
|
||||
(pline (count-lines (point-min) (line-beginning-position)))
|
||||
(wline (count-lines (point-min) (window-start)))
|
||||
(old-history-forward Info-history-forward)
|
||||
(old-history Info-history)
|
||||
(new-history (and Info-current-file
|
||||
(list Info-current-file Info-current-node (point)))))
|
||||
(kill-buffer (current-buffer))
|
||||
(pop-to-buffer (or old-buffer-name "*info*"))
|
||||
(Info-mode)
|
||||
(Info-find-node filename nodename)
|
||||
(setq Info-history-forward old-history-forward)
|
||||
(setq Info-history old-history)
|
||||
(if (and (equal old-filename Info-current-file)
|
||||
(equal old-nodename Info-current-node))
|
||||
|
Loading…
Reference in New Issue
Block a user