diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-05-14 21:19:23 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-05-14 21:19:23 +0200 |
commit | 7871a500719a4b8cf212b788caec8abe33bf4c39 (patch) | |
tree | dcca725245bb329c43b63abc1cc9d53f1b7057d4 /src/menu.c | |
parent | 9c0044df7c58f0afc74ed9afd034b55850758da1 (diff) | |
download | vim-7871a500719a4b8cf212b788caec8abe33bf4c39.zip |
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)
Diffstat (limited to 'src/menu.c')
-rw-r--r-- | src/menu.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/menu.c b/src/menu.c index 41bebbf32..a80239eb5 100644 --- a/src/menu.c +++ b/src/menu.c @@ -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]); |