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