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:
parent
d89793b7b8
commit
eb4ffa4eb0
11
src/fns.c
11
src/fns.c
@ -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\
|
||||
|
Loading…
Reference in New Issue
Block a user