Mercurial > vim
diff src/screen.c @ 6602:c77ef1bf9623 v7.4.627
updated for version 7.4.627
Problem: The last screen cell is not updated.
Solution: Respect the "tn" termcap feature. (Hayaki Saito)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 10 Feb 2015 19:20:37 +0100 |
parents | 0c8738124a7b |
children | 43f444efe6a2 |
line wrap: on
line diff
--- 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