On 2025-08-19 02:30:22 +0200, Vincent Lefevre wrote:
> I've posted to the zsh-workers list:
> 
>   https://www.zsh.org/mla/workers/2025/msg00530.html
> 
> Bart Schaefer suggested to call _bash_complete. The following solves
> the above issue.
> 
> #compdef qpdf
> eval $(/usr/bin/qpdf --completion-zsh)
> _bash_complete
> 
> However, whether _bash_complete is present or not, the eval evaluates
> 
> autoload -U +X bashcompinit && bashcompinit && complete -o bashdefault -o 
> default -C "/usr/bin/qpdf" qpdf
> 
> so that compdump writes to the .zcompdump file:
> 
> 'qpdf' '_bash_complete -o bashdefault -o default -C /usr/bin/qpdf'
> 
> while _bash_complete is not available by default.

I'm quite sure that the compdump issue is a bug on the _bash_complete
side. Moreover, the complete function (defined in bashcompinit) is
likely to clash with the name of a user-defined function, and I think
that a _bash_ prefix should be used for all function names related to
bashcompinit / _bash_complete. I've posted detailed there:

  https://www.zsh.org/mla/workers/2025/msg00542.html

_bash_complete could probably be added now as suggested above.

But qpdf may need another change for the issue with the function
name: libqpdf/QPDFArgParser.cc contains

    std::cout << "complete -o bashdefault -o default";

for both bash and zsh. I suppose that this will have to be changed for
zsh.

-- 
Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

Reply via email to