comparison src/cmdloop.c @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents b1f74adcc1ff
children a5954632b187
comparison
equal deleted inserted replaced
770:336a418893b5 771:943eaba38521
1 /* Editor command loop. 1 /* Editor command loop.
2 Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. 2 Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
3 Copyright (C) 1995, 1996 Ben Wing. 3 Copyright (C) 1995, 1996, 2001 Ben Wing.
4 4
5 This file is part of XEmacs. 5 This file is part of XEmacs.
6 6
7 XEmacs is free software; you can redistribute it and/or modify it 7 XEmacs is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the 8 under the terms of the GNU General Public License as published by the
95 Fset (intern ("last-error"), data); 95 Fset (intern ("last-error"), data);
96 clear_echo_area (selected_frame (), Qnil, 0); 96 clear_echo_area (selected_frame (), Qnil, 0);
97 Fdisplay_error (data, Qt); 97 Fdisplay_error (data, Qt);
98 check_quit (); /* make Vquit_flag accurate */ 98 check_quit (); /* make Vquit_flag accurate */
99 Vquit_flag = Qnil; 99 Vquit_flag = Qnil;
100 return (unbind_to (speccount, Qt)); 100 return (unbind_to_1 (speccount, Qt));
101 } 101 }
102 102
103 DEFUN ("really-early-error-handler", Freally_early_error_handler, 1, 1, 0, /* 103 DEFUN ("really-early-error-handler", Freally_early_error_handler, 1, 1, 0, /*
104 You should almost certainly not be using this. 104 You should almost certainly not be using this.
105 */ 105 */
122 Fprint (x, Qexternal_debugging_output); 122 Fprint (x, Qexternal_debugging_output);
123 stderr_out ("*** Backtrace\n"); 123 stderr_out ("*** Backtrace\n");
124 Fbacktrace (Qexternal_debugging_output, Qt); 124 Fbacktrace (Qexternal_debugging_output, Qt);
125 stderr_out ("*** Killing XEmacs\n"); 125 stderr_out ("*** Killing XEmacs\n");
126 #ifdef HAVE_MS_WINDOWS 126 #ifdef HAVE_MS_WINDOWS
127 Fmswindows_message_box (build_string ("Initialization error"), 127 Fmswindows_message_box (build_msg_string ("Initialization error"),
128 Qnil, Qnil); 128 Qnil, Qnil);
129 #endif 129 #endif
130 return Fkill_emacs (make_int (-1)); 130 return Fkill_emacs (make_int (-1));
131 } 131 }
132 132
371 371
372 if (EQ (val, Qt)) 372 if (EQ (val, Qt))
373 /* Turn abort-recursive-edit into a quit. */ 373 /* Turn abort-recursive-edit into a quit. */
374 Fsignal (Qquit, Qnil); 374 Fsignal (Qquit, Qnil);
375 375
376 return unbind_to (speccount, Qnil); 376 return unbind_to (speccount);
377 } 377 }
378 378
379 #endif /* !LISP_COMMAND_LOOP */ 379 #endif /* !LISP_COMMAND_LOOP */
380 380
381 381
564 */ 564 */
565 if (minibuf_level > 0 && echo_area_active (selected_frame ())) 565 if (minibuf_level > 0 && echo_area_active (selected_frame ()))
566 { 566 {
567 /* Bind dont_check_for_quit to 1 so that C-g gets read in 567 /* Bind dont_check_for_quit to 1 so that C-g gets read in
568 rather than quitting back to the minibuffer. */ 568 rather than quitting back to the minibuffer. */
569 int count = specpdl_depth (); 569 int count = begin_dont_check_for_quit ();
570 begin_dont_check_for_quit ();
571 Fsit_for (make_int (2), Qnil); 570 Fsit_for (make_int (2), Qnil);
572 clear_echo_area (selected_frame (), Qnil, 0); 571 clear_echo_area (selected_frame (), Qnil, 0);
573 unbind_to (count, Qnil); 572 unbind_to (count);
574 } 573 }
575 574
576 Fnext_event (event, Qnil); 575 Fnext_event (event, Qnil);
577 /* If ^G was typed while emacs was reading input from the user, then 576 /* If ^G was typed while emacs was reading input from the user, then
578 Fnext_event() will have read it as a normal event and 577 Fnext_event() will have read it as a normal event and