From: Jonatan Holmgren Date: Tue, 10 Feb 2026 18:31:08 GMT Subject: [PATCH v2 0/2] support UTF-8 in alias names Message-ID: <20260210183110.1151072-1-jonatan@jontes.page> In-Reply-To: <3124b359-2929-4f3f-9ac6-793277fe422b@jontes.page> Hi all, Thanks for the feedback on my first patch! This iteration (to my understanding) addresses all the points raised by Jeff, Junio, and Brian. Relevant since RFC/v1: - Split into two commits: a preparatory refactoring and the main feature - Removed release notes from commits (suggested blurb below, first time doing this, bear with me :)) - Fixed documentation to use "without subsection" terminology instead of "flat syntax" - Consolidated help.c to use list_aliases() from alias.c, eliminating duplicate parsing logic - Added utf8_strwidth() for proper column alignment in help output - Improved test coverage with case-sensitivity tests, subsection validation, and help listing verification - Tests now use test_config helper and simpler output verification The implementation follows Peff's suggestion to use config subsections rather than modifying the config key syntax. This allows arbitrary bytes in alias names while maintaining backward compatibility. Suggested release note blurb: * Git aliases now support UTF-8 characters and special characters in alias names through subsection syntax: `[alias "name"] command = value`. This enables aliases in non-English languages. The traditional syntax (without subsection, e.g., `[alias] co = checkout`) continues to work. Jonatan Holmgren (2): help: use list_aliases() for alias listing and lookup alias: support non-alphanumeric names via subsection syntax Documentation/config/alias.adoc | 44 +++++++++++++++++++++----- alias.c | 43 ++++++++++++++++++++++---- help.c | 36 ++++++++++----------- t/t0014-alias.sh | 55 +++++++++++++++++++++++++++++++++ 4 files changed, 144 insertions(+), 34 deletions(-) -- 2.53.0