Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[BUG] Anonymous functions cause funcfiletrace to produce function-relative line numbers



Hello again. Sorry for spamming the list, i can't seem to help myself.

I was experimenting with line-number tracing today and i found that anonymous
functions have an undesirable effect on funcfiletrace:

  % cat -n tracetest.zsh
       1  #
       2  foo() {
       3    #
       4    #
       5    #
       6    #
       7    #
       8    () { () { print -rC2 -- $functrace $funcfiletrace } }
       9  }
      10  foo
  % zsh tracetest.zsh
  (anon):0          tracetest.zsh:6
  foo:6             tracetest.zsh:8
  tracetest.zsh:10  tracetest.zsh:10

Note that the top call from (anon) is listed as tracetest.zsh:6 (actually the
relative line number within the function foo) rather than the expected
tracetest.zsh:8 (the absolute line number within the file).

I looked at the parameter module very briefly but nothing stood out immediately.
Probably will be obvious to someone else why it does that.

dana



Messages sorted by: Reverse Date, Date, Thread, Author