1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-05 11:45:45 +00:00

(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.
This commit is contained in:
Richard M. Stallman 1996-02-01 16:10:41 +00:00
parent d89793b7b8
commit eb4ffa4eb0

View File

@ -41,6 +41,7 @@ extern Lisp_Object Flookup_key ();
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 @@ Also accepts Space to mean yes, or Delete to mean no.")
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 @@ Also accepts Space to mean yes, or Delete to mean no.")
while (1)
{
#ifdef HAVE_MENUS
if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event))
&& have_menus_p ())
@ -1642,9 +1647,9 @@ Also accepts Space to mean yes, or Delete to mean no.")
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 @@ syms_of_fns ()
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\