[Bash-completion-devel] Bug#741657: /etc/profile.d/bash_completion.sh: non portable return from a dot script

G.raud graud at gmx.com
Sat Mar 15 01:46:13 UTC 2014


Package: bash-completion
Version: 1:2.1-2
Severity: normal

Calling return to stop processing a dot script is not portable to the
Heirloom Bourne Shell (http://heirloom.sourceforge.net/sh.html) which
stops processing the script as wanted but which prints a spurious
"cannot return when not in function".  To test:

    argv0 /usr/local/5bin/sh -sh

/etc/profile.d/bash_completion.sh can be easily made not to call return
by wrapping it in an if fi:

    if [ -n "$BASH_VERSION" ] && [ -n "$PS1" ] && [ -z "$BASH_COMPLETION_COMPAT_DIR" ]; then
	  'script'
	fi

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (800, 'unstable'), (500, 'oldstable-updates'), (500, 'testing'), (500, 'stable'), (10, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages bash-completion depends on:
ii  bash  4.2+dfsg-1
ii  dpkg  1.17.6

bash-completion recommends no packages.

bash-completion suggests no packages.

-- no debconf information



More information about the Bash-completion-devel mailing list