Hi Jon,

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).

That's right.

The reason why this is not done globally (when "lib/led.l" is loaded) is
that the line editor might never be called (because the program doesn't
request any input from the user) so that 'saveHistory' should perhaps
better not be called.

Note that Danilo's suggestion (using 'once') is perhaps not really what
we want, because 'once' operates on 'load'-level, and refers to the file
being loaded, which is not related to the _execution_ of '*Led'.

So it is probably better to simply remove the statement(s) from '*Led',
e.g. with

   (del '(push1 '*Bye '("saveHistory")) *Led)  # Remove from CAR of *Led

before setting '*Bye'.

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

Reply via email to