commit d741e5d1629948876cf8bdcacf6c8bc8a4924f94
parent 5f3579e6ea12659d48e92b2126f83777908c28fc
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri, 8 Mar 2024 06:52:14 +0800
vim-patch:9.1.0154: shm=F not respected when reloading buffer with 'autoread'
Problem: shm=F not respected when reloading buffer with 'autoread'
Solution: Check SHM_FILEINFO in buf_check_timestamp()
(Shougo Matsushita)
closes: vim/vim#14144
https://github.com/vim/vim/commit/9db39b0ec90600bb41faec3a12b934b17c298b1f
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Diffstat:
5 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
@@ -5474,7 +5474,8 @@ A jump table for the options with a short description can be found at |Q_op|.
items, for instance "scanning tags"
q do not show "recording @a" when recording a macro *shm-q*
F don't give the file info when editing a file, like *shm-F*
- `:silent` was used for the command
+ `:silent` was used for the command; note that this also
+ affects messages from 'autoread' reloading
S do not show search count message when searching, e.g. *shm-S*
"[1/5]"
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
@@ -5799,7 +5799,8 @@ vim.bo.sw = vim.bo.shiftwidth
--- items, for instance "scanning tags"
--- q do not show "recording @a" when recording a macro *shm-q*
--- F don't give the file info when editing a file, like *shm-F*
---- `:silent` was used for the command
+--- `:silent` was used for the command; note that this also
+--- affects messages from 'autoread' reloading
--- S do not show search count message when searching, e.g. *shm-S*
--- "[1/5]"
---
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
@@ -3008,7 +3008,7 @@ int buf_check_timestamp(buf_T *buf)
can_reload = true;
}
- if (mesg != NULL) {
+ if (mesg != NULL && !shortmess(SHM_FILEINFO)) {
char *path = home_replace_save(buf, buf->b_fname);
if (!helpmesg) {
mesg2 = "";
diff --git a/src/nvim/options.lua b/src/nvim/options.lua
@@ -7331,7 +7331,8 @@ return {
items, for instance "scanning tags"
q do not show "recording @a" when recording a macro *shm-q*
F don't give the file info when editing a file, like *shm-F*
- `:silent` was used for the command
+ `:silent` was used for the command; note that this also
+ affects messages from 'autoread' reloading
S do not show search count message when searching, e.g. *shm-S*
"[1/5]"
diff --git a/test/old/testdir/test_options.vim b/test/old/testdir/test_options.vim
@@ -1283,6 +1283,26 @@ func Test_shortmess_F2()
" call assert_fails('call test_getvalue("abc")', 'E475:')
endfunc
+func Test_shortmess_F3()
+ defer delete('X_dummy')
+
+ set hidden
+ set autoread
+ e X_dummy
+ e file
+
+ set shortmess+=F
+ call writefile(["foo"], 'X_dummy')
+ call assert_true(empty(execute('bn', '')))
+ call assert_true(empty(execute('bn', '')))
+
+ set shortmess&
+ set autoread&
+ set hidden&
+ bwipe
+ bwipe
+endfunc
+
func Test_local_scrolloff()
set so=5
set siso=7