[Top][All Lists]

[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


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 

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.


[1]: Quoting the Unicode standard, version 7,  Section 3.4, Characters and 
"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."

reply via email to

[Prev in Thread] Current Thread [Next in Thread]