"short" is not a javascript keyword
seen here
https://github.com/XhmikosR/notepad2-mod/blob/30364fb5afb4e653bb6f7f42f1c7122cbe7ddf33/src/Styles.c#L616-L622
here is a sane list:
https://github.com/zufuliu/notepad2/blob/efe02fd4f532ba6159defcc1be54694d1ccdb68b/src/EditLexers/stlJavaScript.c#L8-L10
short was a future reserved word in EcmaScript version 3 and so were int, byte, char, goto, long, final, float, short, double, native, throws, boolean, abstract, volatile, transient, and synchronized. So it may be a good idea to mantain them...
(https://www-archive.mozilla.org/js/language/E262-3.pdf)
@rsvargas current EcmaScript doesnt define it, so it may be a bad idea to maintain it:
short
ReferenceError: short is not defined [Learn More]
Many of these reserved words are abandoned in ECMAScript 4 and above, they are just Java keywords or reserved words, and most modern browsers/clients supports at least ECMAScript 5 (2009), most developers write scripts target this version and above, that's why they are commented out in line 16:
// ECMAScript 1 till 3
//"abstract boolean byte char double final float goto int long native short synchronized throws transient volatile "
@zufuliu you should clarify that they are commented out with your version, not this one - cheers