From owner-svn-src-vendor@FreeBSD.ORG Thu Mar 31 18:23:38 2011 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C3647106564A; Thu, 31 Mar 2011 18:23:38 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B06658FC0A; Thu, 31 Mar 2011 18:23:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p2VINcEg014781; Thu, 31 Mar 2011 18:23:38 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p2VINcK5014767; Thu, 31 Mar 2011 18:23:38 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201103311823.p2VINcK5014767@svn.freebsd.org> From: "David E. O'Brien" Date: Thu, 31 Mar 2011 18:23:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r220214 - vendor/NetBSD/libedit/dist X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2011 18:23:38 -0000 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 @@ -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