Module Name:    src
Committed By:   christos
Date:           Sat Mar 24 20:08:44 UTC 2012

Modified Files:
        src/lib/libedit: common.c

Log Message:
>From Jilles Tjoelker:
Do not move the cursor for ed-delete-next-char in emacs mode.
This makes ed-delete-next-char suitable for mapping to the <Delete> key.
Behaviour in vi mode is unchanged (for 'x').


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/lib/libedit/common.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/common.c
diff -u src/lib/libedit/common.c:1.28 src/lib/libedit/common.c:1.29
--- src/lib/libedit/common.c:1.28	Fri Jul 29 16:58:07 2011
+++ src/lib/libedit/common.c	Sat Mar 24 16:08:43 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: common.c,v 1.28 2011/07/29 20:58:07 christos Exp $	*/
+/*	$NetBSD: common.c,v 1.29 2012/03/24 20:08:43 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.28 2011/07/29 20:58:07 christos Exp $");
+__RCSID("$NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -165,15 +165,12 @@ ed_delete_next_char(EditLine *el, Int c 
 				return CC_ERROR;
 #endif
 			}
-		} else {
-			if (el->el_line.cursor != el->el_line.buffer)
-				el->el_line.cursor--;
-			else
+		} else
 				return CC_ERROR;
-		}
 	}
 	c_delafter(el, el->el_state.argument);	/* delete after dot */
-	if (el->el_line.cursor >= el->el_line.lastchar &&
+	if (el->el_map.type == MAP_VI &&
+	    el->el_line.cursor >= el->el_line.lastchar &&
 	    el->el_line.cursor > el->el_line.buffer)
 			/* bounds check */
 		el->el_line.cursor = el->el_line.lastchar - 1;

Reply via email to