diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-09-08 07:28:57 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-09-08 07:28:57 -0700 |
commit | ab29ab49cc6f3a5227e0b961a8d2e91a42c44c54 (patch) | |
tree | 3d25846b5be20f0100ccaf73c0f086e36c22a855 /linenoise/linenoise.c | |
parent | 2f3efe5bc28d8c266cca79019c1a3b804f03359f (diff) | |
download | txr-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.c | 5 |
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); |