Fortunately, the fix turns out to be pretty simple. Komodo ships with SpiderMonkey 1.7 as an executable, so I first built SpiderMonkey 1.8 (on Linux) using the SpiderMonkey build instructions:
cvs -d :pserver:email@example.com:/cvsroot co -l mozilla/js/src mozilla/js/src/config mozilla/js/src/editline mozilla/js/src/fdlibm<br />cd mozilla/js/src<br />BUILD_OPT=1 make -f Makefile.ref<br />
Then I backed up Komodo’s version and replaced it with the one I built:
cp Linux_All_OPT.OBJ/js ~/Applications/Komodo-IDE-4/lib/mozilla/js18<br />cd ~/Applications/Komodo-IDE-4/lib/mozilla<br />mv js js17<br />ln -s js18 js<br />
Voila! Syntax checking works for expression closures:
If it does create problems, however, then a more contained fix, as ActiveState’s Todd Whiteman points out on the Komodo Discuss mailing list, would be to update koXPCShellLinter.py’s jsInterp variable to point to the 1.8 executable.
2 thoughts on “JS 1.8 syntax checking in Komodo”
I love to find other people had my same problems and they solved them.
I can concentrate to do something different.
thanks a lot
Myk, we try to maintain source-level (not binary) compatibility in SpiderMonkey, so if your ln trick here causes bugs in Komodo, it might be worth filing them. I did something similar with JS1.8 -> JS1.6 and Firefox still ran and appeared to work (though at the time, I disabled E4X support to get it to build).
Comments are closed.