aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-03-08 07:21:14 +0800
committerGitHub <noreply@github.com>2024-03-08 07:21:14 +0800
commitdc2379b89bd00cf7aa661e1b000d2a419843df3f (patch)
tree3f115a3662f867f701f025f01c2ca50b524538ae
parent5f3579e6ea12659d48e92b2126f83777908c28fc (diff)
parentc38764182a966f12b91bdc9b9ff6228621238483 (diff)
downloadrneovim-dc2379b89bd00cf7aa661e1b000d2a419843df3f.tar.gz
rneovim-dc2379b89bd00cf7aa661e1b000d2a419843df3f.tar.bz2
rneovim-dc2379b89bd00cf7aa661e1b000d2a419843df3f.zip
Merge pull request #27767 from zeertzjq/vim-9.1.0154
vim-patch:9.1.{0154,0158}: shm=F not respected when reloading buffer with 'autoread'
-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/functional/autocmd/focus_spec.lua2
-rw-r--r--test/old/testdir/test_options.vim38
6 files changed, 46 insertions, 5 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..695631a6f7 100644
--- a/src/nvim/fileio.c
+++ b/src/nvim/fileio.c
@@ -3153,7 +3153,7 @@ void buf_reload(buf_T *buf, int orig_mode, bool reload_options)
curbuf->b_flags |= BF_CHECK_RO; // check for RO again
keep_filetype = true; // don't detect 'filetype'
if (readfile(buf->b_ffname, buf->b_fname, 0, 0,
- (linenr_T)MAXLNUM, &ea, flags, false) != OK) {
+ (linenr_T)MAXLNUM, &ea, flags, shortmess(SHM_FILEINFO)) != OK) {
if (!aborting()) {
semsg(_("E321: Could not reload \"%s\""), buf->b_fname);
}
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/functional/autocmd/focus_spec.lua b/test/functional/autocmd/focus_spec.lua
index b9bab206fc..4f4a036ba8 100644
--- a/test/functional/autocmd/focus_spec.lua
+++ b/test/functional/autocmd/focus_spec.lua
@@ -86,7 +86,7 @@ describe('autoread TUI FocusGained/FocusLost', function()
line 3 |
line 4 |
{5:xtest-foo }|
- "xtest-foo" 4L, 28B |
+ :edit xtest-foo |
{3:-- TERMINAL --} |
]],
}
diff --git a/test/old/testdir/test_options.vim b/test/old/testdir/test_options.vim
index e772a7bb55..7786f82af2 100644
--- a/test/old/testdir/test_options.vim
+++ b/test/old/testdir/test_options.vim
@@ -1283,6 +1283,44 @@ func Test_shortmess_F2()
" call assert_fails('call test_getvalue("abc")', 'E475:')
endfunc
+func Test_shortmess_F3()
+ call writefile(['foo'], 'X_dummy', 'D')
+
+ set hidden
+ set autoread
+ e X_dummy
+ e Xotherfile
+ call assert_equal(['foo'], getbufline('X_dummy', 1, '$'))
+ set shortmess+=F
+ echo ''
+
+ if has('nanotime')
+ sleep 10m
+ else
+ sleep 2
+ endif
+ call writefile(['bar'], 'X_dummy')
+ bprev
+ call assert_equal('', Screenline(&lines))
+ call assert_equal(['bar'], getbufline('X_dummy', 1, '$'))
+
+ if has('nanotime')
+ sleep 10m
+ else
+ sleep 2
+ endif
+ call writefile(['baz'], 'X_dummy')
+ checktime
+ call assert_equal('', Screenline(&lines))
+ call assert_equal(['baz'], getbufline('X_dummy', 1, '$'))
+
+ set shortmess&
+ set autoread&
+ set hidden&
+ bwipe X_dummy
+ bwipe Xotherfile
+endfunc
+
func Test_local_scrolloff()
set so=5
set siso=7