> For cases which are known to cause false positives, there is 'noLint'.
> For example, the 'gui' function in "lib/form.l" is similar to 'mmNext',
> being defined dynamically and called in another context. So there is a
> call (noLint 'gui) at the end of "lib/form.l".
good to know. Maybe this noLint should be added at the end of
>> -> ((xml (use Pre Nl)) (xml_ (bnd Nn N Pre Nl)) (xmlEsc (use @A)))
>> when run with the new lib/xml.l loaded. The xml and xml_ are fine,
> Well, 'Pre' and 'Nl' are indeed unused in 'xml'.
Well, whether they are used or not depends on interpretation:
lexically they are not used, dynamically they are used; they cannot be
removed without changing the behaviour of the 'xml' function because
they provide initial values for the recursive '_xml' function.
> There is a convention in PicoLisp that when a function name starts
> with an underscore, it is considered a "local" function.
> So when I redefine 'xml_' to '_xml_', (lintAll) gives:
> -> ((xmlEsc (use @A)))
> Shall I keep '_xml_', or would you prefer another name?
I did not know about the convention. Please keep the new '_xml_'
Just a thought: I do not like underscores in names much because it
becomes invisible when the name is rendered in as an html link.
Wouldn't it be worth using a different prefix, maybe in the picolisp3?
>> xmlEsc looks like it has unused @A.
> Yes, '@A' can be safely removed. Then (lintAll) will not complain any