# HG changeset patch # User Kenichi Handa # Date 872595753 0 # Node ID fc0bb24597ba849e727e1c8366aec05f75568adc # Parent e4cc940348272771c6384976165544f188345bea (Feval): Handle a subr which takes 8 arguments. (Ffuncall): Likewise. diff -r e4cc94034827 -r fc0bb24597ba src/eval.c --- 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 ();