I recently started using the bash-completions package, and I've got a
couple of questions about it.

First, it appears that the daemonic package depends on bash-completions;
this is presumably why fink installed the bash-completions package.  I
certainly didn't explicitly ask for bash-completions.  Now,
"dpkg -L daemonic" explains why this dependency exists; daemonic puts a file
in /sw/etc/bash_completion.d and thus needs that directory to exist.  But
is this the best way to do this?  In my case, an update to daemonic (which
is a package I never use directly but only have installed because of
dependencies from, e.g., svn) caused bash-completions to be installed, and
this changed the behavior I see at the command-line in interactive shells
in suboptimal ways (see second question below).  I'm not thrilled with the
idea that package updates can have such drastic effects on seemingly
unrelated parts of the system.

Second, and more importantly, bash-completion's behavior for svn is not, I
think, the correct one.  It tab-completes the svn command names correctly,
but not their filename arguments.  Specifically, if I type
    svn up wo<TAB>
at the bash prompt, I expect it to complete to
    svn up work/
with the trailing slash and no space after it.  But I actually get
    svn up work
without the trailing slash and with a space after "work".  This means that
I can't do the standard thing of typing
    wo<TAB>cob<TAB>the<TAB>the<TAB>
to get work/cobbe/thesis/thesis.tex, which is a pain.

It *looks* like changing line 9099 of /sw/etc/bash_completion to read
    complete -F _svn $filenames svn
gives the desired behavior.  (This bug, if bug it is, seems to come from
upstream.)  At the very least, I typed
    complete -F _svn -o filenames svn
at the prompt, and now I have the right behavior, in at least the few
cases I tried.

I'm not very familiar with bash's programmable completion, and I'm
specifically a little unclear on the difference between "-o filenames" and
"-o dirnames".  Is "-o filenames" in fact correct here?  (Those are English
quotes, not Bash quotes.)

System details:

[ridcully:~]$ fink -V
Package manager version: 0.28.0
Distribution version: selfupdate-rsync Sat Jan 26 15:41:34 2008, 10.4, powerpc

I'm tracking fink unstable; OS X 10.4.11 with all updates.

I'm using Apple's /bin/bash, version 2.05b.  (I would have tried it with
Fink's, but I would have needed to restructure my shell config files, and
that's more effort than I can put into this right now.)

Thanks,

Richard

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Fink-users mailing list
Fink-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to