# HG changeset patch # User Thien-Thi Nguyen # Date 1194177666 0 # Node ID 1915d983e65a37de1306e5902a52000c16ce0018 # Parent e5cfe61bd90353945fccbaadf1888c0b254ebadb (Info-revert-buffer-function): New func. (Info-mode): Arrange to use it for reverting. diff -r e5cfe61bd903 -r 1915d983e65a lisp/info.el --- a/lisp/info.el Sun Nov 04 02:57:52 2007 +0000 +++ b/lisp/info.el Sun Nov 04 12:01:06 2007 +0000 @@ -706,8 +706,8 @@ (Info-find-node-2 nil nodename)) ;; It's perhaps a bit nasty to kill the *info* buffer to force a re-read, -;; but at least it keeps this routine (which is only for the benefit of -;; makeinfo-buffer) out of the way of normal operations. +;; but at least it keeps this routine (which is for makeinfo-buffer and +;; Info-revert-buffer-function) out of the way of normal operations. ;; (defun Info-revert-find-node (filename nodename) "Go to an Info node FILENAME and NODENAME, re-reading disk contents. @@ -739,6 +739,11 @@ (if new-history (setq Info-history (cons new-history Info-history)))))) +(defun Info-revert-buffer-function (ignore-auto noconfirm) + (when (or noconfirm (y-or-n-p "Revert info buffer? ")) + (Info-revert-find-node Info-current-file Info-current-node) + (message "Reverted %s" Info-current-file))) + (defun Info-find-in-tag-table-1 (marker regexp case-fold) "Find a node in a tag table. MARKER specifies the buffer and position to start searching at. @@ -3353,7 +3358,7 @@ (unless Info-current-node (error "No current Info node")) (let ((node (if (stringp Info-current-file) - (concat "(" (file-name-nondirectory Info-current-file) ")" + (concat "(" (file-name-nondirectory Info-current-file) ") " Info-current-node)))) (if (zerop (prefix-numeric-value arg)) (setq node (concat "(info \"" node "\")"))) @@ -3478,6 +3483,8 @@ 'Info-isearch-push-state) (set (make-local-variable 'search-whitespace-regexp) Info-search-whitespace-regexp) + (set (make-local-variable 'revert-buffer-function) + 'Info-revert-buffer-function) (Info-set-mode-line) (run-mode-hooks 'Info-mode-hook))