=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/ox_texmacs.c,v retrieving revision 1.18 retrieving revision 1.20 diff -u -p -r1.18 -r1.20 --- OpenXM/src/kxx/ox_texmacs.c 2004/03/25 01:37:14 1.18 +++ OpenXM/src/kxx/ox_texmacs.c 2004/09/17 02:42:58 1.20 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kxx/ox_texmacs.c,v 1.17 2004/03/11 03:32:46 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kxx/ox_texmacs.c,v 1.19 2004/09/05 00:51:18 takayama Exp $ */ #include #include @@ -47,6 +47,8 @@ extern int Quiet; extern JMP_BUF EnvOfStackMachine; +extern int Calling_ctrlC_hook; +extern int RestrictedMode, RestrictedMode_saved; int Format=1; /* 1 : latex mode */ int OutputLimit_for_TeXmacs = (1024*10); @@ -142,7 +144,12 @@ main(int argc,char *argv[]) { while(1) { /* printp(sys); no prompt */ if (SETJMP(EnvOfStackMachine)) { - KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */ + if (!Calling_ctrlC_hook) { + Calling_ctrlC_hook = 1; RestrictedMode = 0; + KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */ + RestrictedMode = RestrictedMode_saved; + } + Calling_ctrlC_hook = 0; if (signal(SIGINT,SIG_IGN) != SIG_IGN) { signal(SIGINT,ctrlC); }