Mercurial > octave
diff liboctave/util/cmd-edit.cc @ 27338:829d9efb7730
allow gui events to interrupt readline event processing (bug #56738)
* liboctave/util/action-container.cc: New file.
* action-container.h, action-container.cc (action_container::run):
Break out of loop if command_editor::input_interrupted is true.
* liboctave/util/module.mk: Update.
* cmd-edit.h (command_editor::input_interrupted,
command_editor::do_input_interrupted): New functions.
* cmd-edit.cc (gnu_readline::do_input_interrupted): New function.
* oct-rl-edit.h, oct-rl-edit.c (octave_rl_input_interrupted):
New function.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 13 Aug 2019 19:13:46 -0400 |
parents | db687716fed6 |
children | 64289bf338da |
line wrap: on
line diff
--- a/liboctave/util/cmd-edit.cc Fri Aug 09 11:51:44 2019 -0400 +++ b/liboctave/util/cmd-edit.cc Tue Aug 13 19:13:46 2019 -0400 @@ -195,6 +195,8 @@ void do_interrupt (bool); + bool do_input_interrupted (void); + void do_handle_interrupt_signal (void); static int operate_and_get_next (int, int); @@ -770,6 +772,12 @@ ::octave_rl_done (arg); } + bool + gnu_readline::do_input_interrupted (void) + { + return ::octave_rl_input_interrupted (); + } + void gnu_readline::do_handle_interrupt_signal (void) { @@ -1638,6 +1646,12 @@ return retval; } + bool + command_editor::input_interrupted (void) + { + return instance_ok () ? instance->do_input_interrupted () : false; + } + void command_editor::handle_interrupt_signal (void) {