Re: Cannot understand (setq *Bye '(…))

2014-05-08 Thread Jon Kleiser
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


Cannot understand (setq *Bye '(…))

2014-05-07 Thread Jon Kleiser
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


Re: Cannot understand (setq *Bye '(…))

2014-05-07 Thread Danilo Kordic
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?subjectUnsubscribe