diff --git a/JuliaSyntax/src/julia/tokenize.jl b/JuliaSyntax/src/julia/tokenize.jl index 1f279af7c4921..7d60cbd8f18fd 100644 --- a/JuliaSyntax/src/julia/tokenize.jl +++ b/JuliaSyntax/src/julia/tokenize.jl @@ -147,7 +147,7 @@ end end # Additional allowed cases return $(_char_in_set_expr(:u, - collect("²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᵈᵉᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ′″‴‵‶‷⁗⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₕₖₗₘₙₚₛₜⱼⱽꜛꜜꜝ"))) + collect("²³¹ʰʲʳʷʸˡˢˣ˱˲ᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵅᵇᵈᵉᵋᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶲᶸᶻᶿ′″‴‵‶‷⁗⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₔₕₖₗₘₙₚₛₜⱼⱽꜛꜜꜝ"))) end function optakessuffix(k) diff --git a/NEWS.md b/NEWS.md index 1bb83f409beee..b1b64ea3c6e84 100644 --- a/NEWS.md +++ b/NEWS.md @@ -15,6 +15,9 @@ New language features `compat.julia` or `syntax.julia_version` key in Project.toml. This feature is similar to the notion of "editions" in other language ecosystems and will allow non-breaking evolution of Julia syntax in future versions. See the "Syntax Versioning" section in the code loading documentation ([#60018]). + - `ᵅ` (U+U+1D45), `ᵋ` (U+1D4B), `ᶲ` (U+1DB2), `˱` (U+02F1), `˲` (U+02F2), and `ₔ` (U+2094) can now also be used as + operator suffixes, accessible as `\^alpha`, `\^epsilon`, `\^ltphi`, `\_<`, `\_>`, and `\_schwa` at the REPL + ([#60285]). Language changes ---------------- diff --git a/src/flisp/julia_opsuffs.h b/src/flisp/julia_opsuffs.h index d3f0584d084e7..d9baa5ee8aea1 100644 --- a/src/flisp/julia_opsuffs.h +++ b/src/flisp/julia_opsuffs.h @@ -3,7 +3,7 @@ produced by: - for c in sort(unique(collect("₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᵈᵉᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿₐₑₒₓₕₖₗₘₙₚₛₜⱼⱽ" * "′″‴‵‶‷⁗"))) + for c in sort(unique(collect("₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎²³¹ʰʲʳʷʸˡˢˣ˱˲ᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵅᵇᵈᵉᵋᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᶲᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿₐₑₒₓₔₕₖₗₘₙₚₛₜⱼⱽꜛꜜꜝ" * "′″‴‵‶‷⁗"))) println(" ", repr(UInt32(c)), ", // ", c) end */ @@ -20,6 +20,8 @@ static const uint32_t opsuffs[] = { 0x000002e1, // ˡ 0x000002e2, // ˢ 0x000002e3, // ˣ + 0x000002f1, // ˱ + 0x000002f2, // ˲ 0x00001d2c, // ᴬ 0x00001d2e, // ᴮ 0x00001d30, // ᴰ @@ -39,9 +41,11 @@ static const uint32_t opsuffs[] = { 0x00001d41, // ᵁ 0x00001d42, // ᵂ 0x00001d43, // ᵃ + 0x00001d45, // ᵅ 0x00001d47, // ᵇ 0x00001d48, // ᵈ 0x00001d49, // ᵉ + 0x00001d4b, // ᵋ 0x00001d4d, // ᵍ 0x00001d4f, // ᵏ 0x00001d50, // ᵐ @@ -70,6 +74,7 @@ static const uint32_t opsuffs[] = { 0x00001da6, // ᶦ 0x00001dab, // ᶫ 0x00001db0, // ᶰ + 0x00001db2, // ᶲ 0x00001db8, // ᶸ 0x00001dbb, // ᶻ 0x00001dbf, // ᶿ @@ -113,6 +118,7 @@ static const uint32_t opsuffs[] = { 0x00002091, // ₑ 0x00002092, // ₒ 0x00002093, // ₓ + 0x00002094, // ₔ 0x00002095, // ₕ 0x00002096, // ₖ 0x00002097, // ₗ