aboutsummaryrefslogtreecommitdiff
path: root/lib/libedit
diff options
context:
space:
mode:
authorPedro F. Giffuni <pfg@FreeBSD.org>2017-01-30 23:00:51 +0000
committerPedro F. Giffuni <pfg@FreeBSD.org>2017-01-30 23:00:51 +0000
commit678bbc14b25b657d63c91fa9a4bd3068bf100bfa (patch)
tree007f3b832dd6368ef31062783b65fd3f2df7ac05 /lib/libedit
parent164aa3ce5e4bada1f189d1c5b56279731aa367ef (diff)
parent70f1d4d70d0c78aa69c52d977130f4046851c4a3 (diff)
downloadsrc-678bbc14b25b657d63c91fa9a4bd3068bf100bfa.tar.gz
src-678bbc14b25b657d63c91fa9a4bd3068bf100bfa.zip
MFV 312999:
Update libedit 2016-03-21 Minor cleanups plus some license syncing. Obtained from: NetBSD X-MFC with: r312997
Notes
Notes: svn path=/head/; revision=313002
Diffstat (limited to 'lib/libedit')
-rw-r--r--lib/libedit/Makefile6
-rw-r--r--lib/libedit/TEST/rl1.c4
-rw-r--r--lib/libedit/chartype.h4
-rw-r--r--lib/libedit/common.c9
-rw-r--r--lib/libedit/read.c6
-rw-r--r--lib/libedit/refresh.c41
-rw-r--r--lib/libedit/terminal.c8
-rw-r--r--lib/libedit/tty.c11
-rw-r--r--lib/libedit/vi.c7
9 files changed, 53 insertions, 43 deletions
diff --git a/lib/libedit/Makefile b/lib/libedit/Makefile
index 2883684e4101..81ba64712fec 100644
--- a/lib/libedit/Makefile
+++ b/lib/libedit/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.55 2016/02/24 14:25:38 christos Exp $
+# $NetBSD: Makefile,v 1.56 2016/03/02 19:24:20 christos Exp $
# @(#)Makefile 8.1 (Berkeley) 6/4/93
# $FreeBSD$
@@ -38,8 +38,8 @@ INCS= histedit.h
SRCS+= tokenizern.c historyn.c
CLEANFILES+= tokenizern.c historyn.c
CFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/edit -DWIDECHAR
-CFLAGS+= #-DDEBUG_TTY -DDEBUG_KEY -DDEBUG_READ -DDEBUG -DDEBUG_REFRESH
-CFLAGS+= #-DDEBUG_PASTE -DDEBUG_EDIT
+#CFLAGS+= -DDEBUG_TTY -DDEBUG_KEY -DDEBUG_READ -DDEBUG -DDEBUG_REFRESH
+#CFLAGS+= -DDEBUG_PASTE -DDEBUG_EDIT
WARNS?= 1
diff --git a/lib/libedit/TEST/rl1.c b/lib/libedit/TEST/rl1.c
index 79050ccde237..34befbe0244f 100644
--- a/lib/libedit/TEST/rl1.c
+++ b/lib/libedit/TEST/rl1.c
@@ -1,4 +1,4 @@
-/* $NetBSD: rl1.c,v 1.1 2010/09/16 20:08:51 christos Exp $ */
+/* $NetBSD: rl1.c,v 1.2 2016/02/29 00:54:19 christos Exp $ */
/*-
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
#if !defined(lint)
-__RCSID("$NetBSD: rl1.c,v 1.1 2010/09/16 20:08:51 christos Exp $");
+__RCSID("$NetBSD: rl1.c,v 1.2 2016/02/29 00:54:19 christos Exp $");
#endif /* not lint */
__FBSDID("$FreeBSD$");
diff --git a/lib/libedit/chartype.h b/lib/libedit/chartype.h
index 8b086e59c420..9f5e7e407c8c 100644
--- a/lib/libedit/chartype.h
+++ b/lib/libedit/chartype.h
@@ -1,4 +1,4 @@
-/* $NetBSD: chartype.h,v 1.23 2016/02/24 17:20:01 christos Exp $ */
+/* $NetBSD: chartype.h,v 1.25 2016/03/07 00:05:20 christos Exp $ */
/*-
* Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -65,6 +65,7 @@
#define FUNW(type) type ## _w
#define TYPE(type) type ## W
#define FSTR "%ls"
+#define FSTARSTR "%.*ls"
#define STR(x) L ## x
#define UC(c) c
#define Isalpha(x) iswalpha(x)
@@ -117,6 +118,7 @@ Width(wchar_t c)
#define FUNW(type) type
#define TYPE(type) type
#define FSTR "%s"
+#define FSTARSTR "%.*s"
#define STR(x) x
#define UC(c) (unsigned char)(c)
diff --git a/lib/libedit/common.c b/lib/libedit/common.c
index 26e4289b2725..a2a971233c05 100644
--- a/lib/libedit/common.c
+++ b/lib/libedit/common.c
@@ -1,4 +1,4 @@
-/* $NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $ */
+/* $NetBSD: common.c,v 1.40 2016/03/02 19:24:20 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)common.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $");
+__RCSID("$NetBSD: common.c,v 1.40 2016/03/02 19:24:20 christos Exp $");
#endif
#endif /* not lint && not SCCSID */
#include <sys/cdefs.h>
@@ -149,8 +149,9 @@ ed_delete_next_char(EditLine *el, wint_t c __attribute__((__unused__)))
{
#ifdef DEBUG_EDIT
#define EL el->el_line
- (void) fprintf(el->el_errlfile,
- "\nD(b: %x(%s) c: %x(%s) last: %x(%s) limit: %x(%s)\n",
+ (void) fprintf(el->el_errfile,
+ "\nD(b: %p(" FSTR ") c: %p(" FSTR ") last: %p(" FSTR
+ ") limit: %p(" FSTR ")\n",
EL.buffer, EL.buffer, EL.cursor, EL.cursor, EL.lastchar,
EL.lastchar, EL.limit, EL.limit);
#endif
diff --git a/lib/libedit/read.c b/lib/libedit/read.c
index ba2c07ac7432..66e266b5f79b 100644
--- a/lib/libedit/read.c
+++ b/lib/libedit/read.c
@@ -1,4 +1,4 @@
-/* $NetBSD: read.c,v 1.85 2016/02/24 17:20:01 christos Exp $ */
+/* $NetBSD: read.c,v 1.86 2016/03/02 19:24:20 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)read.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: read.c,v 1.85 2016/02/24 17:20:01 christos Exp $");
+__RCSID("$NetBSD: read.c,v 1.86 2016/03/02 19:24:20 christos Exp $");
#endif
#endif /* not lint && not SCCSID */
#include <sys/cdefs.h>
@@ -617,7 +617,7 @@ FUN(el,gets)(EditLine *el, int *nread)
break;
if (b->name)
(void) fprintf(el->el_errfile,
- "Executing %s\n", b->name);
+ "Executing " FSTR "\n", b->name);
else
(void) fprintf(el->el_errfile,
"Error command = %d\n", cmdnum);
diff --git a/lib/libedit/refresh.c b/lib/libedit/refresh.c
index a039406092c5..8f4b08e66e4f 100644
--- a/lib/libedit/refresh.c
+++ b/lib/libedit/refresh.c
@@ -1,4 +1,4 @@
-/* $NetBSD: refresh.c,v 1.44 2016/02/17 19:47:49 christos Exp $ */
+/* $NetBSD: refresh.c,v 1.45 2016/03/02 19:24:20 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)refresh.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: refresh.c,v 1.44 2016/02/17 19:47:49 christos Exp $");
+__RCSID("$NetBSD: refresh.c,v 1.45 2016/03/02 19:24:20 christos Exp $");
#endif
#endif /* not lint && not SCCSID */
#include <sys/cdefs.h>
@@ -63,7 +63,7 @@ private void re__strncopy(Char *, Char *, size_t);
private void re__copy_and_pad(Char *, const Char *, size_t);
#ifdef DEBUG_REFRESH
-private void re_printstr(EditLine *, const char *, char *, char *);
+private void re_printstr(EditLine *, const char *, Char *, Char *);
#define __F el->el_errfile
#define ELRE_ASSERT(a, b, c) do \
if (/*CONSTCOND*/ a) { \
@@ -77,7 +77,7 @@ private void re_printstr(EditLine *, const char *, char *, char *);
* Print a string on the debugging pty
*/
private void
-re_printstr(EditLine *el, const char *str, char *f, char *t)
+re_printstr(EditLine *el, const char *str, Char *f, Char *t)
{
ELRE_DEBUG(1, (__F, "%s:\"", str));
@@ -207,7 +207,7 @@ re_refresh(EditLine *el)
size_t termsz;
#endif
- ELRE_DEBUG(1, (__F, "el->el_line.buffer = :%s:\r\n",
+ ELRE_DEBUG(1, (__F, "el->el_line.buffer = :" FSTR ":\r\n",
el->el_line.buffer));
/* reset the Drawing cursor */
@@ -295,7 +295,8 @@ re_refresh(EditLine *el)
ELRE_DEBUG(1, (__F,
"term.h=%d vcur.h=%d vcur.v=%d vdisplay[0]=\r\n:%80.80s:\r\n",
el->el_terminal.t_size.h, el->el_refresh.r_cursor.h,
- el->el_refresh.r_cursor.v, ct_encode_string(el->el_vdisplay[0])));
+ el->el_refresh.r_cursor.v, ct_encode_string(el->el_vdisplay[0],
+ &el->el_scratch)));
ELRE_DEBUG(1, (__F, "updating %d lines.\r\n", el->el_refresh.r_newcv));
for (i = 0; i <= el->el_refresh.r_newcv; i++) {
@@ -323,7 +324,7 @@ re_refresh(EditLine *el)
/* This Strlen should be safe even with MB_FILL_CHARs */
terminal_clear_EOL(el, (int) Strlen(el->el_display[i]));
#ifdef DEBUG_REFRESH
- terminal_overwrite(el, "C\b", (size_t)2);
+ terminal_overwrite(el, STR("C\b"), 2);
#endif /* DEBUG_REFRESH */
el->el_display[i][0] = '\0';
}
@@ -370,8 +371,9 @@ re_insert(EditLine *el __attribute__((__unused__)),
ELRE_DEBUG(1,
(__F, "re_insert() starting: %d at %d max %d, d == \"%s\"\n",
- num, dat, dlen, ct_encode_string(d)));
- ELRE_DEBUG(1, (__F, "s == \"%s\"\n", ct_encode_string(s)));
+ num, dat, dlen, ct_encode_string(d, &el->el_scratch)));
+ ELRE_DEBUG(1, (__F, "s == \"%s\"\n", ct_encode_string(s,
+ &el->el_scratch)));
/* open up the space for num chars */
if (num > 0) {
@@ -384,8 +386,9 @@ re_insert(EditLine *el __attribute__((__unused__)),
ELRE_DEBUG(1, (__F,
"re_insert() after insert: %d at %d max %d, d == \"%s\"\n",
- num, dat, dlen, ct_encode_string(d)));
- ELRE_DEBUG(1, (__F, "s == \"%s\"\n", ct_encode_string(s)));
+ num, dat, dlen, ct_encode_string(d, &el->el_scratch)));
+ ELRE_DEBUG(1, (__F, "s == \"%s\"\n", ct_encode_string(s,
+ &el->el_scratch)));
/* copy the characters */
for (a = d + dat; (a < d + dlen) && (num > 0); num--)
@@ -420,7 +423,7 @@ re_delete(EditLine *el __attribute__((__unused__)),
}
ELRE_DEBUG(1,
(__F, "re_delete() starting: %d at %d max %d, d == \"%s\"\n",
- num, dat, dlen, ct_encode_string(d)));
+ num, dat, dlen, ct_encode_string(d, &el->el_scratch)));
/* open up the space for num chars */
if (num > 0) {
@@ -432,7 +435,7 @@ re_delete(EditLine *el __attribute__((__unused__)),
}
ELRE_DEBUG(1,
(__F, "re_delete() after delete: %d at %d max %d, d == \"%s\"\n",
- num, dat, dlen, ct_encode_string(d)));
+ num, dat, dlen, ct_encode_string(d, &el->el_scratch)));
}
@@ -690,9 +693,9 @@ re_update_line(EditLine *el, Char *old, Char *new, int i)
sx = (int)((nls - nse) - (ols - ose));
ELRE_DEBUG(1, (__F, "fx %d, sx %d\n", fx, sx));
- ELRE_DEBUG(1, (__F, "ofd %d, osb %d, ose %d, ols %d, oe %d\n",
+ ELRE_DEBUG(1, (__F, "ofd %td, osb %td, ose %td, ols %td, oe %td\n",
ofd - old, osb - old, ose - old, ols - old, oe - old));
- ELRE_DEBUG(1, (__F, "nfd %d, nsb %d, nse %d, nls %d, ne %d\n",
+ ELRE_DEBUG(1, (__F, "nfd %td, nsb %td, nse %td, nls %td, ne %td\n",
nfd - new, nsb - new, nse - new, nls - new, ne - new));
ELRE_DEBUG(1, (__F,
"xxx-xxx:\"00000000001111111111222222222233333333334\"\r\n"));
@@ -766,7 +769,7 @@ re_update_line(EditLine *el, Char *old, Char *new, int i)
if ((nsb != nfd) && fx > 0 &&
((p - old) + fx <= el->el_terminal.t_size.h)) {
ELRE_DEBUG(1,
- (__F, "first diff insert at %d...\r\n", nfd - new));
+ (__F, "first diff insert at %td...\r\n", nfd - new));
/*
* Move to the first char to insert, where the first diff is.
*/
@@ -805,7 +808,7 @@ re_update_line(EditLine *el, Char *old, Char *new, int i)
}
} else if (fx < 0) {
ELRE_DEBUG(1,
- (__F, "first diff delete at %d...\r\n", ofd - old));
+ (__F, "first diff delete at %td...\r\n", ofd - old));
/*
* move to the first char to delete where the first diff is
*/
@@ -852,7 +855,7 @@ re_update_line(EditLine *el, Char *old, Char *new, int i)
if (sx < 0 && (ose - old) + fx < el->el_terminal.t_size.h) {
ELRE_DEBUG(1, (__F,
- "second diff delete at %d...\r\n", (ose - old) + fx));
+ "second diff delete at %td...\r\n", (ose - old) + fx));
/*
* Check if we have stuff to delete
*/
@@ -890,7 +893,7 @@ re_update_line(EditLine *el, Char *old, Char *new, int i)
* if we have a first insert AND WE HAVEN'T ALREADY DONE IT...
*/
if ((nsb != nfd) && (osb - ofd) <= (nsb - nfd) && (fx == 0)) {
- ELRE_DEBUG(1, (__F, "late first diff insert at %d...\r\n",
+ ELRE_DEBUG(1, (__F, "late first diff insert at %td...\r\n",
nfd - new));
terminal_move_to_char(el, (int)(nfd - new));
diff --git a/lib/libedit/terminal.c b/lib/libedit/terminal.c
index be76960e00d5..971b0f607c27 100644
--- a/lib/libedit/terminal.c
+++ b/lib/libedit/terminal.c
@@ -1,4 +1,4 @@
-/* $NetBSD: terminal.c,v 1.22 2016/02/17 19:47:49 christos Exp $ */
+/* $NetBSD: terminal.c,v 1.24 2016/03/22 01:38:17 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)term.c 8.2 (Berkeley) 4/30/95";
#else
-__RCSID("$NetBSD: terminal.c,v 1.22 2016/02/17 19:47:49 christos Exp $");
+__RCSID("$NetBSD: terminal.c,v 1.24 2016/03/22 01:38:17 christos Exp $");
#endif
#endif /* not lint && not SCCSID */
#include <sys/cdefs.h>
@@ -380,7 +380,7 @@ terminal_alloc(EditLine *el, const struct termcapstr *t, const char *cap)
*/
tlen = 0;
for (tmp = tlist; tmp < &tlist[T_str]; tmp++)
- if (*tmp != NULL && *tmp != '\0' && *tmp != *str) {
+ if (*tmp != NULL && **tmp != '\0' && *tmp != *str) {
char *ptr;
for (ptr = *tmp; *ptr != '\0'; termbuf[tlen++] = *ptr++)
@@ -668,7 +668,7 @@ terminal_overwrite(EditLine *el, const Char *cp, size_t n)
if (n > (size_t)el->el_terminal.t_size.h) {
#ifdef DEBUG_SCREEN
(void) fprintf(el->el_errfile,
- "%s: n is ridiculous: %d\r\n", __func__, n);
+ "%s: n is ridiculous: %zu\r\n", __func__, n);
#endif /* DEBUG_SCREEN */
return;
}
diff --git a/lib/libedit/tty.c b/lib/libedit/tty.c
index 7cfa6d1acaf5..971bfc6afd68 100644
--- a/lib/libedit/tty.c
+++ b/lib/libedit/tty.c
@@ -1,4 +1,4 @@
-/* $NetBSD: tty.c,v 1.58 2016/02/27 18:13:21 christos Exp $ */
+/* $NetBSD: tty.c,v 1.59 2016/03/22 01:34:32 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)tty.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: tty.c,v 1.58 2016/02/27 18:13:21 christos Exp $");
+__RCSID("$NetBSD: tty.c,v 1.59 2016/03/22 01:34:32 christos Exp $");
#endif
#endif /* not lint && not SCCSID */
#include <sys/cdefs.h>
@@ -500,10 +500,12 @@ tty_setup(EditLine *el)
{
int rst = 1;
- el->el_tty.t_initialized = 0;
if (el->el_flags & EDIT_DISABLED)
return 0;
+ if (el->el_tty.t_initialized)
+ return -1;
+
if (!isatty(el->el_outfd)) {
#ifdef DEBUG_TTY
(void) fprintf(el->el_errfile, "%s: isatty: %s\n", __func__,
@@ -573,6 +575,7 @@ tty_init(EditLine *el)
el->el_tty.t_mode = EX_IO;
el->el_tty.t_vdisable = _POSIX_VDISABLE;
+ el->el_tty.t_initialized = 0;
(void) memcpy(el->el_tty.t_t, ttyperm, sizeof(ttyperm_t));
(void) memcpy(el->el_tty.t_c, ttychar, sizeof(ttychar_t));
return tty_setup(el);
@@ -589,7 +592,7 @@ tty_end(EditLine *el)
if (el->el_flags & EDIT_DISABLED)
return;
- if (el->el_tty.t_initialized)
+ if (!el->el_tty.t_initialized)
return;
if (tty_setty(el, TCSAFLUSH, &el->el_tty.t_or) == -1) {
diff --git a/lib/libedit/vi.c b/lib/libedit/vi.c
index a09f68cf5f10..02d7e2990504 100644
--- a/lib/libedit/vi.c
+++ b/lib/libedit/vi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: vi.c,v 1.54 2016/02/17 19:47:49 christos Exp $ */
+/* $NetBSD: vi.c,v 1.55 2016/03/02 19:24:20 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)vi.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: vi.c,v 1.54 2016/02/17 19:47:49 christos Exp $");
+__RCSID("$NetBSD: vi.c,v 1.55 2016/03/02 19:24:20 christos Exp $");
#endif
#endif /* not lint && not SCCSID */
#include <sys/cdefs.h>
@@ -105,7 +105,8 @@ cv_paste(EditLine *el, wint_t c)
if (k->buf == NULL || len == 0)
return CC_ERROR;
#ifdef DEBUG_PASTE
- (void) fprintf(el->el_errfile, "Paste: \"%.*s\"\n", (int)len, k->buf);
+ (void) fprintf(el->el_errfile, "Paste: \"" FSTARSTR "\"\n", (int)len,
+ k->buf);
#endif
cv_undo(el);