Skip to content

Git Bash on MinTTY can't handle İ on Turkish Q layout #5798

@ahmetsait

Description

@ahmetsait

Existing issues matching what you're seeing

  • I was not able to find an open or closed issue matching what I'm seeing

Git for Windows version

git version 2.51.0.windows.1
cpu: x86_64
built from commit: 4d21a77b98af5cf479d8b6f863c2aa94257cd4e1
sizeof-long: 4
sizeof-size_t: 8
shell-path: D:/git-sdk-64-build-installers/usr/bin/sh
feature: fsmonitor--daemon
libcurl: 8.15.0
OpenSSL: OpenSSL 3.2.4 11 Feb 2025
zlib: 1.3.1
SHA-1: SHA1_DC
SHA-256: SHA256_BLK
default-ref-format: files
default-hash: sha1

Windows version

Windows 10

Windows CPU architecture

x86_64 (64-bit)

Additional Windows version information

Microsoft Windows [Version 10.0.19045.6216]

Options set during installation

Editor Option: Notepad++
Custom Editor Path:
Default Branch Option:
Path Option: Cmd
SSH Option: OpenSSH
Tortoise Option: false
CURL Option: OpenSSL
CRLF Option: CRLFAlways
Bash Terminal Option: MinTTY
Git Pull Behavior Option: Merge
Use Credential Manager: Enabled
Performance Tweaks FSCache: Enabled
Enable Symlinks: Enabled
Enable FSMonitor: Disabled

Other interesting things

Turkish Q Keyboard Layout
mintty '3.7.9' ada33f38 (Msys-x86_64)

Terminal/shell

MinTTY Bash

Commands that trigger the issue

bash

Expected behaviour

AhmetSait@COMPUTER MINGW64 ~
$ sleep 5
aiaiai
AhmetSait@COMPUTER MINGW64 ~
$ aiaiai
bash: aiaiai: command not found

AhmetSait@COMPUTER MINGW64 ~
$ sleep 5
AİAİAİ
AhmetSait@COMPUTER MINGW64 ~
$ AİAİAİ
bash: AİAİAİ: command not found

Actual behaviour

Bash seem to screw up İ keys on Turkish Q layout while the standard input is busy:

AhmetSait@COMPUTER MINGW64 ~
$ sleep 5
aiaiai
AhmetSait@COMPUTER MINGW64 ~
$ aaa
bash: aaa: command not found

AhmetSait@COMPUTER MINGW64 ~
$ sleep 5
AİAİAİ
AhmetSait@COMPUTER MINGW64 ~
$ A▒A▒A▒
bash: $'A\260A\260A\260': command not found

AhmetSait@COMPUTER MINGW64 ~
$ bash --noediting

AhmetSait@COMPUTER MINGW64 ~
$ sleep 5
aiaiai
AhmetSait@COMPUTER MINGW64 ~
$
bash: $'a\Eia\Eia\Ei': command not found

AhmetSait@COMPUTER MINGW64 ~
$ sleep 5
AİAİAİ
AhmetSait@COMPUTER MINGW64 ~
$
bash: $'A\EİA\EİA\Eİ': command not found

Other characters are perfectly fine:

AhmetSait@COMPUTER MINGW64 ~
$ sleep 5
ğĞüÜşŞöÖçÇ
AhmetSait@COMPUTER MINGW64 ~
$ ğĞüÜşŞöÖçÇ
bash: ğĞüÜşŞöÖçÇ: command not found

This usually happens when I run a slow git operation and try to write the next git command before the previous command is finished:

AhmetSait@COMPUTER MINGW64 ~/Projects/Scintilla.NET (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

AhmetSait@COMPUTER MINGW64 ~/Projects/Scintilla.NET (master)
$ gt log
bash: gt: command not found

I can consistently reproduce this by switching to Turkish Q layout in Windows settings. US layout does not exhibit any similar issues.

Scan-code for Turkish İ key is 41 which corresponds to ' (Apostrophe) key in US layout:
TR Keyboard
US Keyboard

Repository

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions