diff --git a/src/opcodes.c b/src/opcodes.c
index d0c9bb16ea0b19534d2179014a0c2bda778043d0..96bfca6693759c90119daa4b1f6df289edcc0f86 100644
--- a/src/opcodes.c
+++ b/src/opcodes.c
@@ -26,7 +26,7 @@
 #include "bignum.h"
 #include "operators.h"
 
-RCSID("$Id: opcodes.c,v 1.83 2000/08/10 17:39:22 grubba Exp $");
+RCSID("$Id: opcodes.c,v 1.84 2000/08/13 19:34:34 grubba Exp $");
 
 void index_no_free(struct svalue *to,struct svalue *what,struct svalue *ind)
 {
@@ -1465,13 +1465,13 @@ CHAROPT2(								 \
   match_set:								 \
 	  for(e=eye;eye<input_len;eye++)				 \
 	  {								 \
-CHAROPT(								 \
+CHAROPT2(								 \
 	    if(input[eye]<sizeof(set.c))				 \
 	    {								 \
 )									 \
 	      if(set.c[input[eye]] == set.neg)				 \
 		break;							 \
-CHAROPT(								 \
+CHAROPT2(								 \
 	    }else{							 \
 	      if(set.a)							 \
 	      {								 \
@@ -1525,8 +1525,11 @@ CHAROPT(								 \
 
 /* Confusing? Yes - Hubbe */
 
+/* CHAROPT(X) is X if the match set is wide.
+ * CHAROPT2(X) is X if the input is wide.
+ */
 #define CHAROPT(X)
-#define CHAROPT2(X) X
+#define CHAROPT2(X)
 
 MKREADSET(0)
 MK_VERY_LOW_SSCANF(0,0)