I did run through the debugger (debug-on-entry foo), checking
last-nonmenu-event at each step. The value remained
`(menu-bar)' throughout,
right up through debugger-reenable in run-hooks(post-command-hook).
Why was post-command-hook being run? We're talking about code
in the middle
of kill-emacs; it does not read commands, and Emacs should never read
another command once you start killing it. Perhaps the Lisp debugger
interfered.
I don't know. I did debug-on-entry foo. The trace starts like this:
* run-hooks(activate-menubar-hook)
* y-or-n-p("foo? ")
* foo()
run-hook-with-args-until-failure(foo)
save-buffers-kill-emacs(nil)
call-interactively(save-buffers-kill-emacs)
Perhaps the debugger itself is interfering.
The way to handle this best is by debugging at the C level,
with breakpoints and stepping in Fkill_emacs and Fy_or_n_p
and their subroutines.
Sorry; I don't know how to do that, and I don't have the time now, in any
case.
_______________________________________________
Emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug