Gentoo Archives: gentoo-dev

From: Samuli Suominen <ssuominen@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] bash-completion-2.1-r1
Date: Mon, 09 Sep 2013 09:51:52
Message-Id: 522D99CB.2050903@gentoo.org
In Reply to: [gentoo-dev] bash-completion-2.1-r1 by "Michał Górny"
1 On 09/09/13 12:24, Michał Górny wrote:
2 > Hello, all.
3 >
4 > I'd like to ask finally: who feels himself responsible for deploying
5 > bashcomp-2.1-r1? Does he have any kind of plan? Does anyone care at
6 > all?
7
8 2.1-r1 works great here and I don't see any other work left than maybe a
9 wiki page for instructing people howto use `complete` like `complete -r`
10 to remove unwanted completions that cause grief in the way people want
11 to use the command
12 and you don't need to disable completions to get the filename instead,
13 bash-completion supports... (from README, first entry in FAQ)
14
15 Q. The bash completion code inhibits some commands from completing on
16 files with extensions that are legitimate in my environment. Do I
17 have to disable completion for that command in order to complete on
18 the files that I need to?
19
20 A. No. Use M-/ to (in the words of the man page) attempt file name
21 completion on the text to the left of the cursor. This will
22 circumvent any file type restrictions put in place by the bash
23 completion code.
24
25 > Do I have to say it's pretty far from professional to commit it
26 > half-working, with no clear information how to proceed, neither for
27 > users nor for developers? As far as I can see, there were mostly either
28 > random patches or random bugs, with no clear generic guidelines.
29 >
30 > I have enough projects on my back but I guess I'll end up carrying this
31 > mess if nobody bothers to do so.
32 >
33 >
34 > For future reference, I so far know the following:
35 >
36 > 1. bash supports two directories for completions: completionsdir
37 > (/usr/.../completions) and compatdir (/etc). gentoo added a third
38 > directory that i will call gentoodir (/usr/.../bash-completion).
39 >
40 > 2. bash sources all files in compatdir (at start?).
41 >
42 > 3. eselect used to symlink stuff from $gentoodir to $compatdir to
43 > enable completions. therefore, all enabled stuff polluted
44 > the environment all the time.
45 >
46 > 4. files in completionsdir are sourced when command matching filename
47 > is typed in. that is 'foo <tab>' -> "$completionsdir/foo" is sourced.
48 >
49 > 5. in order for completionsdir to work,
50 > /usr/share/bash-completion/bash_completion must be sourced first.
51 > (is this just me? is this something to be done in global bashrc?)
52
53 yes, that's the way to enable bash completion support per user just like
54 documented in top of README
55
56 > Aside to the above, what needs to be answered:
57 >
58 > 1. how to properly disable completions the 'new way'?
59
60 something like
61 http://blog.onetechnical.com/2012/06/19/disable-bash-autocompletion-on-ubunt/
62 should be replicated at wiki.gentoo.org
63
64 >
65 > 2. do we want to support adding stuff to $compatdir?
66
67 why not, does something need this?
68
69 > what do we do with completions that don't fit $completionsdir?
70
71 like? some old format of bash completion files that don't work if not
72 sourced directly?
73 should be treated like other bugs, ie. treat it as a bug, report
74 upstream of the file, patch the file
75 if not possible, put them in the compatdir?
76
77 didn't tackle the compatdir issue yet because nothing obvious needed it,
78 surely adding extra eclass code is on need-basis... :/
79
80 > 3. how do we handle completion 'dependencies'? the 'old way' just
81 > relied on them being sourced from $compatdir early. do we source them
82 > explicitly now? do we put them in $compatdir unconditionally?
83
84 > 4. do we want to maintain eselect for bash completions? do we want it
85 > to handle disabling and 'enabling' completions the 'new way'?
86
87 eselect module seems unnecessary, when you can disable them using
88 `complete` and the list of completions you get by `ls` :P
89 but like I said before, it's still doable if someone wants to add
90 another layer, I just don't see any value in that...
91
92 so seems like people who claim 2.1-r1 is somehow broken or half-working
93 didn't read README, and insist on ready wiki page also for ~arch users?

Replies

Subject Author
Re: [gentoo-dev] bash-completion-2.1-r1 "Michał Górny" <mgorny@g.o>