diff --git a/src/GvimExt/Make_ming.mak b/src/GvimExt/Make_ming.mak
index 9da5639..f10f730 100644
--- a/src/GvimExt/Make_ming.mak
+++ b/src/GvimExt/Make_ming.mak
@@ -18,6 +18,7 @@
 MINGWOLD = no
 
 ifeq ($(CROSS),yes)
+DEL = rm
 ifeq ($(MINGWOLD),yes)
 CXX = i586-mingw32msvc-g++
 CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
@@ -31,6 +32,11 @@
 CXX := g++
 WINDRES := windres
 CXXFLAGS := -O2 -mno-cygwin
+ifneq (sh.exe, $(SHELL))
+DEL = rm
+else
+DEL = del
+endif
 endif
 LIBS :=  -luuid
 RES  := gvimext.res
@@ -59,5 +65,5 @@
 	$(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@
 
 clean: clean-custom
-	$(RM)  $(OBJ) $(RES) $(DLL)
+	-$(DEL)  $(OBJ) $(RES) $(DLL)
 
diff --git a/src/Make_ming.mak b/src/Make_ming.mak
index 4074a88..e6bf381 100644
--- a/src/Make_ming.mak
+++ b/src/Make_ming.mak
@@ -581,7 +581,7 @@
 	@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
 	@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
 	@echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
-	@echo 'char_u *all_lflags = (char_u *)"$(CC) -s -o $(TARGET) $(LIB) -luuid -lole32 $(PYTHONLIB) $(RUBYLIB)";' >> pathdef.c
+	@echo 'char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(RUBYLIB)";' >> pathdef.c
 	@echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
 	@echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
 else
@@ -591,7 +591,7 @@
 	@echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
 	@echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
 	@echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
-	@echo char_u *all_lflags = (char_u *)"$(CC) -s -o $(TARGET) $(LIB) -luuid -lole32 $(PYTHONLIB) $(RUBYLIB)"; >> pathdef.c
+	@echo char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(RUBYLIB)"; >> pathdef.c
 	@echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
 	@echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
 endif
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 2b43dc5..84cb391 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -8085,6 +8085,11 @@
 ex_startinsert(eap)
     exarg_T	*eap;
 {
+    /* Ignore the command when already in Insert mode.  Inserting an
+     * expression register that invokes a function can do this. */
+    if (State & INSERT)
+	return;
+
     if (eap->forceit)
     {
 	coladvance((colnr_T)MAXCOL);
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 33edfd3..00b5e66 100644
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -2414,7 +2414,7 @@
  * Get current mouse coordinates in text window.
  */
     void
-gui_mch_get_mouse_(int *x, int *y)
+gui_mch_getmouse(int *x, int *y)
 {
     RECT rct;
     POINT mp;
diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro
index 8641c75..835d2ce 100644
--- a/src/proto/buffer.pro
+++ b/src/proto/buffer.pro
@@ -25,7 +25,7 @@
 linenr_T buflist_findlnum __ARGS((buf_T *buf));
 void buflist_list __ARGS((exarg_T *eap));
 int buflist_name_nr __ARGS((int fnum, char_u **fname, linenr_T *lnum));
-int setfname __ARGS((buf_T *buf, char_u *ffname, char_u *sfname, int exist_msg));
+int setfname __ARGS((buf_T *buf, char_u *ffname, char_u *sfname, int message));
 void buf_set_name __ARGS((int fnum, char_u *name));
 void buf_name_changed __ARGS((buf_T *buf));
 buf_T *setaltfname __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum));
diff --git a/src/proto/gui_photon.pro b/src/proto/gui_photon.pro
index af33ef5..47ffc54 100644
--- a/src/proto/gui_photon.pro
+++ b/src/proto/gui_photon.pro
@@ -23,7 +23,7 @@
 void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
 void mch_set_mouse_shape __ARGS((int shape));
 void gui_mch_mousehide __ARGS((int hide));
-void gui_mch_getmouse __ARGS((int *x, int *y));
+int gui_mch_getmouse __ARGS((int *x, int *y));
 void gui_mch_setmouse __ARGS((int x, int y));
 long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
 void gui_mch_new_colors __ARGS((void));
