diff --git a/src/edit.c b/src/edit.c
index d9bfb2f..e4370fc 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -3515,6 +3515,7 @@
 		compl_col = spell_word_start(startcol);
 	    if (compl_col >= (colnr_T)startcol)
 		return FAIL;
+	    spell_expand_check_cap(compl_col);
 	    compl_length = (int)curs_col - compl_col;
 	    compl_pattern = vim_strnsave(line + compl_col, compl_length);
 	    if (compl_pattern == NULL)
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 6ff5fc6..c5d1eb0 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -1971,7 +1971,9 @@
 	vim_free(padding);
 	pad_size = Columns;
 
-	padding = (int *)alloc(pad_size * sizeof(int));
+	/* Don't give an out-of-memory message here, it would call us
+	 * recursively. */
+	padding = (int *)lalloc(pad_size * sizeof(int), FALSE);
 	if (padding != NULL)
 	    for (i = 0; i < pad_size; i++)
 		padding[i] = gui.char_width;
@@ -2007,10 +2009,10 @@
 	    && (unicodebuf == NULL || len > unibuflen))
     {
 	vim_free(unicodebuf);
-	unicodebuf = (WCHAR *)alloc(len * sizeof(WCHAR));
+	unicodebuf = (WCHAR *)lalloc(len * sizeof(WCHAR), FALSE);
 
 	vim_free(unicodepdy);
-	unicodepdy = (int *)alloc(len * sizeof(int));
+	unicodepdy = (int *)lalloc(len * sizeof(int), FALSE);
 
 	unibuflen = len;
     }
@@ -2730,12 +2732,12 @@
 	dfltbutton = -1;
 
     /* Allocate array to hold the width of each button */
-    buttonWidths = (int *) lalloc(numButtons * sizeof(int), TRUE);
+    buttonWidths = (int *)lalloc(numButtons * sizeof(int), TRUE);
     if (buttonWidths == NULL)
 	return -1;
 
     /* Allocate array to hold the X position of each button */
-    buttonPositions = (int *) lalloc(numButtons * sizeof(int), TRUE);
+    buttonPositions = (int *)lalloc(numButtons * sizeof(int), TRUE);
     if (buttonPositions == NULL)
 	return -1;
 
diff --git a/src/proto/spell.pro b/src/proto/spell.pro
index facbfbc..87261a2 100644
--- a/src/proto/spell.pro
+++ b/src/proto/spell.pro
@@ -19,5 +19,6 @@
 void ex_spelldump __ARGS((exarg_T *eap));
 char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf));
 int spell_word_start __ARGS((int startcol));
+void spell_expand_check_cap __ARGS((colnr_T col));
 int expand_spelling __ARGS((linenr_T lnum, int col, char_u *pat, char_u ***matchp));
 /* vim: set ft=c : */
diff --git a/src/version.h b/src/version.h
index 70e2f4d..85bf690 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT	"vim70aa"
 #define VIM_VERSION_SHORT	"7.0aa"
 #define VIM_VERSION_MEDIUM	"7.0aa ALPHA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 29)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 29, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 30)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 30, compiled "
