@skm I'm just moving this here - as posting on the new firmware announcement thread probably isn't that useful.
As your reported:
This code works in 2v09 (and earlier) but not in 2v10:
var c = {};
c.test = false;
var main_menu = {
"Test" : { value : c.test, format : v => v?"On":"Off", onchange : v => { c.test = v; }, },
};
E.showMenu(main_menu);
When I press the middle button, I get this error:
Uncaught Error: Field or method "test¿ñ" does not already exist, and can't create it on Number
at line 1 col 10
c.test = v;
^
in function "onchange" called from line 1 col 223
...onchange)b.onchange(b.value);d.draw()}
^
in function "select" called from line 1 col 22
b?d.move(b):d.select()
^
in function "cb" called from line 1 col 4
cb();
^
in function called from system
I had the same results from the right-hand window of the IDE until I uninstalled RAM Widget(!). Now running the code from RAM is fine, but running it as an app still occasionally gives me the error messages, and the odd characters are different every time:
Uncaught Error: Field or method "testê¡à" does not already exist, and can't create it on Number
Uncaught Error: Field or method "testÚ¡Ù" does not already exist, and can't create it on Number
Uncaught Error: Field or method "testuQå" does not already exist, and can't create it on Number
The code always works fine if I replace every instance of "c.test" with "ctest"
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
@skm I'm just moving this here - as posting on the new firmware announcement thread probably isn't that useful.
As your reported: