#include "buffer.h"
#include "keyboard.h"
-Lisp_Object Qstring_lessp;
+Lisp_Object Qstring_lessp, Qprovide, Qrequire;
static Lisp_Object internal_equal ();
\f
|| XTYPE (this) == Lisp_Compiled))
{
if (XTYPE (this) == Lisp_Int)
- args[argnum] = Fint_to_string (this);
+ args[argnum] = Fnumber_to_string (this);
else
args[argnum] = wrong_type_argument (Qsequencep, this);
}
}
#endif
if (XTYPE (o1) != XTYPE (o2)) return Qnil;
- if (XTYPE (o1) == Lisp_Cons)
+ if (XTYPE (o1) == Lisp_Cons
+ || XTYPE (o1) == Lisp_Overlay)
{
Lisp_Object v1;
v1 = internal_equal (Fcar (o1), Fcar (o2), depth + 1);
while (1)
{
- message ("%s(y or n) ", XSTRING (xprompt)->data);
cursor_in_echo_area = 1;
+ message ("%s(y or n) ", XSTRING (xprompt)->data);
+
+ obj = read_filtered_event (1, 0, 0);
+ cursor_in_echo_area = 0;
+ /* If we need to quit, quit with cursor_in_echo_area = 0. */
+ QUIT;
- obj = read_char (0, 0, 0, Qnil, 0);
key = Fmake_vector (make_number (1), obj);
def = Flookup_key (map, key);
answer_string = Fsingle_key_description (obj);
- cursor_in_echo_area = -1;
- message ("%s(y or n) %s", XSTRING (xprompt)->data,
- XSTRING (answer_string)->data);
- cursor_in_echo_area = ocech;
-
if (EQ (def, intern ("skip")))
{
answer = 0;
}
UNGCPRO;
- message ("%s(y or n) %c", XSTRING (xprompt)->data, answer ? 'y' : 'n');
+ if (! noninteractive)
+ {
+ cursor_in_echo_area = -1;
+ message ("%s(y or n) %c", XSTRING (xprompt)->data, answer ? 'y' : 'n');
+ cursor_in_echo_area = ocech;
+ }
return answer ? Qt : Qnil;
}
tem = Fmemq (feature, Vfeatures);
if (NILP (tem))
Vfeatures = Fcons (feature, Vfeatures);
+ LOADHIST_ATTACH (Fcons (Qprovide, feature));
return feature;
}
register Lisp_Object tem;
CHECK_SYMBOL (feature, 0);
tem = Fmemq (feature, Vfeatures);
+ LOADHIST_ATTACH (Fcons (Qrequire, feature));
if (NILP (tem))
{
int count = specpdl_ptr - specpdl;
{
Qstring_lessp = intern ("string-lessp");
staticpro (&Qstring_lessp);
+ Qprovide = intern ("provide");
+ staticpro (&Qprovide);
+ Qrequire = intern ("require");
+ staticpro (&Qrequire);
DEFVAR_LISP ("features", &Vfeatures,
"A list of symbols which are the features of the executing emacs.\n\