mirror of
https://github.com/tmux/tmux.git
synced 2025-01-26 07:58:55 +00:00
Do not force the cursor to move if it is in the automargin space at EOL
and that is where we want it to be, GitHub issue 2956.
This commit is contained in:
parent
49d33a4282
commit
4acad43013
16
tty.c
16
tty.c
@ -2278,17 +2278,25 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy)
|
||||
if (tty->flags & TTY_BLOCK)
|
||||
return;
|
||||
|
||||
if (cx > tty->sx - 1)
|
||||
cx = tty->sx - 1;
|
||||
|
||||
thisx = tty->cx;
|
||||
thisy = tty->cy;
|
||||
|
||||
/*
|
||||
* If in the automargin space, and want to be there, do not move.
|
||||
* Otherwise, force the cursor to be in range (and complain).
|
||||
*/
|
||||
if (cx == thisx && cy == thisy && cx == tty->sx)
|
||||
return;
|
||||
if (cx > tty->sx - 1) {
|
||||
log_debug("%s: x too big %u > %u", __func__, cx, tty->sx - 1);
|
||||
cx = tty->sx - 1;
|
||||
}
|
||||
|
||||
/* No change. */
|
||||
if (cx == thisx && cy == thisy)
|
||||
return;
|
||||
|
||||
/* Very end of the line, just use absolute movement. */
|
||||
/* Currently at the very end of the line - use absolute movement. */
|
||||
if (thisx > tty->sx - 1)
|
||||
goto absolute;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user