summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-09-22 14:18:13 +0200
committerBram Moolenaar <Bram@vim.org>2021-09-22 14:18:13 +0200
commit40fa12aea352474d229f2f750e954a4318aead4e (patch)
tree329c91648cafc043a13456fca572ed847f427f1e
parentda0b497c6e4e01447669773a931b0eaa5ca757f3 (diff)
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)
-rw-r--r--src/fileio.c2
-rw-r--r--src/testdir/test_autocmd.vim13
-rw-r--r--src/version.c2
3 files changed, 16 insertions, 1 deletions
diff --git a/src/fileio.c b/src/fileio.c
index eb46f1fd86..1767e5e091 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 b2e4952be0..f769eec17f 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 8417acd109..b1130882f8 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,