* doc/emacs/files.texi (Visiting): Document it.
* lisp/files.el (query-about-changed-file): New user option (bug#10775).
(find-file-noselect): Use it.
actually contains wildcard characters. You can disable the wildcard
feature by customizing @code{find-file-wildcards}.
+@vindex query-about-changed-file
+ If you're asking to visit a file that's already in a buffer, but the
+file has changed externally, Emacs will ask you whether you want to
+re-load the file or not. If you set @code{query-about-changed-file}
+to @code{nil}, Emacs won't query you, but instead just display the
+buffer and issue a message telling you how to revert the buffer from
+the file.
+
@kindex C-x C-v
@findex find-alternate-file
If you visit the wrong file unintentionally by typing its name
about the different options to visit a file, how you can disable the
prompt, and how you can tweak the file size threshold.
++++
+** New user option 'query-about-changed-file'.
+If non-nil (the default), users are prompted as before when
+re-visiting a file that has changed externally. If nil, the user is
+not prompted, but instead the buffer is opened, and the user is given
+an instruction on how to revert the uffer.
+
+++
** Improved support for terminal emulators that encode the Meta flag.
Some terminal emulators set the 8th bit of Meta characters, and then
:version "25.1"
:type '(choice integer (const :tag "Never issue warning" nil)))
+(defcustom query-about-changed-file t
+ "If non-nil, query the user when opening a file that has changed.
+This happens if the file is already visited in a buffer, and the
+file has changed, and the user re-visits the file.
+
+If nil, the user isn't prompted, but instead given a warning
+after switching to the buffer."
+ :group 'files
+ :group 'find-file
+ :version "28.1"
+ :type 'boolean)
+
(declare-function x-popup-dialog "menu.c" (position contents &optional header))
(defun files--ask-user-about-large-file-help-text (op-type size)
(message "Reverting file %s..." filename)
(revert-buffer t t)
(message "Reverting file %s...done" filename)))
+ ((not query-about-changed-file)
+ (message
+ (substitute-command-keys
+ "File %s changed on disk. \\[revert-buffer] to load new contents%s")
+ (file-name-nondirectory filename)
+ (if (buffer-modified-p buf)
+ " and discard your edits"
+ "")))
((yes-or-no-p
(if (string= (file-name-nondirectory filename)
(buffer-name buf))