1%test 2 3 print 'print In sourced file 4 print $LINENO + $functrace + $funcsourcetrace 5 ' >sourcedfile 6 print -r -- 'print Started functrace.zsh 7 module_path=(./Modules) 8 print $LINENO + $functrace + $funcsourcetrace 9 : 10 fn() { 11 print Inside function $0 12 print $LINENO + $functrace + $funcsourcetrace 13 } 14 : 15 fn 16 : 17 fpath=(. $fpath) 18 : 19 echo '\''print Inside $0 20 print $LINENO + $functrace + $funcsourcetrace 21 '\'' >autofn 22 : 23 autoload autofn 24 : 25 autofn 26 autofn 27 . ./sourcedfile' >functrace.zsh 28 $ZTST_testdir/../Src/zsh +Z -f ./functrace.zsh 290:Function tracing 30>Started functrace.zsh 31>3 + + 32>Inside function fn 33>2 + ./functrace.zsh:10 + ./functrace.zsh:5 34>Inside autofn 35>2 + ./functrace.zsh:20 + ./autofn:0 36>Inside autofn 37>2 + ./functrace.zsh:21 + ./autofn:0 38>In sourced file 39>2 + ./functrace.zsh:22 + ./sourcedfile:0 40 41 print -r -- 'module_path=(./Modules) 42 debug_hook() { print $funcfiletrace[1] $functrace[1]; } 43 set -o DEBUG_BEFORE_CMD 44 trap "debug_hook" DEBUG 45 fn() { 46 a=1 47 eval "b=2" 48 c=3 49 } 50 fn 51 w=5 52 eval "x=6 53 y=7" 54 z=8' >rocky3.zsh 55 $ZTST_testdir/../Src/zsh +Z -f ./rocky3.zsh 560:Eval tracing 57>./rocky3.zsh:5 ./rocky3.zsh:5 58>./rocky3.zsh:10 ./rocky3.zsh:10 59>./rocky3.zsh:6 fn:1 60>./rocky3.zsh:7 fn:2 61>./rocky3.zsh:7 (eval):1 62>./rocky3.zsh:8 fn:3 63>./rocky3.zsh:11 ./rocky3.zsh:11 64>./rocky3.zsh:12 ./rocky3.zsh:12 65>./rocky3.zsh:12 (eval):1 66>./rocky3.zsh:13 (eval):2 67>./rocky3.zsh:14 ./rocky3.zsh:14 68 69%clean 70 71 rm -f autofn functrace.zsh rocky3.zsh sourcedfile 72