From 87edc3389753b7518361a68d342c10efd4a8b78d Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Tue, 9 Mar 2010 21:18:03 +0100 Subject: [PATCH] Minor cleanup before release. --- README | 51 ++++++++++++++++++++++++-------------------------- TODO | 3 ++- doc/README | 4 ++-- src/editline.c | 12 +++++------- 4 files changed, 33 insertions(+), 37 deletions(-) diff --git a/README b/README index a56042d..ed09312 100644 --- a/README +++ b/README @@ -1,39 +1,36 @@ README -*-text-*- -This is a line-editing library. It can be linked into almost any program to -provide command-line editing and history. +This is a line editing library. It can be linked into almost any program to provide +command-line editing and history. -It is call-compatible with the FSF readline library, but it is a fraction of -the size (and offers fewer features). It does not use standard I/O. It is -distributed under a "C News-like" copyright, see the file LICENSE for -details. +It is call-compatible with the FSF readline library, but it is a fraction of the size +(and offers fewer features). It does not use standard I/O. It is distributed under +a "C News-like" copyright, see the file LICENSE for details. -Configuration is made by supplying different options to the GNU configure -script. In the examples/ directory you can find a couple of small & slow -shell implementations used for testing. +Configuration is made by supplying different options to the GNU configure script. In +the examples/ directory you can find a couple of small & slow shell implementations +used for testing. -Before finding out about the Debian version I was on the lookout for a -really small replacement for the GNU readline package. Not only was it large -and GPL:ed (instead of LGPL:ed), it also depended on libncurses, so the -resulting size was a bit too much for my embedded system. I eventually -stubmled upon the BSD libedit library, which was sufficient for a while, -even though it too depended upon libncurses. I searched my soul and went -back to where I, back in 1996, started out -- Minix. And there it was, a -really small readline replacement! +Before finding out about the Debian version I was on the lookout for a really small +replacement for the GNU readline package. Not only was it large and GPL:ed (instead +of LGPL:ed), it also depends on libncurses, so the resulting size was a bit too much +for my embedded system. I eventually stubmled upon the BSD libedit library, which +was sufficient for a while, even though it too depends on libncurses. I searched my +soul and went back to where I, back in 1996, started out -- Minix. And there it was, +a really small readline replacement! -In 2000 Jim Studt packaged libeditline for Debian[1], the exact origin of -the Debian code base is unclear, see the Sid package[2] for details. There -were some notable differences between that version and the upstream Minix -sources, all of which have now been merged here. +In 2000 Jim Studt packaged libeditline for Debian[1], the exact origin of the Debian +code base is unclear, see the Sid package[2] for details. There were some notable +differences between that version and the upstream Minix sources, all of which have +now been merged here. -An explanation of the version numbering may be in order. I didn't know -about the Debian version for quite some time, so I kept a different name for -the package and a different versioning scheme. Now, in June 2009, I decided -to line up alongside Debian, with the intent of merging the efforts. Sorry -for any confusion this might cause. +An explanation of the version numbering may be in order. I didn't know about the +Debian version for quite some time, so I kept a different name for the package and a +different versioning scheme. In June 2009, I decided to line up alongside Debian, +with the intent of merging the efforts. Sorry for any confusion this might cause. Enjoy, - Joachim Nilsson + Joachim Nilsson [1] - http://lists.debian.org/debian-devel/2000/05/msg00548.html [2] - http://packages.debian.org/sid/libeditline0 diff --git a/TODO b/TODO index f9d619c..6e1a569 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,6 @@ TODO -* Add --enable-FEATURE for features defined in Makefile-minix.in +* Add --enable-FEATURE for remaining features defined in Makefile-minix.in +* Add support for rl_bind_key(), currently one needs to "hack" the Map[] * Add support for inhibiting completion: rl_inhibit_completion diff --git a/doc/README b/doc/README index a346987..c2d987f 100755 --- a/doc/README +++ b/doc/README @@ -22,7 +22,7 @@ a small slow shell for testing. An earlier version was distributed with Byron's rc. Principal changes over that version include: Faster. - Is eight-bit clean (thanks to brendan@cs.widener.edu) + Is eight-bit clean (thanks to brendan()cs!widener!edu) Written in K&R C, but ANSI compliant (gcc all warnings) Propagates EOF properly; rc trip test now passes Doesn't need or use or provide memmove. @@ -44,7 +44,7 @@ There is one known bug: Enjoy, Rich $alz - + Copyright 1992,1993 Simmule Turner and Rich Salz. All rights reserved. diff --git a/src/editline.c b/src/editline.c index 09b35f0..c030bdc 100755 --- a/src/editline.c +++ b/src/editline.c @@ -20,8 +20,6 @@ #define META(x) ((x) | 0x80) #define ISMETA(x) ((x) & 0x80) #define UNMETA(x) ((x) & 0x7F) -#define MAPSIZE 33 -#define METAMAPSIZE 17 #if !defined(HIST_SIZE) #define HIST_SIZE 20 #endif /* !defined(HIST_SIZE) */ @@ -86,8 +84,8 @@ static int Point; static int PushBack; static int Pushed; static int Signal; -static el_keymap_t Map[MAPSIZE]; -static el_keymap_t MetaMap[METAMAPSIZE]; +static el_keymap_t Map[]; +static el_keymap_t MetaMap[]; static SIZE_T Length; static SIZE_T ScreenCount; static SIZE_T ScreenSize; @@ -1018,7 +1016,7 @@ char *readline(const char *prompt) int s; /* Unless called by the user already. */ - rl_initialize (); + rl_initialize(); if (!isatty(0)) { tty_flush(); @@ -1401,7 +1399,7 @@ static el_status_t last_argument(void) return s; } -static el_keymap_t Map[33] = { +static el_keymap_t Map[] = { { CTL('@'), mk_set }, { CTL('A'), beg_line }, { CTL('B'), bk_char }, @@ -1435,7 +1433,7 @@ static el_keymap_t Map[33] = { { 0, NULL } }; -static el_keymap_t MetaMap[17]= { +static el_keymap_t MetaMap[]= { { CTL('H'), wipe }, { DEL, wipe }, { ' ', mk_set },