gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Re: CALL-ARGUMENTS-LIMIT and other things


From: Camm Maguire
Subject: Re: [Gcl-devel] Re: CALL-ARGUMENTS-LIMIT and other things
Date: 02 Nov 2004 12:30:46 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

"Mike Thomas" <address@hidden> writes:

> Hi Camm/Paul.
> 
> 
> | | Looking at that, the test seems wrong -- it passes CALL-ARGUMENTS-LIMIT
> | | args to -, but that constant is an *exclusive* upper bound.
> | |
> | |   Paul
> |
> | On that basis I'll revert that change having incorrectly assumed the limit
> | was inclusive.
> 
> I've set the exclusive limits "CALL-ARGUMENTS-LIMIT" and
> "lambda-parameters-limit" each to (MAX_ARGS+1); that is, to 64.
> 

Great!  This all looks fine.

> The only remaining argument related unmacroized 64 constant is in the
> "funcall_with_catcher" in eval.c which silently ignores more than 64
> arguments and which is generated by the compiler in
> "cmpnew/gcl_cmpcall.lsp".
> 
> I am inclined to change 64 to MAX_ARGS+1 in "funcall_with_catcher" too:
> 
> void
> funcall_with_catcher(object fname, object fun)
> {
>       int n = vs_top - vs_base;
>       if (n > 64) n = 64;
>       frs_push(FRS_CATCH, make_cons(fname, make_fixnum(n)));
>       if (nlj_active)
>               nlj_active = FALSE;
>       else
>               funcall(fun);
>       frs_pop();
> }
> 

I agree, and have committed a change here.  Thoughts if any
appreciated.

Take care,

> Cheers
> 
> Mike Thomas.
> 
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]