[Bug 261728] If sh became a usable interactive shell, then why can't it tab-autocomplete file.(mine).1.txt and file.(mine).2.txt?

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 09 Feb 2022 19:04:27 UTC

Daniel Tameling <tamelingdaniel@gmail.com> changed:

           What    |Removed                     |Added
 Attachment #231647|0                           |1
        is obsolete|                            |

--- Comment #8 from Daniel Tameling <tamelingdaniel@gmail.com> ---
Created attachment 231688
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=231688&action=edit
add the characters form needs_escaping to the word_break argument of the
fn_complete2 call

You are right about *. I also checked the source code. There are more
characters in the needs_escaping function of libedit, which is used to escape
characters in a filename when completing, that are missing from the argument to
the fn_complete2 function call: '[', '#', and '?'. When there is a filename
with these characters, they get escaped when completed. On further completion
attempts, the preceding '\' then gets picked up as word delimiter when these
characters are missing from the word_break string. Thus, libedit tries to find
completions starting at these characters and not for the whole thing.

You are receiving this mail because:
You are the assignee for the bug.