diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-09-22 14:18:13 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-09-22 14:18:13 +0200 |
commit | 40fa12aea352474d229f2f750e954a4318aead4e (patch) | |
tree | 329c91648cafc043a13456fca572ed847f427f1e /src | |
parent | da0b497c6e4e01447669773a931b0eaa5ca757f3 (diff) | |
download | vim-git-40fa12aea352474d229f2f750e954a4318aead4e.tar.gz |
patch 8.2.3453: autocmd not executed when editing a directoryv8.2.3453
Problem: Autocmd not executed when editing a directory ending in a path
separator inside try block.
Solution: Return NOTDONE instead of FAIL. (closes #8885)
Diffstat (limited to 'src')
-rw-r--r-- | src/fileio.c | 2 | ||||
-rw-r--r-- | src/testdir/test_autocmd.vim | 13 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/fileio.c b/src/fileio.c index eb46f1fd8..1767e5e09 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -338,7 +338,7 @@ readfile( filemess(curbuf, fname, (char_u *)_(msg_is_a_directory), 0); msg_end(); msg_scroll = msg_save; - return FAIL; + return NOTDONE; } } diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index b2e4952be..f769eec17 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -2346,6 +2346,19 @@ func Test_throw_in_BufWritePre() au! throwing endfunc +func Test_autocmd_in_try_block() + call mkdir('Xdir') + au BufEnter * let g:fname = expand('%') + try + edit Xdir/ + endtry + call assert_match('Xdir', g:fname) + + unlet g:fname + au! BufEnter + call delete('Xdir', 'rf') +endfunc + func Test_autocmd_SafeState() CheckRunVimInTerminal diff --git a/src/version.c b/src/version.c index 8417acd10..b1130882f 100644 --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3453, +/**/ 3452, /**/ 3451, |