summaryrefslogtreecommitdiffstats
path: root/linenoise
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-09-25 06:54:51 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-09-25 06:54:51 -0700
commita64e990aca730a0c941f7b51e3d170631ff03ed0 (patch)
tree9b97f69fc3b9207323b4376c9ad9c695f5d1b037 /linenoise
parent9f777d5898216453055a570c06d561e540241261 (diff)
downloadtxr-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.c7
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) {