[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: complete -p does not quote function names correctly.
From: |
Koichi Murase |
Subject: |
Re: complete -p does not quote function names correctly. |
Date: |
Fri, 20 May 2022 18:53:35 +0900 |
> Description:
> bash allows declaring functions with a name that contains `*'.
> In the output of `complete -p', those function names will not be
> quoted which makes the output of `complete -p' output not safe
> to pass to `eval' or output to a file that will be read by
> `source'.
>
> I think bash should quote the arguments to `-F' in the output of
> `complete -p'.
Can you try the devel branch? There has been a related fix about a year ago:
https://lists.gnu.org/archive/html/bug-bash/2021-06/msg00140.html
https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=5a0e5b7b2862394cefccb919cddabf24f0ab4730
With the devel version, the commands you have provided produce the
following result:
$ bash-dev --norc
$ a*x () { echo hi ;}
$ complete -W 'something something' -F 'a*x' hello
$ complete -p hello
complete -W 'something something' -F 'a*x' hello
--
Koichi