diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-08-12 20:25:14 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-08-12 20:25:14 +0000 |
commit | 01f5d0a2741ed45f3c85493e88daafc2091259a9 (patch) | |
tree | 3887eff7596c4da2d3a722216931248078d25ea0 /Src | |
parent | b2e70921b06eee523071218c8919a27c7f4ce206 (diff) | |
download | zsh-01f5d0a2741ed45f3c85493e88daafc2091259a9.tar.gz zsh-01f5d0a2741ed45f3c85493e88daafc2091259a9.tar.xz zsh-01f5d0a2741ed45f3c85493e88daafc2091259a9.zip |
25443 (tweaked): allow $functrace to show sourced files
Diffstat (limited to 'Src')
-rw-r--r-- | Src/init.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/Src/init.c b/Src/init.c index 2f84fc445..d3c8e2266 100644 --- a/Src/init.c +++ b/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; |