Much ado about libedit [Re: Alternatives to gcc (was Re: gcc
4.3: when will it becomestandard compiler?)]
oz at nixil.net
Mon Feb 2 10:04:49 PST 2009
Garrett Cooper wrote:
> On Feb 1, 2009, at 1:01 AM, Stefan Farfeleder wrote:
>> On Sun, Feb 01, 2009 at 12:55:20PM +1300, James Butler wrote:
>>> 2009/2/1 Mark Linimon <linimon at lonesome.com>:
>>>> On Sat, Jan 31, 2009 at 01:08:54PM -0800, Pedro F. Giffuni wrote:
>>>>> The effort didn't go far enough. Why haven't we removed GNU readline ?
>>>> Probably either because someone hasn't written a BSD-licensed one, or
>>>> someone hasn't done the work to test-compile src and ports on all the
>>>> appropriate architectures.
>>> This might be off topic, but NetBSD has (limited) readline
>>> compatibility in their libedit (which FreeBSD has in ports I think) -
>>> this also gives them tab-completion in /bin/sh :-)
>> I once posted a patch which ports it to FreeBSD. It would need a lot of
>> work to fix all ports though.
> libedit isn't feature complete with GNU readline and many things
> will fail to compile with NetBSD's rip on readline. Believe me -- I
> tried with python -_-...
> Then again at least you can make GNU readline into a port for things
> that need it (like Python's readline module).
> And yes, we do already have libedit in the base source tree under
> lib/libedit -- it's just extremely outdated (hence libreadline isn't
> available after compiling libedit).
Actually your a bit wrong here. I submitted a patch to current around 2005
to get libedit upgraded to the latest NetBSD version. The version in the
FreeBSD 4.x tree was an ancient version that was incompatible with most programs
that attempted to use it (ie.. ssh). Stefan Farfeleder was kind enough to
port those patches into something usable in the base system. The 6.x tree
contains those updates. This porting from NetBSD happens periodically as
bugs and or an itch needing to be scratched happens to prompt it. As to why
the readline compatibility shims are removed from the base libedit.. well
I suspect that it's that way to prevent the readline in base and or ports
from being ignored and misconfigured, AND those programs that can use
libedit's native API are configured to use it and not readline.
More information about the freebsd-current