mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 20:57:00 +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:
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;
|
||||
|
||||
|
Reference in New Issue
Block a user