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 c79027597f8..e0e7b22ea13 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -572,9 +572,9 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
572 if (nargs < mandatory) 572 if (nargs < mandatory)
573 /* Too few arguments. */ 573 /* Too few arguments. */
574 Fsignal (Qwrong_number_of_arguments, 574 Fsignal (Qwrong_number_of_arguments,
575 Fcons (Fcons (make_number (mandatory), 575 list2 (Fcons (make_number (mandatory),
576 rest ? Qand_rest : make_number (nonrest)), 576 rest ? Qand_rest : make_number (nonrest)),
577 Fcons (make_number (nargs), Qnil))); 577 make_number (nargs)));
578 else 578 else
579 { 579 {
580 for (; i < nonrest; i++) 580 for (; i < nonrest; i++)
@@ -593,9 +593,8 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
593 else 593 else
594 /* Too many arguments. */ 594 /* Too many arguments. */
595 Fsignal (Qwrong_number_of_arguments, 595 Fsignal (Qwrong_number_of_arguments,
596 Fcons (Fcons (make_number (mandatory), 596 list2 (Fcons (make_number (mandatory), make_number (nonrest)),
597 make_number (nonrest)), 597 make_number (nargs)));
598 Fcons (make_number (nargs), Qnil)));
599 } 598 }
600 else if (! NILP (args_template)) 599 else if (! NILP (args_template))
601 /* We should push some arguments on the stack. */ 600 /* We should push some arguments on the stack. */
@@ -1064,8 +1063,8 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1064 1063
1065 CASE (Bsave_window_excursion): /* Obsolete since 24.1. */ 1064 CASE (Bsave_window_excursion): /* Obsolete since 24.1. */
1066 { 1065 {
1067 register ptrdiff_t count1 = SPECPDL_INDEX (); 1066 ptrdiff_t count1 = SPECPDL_INDEX ();
1068 record_unwind_protect (Fset_window_configuration, 1067 record_unwind_protect (restore_window_configuration,
1069 Fcurrent_window_configuration (Qnil)); 1068 Fcurrent_window_configuration (Qnil));
1070 BEFORE_POTENTIAL_GC (); 1069 BEFORE_POTENTIAL_GC ();
1071 TOP = Fprogn (TOP); 1070 TOP = Fprogn (TOP);
@@ -1090,7 +1089,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1090 } 1089 }
1091 1090
1092 CASE (Bunwind_protect): /* FIXME: avoid closure for lexbind. */ 1091 CASE (Bunwind_protect): /* FIXME: avoid closure for lexbind. */
1093 record_unwind_protect (Fprogn, POP); 1092 record_unwind_protect (unwind_body, POP);
1094 NEXT; 1093 NEXT;
1095 1094
1096 CASE (Bcondition_case): /* FIXME: ill-suited for lexbind. */ 1095 CASE (Bcondition_case): /* FIXME: ill-suited for lexbind. */
@@ -1172,14 +1171,14 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1172 } 1171 }
1173 1172
1174 CASE (Blist1): 1173 CASE (Blist1):
1175 TOP = Fcons (TOP, Qnil); 1174 TOP = list1 (TOP);
1176 NEXT; 1175 NEXT;
1177 1176
1178 CASE (Blist2): 1177 CASE (Blist2):
1179 { 1178 {
1180 Lisp_Object v1; 1179 Lisp_Object v1;
1181 v1 = POP; 1180 v1 = POP;
1182 TOP = Fcons (TOP, Fcons (v1, Qnil)); 1181 TOP = list2 (TOP, v1);
1183 NEXT; 1182 NEXT;
1184 } 1183 }
1185 1184