From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040217 Description of problem: If you enter non-ASCII characters in a VT bash session, line editing gets very confused. For example, if you enter � (it won't be displayed; it's easy to enter it if you configure the keyboard as US International), then a blank, then backspace twice, you'll get back one more space than you moved forward. Do it several times, and things quickly get very confusing. If you have such `hidden' characters and you type until you reach the end of the line, bash will issue carriage returns without line breaks, so you'll end up overwriting the first line instead of continuing a long line in the next line. Version-Release number of selected component (if applicable): bash-2.05b-37 How reproducible: Always Steps to Reproduce: 1.Enter a few `�' characters, then a blank, then backspaces. 2.Enter a few `�' characters, then a long command line that doesn't fit in a single line on the screen Actual Results: 1. gets you back into the prompt 2. line-wraps onto the same line Expected Results: Ideally, � should be displayed, if not as itself, as a blank or some other ASCII character to represent it, and then everything would probably work. Additional info:
Changing component (bash has its own readline).
Need to know what locale you are using. Can you confirm that the character you are typing is a question mark (query) inside a circle?
Ugh. The character is an a with an acute accent: á. Dunno why it didn't make it properly. locale is en_US.UTF-8.
Can't reproduce this. Which terminal are you using?
VT1 (text console). Whatever terminal emulation that implies.
Can you still reproduce this?
'fraid so, with yesterday's rawhide.
Can you try bash-3.0-1 please?
No change :-(
I'm afraid I haven't been able to reproduce this here.
Mind telling me what you tried? I can readily duplicate it on FC2 and FC3test1, on a UTF8 locale and with the us-acentos keyboard configuration on a text console. Note I'm not talking about random terminal emulators, I'm talking about the terminal you get after switching to VT1 with Ctrl-Alt-F1.
I switched to VT1 and followed your "steps to reproduce" in the original report. If you can repeat this 100% please try rephrasing how to get this to happen, telling me which keys to press and in which order -- I wasn't sure if I needed to press return or anything (I didn't). I have a US keyboard here: all of the test machines I have access to do. :-( I had to put an a-acute in .bash_history and use C-k/C-y. Tell me a better way to do this.
Aha! So you didn't configure the keyboard as US-International (us-acentos in /etc/sysconfig/keyboard)? I suspect that's a key step to duplicate the problem, because us-acentos generates iso-8859-1 even if the default locale is UTF-8. It appears that this is what bash doesn't like: incomplete multi-byte sequences.
Sounds like us-acentos needs to be fixed. All bets are off if there are incomplete multi-byte sequences -- there isn't any good behaviour in that case.
has multibyte compose sequences been fixed in the kernel yet? if not, this bug is blocked
As a work-around, you could choose a keymap that doesn't need dead keys or compose to produce the characters you need, and load it using loadkeys -u. *** This bug has been marked as a duplicate of 143014 ***