[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tab completion error
From: |
Chet Ramey |
Subject: |
Re: tab completion error |
Date: |
Mon, 25 Sep 2023 15:44:15 -0400 |
User-agent: |
Mozilla Thunderbird |
On 9/25/23 12:16 PM, Mike Jonkmans wrote:
On Mon, Sep 25, 2023 at 11:11:04AM -0400, Brian Vargo wrote:
This is going to be very hard to explain over email. I tried to use script
from util-linux in GNU bash v.5.1.16 on Ubuntu 22.04, but that doesn't seem
to offer any help.
A smaller reproducer:
mkdir empty
cd empty
mkdir a\ b
touch a\ b/f\ 1
touch a\ b/f\ 2
ls "a b"/"f<TAB>
OK. I still can't reproduce it, but it may be due to the fact that readline
completes unclosed quoted strings as individual words. This means that the
word actually being completed in the above case there is "f", not "a b/f".
The default bash completion doesn't give produce any completions for this,
which implies that this is actually the work of bash-completion.
# f 1 f 2
ls "a b"/"a b/f # ends in space (correct)
The directory part is doubled.
And that might be why. bash-completion takes the word it thinks is being
completed ("a b/f"), not the one readline is telling it is being completed
("f") and does the right thing with it. Unfortunately, since the word being
completed is "f", that's what gets replaced with the new completion text.
It's sometimes easier to not put in the quotes yourself and let readline
completion quoting add them.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
- tab completion error, Brian Vargo, 2023/09/22
- Re: tab completion error, Chet Ramey, 2023/09/25
- Re: tab completion error, Brian Vargo, 2023/09/25
- Re: tab completion error, Brian Vargo, 2023/09/25
- Re: tab completion error, Mike Jonkmans, 2023/09/25
- Re: tab completion error,
Chet Ramey <=
- Re: tab completion error, Mike Jonkmans, 2023/09/25
- Re: tab completion error, Chet Ramey, 2023/09/28
- Re: tab completion error, Mike Jonkmans, 2023/09/28