[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