mirror of https://github.com/tildeclub/ex-vi.git
* Visual 'U' followed by 'u' lead to garbage on the screen when multibyte
characters were present on the changed line.
This commit is contained in:
parent
335f1e9f08
commit
91464fa6fb
2
Changes
2
Changes
|
@ -6,6 +6,8 @@ Release ...
|
||||||
screen representation was sometimes not updated accordingly.
|
screen representation was sometimes not updated accordingly.
|
||||||
* Undoing the replacement of a multicolumn character by a singlecolumn
|
* Undoing the replacement of a multicolumn character by a singlecolumn
|
||||||
character twice made the singlecolumn character invisible.
|
character twice made the singlecolumn character invisible.
|
||||||
|
* Visual 'U' followed by 'u' lead to garbage on the screen when multibyte
|
||||||
|
characters were present on the changed line.
|
||||||
* The '\u', '\l', '\U', and '\L' substitution sequences work with multibyte
|
* The '\u', '\l', '\U', and '\L' substitution sequences work with multibyte
|
||||||
characters now.
|
characters now.
|
||||||
* Handle character case conversions with the '~' vi command correctly if the
|
* Handle character case conversions with the '~' vi command correctly if the
|
||||||
|
|
|
@ -70,12 +70,12 @@
|
||||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* Sccsid @(#)ex_version.c 1.111 (gritter) 1/10/05
|
* Sccsid @(#)ex_version.c 1.112 (gritter) 1/11/05
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ex.h"
|
#include "ex.h"
|
||||||
|
|
||||||
static char *versionstring = "@(#)Version 4.0 (gritter) 1/10/05";
|
static char *versionstring = "@(#)Version 4.0 (gritter) 1/11/05";
|
||||||
|
|
||||||
void
|
void
|
||||||
printver(void)
|
printver(void)
|
||||||
|
|
10
ex_vops.c
10
ex_vops.c
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#ifdef DOSCCS
|
#ifdef DOSCCS
|
||||||
static char sccsid[] = "@(#)ex_vops.c 1.24 (gritter) 1/10/05";
|
static char sccsid[] = "@(#)ex_vops.c 1.25 (gritter) 1/11/05";
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -225,8 +225,12 @@ vundo (
|
||||||
OO = Outchar; Outchar = vinschar; hold |= HOLDQIK;
|
OO = Outchar; Outchar = vinschar; hold |= HOLDQIK;
|
||||||
vprepins();
|
vprepins();
|
||||||
temp[vUA2 - linebuf] = 0;
|
temp[vUA2 - linebuf] = 0;
|
||||||
for (cp = &temp[vUA1 - linebuf]; *cp;)
|
for (cp = &temp[vUA1 - linebuf]; *cp;) {
|
||||||
putchar(*cp++);
|
int c, n;
|
||||||
|
nextc(c, cp, n);
|
||||||
|
cp += n;
|
||||||
|
putchar(c);
|
||||||
|
}
|
||||||
Outchar = OO; hold = oldhold;
|
Outchar = OO; hold = oldhold;
|
||||||
endim();
|
endim();
|
||||||
physdc(cindent(), cindent() + doomed);
|
physdc(cindent(), cindent() + doomed);
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#ifdef DOSCCS
|
#ifdef DOSCCS
|
||||||
static char sccsid[] = "@(#)ex_vput.c 1.38 (gritter) 1/10/05";
|
static char sccsid[] = "@(#)ex_vput.c 1.39 (gritter) 1/11/05";
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -691,11 +691,10 @@ vinschar(int c)
|
||||||
int (*OO)() = Outchar;
|
int (*OO)() = Outchar;
|
||||||
endim();
|
endim();
|
||||||
if (inscol + insmc0 != linend)
|
if (inscol + insmc0 != linend)
|
||||||
doomed -= inssiz + insmc0;
|
doomed -= inssiz + insmc1;
|
||||||
if (insmc1 == 0 && c != '\t' &&
|
if (insmc1 == 0 && c != '\t' &&
|
||||||
vtube0[inscol+insmc0] & MULTICOL)
|
vtube0[inscol+insmc0] & MULTICOL)
|
||||||
cellcpy(&vtube0[inscol+insmc0],
|
vtube0[inscol+insmc0] = INVBIT;
|
||||||
&vtube0[inscol+insmc0+1]);
|
|
||||||
/*
|
/*
|
||||||
* This indicates to vputchar() that it has to set MULTICOL
|
* This indicates to vputchar() that it has to set MULTICOL
|
||||||
* bits but must not call us recursively.
|
* bits but must not call us recursively.
|
||||||
|
|
Loading…
Reference in New Issue