comparison src/testdir/test_fold.vim @ 26759:31c23760d590 v8.2.3908

patch 8.2.3908: cannot use a script-local function for 'foldtext' Commit: https://github.com/vim/vim/commit/27708e6c7b6f444fd599f3dc5015336b002b874d Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Dec 26 21:54:43 2021 +0000 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 https://github.com/vim/vim/issues/9411)
author Bram Moolenaar <Bram@vim.org>
date Sun, 26 Dec 2021 23:00:04 +0100
parents c2c40cefc17b
children 8cba27db759a
comparison
equal deleted inserted replaced
26758:eff932b99d11 26759:31c23760d590
1406 set foldmethod& foldexpr= 1406 set foldmethod& foldexpr=
1407 delfunc s:FoldFunc 1407 delfunc s:FoldFunc
1408 bw! 1408 bw!
1409 endfunc 1409 endfunc
1410 1410
1411 " Test for using a script-local function for 'foldtext'
1412 func Test_foldtext_scriptlocal_func()
1413 func! s:FoldText()
1414 let g:FoldTextArgs = [v:foldstart, v:foldend]
1415 return foldtext()
1416 endfunc
1417 new | only
1418 call setline(1, range(50))
1419 let g:FoldTextArgs = []
1420 set foldmethod=manual
1421 set foldtext=s:FoldText()
1422 norm! 4Gzf4j
1423 redraw!
1424 call assert_equal(expand('<SID>') .. 'FoldText()', &foldtext)
1425 call assert_equal([4, 8], g:FoldTextArgs)
1426 set foldtext&
1427 bw!
1428 new | only
1429 call setline(1, range(50))
1430 let g:FoldTextArgs = []
1431 set foldmethod=manual
1432 set foldtext=<SID>FoldText()
1433 norm! 8Gzf4j
1434 redraw!
1435 call assert_equal(expand('<SID>') .. 'FoldText()', &foldtext)
1436 call assert_equal([8, 12], g:FoldTextArgs)
1437 set foldtext&
1438 bw!
1439 delfunc s:FoldText
1440 endfunc
1441
1411 " vim: shiftwidth=2 sts=2 expandtab 1442 " vim: shiftwidth=2 sts=2 expandtab