extern long get_random ();
extern void seed_random P_ ((long));
+static Lisp_Object Fyes_or_no1 (Lisp_Object prompt);
+
#ifndef HAVE_UNISTD_H
extern long time ();
#endif
is nil, and `use-dialog-box' is non-nil. */)
(prompt)
Lisp_Object prompt;
+{
+ Lisp_Object ret;
+ int count = SPECPDL_INDEX ();
+
+ Finhibit_yield (Qt);
+ record_unwind_protect (Finhibit_yield, Qnil);
+ ret = Fyes_or_no1 (prompt);
+
+ unbind_to (count, Qnil);
+ return ret;
+}
+
+Lisp_Object
+Fyes_or_no1 (Lisp_Object prompt)
{
register Lisp_Object ans;
Lisp_Object args[2];
Fcons (Vminibuffer_history_variable,
minibuf_save_list))))));
+
+ Finhibit_yield (Qt);
+ record_unwind_protect (Finhibit_yield, Qnil);
record_unwind_protect (read_minibuf_unwind, Qnil);
minibuf_level++;
+
/* We are exiting the minibuffer one way or the other, so run the hook.
It should be run before unwinding the minibuf settings. Do it
separately from read_minibuf_unwind because we need to make sure that
extern int other_threads_p P_ ((void));
extern int user_thread_p P_ ((void));
+
+EXFUN (Finhibit_yield, 1);