# HG changeset patch # User vimboss # Date 1204125244 0 # Node ID 220a9309067dfc6e7e8301b392c3499054666396 # Parent 539d9b8f418aeeeac3d0da1932e1cdbe709456a1 updated for version 7.1-266 diff --git a/src/term.c b/src/term.c --- a/src/term.c +++ b/src/term.c @@ -4050,15 +4050,17 @@ check_termcode(max_offset, buf, buflen) { /* Check for xterm version string: "[>{x};{vers};{y}c". Also * eat other possible responses to t_RV, rxvt returns - * "[?1;2c". Also accept CSI instead of [. */ + * "[?1;2c". Also accept CSI instead of [. + * 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) diff --git a/src/version.c b/src/version.c --- 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,