1
0
forked from aniani/vim

updated for version 7.2.431

Problem:    ":amenu" moves the cursor when in Insert mode.
Solution:   Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt)
This commit is contained in:
Bram Moolenaar
2010-05-14 21:19:23 +02:00
parent 9c0044df7c
commit 7871a50071
2 changed files with 15 additions and 4 deletions

View File

@@ -490,6 +490,7 @@ add_menu_path(menu_path, menuarg, pri_tab, call_data
char_u *next_name; char_u *next_name;
int i; int i;
int c; int c;
int d;
#ifdef FEAT_GUI #ifdef FEAT_GUI
int idx; int idx;
int new_idx; int new_idx;
@@ -746,6 +747,7 @@ add_menu_path(menu_path, menuarg, pri_tab, call_data
* Don't do this if adding a tearbar (addtearoff == FALSE). * Don't do this if adding a tearbar (addtearoff == FALSE).
* Don't do this for "<Nop>". */ * Don't do this for "<Nop>". */
c = 0; c = 0;
d = 0;
if (amenu && call_data != NULL && *call_data != NUL if (amenu && call_data != NULL && *call_data != NUL
#ifdef FEAT_GUI_W32 #ifdef FEAT_GUI_W32
&& addtearoff && addtearoff
@@ -761,18 +763,25 @@ add_menu_path(menu_path, menuarg, pri_tab, call_data
c = Ctrl_C; c = Ctrl_C;
break; break;
case MENU_INSERT_MODE: case MENU_INSERT_MODE:
c = Ctrl_O; c = Ctrl_BSL;
d = Ctrl_O;
break; break;
} }
} }
if (c) if (c != 0)
{ {
menu->strings[i] = alloc((unsigned)(STRLEN(call_data) + 4)); menu->strings[i] = alloc((unsigned)(STRLEN(call_data) + 5 ));
if (menu->strings[i] != NULL) if (menu->strings[i] != NULL)
{ {
menu->strings[i][0] = c; menu->strings[i][0] = c;
STRCPY(menu->strings[i] + 1, call_data); if (d == 0)
STRCPY(menu->strings[i] + 1, call_data);
else
{
menu->strings[i][1] = d;
STRCPY(menu->strings[i] + 2, call_data);
}
if (c == Ctrl_C) if (c == Ctrl_C)
{ {
int len = (int)STRLEN(menu->strings[i]); int len = (int)STRLEN(menu->strings[i]);

View File

@@ -681,6 +681,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 */
/**/
431,
/**/ /**/
430, 430,
/**/ /**/