Bash 3.2.* still has some problems. Steps to reproduce: PS1="\e[36m[\e[34m\u\e[0m \e[32m\w\e[36m] \\$\e[0m " LC_ALL="en_US.UTF8" ls echo ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz <Press up arrow twice> Bash 3.1.* works correctly.
I see that the summary was changed, but it isn't very relevant. Steps to reproduce something different: PS1="\e[36m[\e[34m\u\e[0m \e[32m\w\e[36m] \\$\e[0m " LC_ALL="en_US.UTF8" echo ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz <Don't press Enter, press Home>
Maybe bug #154062 isn't fully fixed yet?
I missed that myself but UPSTREAM answer was: ================================================================ > Steps to reproduce: > PS1="\e[36m[\e[34m\u\e[0m \e[32m\w\e[36m] \\$\e[0m " This is broken. You need to bracket escape sequences with \[ \]. ================================================================ And with the following prompt PS1="\[\e[36m\][\[\e[34m\]\u\[\e[0m\] \[\e[32m\]\w\[\e[36m\]] \\$\[\e[0m\] " I can not reproduce your bug.