[Ecls-list] recursivep in read_delimited_list - bug?

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sat Feb 7 19:09:58 UTC 2009


This problem has been solved in the unstable version which is
available in our git/CVS repositories.

Juanjo

On Sat, Jan 17, 2009 at 11:41 AM, Alexander Gavrilov
<angavrilov at gmail.com> wrote:
> Hello,
>
> I'm completely new to Lisp, so I may be wrong, but it seems
> strange to me that read_delimited_list resets the backquote
> parser environment when recursivep is true, and doesn't
> change anything when it is false. All other functions, e.g.
> read, behave in the opposite way. Besides, it breaks the
> cl-match package.
>
> Searching through the git history shows that this commit,
> while doing code refactoring, effectively flipped the
> condition:
>
>
> commit 914f9595993a44fd36015caba3632f8cfeaae379
> Author: jjgarcia <jjgarcia>  2002-11-11 15:57:21
> Committer: jjgarcia <jjgarcia>  2002-11-11 15:57:21
> Follows: ECL.0.6
> Precedes: ECL.0.8
>
>    1) Fix error in UNWIND-PROTECT forms: the destination frame nlj_fr has to
>    be saved, because it may be overwritten by a BLOCK or TAGBODY inside
>    the normal exit form.
>    2) Implement Invocation History Stack as a chain of stack-allocated records.
>    3) In compiled TAGBODY forms, replace tags with numbers to save space.
>
> ...
>
> -       if (Null(recursivep)) {
> -               old_sharp_eq_context = sharp_eq_context;
> -               old_backq_level = backq_level;
> -               sharp_eq_context = Cnil;
>
> ...
>
> +       if (Null(recursivep))
> +               l = do_read_delimited_list(d, strm);
> +       else {
> +               volatile cl_object old_sharp_eq_context = sharp_eq_context;
> +               volatile int old_backq_level = backq_level;
> +               CL_UNWIND_PROTECT_BEGIN {
> +                       sharp_eq_context = Cnil;
>
>
> Alexander
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> SourcForge Community
> SourceForge wants to tell your story.
> http://p.sf.net/sfu/sf-spreadtheword
> _______________________________________________
> Ecls-list mailing list
> Ecls-list at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ecls-list
>



-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list