diff -cr vim.2e5e2e82a737/src/term.c vim/src/term.c
*** vim.2e5e2e82a737/src/term.c	2013-03-16 13:44:58.000000000 +0900
--- vim/src/term.c	2013-03-16 13:44:58.000000000 +0900
***************
*** 4098,4104 ****
  #ifdef FEAT_TERMRESPONSE
  	if (key_name[0] == NUL
  	    /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
! 	    || key_name[0] == KS_URXVT_MOUSE)
  	{
  	    /* Check for some responses from terminal start with "<Esc>[" or
  	     * CSI.
--- 4098,4108 ----
  #ifdef FEAT_TERMRESPONSE
  	if (key_name[0] == NUL
  	    /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
! 	    || 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,4135 ****
  
  #ifdef FEAT_MBYTE
  		/* eat it when it has 2 arguments and ends in 'R' */
! 		if (u7_status == U7_SENT && j == 1 && tp[i] == 'R')
  		{
  		    char *p = NULL;
  
--- 4133,4139 ----
  
  #ifdef FEAT_MBYTE
  		/* eat it when it has 2 arguments and ends in 'R' */
! 		if (j == 1 && tp[i] == 'R')
  		{
  		    char *p = NULL;
  
