From: Fabrice Bellard Date: Sat, 5 Apr 2025 13:52:55 +0000 (+0200) Subject: 'undefined' is a valid let/const variable name. It gives a SyntaxError at top level... X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/stylesheets/print.css?a=commitdiff_plain;h=beeb2725cdb31065e84834ef3c31062d3ab0ca61;p=quickjs.git 'undefined' is a valid let/const variable name. It gives a SyntaxError at top level because it is already defined (#370) --- diff --git a/quickjs.c b/quickjs.c index 2b0de17..8af4d21 100644 --- a/quickjs.c +++ b/quickjs.c @@ -23731,7 +23731,7 @@ static __exception int js_define_var(JSParseState *s, JSAtom name, int tok) && (fd->js_mode & JS_MODE_STRICT)) { return js_parse_error(s, "invalid variable name in strict mode"); } - if ((name == JS_ATOM_let || name == JS_ATOM_undefined) + if (name == JS_ATOM_let && (tok == TOK_LET || tok == TOK_CONST)) { return js_parse_error(s, "invalid lexical variable name"); }