(I'm not sure if this is the right category or even if this is relevant to Gentoo, don't hesitate to correct me) When using the following directory layout: tabs$ ls -Rl .: total 0 drwxr-xr-x 3 aquila users 96 Apr 20 10:52 test lrwxrwxrwx 1 aquila users 10 Apr 20 10:52 test2 -> test/test2 ./test: total 0 -rw-r--r-- 1 aquila users 0 Apr 20 10:52 intest drwxr-xr-x 2 aquila users 48 Apr 20 10:52 test2 ./test/test2: total 0 Tab-completion on e.g. ls, touch, ... will give the wrong results in test2 because it thinks the root directory of test2 is tabs instead of test Reproducible: Always Steps to Reproduce: 1. cd test2 2. type ls ../ 3. hit <tab> Actual Results: the tab completion results include test Expected Results: it should show only test2, the parent directory of test2 is test and not the parent directory of the symlink $ emerge info Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4. 20041102-r1, 2.6.11-gentoo-r4n i686) ================================================================= System uname: 2.6.11-gentoo-r4n i686 Intel(R) Pentium(R) 4 CPU 2.60GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 8 2005, 08:23:22) ] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/ share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb / usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/ share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/ http://ftp.belnet.be/ mirror/rsync.gentoo.org/gentoo/ http://ftp.gentoo.skynet.be/pub/gentoo/ http:// www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://ftp.snt.utwente.nl/pub/os/ linux/gentoo" LINGUAS="nl" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.be.gentoo.org/gentoo-portage" USE="x86 X acpi acpi4linux activefilter alsa apache2 apm avi bash-completion berkdb bitmap-fonts crypt cups curl dvd emboss encode esd fam foomaticdb fortran gd gdbm gif gpm gtk gtk2 imagemagick imlib ipv6 java jpeg junit kde libg++ libwwwmad mikmod mmx motif mp3 mpeg mysql ncurses nls nptl nptlonly ogg oggvorbis opengl oss pam pda pdflib perl png postgres python qt quicktime radeon readline ruby sdl softmmu spell ssl svga tcpd tetex tiff truetype truetype-fonts type1-fontsvorbis xml2 xmms xv zlib video_cards_radeon linguas_nl" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
This has nothing to do with bash completion but rather whether or not the bash 'physical' option is set (via the set builtin). Read the description of 'set -P' in your bash manual page and you will understand. Cheers.