the state that online check syntax uses (indirectly via scribble)
to lookup documentation.
since the kill-safe abstraction moved some computation over to
another thread, the values of various parameters (current-directory
in this case) were not preserved. So when scribble then ended up
resolving a module path with the wrong current directory, this
bad value got cached. Then later, when check syntax tries to figure
out what file to open to jump to it, it got the cached bogus value
(even though current-directory was right when check syntax asked
for the filename).
closes PR 12538
cope with the case where the thread has been killed (the nacks are
apparently not triggered on thread death in some cases)
(optimistically) closes PR 12427