diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index d634f22..3ba92db 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -149,6 +149,12 @@
 command instead: >
 	:substitute(pattern (replacement (
 
+Note that while variables need to be defined before they can be used,
+functions can be called before being defined.  This is required to be able
+have cyclic dependencies between functions.  It is slightly less efficient,
+since the function has to be looked up by name.  And a typo in the function
+name will only be found when the call is executed.
+
 
 No curly braces expansion ~
 
@@ -275,6 +281,8 @@
 						*:disa* *:disassemble*
 :disa[ssemble] {func}	Show the instructions generated for {func}.
 			This is for debugging and testing.
+			Note that for command line completion of {func} you
+			can prepend "s:" to find script-local functions.
 
 ==============================================================================
 
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index b5da922..ece5a46 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -1550,6 +1550,7 @@
 
 	case CMD_function:
 	case CMD_delfunction:
+	case CMD_disassemble:
 	    xp->xp_context = EXPAND_USER_FUNC;
 	    xp->xp_pattern = arg;
 	    break;
@@ -1978,6 +1979,7 @@
     regmatch_T	regmatch;
     int		ret;
     int		flags;
+    char_u	*tofree = NULL;
 
     flags = EW_DIR;	// include directories
     if (options & WILD_LIST_NOTFOUND)
@@ -2115,6 +2117,17 @@
     if (xp->xp_context == EXPAND_PACKADD)
 	return ExpandPackAddDir(pat, num_file, file);
 
+    // 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)
+    {
+	int len = (int)STRLEN(pat) + 20;
+
+	tofree = alloc(len);
+	snprintf((char *)tofree, len, "^<SNR>\\d\\+_%s", pat + 3);
+	pat = tofree;
+    }
+
     regmatch.regprog = vim_regcomp(pat, p_magic ? RE_MAGIC : 0);
     if (regmatch.regprog == NULL)
 	return FAIL;
@@ -2204,6 +2217,7 @@
     }
 
     vim_regfree(regmatch.regprog);
+    vim_free(tofree);
 
     return ret;
 }
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 1baed79..8c58026 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -559,6 +559,17 @@
   delcommand Foo
 endfunc
 
+func s:ScriptLocalFunction()
+  echo 'yes'
+endfunc
+
+func Test_cmdline_complete_user_func()
+  call feedkeys(":func Test_cmdline_complete_user\<Tab>\<Home>\"\<cr>", 'tx')
+  call assert_match('"func Test_cmdline_complete_user', @:)
+  call feedkeys(":func s:ScriptL\<Tab>\<Home>\"\<cr>", 'tx')
+  call assert_match('"func <SNR>\d\+_ScriptLocalFunction', @:)
+endfunc
+
 func Test_cmdline_complete_user_names()
   if has('unix') && executable('whoami')
     let whoami = systemlist('whoami')[0]
diff --git a/src/version.c b/src/version.c
index 4dc9642..23c4508 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    335,
+/**/
     334,
 /**/
     333,
