diff --git a/src/normal.c b/src/normal.c
index c8e847a..71eefc4 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -4766,7 +4766,7 @@
 		}
 		break;
 
-    case '?':	/* "z?": suggestions for a badly spelled word  */
+    case '=':	/* "z=": suggestions for a badly spelled word  */
 		if (!checkclearopq(cap->oap))
 		    spell_suggest((int)cap->count0);
 		break;
@@ -8799,4 +8799,3 @@
     cap->retval |= CA_COMMAND_BUSY;	/* don't call edit() now */
 }
 #endif
-
diff --git a/src/os_mac.h b/src/os_mac.h
index 0641991..5e28659 100644
--- a/src/os_mac.h
+++ b/src/os_mac.h
@@ -144,8 +144,8 @@
 				       comment */
 
 
-#undef  USE_FNAME_CASE		/* TODO: make :e os_Mac.c, :w, save back the
-				   file as os_mac.c */
+#define USE_FNAME_CASE		/* make ":e os_Mac.c" open the file in its
+				   original case, as "os_mac.c" */
 #define BINARY_FILE_IO
 #define EOL_DEFAULT EOL_MAC
 #ifndef MACOS_X_UNIX		/* I hope that switching these two lines */
diff --git a/src/spell.c b/src/spell.c
index f57ff0c..c3f4698 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -851,28 +851,20 @@
     vim_memset(&mi, 0, sizeof(matchinf_T));
 
     /* A number is always OK.  Also skip hexadecimal numbers 0xFF99 and
-     * 0X99FF.  But when a word character follows do check spelling to find
-     * "3GPP". */
+     * 0X99FF.  But always do check spelling to find "3GPP" and "11
+     * julifeest". */
     if (*ptr >= '0' && *ptr <= '9')
     {
 	if (*ptr == '0' && (ptr[1] == 'x' || ptr[1] == 'X'))
 	    mi.mi_end = skiphex(ptr + 2);
 	else
-	{
 	    mi.mi_end = skipdigits(ptr);
-	    nrlen = mi.mi_end - ptr;
-	}
-	if (!spell_iswordp(mi.mi_end, wp->w_buffer))
-	    return (int)(mi.mi_end - ptr);
-
-	/* Try including the digits in the word. */
-	mi.mi_fend = ptr + nrlen;
+	nrlen = mi.mi_end - ptr;
     }
-    else
-	mi.mi_fend = ptr;
 
     /* Find the normal end of the word (until the next non-word character). */
     mi.mi_word = ptr;
+    mi.mi_fend = ptr;
     if (spell_iswordp(mi.mi_fend, wp->w_buffer))
     {
 	do
