patch 8.2.4179: 'foldtext' is evaluated in the current script context
Problem: 'foldtext' is evaluated in the current script context.
Solution: Use the script context where the option was set.
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index df22a77..3608802 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -683,6 +683,9 @@
export def Expr(): string
return getline(v:lnum) =~ '^#' ? '>1' : '1'
enddef
+ export def Text(): string
+ return 'fold text'
+ enddef
g:fold_loaded = 'yes'
END
writefile(lines, 'Xdir/autoload/fold.vim')
@@ -691,6 +694,7 @@
vim9script
import autoload 'fold.vim'
&foldexpr = 'fold.Expr()'
+ &foldtext = 'fold.Text()'
&foldmethod = 'expr'
&debug = 'throw'
END
@@ -706,7 +710,7 @@
edit! otherfile
redraw
- set foldexpr= foldmethod& debug=
+ set foldexpr= foldtext& foldmethod& debug=
bwipe!
delete('Xdir', 'rf')
&rtp = save_rtp