Previous: , Up: Asynchronous Events; Quit Checking   [Contents][Index]

14.5 Exiting

Ben’s capsule summary about expected and unexpected exits from XEmacs.

Expected exits occur when the user directs XEmacs to exit, for example by pressing the close button on the only frame in XEmacs, or by typing C-x C-c. This runs save-buffers-kill-emacs, which saves any necessary buffers, and then exits using the primitive kill-emacs.

However, unexpected exits occur in a few different ways:

Currently, both unexpected exit scenarios described above set preparing_for_armageddon to indicate that nonessential and possibly dangerous things should not be done, specifically:

(Also, all places that set preparing_for_armageddon also set dont_check_for_quit. This happens separately because it’s also necessary to set other variables to make absolutely sure no quitting happens.)

In the first scenario above (the access violation), we also set fatal_error_in_progress. This causes more things to not happen:

Previous: , Up: Asynchronous Events; Quit Checking   [Contents][Index]