Mercurial > vim
changeset 1775:b209c3f94ab7 v7.2.073
updated for version 7.2-073
author | vimboss |
---|---|
date | Wed, 24 Dec 2008 11:54:31 +0000 |
parents | 196d564759eb |
children | a9f814054152 |
files | src/misc2.c src/option.c src/proto/misc2.pro src/version.c |
diffstat | 4 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/misc2.c +++ b/src/misc2.c @@ -2561,7 +2561,7 @@ trans_special(srcp, dst, keycode) int key; int dlen = 0; - key = find_special_key(srcp, &modifiers, keycode); + key = find_special_key(srcp, &modifiers, keycode, FALSE); if (key == 0) return 0; @@ -2597,10 +2597,11 @@ trans_special(srcp, dst, keycode) * returns 0 if there is no match. */ int -find_special_key(srcp, modp, keycode) +find_special_key(srcp, modp, keycode, keep_x_key) char_u **srcp; int *modp; - int keycode; /* prefer key code, e.g. K_DEL instead of DEL */ + int keycode; /* prefer key code, e.g. K_DEL instead of DEL */ + int keep_x_key; /* don't translate xHome to Home key */ { char_u *last_dash; char_u *end_of_name; @@ -2668,7 +2669,8 @@ find_special_key(srcp, modp, keycode) else { key = get_special_key_code(last_dash + 1); - key = handle_x_keys(key); + if (!keep_x_key) + key = handle_x_keys(key); } /*
--- a/src/option.c +++ b/src/option.c @@ -8328,7 +8328,7 @@ find_key_option(arg) { --arg; /* put arg at the '<' */ modifiers = 0; - key = find_special_key(&arg, &modifiers, TRUE); + key = find_special_key(&arg, &modifiers, TRUE, TRUE); if (modifiers) /* can't handle modifiers here */ key = 0; }
--- a/src/proto/misc2.pro +++ b/src/proto/misc2.pro @@ -59,7 +59,7 @@ int simplify_key __ARGS((int key, int *m int handle_x_keys __ARGS((int key)); char_u *get_special_key_name __ARGS((int c, int modifiers)); int trans_special __ARGS((char_u **srcp, char_u *dst, int keycode)); -int find_special_key __ARGS((char_u **srcp, int *modp, int keycode)); +int find_special_key __ARGS((char_u **srcp, int *modp, int keycode, int keep_x_key)); int extract_modifiers __ARGS((int key, int *modp)); int find_special_key_in_table __ARGS((int c)); int get_special_key_code __ARGS((char_u *name));