diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-03-08 06:52:14 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2024-03-08 06:53:37 +0800 |
commit | d741e5d1629948876cf8bdcacf6c8bc8a4924f94 (patch) | |
tree | f07971f78cf303d71e0d92cf72fb06236f7a2fe6 | |
parent | 5f3579e6ea12659d48e92b2126f83777908c28fc (diff) | |
download | rneovim-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.txt | 3 | ||||
-rw-r--r-- | runtime/lua/vim/_meta/options.lua | 3 | ||||
-rw-r--r-- | src/nvim/fileio.c | 2 | ||||
-rw-r--r-- | src/nvim/options.lua | 3 | ||||
-rw-r--r-- | test/old/testdir/test_options.vim | 20 |
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 |