1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00

Add new user option 'query-about-changed-file'

* doc/emacs/files.texi (Visiting): Document it.
* lisp/files.el (query-about-changed-file): New user option (bug#10775).
(find-file-noselect): Use it.
This commit is contained in:
Lars Ingebrigtsen 2021-07-16 14:30:24 +02:00
parent 561ef16fd0
commit 9b601d8537
3 changed files with 35 additions and 0 deletions

View file

@ -227,6 +227,14 @@ File Names}, for information on how to visit a file whose name
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

View file

@ -308,6 +308,13 @@ default, 9.5 MiB). Press '?' or 'C-h' in that prompt to read more
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

View file

@ -2153,6 +2153,18 @@ think it does, because \"free\" is pretty hard to define in practice."
: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)
@ -2335,6 +2347,14 @@ the various files."
(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))