Mercurial > hg > xemacs-beta
comparison src/bytecode.c @ 5438:8d29f1c4bb98
Merge with 21.5 trunk.
author | Mats Lidell <matsl@xemacs.org> |
---|---|
date | Fri, 26 Nov 2010 06:43:36 +0100 |
parents | 46491edfd94a c096d8051f89 |
children | ac37a5f7e5be |
comparison
equal
deleted
inserted
replaced
5437:002cb5224e4f | 5438:8d29f1c4bb98 |
---|---|
1727 | 1727 |
1728 case Bbind_multiple_value_limits: | 1728 case Bbind_multiple_value_limits: |
1729 { | 1729 { |
1730 Lisp_Object upper = POP, first = TOP, speccount; | 1730 Lisp_Object upper = POP, first = TOP, speccount; |
1731 | 1731 |
1732 CHECK_NATNUM (upper); | 1732 check_integer_range (upper, Qzero, |
1733 CHECK_NATNUM (first); | 1733 make_integer (Vmultiple_values_limit)); |
1734 check_integer_range (first, Qzero, upper); | |
1734 | 1735 |
1735 speccount = make_int (bind_multiple_value_limits (XINT (first), | 1736 speccount = make_int (bind_multiple_value_limits (XINT (first), |
1736 XINT (upper))); | 1737 XINT (upper))); |
1737 PUSH (upper); | 1738 PUSH (upper); |
1738 PUSH (speccount); | 1739 PUSH (speccount); |
2753 Elemcount program_length; | 2754 Elemcount program_length; |
2754 Opbyte *program; | 2755 Opbyte *program; |
2755 | 2756 |
2756 CHECK_STRING (instructions); | 2757 CHECK_STRING (instructions); |
2757 CHECK_VECTOR (constants); | 2758 CHECK_VECTOR (constants); |
2758 CHECK_NATNUM (stack_depth); | 2759 check_integer_range (stack_depth, Qzero, make_int (USHRT_MAX)); |
2759 | 2760 |
2760 /* Optimize the `instructions' string, just like when executing a | 2761 /* Optimize the `instructions' string, just like when executing a |
2761 regular compiled function, but don't save it for later since this is | 2762 regular compiled function, but don't save it for later since this is |
2762 likely to only be executed once. */ | 2763 likely to only be executed once. */ |
2763 program = alloca_array (Opbyte, 1 + 2 * XSTRING_LENGTH (instructions)); | 2764 program = alloca_array (Opbyte, 1 + 2 * XSTRING_LENGTH (instructions)); |