mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-30 05:40:58 +01:00
25443 (tweaked): allow $functrace to show sourced files
This commit is contained in:
parent
b2e70921b0
commit
01f5d0a274
4 changed files with 30 additions and 12 deletions
23
Src/init.c
23
Src/init.c
|
|
@ -1100,16 +1100,17 @@ source(char *s)
|
|||
trap_state = TRAP_STATE_INACTIVE;
|
||||
|
||||
sourcelevel++;
|
||||
/* { */
|
||||
/* struct funcstack fstack; */
|
||||
/* fstack.name = dupstring("source"); */
|
||||
/* fstack.caller = dupstring(scriptfilename); */
|
||||
/* fstack.flineno = oldlineno; */
|
||||
/* fstack.lineno = oldlineno; */
|
||||
/* fstack.filename = NULL; */
|
||||
/* fstack.prev = funcstack; */
|
||||
/* funcstack = &fstack; */
|
||||
/* } */
|
||||
{
|
||||
struct funcstack fstack;
|
||||
fstack.name = dupstring("source");
|
||||
fstack.caller = dupstring(old_scriptfilename ? old_scriptfilename :
|
||||
"zsh");
|
||||
fstack.flineno = 0;
|
||||
fstack.lineno = oldlineno;
|
||||
fstack.filename = fstack.name;
|
||||
fstack.prev = funcstack;
|
||||
funcstack = &fstack;
|
||||
}
|
||||
|
||||
if (prog) {
|
||||
pushheap();
|
||||
|
|
@ -1118,7 +1119,7 @@ source(char *s)
|
|||
popheap();
|
||||
} else
|
||||
loop(0, 0); /* loop through the file to be sourced */
|
||||
/* funcstack = funcstack->prev; */
|
||||
funcstack = funcstack->prev;
|
||||
sourcelevel--;
|
||||
|
||||
trap_state = otrap_state;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue