summaryrefslogtreecommitdiff
path: root/src/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/screen.c')
-rw-r--r--src/screen.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/screen.c b/src/screen.c
index 2ebd98bee..f735552b0 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -7968,9 +7968,11 @@ screen_char(off, row, col)
if (row >= screen_Rows || col >= screen_Columns)
return;
- /* Outputting the last character on the screen may scrollup the screen.
- * Don't to it! Mark the character invalid (update it when scrolled up) */
- if (row == screen_Rows - 1 && col == screen_Columns - 1
+ /* Outputting a character in the last cell on the screen may scroll the
+ * screen up. Only do it when the "xn" termcap property is set, otherwise
+ * mark the character invalid (update it when scrolled up). */
+ if (*T_XN == NUL
+ && row == screen_Rows - 1 && col == screen_Columns - 1
#ifdef FEAT_RIGHTLEFT
/* account for first command-line character in rightleft mode */
&& !cmdmsg_rl