* The position of '$' when changing text was fixed for cases where the first

changed character had multiple columns but the last one had not.
This commit is contained in:
Gunnar Ritter 2005-01-13 19:03:43 +00:00
parent a40b8f3ae0
commit cffa86a85e
2 changed files with 6 additions and 3 deletions

View File

@ -13,6 +13,8 @@ Release ...
the end of the new text. the end of the new text.
* Visual 'U' followed by 'u' lead to garbage on the screen when multibyte * Visual 'U' followed by 'u' lead to garbage on the screen when multibyte
characters were present on the changed line. characters were present on the changed line.
* The position of '$' when changing text was fixed for cases where the first
changed character had multiple columns but the last one had not.
* The handling of multicolumn characters was fixed for terminals without the * The handling of multicolumn characters was fixed for terminals without the
IM (insert mode) capability. It is unlikely that such terminals actually IM (insert mode) capability. It is unlikely that such terminals actually
exist, but vi will use the corresponding code for open mode if a termcap exist, but vi will use the corresponding code for open mode if a termcap

View File

@ -73,7 +73,7 @@
#ifndef lint #ifndef lint
#ifdef DOSCCS #ifdef DOSCCS
static char sccsid[] = "@(#)ex_vops.c 1.25 (gritter) 1/11/05"; static char sccsid[] = "@(#)ex_vops.c 1.26 (gritter) 1/13/05";
#endif #endif
#endif #endif
@ -671,9 +671,10 @@ smallchange:
if (state == HARDOPEN) if (state == HARDOPEN)
bleep(i, cp); bleep(i, cp);
else { else {
int c, n; int c, d, n;
vcursbef(wcursor); vcursbef(wcursor);
nextc(c, cursor, n); d = skipleft(linebuf, wcursor);
nextc(c, &wcursor[d], n);
if (colsc(c) > 1) if (colsc(c) > 1)
putchar(' '); putchar(' ');
putchar('$'); putchar('$');