On Tue, Apr 29, 2008 at 11:10:14AM +0100, Alan Cox wrote:The console yes (by default until I disabled it to restore correct behaviour). The shell no, it was the one present on my machine and has never been compiled with UTF-8 support, and should not have to. If we say that starting with 2.6.24, we're explicitly breaking compatiblity with old userland, fine. But that was not explicitly stated. In my opinion, the problem is that when I press "é", the system sends two chars to the bash, which itself sends two chars to the terminal, which only displays one and moves the cursor one step ahead. Then, pressing backspace once sends one backspace all along, resulting in the terminal blanking one displayed char, but the shell not being aware that only half of it was removed. But if you look at how control chars are handled, if you display ^H then press backspace, you remove all of it. It's the terminal which adjusts the position depending on the character length. So in my opinion, when we send one backspace to the terminal to remove one character, since there are two in the buffer, we should not get back one full char. Ideally, the console driver should send as many backspaces as needed to fix the multiple characters that were emitted. It's not logical at all that if we send 3 chars to a process with one key, sending a cancellation of those chars only sends one backspace. You see, that's really what I hate with this encoding. Every stage relies on the next one to do the fixup. And of course, a lot of combinations fail. But at least, there is no feeling of having it working. You immediately see if your tools are compliant or not. I cannot imagine how one can believe that something which transcodes one char as a series of 1-to-4 chars will be a painless move. A lot of code is totally broken and was not before the move. That's a useful information, thanks. I was not aware of this. Willy --
| Davide Libenzi | Re: [patch 7/8] fdmap v2 - implement sys_socket2 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Greg Kroah-Hartman | [PATCH 005/196] Chinese: add translation of SubmittingDrivers |
| Mariusz Kozlowski | [KJ PATCHES] mostly kmalloc + memset conversion to k[cz]alloc |
git: | |
| KOSAKI Motohiro | [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Stefan Richter | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
