Lutz wrote:'ends-with' and 'starts-with' are the only two functions which do not accept the quoted symbol 'nil as boolean false flag, but will be converted in the next version.
'ends-with' and 'starts-with' are the
only two functions that act differently with nil flag and without any flag at all. All other functions treat nil in the same way as the absence of flag. This is consistent with the general rule that nil is the default value for absent arguments. I believe that 'starts-with' and 'ends-with' are different for a reason, but it would be nice if this unusual exception will be explicitly noted in documentation.
Update: oops! 'sym' is the third. 'sym' too treats nil flag argument in other way that absent flag argument, and it too accepts nil only, not 'nil.
Lutz wrote:command-line, trace, join, dup, randomize, bayes-query, unify, net-close, net-lookup, net-send-to, net-eval, net-ping, diffrence, intersect, explode, upper-case, lower-case, title-case, delete, name.
I have failed to find any flag arguments in unify, net-eval, net-ping and net-send-to (but found in net-send-udp). Also no flag in upper-case and lower-case. Which is wrong -- this list, documentation, or me?
Also it seems to be an error in documentation on 'trace'. The manual says: "Tracing is switched on when exp evaluates to anything besides nil or an empty list ()", while in fact trace, like all other functions from this list, checks for nil (or 'nil) only, treating empty list as any other non-nil value.
P.S. Sorry if my postings today are too picky. I opine that newlisp is a great language, and to discuss what looks like it's disadvantages seems to be the right way either to fix them, or to learn why they are advantages really. I am in no way going to be offensive.