chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Issue loading a specifc file with Chicken-Slime


From: Christian Kellermann
Subject: Re: [Chicken-users] Issue loading a specifc file with Chicken-Slime
Date: Thu, 17 Mar 2011 09:19:05 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

* Nick Gasson <address@hidden> [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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]