summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-08-26 16:39:58 +0200
committerBram Moolenaar <Bram@vim.org>2021-08-26 16:39:58 +0200
commit47016f57724d3970c54f4ca1f392dff39d3fecae (patch)
tree5a83f06518c486c1ad4bcc32f5e0a40bbadbf72e
parent4799cef85ce43e26f5022290b41a7c85bbab8cad (diff)
downloadvim-git-47016f57724d3970c54f4ca1f392dff39d3fecae.tar.gz
patch 8.2.3377: Vim9: :disass completion does not understand "s:"v8.2.3377
Problem: Vim9: :disass completion does not understand "s:". Solution: Expand "s:" to a pattern. (closes #8780)
-rw-r--r--src/cmdexpand.c4
-rw-r--r--src/testdir/test_cmdline.vim8
-rw-r--r--src/version.c2
3 files changed, 13 insertions, 1 deletions
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index 362ed77e2..27fda7866 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -2073,7 +2073,9 @@ ExpandFromContext(
// When expanding a function name starting with s:, match the <SNR>nr_
// prefix.
- if (xp->xp_context == EXPAND_USER_FUNC && STRNCMP(pat, "^s:", 3) == 0)
+ if ((xp->xp_context == EXPAND_USER_FUNC
+ || xp->xp_context == EXPAND_DISASSEMBLE)
+ && STRNCMP(pat, "^s:", 3) == 0)
{
int len = (int)STRLEN(pat) + 20;
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index bd2ca03b6..f7f55aa60 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -751,6 +751,11 @@ func Test_cmdline_complete_expression()
unlet g:SomeVar
endfunc
+" Unique function name for completion below
+func s:WeirdFunc()
+ echo 'weird'
+endfunc
+
" Test for various command-line completion
func Test_cmdline_complete_various()
" completion for a command starting with a comment
@@ -833,6 +838,9 @@ func Test_cmdline_complete_various()
call feedkeys(":disas profile Test_cmdline_complete_var\<C-A>\<C-B>\"\<CR>", 'xt')
call assert_equal("\"disas profile Test_cmdline_complete_various", @:)
+ call feedkeys(":disas s:WeirdF\<C-A>\<C-B>\"\<CR>", 'xt')
+ call assert_match('"disas <SNR>\d\+_WeirdFunc()', @:)
+
" completion for the :match command
call feedkeys(":match Search /pat/\<C-A>\<C-B>\"\<CR>", 'xt')
call assert_equal("\"match Search /pat/\<C-A>", @:)
diff --git a/src/version.c b/src/version.c
index 22dc44004..7aa602f8f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3377,
+/**/
3376,
/**/
3375,