patch 8.2.3377: Vim9: :disass completion does not understand "s:"
Problem: Vim9: :disass completion does not understand "s:".
Solution: Expand "s:" to a pattern. (closes #8780)
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index 362ed77..27fda78 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -2073,7 +2073,9 @@
// 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 bd2ca03..f7f55aa 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -751,6 +751,11 @@
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 @@
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 22dc440..7aa602f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3377,
+/**/
3376,
/**/
3375,