summaryrefslogtreecommitdiff
path: root/lib/libedit/read.c
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1997-01-16 05:18:56 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1997-01-16 05:18:56 +0000
commitd811c9277c942ef81ec5f325ae55337ff3089842 (patch)
treeaf13e7c0dcb8d4e9d9d938bce60eb610f8bb6748 /lib/libedit/read.c
parent891d48fc5656bed485ad5e2b5e154786b9f84d2e (diff)
Merge in NetBSD libedit changes and new man pages. Also fix some
strncpy() usage in their code. NetBSD change log was: * add a man page for the editline routines * add a man page describing editrc * fix bugs in el_parse(): * didn't execute command when program name matched (test reversed) * was checking against empty string instead of program name * after checks, command to run also pointed to empty string * document ^char and \ escape sequences * when parsing ^char control chars, check the correct char when determining validity (previously, ^char was a NOP interpreted as the literal string because of this bug) * Implement CC_REDISPLAY, which (unlike CC_REFRESH) redraws the entire input * line (a la ^R). This is useful if the binding outputs information and * mucks up the input line. To be used in ``list-choices'' bindings (refer * to the ^D binding in csh when filec is set)
Diffstat (limited to 'lib/libedit/read.c')
-rw-r--r--lib/libedit/read.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/libedit/read.c b/lib/libedit/read.c
index ccfc88b8f59..2d1139c6e82 100644
--- a/lib/libedit/read.c
+++ b/lib/libedit/read.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: read.c,v 1.2 1997/01/16 05:18:42 millert Exp $ */
+
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
@@ -35,9 +37,13 @@
*/
#if !defined(lint) && !defined(SCCSID)
+#if 0
static char sccsid[] = "@(#)read.c 8.1 (Berkeley) 6/4/93";
-
+#else
+static char rcsid[] = "$OpenBSD: read.c,v 1.2 1997/01/16 05:18:42 millert Exp $";
+#endif
#endif /* not lint && not SCCSID */
+
/*
* read.c: Clean this junk up! This is horrible code.
* Terminal read functions
@@ -379,6 +385,11 @@ el_gets(el, nread)
re_refresh_cursor(el);
break;
+ case CC_REDISPLAY:
+ re_clear_lines(el);
+ re_clear_display(el);
+ /* FALLTHROUGH */
+
case CC_REFRESH:
el->el_state.argument = 1;
el->el_state.doingarg = 0;