summaryrefslogtreecommitdiffstats
path: root/linenoise/linenoise.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-09-08 07:28:57 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-09-08 07:28:57 -0700
commitab29ab49cc6f3a5227e0b961a8d2e91a42c44c54 (patch)
tree3d25846b5be20f0100ccaf73c0f086e36c22a855 /linenoise/linenoise.c
parent2f3efe5bc28d8c266cca79019c1a3b804f03359f (diff)
downloadtxr-ab29ab49cc6f3a5227e0b961a8d2e91a42c44c54.tar.gz
txr-ab29ab49cc6f3a5227e0b961a8d2e91a42c44c54.tar.bz2
txr-ab29ab49cc6f3a5227e0b961a8d2e91a42c44c54.zip
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.
Diffstat (limited to 'linenoise/linenoise.c')
-rw-r--r--linenoise/linenoise.c5
1 files changed, 3 insertions, 2 deletions
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);