------- Additional Comments From paulthomas2 at wanadoo dot fr  2005-03-27 
06:23 -------
(In reply to comment #5)
> (In reply to comment #0)
> John Eaton's last word on the subject: 
______________________________________________________________

Here is a fix for the Ctrl-C crashes Octave on Cygwin problem.

My apologies to the GCC people for thinking this was a bug with GCC.

jwe


liboctave/ChangeLog:

2005-03-26  John W. Eaton  <[EMAIL PROTECTED]>

* cmd-edit.cc (do_readline): Wrap call to ::octave_rl_readline
with {BEGIN,END}_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE.


src/ChangeLog:

2005-03-26  John W. Eaton <[EMAIL PROTECTED]>

* input.cc (gnu_readline): Don't wrap call to command_editor::readline
with {BEGIN,END}_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE.
 

Index: liboctave/cmd-edit.cc
===================================================================
RCS file: /cvs/octave/liboctave/cmd-edit.cc,v
retrieving revision 1.23
diff -u -r1.23 cmd-edit.cc
--- liboctave/cmd-edit.cc 25 Nov 2003 06:05:20 -0000 1.23
+++ liboctave/cmd-edit.cc 26 Mar 2005 17:53:14 -0000
@@ -36,6 +36,8 @@
 #include <unistd.h>
 #endif
 
+#include "quit.h"
+
 #include "cmd-edit.h"
 #include "cmd-hist.h"
 #include "lo-error.h"
@@ -192,7 +194,13 @@
 
   eof = false;
 
-  char *line = ::octave_rl_readline (prompt.c_str ());
+  char *line = 0;
+
+  BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
+
+  line = ::octave_rl_readline (prompt.c_str ());
+
+  END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
 
   if (line)
     {
Index: src/input.cc
===================================================================
RCS file: /cvs/octave/src/input.cc,v
retrieving revision 1.160
diff -u -r1.160 input.cc
--- src/input.cc 4 Mar 2005 02:46:08 -0000 1.160
+++ src/input.cc 26 Mar 2005 17:53:27 -0000
@@ -177,12 +177,8 @@
     {
       bool eof;
 
-      BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
-
       retval = command_editor::readline (s, eof);
 
-      END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
-
       if (! eof && retval.empty ())
  retval = "\n";
     }


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20442

Reply via email to