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

Reply via email to