Dear Chet,
Do you mean that commands should output a newline at the end? I don't
have control over what all commands do that I run, and sometimes they
don't end with a newline. It would be nice if I could still read their
last lines, like in bash 5.2.
In bash 5.3 it also works fine for prompts without unicode characters,
for example:
bash-5.3$ echo -n test
testbash-5.3$
On bash 5.2 this also works fine:
bash-5.2$ PS1='€ \[\e[0m\]'
€ echo -n test
test€
Best,
Lennart
On 5/18/26 6:07 PM, Chet Ramey wrote:
On 5/16/26 3:28 PM, Lennart Ackermans via Bug reports for the GNU
Bourne Again SHell wrote:
Bash Version: 5.3
Patch Level: 9
Release Status: release
Description:
If $PS1 contains a unicode character followed by an escape
sequence, the prompt appears to be output twice if a command ends
without a newline: once (correctly) after the output and once at the
beginning of the line, overwriting the output. The cursor is placed
after the first, overwriting prompt (on "s" in the example below).
This bug was not present in Bash 5.2.
Repeat-By:
bash-5.3$ PS1='€ \[\e[0m\]'
€ echo -n test
€ st€
If the cursor isn't at position 0 when readline starts, results will be
unpredictable. Readline has to know where it is on the screen so it can
make decisions about which escape sequences to use to move the cursor.
This isn't necessarily the result of having any particular characters in
the prompt string, though having a sequence of non-printing characters
means that readline really does need to know where it is on the screen.
A simple newline will fix this.