I tried to put this on imgur but it's not displaying.  Here's a gnome
screencast:

https://mega.nz/file/5URAlZhR#KW0p43IASdQ42bkxsxtMZSrRkTW8gee8GLbNBpKrimE

On Mon, Sep 25, 2023 at 11:11 AM Brian Vargo <[email protected]> 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.
>
> Here's a tree to show the directory structure and let's say I want to move
> the Hofstadter book to /dev/shm/cache.  I'll try tab completion after
> entering ` "Hofs `
>
> $ tree /library/books/audiobooks/Hof*
> /library/books/audiobooks/Hoffman,\ Donald
> `-- The\ Case\ Against\ Reality:\ Why\ Evolution\ Hid\ the\ Truth\ from\
> Our\ Eyes\ (2019)
>     |-- The\ Case\ Against\ Reality\ --\ Cover.jpg
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 01.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 02.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 03.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 04.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 05.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 06.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 07.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 08.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 09.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 10.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 11.opus
>     |-- The\ Case\ Against\ Reality\ --\ Part\ 12.opus
>     |-- The\ Case\ Against\ Reality\ --\ Summary.nfo
>     `-- metadata.json
> /library/books/audiobooks/Hofstadter,\ Richard
> `-- Anti-Intellectualism\ in\ American\ Life\ (1963)
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Cover.jpg
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 01.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 02.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 03.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 04.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 05.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 06.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 07.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 08.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 09.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 10.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 11.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 12.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 13.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 14.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 15.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Part\ 16.opus
>     |-- Anti-Intellectualism\ in\ American\ Life\ --\ Summary.nfo
>     |-- cover.jpg
>     `-- metadata.json
>
> 1 directory, 20 files
>
> To start with, I begin entering the command followed by ` "Hofs ` and a
> tab:
>
> /library/books/audiobooks $ mv "Hofs<Tab>
>
> This results in the following being completed:
>
> /library/books/audiobooks $ mv "Hofstadter, Richard"/
>
> If I then try to get tab completion of the subdirectory, i.e., by opening
> a double quote and starting to type Anti followed by tab, the result here
> is the issue.
>
> start with: /library/books/audiobooks $ mv "Hofstadter, Richard"/
> enter: "Anti<tab>
> the result is
> $ mv "Hofstadter, Richard"/"Hofstadter, Richard/Anti-Intellectualism in
> American Life (1963)"/
>
> What I expect is:
> $ mv "Hofstadter, Richard"/"Anti-Intellectualism in American Life (1963)"/
> OR
> $ mv "Hofstadter, Richard/Anti-Intellectualism in American Life (1963)"/
>
> but not to have the wrong parent directory left on the entry line.
>
> If there's a better way to demonstrate what's going on, please let me know.
>
> this is on Ubuntu 22.04.
>
> This has always failed any time I can remember trying it with Ubuntu/bash.
>
> On Mon, Sep 25, 2023 at 9:12 AM Chet Ramey <[email protected]> wrote:
>
>> On 9/22/23 5:58 PM, Brian Vargo wrote:
>>
>> > $ mv Bu<TAB>   --->  $ mv Buehrer\,\ Ted/How\ to\ Listen\ to\ and\
>> > Appreciate\ Jazz\ \[TMS\]\ \(2006\)/ "Bu<TAB> ----> $ mv Buehrer\,\
>> > Ted/How\ to\ Listen\ to\ and\ Appreciate\ Jazz\ \[TMS\]\ \(2006\)/
>> > "Buehrer, Ted"/<TAB> -----> $ mv Buehrer\,\ Ted/How\ to\ Listen\ to\
>> and\
>> > Appreciate\ Jazz\ \[TMS\]\ \(2006\)/ "Buehrer, Ted"/"Buehrer, Ted/How
>> to
>> > Listen to and Appreciate Jazz [TMS] (2006)"/
>>
>> I can't reproduce this. I'm testing with bash-5.2.
>>
>> I get, broken into different lines for clarity:
>>
>> $ mv Buehrer\,\ Ted/    [after the first tab]
>>
>> $ mv Buehrer\,\ Ted/How\ to\ Listen\ to\ and\ Appreciate\ Jazz\ \[TMS\]\
>> \(2006\)/               [after the second tab]
>>
>> (Note that default completion stops at directory boundaries; I'm not sure
>> how you got multiple directory names completed with a single tab.)
>>
>> Then you add the space and start a new double-quoted argument:
>>
>> $ mv Buehrer\,\ Ted/How\ to\ Listen\ to\ and\ Appreciate\ Jazz\ \[TMS\]\
>> \(2006\)/ "Buehrer, Ted"/       [after the third tab]
>>
>> $ mv Buehrer\,\ Ted/How\ to\ Listen\ to\ and\ Appreciate\ Jazz\ \[TMS\]\
>> \(2006\)/ Buehrer\,\ Ted/How\ to\ Listen\ to\ and\ Appreciate\ Jazz\
>> \[TMS\]\ \(2006\)/      [after the fourth tab]
>>
>> Note that bash/readline default completion requotes the entire pathname
>> once there is another directory name requiring quoting.
>>
>> Now, this command will obviously fail because you're trying to move a
>> directory name to itself.
>>
>>
>>
>> > Expected:
>> > For the last tab completion, I expect $ mv Buehrer\,\ Ted/How\ to\
>> Listen\
>> > to\ and\ Appreciate\ Jazz\ \[TMS\]\ \(2006\)/ "Buehrer, Ted"/"How to
>> Listen
>> > to and Appreciate Jazz [TMS] (2006)"/
>> > and then for it to change into that directory.
>>
>> Quoting differences aside, these are identical directory names, so the
>> `mv'is going to fail regardless. But why would you expect bash or another
>> application to change to that directory?
>>
>> --
>> ``The lyf so short, the craft so long to lerne.'' - Chaucer
>>                  ``Ars longa, vita brevis'' - Hippocrates
>> Chet Ramey, UTech, CWRU    [email protected]    http://tiswww.cwru.edu/~chet/
>>
>>

Reply via email to