Mercurial > hg > xemacs-beta
comparison src/eval.c @ 5438:8d29f1c4bb98
Merge with 21.5 trunk.
author | Mats Lidell <matsl@xemacs.org> |
---|---|
date | Fri, 26 Nov 2010 06:43:36 +0100 |
parents | 308d34e9f07d c096d8051f89 |
children | 0af042a0c116 |
comparison
equal
deleted
inserted
replaced
5437:002cb5224e4f | 5438:8d29f1c4bb98 |
---|---|
4919 Fsignal (Qwrong_number_of_arguments, | 4919 Fsignal (Qwrong_number_of_arguments, |
4920 list2 (Qmultiple_value_list_internal, make_int (nargs))); | 4920 list2 (Qmultiple_value_list_internal, make_int (nargs))); |
4921 } | 4921 } |
4922 | 4922 |
4923 argv[0] = IGNORE_MULTIPLE_VALUES (Feval (XCAR (args))); | 4923 argv[0] = IGNORE_MULTIPLE_VALUES (Feval (XCAR (args))); |
4924 CHECK_NATNUM (argv[0]); | |
4925 first = XINT (argv[0]); | |
4926 | 4924 |
4927 GCPRO1 (argv[0]); | 4925 GCPRO1 (argv[0]); |
4928 gcpro1.nvars = 1; | 4926 gcpro1.nvars = 1; |
4929 | 4927 |
4930 args = XCDR (args); | 4928 args = XCDR (args); |
4931 | |
4932 argv[1] = IGNORE_MULTIPLE_VALUES (Feval (XCAR (args))); | 4929 argv[1] = IGNORE_MULTIPLE_VALUES (Feval (XCAR (args))); |
4933 CHECK_NATNUM (argv[1]); | 4930 |
4931 check_integer_range (argv[1], Qzero, make_int (EMACS_INT_MAX)); | |
4932 check_integer_range (argv[0], Qzero, argv[1]); | |
4933 | |
4934 upper = XINT (argv[1]); | 4934 upper = XINT (argv[1]); |
4935 first = XINT (argv[0]); | |
4936 | |
4935 gcpro1.nvars = 2; | 4937 gcpro1.nvars = 2; |
4936 | 4938 |
4937 /* The unintuitive order of things here is for the sake of the bytecode; | 4939 /* The unintuitive order of things here is for the sake of the bytecode; |
4938 the alternative would be to encode the number of arguments in the | 4940 the alternative would be to encode the number of arguments in the |
4939 bytecode stream, which complicates things if we have more than 255 | 4941 bytecode stream, which complicates things if we have more than 255 |
7201 { | 7203 { |
7202 REGISTER struct backtrace *backlist = backtrace_list; | 7204 REGISTER struct backtrace *backlist = backtrace_list; |
7203 REGISTER int i; | 7205 REGISTER int i; |
7204 Lisp_Object tem; | 7206 Lisp_Object tem; |
7205 | 7207 |
7206 CHECK_NATNUM (nframes); | 7208 check_integer_range (nframes, Qzero, make_integer (EMACS_INT_MAX)); |
7207 | 7209 |
7208 /* Find the frame requested. */ | 7210 /* Find the frame requested. */ |
7209 for (i = XINT (nframes); backlist && (i-- > 0);) | 7211 for (i = XINT (nframes); backlist && (i-- > 0);) |
7210 backlist = backlist->next; | 7212 backlist = backlist->next; |
7211 | 7213 |