view src/testdir/test_nested_function.in @ 8159:d0958e22d9ff v7.4.1373

commit https://github.com/vim/vim/commit/ece61b06ef4726515177c9b293e1c20d2122a73f Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 20 21:39:05 2016 +0100 patch 7.4.1373 Problem: Calling a Vim function over a channel requires turning the arguments into a string. Solution: Add the "call" command. (Damien) Also merge "expr" and "eval" into one.
author Christian Brabandt <cb@256bit.org>
date Sat, 20 Feb 2016 21:45:04 +0100
parents 750a6986aa86
children
line wrap: on
line source

Tests for Nested function                vim: set ft=vim :

STARTTEST
:so small.vim
:fu! NestedFunc()
:  fu! Func1()
:    $put ='Func1'
:  endfunction
:  call Func1()
:  fu! s:func2()
:    $put ='s:func2'
:  endfunction
:  call s:func2()
:  fu! s:_func3()
:    $put ='s:_func3'
:  endfunction
:  call s:_func3()
:  let fn = 'Func4'
:  fu! {fn}()
:    $put ='Func4'
:  endfunction
:  call {fn}()
:  let fn = 'func5'
:  fu! s:{fn}()
:    $put ='s:func5'
:  endfunction
:  call s:{fn}()
:endfunction
:call NestedFunc()
:/^result:/,$w! test.out
:qa!
ENDTEST

result: