mirror of
https://github.com/vim/vim.git
synced 2025-09-07 22:03:36 -04:00
patch 8.2.2397: Vim9: "%%" not seen as alternate file name for ":bdel"
Problem: Vim9: "%%" not seen as alternate file name for commands with a buffer name argument. Solution: Recognize "%%" like "#". (closes #7732)
This commit is contained in:
parent
7cebe8ba7d
commit
dfbc5fd879
11
src/buffer.c
11
src/buffer.c
@ -2564,12 +2564,15 @@ buflist_findpat(
|
||||
char_u *p;
|
||||
int toggledollar;
|
||||
|
||||
if (pattern_end == pattern + 1 && (*pattern == '%' || *pattern == '#'))
|
||||
// "%" is current file, "%%" or "#" is alternate file
|
||||
if ((pattern_end == pattern + 1 && (*pattern == '%' || *pattern == '#'))
|
||||
|| (in_vim9script() && pattern_end == pattern + 2
|
||||
&& pattern[0] == '%' && pattern[1] == '%'))
|
||||
{
|
||||
if (*pattern == '%')
|
||||
match = curbuf->b_fnum;
|
||||
else
|
||||
if (*pattern == '#' || pattern_end == pattern + 2)
|
||||
match = curwin->w_alt_fnum;
|
||||
else
|
||||
match = curbuf->b_fnum;
|
||||
#ifdef FEAT_DIFF
|
||||
if (diffmode && !diff_mode_buf(buflist_findnr(match)))
|
||||
match = -1;
|
||||
|
@ -68,6 +68,17 @@ def Test_expand_alternate_file()
|
||||
edit Xfiletwo
|
||||
edit %%:r
|
||||
assert_equal('Xfileone', bufname())
|
||||
|
||||
assert_false(bufexists('altfoo'))
|
||||
edit altfoo
|
||||
edit bar
|
||||
assert_true(bufexists('altfoo'))
|
||||
assert_true(buflisted('altfoo'))
|
||||
bdel %%
|
||||
assert_true(bufexists('altfoo'))
|
||||
assert_false(buflisted('altfoo'))
|
||||
bwipe! altfoo
|
||||
bwipe! bar
|
||||
END
|
||||
CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2397,
|
||||
/**/
|
||||
2396,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user