changeset 25682:17ba70005a2e v8.2.3377

patch 8.2.3377: Vim9: :disass completion does not understand "s:" Commit: https://github.com/vim/vim/commit/47016f57724d3970c54f4ca1f392dff39d3fecae Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 26 16:39:58 2021 +0200 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 https://github.com/vim/vim/issues/8780)
author Bram Moolenaar <Bram@vim.org>
date Thu, 26 Aug 2021 16:45:04 +0200
parents 17194bce690e
children 7be599085162
files src/cmdexpand.c src/testdir/test_cmdline.vim src/version.c
diffstat 3 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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;
 
--- 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>", @:)
--- 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,