patch 9.1.1531: confusing error with nested legacy function

Commit: 
https://github.com/vim/vim/commit/8331310c060ed2bfe9916470b3c10f484f875a6e
Author: Hirohito Higashi <h.east....@gmail.com>
Date:   Tue Jul 8 23:07:21 2025 +0200

    patch 9.1.1531: confusing error with nested legacy function
    
    Problem:  confusing error with nested legacy function
              (lacygoill)
    Solution: clarify error message E1117 with :def or :func (Hirohito Higashi)
    
    fixes: #17697
    closes: #17702
    
    Signed-off-by: Hirohito Higashi <h.east....@gmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/errors.h b/src/errors.h
index 6ca05b59f..fd644201c 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -2885,8 +2885,8 @@ EXTERN char e_assert_fails_fourth_argument[]
        INIT(= N_("E1115: \"assert_fails()\" fourth argument must be a 
number"));
 EXTERN char e_assert_fails_fifth_argument[]
        INIT(= N_("E1116: \"assert_fails()\" fifth argument must be a string"));
-EXTERN char e_cannot_use_bang_with_nested_def[]
-       INIT(= N_("E1117: Cannot use ! with nested :def"));
+EXTERN char e_cannot_use_bang_with_nested_def_str[]
+       INIT(= N_("E1117: Cannot use ! with nested %s"));
 EXTERN char e_cannot_change_locked_list[]
        INIT(= N_("E1118: Cannot change locked list"));
 EXTERN char e_cannot_change_locked_list_item[]
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index e214d9583..85d672bd2 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1001,7 +1001,18 @@ def Test_nested_function()
         enddef
       enddef
   END
-  v9.CheckDefFailure(lines, 'E1117:')
+  v9.CheckDefFailure(lines, 'E1117: Cannot use ! with nested :def')
+
+  lines =<< trim END
+      def Outer()
+        function Inner()
+          " comment
+        endfunc
+        function! Inner()
+        endfunc
+      enddef
+  END
+  v9.CheckDefFailure(lines, 'E1117: Cannot use ! with nested :function')
 
   lines =<< trim END
       vim9script
diff --git a/src/version.c b/src/version.c
index 1884220ba..fc0f8c58e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -719,6 +719,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1531,
 /**/
     1530,
 /**/
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 131bab7f4..a7c412e51 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1035,7 +1035,8 @@ compile_nested_function(exarg_T *eap, cctx_T *cctx, 
garray_T *lines_to_free)
 
     if (eap->forceit)
     {
-       emsg(_(e_cannot_use_bang_with_nested_def));
+       semsg(_(e_cannot_use_bang_with_nested_def_str),
+               eap->cmdidx == CMD_def ? ":def" : ":function");
        return NULL;
     }
 

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1uZFed-00BNv0-CA%40256bit.org.

Raspunde prin e-mail lui