[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
reverse-i-search, multibyte backspace problem
From: |
e est |
Subject: |
reverse-i-search, multibyte backspace problem |
Date: |
Sat, 18 Jul 2015 22:23:19 +0200 |
Hello,
I've noticed a bug with terminal usage of bash.
Steps to reproduce:
1. Press control-r to get in reverse-i-search mode
2. Enter a key outside of the ASCII character set, like the french é or the
german ä.
3. Press backspace.
What to expect:
The key gets removed.
What happens:
Instead of the whole key getting removed, you can see a weird character (like �
or Ã) appear.
The most likely theory:
Instead of adhering to the utf-8 multibyte specification, and removing the
whole multibyte codepoint encoding sequence (or perhaps the whole sequence
representing the "abstract character"? [1]), it just removes the last byte.
Note that the bug is dependent on the terminal. I've originally discovered the
bug on konsole, but it has been confirmed by other users on the freenode #bash
channel to exist on xterm, st and rxvt, but one user couldn't reproduce it with
st.
Affected versions:
I've tested 4.3.30(1)-release (my distro's packaged one) and 4.3.39(2)-release,
the latter coming straight from the development git repository's master branch,
compiled with ./configure && make -j 4.
The operating system I use is Kubuntu, but it has been confirmed to exist on
Gentoo and arch linux too.
Thanks for answers.
Greetings
Est31.
[1]: Quoting the Unicode standard, version 7, Section 3.4, Characters and
Encoding:
"A single abstract character may also be represented by a sequence of code
points—for example, "latin capital letter g with acute" may be represented by
the sequence <U+0047 "latin capital letter g", U+0301 "combining acute
accent">, rather than being mapped to a single code point."
- reverse-i-search, multibyte backspace problem,
e est <=