changeset 99696:9977c453ce75

(confirm-nonexistent-file-or-buffer): Rename from find-file-confirm-nonexistent-file. (read-buffer-to-switch): Use it.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 18 Nov 2008 18:26:08 +0000
parents b38023dc1ba8
children 4d2232791f45
files doc/emacs/files.texi etc/NEWS lisp/ChangeLog lisp/files.el
diffstat 4 files changed, 31 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/doc/emacs/files.texi	Tue Nov 18 18:10:15 2008 +0000
+++ b/doc/emacs/files.texi	Tue Nov 18 18:26:08 2008 +0000
@@ -240,14 +240,14 @@
 see @ref{Drag and Drop}, and @ref{Misc Dired Features}.
 
 @cindex creating files
-@vindex find-file-confirm-nonexistent-file
-  What if you want to create a new file?  Just visit it.  Emacs
-displays @samp{(New file)} in the echo area, but in other respects
-behaves as if you had visited an existing empty file.  If you make
-changes and save them, the file is created.  If you change the
-variable @code{find-file-confirm-nonexistent-file} to @code{t}, then
+@vindex confirm-nonexistent-file-or-buffer
+  What if you want to create a new file?  Just visit it.
 Emacs prompts you for confirmation before visiting a non-existent
-file.
+file, and displays @samp{(New file)} in the echo area, but in other
+respects behaves as if you had visited an existing empty file.  If you
+make changes and save them, the file is created.  If you change the
+variable @code{confirm-nonexistent-file-or-buffer} to @code{nil}, then
+Emacs will not even prompt you for confirmation.
 
 @kindex C-x C-v
 @findex find-alternate-file
--- a/etc/NEWS	Tue Nov 18 18:10:15 2008 +0000
+++ b/etc/NEWS	Tue Nov 18 18:26:08 2008 +0000
@@ -499,8 +499,9 @@
 The mode bits can be specified in symbolic notation, like with GNU
 Coreutils, in addition to an octal number.
 +++
-*** If you set find-file-confirm-nonexistent-file to t, then C-x C-f
-requires confirmation before opening a non-existent file.
+*** Emacs requires confirmation before opening a non-existent file or buffer.
+You can recover the previous behavior by setting
+confirm-nonexistent-file-or-buffer to nil.
 
 *** `next-error-recenter' specifies how next-error should recenter the
 visited source file.  Its value can be a number (for example, 0 for
--- a/lisp/ChangeLog	Tue Nov 18 18:10:15 2008 +0000
+++ b/lisp/ChangeLog	Tue Nov 18 18:26:08 2008 +0000
@@ -1,3 +1,9 @@
+2008-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* files.el (confirm-nonexistent-file-or-buffer):
+	Rename from find-file-confirm-nonexistent-file.
+	(read-buffer-to-switch): Use it.
+
 2008-11-18  Juanma Barranquero  <lekktu@gmail.com>
 
 	* server.el (server-temp-file-p): Use `string-match-p'.
--- a/lisp/files.el	Tue Nov 18 18:10:15 2008 +0000
+++ b/lisp/files.el	Tue Nov 18 18:26:08 2008 +0000
@@ -1102,6 +1102,13 @@
     (rename-file encoded new-encoded ok-if-already-exists)
     newname))
 
+(defcustom confirm-nonexistent-file-or-buffer t
+  "If non-nil, confirmation is requested before visiting a new file or buffer.
+This affects commands like `switch-to-buffer' and `find-file'."
+  :group 'find-file
+  :version "23.1"
+  :type 'boolean)
+
 (defun read-buffer-to-switch (prompt)
   "Read the name of a buffer to switch to and return as a string.
 It is intended for `switch-to-buffer' family of commands since they
@@ -1110,7 +1117,8 @@
   (let ((rbts-completion-table (internal-complete-buffer-except)))
     (minibuffer-with-setup-hook
         (lambda () (setq minibuffer-completion-table rbts-completion-table))
-      (read-buffer prompt (other-buffer (current-buffer))))))
+      (read-buffer prompt (other-buffer (current-buffer))
+                   (if confirm-nonexistent-file-or-buffer 'confirm-only)))))
 
 (defun switch-to-buffer-other-window (buffer &optional norecord)
   "Select buffer BUFFER in another window.
@@ -1192,12 +1200,6 @@
 	     ,@body)
 	 (remove-hook 'minibuffer-setup-hook ,hook)))))
 
-(defcustom find-file-confirm-nonexistent-file nil
-  "If non-nil, `find-file' requires confirmation before visiting a new file."
-  :group 'find-file
-  :version "23.1"
-  :type 'boolean)
-
 (defun find-file-read-args (prompt mustmatch)
   (list (let ((find-file-default
 	       (and buffer-file-name
@@ -1230,7 +1232,7 @@
 automatically choosing a major mode, use \\[find-file-literally]."
   (interactive
    (find-file-read-args "Find file: "
-                        (if find-file-confirm-nonexistent-file 'confirm-only)))
+                        (if confirm-nonexistent-file-or-buffer 'confirm-only)))
   (let ((value (find-file-noselect filename nil nil wildcards)))
     (if (listp value)
 	(mapcar 'switch-to-buffer (nreverse value))
@@ -1250,7 +1252,7 @@
 expand wildcards (if any) and visit multiple files."
   (interactive
    (find-file-read-args "Find file in other window: "
-                        (if find-file-confirm-nonexistent-file 'confirm-only)))
+                        (if confirm-nonexistent-file-or-buffer 'confirm-only)))
   (let ((value (find-file-noselect filename nil nil wildcards)))
     (if (listp value)
 	(progn
@@ -1273,7 +1275,7 @@
 expand wildcards (if any) and visit multiple files."
   (interactive
    (find-file-read-args "Find file in other frame: "
-                        (if find-file-confirm-nonexistent-file 'confirm-only)))
+                        (if confirm-nonexistent-file-or-buffer 'confirm-only)))
   (let ((value (find-file-noselect filename nil nil wildcards)))
     (if (listp value)
 	(progn
@@ -1298,7 +1300,7 @@
 Use \\[toggle-read-only] to permit editing."
   (interactive
    (find-file-read-args "Find file read-only: "
-                        (if find-file-confirm-nonexistent-file 'confirm-only)))
+                        (if confirm-nonexistent-file-or-buffer 'confirm-only)))
   (unless (or (and wildcards find-file-wildcards
 		   (not (string-match "\\`/:" filename))
 		   (string-match "[[*?]" filename))
@@ -1315,7 +1317,7 @@
 Use \\[toggle-read-only] to permit editing."
   (interactive
    (find-file-read-args "Find file read-only other window: "
-                        (if find-file-confirm-nonexistent-file 'confirm-only)))
+                        (if confirm-nonexistent-file-or-buffer 'confirm-only)))
   (unless (or (and wildcards find-file-wildcards
 		   (not (string-match "\\`/:" filename))
 		   (string-match "[[*?]" filename))
@@ -1332,7 +1334,7 @@
 Use \\[toggle-read-only] to permit editing."
   (interactive
    (find-file-read-args "Find file read-only other frame: "
-                        (if find-file-confirm-nonexistent-file 'confirm-only)))
+                        (if confirm-nonexistent-file-or-buffer 'confirm-only)))
   (unless (or (and wildcards find-file-wildcards
 		   (not (string-match "\\`/:" filename))
 		   (string-match "[[*?]" filename))