diff options
author | Bram Moolenaar <bram@zimbu.org> | 2010-05-14 21:19:23 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@zimbu.org> | 2010-05-14 21:19:23 +0200 |
commit | 08d84c7659601d437be773a5f1a727045a12d365 (patch) | |
tree | 639f7b334c8e70993c58e37169cb7eae28128bda | |
parent | 032b4bf8688977a6036a19c5830fbc218f4edc3b (diff) | |
download | vim-08d84c7659601d437be773a5f1a727045a12d365.tar.gz |
Problem: ":amenu" moves the cursor when in Insert mode.
Solution: Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt)
-rw-r--r-- | src/menu.c | 17 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 15 insertions, 4 deletions
@@ -490,6 +490,7 @@ add_menu_path(menu_path, menuarg, pri_tab, call_data char_u *next_name; int i; int c; + int d; #ifdef FEAT_GUI int 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 for "<Nop>". */ c = 0; + d = 0; if (amenu && call_data != NULL && *call_data != NUL #ifdef FEAT_GUI_W32 && addtearoff @@ -761,18 +763,25 @@ add_menu_path(menu_path, menuarg, pri_tab, call_data c = Ctrl_C; break; case MENU_INSERT_MODE: - c = Ctrl_O; + c = Ctrl_BSL; + d = Ctrl_O; 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) { 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) { int len = (int)STRLEN(menu->strings[i]); diff --git a/src/version.c b/src/version.c index 111adb54..f00ff745 100644 --- a/src/version.c +++ b/src/version.c @@ -682,6 +682,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 431, +/**/ 430, /**/ 429, |