aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa1997-08-26 11:42:33 +0000
committerKenichi Handa1997-08-26 11:42:33 +0000
commit166c822d2e424e0b067b709e8d07b8b89c39f2f0 (patch)
tree9ef1ab0c1c10ddf94684fd928ba5d33b67ceacde
parent450c1a67cad77252304df2f06596cdb1d183eb79 (diff)
downloademacs-166c822d2e424e0b067b709e8d07b8b89c39f2f0.tar.gz
emacs-166c822d2e424e0b067b709e8d07b8b89c39f2f0.zip
(Feval): Handle a subr which takes 8 arguments.
(Ffuncall): Likewise.
-rw-r--r--src/eval.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/eval.c b/src/eval.c
index 36fab7226b7..e3a49fd5727 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1725,7 +1725,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
1725 if (SUBRP (fun)) 1725 if (SUBRP (fun))
1726 { 1726 {
1727 Lisp_Object numargs; 1727 Lisp_Object numargs;
1728 Lisp_Object argvals[7]; 1728 Lisp_Object argvals[8];
1729 Lisp_Object args_left; 1729 Lisp_Object args_left;
1730 register int i, maxargs; 1730 register int i, maxargs;
1731 1731
@@ -1819,6 +1819,12 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
1819 argvals[6]); 1819 argvals[6]);
1820 goto done; 1820 goto done;
1821 1821
1822 case 8:
1823 val = (*XSUBR (fun)->function) (argvals[0], argvals[1], argvals[2],
1824 argvals[3], argvals[4], argvals[5],
1825 argvals[6], argvals[7]);
1826 goto done;
1827
1822 default: 1828 default:
1823 /* Someone has created a subr that takes more arguments than 1829 /* Someone has created a subr that takes more arguments than
1824 is supported by this code. We need to either rewrite the 1830 is supported by this code. We need to either rewrite the
@@ -2458,9 +2464,16 @@ Thus, (funcall 'cons 'x 'y) returns (x . y).")
2458 internal_args[6]); 2464 internal_args[6]);
2459 goto done; 2465 goto done;
2460 2466
2467 case 8:
2468 val = (*XSUBR (fun)->function) (internal_args[0], internal_args[1],
2469 internal_args[2], internal_args[3],
2470 internal_args[4], internal_args[5],
2471 internal_args[6], internal_args[7]);
2472 goto done;
2473
2461 default: 2474 default:
2462 2475
2463 /* If a subr takes more than 6 arguments without using MANY 2476 /* If a subr takes more than 8 arguments without using MANY
2464 or UNEVALLED, we need to extend this function to support it. 2477 or UNEVALLED, we need to extend this function to support it.
2465 Until this is done, there is no way to call the function. */ 2478 Until this is done, there is no way to call the function. */
2466 abort (); 2479 abort ();