aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-03-08 06:52:14 +0800
committerzeertzjq <zeertzjq@outlook.com>2024-03-08 06:53:37 +0800
commitd741e5d1629948876cf8bdcacf6c8bc8a4924f94 (patch)
treef07971f78cf303d71e0d92cf72fb06236f7a2fe6
parent5f3579e6ea12659d48e92b2126f83777908c28fc (diff)
downloadrneovim-d741e5d1629948876cf8bdcacf6c8bc8a4924f94.tar.gz
rneovim-d741e5d1629948876cf8bdcacf6c8bc8a4924f94.tar.bz2
rneovim-d741e5d1629948876cf8bdcacf6c8bc8a4924f94.zip
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>
-rw-r--r--runtime/doc/options.txt3
-rw-r--r--runtime/lua/vim/_meta/options.lua3
-rw-r--r--src/nvim/fileio.c2
-rw-r--r--src/nvim/options.lua3
-rw-r--r--test/old/testdir/test_options.vim20
5 files changed, 27 insertions, 4 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 38a2a3b452..edd5149621 100644
--- 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
index 5a9215fa9e..757720d8fb 100644
--- 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
index 2c96e4bd87..e6a1afeaec 100644
--- 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
index 4452df413a..72f9ff849d 100644
--- 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
index e772a7bb55..97af202128 100644
--- 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