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) {