diff src/term.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 3d206df5c828
children 7c5a0c69e1ac
line wrap: on
line diff
--- a/src/term.c
+++ b/src/term.c
@@ -200,6 +200,7 @@ static struct builtin_term builtin_termc
     {(int)KS_VB,	IF_EB("\033|f", ESC_STR "|f")},
     {(int)KS_MS,	"y"},
     {(int)KS_UT,	"y"},
+    {(int)KS_XN,	"y"},
     {(int)KS_LE,	"\b"},		/* cursor-left = BS */
     {(int)KS_ND,	"\014"},	/* cursor-right = CTRL-L */
 # ifdef TERMINFO
@@ -658,6 +659,7 @@ static struct builtin_term builtin_termc
 
     {(int)KS_MS,	"y"},		/* save to move cur in reverse mode */
     {(int)KS_UT,	"y"},
+    {(int)KS_XN,	"y"},
     {(int)KS_LE,	"\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,	"\033|%i%p1%d;%p2%dH"},/* cursor motion */
@@ -772,6 +774,7 @@ static struct builtin_term builtin_termc
     {(int)KS_CSF,	IF_EB("\033[101;%dm", ESC_STR "[101;%dm")},	/* set screen foreground color */
     {(int)KS_MS,	"y"},
     {(int)KS_UT,	"y"},
+    {(int)KS_XN,	"y"},
     {(int)KS_LE,	"\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,	IF_EB("\033[%i%p1%d;%p2%dH",
@@ -1207,6 +1210,7 @@ static struct builtin_term builtin_termc
     {(int)KS_UCS,	"[UCS]"},
     {(int)KS_MS,	"[MS]"},
     {(int)KS_UT,	"[UT]"},
+    {(int)KS_XN,	"[XN]"},
 #  ifdef TERMINFO
     {(int)KS_CM,	"[%p1%dCM%p2%d]"},
 #  else
@@ -1645,6 +1649,9 @@ set_termname(term)
 		if ((T_XS == NULL || T_XS == empty_option)
 							&& tgetflag("xs") > 0)
 		    T_XS = (char_u *)"y";
+		if ((T_XN == NULL || T_XN == empty_option)
+							&& tgetflag("xn") > 0)
+		    T_XN = (char_u *)"y";
 		if ((T_DB == NULL || T_DB == empty_option)
 							&& tgetflag("db") > 0)
 		    T_DB = (char_u *)"y";