[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
segfault in CVS HEAD
From: |
Han-Wen Nienhuys |
Subject: |
segfault in CVS HEAD |
Date: |
Sun, 13 Jun 2004 00:26:21 +0200 |
address@hidden writes:
> address@hidden writes:
> > byrd:~/usr/src/guile/libguile$ cat t.scm
> > (defiaine blub (cons (quote (1 . 2)) 2))
> >
> >
> > for some reason, GUILE unmemoizes the procedure during print; of
> > course, the expression is not memoized, since evaluation stops after
> > "defiaine". I've seen similar problems with invocations of
> > procedure-source on valid code.
>
> example:
>
> byrd:~/usr/src/guile/libguile$ cat t.scm
> (define (blub) (cons (quote (1 . 2)) 2))
> (display (procedure-source blub))
> byrd:~/usr/src/guile/libguile$ guile --debug t.scm
> Segmentatie fout
> byrd:~/usr/src/guile/libguile$ guile t.scm
> Segmentatie fout
I've implemented a kludge in CVS: the for loop now has a SCM_CONSP as
the condition. It produces incorrect output in the example that I
sent, but at least it doesn't crash.
BTW,
why are vectors quoted in the unmemoize output? from
unmemoize_expression():
else if (SCM_VECTORP (expr))
{
return scm_list_2 (scm_sym_quote, expr);
}
--
Han-Wen Nienhuys | address@hidden | http://www.xs4all.nl/~hanwen