]> code.delx.au - gnu-emacs/commitdiff
(gud-display-line): Don't set window-point if
authorNick Roberts <nickrob@snap.net.nz>
Sun, 24 Aug 2003 20:41:39 +0000 (20:41 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Sun, 24 Aug 2003 20:41:39 +0000 (20:41 +0000)
source buffer is not visible. (Only happens with M-x gdba).

lisp/progmodes/gud.el

index 349c78ce3d21e34cad58429523e4f59f158d74df..e99fb26cf07998e3d01ec46528c2281c6d33ade2 100644 (file)
@@ -2524,26 +2524,24 @@ Obeying it means displaying in another window the specified file and line."
     (if buffer
        (progn
          (with-current-buffer buffer
-           (if (not (or (verify-visited-file-modtime buffer) gud-keep-buffer))
-               (progn
-                 (if
-                     (yes-or-no-p
+           (unless (or (verify-visited-file-modtime buffer) gud-keep-buffer)
+                 (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))))
+                   (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))))
-         (set-window-point window overlay-arrow-position)))))
+                  (widen)
+                  (goto-char pos))))
+         (if window (set-window-point window overlay-arrow-position))))))
 
 ;; The gud-call function must do the right thing whether its invoking
 ;; keystroke is from the GUD buffer itself (via major-mode binding)