Thanks, Danilo.

So the explanation is that the (push1 '*Bye '(saveHistory)), which is found in 
*Led and executed after each new command line in debug mode, makes sure that 
the ("saveHistory”) is always found in *Bye (up front).

/Jon

On 7. May, 2014, at 22:46, Danilo Kordic <danilo.kor...@gmail.com> wrote:

> In "@lib/led.l" wrap lines 441-442 in (once ...) or ~(nil ...).  
> 
> 
> On Wed, May 7, 2014 at 9:53 PM, Danilo Kordic <danilo.kor...@gmail.com> wrote:
> Magic is in *Led.  
> 
> Try running:
>   $ /path/to/picolisp
>   : *Led
>   -> NIL
>   : *Bye
>   -> NIL
>   : (setq msg1 '((println 'OK) (println 'bye)))
> 
>   -> ((println 'OK) (println 'bye))
>   : (setq *Bye msg1)
> 
>   -> ((println 'OK) (println 'bye))
>   : *Bye
>   -> ((println 'OK) (println 'bye))
>   : (bye)
>   OK
>   bye
>   $ 
> 
> 
> 
> On Wed, May 7, 2014 at 9:35 PM, Jon Kleiser <jon.klei...@usit.uio.no> wrote:
> Hi,
> 
> I'm using 32-bit PicoLisp (3.1.6.8 C) doing this:
> 
> : *Bye
> -> (("saveHistory"))
> : (setq *Bye '((println 'OK) (println 'bye)))
> -> ((println 'OK) (println 'bye))
> : *Bye
> -> (("saveHistory") (println 'OK) (println 'bye))
> : (setq X '(("XXX")))
> -> (("XXX"))
> : (setq X '((println 'OK) (println 'bye)))
> -> ((println 'OK) (println 'bye))
> : X
> -> ((println 'OK) (println 'bye))
> 
> The results from the two (setq X '(…)) are what I expected, but I cannot 
> understand why the ("saveHistory") doesn't go away after I do the (setq *Bye 
> '((println 'OK) (println 'bye))) …
> What's the magic here?
> 
> /Jon--

--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to