aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-03-08 06:53:43 +0800
committerzeertzjq <zeertzjq@outlook.com>2024-03-08 07:04:39 +0800
commitc38764182a966f12b91bdc9b9ff6228621238483 (patch)
tree3f115a3662f867f701f025f01c2ca50b524538ae
parentd741e5d1629948876cf8bdcacf6c8bc8a4924f94 (diff)
downloadrneovim-c38764182a966f12b91bdc9b9ff6228621238483.tar.gz
rneovim-c38764182a966f12b91bdc9b9ff6228621238483.tar.bz2
rneovim-c38764182a966f12b91bdc9b9ff6228621238483.zip
vim-patch:9.1.0158: 'shortmess' "F" flag doesn't work properly with 'autoread'
Problem: 'shortmess' "F" flag doesn't work properly with 'autoread' (after 9.1.0154) Solution: Hide the file info message instead of the warning dialog (zeertzjq) closes: vim/vim#14159 closes: vim/vim#14158 https://github.com/vim/vim/commit/8a01744c563f615ae7f6b3ab7f5208214a45a8e2
-rw-r--r--src/nvim/fileio.c4
-rw-r--r--test/functional/autocmd/focus_spec.lua2
-rw-r--r--test/old/testdir/test_options.vim34
3 files changed, 29 insertions, 11 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
index e6a1afeaec..695631a6f7 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 && !shortmess(SHM_FILEINFO)) {
+ if (mesg != NULL) {
char *path = home_replace_save(buf, buf->b_fname);
if (!helpmesg) {
mesg2 = "";
@@ -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/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 97af202128..7786f82af2 100644
--- a/test/old/testdir/test_options.vim
+++ b/test/old/testdir/test_options.vim
@@ -1284,23 +1284,41 @@ func Test_shortmess_F2()
endfunc
func Test_shortmess_F3()
- defer delete('X_dummy')
+ call writefile(['foo'], 'X_dummy', 'D')
set hidden
set autoread
e X_dummy
- e file
-
+ e Xotherfile
+ call assert_equal(['foo'], getbufline('X_dummy', 1, '$'))
set shortmess+=F
- call writefile(["foo"], 'X_dummy')
- call assert_true(empty(execute('bn', '')))
- call assert_true(empty(execute('bn', '')))
+ 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
- bwipe
+ bwipe X_dummy
+ bwipe Xotherfile
endfunc
func Test_local_scrolloff()