It means you have the following call stack:
Sun:6 E484: Can't open file foo.txt
Father:5
GrandFather:2
The GrandFather
function calls the Father
function at line 2.
Where line 1 is the first line of the GrandFather
function right after the beginning of declaration of the function.
The Father
function call the Sun
function at line 5.
The Son
function fails at line 6 with the error E484
.
You can get more information about error E484
by using the command :help E484
.
0 function! Son(
1 \ filename
2 \ )
3 " Read the file if possible
4 echo "foo"
5 \ . " bar"
-> 6 call
7 \ readfile(a:filename)
8 endfunction
0 function! Father(
1 \ filename
2 \ )
3 " Call Son:
4 " That will read a file
-> 5 call Son(a:filename)
6 endfunction
0 function! GrandFather(filename)
1 " Call Father:
-> 2 call Father(a:filename)
3 endfunction
You can find where (filename, linenb) a function is defined using the Vim command: :verbose function
.
e.g.:
:verbose function GrandFather