Hi Carey, follow up on this old issue.
Regarding your suggestions above, I tried them all. The problem persists and I have no answer why this worked for you and not for me. I didn’t ask you whether you were using Windows as I am, and this may be an issue if you are not. I will explain.
I found the linter for Tcl under Komodo 12’s folder as:
C:\Program Files (x86)\ActiveState Komodo IDE 12\lib\support\tcl\kotcllint.exe
I ran a test of the Komodo 12 linter linter with a long legacy Tcl file that does not throw any warnings in Komodo 8.6:
kotcllint.exe" -suppress “warnShadowVar warnArgWrite warnNestedExpr warnUndefProc” my_file.tcl
This listed undefined var errors, just as they appear in the Komodo debugger.
I then did exactly the same test, except using C:\Program Files (x86)\ActiveState Komodo IDE 8\lib\support\tcl\kotcllint.exe
(note Komodo 8, not 12)
This threw no errors.
If I understand how the linter works correctly, it operates completely independently of any Komodo settings, so any prefs.xml settings should not apply when running from the command line (i.e. kotcllint.exe is a standalone program, driven only by the command line parameters).
To temporarily solve my problem, I renamed the Komodo 12 kotcllint.exe and copied the Komodo 8 version into the 12 folder to replace it. On the next restart of Komodo IDE 12, my problems disappeared and syntax checking is now correct.
I tried finding the code for kottclint.exe and the best I could find in github was src/lint/koTclLinter.py
However, this doesn’t appear to be doing any syntax checking, in that file there is a dependency on a file I can’t find in the github repository, the PY command is split over lines 174-175:
self.internalLinter = os.path.join(self._supportDir, “tcl”, “komodo_tcl_lint.tcl”)
It seems that some time after the Komodo 8 kotcllint.exe was made (2013-09-06) this bug was introduced, but I am afraid right now I can’t move any further on this to help resolve it for the Komodo Tcl community. AS I hinted previously, if you aren’t also using Windows, perhaps you have version of the linter that doesn’t contain this bug.
Thanks for the help on this!