changeset 76347:2a5ebeee48fc

(find-file-noselect): No error if file no longer exists. Display a message and avoid other questions.
author Richard M. Stallman <rms@gnu.org>
date Mon, 05 Mar 2007 18:46:36 +0000
parents 82bf47521df9
children 05d93f5e8286
files lisp/files.el
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/files.el	Mon Mar 05 18:39:31 2007 +0000
+++ b/lisp/files.el	Mon Mar 05 18:46:36 2007 +0000
@@ -1474,11 +1474,12 @@
 	  (error "Aborted"))
 	(if buf
 	    ;; We are using an existing buffer.
-	    (progn
+	    (let (nonexistent)
 	      (or nowarn
 		  (verify-visited-file-modtime buf)
 		  (cond ((not (file-exists-p filename))
-			 (error "File %s no longer exists!" filename))
+			 (setq nonexistent t)
+			 (message "File %s no longer exists!" filename))
 			;; Certain files should be reverted automatically
 			;; if they have changed on disk and not in the buffer.
 			((and (not (buffer-modified-p buf))
@@ -1515,7 +1516,8 @@
 		;; writable and vice versa, but if the buffer agrees
 		;; with the new state of the file, that is ok too.
 		(let ((read-only (not (file-writable-p buffer-file-name))))
-		  (unless (or (eq read-only buffer-file-read-only)
+		  (unless (or nonexistent
+			      (eq read-only buffer-file-read-only)
 			      (eq read-only buffer-read-only))
 		    (when (or nowarn
 			      (let ((question
@@ -1528,6 +1530,7 @@
 
 		(when (and (not (eq (not (null rawfile))
 				    (not (null find-file-literally))))
+			   (not nonexistent)
 			   ;; It is confusing to ask whether to visit
 			   ;; non-literally if they have the file in
 			   ;; hexl-mode.