else if (NILP (v1))
TOP = Qnil;
else
- Fcar (wrong_type_argument (Qlistp, v1));
+ {
+ BEFORE_POTENTIAL_GC ();
+ Fcar (wrong_type_argument (Qlistp, v1));
+ AFTER_POTENTIAL_GC ();
+ }
break;
}
else if (NILP (v1))
TOP = Qnil;
else
- Fcdr (wrong_type_argument (Qlistp, v1));
+ {
+ BEFORE_POTENTIAL_GC ();
+ Fcdr (wrong_type_argument (Qlistp, v1));
+ AFTER_POTENTIAL_GC ();
+ }
break;
}
Lisp_Object v1, v2;
v1 = POP;
v2 = TOP;
+ BEFORE_POTENTIAL_GC ();
CHECK_NUMBER (v2, 0);
+ AFTER_POTENTIAL_GC ();
op = XINT (v2);
immediate_quit = 1;
while (--op >= 0)
else if (!NILP (v1))
{
immediate_quit = 0;
+ BEFORE_POTENTIAL_GC ();
v1 = wrong_type_argument (Qlistp, v1);
+ AFTER_POTENTIAL_GC ();
immediate_quit = 1;
op++;
}
else if (NILP (v1))
TOP = Qnil;
else
- Fcar (wrong_type_argument (Qlistp, v1));
+ {
+ BEFORE_POTENTIAL_GC ();
+ Fcar (wrong_type_argument (Qlistp, v1));
+ AFTER_POTENTIAL_GC ();
+ }
break;
}
{
Lisp_Object v1, v2;
v2 = POP; v1 = TOP;
+ BEFORE_POTENTIAL_GC ();
CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v1, 0);
CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v2, 0);
+ AFTER_POTENTIAL_GC ();
#ifdef LISP_FLOAT_TYPE
if (FLOATP (v1) || FLOATP (v2))
{
break;
case Bchar_syntax:
+ BEFORE_POTENTIAL_GC ();
CHECK_NUMBER (TOP, 0);
+ AFTER_POTENTIAL_GC ();
XSETFASTINT (TOP, syntax_code_spec[(int) SYNTAX (XINT (TOP))]);
break;
/* Exchange args and then do nth. */
v2 = POP;
v1 = TOP;
+ BEFORE_POTENTIAL_GC ();
CHECK_NUMBER (v2, 0);
+ AFTER_POTENTIAL_GC ();
op = XINT (v2);
immediate_quit = 1;
while (--op >= 0)
else if (!NILP (v1))
{
immediate_quit = 0;
+ BEFORE_POTENTIAL_GC ();
v1 = wrong_type_argument (Qlistp, v1);
+ AFTER_POTENTIAL_GC ();
immediate_quit = 1;
op++;
}
else if (NILP (v1))
TOP = Qnil;
else
- Fcar (wrong_type_argument (Qlistp, v1));
+ {
+ BEFORE_POTENTIAL_GC ();
+ Fcar (wrong_type_argument (Qlistp, v1));
+ AFTER_POTENTIAL_GC ();
+ }
}
else
{
#ifdef BYTE_CODE_SAFE
case Bset_mark:
+ BEFORE_POTENTIAL_GC ();
error ("set-mark is an obsolete bytecode");
+ AFTER_POTENTIAL_GC ();
break;
case Bscan_buffer:
+ BEFORE_POTENTIAL_GC ();
error ("scan-buffer is an obsolete bytecode");
+ AFTER_POTENTIAL_GC ();
break;
#endif
default:
#ifdef BYTE_CODE_SAFE
if (op < Bconstant)
- error ("unknown bytecode %d (byte compiler bug)", op);
+ {
+ BEFORE_POTENTIAL_GC ();
+ error ("unknown bytecode %d (byte compiler bug)", op);
+ AFTER_POTENTIAL_GC ();
+ }
if ((op -= Bconstant) >= const_length)
- error ("no constant number %d (byte compiler bug)", op);
+ {
+ BEFORE_POTENTIAL_GC ();
+ error ("no constant number %d (byte compiler bug)", op);
+ AFTER_POTENTIAL_GC ();
+ }
PUSH (vectorp[op]);
#else
PUSH (vectorp[op - Bconstant]);