patch 8.2.3908: cannot use a script-local function for 'foldtext'

Problem:    Cannot use a script-local function for 'foldtext'.
Solution:   Expand "s:" and "<SID>". (Yegappan Lakshmanan, closes #9411)
diff --git a/src/testdir/test_fold.vim b/src/testdir/test_fold.vim
index d35b7c8..e3b6b6e 100644
--- a/src/testdir/test_fold.vim
+++ b/src/testdir/test_fold.vim
@@ -1408,4 +1408,35 @@
   bw!
 endfunc
 
+" Test for using a script-local function for 'foldtext'
+func Test_foldtext_scriptlocal_func()
+  func! s:FoldText()
+    let g:FoldTextArgs = [v:foldstart, v:foldend]
+    return foldtext()
+  endfunc
+  new | only
+  call setline(1, range(50))
+  let g:FoldTextArgs = []
+  set foldmethod=manual
+  set foldtext=s:FoldText()
+  norm! 4Gzf4j
+  redraw!
+  call assert_equal(expand('<SID>') .. 'FoldText()', &foldtext)
+  call assert_equal([4, 8], g:FoldTextArgs)
+  set foldtext&
+  bw!
+  new | only
+  call setline(1, range(50))
+  let g:FoldTextArgs = []
+  set foldmethod=manual
+  set foldtext=<SID>FoldText()
+  norm! 8Gzf4j
+  redraw!
+  call assert_equal(expand('<SID>') .. 'FoldText()', &foldtext)
+  call assert_equal([8, 12], g:FoldTextArgs)
+  set foldtext&
+  bw!
+  delfunc s:FoldText
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab