Hi Alex,

> 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
lib/xml.l?

>> -> ((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_'
name.

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

Thank you,

Tomas
-- 
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe

Reply via email to