bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Colored prompt length is not correctly computed - Correction.


From: Chris Jones
Subject: Colored prompt length is not correctly computed - Correction.
Date: Sat, 04 Jul 2009 12:59:50 -0400
User-agent: Mutt/1.5.18 (2008-05-17)

On Sat, Jul 04, 2009 at 12:18:51PM EDT, Chris Jones wrote:
> Configuration Information [Automatically generated, do not change]:
> Machine: i486
> OS: linux-gnu
> Compiler: gcc
> Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='i486' 
> -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i486-pc-linux-gnu' 
> -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL 
> -DHAVE_CONFIG_H   -I.  -I../bash -I../bash/include -I../bash/lib   -g -O2 
> -Wall
> uname output: Linux turki 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 
> i686 GNU/Linux
> Machine Type: i486-pc-linux-gnu
> 
> Bash Version: 3.2
> Patch Level: 39
> Release Status: release
> 
> Description:
>       
> When retrieving a command from bash's history, emacs keybindings CTRL-E & 
> CTRL-A
> do not move the cursor to the end and beginning of the retrieved command.
> 
> CTRL+E moves the cursor to a point that is short of the end of command
> CTRL+A moves the cursor to a point that is within the bash prompt
> 
> When the cursor is moved to a location within the prompt, an ensuing CTL+K
> erases not only the retrieved command, but also the part of the prompt that is
> to the right of the cursor.
> 
> This was first noticed on a debian "lenny" system running the default 3.2.39
> version of bash running in a color xterm, but was later reproduced on ubuntu
> 9.04 with bash 3.2.48 in gnome terminal. 
> 
> This was also verified to happen on the linux console - kernel 2.6.26.
> 
> Repeat-By:
> 
> $ export PS1="\[\033[0;41m\][$(date +%T)][\u@\h:\w]\$\[\033[0m\] "
> 
> [11:47:48][cjns@turki:~]$ echo try as you may
> 
> CTRL+R
> may
> (reverse-i-search)`may': echo try as you may
>                                          ^          (cursor position)
> CTRL+E
> [11:47:48][cjns@turki:~]$ echo try as you may
>                                   ^                 (new cursor position)
> CTRL+A
> [11:47:48][cjns@turki:~]$ echo try as you may
>                ^                                    (cursor now in prompt)
> CTRL+K
> [11:47:48][cjns
>                                                     (erases part of prompt)
> 
> Note, that this does not occur when doing the (reverse-i-search) on "echo",
> "try", or "as" - it only occurs when searching for "you" or "may".
> 
> Fix:
> 
> Not fixes, but either of the following corrects the problem:
> 
> 1. Removing the escape sequence¹ from the prompt.
> 
> 2. Switching the locale from UTF-8 (en_US.UTF-8) to ISO-8859-1 
> (en_US.iso88591).

¹ To be exact: "removing the color-related escape sequences from the
  prompt.





reply via email to

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