BLOCK_INPUT; ... record_unwind_protect() ... UNBLOCK_INPUT;
unbind_to(); I think that code is correct. Neither record_unwind_protect nor unbind_to does anything to interrupt_input_blocked. If there is no abnormal control transfer, unbind_to will run the function that record_unwind_protect recorded, and UNBLOCK_INPUT will undo the BLOCK_INPUT. If there is an abnormal control transfer, it will run that function. It will also restore interrupt_input_blocked to the proper value corresponding to the place the error is caught. Which is not in this function. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel