Bug#988527: Reproducing 988527: scilab: unbound variable in /usr/share/bash-completion/completions/scilab

Christoph Anton Mitterer calestyo at scientia.org
Mon May 22 02:52:56 BST 2023


Hey Pierre.

On Sun, 2023-05-21 at 14:23 +0200, Pierre Gruet wrote:
> Could you please tell me if the issue is still showing up in the 
> currently packaged version, and if so, can you please give me the
> steps 
> to reproduce it?

I've just tried and the outcome is a bit odd:

While I don't get the error anymore, with set -u in place, the only use
of the variable:
https://salsa.debian.org/science-team/scilab/-/blob/09ef844d98df2d4967a465ecd9d175c39893948b/debian/bash_completion.d/scilab#L52

should in principle still fail if it's not set (i.e. it uses just
$filename and not something like ${filename-}  ... which would
initialise it to empty if unset.

That would mean that something else from bash_completion already sets
it now.

But, if I add the following in the completion file:
  set >> /tmp/foobar

before the
  complete -F _scilab $filenames scilab scilab-cli scilab-adv-cli

and then cause some completion (otherwise it won't execute the file)...
/tmp/foobar does not show that filenames would be set...
Even more weird... in principle it should still fail.



But apart from that... I don't even see the reason why the variable is
there at all (in the completion).
Because AFAIU in:
complete -F _scilab $filenames scilab scilab-cli scilab-adv-cli

the "$filenames scilab scilab-cli scilab-adv-cli" are the "name..."
argument(s) to complete and -F _scilab is the function executed when
any of the name(s) is completed.

Then it wouldn't make sense to have $filenames in the list.


Maybe -o filenames (no $) was meant?


Cheers,
Chris.



More information about the debian-science-maintainers mailing list