changeset 1552:220a9309067d v7.1.266

updated for version 7.1-266
author vimboss
date Wed, 27 Feb 2008 15:14:04 +0000
parents 539d9b8f418a
children da7e2f59ee6a
files src/term.c src/version.c
diffstat 2 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/term.c
+++ b/src/term.c
@@ -4050,15 +4050,17 @@ check_termcode(max_offset, buf, buflen)
 	{
 	    /* Check for xterm version string: "<Esc>[>{x};{vers};{y}c".  Also
 	     * eat other possible responses to t_RV, rxvt returns
-	     * "<Esc>[?1;2c".  Also accept CSI instead of <Esc>[. */
+	     * "<Esc>[?1;2c".  Also accept CSI instead of <Esc>[.
+	     * mrxvt has been reported to have "+" in the version. Assume
+	     * the escape sequence ends with a letter or one of "{|}~". */
 	    if (*T_CRV != NUL && ((tp[0] == ESC && tp[1] == '[' && len >= 3)
 					       || (tp[0] == CSI && len >= 2)))
 	    {
 		j = 0;
 		extra = 0;
-		for (i = 2 + (tp[0] != CSI);
-			i < len && (VIM_ISDIGIT(tp[i])
-			    || tp[i] == ';' || tp[i] == '.'); ++i)
+		for (i = 2 + (tp[0] != CSI); i < len
+				&& !(tp[i] >= '{' && tp[i] <= '~')
+				&& !ASCII_ISALPHA(tp[i]); ++i)
 		    if (tp[i] == ';' && ++j == 1)
 			extra = atoi((char *)tp + i + 1);
 		if (i == len)
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    266,
+/**/
     265,
 /**/
     264,