diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-02-10 19:20:37 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-02-10 19:20:37 +0100 |
commit | 494838a3fec2fb1abcac6256271810a762225bed (patch) | |
tree | bc53a26eb9be351c99fa332179efd8a97888a498 /src/screen.c | |
parent | eb2928595bca45cb37f0906c76896dce806b5543 (diff) | |
download | vim-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.c | 8 |
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 |