-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Il 30/01/2013 15:06, Marc Khouzam ha scritto: > [...] >> I will try to update the patch, with your latest suggestions (avoid >> tricky POSIX shell syntax, and CDPATH issue - if I remember >> correctly), >> and with an update for the t/t9902-completion.sh test (that I >> completely >> missed). > > Hi Manlio, > Hi. > I'm trying to update git-completion.tcsh to work properly with > your nice new completion feature. But I'm having trouble with > the missing '/' at the end of directories. > > The new logic in git-completion.bash tells bash that 'filenames' > completion is ongoing so bash will add a '/' after directories. > Sadly, tcsh won't do that, so it would be simpler if > git-completion.bash added the '/' itself. I looked at the > git-completion.bash script changes and I noticed that for > bash version < 4, you have to add the '/' yourself. The compatible version is not only required for Bash; you can use it for other shells. Try to redefine the __git_index_file_list_filter function to use the version that adds a slash to directory names. > I also noticed the following comment: > > # XXX if we append a slash to directory names when using > # `compopt -o filenames`, Bash will append another slash. > # This is pretty stupid, and this the reason why we have to > # define a compatible version for this function. > > So I gather you would rather add a '/' all the time to deal > with older bash version transparently. This would be great > for tcsh also. I'm trying to figure out > when bash mis-behaves when you add the '/' all the time? > When I try it (I have bash 4.1.5(1)-release) I didn't run > into the double slash problem you mention in the comment. > I'm using the same version: 4.1.5(1), on Debian stable. > I'm hoping we can straighten this out and have > git-completion.bash add the '/' all the time. > > Could you explain when the problem happens? > Bash 4.1.5(1) always adds an additional slash for directories. I have tested it right now: change the filter function to use the compatible version: __git_index_file_list_filter () { # Default to Bash >= 4.x __git_index_file_list_filter_compat } Then running `git add <TAB>` inside the git repository, I get this file completion list: $ git add <TAB> contrib// > Thanks > Thanks to you Manlio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlEJZUMACgkQscQJ24LbaUQUGACgkMG/bZrJKBzlZ8toEQwmggQX m9kAn2ATJbSp87kOkoCCc00eHmh71r3y =D9iu -----END PGP SIGNATURE----- -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html