summaryrefslogtreecommitdiffabout
path: root/src/gram.y
authorSergey Poznyakoff <gray@gnu.org.ua>2016-07-12 09:41:15 (GMT)
committer Sergey Poznyakoff <gray@gnu.org.ua>2016-07-12 11:34:16 (GMT)
commit89f200b55b309aa67c1fbfc11d4de211725348f4 (patch) (side-by-side diff)
tree39e2e43f29766cbebbdf61f160b5d062ea63c996 /src/gram.y
parente8cad816f36b1cad11bb67c96f0ce878cf30844e (diff)
downloadgdbm-89f200b55b309aa67c1fbfc11d4de211725348f4.tar.gz
gdbm-89f200b55b309aa67c1fbfc11d4de211725348f4.tar.bz2
Line-editing support in gdbmtool
* configure.ac: Check if GNU Readline is available. * src/Makefile.am: Add new files. * src/input-rl.c: New file. * src/input-std.c: New file. * src/gdbmtool.c (handler_param): Move declaration to the header file. (quit_handler): Call input_done. (command_tab): Add the "history" command. (command_generator): New function. (slist_new_s, slist_new_l) (slist_insert): New functions. (main): Call input_init and input_done. * src/gdbmtool.h: New protos. * src/gram.y: Use slist_insert to construct string lists. * src/lex.l (read_input): Remove. Use input_read instead. (print_prompt_at_bol): New function. (print_prompt): Remove. (make_prompt): New function. * NEWS: Document changes. * README: Document readline support. * doc/gdbm.texi: Document line editing in gdbmtool. * doc/gdbmtool.1: Likewise.
Diffstat (limited to 'src/gram.y') (more/less context) (ignore whitespace changes)
-rw-r--r--src/gram.y7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gram.y b/src/gram.y
index 9a6e3c2..2f6d7c0 100644
--- a/src/gram.y
+++ b/src/gram.y
@@ -168,13 +168,12 @@ value : string
slist : string
{
- $$.head = $$.tail = slist_new ($1);
+ $$.head = $$.tail = slist_new_s ($1);
}
| slist ',' string
{
- struct slist *s = slist_new ($3);
- $1.tail->next = s;
- $1.tail = s;
+ struct slist *s = slist_new_s ($3);
+ slist_insert (&$1.tail, s);
$$ = $1;
}
;

Return to:

Send suggestions and report system problems to the System administrator.