Mercurial > emacs
changeset 14456:fb11ccbe5c7c
(Qcursor_in_echo_area): New variable.
(syms_of_fns): Set up Lisp var.
(Fy_or_n_p): Bind Qcursor_in_echo_area in case of nonlocal exit.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 01 Feb 1996 16:10:41 +0000 |
parents | 1ce19c0594b1 |
children | faef0869994d |
files | src/fns.c |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fns.c Thu Feb 01 07:22:14 1996 +0000 +++ b/src/fns.c Thu Feb 01 16:10:41 1996 +0000 @@ -41,6 +41,7 @@ Lisp_Object Qstring_lessp, Qprovide, Qrequire; Lisp_Object Qyes_or_no_p_history; +Lisp_Object Qcursor_in_echo_area; static int internal_equal (); @@ -1558,8 +1559,10 @@ register int answer; Lisp_Object xprompt; Lisp_Object args[2]; - int ocech = cursor_in_echo_area; struct gcpro gcpro1, gcpro2; + int count = specpdl_ptr - specpdl; + + specbind (Qcursor_in_echo_area, Qt); map = Fsymbol_value (intern ("query-replace-map")); @@ -1569,6 +1572,8 @@ while (1) { + + #ifdef HAVE_MENUS if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event)) && have_menus_p ()) @@ -1642,9 +1647,9 @@ cursor_in_echo_area = -1; message_nolog ("%s(y or n) %c", XSTRING (xprompt)->data, answer ? 'y' : 'n'); - cursor_in_echo_area = ocech; } + unbind_to (count, Qnil); return answer ? Qt : Qnil; } @@ -1823,6 +1828,8 @@ staticpro (&Qrequire); Qyes_or_no_p_history = intern ("yes-or-no-p-history"); staticpro (&Qyes_or_no_p_history); + Qcursor_in_echo_area = intern ("cursor-in-echo-area"); + staticpro (&Qcursor_in_echo_area); DEFVAR_LISP ("features", &Vfeatures, "A list of symbols which are the features of the executing emacs.\n\