updated for version 7.3.863

Problem:    Problem with 'ambiwidth' detection for ANSI terminal.
Solution:   Work around not recognizing a term response. (Hayaki Saito)
This commit is contained in:
Bram Moolenaar
2013-03-16 14:33:36 +01:00
parent 2526ef276b
commit e533bbe094
2 changed files with 9 additions and 4 deletions

View File

@ -3926,8 +3926,7 @@ check_termcode(max_offset, buf, bufsize, buflen)
* Check at several positions in typebuf.tb_buf[], to catch something like
* "x<Up>" that can be mapped. Stop at max_offset, because characters
* after that cannot be used for mapping, and with @r commands
* typebuf.tb_buf[]
* can become very long.
* typebuf.tb_buf[] can become very long.
* This is used often, KEEP IT FAST!
*/
for (offset = 0; offset < max_offset; ++offset)
@ -4098,7 +4097,11 @@ check_termcode(max_offset, buf, bufsize, buflen)
#ifdef FEAT_TERMRESPONSE
if (key_name[0] == NUL
/* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
|| key_name[0] == KS_URXVT_MOUSE)
|| key_name[0] == KS_URXVT_MOUSE
# ifdef FEAT_MBYTE
|| u7_status == U7_SENT
# endif
)
{
/* Check for some responses from terminal start with "<Esc>[" or
* CSI.
@ -4129,7 +4132,7 @@ check_termcode(max_offset, buf, bufsize, buflen)
#ifdef FEAT_MBYTE
/* eat it when it has 2 arguments and ends in 'R' */
if (u7_status == U7_SENT && j == 1 && tp[i] == 'R')
if (j == 1 && tp[i] == 'R')
{
char *p = NULL;

View File

@ -728,6 +728,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
863,
/**/
862,
/**/