From ab29ab49cc6f3a5227e0b961a8d2e91a42c44c54 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 8 Sep 2015 07:28:57 -0700 Subject: linenoise: delete word recognizes tabs as space. * linenoise/linenoise.c (SPACE): New preprocessor symbol. (edit_delete_prev_word): Use strchr to check for spaces and tabs. --- linenoise/linenoise.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'linenoise/linenoise.c') diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c index c87e1ef0..8436f278 100644 --- a/linenoise/linenoise.c +++ b/linenoise/linenoise.c @@ -116,6 +116,7 @@ enum key_action { BACKSPACE = 127 }; +#define SPACE "\t " typedef unsigned char mem_t; mem_t *chk_malloc(size_t n); @@ -686,9 +687,9 @@ static void edit_delete_prev_word(lino_t *l) { size_t odpos = l->dpos; size_t diff; - while (l->dpos > 0 && l->data[l->dpos - 1] == ' ') + while (l->dpos > 0 && strchr(SPACE, l->data[l->dpos - 1])) l->dpos--; - while (l->dpos > 0 && l->data[l->dpos - 1] != ' ') + while (l->dpos > 0 && strchr(SPACE, l->data[l->dpos - 1]) == 0) l->dpos--; diff = odpos - l->dpos; memmove(l->data + l->dpos, l->data + odpos, l->dlen - odpos + 1); -- cgit v1.2.3