Currently, typing `cmd flag1 flag2` (note the two spaces), navigating
between the two spaces and hitting Tab produces
`COMP_WORDS=(cmd flag1 flag2)` without inserting an empty word between
flag1 and flag2.
I believe this comes from considering the cursor ("sentinel") as a block
rather than a line, which does not make sense in a completion context,
but might possibly make sense in other contexts?
Note that this aligns with the behaviour of the default readline
completion.
Signed-off-by: Naïm Favier <[email protected]>
---
subst.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/subst.c b/subst.c
index 2b76256c..f3452517 100644
--- a/subst.c
+++ b/subst.c
@@ -2379,11 +2379,6 @@ split_at_delims (string, slen, delims, sentinel, flags,
nwp, cwp)
if (sentinel >= ts && sentinel <= te)
cw = nw;
- /* If the cursor is at whitespace just before word start, set the
- sentinel word to the current word. */
- if (cwp && cw == -1 && sentinel == ts-1)
- cw = nw;
-
/* If the cursor is at whitespace between two words, make a new, empty
word, add it before (well, after, since the list is in reverse order)
the word we just added, and set the current word to that one. */
--
2.36.1