updated for version 7.0227
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index e569b9a..dbebbd7 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -23,7 +23,7 @@
#
# OLE interface: OLE=yes (usually with GUI=yes)
#
-# Multibyte support: MBYTE=yes
+# Multibyte support: MBYTE=yes (default is no)
#
# IME support: IME=yes (requires GUI=yes)
# DYNAMIC_IME=[yes or no] (to load the imm32.dll dynamically, default
diff --git a/src/normal.c b/src/normal.c
index aae515c..3a336d5 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -7880,9 +7880,13 @@
/*
* "g8": Display the bytes used for the UTF-8 character under the
* cursor. It is displayed in hex.
+ * "8g8" finds illegal byte sequence.
*/
case '8':
- show_utf8();
+ if (cap->count0 == 8)
+ utf_find_illegal();
+ else
+ show_utf8();
break;
#endif
diff --git a/src/os_vms.c b/src/os_vms.c
index 28976b1..f87a1cd 100644
--- a/src/os_vms.c
+++ b/src/os_vms.c
@@ -298,35 +298,35 @@
int
vms_read(char *inbuf, size_t nbytes)
{
- int status, function, len;
- TT_MODE tt_mode;
- ITEM itmlst[2]; /* terminates on everything */
+ int status, function, len;
+ TT_MODE tt_mode;
+ ITEM itmlst[2]; /* terminates on everything */
static long trm_mask[8] = {-1, -1, -1, -1, -1, -1, -1, -1};
/* whatever happened earlier we need an iochan here */
if (!iochan)
- tt_mode = get_tty();
+ tt_mode = get_tty();
/* important: clean the inbuf */
memset(inbuf, 0, nbytes);
/* set up the itemlist for the first read */
vul_item(&itmlst[0], 0, TRM$_MODIFIERS,
- (char *)( TRM$M_TM_NOECHO | TRM$M_TM_NOEDIT |
- TRM$M_TM_NOFILTR | TRM$M_TM_TRMNOECHO |
- TRM$M_TM_NORECALL) , 0);
+ (char *)( TRM$M_TM_NOECHO | TRM$M_TM_NOEDIT |
+ TRM$M_TM_NOFILTR | TRM$M_TM_TRMNOECHO |
+ TRM$M_TM_NORECALL) , 0);
vul_item(&itmlst[1], sizeof(trm_mask), TRM$_TERM, (char *)&trm_mask, 0);
/* wait forever for a char */
function = (IO$_READLBLK | IO$M_EXTEND);
status = sys$qiow(0, iochan, function, &iosb, 0, 0,
- inbuf, nbytes-1, 0, 0, &itmlst, sizeof(itmlst));
+ inbuf, nbytes-1, 0, 0, &itmlst, sizeof(itmlst));
len = strlen(inbuf); /* how many chars we got? */
/* read immedatelly the rest in the IO queue */
function = (IO$_READLBLK | IO$M_TIMED | IO$M_ESCAPE | IO$M_NOECHO | IO$M_NOFILTR);
status = sys$qiow(0, iochan, function, &iosb, 0, 0,
- inbuf+len, nbytes-1-len, 0, 0, 0, 0);
+ inbuf+len, nbytes-1-len, 0, 0, 0, 0);
len = strlen(inbuf); /* return the total length */
diff --git a/src/testdir/test61.ok b/src/testdir/test61.ok
index 0a22457..c23fe22 100644
--- a/src/testdir/test61.ok
+++ b/src/testdir/test61.ok
@@ -7,12 +7,12 @@
123456
1234567
12345678
-123456789
456789
3456789
23456789
123456789
123456789
+123456789
123456
2222 -----
123456abc