From 35b05a7793f3e0f702ee8cd5aec68b2acbe815cd Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 18 Nov 2008 18:26:08 +0000 Subject: [PATCH] (confirm-nonexistent-file-or-buffer): Rename from find-file-confirm-nonexistent-file. (read-buffer-to-switch): Use it. --- doc/emacs/files.texi | 14 +++++++------- etc/NEWS | 5 +++-- lisp/ChangeLog | 6 ++++++ lisp/files.el | 28 +++++++++++++++------------- 4 files changed, 31 insertions(+), 22 deletions(-) diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 28d9765a4b2..93a6161d782 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -240,14 +240,14 @@ moves or copies the file into the displayed directory. For details, 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 diff --git a/etc/NEWS b/etc/NEWS index 6ff5ffbb8b2..b90b2ae865b 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -499,8 +499,9 @@ matches a regexp. 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 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8f871362adb..0d76f444be9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2008-11-18 Stefan Monnier + + * 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 * server.el (server-temp-file-p): Use `string-match-p'. diff --git a/lisp/files.el b/lisp/files.el index b36b0af8322..5ed3ffae29a 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1102,6 +1102,13 @@ use with M-x." (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 @@ and default values." (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 @@ Recursive uses of the minibuffer will not be affected." ,@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 @@ To visit a file without any kind of conversion and without 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 @@ Interactively, or if WILDCARDS is non-nil in a call from Lisp, 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 @@ Interactively, or if WILDCARDS is non-nil in a call from Lisp, 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 @@ Like \\[find-file], but marks buffer as read-only. 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 @@ Like \\[find-file-other-window], but marks buffer as read-only. 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 @@ Like \\[find-file-other-frame], but marks buffer as read-only. 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)) -- 2.39.2