When running in posix mode (for example, because it was invoked as `sh`,
or with the --posix option), bash rejects the function names previously
used because they contain hyphens, which are not legal POSIX names, and
exits immediately.
This is a particularly serious problem on a system in which the
following three conditions hold:
1. The `sh` executable is provided by bash, e. g. via a symlink
2. Gnome Display Manager is used to launch X sessions
3. Bash completion is loaded in the (system or user) profile file
instead of in the bashrc file
In that case, GDM's Xsession script (run with `sh`, i. e., bash in posix
mode) sources the profile files, thus causing the shell to load the bash
completion files. Upon encountering the non-POSIX-compliant function
names, bash would then exit, immediately ending the X session.
Fixes #521.
Signed-off-by:
Lucas Werkmeister <mail@lucaswerkmeister.de>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| apparmor | Loading commit data... | |
| bash | Loading commit data... | |
| etc | Loading commit data... | |
| init | Loading commit data... | |
| selinux | Loading commit data... | |
| sysconfig | Loading commit data... | |
| templates | Loading commit data... | |
| yum | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| acinclude.m4 | Loading commit data... | |
| tls.m4 | Loading commit data... |