Module Name:    src
Committed By:   tls
Date:           Sun Aug 10 06:51:57 UTC 2014

Modified Files:
        src/lib/libedit [tls-earlyentropy]: Makefile chared.c chared.h
            editline.3 el.c eln.c filecomplete.c hist.h histedit.h history.c
            map.c map.h parse.c read.c readline.c tty.c tty.h vi.c
        src/lib/libedit/TEST [tls-earlyentropy]: tc1.c wtc1.c

Log Message:
Rebase.


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.51.8.1 src/lib/libedit/Makefile
cvs rdiff -u -r1.39 -r1.39.4.1 src/lib/libedit/chared.c
cvs rdiff -u -r1.21 -r1.21.22.1 src/lib/libedit/chared.h
cvs rdiff -u -r1.80 -r1.80.4.1 src/lib/libedit/editline.3
cvs rdiff -u -r1.72 -r1.72.6.1 src/lib/libedit/el.c
cvs rdiff -u -r1.15 -r1.15.2.1 src/lib/libedit/eln.c
cvs rdiff -u -r1.31 -r1.31.18.1 src/lib/libedit/filecomplete.c
cvs rdiff -u -r1.13 -r1.13.18.1 src/lib/libedit/hist.h
cvs rdiff -u -r1.51 -r1.51.4.1 src/lib/libedit/histedit.h
cvs rdiff -u -r1.46 -r1.46.16.1 src/lib/libedit/history.c
cvs rdiff -u -r1.33 -r1.33.6.1 src/lib/libedit/map.c
cvs rdiff -u -r1.9 -r1.9.22.1 src/lib/libedit/map.h
cvs rdiff -u -r1.26 -r1.26.18.1 src/lib/libedit/parse.c
cvs rdiff -u -r1.70 -r1.70.4.1 src/lib/libedit/read.c
cvs rdiff -u -r1.110 -r1.110.2.1 src/lib/libedit/readline.c
cvs rdiff -u -r1.42 -r1.42.8.1 src/lib/libedit/tty.c
cvs rdiff -u -r1.14 -r1.14.8.1 src/lib/libedit/tty.h
cvs rdiff -u -r1.43 -r1.43.16.1 src/lib/libedit/vi.c
cvs rdiff -u -r1.5 -r1.5.22.1 src/lib/libedit/TEST/tc1.c
cvs rdiff -u -r1.6 -r1.6.16.1 src/lib/libedit/TEST/wtc1.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libedit/Makefile
diff -u src/lib/libedit/Makefile:1.51 src/lib/libedit/Makefile:1.51.8.1
--- src/lib/libedit/Makefile:1.51	Fri Aug 10 12:20:10 2012
+++ src/lib/libedit/Makefile	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.51 2012/08/10 12:20:10 joerg Exp $
+#	$NetBSD: Makefile,v 1.51.8.1 2014/08/10 06:51:57 tls Exp $
 #	@(#)Makefile	8.1 (Berkeley) 6/4/93
 
 USE_SHLIBDIR=	yes
@@ -127,7 +127,7 @@ tc1:	libedit.a tc1.o 
 .include <bsd.subdir.mk>
 
 # XXX
-.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
+.if defined(HAVE_GCC)
 COPTS.editline.c+=	-Wno-cast-qual
 COPTS.tokenizer.c+=	-Wno-cast-qual
 COPTS.tokenizern.c+=	-Wno-cast-qual

Index: src/lib/libedit/chared.c
diff -u src/lib/libedit/chared.c:1.39 src/lib/libedit/chared.c:1.39.4.1
--- src/lib/libedit/chared.c:1.39	Fri Jul 12 22:39:50 2013
+++ src/lib/libedit/chared.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: chared.c,v 1.39 2013/07/12 22:39:50 christos Exp $	*/
+/*	$NetBSD: chared.c,v 1.39.4.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)chared.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: chared.c,v 1.39 2013/07/12 22:39:50 christos Exp $");
+__RCSID("$NetBSD: chared.c,v 1.39.4.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -434,6 +434,8 @@ ch_init(EditLine *el)
 	el->el_chared.c_kill.last	= el->el_chared.c_kill.buf;
 	el->el_chared.c_resizefun	= NULL;
 	el->el_chared.c_resizearg	= NULL;
+	el->el_chared.c_aliasfun	= NULL;
+	el->el_chared.c_aliasarg	= NULL;
 
 	el->el_map.current		= el->el_map.key;
 
@@ -757,3 +759,11 @@ ch_resizefun(EditLine *el, el_zfunc_t f,
 	el->el_chared.c_resizearg = a;
 	return 0;
 }
+
+protected int
+ch_aliasfun(EditLine *el, el_afunc_t f, void *a)
+{
+	el->el_chared.c_aliasfun = f;
+	el->el_chared.c_aliasarg = a;
+	return 0;
+}

Index: src/lib/libedit/chared.h
diff -u src/lib/libedit/chared.h:1.21 src/lib/libedit/chared.h:1.21.22.1
--- src/lib/libedit/chared.h:1.21	Sat Aug 28 15:44:59 2010
+++ src/lib/libedit/chared.h	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: chared.h,v 1.21 2010/08/28 15:44:59 christos Exp $	*/
+/*	$NetBSD: chared.h,v 1.21.22.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -104,6 +104,7 @@ typedef struct c_kill_t {
 } c_kill_t;
 
 typedef void (*el_zfunc_t)(EditLine *, void *);
+typedef const char *(*el_afunc_t)(void *, const char *);
 
 /*
  * Note that we use both data structures because the user can bind
@@ -116,7 +117,9 @@ typedef struct el_chared_t {
 	c_vcmd_t	c_vcmd;
 	c_macro_t	c_macro;
 	el_zfunc_t	c_resizefun;
+	el_afunc_t	c_aliasfun;
 	void *		c_resizearg;
+	void *		c_aliasarg;
 } el_chared_t;
 
 
@@ -165,6 +168,7 @@ protected int	 c_hpos(EditLine *);
 protected int	 ch_init(EditLine *);
 protected void	 ch_reset(EditLine *, int);
 protected int	 ch_resizefun(EditLine *, el_zfunc_t, void *);
+protected int	 ch_aliasfun(EditLine *, el_afunc_t, void *);
 protected int	 ch_enlargebufs(EditLine *, size_t);
 protected void	 ch_end(EditLine *);
 

Index: src/lib/libedit/editline.3
diff -u src/lib/libedit/editline.3:1.80 src/lib/libedit/editline.3:1.80.4.1
--- src/lib/libedit/editline.3:1.80	Fri Jul 12 17:48:29 2013
+++ src/lib/libedit/editline.3	Sun Aug 10 06:51:57 2014
@@ -1,6 +1,6 @@
-.\"	$NetBSD: editline.3,v 1.80 2013/07/12 17:48:29 christos Exp $
+.\"	$NetBSD: editline.3,v 1.80.4.1 2014/08/10 06:51:57 tls Exp $
 .\"
-.\" Copyright (c) 1997-2013 The NetBSD Foundation, Inc.
+.\" Copyright (c) 1997-2014 The NetBSD Foundation, Inc.
 .\" All rights reserved.
 .\"
 .\" This file was contributed to The NetBSD Foundation by Luke Mewburn.
@@ -26,7 +26,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd July 12, 2013
+.Dd May 10, 2014
 .Dt EDITLINE 3
 .Os
 .Sh NAME
@@ -761,6 +761,11 @@ Load the history list stored in
 .It Dv H_SAVE , Fa "const char *file"
 Save the history list to
 .Fa file .
+.It Dv H_SAVE_FP , Fa "FILE *fp"
+Save the history list to the opened
+.Ft FILE
+pointer
+.Fa fp .
 .It Dv H_SETUNIQUE , Fa "int unique"
 Set flag that adjacent identical event strings should not be entered
 into the history.
@@ -881,17 +886,22 @@ and the readline emulation appeared in
 appeared in
 .Nx 1.5 .
 .Sh AUTHORS
+.An -nosplit
 The
 .Nm
-library was written by Christos Zoulas.
-Luke Mewburn wrote this manual and implemented
+library was written by
+.An Christos Zoulas .
+.An Luke Mewburn
+wrote this manual and implemented
 .Dv CC_REDISPLAY ,
 .Dv CC_REFRESH_BEEP ,
 .Dv EL_EDITMODE ,
 and
 .Dv EL_RPROMPT .
-Jaromir Dolecek implemented the readline emulation.
-Johny Mattsson implemented wide-character support.
+.An Jaromir Dolecek
+implemented the readline emulation.
+.An Johny Mattsson
+implemented wide-character support.
 .Sh BUGS
 At this time, it is the responsibility of the caller to
 check the result of the

Index: src/lib/libedit/el.c
diff -u src/lib/libedit/el.c:1.72 src/lib/libedit/el.c:1.72.6.1
--- src/lib/libedit/el.c:1.72	Tue Jan 22 20:23:21 2013
+++ src/lib/libedit/el.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: el.c,v 1.72 2013/01/22 20:23:21 christos Exp $	*/
+/*	$NetBSD: el.c,v 1.72.6.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)el.c	8.2 (Berkeley) 1/3/94";
 #else
-__RCSID("$NetBSD: el.c,v 1.72 2013/01/22 20:23:21 christos Exp $");
+__RCSID("$NetBSD: el.c,v 1.72.6.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -194,6 +194,13 @@ FUN(el,set)(EditLine *el, int op, ...)
 		break;
 	}
 
+	case EL_ALIAS_TEXT: {
+		el_afunc_t p = va_arg(ap, el_afunc_t);
+		void *arg = va_arg(ap, void *);
+		rv = ch_aliasfun(el, p, arg);
+		break;
+	}
+
 	case EL_PROMPT_ESC:
 	case EL_RPROMPT_ESC: {
 		el_pfunc_t p = va_arg(ap, el_pfunc_t);

Index: src/lib/libedit/eln.c
diff -u src/lib/libedit/eln.c:1.15 src/lib/libedit/eln.c:1.15.2.1
--- src/lib/libedit/eln.c:1.15	Wed Feb 26 13:50:29 2014
+++ src/lib/libedit/eln.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: eln.c,v 1.15 2014/02/26 13:50:29 christos Exp $	*/
+/*	$NetBSD: eln.c,v 1.15.2.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: eln.c,v 1.15 2014/02/26 13:50:29 christos Exp $");
+__RCSID("$NetBSD: eln.c,v 1.15.2.1 2014/08/10 06:51:57 tls Exp $");
 #endif /* not lint && not SCCSID */
 
 #include "histedit.h"
@@ -125,6 +125,13 @@ el_set(EditLine *el, int op, ...)
 		break;
 	}
 
+	case EL_ALIAS_TEXT: {
+		el_afunc_t p = va_arg(ap, el_afunc_t);
+		void *arg = va_arg(ap, void *);
+		ret = ch_aliasfun(el, p, arg);
+		break;
+	}
+
 	case EL_PROMPT_ESC:
 	case EL_RPROMPT_ESC: {
 		el_pfunc_t p = va_arg(ap, el_pfunc_t);
@@ -158,10 +165,10 @@ el_set(EditLine *el, int op, ...)
 		const char *argv[20];
 		int i;
 		const wchar_t **wargv;
-		for (i = 1; i < (int)__arraycount(argv); ++i)
-			if ((argv[i] = va_arg(ap, char *)) == NULL)
+		for (i = 1; i < (int)__arraycount(argv) - 1; ++i)
+			if ((argv[i] = va_arg(ap, const char *)) == NULL)
 			    break;
-		argv[0] = NULL;
+		argv[0] = argv[i] = NULL;
 		wargv = (const wchar_t **)
 		    ct_decode_argv(i + 1, argv, &el->el_lgcyconv);
 		if (!wargv) {

Index: src/lib/libedit/filecomplete.c
diff -u src/lib/libedit/filecomplete.c:1.31 src/lib/libedit/filecomplete.c:1.31.18.1
--- src/lib/libedit/filecomplete.c:1.31	Fri Sep 16 16:13:16 2011
+++ src/lib/libedit/filecomplete.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: filecomplete.c,v 1.31 2011/09/16 16:13:16 plunky Exp $	*/
+/*	$NetBSD: filecomplete.c,v 1.31.18.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: filecomplete.c,v 1.31 2011/09/16 16:13:16 plunky Exp $");
+__RCSID("$NetBSD: filecomplete.c,v 1.31.18.1 2014/08/10 06:51:57 tls Exp $");
 #endif /* not lint && not SCCSID */
 
 #include <sys/types.h>
@@ -490,7 +490,8 @@ fn_complete(EditLine *el,
 		if (what_to_do == '?')
 			goto display_matches;
 
-		if (matches[2] == NULL && strcmp(matches[0], matches[1]) == 0) {
+		if (matches[2] == NULL &&
+		    (matches[1] == NULL || strcmp(matches[0], matches[1]) == 0)) {
 			/*
 			 * We found exact match. Add a space after
 			 * it, unless we do filename completion and the

Index: src/lib/libedit/hist.h
diff -u src/lib/libedit/hist.h:1.13 src/lib/libedit/hist.h:1.13.18.1
--- src/lib/libedit/hist.h:1.13	Thu Jul 28 20:50:55 2011
+++ src/lib/libedit/hist.h	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: hist.h,v 1.13 2011/07/28 20:50:55 christos Exp $	*/
+/*	$NetBSD: hist.h,v 1.13.18.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -73,6 +73,7 @@ typedef struct el_history_t {
 #define	HIST_SET(el, num)	HIST_FUN(el, H_SET, num)
 #define	HIST_LOAD(el, fname)	HIST_FUN(el, H_LOAD fname)
 #define	HIST_SAVE(el, fname)	HIST_FUN(el, H_SAVE fname)
+#define	HIST_SAVE_FP(el, fp)	HIST_FUN(el, H_SAVE_FP fp)
 
 protected int		hist_init(EditLine *);
 protected void		hist_end(EditLine *);

Index: src/lib/libedit/histedit.h
diff -u src/lib/libedit/histedit.h:1.51 src/lib/libedit/histedit.h:1.51.4.1
--- src/lib/libedit/histedit.h:1.51	Fri Jul 12 17:48:29 2013
+++ src/lib/libedit/histedit.h	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: histedit.h,v 1.51 2013/07/12 17:48:29 christos Exp $	*/
+/*	$NetBSD: histedit.h,v 1.51.4.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -156,6 +156,7 @@ unsigned char	_el_fn_complete(EditLine *
 #define	EL_PROMPT_ESC	21	/* , prompt_func, Char);	      set/get */
 #define	EL_RPROMPT_ESC	22	/* , prompt_func, Char);	      set/get */
 #define	EL_RESIZE	23	/* , el_zfunc_t, void *);	      set     */
+#define	EL_ALIAS_TEXT	24	/* , el_afunc_t, void *);	      set     */
 
 #define	EL_BUILTIN_GETCFN	(NULL)
 
@@ -224,6 +225,7 @@ int		history(History *, HistEvent *, int
 #define	H_NEXT_EVDATA	23	/* , const int, histdata_t *);	*/
 #define	H_DELDATA	24	/* , int, histdata_t *);*/
 #define	H_REPLACE	25	/* , const char *, histdata_t);	*/
+#define	H_SAVE_FP	26	/* , FILE *);		*/
 
 
 

Index: src/lib/libedit/history.c
diff -u src/lib/libedit/history.c:1.46 src/lib/libedit/history.c:1.46.16.1
--- src/lib/libedit/history.c:1.46	Fri Nov 18 20:39:18 2011
+++ src/lib/libedit/history.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: history.c,v 1.46 2011/11/18 20:39:18 christos Exp $	*/
+/*	$NetBSD: history.c,v 1.46.16.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)history.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: history.c,v 1.46 2011/11/18 20:39:18 christos Exp $");
+__RCSID("$NetBSD: history.c,v 1.46.16.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -105,6 +105,7 @@ private int history_getunique(TYPE(Histo
 private int history_set_fun(TYPE(History) *, TYPE(History) *);
 private int history_load(TYPE(History) *, const char *);
 private int history_save(TYPE(History) *, const char *);
+private int history_save_fp(TYPE(History) *, FILE *);
 private int history_prev_event(TYPE(History) *, TYPE(HistEvent) *, int);
 private int history_next_event(TYPE(History) *, TYPE(HistEvent) *, int);
 private int history_next_string(TYPE(History) *, TYPE(HistEvent) *, const Char *);
@@ -784,13 +785,12 @@ done:
 }
 
 
-/* history_save():
+/* history_save_fp():
  *	TYPE(History) save function
  */
 private int
-history_save(TYPE(History) *h, const char *fname)
+history_save_fp(TYPE(History) *h, FILE *fp)
 {
-	FILE *fp;
 	TYPE(HistEvent) ev;
 	int i = -1, retval;
 	size_t len, max_size;
@@ -800,9 +800,6 @@ history_save(TYPE(History) *h, const cha
 	static ct_buffer_t conv;
 #endif
 
-	if ((fp = fopen(fname, "w")) == NULL)
-		return -1;
-
 	if (fchmod(fileno(fp), S_IRUSR|S_IWUSR) == -1)
 		goto done;
 	if (fputs(hist_cookie, fp) == EOF)
@@ -831,11 +828,29 @@ history_save(TYPE(History) *h, const cha
 oomem:
 	h_free(ptr);
 done:
-	(void) fclose(fp);
 	return i;
 }
 
 
+/* history_save():
+ *    History save function
+ */
+private int
+history_save(TYPE(History) *h, const char *fname)
+{
+    FILE *fp;
+    int i;
+
+    if ((fp = fopen(fname, "w")) == NULL)
+	return -1;
+
+    i = history_save_fp(h, fp);
+
+    (void) fclose(fp);
+    return i;
+}
+
+
 /* history_prev_event():
  *	Find the previous event, with number given
  */
@@ -1016,6 +1031,12 @@ FUNW(history)(TYPE(History) *h, TYPE(His
 			he_seterrev(ev, _HE_HIST_WRITE);
 		break;
 
+	case H_SAVE_FP:
+		retval = history_save_fp(h, va_arg(va, FILE *));
+		if (retval == -1)
+		    he_seterrev(ev, _HE_HIST_WRITE);
+		break;
+
 	case H_PREV_EVENT:
 		retval = history_prev_event(h, ev, va_arg(va, int));
 		break;

Index: src/lib/libedit/map.c
diff -u src/lib/libedit/map.c:1.33 src/lib/libedit/map.c:1.33.6.1
--- src/lib/libedit/map.c:1.33	Tue Jan  1 15:34:02 2013
+++ src/lib/libedit/map.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: map.c,v 1.33 2013/01/01 15:34:02 christos Exp $	*/
+/*	$NetBSD: map.c,v 1.33.6.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)map.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: map.c,v 1.33 2013/01/01 15:34:02 christos Exp $");
+__RCSID("$NetBSD: map.c,v 1.33.6.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -1396,7 +1396,7 @@ protected int
 map_addfunc(EditLine *el, const Char *name, const Char *help, el_func_t func)
 {
 	void *p;
-	size_t nf = (size_t)el->el_map.nfunc + 1;
+	size_t nf = el->el_map.nfunc + 1;
 
 	if (name == NULL || help == NULL || func == NULL)
 		return -1;

Index: src/lib/libedit/map.h
diff -u src/lib/libedit/map.h:1.9 src/lib/libedit/map.h:1.9.22.1
--- src/lib/libedit/map.h:1.9	Wed Dec 30 22:37:40 2009
+++ src/lib/libedit/map.h	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: map.h,v 1.9 2009/12/30 22:37:40 christos Exp $	*/
+/*	$NetBSD: map.h,v 1.9.22.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -57,7 +57,7 @@ typedef struct el_map_t {
 	int		 type;		/* Emacs or vi			*/
 	el_bindings_t	*help;		/* The help for the editor functions */
 	el_func_t	*func;		/* List of available functions	*/
-	int		 nfunc;		/* The number of functions/help items */
+	size_t		 nfunc;		/* The number of functions/help items */
 } el_map_t;
 
 #define	MAP_EMACS	0

Index: src/lib/libedit/parse.c
diff -u src/lib/libedit/parse.c:1.26 src/lib/libedit/parse.c:1.26.18.1
--- src/lib/libedit/parse.c:1.26	Tue Aug 16 16:25:15 2011
+++ src/lib/libedit/parse.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: parse.c,v 1.26 2011/08/16 16:25:15 christos Exp $	*/
+/*	$NetBSD: parse.c,v 1.26.18.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)parse.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: parse.c,v 1.26 2011/08/16 16:25:15 christos Exp $");
+__RCSID("$NetBSD: parse.c,v 1.26.18.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -276,10 +276,11 @@ parse__string(Char *out, const Char *in)
 protected int
 parse_cmd(EditLine *el, const Char *cmd)
 {
-	el_bindings_t *b;
+	el_bindings_t *b = el->el_map.help;
+	size_t i;
 
-	for (b = el->el_map.help; b->name != NULL; b++)
-		if (Strcmp(b->name, cmd) == 0)
-			return b->func;
+	for (i = 0; i < el->el_map.nfunc; i++)
+		if (Strcmp(b[i].name, cmd) == 0)
+			return b[i].func;
 	return -1;
 }

Index: src/lib/libedit/read.c
diff -u src/lib/libedit/read.c:1.70 src/lib/libedit/read.c:1.70.4.1
--- src/lib/libedit/read.c:1.70	Mon May 27 23:55:55 2013
+++ src/lib/libedit/read.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: read.c,v 1.70 2013/05/27 23:55:55 christos Exp $	*/
+/*	$NetBSD: read.c,v 1.70.4.1 2014/08/10 06:51:57 tls 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.70 2013/05/27 23:55:55 christos Exp $");
+__RCSID("$NetBSD: read.c,v 1.70.4.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -597,7 +597,7 @@ FUN(el,gets)(EditLine *el, int *nread)
 			    el->el_line.cursor = el->el_line.buffer;
 			break;
 		}
-		if ((unsigned int)cmdnum >= (unsigned int)el->el_map.nfunc) {	/* BUG CHECK command */
+		if ((size_t)cmdnum >= el->el_map.nfunc) {	/* BUG CHECK command */
 #ifdef DEBUG_EDIT
 			(void) fprintf(el->el_errfile,
 			    "ERROR: illegal command from key 0%o\r\n", ch);

Index: src/lib/libedit/readline.c
diff -u src/lib/libedit/readline.c:1.110 src/lib/libedit/readline.c:1.110.2.1
--- src/lib/libedit/readline.c:1.110	Tue Jan 21 13:51:44 2014
+++ src/lib/libedit/readline.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: readline.c,v 1.110 2014/01/21 13:51:44 christos Exp $	*/
+/*	$NetBSD: readline.c,v 1.110.2.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: readline.c,v 1.110 2014/01/21 13:51:44 christos Exp $");
+__RCSID("$NetBSD: readline.c,v 1.110.2.1 2014/08/10 06:51:57 tls Exp $");
 #endif /* not lint && not SCCSID */
 
 #include <sys/types.h>
@@ -1970,7 +1970,7 @@ rl_callback_read_char(void)
 		} else
 			wbuf = NULL;
 		(*(void (*)(const char *))rl_linefunc)(wbuf);
-		//el_set(e, EL_UNBUFFERED, 1);
+		el_set(e, EL_UNBUFFERED, 1);
 	}
 }
 

Index: src/lib/libedit/tty.c
diff -u src/lib/libedit/tty.c:1.42 src/lib/libedit/tty.c:1.42.8.1
--- src/lib/libedit/tty.c:1.42	Tue May 15 15:59:01 2012
+++ src/lib/libedit/tty.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: tty.c,v 1.42 2012/05/15 15:59:01 christos Exp $	*/
+/*	$NetBSD: tty.c,v 1.42.8.1 2014/08/10 06:51:57 tls 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.42 2012/05/15 15:59:01 christos Exp $");
+__RCSID("$NetBSD: tty.c,v 1.42.8.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -48,6 +48,7 @@ __RCSID("$NetBSD: tty.c,v 1.42 2012/05/1
 #include <errno.h>
 #include <unistd.h>	/* for isatty */
 #include <strings.h>	/* for ffs */
+#include <stdlib.h>	/* for abort */
 #include "el.h"
 #include "tty.h"
 
@@ -459,6 +460,7 @@ private void	tty__getchar(struct termios
 private void	tty__setchar(struct termios *, unsigned char *);
 private speed_t	tty__getspeed(struct termios *);
 private int	tty_setup(EditLine *);
+private void	tty_setup_flags(EditLine *, struct termios *, int);
 
 #define	t_qu	t_ts
 
@@ -517,17 +519,7 @@ tty_setup(EditLine *el)
 	el->el_tty.t_tabs = tty__gettabs(&el->el_tty.t_ex);
 	el->el_tty.t_eight = tty__geteightbit(&el->el_tty.t_ex);
 
-	el->el_tty.t_ex.c_iflag &= ~el->el_tty.t_t[EX_IO][MD_INP].t_clrmask;
-	el->el_tty.t_ex.c_iflag |= el->el_tty.t_t[EX_IO][MD_INP].t_setmask;
-
-	el->el_tty.t_ex.c_oflag &= ~el->el_tty.t_t[EX_IO][MD_OUT].t_clrmask;
-	el->el_tty.t_ex.c_oflag |= el->el_tty.t_t[EX_IO][MD_OUT].t_setmask;
-
-	el->el_tty.t_ex.c_cflag &= ~el->el_tty.t_t[EX_IO][MD_CTL].t_clrmask;
-	el->el_tty.t_ex.c_cflag |= el->el_tty.t_t[EX_IO][MD_CTL].t_setmask;
-
-	el->el_tty.t_ex.c_lflag &= ~el->el_tty.t_t[EX_IO][MD_LIN].t_clrmask;
-	el->el_tty.t_ex.c_lflag |= el->el_tty.t_t[EX_IO][MD_LIN].t_setmask;
+	tty_setup_flags(el, &el->el_tty.t_ex, EX_IO);
 
 	/*
          * Reset the tty chars to reasonable defaults
@@ -562,17 +554,7 @@ tty_setup(EditLine *el)
 		}
 	}
 
-	el->el_tty.t_ed.c_iflag &= ~el->el_tty.t_t[ED_IO][MD_INP].t_clrmask;
-	el->el_tty.t_ed.c_iflag |= el->el_tty.t_t[ED_IO][MD_INP].t_setmask;
-
-	el->el_tty.t_ed.c_oflag &= ~el->el_tty.t_t[ED_IO][MD_OUT].t_clrmask;
-	el->el_tty.t_ed.c_oflag |= el->el_tty.t_t[ED_IO][MD_OUT].t_setmask;
-
-	el->el_tty.t_ed.c_cflag &= ~el->el_tty.t_t[ED_IO][MD_CTL].t_clrmask;
-	el->el_tty.t_ed.c_cflag |= el->el_tty.t_t[ED_IO][MD_CTL].t_setmask;
-
-	el->el_tty.t_ed.c_lflag &= ~el->el_tty.t_t[ED_IO][MD_LIN].t_clrmask;
-	el->el_tty.t_ed.c_lflag |= el->el_tty.t_t[ED_IO][MD_LIN].t_setmask;
+	tty_setup_flags(el, &el->el_tty.t_ed, ED_IO);
 
 	tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]);
 	tty_bind_char(el, 1);
@@ -938,6 +920,58 @@ tty_bind_char(EditLine *el, int force)
 }
 
 
+private tcflag_t *
+tty__get_flag(struct termios *t, int kind) {
+	switch (kind) {
+	case MD_INP:
+		return &t->c_iflag;
+	case MD_OUT:
+		return &t->c_oflag;
+	case MD_CTL:
+		return &t->c_cflag;
+	case MD_LIN:
+		return &t->c_lflag;
+	default:
+		abort();
+		/*NOTREACHED*/
+	}
+}
+
+
+private tcflag_t
+tty_update_flag(EditLine *el, tcflag_t f, int mode, int kind)
+{
+	f &= ~el->el_tty.t_t[mode][kind].t_clrmask;
+	f |= el->el_tty.t_t[mode][kind].t_setmask;
+	return f;
+}
+
+
+private void
+tty_update_flags(EditLine *el, int kind)
+{
+	tcflag_t *tt, *ed, *ex;
+	tt = tty__get_flag(&el->el_tty.t_ts, kind);
+	ed = tty__get_flag(&el->el_tty.t_ed, kind);
+	ex = tty__get_flag(&el->el_tty.t_ex, kind);
+
+	if (*tt != *ex && (kind != MD_CTL || *tt != *ed)) {
+		*ed = tty_update_flag(el, *tt, ED_IO, kind);
+		*ex = tty_update_flag(el, *tt, EX_IO, kind);
+	}
+}
+
+
+private void
+tty_update_char(EditLine *el, int mode, int c) {
+	if (!((el->el_tty.t_t[mode][MD_CHAR].t_setmask & C_SH(c)))
+	    && (el->el_tty.t_c[TS_IO][c] != el->el_tty.t_c[EX_IO][c]))
+		el->el_tty.t_c[mode][c] = el->el_tty.t_c[TS_IO][c];
+	if (el->el_tty.t_t[mode][MD_CHAR].t_clrmask & C_SH(c))
+		el->el_tty.t_c[mode][c] = el->el_tty.t_vdisable;
+}
+
+
 /* tty_rawmode():
  * 	Set terminal into 1 character at a time mode.
  */
@@ -973,112 +1007,42 @@ tty_rawmode(EditLine *el)
 		(void) cfsetospeed(&el->el_tty.t_ed, el->el_tty.t_speed);
 	}
 	if (tty__cooked_mode(&el->el_tty.t_ts)) {
-		if (el->el_tty.t_ts.c_cflag != el->el_tty.t_ex.c_cflag) {
-			el->el_tty.t_ex.c_cflag =
-			    el->el_tty.t_ts.c_cflag;
-			el->el_tty.t_ex.c_cflag &=
-			    ~el->el_tty.t_t[EX_IO][MD_CTL].t_clrmask;
-			el->el_tty.t_ex.c_cflag |=
-			    el->el_tty.t_t[EX_IO][MD_CTL].t_setmask;
-
-			el->el_tty.t_ed.c_cflag =
-			    el->el_tty.t_ts.c_cflag;
-			el->el_tty.t_ed.c_cflag &=
-			    ~el->el_tty.t_t[ED_IO][MD_CTL].t_clrmask;
-			el->el_tty.t_ed.c_cflag |=
-			    el->el_tty.t_t[ED_IO][MD_CTL].t_setmask;
-		}
-		if ((el->el_tty.t_ts.c_lflag != el->el_tty.t_ex.c_lflag) &&
-		    (el->el_tty.t_ts.c_lflag != el->el_tty.t_ed.c_lflag)) {
-			el->el_tty.t_ex.c_lflag =
-			    el->el_tty.t_ts.c_lflag;
-			el->el_tty.t_ex.c_lflag &=
-			    ~el->el_tty.t_t[EX_IO][MD_LIN].t_clrmask;
-			el->el_tty.t_ex.c_lflag |=
-			    el->el_tty.t_t[EX_IO][MD_LIN].t_setmask;
-
-			el->el_tty.t_ed.c_lflag =
-			    el->el_tty.t_ts.c_lflag;
-			el->el_tty.t_ed.c_lflag &=
-			    ~el->el_tty.t_t[ED_IO][MD_LIN].t_clrmask;
-			el->el_tty.t_ed.c_lflag |=
-			    el->el_tty.t_t[ED_IO][MD_LIN].t_setmask;
-		}
-		if ((el->el_tty.t_ts.c_iflag != el->el_tty.t_ex.c_iflag) &&
-		    (el->el_tty.t_ts.c_iflag != el->el_tty.t_ed.c_iflag)) {
-			el->el_tty.t_ex.c_iflag =
-			    el->el_tty.t_ts.c_iflag;
-			el->el_tty.t_ex.c_iflag &=
-			    ~el->el_tty.t_t[EX_IO][MD_INP].t_clrmask;
-			el->el_tty.t_ex.c_iflag |=
-			    el->el_tty.t_t[EX_IO][MD_INP].t_setmask;
-
-			el->el_tty.t_ed.c_iflag =
-			    el->el_tty.t_ts.c_iflag;
-			el->el_tty.t_ed.c_iflag &=
-			    ~el->el_tty.t_t[ED_IO][MD_INP].t_clrmask;
-			el->el_tty.t_ed.c_iflag |=
-			    el->el_tty.t_t[ED_IO][MD_INP].t_setmask;
-		}
-		if ((el->el_tty.t_ts.c_oflag != el->el_tty.t_ex.c_oflag) &&
-		    (el->el_tty.t_ts.c_oflag != el->el_tty.t_ed.c_oflag)) {
-			el->el_tty.t_ex.c_oflag =
-			    el->el_tty.t_ts.c_oflag;
-			el->el_tty.t_ex.c_oflag &=
-			    ~el->el_tty.t_t[EX_IO][MD_OUT].t_clrmask;
-			el->el_tty.t_ex.c_oflag |=
-			    el->el_tty.t_t[EX_IO][MD_OUT].t_setmask;
-
-			el->el_tty.t_ed.c_oflag =
-			    el->el_tty.t_ts.c_oflag;
-			el->el_tty.t_ed.c_oflag &=
-			    ~el->el_tty.t_t[ED_IO][MD_OUT].t_clrmask;
-			el->el_tty.t_ed.c_oflag |=
-			    el->el_tty.t_t[ED_IO][MD_OUT].t_setmask;
-		}
+		int i;
+
+		for (i = MD_INP; i <= MD_LIN; i++)
+			tty_update_flags(el, i);
+
 		if (tty__gettabs(&el->el_tty.t_ex) == 0)
 			el->el_tty.t_tabs = 0;
 		else
 			el->el_tty.t_tabs = EL_CAN_TAB ? 1 : 0;
 
-		{
-			int i;
+		tty__getchar(&el->el_tty.t_ts, el->el_tty.t_c[TS_IO]);
+		/*
+		 * Check if the user made any changes.
+		 * If he did, then propagate the changes to the
+		 * edit and execute data structures.
+		 */
+		for (i = 0; i < C_NCC; i++)
+			if (el->el_tty.t_c[TS_IO][i] !=
+			    el->el_tty.t_c[EX_IO][i])
+				break;
 
-			tty__getchar(&el->el_tty.t_ts, el->el_tty.t_c[TS_IO]);
+		if (i != C_NCC) {
 			/*
-		         * Check if the user made any changes.
-		         * If he did, then propagate the changes to the
-		         * edit and execute data structures.
-		         */
+			 * Propagate changes only to the unprotected
+			 * chars that have been modified just now.
+			 */
 			for (i = 0; i < C_NCC; i++)
-				if (el->el_tty.t_c[TS_IO][i] !=
-				    el->el_tty.t_c[EX_IO][i])
-					break;
-
-			if (i != C_NCC) {
-				/*
-				 * Propagate changes only to the unprotected
-				 * chars that have been modified just now.
-				 */
-				for (i = 0; i < C_NCC; i++) {
-					if (!((el->el_tty.t_t[ED_IO][MD_CHAR].t_setmask & C_SH(i)))
-					    && (el->el_tty.t_c[TS_IO][i] != el->el_tty.t_c[EX_IO][i]))
-						el->el_tty.t_c[ED_IO][i] = el->el_tty.t_c[TS_IO][i];
-					if (el->el_tty.t_t[ED_IO][MD_CHAR].t_clrmask & C_SH(i))
-						el->el_tty.t_c[ED_IO][i] = el->el_tty.t_vdisable;
-				}
-				tty_bind_char(el, 0);
-				tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]);
-
-				for (i = 0; i < C_NCC; i++) {
-					if (!((el->el_tty.t_t[EX_IO][MD_CHAR].t_setmask & C_SH(i)))
-					    && (el->el_tty.t_c[TS_IO][i] != el->el_tty.t_c[EX_IO][i]))
-						el->el_tty.t_c[EX_IO][i] = el->el_tty.t_c[TS_IO][i];
-					if (el->el_tty.t_t[EX_IO][MD_CHAR].t_clrmask & C_SH(i))
-						el->el_tty.t_c[EX_IO][i] = el->el_tty.t_vdisable;
-				}
-				tty__setchar(&el->el_tty.t_ex, el->el_tty.t_c[EX_IO]);
-			}
+				tty_update_char(el, ED_IO, i);
+
+			tty_bind_char(el, 0);
+			tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]);
+
+			for (i = 0; i < C_NCC; i++)
+				tty_update_char(el, EX_IO, i);
+
+			tty__setchar(&el->el_tty.t_ex, el->el_tty.t_c[EX_IO]);
 		}
 	}
 	if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ed) == -1) {
@@ -1129,17 +1093,7 @@ tty_quotemode(EditLine *el)
 
 	el->el_tty.t_qu = el->el_tty.t_ed;
 
-	el->el_tty.t_qu.c_iflag &= ~el->el_tty.t_t[QU_IO][MD_INP].t_clrmask;
-	el->el_tty.t_qu.c_iflag |= el->el_tty.t_t[QU_IO][MD_INP].t_setmask;
-
-	el->el_tty.t_qu.c_oflag &= ~el->el_tty.t_t[QU_IO][MD_OUT].t_clrmask;
-	el->el_tty.t_qu.c_oflag |= el->el_tty.t_t[QU_IO][MD_OUT].t_setmask;
-
-	el->el_tty.t_qu.c_cflag &= ~el->el_tty.t_t[QU_IO][MD_CTL].t_clrmask;
-	el->el_tty.t_qu.c_cflag |= el->el_tty.t_t[QU_IO][MD_CTL].t_setmask;
-
-	el->el_tty.t_qu.c_lflag &= ~el->el_tty.t_t[QU_IO][MD_LIN].t_clrmask;
-	el->el_tty.t_qu.c_lflag |= el->el_tty.t_t[QU_IO][MD_LIN].t_setmask;
+	tty_setup_flags(el, &el->el_tty.t_qu, QU_IO);
 
 	if (tty_setty(el, TCSADRAIN, &el->el_tty.t_qu) == -1) {
 #ifdef DEBUG_TTY
@@ -1320,6 +1274,7 @@ tty_stty(EditLine *el, int argc __attrib
 		}
 	}
 
+	tty_setup_flags(el, tios, z);
 	if (el->el_tty.t_mode == z) {
 		if (tty_setty(el, TCSADRAIN, tios) == -1) {
 #ifdef DEBUG_TTY
@@ -1357,3 +1312,14 @@ tty_printchar(EditLine *el, unsigned cha
 	(void) fprintf(el->el_errfile, "\n");
 }
 #endif /* notyet */
+
+
+private void
+tty_setup_flags(EditLine *el, struct termios *tios, int mode)
+{
+	int kind;
+	for (kind = MD_INP; kind <= MD_LIN; kind++) {
+		tcflag_t *f = tty__get_flag(tios, kind);
+		*f = tty_update_flag(el, *f, mode, kind);
+	}
+}

Index: src/lib/libedit/tty.h
diff -u src/lib/libedit/tty.h:1.14 src/lib/libedit/tty.h:1.14.8.1
--- src/lib/libedit/tty.h:1.14	Tue May 15 15:59:01 2012
+++ src/lib/libedit/tty.h	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: tty.h,v 1.14 2012/05/15 15:59:01 christos Exp $	*/
+/*	$NetBSD: tty.h,v 1.14.8.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -442,6 +442,7 @@
 #define	QU_IO	2	/* used only for quoted chars	*/
 #define	NN_IO	3	/* The number of entries	*/
 
+/* Don't re-order */
 #define	MD_INP	0
 #define	MD_OUT	1
 #define	MD_CTL	2

Index: src/lib/libedit/vi.c
diff -u src/lib/libedit/vi.c:1.43 src/lib/libedit/vi.c:1.43.16.1
--- src/lib/libedit/vi.c:1.43	Mon Jan 16 14:57:45 2012
+++ src/lib/libedit/vi.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: vi.c,v 1.43 2012/01/16 14:57:45 christos Exp $	*/
+/*	$NetBSD: vi.c,v 1.43.16.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -42,7 +42,7 @@
 #if 0
 static char sccsid[] = "@(#)vi.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: vi.c,v 1.43 2012/01/16 14:57:45 christos Exp $");
+__RCSID("$NetBSD: vi.c,v 1.43.16.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -918,34 +918,26 @@ vi_comment_out(EditLine *el, Int c __att
  * NB: posix implies that we should enter insert mode, however
  * this is against historical precedent...
  */
-#ifdef __weak_reference
-__weakref_visible char *my_get_alias_text(const char *)
-    __weak_reference(get_alias_text);
-#endif
 protected el_action_t
 /*ARGSUSED*/
 vi_alias(EditLine *el, Int c __attribute__((__unused__)))
 {
-#ifdef __weak_reference
 	char alias_name[3];
-	char *alias_text;
+	const char *alias_text;
 
-	if (my_get_alias_text == 0) {
+	if (el->el_chared.c_aliasfun == NULL)
 		return CC_ERROR;
-	}
 
 	alias_name[0] = '_';
 	alias_name[2] = 0;
 	if (el_getc(el, &alias_name[1]) != 1)
 		return CC_ERROR;
 
-	alias_text = my_get_alias_text(alias_name);
+	alias_text = (*el->el_chared.c_aliasfun)(el->el_chared.c_aliasarg,
+	    alias_name);
 	if (alias_text != NULL)
 		FUN(el,push)(el, ct_decode_string(alias_text, &el->el_scratch));
 	return CC_NORM;
-#else
-	return CC_ERROR;
-#endif
 }
 
 /* vi_to_history_line():

Index: src/lib/libedit/TEST/tc1.c
diff -u src/lib/libedit/TEST/tc1.c:1.5 src/lib/libedit/TEST/tc1.c:1.5.22.1
--- src/lib/libedit/TEST/tc1.c:1.5	Sun Apr 18 21:17:47 2010
+++ src/lib/libedit/TEST/tc1.c	Sun Aug 10 06:51:57 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: tc1.c,v 1.5 2010/04/18 21:17:47 christos Exp $	*/
+/*	$NetBSD: tc1.c,v 1.5.22.1 2014/08/10 06:51:57 tls Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1992, 19
 #if 0
 static char sccsid[] = "@(#)test.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: tc1.c,v 1.5 2010/04/18 21:17:47 christos Exp $");
+__RCSID("$NetBSD: tc1.c,v 1.5.22.1 2014/08/10 06:51:57 tls Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -189,7 +189,7 @@ main(int argc, char *argv[])
 
 #endif
 		if (gotsig) {
-			(void) fprintf(stderr, "Got signal %d.\n", gotsig);
+			(void) fprintf(stderr, "Got signal %d.\n", (int)gotsig);
 			gotsig = 0;
 			el_reset(el);
 		}

Index: src/lib/libedit/TEST/wtc1.c
diff -u src/lib/libedit/TEST/wtc1.c:1.6 src/lib/libedit/TEST/wtc1.c:1.6.16.1
--- src/lib/libedit/TEST/wtc1.c:1.6	Fri Nov 18 20:30:01 2011
+++ src/lib/libedit/TEST/wtc1.c	Sun Aug 10 06:51:57 2014
@@ -170,7 +170,7 @@ main(int argc, char *argv[])
 #endif
 
 		if (gotsig) {
-			(void)fprintf(stderr, "Got signal %d.\n", gotsig);
+			(void)fprintf(stderr, "Got signal %d.\n", (int)gotsig);
 			gotsig = 0;
 			el_reset(el);
 		}

Reply via email to