[Bash-completion-devel] Bug#668265: Bug#668265: Enabling 'set -e' in the shell causes bash-completion to terminate the shell.

Igor Murzov intergalactic.anonymous at gmail.com
Wed Apr 18 23:05:17 UTC 2012


On Tue, 10 Apr 2012 11:28:23 +0100
Shalom Bhooshi <s.bhooshi at gmail.com> wrote:

> Package: bash-completion
> Version:    1:1.99-3
> 
> 
> BEHAVIOUR
> Enabling 'set -e' in the bash shell (either explicitly or via a script
> sourced into the shell) causes bash-completion to terminate the
> interactive shell in an unexpected fashion. This is probably because
> the auto-completion functions throw an error that is not handled and
> the 'set -e' which is inherited from the shell by those functions
> causes the shell's process to exit immediately - as opposed to the
> functions exiting immediately i.e. a failure in the auto-completion
> functions (wrongly) affects parent shell.
> 
> REPRODUCTION
> Enable `set -e` and then attempt to tab complete for some arbitrary
> command that has no tab-complete functionality e.g.

`set -e` is not meant to be used in interactive shell. If you enable it,
you should expect termination at any time. I know that making
bash-completion to work correctly with `set -e` is doable, but this
requires a lot of work and I personally don't think it's worth it.


> SIMILAR BUGS
> Bug #666933 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666933)
> is a similar bug.

That bug is not similar to this one in any sense.

> $ dpkg -l | grep -i bash
> ii  bash                                       4.2-1      GNU Bourne Again SHell
> ii  bash-builtins                            4.2-1      Bash loadable
> builtins - headers & examples
> ii  bash-completion                      1:1.99-3  programmable
> completion for the bash shell
> ii  bash-doc                                 4.2-1      Documentation
> and examples for the The GNU Bourne Again SHell
> 
> 
> $ lsb_release -a
> No LSB modules are available.
> Distributor ID: Debian
> Description:    Debian GNU/Linux testing (wheezy)
> Release:        testing
> Codename:       wheezy





More information about the Bash-completion-devel mailing list