]> git.eshelyaron.com Git - emacs.git/commitdiff
(next-file): Advance next-file-list before finding the file named in its
authorRoland McGrath <roland@gnu.org>
Fri, 25 Aug 1995 16:39:34 +0000 (16:39 +0000)
committerRoland McGrath <roland@gnu.org>
Fri, 25 Aug 1995 16:39:34 +0000 (16:39 +0000)
car, in case finding signals an error.

lisp/progmodes/etags.el

index fb8ab956b2f726c84728685ad46dd94c0fca7985..6d4dc28c674cdd60953776436d94e86981d38fe3 100644 (file)
@@ -1280,16 +1280,19 @@ if the file was newly read in, the value is the filename."
         (get-buffer " *next-file*")
         (kill-buffer " *next-file*"))
     (error "All files processed."))
-  (let ((new (not (get-file-buffer (car next-file-list)))))
+  (let* ((next (car next-file-list))
+        (new (not (get-file-buffer next))))
+    ;; Advance the list before trying to find the file.
+    ;; If we get an error finding the file, don't get stuck on it.
+    (setq next-file-list (cdr next-file-list))
     (if (not (and new novisit))
-       (set-buffer (find-file-noselect (car next-file-list) novisit))
+       (set-buffer (find-file-noselect next novisit))
       ;; Like find-file, but avoids random warning messages.
       (set-buffer (get-buffer-create " *next-file*"))
       (kill-all-local-variables)
       (erase-buffer)
-      (setq new (car next-file-list))
+      (setq new next)
       (insert-file-contents new nil))
-    (setq next-file-list (cdr next-file-list))
     new))
 
 (defvar tags-loop-operate nil