Are there reflection methods available in elisp to examine the stack without invoking the debugger?
For example:
- Get the calling/callee function
- Get the function call stack
- Get the (longer) nested statement stack
- Get arguments for any of the above
An aside: In my search for applicable features/functions/variables I was surprised to learn that elisp does not (natively) perform tail call optimization! Presumably elisp does then maintain a complete stack.
called-interactively-p
for a function doing this. I generally recommend against doing such a thing as it's error-prone, incredibly hard to read and lispy languages don't have the need for it.