version 1.20, 2005/12/13 06:01:27 |
version 1.21, 2005/12/13 07:20:13 |
|
|
KEYMAP *curmap; |
KEYMAP *curmap; |
int i; |
int i; |
PF fp = NULL; |
PF fp = NULL; |
int mode = curbp->b_nmodes; |
int md = curbp->b_nmodes; |
|
|
for (;;) { |
for (;;) { |
if (ISUPPER(key.k_chars[key.k_count - 1])) { |
if (ISUPPER(key.k_chars[key.k_count - 1])) { |
c = TOLOWER(key.k_chars[key.k_count - 1]); |
c = TOLOWER(key.k_chars[key.k_count - 1]); |
curmap = curbp->b_modes[mode]->p_map; |
curmap = curbp->b_modes[md]->p_map; |
for (i = 0; i < key.k_count - 1; i++) { |
for (i = 0; i < key.k_count - 1; i++) { |
if ((fp = doscan(curmap, (key.k_chars[i]), &curmap)) |
if ((fp = doscan(curmap, (key.k_chars[i]), &curmap)) |
!= NULL) |
!= NULL) |
|
|
} |
} |
} |
} |
/* try previous mode */ |
/* try previous mode */ |
if (--mode < 0) |
if (--md < 0) |
return (ABORT); |
return (ABORT); |
curmap = curbp->b_modes[mode]->p_map; |
curmap = curbp->b_modes[md]->p_map; |
for (i = 0; i < key.k_count; i++) { |
for (i = 0; i < key.k_count; i++) { |
if ((fp = doscan(curmap, (key.k_chars[i]), &curmap)) != NULL) |
if ((fp = doscan(curmap, (key.k_chars[i]), &curmap)) != NULL) |
break; |
break; |