Thread View: gnu.epoch.misc
1 messages
1 total messages
Started by Garr Lystad
Fri, 14 Aug 1992 17:16
SGI C-g clobbers event-handler bug
Author: Garr Lystad
Date: Fri, 14 Aug 1992 17:16
Date: Fri, 14 Aug 1992 17:16
37 lines
1841 bytes
1841 bytes
I have found that when running a lengthy tag search on a Silicon
Graphics Indigo machine and I do a C-g to abort, that the search does not
abort and after it finishes the variable epoch::event-handler has the
value nil. I do not touch the mouse during all this.
I've looked at what seems to be the relevant code and sort of guess
that the
if (x_in_handler_hook && !EQ(Vx_event_handler_abort,Qnil))
Vx_event_handler = Qnil;
in signal is responsible for the assignment, though I don't see how
the test passes.
I tried all this on a sun also, but the tag-search aborts, and all is
well.
Distantly related to the above:
In looking to see who touched epoch::event-handler I happened to look
at epoch::wait-for-event. Wouldn't an unwind-protect be appropriate
there to protect epoch::event-handler?
(defun epoch::wait-for-event (event-type function)
"Wait for EVENT, calling FUNCTION as handler when it occurs, then return."
(setq epoch::old-handler epoch::event-handler) ; save old handler
(setq epoch::wait-event event-type)
(setq epoch::wait-function function)
(setq epoch::event-handler 'epoch::wait-handler)
(while epoch::wait-event
(epoch::dispatch-events)
(sit-for 1) )
(setq epoch::event-handler epoch::old-handler) )
-- Garr
p.s. Is this the right place to report bugs?
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads