0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

updated for version 7.3.489

Problem:    CTRL-] in Insert mode does not expand abbreviation when used in a
            mapping. (Yichao Zhou)
Solution:   Special case using CTRL-]. (Christian Brabandt)
This commit is contained in:
Bram Moolenaar
2012-04-05 16:07:06 +02:00
parent 3dbde6226d
commit e0ebfd7507
3 changed files with 10 additions and 4 deletions

View File

@@ -1455,13 +1455,16 @@ normalchar:
Insstart_blank_vcol = get_nolist_virtcol(); Insstart_blank_vcol = get_nolist_virtcol();
} }
if (vim_iswordc(c) || !echeck_abbr( /* Insert a normal character and check for abbreviations on a
* special character. Let CTRL-] expand abbreviations without
* inserting it. */
if (vim_iswordc(c) || (!echeck_abbr(
#ifdef FEAT_MBYTE #ifdef FEAT_MBYTE
/* Add ABBR_OFF for characters above 0x100, this is /* Add ABBR_OFF for characters above 0x100, this is
* what check_abbr() expects. */ * what check_abbr() expects. */
(has_mbyte && c >= 0x100) ? (c + ABBR_OFF) : (has_mbyte && c >= 0x100) ? (c + ABBR_OFF) :
#endif #endif
c)) c) && c != Ctrl_RSB))
{ {
insert_special(c, FALSE, FALSE); insert_special(c, FALSE, FALSE);
#ifdef FEAT_RIGHTLEFT #ifdef FEAT_RIGHTLEFT

View File

@@ -4352,8 +4352,9 @@ check_abbr(c, ptr, col, mincol)
if (typebuf.tb_no_abbr_cnt) /* abbrev. are not recursive */ if (typebuf.tb_no_abbr_cnt) /* abbrev. are not recursive */
return FALSE; return FALSE;
if ((KeyNoremap & (RM_NONE|RM_SCRIPT)) != 0)
/* no remapping implies no abbreviation */ /* no remapping implies no abbreviation, except for CTRL-] */
if ((KeyNoremap & (RM_NONE|RM_SCRIPT)) != 0 && c != Ctrl_RSB)
return FALSE; return FALSE;
/* /*

View File

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