Version of Kakoune
v2025.06.03
Reproducer
Try to upcase ‘ß’ with ~
Outcome
ß does not upcase
Expectations
ß upcases to either SS or ẞ (both are valid)
Additional information
Some languages (like German, Greek, etc.) have case-mappings that are either context-dependent (Σ → σ or ς) or map one codepoint to multiple codepoints (ß → ẞ or SS)
While editing some code, I had to refactor a variable to a constant, and as such wanted to upcase it. I expected the following:
/* Before */
size_t anzahl_straßen = 69;
/* After */
constexpr size_t ANZAHL_STRAẞEN = 69;
What I got instead was:
/* wrong! v */
constexpr size_t ANZAHL_STRAßEN = 69;