В Fri, 5 Dec 2014 22:22:23 -0500 Mike Gilbert <flop...@gentoo.org> пишет:
> Recent versions of bash-completion do not provide the 'have' function. It still does as of today GIT. > To keep things simple, this patch just removes it completely. No, that is not what was intended when 'have' was deprecated. You should put completion for each command in separate function which is then autoloaded on demand. > --- > ChangeLog | 4 ++ > util/bash-completion.d/grub-completion.bash.in | 66 > +++++--------------------- > 2 files changed, 17 insertions(+), 53 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index a9ed5aa..3554467 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,7 @@ > +2014-12-05 Mike Gilbert <flop...@gentoo.org> > + * util/bash-completion.d/grub-completion.bash.in: Remove references to > + 'have' function. > + > 2014-12-05 Andrei Borzenkov <arvidj...@gmail.com> > > * tests/util/grub-shell.in: Support --files also for netboot. > diff --git a/util/bash-completion.d/grub-completion.bash.in > b/util/bash-completion.d/grub-completion.bash.in > index 44bf135..2b98004 100644 > --- a/util/bash-completion.d/grub-completion.bash.in > +++ b/util/bash-completion.d/grub-completion.bash.in > @@ -165,15 +165,8 @@ _grub_set_entry () { > fi > } > > -__grub_set_default_program="@grub_set_default@" > -have ${__grub_set_default_program} && \ > - complete -F _grub_set_entry -o filenames ${__grub_set_default_program} > -unset __grub_set_default_program > - > -__grub_reboot_program="@grub_reboot@" > -have ${__grub_reboot_program} && \ > - complete -F _grub_set_entry -o filenames ${__grub_reboot_program} > -unset __grub_reboot_program > +complete -F _grub_set_entry -o filenames @grub_set_default@ > +complete -F _grub_set_entry -o filenames @grub_reboot@ > > > # > @@ -197,10 +190,7 @@ _grub_editenv () { > create list set unset" > } > > -__grub_editenv_program="@grub_editenv@" > -have ${__grub_editenv_program} && \ > - complete -F _grub_editenv -o filenames ${__grub_editenv_program} > -unset __grub_editenv_program > +complete -F _grub_editenv -o filenames @grub_editenv@ > > > # > @@ -218,10 +208,7 @@ _grub_mkconfig () { > _filedir > fi > } > -__grub_mkconfig_program="@grub_mkconfig@" > -have ${__grub_mkconfig_program} && \ > - complete -F _grub_mkconfig -o filenames ${__grub_mkconfig_program} > -unset __grub_mkconfig_program > +complete -F _grub_mkconfig -o filenames @grub_mkconfig@ > > > # > @@ -253,15 +240,8 @@ _grub_setup () { > fi > } > > -__grub_bios_setup_program="@grub_bios_setup@" > -have ${__grub_bios_setup_program} && \ > - complete -F _grub_setup -o filenames ${__grub_bios_setup_program} > -unset __grub_bios_setup_program > - > -__grub_sparc64_setup_program="@grub_sparc64_setup@" > -have ${__grub_sparc64_setup_program} && \ > - complete -F _grub_setup -o filenames ${__grub_sparc64_setup_program} > -unset __grub_sparc64_setup_program > +complete -F _grub_setup -o filenames @grub_bios_setup@ > +complete -F _grub_setup -o filenames @grub_sparc64_setup@ > > > # > @@ -304,10 +284,7 @@ _grub_install () { > _filedir > fi > } > -__grub_install_program="@grub_install@" > -have ${__grub_install_program} && \ > - complete -F _grub_install -o filenames ${__grub_install_program} > -unset __grub_install_program > +complete -F _grub_install -o filenames @grub_install@ > > > # > @@ -326,10 +303,7 @@ _grub_mkfont () { > _filedir > fi > } > -__grub_mkfont_program="@grub_mkfont@" > -have ${__grub_mkfont_program} && \ > - complete -F _grub_mkfont -o filenames ${__grub_mkfont_program} > -unset __grub_mkfont_program > +complete -F _grub_mkfont -o filenames @grub_mkfont@ > > > # > @@ -357,10 +331,7 @@ _grub_mkrescue () { > _filedir > fi > } > -__grub_mkrescue_program="@grub_mkrescue@" > -have ${__grub_mkrescue_program} && \ > - complete -F _grub_mkrescue -o filenames ${__grub_mkrescue_program} > -unset __grub_mkrescue_program > +complete -F _grub_mkrescue -o filenames @grub_mkrescue@ > > > # > @@ -399,10 +370,7 @@ _grub_mkimage () { > _filedir > fi > } > -__grub_mkimage_program="@grub_mkimage@" > -have ${__grub_mkimage_program} && \ > - complete -F _grub_mkimage -o filenames ${__grub_mkimage_program} > -unset __grub_mkimage_program > +complete -F _grub_mkimage -o filenames @grub_mkimage@ > > > # > @@ -421,10 +389,7 @@ _grub_mkpasswd_pbkdf2 () { > _filedir > fi > } > -__grub_mkpasswd_pbkdf2_program="@grub_mkpasswd_pbkdf2@" > -have ${__grub_mkpasswd_pbkdf2_program} && \ > - complete -F _grub_mkpasswd_pbkdf2 -o filenames > ${__grub_mkpasswd_pbkdf2_program} > -unset __grub_mkpasswd_pbkdf2_program > +complete -F _grub_mkpasswd_pbkdf2 -o filenames @grub_mkpasswd_pbkdf2@ > > > # > @@ -459,10 +424,7 @@ _grub_probe () { > _filedir > fi > } > -__grub_probe_program="@grub_probe@" > -have ${__grub_probe_program} && \ > - complete -F _grub_probe -o filenames ${__grub_probe_program} > -unset __grub_probe_program > +complete -F _grub_probe -o filenames @grub_probe@ > > > # > @@ -481,9 +443,7 @@ _grub_script_check () { > _filedir > fi > } > -__grub_script_check_program="@grub_script_check@" > -have ${__grub_script_check_program} && \ > - complete -F _grub_script_check -o filenames ${__grub_script_check_program} > +complete -F _grub_script_check -o filenames @grub_script_check@ > > > # Local variables: _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel