]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.1044: Vim9: Patch 9.1.1014 causes regressions v9.1.1044
authorChristian Brabandt <cb@256bit.org>
Tue, 21 Jan 2025 21:17:50 +0000 (22:17 +0100)
committerChristian Brabandt <cb@256bit.org>
Tue, 21 Jan 2025 21:17:50 +0000 (22:17 +0100)
Problem:  Vim9: Patch 9.1.1014 causes regressions
Solution: revert it for now

This reverts commit 57f0119358ed7f060d5020309b9043463121435f since this
causes some regressions:
https://github.com/vim/vim/pull/16440#issuecomment-2600235629

So revert "patch 9.1.1014: Vim9: variable not found in transitive
import" for now.

Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/doc/options.txt
runtime/doc/tags
runtime/doc/vim9.txt
src/errors.h
src/testdir/test_vim9_class.vim
src/version.c
src/vim9compile.c

index d689fe11b980b9ae30be6fede55df48ae3928458..50ef430b68b63e34d2dbe7d527b967ee13073c34 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 9.1.  Last change: 2025 Jan 20
+*options.txt*  For Vim version 9.1.  Last change: 2025 Jan 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -5582,7 +5582,6 @@ A jump table for the options with a short description can be found at |Q_op|.
        command recursion, see |E169|.
        See also |:function|.
        Also used for maximum depth of callback functions.
-       Also used for maximum depth of import.  See |:import-cycle|.
 
                                                *'maxmapdepth'* *'mmd'* *E223*
 'maxmapdepth' 'mmd'    number  (default 1000)
index 6491350a3f6d5bfe52d39938e50ff6f0f718f37d..0b9253203b311d94152b6a725b2f505b3b3d52c6 100644 (file)
@@ -4148,7 +4148,6 @@ E1041     vim9.txt        /*E1041*
 E1042  vim9.txt        /*E1042*
 E1043  vim9.txt        /*E1043*
 E1044  vim9.txt        /*E1044*
-E1045  vim9.txt        /*E1045*
 E1047  vim9.txt        /*E1047*
 E1048  vim9.txt        /*E1048*
 E1049  vim9.txt        /*E1049*
index 694ec7c7957d37f06f96b663e9a102e54b37b782..5ea4ebe58e4bb49638cbbd277009996dc7438b64 100644 (file)
@@ -1,4 +1,4 @@
-*vim9.txt*     For Vim version 9.1.  Last change: 2025 Jan 19
+*vim9.txt*     For Vim version 9.1.  Last change: 2025 Jan 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2052,14 +2052,13 @@ prefixing the function with |<SID>| you should use|<ScriptCmd>|. For example:
 >
        noremap ,a <ScriptCmd>:call s:that.OtherFunc()<CR>
 <
-                                                       *:import-cycle* *E1045*
-The `import` commands are executed when encountered.  It can be nested up to
-'maxfuncdepth' levels deep.  If script A imports script B, and B (directly or
-indirectly) imports A, this will be skipped over.  At this point items in A
-after "import B" will not have been processed and defined yet.  Therefore
-cyclic imports can exist and not result in an error directly, but may result
-in an error for items in A after "import B" not being defined.  This does not
-apply to autoload imports, see the next section.
+                                                       *:import-cycle*
+The `import` commands are executed when encountered.  If script A imports
+script B, and B (directly or indirectly) imports A, this will be skipped over.
+At this point items in A after "import B" will not have been processed and
+defined yet.  Therefore cyclic imports can exist and not result in an error
+directly, but may result in an error for items in A after "import B" not being
+defined.  This does not apply to autoload imports, see the next section.
 
 
 Importing an autoload script ~
index 4d2818a817ad3f19164bf0cda20f884cf7ea1a9c..94675289c1506d5289bc9aa660accc100c82378c 100644 (file)
@@ -2738,8 +2738,7 @@ EXTERN char e_invalid_command_after_export[]
        INIT(= N_("E1043: Invalid command after :export"));
 EXTERN char e_export_with_invalid_argument[]
        INIT(= N_("E1044: Export with invalid argument"));
-EXTERN char e_import_nesting_too_deep[]
-        INIT(= N_("E1045: Import nesting too deep"));
+// E1045 not used
 // E1046 not used
 EXTERN char e_syntax_error_in_import_str[]
        INIT(= N_("E1047: Syntax error in import: %s"));
index 3b3ea2015f6c9c3d7d7729cc0b272160d67dd6ad..c39f18c4d7a6ae2949688a17c82ad752c5b3c9e6 100644 (file)
@@ -3662,73 +3662,7 @@ def Test_extend_imported_class()
   v9.CheckScriptSuccess(lines)
 enddef
 
-" Test for multi level import
-def Test_multi_level_import_normal()
-  var lines =<< trim END
-    vim9script
-    export class Property
-      public var value: string
-    endclass
-  END
-  writefile(lines, 'aa.vim', 'D')
-
-  lines =<< trim END
-    vim9script
-    import './aa.vim'
-    export class View
-      var content = aa.Property.new('')
-    endclass
-  END
-  writefile(lines, 'bb.vim', 'D')
-
-  lines =<< trim END
-    vim9script
-    import './bb.vim'
-    class MyView extends bb.View
-      def new(value: string)
-        this.content.value = value
-      enddef
-    endclass
-    var myView = MyView.new('This should be ok')
-  END
-  v9.CheckScriptSuccess(lines)
-enddef
-
-" Test for multi level import
-def Test_multi_level_import_nest_over()
-  var lines =<< trim END
-    vim9script
-    import './xbb.vim'
-    export class Property
-      public var value: string
-    endclass
-  END
-  writefile(lines, 'xaa.vim', 'D')
-
-  lines =<< trim END
-    vim9script
-    import './xaa.vim'
-    export class View
-      var content = aa.Property.new('')
-    endclass
-  END
-  writefile(lines, 'xbb.vim', 'D')
-
-  lines =<< trim END
-    vim9script
-    set maxfuncdepth=100
-    import './xbb.vim'
-    class MyView extends bb.View
-      def new(value: string)
-        this.content.value = value
-      enddef
-    endclass
-    var myView = MyView.new('This should be ok')
-  END
-  v9.CheckSourceFailure(lines, 'E1045: Import nesting too deep', 3)
-enddef
-
-def Test_abtstract_class()
+def Test_abstract_class()
   var lines =<< trim END
     vim9script
     abstract class Base
index 7a2e5a803003a67a02f4dcaebd98c29d47504c26..ad451d70a68d74a52a107eaca0c51d918172c382 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1044,
 /**/
     1043,
 /**/
index 338415e85fddfde345bf930e32133e08dcba325c..29b6414c4659de25c3ca89d8d736caa25e2f1b5f 100644 (file)
@@ -778,7 +778,6 @@ get_script_item_idx(
     static imported_T *
 find_imported_in_script(char_u *name, size_t len, int sid)
 {
-    static int     nesting = 0;
     scriptitem_T    *si;
     int                    idx;
 
@@ -793,19 +792,6 @@ find_imported_in_script(char_u *name, size_t len, int sid)
                     : STRLEN(import->imp_name) == len
                                  && STRNCMP(name, import->imp_name, len) == 0)
            return import;
-       else
-       {
-           if (nesting >= p_mfd)
-           {
-               emsg(_(e_import_nesting_too_deep));
-               return NULL;
-           }
-           ++nesting;
-           import = find_imported_in_script(name, len, import->imp_sid);
-           --nesting;
-           if (import != NULL)
-               return import;
-       }
     }
     return NULL;
 }