aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index f186f7d1bc3..1be3e5c6188 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -569,9 +569,9 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
569 if (nargs < mandatory) 569 if (nargs < mandatory)
570 /* Too few arguments. */ 570 /* Too few arguments. */
571 Fsignal (Qwrong_number_of_arguments, 571 Fsignal (Qwrong_number_of_arguments,
572 Fcons (Fcons (make_number (mandatory), 572 list2 (Fcons (make_number (mandatory),
573 rest ? Qand_rest : make_number (nonrest)), 573 rest ? Qand_rest : make_number (nonrest)),
574 Fcons (make_number (nargs), Qnil))); 574 make_number (nargs)));
575 else 575 else
576 { 576 {
577 for (; i < nonrest; i++) 577 for (; i < nonrest; i++)
@@ -590,9 +590,8 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
590 else 590 else
591 /* Too many arguments. */ 591 /* Too many arguments. */
592 Fsignal (Qwrong_number_of_arguments, 592 Fsignal (Qwrong_number_of_arguments,
593 Fcons (Fcons (make_number (mandatory), 593 list2 (Fcons (make_number (mandatory), make_number (nonrest)),
594 make_number (nonrest)), 594 make_number (nargs)));
595 Fcons (make_number (nargs), Qnil)));
596 } 595 }
597 else if (! NILP (args_template)) 596 else if (! NILP (args_template))
598 /* We should push some arguments on the stack. */ 597 /* We should push some arguments on the stack. */
@@ -1061,8 +1060,8 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1061 1060
1062 CASE (Bsave_window_excursion): /* Obsolete since 24.1. */ 1061 CASE (Bsave_window_excursion): /* Obsolete since 24.1. */
1063 { 1062 {
1064 register ptrdiff_t count1 = SPECPDL_INDEX (); 1063 ptrdiff_t count1 = SPECPDL_INDEX ();
1065 record_unwind_protect (Fset_window_configuration, 1064 record_unwind_protect (restore_window_configuration,
1066 Fcurrent_window_configuration (Qnil)); 1065 Fcurrent_window_configuration (Qnil));
1067 BEFORE_POTENTIAL_GC (); 1066 BEFORE_POTENTIAL_GC ();
1068 TOP = Fprogn (TOP); 1067 TOP = Fprogn (TOP);
@@ -1087,7 +1086,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1087 } 1086 }
1088 1087
1089 CASE (Bunwind_protect): /* FIXME: avoid closure for lexbind. */ 1088 CASE (Bunwind_protect): /* FIXME: avoid closure for lexbind. */
1090 record_unwind_protect (Fprogn, POP); 1089 record_unwind_protect (unwind_body, POP);
1091 NEXT; 1090 NEXT;
1092 1091
1093 CASE (Bcondition_case): /* FIXME: ill-suited for lexbind. */ 1092 CASE (Bcondition_case): /* FIXME: ill-suited for lexbind. */
@@ -1169,14 +1168,14 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1169 } 1168 }
1170 1169
1171 CASE (Blist1): 1170 CASE (Blist1):
1172 TOP = Fcons (TOP, Qnil); 1171 TOP = list1 (TOP);
1173 NEXT; 1172 NEXT;
1174 1173
1175 CASE (Blist2): 1174 CASE (Blist2):
1176 { 1175 {
1177 Lisp_Object v1; 1176 Lisp_Object v1;
1178 v1 = POP; 1177 v1 = POP;
1179 TOP = Fcons (TOP, Fcons (v1, Qnil)); 1178 TOP = list2 (TOP, v1);
1180 NEXT; 1179 NEXT;
1181 } 1180 }
1182 1181