diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-09-25 06:54:51 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-09-25 06:54:51 -0700 |
commit | a64e990aca730a0c941f7b51e3d170631ff03ed0 (patch) | |
tree | 9b97f69fc3b9207323b4376c9ad9c695f5d1b037 /linenoise | |
parent | 9f777d5898216453055a570c06d561e540241261 (diff) | |
download | txr-a64e990aca730a0c941f7b51e3d170631ff03ed0.tar.gz txr-a64e990aca730a0c941f7b51e3d170631ff03ed0.tar.bz2 txr-a64e990aca730a0c941f7b51e3d170631ff03ed0.zip |
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.
Diffstat (limited to 'linenoise')
-rw-r--r-- | linenoise/linenoise.c | 7 |
1 files changed, 3 insertions, 4 deletions
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) { |