Hi,

xeos <[EMAIL PROTECTED]> writes:

> I have found a bug on cvs guile. It has been reproduced by two users
> more too. When Guile crashed when it evaluates a wrong expression of
> the form:
>
>   (set! 'symbol value)
>
> Guile should throw (and it do throw) a exeption, Nevertheless it
> crashed in the middle of backtrace log.

This won't be fixed in 1.8.2 because it needs some more thought.

Basically, this has to do with memoization of the generalized `set!'.
The `(quote symbol)' is being weirdly memoized:

  $ guile -c "(set! 'x 2)"
  ERROR: In procedure memoization:
  ERROR: Bad variable ([EMAIL PROTECTED] #-1#) in expression (set! ([EMAIL 
PROTECTED] #-1#) 2).

As you can see, the memoized thing is a recursive list, hence the
endless recursion while unmemoizing the faulty expression to display the
backtrace.

The real fix may be to remove the `macroexp ()' function, as already
suggested by the comment in there.  Thus I'll look at it after 1.8.2 is
out (if no one fixes it in the meantime  ;-)).

Thanks,
Ludovic.



_______________________________________________
Bug-guile mailing list
Bug-guile@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-guile

Reply via email to