Configuration Information: Machine: x86_64 OS: linux-gnu Compiler: gcc 
Compilation CFLAGS: -march=x86-64 -mtune=generic -O2 -pipe -fno-plt 
-fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security 
-fstack-clash-protection -fcf-protection -fno-omit-frame-pointer 
-mno-omit-leaf-frame-pointer -flto=auto 
-DDEFAULT_PATH_VALUE='/usr/local/sbin:/usr/local/bin:/usr/bin' 
-DSTANDARD_UTILS_PATH='/usr/bin' -DSYS_BASHRC='/etc/bash.bashrc' 
-DSYS_BASH_LOGOUT='/etc/bash.bash_logout' -DNON_INTERACTIVE_LOGIN_SHELLS 
-std=gnu17 uname output: Linux mylaptop 6.12.94-1-MANJARO #1 SMP 
PREEMPT_DYNAMIC Fri, 19 Jun 2026 12:26:13 +0000 x86_64 GNU/Linux Machine Type: 
x86_64-pc-linux-gnu
Bash Version: 5.3 Patch Level: 15 Release Status: release
Hi everyone,
I believe I’ve found a prompt display error in Readline 8.3: the prompt gets 
shoved into the start of the line during a redraw when the previous command’s 
output lacks a trailing newline.
This occurs only when two conditions are met simultaneously:

  1.
PS1 contains a visible multibyte character (like U+2A2F).
  2.
The prompt includes an escape sequence (like a color code) enclosed in \[ \] 
markers.

If I use ASCII instead of the multibyte character, or remove the enclosed 
escape sequence, the redraw works perfectly. The bug only happens when both 
elements are combined. I've verified this isn't a locale/width (UTF-8) issue. 
You can reproduce it interactively with:
```
PS1=$'\[\e[38;5;226m\] \u2a2f \[\e[0m\]'
printf '%s' "$(seq -s/ 1 300)"

```


When the prompt is redrawn, the cursor backtracks improperly, causing text 
corruption. To isolate this, I built Bash 5.2.21 (Readline 8.2) from source on 
the same machine; it passes cleanly. The issue only appears after upgrading to 
Readline 8.3.
I noticed this entry in the changes file talking about multiline prompts. Does 
that fix cases where the visible region contains a multibyte character? If this 
is already resolved in development, please feel free to disregard this. I want 
to archive a minimal reproducer on the mailing list just in case. It was 
driving me insane
Thanks for your  work on Bash.
groetjes!
>JMN

  • Readline ... Juan Monroy Nieto via Bug reports for the GNU Bourne Again SHell

Reply via email to