I undestand half the problem: this is what causes the false positive
procedure something :
define vaiable hWidget as handle no-undo.
on value-changed of hWidget
peristent run somehandler in this-procedure(hWidget).
end procedure.
the ON event handler is currently considered to be a procedure, but it is already inside a procedure. This confuses the search for the declaration of the hWidget variable. I can fix that.
But what I do NOT understand is why this false positive only occurs when you lint more than one file from within Roundtable. When you inspect just one file you don't get the error, when you inspect it together with other files (an entire task) you may get the error. Very weird. I think some memory is not properly reset/destroyed/freed between files, but what?
Comments
#1
Yes I see.
I will try to fix this as soon as possible because "tablename" is a rule in the bugs category.
Thanks for submitting the bug report!
#2
I undestand half the problem: this is what causes the false positive
the ON event handler is currently considered to be a procedure, but it is already inside a procedure. This confuses the search for the declaration of the hWidget variable. I can fix that.
But what I do NOT understand is why this false positive only occurs when you lint more than one file from within Roundtable. When you inspect just one file you don't get the error, when you inspect it together with other files (an entire task) you may get the error. Very weird. I think some memory is not properly reset/destroyed/freed between files, but what?
#3
fixed and checked in into subversion (revision 358): file core/prolint.p
#4