Hi Jonathan, (and thanks Erik!)
> in the docs I have with my source which is 3.1.11 I have the definition of
> "if" as
> (if 'any1 'any2 . prg) -> any
> but on the web reference link (http://software-lab.de/doc/refI.html#if) it's
> (if 'any1 any2 . prg) -> any
Very well observed! In fact, this was changed just recently. Quoting
'any2' was (arguably) wrong. This came up in a discussion in IRC.
'any1' is evaluated the normal, expected way, i.e. just upon function
entry. So this must be "quoted" in the referece.
'any2', however, may be evaluated or not, depending on the outcome of
'any1' (as is also the case for the elements of 'prg'). So I would say
'any2' should not be quoted.
(Note still another convention I'm using here in this mail: Writing
'any' in a *pair* of quotes does not refer to the *single* quote used
for evaluated arguments in the reference, but indicates a markup)