help / color / mirror / code / Atom feed
* Accessing the evaluated expression which caused an error
@ 2021-09-03  1:42 Zach Riggle
  2021-09-03 17:14 ` Bart Schaefer
  0 siblings, 1 reply; 7+ messages in thread
From: Zach Riggle @ 2021-09-03  1:42 UTC (permalink / raw)
  To: Zsh Users

I have a neat script that registers a TRAPERR function, which dumps
out a backtrace, with the filename, line of source, and a few lines of
source around the line where the error was triggered.  Here's a
contrived example: https://i.imgur.com/jDOa8Pq.png

This is done using funcfiletrace, funcstack, and syntax-highlighted
with 'bat'.  I'm aware of funcsourcetrace, funcstack, and TRAPDEBUG /
ZSH_DEBUG_CMD as well, but none of these contain the actual expression
evaluated -- just the input to zsh.

These are excellent to show a backtrace, but I'm curious whether there
are additional functions that I might be able to leverage to show the
fully-evaluated expression which caused TRAPERR to be invoked.

I know that zsh has the data internally, since "zsh -x" shows the
fully-evaluated expression, so that data must be available somewhere,
even if it's not exposed in a shell variable.

I looked through the docs, as well as the output of "env" and
"declare" from within TRAPERR, but couldn't find anything helpful.

Zach Riggle

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-09-05  2:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-03  1:42 Accessing the evaluated expression which caused an error Zach Riggle
2021-09-03 17:14 ` Bart Schaefer
2021-09-03 17:38   ` Zach Riggle
2021-09-04 20:08     ` Bart Schaefer
2021-09-05  0:26       ` Zach Riggle
2021-09-05  1:44         ` Lawrence Velázquez
2021-09-05  2:08         ` Bart Schaefer

Code repositories for project(s) associated with this public inbox


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).