mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 15:28:17 +00:00
@@ -17580,15 +17580,14 @@ void ex_function(exarg_T *eap)
|
||||
|
||||
/* Check for defining a function inside this function. */
|
||||
if (checkforcmd(&p, "function", 2)) {
|
||||
if (*p == '!')
|
||||
if (*p == '!') {
|
||||
p = skipwhite(p + 1);
|
||||
}
|
||||
p += eval_fname_script(p);
|
||||
if (ASCII_ISALPHA(*p)) {
|
||||
free(trans_function_name(&p, TRUE, 0, NULL));
|
||||
if (*skipwhite(p) == '(') {
|
||||
++nesting;
|
||||
indent += 2;
|
||||
}
|
||||
free(trans_function_name(&p, TRUE, 0, NULL));
|
||||
if (*skipwhite(p) == '(') {
|
||||
nesting++;
|
||||
indent += 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -189,7 +189,7 @@ static int included_patches[] = {
|
||||
//552,
|
||||
//551,
|
||||
//550,
|
||||
//549,
|
||||
549,
|
||||
//548 NA
|
||||
547,
|
||||
//546,
|
||||
|
50
test/functional/legacy/nested_function_spec.lua
Normal file
50
test/functional/legacy/nested_function_spec.lua
Normal file
@@ -0,0 +1,50 @@
|
||||
-- Tests for nested function.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local execute, expect, source = helpers.execute, helpers.expect, helpers.source
|
||||
|
||||
describe('test_nested_function', function()
|
||||
setup(clear)
|
||||
|
||||
it('is working', function()
|
||||
insert([[
|
||||
result:]])
|
||||
|
||||
source([[
|
||||
: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]])
|
||||
execute('call NestedFunc()')
|
||||
|
||||
-- Assert buffer contents.
|
||||
expect([[
|
||||
result:
|
||||
Func1
|
||||
s:func2
|
||||
s:_func3
|
||||
Func4
|
||||
s:func5]])
|
||||
end)
|
||||
end)
|
Reference in New Issue
Block a user