mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-25 06:50:46 -08:00
Merge from trunk
This commit is contained in:
commit
40d83b412f
170 changed files with 5682 additions and 2637 deletions
|
|
@ -425,7 +425,7 @@ according to which any remaining arguments are pushed on the stack
|
|||
before executing BYTESTR.
|
||||
|
||||
usage: (byte-code BYTESTR VECTOR MAXDEP &optional ARGS-TEMPLATE &rest ARGS) */)
|
||||
(int nargs, Lisp_Object *args)
|
||||
(size_t nargs, Lisp_Object *args)
|
||||
{
|
||||
Lisp_Object args_tmpl = nargs >= 4 ? args[3] : Qnil;
|
||||
int pnargs = nargs >= 4 ? nargs - 4 : 0;
|
||||
|
|
@ -631,7 +631,16 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
|
|||
{
|
||||
Lisp_Object v1;
|
||||
v1 = TOP;
|
||||
TOP = CAR (v1);
|
||||
if (CONSP (v1))
|
||||
TOP = XCAR (v1);
|
||||
else if (NILP (v1))
|
||||
TOP = Qnil;
|
||||
else
|
||||
{
|
||||
BEFORE_POTENTIAL_GC ();
|
||||
wrong_type_argument (Qlistp, v1);
|
||||
AFTER_POTENTIAL_GC ();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -657,7 +666,17 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
|
|||
{
|
||||
Lisp_Object v1;
|
||||
v1 = TOP;
|
||||
TOP = CDR (v1);
|
||||
if (CONSP (v1))
|
||||
TOP = XCDR (v1);
|
||||
else if (NILP (v1))
|
||||
TOP = Qnil;
|
||||
else
|
||||
{
|
||||
BEFORE_POTENTIAL_GC ();
|
||||
wrong_type_argument (Qlistp, v1);
|
||||
AFTER_POTENTIAL_GC ();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -994,13 +1013,13 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
|
|||
v1 = POP;
|
||||
v2 = TOP;
|
||||
CHECK_NUMBER (v2);
|
||||
AFTER_POTENTIAL_GC ();
|
||||
op = XINT (v2);
|
||||
immediate_quit = 1;
|
||||
while (--op >= 0 && CONSP (v1))
|
||||
v1 = XCDR (v1);
|
||||
immediate_quit = 0;
|
||||
TOP = CAR (v1);
|
||||
AFTER_POTENTIAL_GC ();
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue