[Bug 14216] New: lineedit: tab completion special char set seems wrong

bugzilla at busybox.net bugzilla at busybox.net
Fri Sep 17 13:54:18 UTC 2021


https://bugs.busybox.net/show_bug.cgi?id=14216

            Bug ID: 14216
           Summary: lineedit: tab completion special char set seems wrong
           Product: Busybox
           Version: unspecified
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P5
         Component: Other
          Assignee: unassigned at busybox.net
          Reporter: bugdal at aerifal.cx
                CC: busybox-cvs at busybox.net
  Target Milestone: ---

I investigated the is_special_char function in lineedit.c after being annoyed
that ash was completing colon characters in filenames with timestamps in them
as "\:" rather than ":" despite the colon not being a shell special. I found
what seem to be several mistakes.

If further found that ], +, and ^ are treated as special, which seems wrong. ]
and ^ have meaning inside bracket expressions where tab completion can't
happen/makes no sense, but are otherwise non-special, and AFAIK + is special
only inside certain ${ forms where the same applies.

Moreover, ~, \t, and \n seem to be missing from the list of specials. For ~,
this might make filenames beginning with a ~ get expanded unquoted, then
re-expanded as ~ expansions when the command is later evaluated. I'm not sure
if \t and \n can be expanded at all, or if they're blocked at another layer,
but if they can, they need escaping too.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the busybox-cvs mailing list