diff --git a/7.1.266 b/7.1.266 new file mode 100644 index 0000000..f0d2941 --- /dev/null +++ b/7.1.266 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.1.266 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.1.266 +Problem: When the version string returned by the terminal contains + unexpected characters, it is used as typed input. (James Vega) +Solution: Assume the escape sequence ends in a letter. +Files: src/term.c + + +*** ../vim-7.1.265/src/term.c Sat Sep 15 14:06:41 2007 +--- src/term.c Mon Feb 25 20:21:53 2008 +*************** +*** 4050,4064 **** + { + /* 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 [. */ + 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) + if (tp[i] == ';' && ++j == 1) + extra = atoi((char *)tp + i + 1); + if (i == len) +--- 4050,4066 ---- + { + /* 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 [. +! * 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 +! && !(tp[i] >= '{' && tp[i] <= '~') +! && !ASCII_ISALPHA(tp[i]); ++i) + if (tp[i] == ';' && ++j == 1) + extra = atoi((char *)tp + i + 1); + if (i == len) +*** ../vim-7.1.265/src/version.c Tue Feb 26 21:29:06 2008 +--- src/version.c Wed Feb 27 16:10:59 2008 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 266, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +54. You start tilting your head sideways to smile. :-) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/README.patches b/README.patches index 48e2eb8..c54db7f 100644 --- a/README.patches +++ b/README.patches @@ -294,3 +294,7 @@ Individual patches for Vim 7.1: 1805 7.1.260 cursor position wrong after ^@ wrapping halfway if using utf-8 2255 7.1.261 for a 2 byte BOM UCS-2 is used, which doesn't work for UTF-16 3438 7.1.262 can't get the process ID of Vim + 2442 7.1.263 filetype with dot doesn't work for indent plugins + 6295 7.1.264 crash when C-indenting + 1310 7.1.265 hang when completing file name and space in 'isfname' + 2510 7.1.266 version string returned by terminal may be used as typed input