pub static FUNCSTACK: ThreadMutex<Vec<funcstack>>Expand description
FUNCSTACK static.
Storage is crate::thread_shell_state::ThreadMutex, not a plain
Mutex. C’s funcstack (Src/exec.c:340) is the call chain of the ONE
thread of execution, and it is what $funcstack, $functrace,
$funcfiletrace and $funcsourcetrace report (c:Src/Modules/
parameter.c:650/681). zshrs runs async_precmd hook functions on a
pool worker and the completer tree on compsys::in_editor’s own
thread, each of which pushes a doshfunc frame (exec.rs, c:6210) — so
with one shared Vec the shell thread’s $funcstack grew frames for
functions it never called. ThreadMutex keeps the lock() API, so
every reader below is unchanged.