[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