diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 99fb8d0..5750959 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.0aa.  Last change: 2005 Nov 30
+*index.txt*     For Vim version 7.0aa.  Last change: 2005 Dec 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -759,18 +759,19 @@
 				   cursor on first non-blank
 |z.|		z.		   redraw, cursor line to center of window,
 				   cursor on first non-blank
+|z=|		z=		   make spelling suggestions
 |zA|		zA		   open a closed fold or close an open fold
 				   recursively
 |zC|		zC		   close folds recursively
 |zD|		zD		   delete folds recursively
 |zE|		zE		   eliminate all folds
 |zF|		zF		   create a fold for N lines
-|zG|		zG		   mark word as good word
+|zG|		zG		   mark word as good spelled word
 |zM|		zM		   set 'foldlevel' to zero
 |zN|		zN		   set 'foldenable'
 |zO|		zO		   open folds recursively
 |zR|		zR		   set 'foldlevel' to the deepest fold
-|zW|		zW		   mark word as wrong (bad) word
+|zW|		zW		   mark word as wrong (bad) spelled word
 |zX|		zX		   re-apply 'foldlevel'
 |z^|		z^		   cursor on line N (default line above
 				   window), otherwise like "z-"
@@ -782,7 +783,7 @@
 				   position the cursor at the end (right side)
 				   of the screen
 |zf|		zf{motion}	   create a fold for Nmove text
-|zg|		zg		   mark word as good word
+|zg|		zg		   mark word as good spelled word
 |zh|		zh		   when 'wrap' off scroll screen N characters
 				   to the right
 |zi|		zi		   toggle 'foldenable'
@@ -799,7 +800,7 @@
 				   side) of the screen
 |zt|		zt		   redraw, cursor line at top of window
 |zv|		zv		   open enough folds to view the cursor line
-|zw|		zw		   mark word as wrong (bad) word
+|zw|		zw		   mark word as wrong (bad) spelled word
 |zx|		zx		   re-apply 'foldlevel' and do "zv"
 |zz|		zz		   redraw, cursor line at center of window
 |z<Left>|	z<Left>		   same as "zh"
@@ -1375,7 +1376,7 @@
 |:source|	:so[urce]	read Vim or Ex commands from a file
 |:spelldump|	:spelld[ump]	split window and fill with all correct words
 |:spellgood|	:spe[llgood]	add good word for spelling
-|:spellrepall|	:spellr[epall]	replace all bad words like last |z?|
+|:spellrepall|	:spellr[epall]	replace all bad words like last |z=|
 |:spellwrong|	:spellw[rong]	add spelling mistake
 |:split|	:sp[lit]	split current window
 |:sprevious|	:spr[evious]	split window and go to previous file in the
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
