* src/eval.c (backtrace_thread_p, backtrace_top): Don't
segfault in "xbacktrace" if called before the specpdl
machinery is initialized in pdumped Emacs.
bool
backtrace_p (union specbinding *pdl)
-{ return pdl >= specpdl; }
+{ return specpdl ? pdl >= specpdl : false; }
static bool
backtrace_thread_p (struct thread_state *tstate, union specbinding *pdl)
union specbinding *
backtrace_top (void)
{
+ /* This is so "xbacktrace" doesn't crash in pdumped Emacs if they
+ invoke the command before init_eval_once_for_pdumper initializes
+ specpdl machinery. See also backtrace_p above. */
+ if (!specpdl)
+ return NULL;
+
union specbinding *pdl = specpdl_ptr - 1;
while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
pdl--;