diff liboctave/util/oct-rl-edit.c @ 17958:1adf3710bb68

Working CTRL-C handling implementation for Win32. * libgui/src/thread-manager.cc (sighandlers.h): New include. (windows_thread_manager::interrupt): Call w32_raise_sigint instead of ::raise. * libinterp/corefcn/sighandlers.h (w32_raise_sigint): New declatation. * libinterp/cirefcn/sighandlers.cc (user_abort): Forward declare. (class w32_interrupt_manager): New singleton helper class. (w32_raise_sigint): New function. (user_abort): Call w32_interrupt_manager::octave_jump_to_enclosing_context instead of octave_jump_to_enclosing_context on Win32 platform. (sigint_handler): Call w32_interrupt_manager::user_abort instead of user_abort on Win32 platform. (octave_catch_interrupts, octave_ignore_interrupts, octave_set_interrupt_handler): Call w32_interrupt_manager::init on Win32 platform. * liboctave/util/oct-rl-edit.c (octave_rl_initialize): Set rl_catch_signals to 0 on Win32 platform.
author Michael Goffioul <michael.goffioul@gmail.com>
date Tue, 19 Nov 2013 14:21:38 -0500
parents d63878346099
children d7f642d68817 ad93e9be78ee
line wrap: on
line diff
--- a/liboctave/util/oct-rl-edit.c	Sun Nov 10 11:06:58 2013 -0500
+++ b/liboctave/util/oct-rl-edit.c	Tue Nov 19 14:21:38 2013 -0500
@@ -395,6 +395,10 @@
 void
 octave_rl_initialize (void)
 {
+#if defined (__WIN32__) && ! defined (__CYGWIN__)
+  rl_catch_signals = 0;
+#endif
+
   rl_initialize ();
 }