After upgrading from bash-2.0X (which didn't have this problem), bash now autocompletes local directories even if the line doesn't start with an executable for example (if I remember correctly, bash-2.0X would only complete a directory name if the line started with something else or if you started the line with /, that is if you speciffied the full path). This wouldn't be a problem if it weren't for the fact that bash autocompletes local directories with the same name as an executable found in path instead of autocompleting the name of the said executable. Let me give you an example since it's more suggestive. Reproducible: Always Steps to Reproduce: (assuming you have mplayer installed; if not substitute mplayer for another executable) 1. mkdir mplayer 2. mpla<TAB> 3. Actual Results: mplayer/ (note the slash) Expected Results: mplayer (without slash) It isn't logical to complete mplayer/ before mplayer since the former has an extra character in the name (/). Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.5-r1, 2.6.11-gentoo-r5 i686) ================================================================= System uname: 2.6.11-gentoo-r5 i686 AMD Athlon(tm) XP 1800+ Gentoo Base System version 1.4.16 dev-lang/python: 2.3.4-r1 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.roedu.net/pub/mirrors/gentoo.org http://gentoo.oregonstate.edu" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync2.ro.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext X aalib alsa apm avi bitmap-fonts cdr crypt cups curl eds emboss encode faac faad fam flac foomaticdb fortran gd geoip gif gphoto2 gpm gstreamer gtk2 guile imlib imlib2 jikes jpeg lcms libcaca libwww lzo mad matroska mikmod mmx mmx2 mmxext mng motif mp3 mpeg mysql ncurses network nls no_wxgtk1 ogg oggvorbis opengl pam png postgres python quicktime readline rtc ruby sdl slang spell sse ssl tcpd tga theora tiff truetype truetype-fonts type1-fonts vorbis xchatdccserver xml2 xmms xprint xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS
Please retest on a newer bash and report back.
Seem to be OK now. Tested with bash-3.2_p17-r1