Module Name:    src
Committed By:   christos
Date:           Sun Jun 30 17:11:27 UTC 2024

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

Log Message:
Handle the case where the cursor is on the first character.
set -o vi
x ESC ~
(Robert Morris)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279545


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/lib/libedit/refresh.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/refresh.c
diff -u src/lib/libedit/refresh.c:1.58 src/lib/libedit/refresh.c:1.59
--- src/lib/libedit/refresh.c:1.58	Thu Sep  9 16:24:07 2021
+++ src/lib/libedit/refresh.c	Sun Jun 30 13:11:27 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: refresh.c,v 1.58 2021/09/09 20:24:07 christos Exp $	*/
+/*	$NetBSD: refresh.c,v 1.59 2024/06/30 17:11:27 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.58 2021/09/09 20:24:07 christos Exp $");
+__RCSID("$NetBSD: refresh.c,v 1.59 2024/06/30 17:11:27 christos Exp $");
 #endif
 #endif /* not lint && not SCCSID */
 
@@ -1155,6 +1155,10 @@ re_fastaddc(EditLine *el)
 	wchar_t c;
 	int rhdiff;
 
+	if (el->el_line.cursor == el->el_line.buffer) {
+		re_refresh(el);
+		return;
+	}
 	c = el->el_line.cursor[-1];
 
 	if (c == '\t' || el->el_line.cursor != el->el_line.lastchar) {

Reply via email to