Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Nov 2003 20:40:28 +0100
From:      Jean-Baptiste Quenot <jb.quenot@caraldi.com>
To:        freebsd-ports <ports@freebsd.org>
Subject:   Re: FreeBSD Bash Completion port
Message-ID:  <20031106194026.GA43574@watt.intra.caraldi.com>
In-Reply-To: <87y8utiaaa.fsf@strauser.com>
References:  <20031106183133.GA42273@watt.intra.caraldi.com> <87y8utiaaa.fsf@strauser.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--/04w6evG8XlLl3ft
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

* Kirk Strauser:

> At 2003-11-06T18:31:35Z,  Jean-Baptiste Quenot <jb.quenot@caraldi.com>
> writes:
>
> > Thank  you for  maintaining the  bash completion  port for  FreeBSD.
> > I  just  wanted   to  report  that  textproc/gsed   is  required  by
> > bash-completion.
>
> With  all respect,  I've  been using  bash-completion  on FreeBSD  for
> months before  I packaged  it, and I  did not (and  do not)  have gsed
> installed.

You may not be using all completions then.

> > If  you look  at the  bash_completion script,  you will  notice that
> > line:
> >
> > $ grep  gsed /usr/local/etc/bash_completion [  $UNAME !=3D Linux  ] &&
> > have gsed && alias sed=3Dgsed
>
> Note  the "&&  have gsed".   The  alias is  only executed  if gsed  is
> present on the system.

This  is the  only  solution we  found  acceptable when  Ian  M. and  me
discussed about that problem.

> The comment immediately above that line says:
>
>     # use GNU sed  if we have it, since its  extensions are still used
>     in our code
>
> which leads me to believe that either:
>
>   1)  FreeBSD implemented  work-alikes of  the GNU  extensions, or  2)
>   bash-completion was reworked to not require them.

Bash Completion uses GNU extensions that FreeBSD sed does not have.  GNU
sed and BSD sed are very different, and incompatible.

> > Because Bash Completion  is maintained on a Linux  platform, the sed
> > invocations fail completely on FreeBSD.
>
> Could you give a concrete example?

Try killall  <Tab><Tab> you  won't have  any completion.   Install gsed,
source bash_completion  again and you  will have  a list of  all process
names as completions for killall.   Without gsed, screen completion does
not work either.  There  are plenty of examples, it is  just too long to
try and list them.

> > So to sum up, bash completion is only useful if gsed is installed.
>
> I must  politely disagree.  Again,  I do  not have gsed  installed and
> bash-completion works as  documented, at least for  the functions I've
> used it for.

Again,  you may  be using  a relatively  small subset  of the  available
features, which is perfectly fine.  But many completions are broken.

> Are you seeing specific failures?  I'd be more than happy to work with
> you to troubleshoot any problems as best as I can.

We  could  patch  all  sed  invocations,  but  this  is  overkill.   The
bash_completion script  changes very  often so  it may  not be  the best
option.

Best regards,
--=20
Jean-Baptiste Quenot
http://caraldi.com/jbq/

--/04w6evG8XlLl3ft
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQE/qqOq9xx3BCMc9gsRAvCZAJ9yWtxnICtb+cuTdXg2NlNcx2jPkACfeeM9
db5dEKF02dwZrqd8MUjEww4=
=5mx8
-----END PGP SIGNATURE-----

--/04w6evG8XlLl3ft--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031106194026.GA43574>