On 8/24/20 3:05 PM, Шкіпер Десна wrote:
> Hello!
> If I use something like `user@localhost:/folder$ echo -n 123`, then in a
> new line before 'user...' I see '123', but it's yet normal, but if I use
> something like `user@localhost:/folder$ echo -n $(echo 123)` or
> `user@localhost:/folder$ printf %s 123`, it may seem that everything is in
> order, but if I tap up (to copy previous command) and then tap down (to
> back), Bash will leave from start so many chars, like 'user@localhost:/folder$
> ' has, i.e., I'll get 'user@localhost:/folde'. The only way to repair it is
> to press "enter". If I just press up after `user@localhost:/folder$ printf
> %s 123`, then nothing unusual happens — it appends the previous command
> after '...$ ', like usual ('123' in the beginning doesn't disappear). If I
> tap it again, some many times, again nothing unusual, but once it will cut
> the ending of 'user@localhost:/folder$ '. I don't know exactly where the
> logic is. If I tap up twice or more, but the ending yes hasn't been
> clipped,  I can tap down and it won't be clipped, for except the last tap,
> when I get the current command.

This isn't a bug. Readline assumes it can use the entire line for redisplay
and that it starts in column 0. Any text can be overwritten otherwise.

Here are a few links to recent discussions of the issue.

https://lists.gnu.org/archive/html/bug-bash/2020-01/msg00005.html
https://lists.gnu.org/archive/html/bug-bash/2020-02/msg00002.html

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://tiswww.cwru.edu/~chet/

Reply via email to