* Nick Gasson <n...@nickg.me.uk> [110316 21:30]:
> > It's here: http://paste.lisp.org/display/120567
> > 
> > The line that seems to cause the issue is 69 - (define (imag-part z) (apply-
> > generic 'imag-part z))
> > 
> > It's odd because there are very similar (currently commented) lines around 
> > it 
> > which do not cause any problem if uncommented. Something about the 
> > imag-part 
> > definition does.
> 
> The problem seems to be that
> 
> (define (imag-part z) (apply-generic 'imag-part z))
> 
> Redefines a built-in function imag-part which is called inside the fmt
> library (used internally to swank-chicken to format responses). This
> then causes it to crash with:
> 
> READ 00006f(:emacs-rex (swank:listener-eval "(define (imag-part z)
> (apply-generic 'imag-part z))\n") "CSI" :repl-thread 4)
> 
> Note: assignment to imported value binding: imag-part
> 
> Error: unbound variable: apply-generic
> 
>       Call history:
> 
>       <eval>    [swank-emacs-rex] (swank-write-packet result out)
>       <eval>    [swank-write-packet] (with-output-to-string (lambda () (write
> msg)))
>       <eval>    [swank-write-packet] (write msg)
>       <eval>    [swank-write-packet] (fmt #f (pad-hex (string-length string))
> string)
>       <eval>    [swank-write-packet] (pad-hex (string-length string))
>       <eval>    [swank-write-packet] (string-length string)
>       <eval>    [pad-hex] (pad-char #\0 (pad/left 6 (num n 16)))
>       <eval>    [pad-hex] (pad/left 6 (num n 16))
>       <eval>    [pad-hex] (num n 16)
>       <eval>    [imag-part] (apply-generic (quote imag-part) z)       <--
> 
> Not sure what the best solution to this is.

One way would be to use a separate environment for evaluating user
code. This can be done by adding it to the eval function.

I will try it.

Christian

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to