Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Mar 2011 18:23:38 +0000 (UTC)
From:      "David E. O'Brien" <obrien@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r220214 - vendor/NetBSD/libedit/dist
Message-ID:  <201103311823.p2VINcK5014767@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: obrien
Date: Thu Mar 31 18:23:38 2011
New Revision: 220214
URL: http://svn.freebsd.org/changeset/base/220214

Log:
  Vendor import NetBSD's libedit of "2005/11/09 22:11:10 UTC".
  
  Obtained from:	NetBSD

Modified:
  vendor/NetBSD/libedit/dist/chared.c
  vendor/NetBSD/libedit/dist/chared.h
  vendor/NetBSD/libedit/dist/common.c
  vendor/NetBSD/libedit/dist/editline.3
  vendor/NetBSD/libedit/dist/el.c
  vendor/NetBSD/libedit/dist/emacs.c
  vendor/NetBSD/libedit/dist/filecomplete.c
  vendor/NetBSD/libedit/dist/key.c
  vendor/NetBSD/libedit/dist/makelist
  vendor/NetBSD/libedit/dist/map.c
  vendor/NetBSD/libedit/dist/refresh.c
  vendor/NetBSD/libedit/dist/term.c
  vendor/NetBSD/libedit/dist/vi.c

Modified: vendor/NetBSD/libedit/dist/chared.c
==============================================================================
--- vendor/NetBSD/libedit/dist/chared.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/chared.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: chared.c,v 1.24 2005/08/01 23:00:15 christos Exp $	*/
+/*	$NetBSD: chared.c,v 1.25 2005/08/08 01:41:30 christos 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.24 2005/08/01 23:00:15 christos Exp $");
+__RCSID("$NetBSD: chared.c,v 1.25 2005/08/08 01:41:30 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -523,6 +523,8 @@ ch_reset(EditLine *el, int mclear)
 	el->el_state.argument		= 1;
 	el->el_state.lastcmd		= ED_UNASSIGNED;
 
+	el->el_history.eventno		= 0;
+
 	if (mclear)
 		ch__clearmacro(el);
 }

Modified: vendor/NetBSD/libedit/dist/chared.h
==============================================================================
--- vendor/NetBSD/libedit/dist/chared.h	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/chared.h	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: chared.h,v 1.15 2005/08/01 23:00:15 christos Exp $	*/
+/*	$NetBSD: chared.h,v 1.16 2005/08/08 14:05:37 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -48,7 +48,7 @@
 #define	EL_MAXMACRO	10
 
 /*
- * This is a issue of basic "vi" look-and-feel. Defining VI_MOVE works
+ * This is an issue of basic "vi" look-and-feel. Defining VI_MOVE works
  * like real vi: i.e. the transition from command<->insert modes moves
  * the cursor.
  *

Modified: vendor/NetBSD/libedit/dist/common.c
==============================================================================
--- vendor/NetBSD/libedit/dist/common.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/common.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: common.c,v 1.17 2005/08/01 23:00:15 christos Exp $	*/
+/*	$NetBSD: common.c,v 1.18 2005/08/08 14:05:37 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.17 2005/08/01 23:00:15 christos Exp $");
+__RCSID("$NetBSD: common.c,v 1.18 2005/08/08 14:05:37 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -155,7 +155,7 @@ ed_delete_next_char(EditLine *el, int c 
 				return (CC_ERROR);
 #else
 				term_overwrite(el, STReof, 4);
-					/* then do a EOF */
+					/* then do an EOF */
 				term__flush();
 				return (CC_EOF);
 #endif

Modified: vendor/NetBSD/libedit/dist/editline.3
==============================================================================
--- vendor/NetBSD/libedit/dist/editline.3	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/editline.3	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-.\"	$NetBSD: editline.3,v 1.48 2005/07/14 15:02:37 wiz Exp $
+.\"	$NetBSD: editline.3,v 1.50 2005/10/12 09:29:43 wiz Exp $
 .\"
 .\" Copyright (c) 1997-2003 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -33,7 +33,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd July 14, 2005
+.Dd September 9, 2005
 .Os
 .Dt EDITLINE 3
 .Sh NAME
@@ -46,6 +46,7 @@
 .Nm el_push ,
 .Nm el_parse ,
 .Nm el_set ,
+.Nm el_get ,
 .Nm el_source ,
 .Nm el_resize ,
 .Nm el_line ,
@@ -629,11 +630,11 @@ Load the history list stored in
 Save the history list to
 .Fa file .
 .It Dv H_SETUNIQUE , Fa "int unique"
-Set if the adjacent identical event strings should not be entered into
-the history.
+Set flag that adjacent identical event strings should not be entered
+into the history.
 .It Dv H_GETUNIQUE
-Retrieve the current setting if if adjacent elements should be entered into
-the history.
+Retrieve the current setting if adjacent identical elements should
+be entered into the history.
 .It Dv H_DEL , Fa "int num"
 Delete the event numbered
 .Fa e .

Modified: vendor/NetBSD/libedit/dist/el.c
==============================================================================
--- vendor/NetBSD/libedit/dist/el.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/el.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: el.c,v 1.40 2005/08/01 23:00:15 christos Exp $	*/
+/*	$NetBSD: el.c,v 1.41 2005/08/19 04:21:47 christos 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.40 2005/08/01 23:00:15 christos Exp $");
+__RCSID("$NetBSD: el.c,v 1.41 2005/08/19 04:21:47 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -300,11 +300,11 @@ el_get(EditLine *el, int op, void *ret)
 	switch (op) {
 	case EL_PROMPT:
 	case EL_RPROMPT:
-		rv = prompt_get(el, (void *) &ret, op);
+		rv = prompt_get(el, (el_pfunc_t *) ret, op);
 		break;
 
 	case EL_EDITOR:
-		rv = map_get_editor(el, (void *) &ret);
+		rv = map_get_editor(el, (const char **)ret);
 		break;
 
 	case EL_SIGNAL:

Modified: vendor/NetBSD/libedit/dist/emacs.c
==============================================================================
--- vendor/NetBSD/libedit/dist/emacs.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/emacs.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: emacs.c,v 1.19 2004/10/28 21:14:52 dsl Exp $	*/
+/*	$NetBSD: emacs.c,v 1.20 2005/08/08 14:05:37 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)emacs.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: emacs.c,v 1.19 2004/10/28 21:14:52 dsl Exp $");
+__RCSID("$NetBSD: emacs.c,v 1.20 2005/08/08 14:05:37 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -59,7 +59,7 @@ em_delete_or_list(EditLine *el, int c __
 					/* if I'm at the end */
 		if (el->el_line.cursor == el->el_line.buffer) {
 					/* and the beginning */
-			term_overwrite(el, STReof, 4);	/* then do a EOF */
+			term_overwrite(el, STReof, 4);	/* then do an EOF */
 			term__flush();
 			return (CC_EOF);
 		} else {

Modified: vendor/NetBSD/libedit/dist/filecomplete.c
==============================================================================
--- vendor/NetBSD/libedit/dist/filecomplete.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/filecomplete.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: filecomplete.c,v 1.7 2005/06/11 18:18:59 christos Exp $	*/
+/*	$NetBSD: filecomplete.c,v 1.8 2005/08/03 13:41:38 christos Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
 
 #include "config.h"
 #if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: filecomplete.c,v 1.7 2005/06/11 18:18:59 christos Exp $");
+__RCSID("$NetBSD: filecomplete.c,v 1.8 2005/08/03 13:41:38 christos Exp $");
 #endif /* not lint && not SCCSID */
 
 #include <sys/types.h>
@@ -438,7 +438,7 @@ fn_complete(EditLine *el,
 	} else
 		matches = 0;
 	if (!attempted_completion_function || 
-	    (over != NULL && *over && !matches))
+	    (over != NULL && !*over && !matches))
 		matches = completion_matches(temp, complet_func);
 
 	if (over != NULL)

Modified: vendor/NetBSD/libedit/dist/key.c
==============================================================================
--- vendor/NetBSD/libedit/dist/key.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/key.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: key.c,v 1.16 2005/07/06 21:13:02 christos Exp $	*/
+/*	$NetBSD: key.c,v 1.17 2005/08/08 14:05:37 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)key.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: key.c,v 1.16 2005/07/06 21:13:02 christos Exp $");
+__RCSID("$NetBSD: key.c,v 1.17 2005/08/08 14:05:37 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -46,7 +46,7 @@ __RCSID("$NetBSD: key.c,v 1.16 2005/07/0
  *	  the extended-key map.
  *
  *      An extended-key (key) is a sequence of keystrokes introduced
- *	with an sequence introducer and consisting of an arbitrary
+ *	with a sequence introducer and consisting of an arbitrary
  *	number of characters.  This module maintains a map (the el->el_key.map)
  *	to convert these extended-key sequences into input strs
  *	(XK_STR), editor functions (XK_CMD), or unix commands (XK_EXE).
@@ -449,7 +449,7 @@ node__put(EditLine *el, key_node_t *ptr)
 
 
 /* node__get():
- *	Returns pointer to an key_node_t for ch.
+ *	Returns pointer to a key_node_t for ch.
  */
 private key_node_t *
 node__get(int ch)

Modified: vendor/NetBSD/libedit/dist/makelist
==============================================================================
--- vendor/NetBSD/libedit/dist/makelist	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/makelist	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,5 +1,5 @@
 #!/bin/sh -
-#	$NetBSD: makelist,v 1.9 2005/05/16 13:14:43 lukem Exp $
+#	$NetBSD: makelist,v 1.11 2005/10/22 16:45:03 christos Exp $
 #
 # Copyright (c) 1992, 1993
 #	The Regents of the University of California.  All rights reserved.
@@ -118,7 +118,6 @@ case $FLAG in
 	    }
 	}
 	END {
-	    printf("    { NULL, 0, NULL }\n");
 	    printf("};\n");
 	    printf("\nprotected const el_bindings_t* help__get()");
 	    printf("{ return el_func_help; }\n");
@@ -141,7 +140,7 @@ case $FLAG in
 #
 -fh)
     cat $FILES | $AWK '/el_action_t/ { print $3 }' | \
-    sort | tr '[a-z]' '[A-Z]' | $AWK '
+    sort | tr '[:lower:]' '[:upper:]' | $AWK '
 	BEGIN {
 	    printf("/* Automatically generated file, do not edit */\n");
 	    printf("#ifndef _h_fcns_c\n#define _h_fcns_c\n");

Modified: vendor/NetBSD/libedit/dist/map.c
==============================================================================
--- vendor/NetBSD/libedit/dist/map.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/map.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: map.c,v 1.20 2004/08/13 12:10:39 mycroft Exp $	*/
+/*	$NetBSD: map.c,v 1.22 2005/08/09 13:58:44 christos 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.20 2004/08/13 12:10:39 mycroft Exp $");
+__RCSID("$NetBSD: map.c,v 1.22 2005/08/09 13:58:44 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -1125,11 +1125,12 @@ private void
 map_print_key(EditLine *el, el_action_t *map, const char *in)
 {
 	char outbuf[EL_BUFSIZ];
-	el_bindings_t *bp;
+	el_bindings_t *bp, *ep;
 
 	if (in[0] == '\0' || in[1] == '\0') {
 		(void) key__decode_str(in, outbuf, "");
-		for (bp = el->el_map.help; bp->name != NULL; bp++)
+		ep = &el->el_map.help[el->el_map.nfunc];
+		for (bp = el->el_map.help; bp < ep; bp++)
 			if (bp->func == map[(unsigned char) *in]) {
 				(void) fprintf(el->el_outfile,
 				    "%s\t->\t%s\n", outbuf, bp->name);
@@ -1146,7 +1147,7 @@ map_print_key(EditLine *el, el_action_t 
 private void
 map_print_some_keys(EditLine *el, el_action_t *map, int first, int last)
 {
-	el_bindings_t *bp;
+	el_bindings_t *bp, *ep;
 	char firstbuf[2], lastbuf[2];
 	char unparsbuf[EL_BUFSIZ], extrabuf[EL_BUFSIZ];
 
@@ -1161,7 +1162,8 @@ map_print_some_keys(EditLine *el, el_act
 			    key__decode_str(firstbuf, unparsbuf, STRQQ));
 		return;
 	}
-	for (bp = el->el_map.help; bp->name != NULL; bp++) {
+	ep = &el->el_map.help[el->el_map.nfunc];
+	for (bp = el->el_map.help; bp < ep; bp++) {
 		if (bp->func == map[first]) {
 			if (first == last) {
 				(void) fprintf(el->el_outfile, "%-15s->  %s\n",
@@ -1244,7 +1246,7 @@ map_bind(EditLine *el, int argc, const c
 	char outbuf[EL_BUFSIZ];
 	const char *in = NULL;
 	char *out = NULL;
-	el_bindings_t *bp;
+	el_bindings_t *bp, *ep;
 	int cmd;
 	int key;
 
@@ -1286,8 +1288,8 @@ map_bind(EditLine *el, int argc, const c
 				return (0);
 
 			case 'l':
-				for (bp = el->el_map.help; bp->name != NULL;
-				    bp++)
+				ep = &el->el_map.help[el->el_map.nfunc];
+				for (bp = el->el_map.help; bp < ep; bp++)
 					(void) fprintf(el->el_outfile,
 					    "%s\n\t%s\n",
 					    bp->name, bp->description);
@@ -1388,7 +1390,7 @@ protected int
 map_addfunc(EditLine *el, const char *name, const char *help, el_func_t func)
 {
 	void *p;
-	int nf = el->el_map.nfunc + 2;
+	int nf = el->el_map.nfunc + 1;
 
 	if (name == NULL || help == NULL || func == NULL)
 		return (-1);
@@ -1407,7 +1409,6 @@ map_addfunc(EditLine *el, const char *na
 	el->el_map.help[nf].name = name;
 	el->el_map.help[nf].func = nf;
 	el->el_map.help[nf].description = help;
-	el->el_map.help[++nf].name = NULL;
 	el->el_map.nfunc++;
 
 	return (0);

Modified: vendor/NetBSD/libedit/dist/refresh.c
==============================================================================
--- vendor/NetBSD/libedit/dist/refresh.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/refresh.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: refresh.c,v 1.26 2003/08/07 16:44:33 agc Exp $	*/
+/*	$NetBSD: refresh.c,v 1.27 2005/11/09 22:11:10 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.26 2003/08/07 16:44:33 agc Exp $");
+__RCSID("$NetBSD: refresh.c,v 1.27 2005/11/09 22:11:10 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -56,6 +56,7 @@ private void	re_update_line(EditLine *, 
 private void	re_insert (EditLine *, char *, int, int, char *, int);
 private void	re_delete(EditLine *, char *, int, int, int);
 private void	re_fastputc(EditLine *, int);
+private void	re_clear_eol(EditLine *, int, int, int);
 private void	re__strncopy(char *, char *, size_t);
 private void	re__copy_and_pad(char *, const char *, size_t);
 
@@ -347,7 +348,7 @@ re_insert(EditLine *el __attribute__((__
 	ELRE_DEBUG(1,
 	    (__F, "re_insert() starting: %d at %d max %d, d == \"%s\"\n",
 	    num, dat, dlen, d));
-	ELRE_DEBUG(1, (__F, "s == \"%s\"n", s));
+	ELRE_DEBUG(1, (__F, "s == \"%s\"\n", s));
 
 	/* open up the space for num chars */
 	if (num > 0) {
@@ -360,7 +361,7 @@ re_insert(EditLine *el __attribute__((__
 	ELRE_DEBUG(1, (__F,
 		"re_insert() after insert: %d at %d max %d, d == \"%s\"\n",
 		num, dat, dlen, d));
-	ELRE_DEBUG(1, (__F, "s == \"%s\"n", s));
+	ELRE_DEBUG(1, (__F, "s == \"%s\"\n", s));
 
 	/* copy the characters */
 	for (a = d + dat; (a < d + dlen) && (num > 0); num--)
@@ -369,7 +370,7 @@ re_insert(EditLine *el __attribute__((__
 	ELRE_DEBUG(1,
 	    (__F, "re_insert() after copy: %d at %d max %d, %s == \"%s\"\n",
 	    num, dat, dlen, d, s));
-	ELRE_DEBUG(1, (__F, "s == \"%s\"n", s));
+	ELRE_DEBUG(1, (__F, "s == \"%s\"\n", s));
 }
 
 
@@ -418,6 +419,32 @@ re__strncopy(char *a, char *b, size_t n)
 		*a++ = *b++;
 }
 
+/* re_clear_eol():
+ *	Find the number of characters we need to clear till the end of line
+ *	in order to make sure that we have cleared the previous contents of
+ *	the line. fx and sx is the number of characters inserted or deleted
+ *	int the first or second diff, diff is the difference between the
+ * 	number of characters between the new and old line.
+ */
+private void
+re_clear_eol(EditLine *el, int fx, int sx, int diff)
+{
+
+	ELRE_DEBUG(1, (__F, "re_clear_eol sx %d, fx %d, diff %d\n",
+	    sx, fx, diff));
+
+	if (fx < 0)
+		fx = -fx;
+	if (sx < 0)
+		sx = -sx;
+	if (fx > diff)
+		diff = fx;
+	if (sx > diff)
+		diff = sx;
+
+	ELRE_DEBUG(1, (__F, "re_clear_eol %d\n", diff));
+	term_clear_EOL(el, diff);
+}
 
 /*****************************************************************
     re_update_line() is based on finding the middle difference of each line
@@ -633,7 +660,7 @@ re_update_line(EditLine *el, char *old, 
 	fx = (nsb - nfd) - (osb - ofd);
 	sx = (nls - nse) - (ols - ose);
 
-	ELRE_DEBUG(1, (__F, "\n"));
+	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",
 		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",
@@ -782,9 +809,7 @@ re_update_line(EditLine *el, char *old, 
 		         * write (nsb-nfd) chars of new starting at nfd
 		         */
 			term_overwrite(el, nfd, (nsb - nfd));
-			ELRE_DEBUG(1, (__F,
-			    "cleareol %d\n", (oe - old) - (ne - new)));
-			term_clear_EOL(el, (oe - old) - (ne - new));
+			re_clear_eol(el, fx, sx, (oe - old) - (ne - new));
 			/*
 		         * Done
 		         */
@@ -825,10 +850,7 @@ re_update_line(EditLine *el, char *old, 
 			ELRE_DEBUG(1, (__F,
 			    "but with nothing left to save\r\n"));
 			term_overwrite(el, nse, (nls - nse));
-			ELRE_DEBUG(1, (__F,
-			    "cleareol %d\n", (oe - old) - (ne - new)));
-			if ((oe - old) - (ne - new) != 0)
-				term_clear_EOL(el, (oe - old) - (ne - new));
+			re_clear_eol(el, fx, sx, (oe - old) - (ne - new));
 		}
 	}
 	/*

Modified: vendor/NetBSD/libedit/dist/term.c
==============================================================================
--- vendor/NetBSD/libedit/dist/term.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/term.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: term.c,v 1.40 2004/05/22 23:21:28 christos Exp $	*/
+/*	$NetBSD: term.c,v 1.41 2005/08/08 14:05:37 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: term.c,v 1.40 2004/05/22 23:21:28 christos Exp $");
+__RCSID("$NetBSD: term.c,v 1.41 2005/08/08 14:05:37 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -944,7 +944,7 @@ term_set(EditLine *el, const char *term)
 		Val(T_co) = tgetnum("co");
 		Val(T_li) = tgetnum("li");
 		for (t = tstr; t->name != NULL; t++) {
-			/* XXX: some systems tgetstr needs non const */
+			/* XXX: some systems' tgetstr needs non const */
 			term_alloc(el, t, tgetstr(strchr(t->name, *t->name),
 			    &area));
 		}
@@ -1449,7 +1449,7 @@ term_echotc(EditLine *el, int argc __att
 			break;
 		}
 	if (t->name == NULL) {
-		/* XXX: some systems tgetstr needs non const */
+		/* XXX: some systems' tgetstr needs non const */
 		scap = tgetstr(strchr(*argv, **argv), &area);
 	}
 	if (!scap || scap[0] == '\0') {

Modified: vendor/NetBSD/libedit/dist/vi.c
==============================================================================
--- vendor/NetBSD/libedit/dist/vi.c	Thu Mar 31 18:17:16 2011	(r220213)
+++ vendor/NetBSD/libedit/dist/vi.c	Thu Mar 31 18:23:38 2011	(r220214)
@@ -1,4 +1,4 @@
-/*	$NetBSD: vi.c,v 1.21 2005/04/25 01:06:03 matt Exp $	*/
+/*	$NetBSD: vi.c,v 1.24 2005/08/10 12:46:24 christos Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -41,7 +41,7 @@
 #if 0
 static char sccsid[] = "@(#)vi.c	8.1 (Berkeley) 6/4/93";
 #else
-__RCSID("$NetBSD: vi.c,v 1.21 2005/04/25 01:06:03 matt Exp $");
+__RCSID("$NetBSD: vi.c,v 1.24 2005/08/10 12:46:24 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -71,8 +71,10 @@ cv_action(EditLine *el, int c)
 			    el->el_line.lastchar - el->el_line.buffer);
 		el->el_chared.c_vcmd.action = NOP;
 		el->el_chared.c_vcmd.pos = 0;
-		el->el_line.lastchar = el->el_line.buffer;
-		el->el_line.cursor = el->el_line.buffer;
+		if (!(c & YANK)) {
+			el->el_line.lastchar = el->el_line.buffer;
+			el->el_line.cursor = el->el_line.buffer;
+		}
 		if (c & INSERT)
 			el->el_map.current = el->el_map.key;
 
@@ -89,7 +91,6 @@ cv_action(EditLine *el, int c)
 private el_action_t
 cv_paste(EditLine *el, int c)
 {
-	char *ptr;
 	c_kill_t *k = &el->el_chared.c_kill;
 	int len = k->last - k->buf;
 
@@ -103,12 +104,12 @@ cv_paste(EditLine *el, int c)
 
 	if (!c && el->el_line.cursor < el->el_line.lastchar)
 		el->el_line.cursor++;
-	ptr = el->el_line.cursor;
 
 	c_insert(el, len);
 	if (el->el_line.cursor + len > el->el_line.lastchar)
 		return (CC_ERROR);
-	(void) memcpy(ptr, k->buf, len +0u);
+	(void) memcpy(el->el_line.cursor, k->buf, len +0u);
+
 	return (CC_REFRESH);
 }
 
@@ -895,7 +896,7 @@ vi_yank(EditLine *el, int c)
 
 /* vi_comment_out():
  *	Vi comment out current command
- *	[c]
+ *	[#]
  */
 protected el_action_t
 /*ARGSUSED*/
@@ -912,7 +913,7 @@ vi_comment_out(EditLine *el, int c)
 /* vi_alias():
  *	Vi include shell alias
  *	[@]
- * NB: posix impiles that we should enter insert mode, however
+ * NB: posix implies that we should enter insert mode, however
  * this is against historical precedent...
  */
 protected el_action_t



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103311823.p2VINcK5014767>