diff --git a/src/editline.c b/src/editline.c index 627c532..e48602c 100644 --- a/src/editline.c +++ b/src/editline.c @@ -892,6 +892,31 @@ el_status_t el_del_char(void) return del_char(); } +static el_status_t fd_word(void) +{ + return do_forward(CSmove); +} + +static el_status_t bk_word(void) +{ + int i; + char *p; + + i = 0; + do { + for (p = &rl_line_buffer[rl_point]; p > rl_line_buffer && !is_alpha_num(p[-1]); p--) + left(CSmove); + + for (; p > rl_line_buffer && !isblank(p[-1]) && is_alpha_num(p[-1]); p--) + left(CSmove); + + if (rl_point == 0) + break; + } while (++i < Repeat); + + return CSstay; +} + static el_status_t meta(void) { int c; @@ -1689,11 +1714,6 @@ static el_status_t move_to_char(void) return CSstay; } -static el_status_t fd_word(void) -{ - return do_forward(CSmove); -} - static el_status_t fd_kill_word(void) { int i; @@ -1708,26 +1728,6 @@ static el_status_t fd_kill_word(void) return CSstay; } -static el_status_t bk_word(void) -{ - int i; - char *p; - - i = 0; - do { - for (p = &rl_line_buffer[rl_point]; p > rl_line_buffer && !is_alpha_num(p[-1]); p--) - left(CSmove); - - for (; p > rl_line_buffer && !isblank(p[-1]) && is_alpha_num(p[-1]); p--) - left(CSmove); - - if (rl_point == 0) - break; - } while (++i < Repeat); - - return CSstay; -} - static el_status_t bk_kill_word(void) { bk_word();