The 'set +v' is ok.
The command block following it is not.
The problem is caused by the handling of read-only variables in 
/etc/bash-completion:

  {
    # These declarations must go within braces in order to be able to silence
    # readonly variable errors.
    BASH_COMPLETION="${BASH_COMPLETION:-/etc/bash_completion}"
    BASH_COMPLETION_DIR="${BASH_COMPLETION_DIR:=/etc/bash_completion.d}"
  } 2>/dev/null || :
  readonly BASH_COMPLETION BASH_COMPLETION_DIR

Bash will terminate immediately at assignment BASH_COMPLETION=... if the
corresponding variable is read-only. Putting declarations in braces does not 
help.
I would suggest the following approach instead:

  readonly 2>/dev/null \
    BASH_COMPLETION="${BASH_COMPLETION:-/etc/bash_completion}" \
    BASH_COMPLETION_DIR="${BASH_COMPLETION_DIR:=/etc/bash_completion.d}"

It works as expected on gutsy. Patch attached.


** Attachment added: "bash_completion.diff"
   http://launchpadlibrarian.net/10770174/bash_completion.diff

-- 
bash_completion erroneously returns
https://bugs.launchpad.net/bugs/164440
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to