summaryrefslogtreecommitdiff
path: root/src/screen.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-02-10 19:20:37 +0100
committerBram Moolenaar <Bram@vim.org>2015-02-10 19:20:37 +0100
commit494838a3fec2fb1abcac6256271810a762225bed (patch)
treebc53a26eb9be351c99fa332179efd8a97888a498 /src/screen.c
parenteb2928595bca45cb37f0906c76896dce806b5543 (diff)
downloadvim-git-494838a3fec2fb1abcac6256271810a762225bed.tar.gz
updated for version 7.4.627v7.4.627
Problem: The last screen cell is not updated. Solution: Respect the "tn" termcap feature. (Hayaki Saito)
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