Mercurial > vim
comparison src/testdir/test_vim9_import.vim @ 34522:a089397c9bc6 v9.1.0165
patch 9.1.0165: Vim9: Importing an autoload imported script fails
Commit: https://github.com/vim/vim/commit/fa6300872732f80b770a768e785ae2b189d3e684
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sun Mar 10 19:22:38 2024 +0100
patch 9.1.0165: Vim9: Importing an autoload imported script fails
Problem: Vim9: Importing an autoload imported script fails
(Song-Tianxiang)
Solution: Return the script ID in this case
(Yegappan Lakshmanan)
fixes: #14171
closes: #14174
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 10 Mar 2024 19:30:03 +0100 |
parents | c7591e326ded |
children | a14868d39709 |
comparison
equal
deleted
inserted
replaced
34521:95a648080001 | 34522:a089397c9bc6 |
---|---|
2927 endif | 2927 endif |
2928 END | 2928 END |
2929 v9.CheckScriptSuccess(lines) | 2929 v9.CheckScriptSuccess(lines) |
2930 enddef | 2930 enddef |
2931 | 2931 |
2932 " Import fails when an autoloaded script is imported again. | |
2933 " Github issue #14171 | |
2934 def Test_import_autloaded_script() | |
2935 mkdir('Ximporttwice', 'pR') | |
2936 mkdir('Ximporttwice/plugin') | |
2937 mkdir('Ximporttwice/autoload') | |
2938 var save_rtp = &rtp | |
2939 exe 'set rtp^=' .. getcwd() .. '/Ximporttwice' | |
2940 | |
2941 var lines =<< trim END | |
2942 vim9script | |
2943 | |
2944 export def H(): number | |
2945 return 10 | |
2946 enddef | |
2947 END | |
2948 writefile(lines, 'Ximporttwice/autoload/hello.vim') | |
2949 | |
2950 lines =<< trim END | |
2951 vim9script | |
2952 | |
2953 import "./hello.vim" | |
2954 export def W(): number | |
2955 return 20 | |
2956 enddef | |
2957 END | |
2958 writefile(lines, 'Ximporttwice/autoload/world.vim') | |
2959 | |
2960 lines =<< trim END | |
2961 vim9script | |
2962 | |
2963 import autoload '../autoload/hello.vim' | |
2964 import autoload '../autoload/world.vim' | |
2965 | |
2966 command Hello echo hello.H() | |
2967 command World echo world.W() | |
2968 END | |
2969 writefile(lines, 'Ximporttwice/plugin/main.vim') | |
2970 | |
2971 lines =<< trim END | |
2972 vim9script | |
2973 | |
2974 source ./Ximporttwice/plugin/main.vim | |
2975 assert_equal(['20'], execute('World')->split("\n")) | |
2976 END | |
2977 v9.CheckScriptSuccess(lines) | |
2978 | |
2979 &rtp = save_rtp | |
2980 enddef | |
2932 | 2981 |
2933 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker | 2982 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |