Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jul 2002 10:14:02 +1000
From:      Tim Robbins <tjr@FreeBSD.ORG>
To:        Jon Mini <baka@elvis.mu.org>
Cc:        cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG
Subject:   Re: cvs commit: src/bin/sh sh.1
Message-ID:  <20020722101402.A61422@dilbert.robbins.dropbear.id.au>
In-Reply-To: <20020721182928.GJ31134@elvis.mu.org>; from baka@elvis.mu.org on Sun, Jul 21, 2002 at 11:29:28AM -0700
References:  <20020721180547.A29241@dilbert.robbins.dropbear.id.au> <20020721203021.D19918-100000@gamplex.bde.org> <20020721182928.GJ31134@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jul 21, 2002 at 11:29:28AM -0700, Jon Mini wrote:

> On Sun, Jul 21, 2002 at 08:43:56PM +1000, Bruce Evans wrote:
> > Right.  I have tried removing those things before, and nothing except them
> > has made a very large difference for many years.  libedit doesn't seem to
> > be very well engineered (it seems to cause more bloat than libreadline
> > despite being much smaller and doing less), but the getpwnam() bloat is
> > much larger and harder to fix.
> 
> I have long contended that the only thing keeping me from using sh as my
> login shell full-time is one feature that libreadline has but libedit
> lacks (^R -> reverse incremental history search).

libedit actually does have this feature, but our sh(1) lacks a command
to change the bindings. If you add this to builtins.def:
	bindcmd		bind
then put this in histedit.c:
	int
	bindcmd(int argc, char **argv)
	{

		return (el_parse(el, argc, argv));
	}

You can then type:
	set -o emacs
	bind ^R em-inc-search-prev

This hack isn't entirely correct, it will just segfault if you try to use
the `bind' command when line editing is disabled. editrc(5) documents how
the bind command works.


Tim

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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