diff --git a/runtime/syntax/tcsh.vim b/runtime/syntax/tcsh.vim
index 9c6701de520821c05b93847f78aab48e02013c7e..12411e89be3af41bba84af906951664a6bc6a906 100644
--- a/runtime/syntax/tcsh.vim
+++ b/runtime/syntax/tcsh.vim
@@ -1,14 +1,14 @@
 " Vim syntax file
 " Language:		C-shell (tcsh)
-" Maintainer:		Gautam Iyer <gautam@math.uchicago.edu>
-" Last Modified:	Mon 23 Feb 2004 02:28:51 PM CST
+" Maintainor:		Gautam Iyer <gautam@math.uchicago.edu>
+" Last Modified:	Sat 11 Mar 2006 11:16:47 AM CST
 "
 " Description: We break up each statement into a "command" and an "end" part.
 " All groups are either a "command" or part of the "end" of a statement (ie
 " everything after the "command"). This is because blindly highlighting tcsh
 " statements as keywords caused way too many false positives. Eg:
 "
-"	set history=200
+" 	set history=200
 "
 " causes history to come up as a keyword, which we want to avoid.
 
@@ -165,8 +165,8 @@ hi def link tcshExprOp		tcshOperator
 hi def link tcshExprEnd		tcshOperator
 hi def link tcshComment		comment
 hi def link tcshCommentTi	preproc
-hi def link tcshCommentSp	WarningMsg
-hi def link tcshSharpBang	preproc
+hi def link tcshCommentSp	tcshCommentTi
+hi def link tcshSharpBang	tcshCommentTi
 hi def link tcshTodo		todo
 hi def link tcshSQuote		constant
 hi def link tcshDQuote		tcshSQuote
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index e569b9a83206fa86d97214b725bb80c926891bd4..dbebbd789ba8821ea27c89bb3174a45381361ee2 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 aae515ca51f0bb48013110d0042ea14c504ce82e..3a336d5e18c7d16f7261a1448f309f6e09c40df9 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -7880,9 +7880,13 @@ nv_g_cmd(cap)
     /*
      * "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 28976b131a9e0ff79f1cfb2eac971cc71998b07c..f87a1cd5d760bbb2a1a3b1d0bd7c97de1b379cb0 100644
--- a/src/os_vms.c
+++ b/src/os_vms.c
@@ -298,35 +298,35 @@ vms_sys_status(int status)
     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 0a22457b687ed137c26e3950071d1194538e4f83..c23fe22983c46071d534aed279aa628607ccc09d 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