Mercurial > emacs
changeset 49354:cea1991cf560
(gud-display-line): If the current file is newer than its
buffer, offer to reread the file.
(gud-keep-buffer): New buffer local variable. Ensures offer to
reread file is made just once.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Mon, 20 Jan 2003 22:03:50 +0000 |
parents | 60b12919be0c |
children | d366046ef164 |
files | lisp/gud.el |
diffstat | 1 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/gud.el Mon Jan 20 22:03:04 2003 +0000 +++ b/lisp/gud.el Mon Jan 20 22:03:50 2003 +0000 @@ -71,6 +71,8 @@ (defvar gud-minor-mode nil) (put 'gud-minor-mode 'permanent-local t) +(defvar gud-keep-buffer nil) + (defun gud-symbol (sym &optional soft minor-mode) "Return the symbol used for SYM in MINOR-MODE. MINOR-MODE defaults to `gud-minor-mode. @@ -188,7 +190,8 @@ ;; Copy `gud-minor-mode' to the found buffer to turn on the menu. (with-current-buffer buf (set (make-local-variable 'gud-minor-mode) minor-mode) - (set (make-local-variable 'tool-bar-map) gud-tool-bar-map)) + (set (make-local-variable 'tool-bar-map) gud-tool-bar-map) + (make-local-variable 'gud-keep-buffer)) buf))) ;; ====================================================================== @@ -2513,17 +2516,25 @@ (progn (save-excursion (set-buffer buffer) + (if (not (or (verify-visited-file-modtime buffer) gud-keep-buffer)) + (progn + (if + (yes-or-no-p + (format "File %s changed on disk. Reread from disk? " + (buffer-name))) + (revert-buffer t t) + (setq gud-keep-buffer t)))) (save-restriction (widen) (goto-line line) (setq pos (point)) (setq overlay-arrow-string "=>") (or overlay-arrow-position - (setq overlay-arrow-position (make-marker))) + (setq overlay-arrow-position (make-marker))) (set-marker overlay-arrow-position (point) (current-buffer))) (cond ((or (< pos (point-min)) (> pos (point-max))) - (widen) - (goto-char pos)))) + (widen) + (goto-char pos)))) (set-window-point window overlay-arrow-position))))) ;; The gud-call function must do the right thing whether its invoking