Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14743

Re: GNUbash v. 4.4.23-5 – Bash identifier location is non-correct in terminal

From Ilkka Virta <itvirta@iki.fi>
Newsgroups gnu.bash.bug
Subject Re: GNUbash v. 4.4.23-5 – Bash identifier location is non-correct in terminal
Date 2018-10-29 14:35 +0200
Message-ID <mailman.3001.1540816548.1284.bug-bash@gnu.org> (permalink)
References <CAM_8-CjzL77M=XjQCNKHrXpqiAZk172UjaLjAEksJuMLgzGvRQ@mail.gmail.com>

Show all headers | View raw


On 29.10. 12:40, Ricky Tigg wrote:
> Actual result:
> 
> $ curl https://www.startpage.com
> (...)  [yk@localhost ~]$

The shell just prints the prompt where ever the cursor was left. That's 
quite common, the only exception I know is zsh, which moves the cursor 
to the start of line if the previous command didn't leave it in the left 
edge.

A simple workaround would be to add '\n' at the start of the prompt, but 
it would then print an empty line above the prompt for every command 
that does properly finish the output with a newline. Some might find 
that ugly.

It might be possible to check for that manually in PROMPT_COMMAND. 
Something like this seems to mostly work for me in interactive use, 
though it's rather stupid and will probably break down at some point.

   prompt_to_bol() { local pos; printf '\e[6n'; read -sdR pos;
       [[ ${pos#*;} != 1 ]] && printf '\e[30;47m%%\n\e[0m'; }
   PROMPT_COMMAND=prompt_to_bol

(I stole the main parts from the answers in 
https://unix.stackexchange.com/q/88296/170373 )


-- 
Ilkka Virta / itvirta@iki.fi

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: GNUbash v. 4.4.23-5 – Bash identifier location is non-correct in terminal Ilkka Virta <itvirta@iki.fi> - 2018-10-29 14:35 +0200

csiph-web