[Top][All Lists]
[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