From 18bbfc4c754ea653ee0a7e2e47d1d61304f5c42a Mon Sep 17 00:00:00 2001 From: Jackson Ray Hamilton Date: Mon, 8 Apr 2019 08:36:38 -0700 Subject: [PATCH] Permit non-ASCII identifiers in JS * lisp/progmodes/js.el (js--name-start-re): Generally allow identifiers to begin with non-ASCII letters. This is of particular importance to JSX parsing. * test/manual/indent/jsx-unclosed-2.jsx: Add test to ensure non-ASCII characters are parsed properly. --- lisp/progmodes/js.el | 2 +- test/manual/indent/jsx-unclosed-2.jsx | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index b1068bfc7b8..9185371b523 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el @@ -65,7 +65,7 @@ ;;; Constants -(defconst js--name-start-re (concat "[a-zA-Z_$]") +(defconst js--name-start-re (concat "[[:alpha:]_$]") "Regexp matching the start of a JavaScript identifier, without grouping.") (defconst js--stmt-delim-chars "^;{}?:") diff --git a/test/manual/indent/jsx-unclosed-2.jsx b/test/manual/indent/jsx-unclosed-2.jsx index be0a605503f..fb665b96a43 100644 --- a/test/manual/indent/jsx-unclosed-2.jsx +++ b/test/manual/indent/jsx-unclosed-2.jsx @@ -56,3 +56,10 @@ while (await foo > bar) void 0 / > < / div> < / div > + +// Non-ASCII identifiers are acceptable. +<Über> + + Guten Tag! + + -- 2.39.2