From: Stefan Monnier Date: Sun, 1 Jul 2007 01:57:31 +0000 (+0000) Subject: (find-file-confirm-inexistent-file): New var. X-Git-Tag: emacs-pretest-23.0.90~12067 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=14fd09e56e5f28f7e4fc9a634c556dedd21233dd;p=emacs.git (find-file-confirm-inexistent-file): New var. (find-file, find-file-other-window, find-file-other-frame) (find-file-read-only, find-file-read-only-other-window) (find-file-read-only-other-frame): Use it. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2dc82bf403e..3186832bca9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2007-07-01 Stefan Monnier + + * files.el (find-file-confirm-inexistent-file): New var. + (find-file, find-file-other-window, find-file-other-frame) + (find-file-read-only, find-file-read-only-other-window) + (find-file-read-only-other-frame): Use it. + 2007-06-30 Stefan Monnier * emacs-lisp/rx.el (rx-constituents): Fix up `anything'. diff --git a/lisp/files.el b/lisp/files.el index 952736f06d7..80f5d0dac08 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1051,6 +1051,9 @@ Recursive uses of the minibuffer will not be affected." ,@body) (remove-hook 'minibuffer-setup-hook ,hook))))) +(defvar find-file-confirm-inexistent-file t + "If non-nil, `find-file' will require confirmation before visiting a new file.") + (defun find-file-read-args (prompt mustmatch) (list (let ((find-file-default (and buffer-file-name @@ -1074,7 +1077,9 @@ suppress wildcard expansion by setting `find-file-wildcards' to nil. 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: " nil)) + (interactive + (find-file-read-args "Find file: " + (if find-file-confirm-inexistent-file 'confirm-only))) (let ((value (find-file-noselect filename nil nil wildcards))) (if (listp value) (mapcar 'switch-to-buffer (nreverse value)) @@ -1091,7 +1096,9 @@ type M-n to pull it into the minibuffer. 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: " nil)) + (interactive + (find-file-read-args "Find file in other window: " + (if find-file-confirm-inexistent-file 'confirm-only))) (let ((value (find-file-noselect filename nil nil wildcards))) (if (listp value) (progn @@ -1111,7 +1118,9 @@ type M-n to pull it into the minibuffer. 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: " nil)) + (interactive + (find-file-read-args "Find file in other frame: " + (if find-file-confirm-inexistent-file 'confirm-only))) (let ((value (find-file-noselect filename nil nil wildcards))) (if (listp value) (progn @@ -1134,7 +1143,9 @@ file names with wildcards." "Edit file FILENAME but don't allow changes. 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: " nil)) + (interactive + (find-file-read-args "Find file read-only: " + (if find-file-confirm-inexistent-file 'confirm-only))) (unless (or (and wildcards find-file-wildcards (not (string-match "\\`/:" filename)) (string-match "[[*?]" filename)) @@ -1149,7 +1160,9 @@ Use \\[toggle-read-only] to permit editing." "Edit file FILENAME in another window but don't allow changes. 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: " nil)) + (interactive + (find-file-read-args "Find file read-only other window: " + (if find-file-confirm-inexistent-file 'confirm-only))) (unless (or (and wildcards find-file-wildcards (not (string-match "\\`/:" filename)) (string-match "[[*?]" filename)) @@ -1164,7 +1177,9 @@ Use \\[toggle-read-only] to permit editing." "Edit file FILENAME in another frame but don't allow changes. 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: " nil)) + (interactive + (find-file-read-args "Find file read-only other frame: " + (if find-file-confirm-inexistent-file 'confirm-only))) (unless (or (and wildcards find-file-wildcards (not (string-match "\\`/:" filename)) (string-match "[[*?]" filename))