From a64e990aca730a0c941f7b51e3d170631ff03ed0 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 25 Sep 2015 06:54:51 -0700 Subject: linenoise: delete previous word fix for multi-line. * linenoise/linenoise.c (SPACE): Preprocessor symbol removed; was only referenced in the edit_delete_prev_word function. (edit_delete_prev_word): Recognize carriage return as word-separating whitespace. --- linenoise/linenoise.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'linenoise/linenoise.c') diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c index a9981b4f..9319d52c 100644 --- a/linenoise/linenoise.c +++ b/linenoise/linenoise.c @@ -132,8 +132,6 @@ enum key_action { BACKSPACE = 127 }; -#define SPACE "\t " - typedef unsigned char mem_t; mem_t *chk_malloc(size_t n); mem_t *chk_realloc(mem_t *old, size_t size); @@ -1429,13 +1427,14 @@ static void edit_delete_to_eol(lino_t *l) * current word. */ static void edit_delete_prev_word(lino_t *l) { size_t odpos, diff; + static const char *space = "\r\t "; delete_sel(l); odpos = l->dpos; - while (l->dpos > 0 && strchr(SPACE, l->data[l->dpos - 1])) + while (l->dpos > 0 && strchr(space, l->data[l->dpos - 1])) l->dpos--; - while (l->dpos > 0 && strchr(SPACE, l->data[l->dpos - 1]) == 0) + while (l->dpos > 0 && strchr(space, l->data[l->dpos - 1]) == 0) l->dpos--; diff = odpos - l->dpos; if (diff != 0) { -- cgit v1.2.3