aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-07-12 12:41:15 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2016-07-12 14:34:16 +0300
commit89f200b55b309aa67c1fbfc11d4de211725348f4 (patch)
tree39e2e43f29766cbebbdf61f160b5d062ea63c996 /doc
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 'doc')
-rw-r--r--doc/gdbm.texi22
-rw-r--r--doc/gdbmtool.115
2 files changed, 35 insertions, 2 deletions
diff --git a/doc/gdbm.texi b/doc/gdbm.texi
index 4c7c5c0..d172ad7 100644
--- a/doc/gdbm.texi
+++ b/doc/gdbm.texi
@@ -1825,12 +1825,18 @@ data? @kbd{3}
However, such prompting is possible only in interactive mode. In
non-interactive mode (e.g.@: when running a script), all arguments must
be supplied with each command, otherwise @command{gdbmtool} will report an
error and exit immediately.
+@cindex readline
+@cindex GNU Readline
+If the package is compiled with GNU Readline, the input line can be
+edited (@pxref{Command Line Editing, ,
+Command Line Editing, readline, GNU Readline Library}).
+
@menu
* variables:: shell variables.
* commands:: shell commands.
* definitions:: how to define structured data.
* startup files::
@end menu
@@ -2110,12 +2116,28 @@ Import data from a flat dump file @var{file-name}
(@pxref{Flat files}). If the word @samp{replace} is given
as an argument, any records with the same keys as the already
existing ones will replace them. The word @samp{nometa} turns off
restoring meta-information from the dump file.
@end deffn
+@deffn {command verb} history
+@deffnx {command verb} history @var{count}
+@deffnx {command verb} history @var{n} @var{count}
+Shows the command history list with line numbers. When used without
+arguments, shows entire history. When used with one argument,
+displays @var{count} last commands from the history. With two
+arguments, displays @var{count} commands starting from @var{n}th
+command. Command numbering starts with 1.
+
+This command is available only if GDBM was compiled with GNU Readline.
+The history is saved in file @file{.gdbmtool_history} in the user's
+home directory. If this file exists upon startup, it is read to
+populate the history. Thus, command history is preserved between
+@command{gdbmtool} invocations.
+@end deffn
+
@deffn {command verb} list
List the contents of the database.
@end deffn
@deffn {command verb} next [@var{key}]
Sequential access: fetch and display the next record. If the @var{key} is
diff --git a/doc/gdbmtool.1 b/doc/gdbmtool.1
index dae881c..c479822 100644
--- a/doc/gdbmtool.1
+++ b/doc/gdbmtool.1
@@ -10,13 +10,13 @@
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with GDBM. If not, see <http://www.gnu.org/licenses/>. */
-.TH GDBMTOOL 1 "May 18, 2016" "GDBM" "GDBM User Reference"
+.TH GDBMTOOL 1 "July 12, 2016" "GDBM" "GDBM User Reference"
.SH NAME
gdbmtool \- examine and modify a GDBM database
.SH SYNOPSIS
\fBgdbmtool\fR [\fB\-lmNnqrs\fR] [\fB\-b\fR \fISIZE\fR] [\fB\-c\fR \fISIZE\fR]\
[\fB\-f\fR \fIFILE\fR] [\fB\-\-block\-size\fR=\fISIZE\fR]
[\fB\-\-cache\-size\fR=\fISIZE\fR] [\fB\-\-file\fR \fIFILE\fR]\
@@ -155,13 +155,13 @@ Print the current bucket.
\fBdelete\fR \fIKEY\fR
Delete record with the given \fIKEY\fR.
.TP
.BR dir
Print hash directory.
.TP
-\fBexport\fR, \fBe\fR \fIFILE\-NAME\fR [\fBtruncate\fR] [\fBbinary\fR|\fBascii\fR]
+\fBexport\fR \fIFILE\-NAME\fR [\fBtruncate\fR] [\fBbinary\fR|\fBascii\fR]
Export the database to the flat file \fIFILE\-NAME\fR. This is equivalent to
.BR gdbm_dump (1).
This command will not overwrite an existing file, unless the
.B truncate
parameter is also given. Another optional parameter determines the type of
@@ -184,12 +184,23 @@ Print file header.
.TP
.BR help " or " ?
Print a concise command summary, showing each command letter and
verb with its parameters and a short description of what it does.
Optional arguments are enclosed in square brackets.
.TP
+.B history
+Shows the command history list with line numbers. This command is
+available only if the program was compiled with GNU Readline.
+.TP
+\fBhistory\fR \fICOUNT\fR.
+Shows \fICOUNT\fR latest commands from the command history.
+.TP
+\fBhistory\fR \fIN\fR \fICOUNT\fR.
+Shows \fICOUNT\fR commands from the command history starting with \fIN\fRth
+command.
+.TP
\fBimport\fR \fIFILE\-NAME\fR [\fBreplace\fR] [\fBnometa\fR]
Import data from a flat dump file \fIFILE\-NAME\fR.
If the
.B replace
argument is given, any records with the same keys as the already
existing ones will replace them. The

Return to:

Send suggestions and report system problems to the System administrator.