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
