Chet, I'm not familiar with the complete function. I did execute complete -pr and found the following line:
complete -o nospace -F _cd cd I never looked into what the rule does (perhaps this is something that gets setup by Cygwin and not a bash default?), but I did conjecture that I was having a name collision problem. I changed my function _cd to __cd, and now tab completion works as it did before. Seems _cd is being defined in /etc/bash_completion so my _cd was trashing this function and causing auto-complete weirdness. Mark -----Original Message----- From: Chet Ramey [mailto:chet.ra...@case.edu] Sent: Wednesday, July 17, 2013 8:07 AM To: Mark W. Johnson Cc: bug-bash@gnu.org; chet.ra...@case.edu Subject: Re: cd completion using aliased cd command On 7/16/13 5:04 PM, Mark W. Johnson wrote: > From: mwjohnso > To: bug-bash@gnu.org > Subject: cd completion using aliased cd command > > Configuration Information [Automatically generated, do not change]: > Machine: i686 > OS: cygwin > Compiler: gcc-4 > Compilation CFLAGS: -DPROGRAM='bash.exe' -DCONF_HOSTTYPE='i686' > -DCONF_OSTYPE='cygwin' -DCONF_MACHTYPE='i686-pc-cygwin' -DCONF_VENDOR='pc' > -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H > -DRECYCLES_PIDS -I. -I/usr/src/bash-4.1.10-4/src/bash-4.1 > -I/usr/src/bash-4.1.10-4/src/bash-4.1/include > -I/usr/src/bash-4.1.10-4/src/bash-4.1/lib -I/usr/include/ncursesw -g -O2 > -pipe > uname output: CYGWIN_NT-6.1 PC0009233 1.7.21(0.267/5/3) 2013-07-15 > 12:17 i686 Cygwin Machine Type: i686-pc-cygwin > > Bash Version: 4.1 > Patch Level: 10 > Release Status: release > > Description: > > I've just now updated my cygwin and now the tab completion for > cd gives me: > > bash: cd: cd: No such file or directory > bash: [: too many arguments > bash: cd: cd: No such file or directory > > I've simplified the flow to the below. If I try to tab > complete on _cd <tab-complete> all works OK. Seems to have > something to do with tab completion using the alias of cd. > I've been using similar code for nearly 20 years all the way > back to ksh, with never a problem until now. > > > Repeat-By: > > alias cd=_cd > function cd { \cd "$@"; } > > cd <tab-complete> > > I get the message: > > bash: cd: cd: No such file or directory > bash: [: too many arguments > bash: cd: cd: No such file or directory It would help if you included the completion spec you're using for cd, or maybe enabled `set -x' before trying tab completion. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/ This message (including any attachments) is intended only for the use of the individual or entity to which it is addressed and may contain information that is non-public, proprietary, privileged, confidential, and exempt from disclosure under applicable law or may constitute as attorney work product. If you are not the intended recipient, you are hereby notified that any use, dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, notify us immediately by telephone and destroy this message if a facsimile or (ii) delete this message immediately if this is an electronic communication. Thank you.