Mercurial > emacs
diff src/eval.c @ 19544:fc0bb24597ba
(Feval): Handle a subr which takes 8 arguments.
(Ffuncall): Likewise.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 26 Aug 1997 11:42:33 +0000 |
parents | 42cc2b7bc6c6 |
children | d75a1b915e20 |
line wrap: on
line diff
--- a/src/eval.c Tue Aug 26 11:42:33 1997 +0000 +++ b/src/eval.c Tue Aug 26 11:42:33 1997 +0000 @@ -1725,7 +1725,7 @@ if (SUBRP (fun)) { Lisp_Object numargs; - Lisp_Object argvals[7]; + Lisp_Object argvals[8]; Lisp_Object args_left; register int i, maxargs; @@ -1819,6 +1819,12 @@ argvals[6]); goto done; + case 8: + val = (*XSUBR (fun)->function) (argvals[0], argvals[1], argvals[2], + argvals[3], argvals[4], argvals[5], + argvals[6], argvals[7]); + goto done; + default: /* Someone has created a subr that takes more arguments than is supported by this code. We need to either rewrite the @@ -2458,9 +2464,16 @@ internal_args[6]); goto done; + case 8: + val = (*XSUBR (fun)->function) (internal_args[0], internal_args[1], + internal_args[2], internal_args[3], + internal_args[4], internal_args[5], + internal_args[6], internal_args[7]); + goto done; + default: - /* If a subr takes more than 6 arguments without using MANY + /* If a subr takes more than 8 arguments without using MANY or UNEVALLED, we need to extend this function to support it. Until this is done, there is no way to call the function. */ abort ();