Skip to content

[BUG] Case-mapping doesn’t properly support non-English languages #5467

@Mango0x45

Description

@Mango0x45

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;

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions