diff --git a/src/Make_ming.mak b/src/Make_ming.mak
index 47b1910..7cbceb8 100644
--- a/src/Make_ming.mak
+++ b/src/Make_ming.mak
@@ -254,14 +254,14 @@
 CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
 
 ifdef GETTEXT
-DEFINES +=-DHAVE_GETTEXT -DHAVE_LOCALE_H
+DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
 GETTEXTINCLUDE = $(GETTEXT)/include
 GETTEXTLIB = $(INTLPATH)
 ifeq (yes, $(GETTEXT))
-DEFINES +=-DDYNAMIC_GETTEXT
+DEFINES += -DDYNAMIC_GETTEXT
 else
 ifdef DYNAMIC_GETTEXT
-DEFINES +=-D$(DYNAMIC_GETTEXT)
+DEFINES += -D$(DYNAMIC_GETTEXT)
 ifdef GETTEXT_DYNAMIC
 DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\"
 endif
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index f1b8d2a..0761a69 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -26,7 +26,7 @@
 static void	cmd_source __ARGS((char_u *fname, exarg_T *eap));
 
 #ifdef FEAT_EVAL
-/* Growarray to store the names of sourced scripts.
+/* Growarray to store info about already sourced scripts.
  * For Unix also store the dev/ino, so that we don't have to stat() each
  * script when going through the list. */
 typedef struct scriptitem_S
@@ -38,7 +38,7 @@
 # endif
 # ifdef FEAT_PROFILE
     int		sn_prof_on;	/* TRUE when script is/was profiled */
-    int		sn_pr_force;	/* forceit: profile defined functions */
+    int		sn_pr_force;	/* forceit: profile functions in this script */
     proftime_T	sn_pr_child;	/* time set when going into first child */
     int		sn_pr_nest;	/* nesting for sn_pr_child */
     /* profiling the script as a whole */
@@ -802,8 +802,12 @@
 profile_zero(tm)
     proftime_T *tm;
 {
+# ifdef WIN3264
+    tm->QuadPart = 0;
+# else
     tm->tv_usec = 0;
     tm->tv_sec = 0;
+# endif
 }
 
 /*
@@ -813,7 +817,11 @@
 profile_start(tm)
     proftime_T *tm;
 {
+# ifdef WIN3264
+    QueryPerformanceCounter(tm);
+# else
     gettimeofday(tm, NULL);
+# endif
 }
 
 /*
@@ -825,6 +833,10 @@
 {
     proftime_T now;
 
+# ifdef WIN3264
+    QueryPerformanceCounter(&now);
+    tm->QuadPart = now.QuadPart - tm->QuadPart;
+# else
     gettimeofday(&now, NULL);
     tm->tv_usec = now.tv_usec - tm->tv_usec;
     tm->tv_sec = now.tv_sec - tm->tv_sec;
@@ -833,6 +845,7 @@
 	tm->tv_usec += 1000000;
 	--tm->tv_sec;
     }
+# endif
 }
 
 /*
@@ -842,6 +855,9 @@
 profile_sub(tm, tm2)
     proftime_T *tm, *tm2;
 {
+# ifdef WIN3264
+    tm->QuadPart -= tm2->QuadPart;
+# else
     tm->tv_usec -= tm2->tv_usec;
     tm->tv_sec -= tm2->tv_sec;
     if (tm->tv_usec < 0)
@@ -849,6 +865,7 @@
 	tm->tv_usec += 1000000;
 	--tm->tv_sec;
     }
+# endif
 }
 
 /*
@@ -858,6 +875,9 @@
 profile_add(tm, tm2)
     proftime_T *tm, *tm2;
 {
+# ifdef WIN3264
+    tm->QuadPart += tm2->QuadPart;
+# else
     tm->tv_usec += tm2->tv_usec;
     tm->tv_sec += tm2->tv_sec;
     if (tm->tv_usec >= 1000000)
@@ -865,6 +885,7 @@
 	tm->tv_usec -= 1000000;
 	++tm->tv_sec;
     }
+# endif
 }
 
 /*
@@ -897,7 +918,27 @@
 profile_equal(tm1, tm2)
     proftime_T *tm1, *tm2;
 {
+# ifdef WIN3264
+    return (tm1->QuadPart == tm2->QuadPart);
+# else
     return (tm1->tv_usec == tm2->tv_usec && tm1->tv_sec == tm2->tv_sec);
+# endif
+}
+
+/*
+ * Return <0, 0 or >0 if "tm1" < "tm2", "tm1" == "tm2" or "tm1" > "tm2"
+ */
+    int
+profile_cmp(tm1, tm2)
+    proftime_T *tm1, *tm2;
+{
+# ifdef WIN3264
+    return (int)(tm2->QuadPart - tm1->QuadPart);
+# else
+    if (tm1->tv_sec == tm2->tv_sec)
+	return tm2->tv_usec - tm1->tv_usec;
+    return tm2->tv_sec - tm1->tv_sec;
+# endif
 }
 
 /*
@@ -910,7 +951,14 @@
 {
     static char buf[50];
 
+# ifdef WIN3264
+    LARGE_INTEGER   fr;
+
+    QueryPerformanceFrequency(&fr);
+    sprintf(buf, "%10.6lf", (double)tm->QuadPart / (double)fr.QuadPart);
+# else
     sprintf(buf, "%3ld.%06ld", (long)tm->tv_sec, (long)tm->tv_usec);
+#endif
     return buf;
 }
 
@@ -962,8 +1010,8 @@
 	    EMSG2(_(e_notopen), profile_fname);
 	else
 	{
-	    func_dump_profile(fd);
 	    script_dump_profile(fd);
+	    func_dump_profile(fd);
 	    fclose(fd);
 	}
     }
diff --git a/src/feature.h b/src/feature.h
index 3173901..fa874ed 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -1,4 +1,4 @@
-/* vi:set ts=8 sts=0 sw=8:
+/* vi:set ts=8 sts=4 sw=4:
  *
  * VIM - Vi IMproved		by Bram Moolenaar
  *
@@ -382,7 +382,9 @@
 /*
  * +profile		Profiling for functions and scripts.
  */
-#if defined(FEAT_HUGE) && defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)
+#if defined(FEAT_HUGE) \
+	&& ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)) \
+		|| defined(WIN3264))
 # define FEAT_PROFILE
 #endif
 
diff --git a/src/fileio.c b/src/fileio.c
index 328431a..c3aef90 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1333,10 +1333,19 @@
 		 * If there is conversion error or not enough room try using
 		 * another conversion.
 		 */
-		if ((iconv(iconv_fd, (void *)&fromp, &from_size, &top, &to_size)
+		while ((iconv(iconv_fd, (void *)&fromp, &from_size,
+							       &top, &to_size)
 			    == (size_t)-1 && ICONV_ERRNO != ICONV_EINVAL)
 						  || from_size > CONV_RESTLEN)
-		    goto rewind_retry;
+		{
+		    if (!keep_dest_enc)
+			goto rewind_retry;
+		    /* Ignore a byte and try again. */
+		    ++fromp;
+		    --from_size;
+		    *top++ = '?';
+		    --to_size;
+		}
 
 		if (from_size > 0)
 		{
diff --git a/src/globals.h b/src/globals.h
index fdfb1f5..445b453 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -656,10 +656,10 @@
  * Used to protect areas where we could crash.
  */
 EXTERN JMP_BUF lc_jump_env;	/* argument to SETJMP() */
-#ifdef SIGHASARG
+# ifdef SIGHASARG
 EXTERN int lc_signal;		/* catched signal number, 0 when no was signal
 				   catched; used for mch_libcall() */
-#endif
+# endif
 EXTERN int lc_active INIT(= FALSE); /* TRUE when lc_jump_env is valid. */
 #endif
 
@@ -1412,7 +1412,7 @@
 #if defined(FEAT_EVAL) || defined(FEAT_SYN_HL) || defined(PROTO)
 EXTERN char_u e_intern2[]	INIT(=N_("E685: Internal error: %s"));
 #endif
-#if defined(HAVE_SETJMP_H) || defined(HAVE_TRY_EXCEPT)
+#if defined(HAVE_SETJMP_H) || defined(HAVE_TRY_EXCEPT) || defined(__MINGW32__)
 EXTERN char_u e_complex[]	INIT(=N_("E361: Crash intercepted; regexp too complex?"));
 #endif
 EXTERN char_u e_outofstack[]	INIT(=N_("E363: pattern caused out-of-stack error"));
diff --git a/src/os_unix.c b/src/os_unix.c
index 945092f..c64a39e 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -3830,6 +3830,7 @@
 			size_t	    l;
 
 			/* child */
+			close(fromshell_fd);
 			for (;;)
 			{
 			    l = STRLEN(p + written);
diff --git a/src/quickfix.c b/src/quickfix.c
index 38f7d95..8d76e28 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2514,7 +2514,7 @@
 		{
 		    /* The buffer is still loaded, the Filetype autocommands
 		     * need to be done now, in that buffer.  And then the
-		     * modelines (again). */
+		     * modelines need to be done (again). */
 		    aucmd_prepbuf(&aco, buf);
 		    apply_autocmds(EVENT_FILETYPE, buf->b_p_ft,
 						     buf->b_fname, TRUE, buf);
@@ -2632,6 +2632,9 @@
     if (newbuf == NULL)
 	return NULL;
 
+    /* Init the options. */
+    buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP);
+
 #ifdef FEAT_AUTOCMD
     /* set curwin/curbuf to buf and save a few things */
     aucmd_prepbuf(&aco, newbuf);
diff --git a/src/regexp.c b/src/regexp.c
index 6f15824..bf5f7af 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -3182,6 +3182,36 @@
     return r;
 }
 
+#if 0	/* this does not appear to work... */
+# ifdef __MINGW32__
+#  define MINGW_TRY
+# endif
+#endif
+
+#ifdef MINGW_TRY
+/*
+ * Special assembly code for MingW to simulate __try / __except.
+ * Does not work with the optimizer!
+ */
+# include <excpt.h>
+
+static void *ESP_save;	/* used as _ESP below */
+static void *EBP_save;	/* used as _EBP below */
+
+__attribute__ ((cdecl))
+    EXCEPTION_DISPOSITION
+    _except_regexec_handler(
+	    struct _EXCEPTION_RECORD *ExceptionRecord,
+	    void *EstablisherFrame,
+	    struct _CONTEXT *ContextRecord,
+	    void *DispatcherContext)
+{
+    __asm__ __volatile__ (
+	    "jmp regexec_reentry");
+    return 0; /* Function does not return */
+}
+#endif
+
 /*
  * Match a regexp against a string ("line" points to the string) or multiple
  * lines ("line" is NULL, use reg_getline()).
@@ -3301,6 +3331,17 @@
 	    goto theend;
     }
 
+#ifdef MINGW_TRY
+    /* Ugly assembly code that is necessary to simulate "__try". */
+    __asm__ __volatile__ (
+	    "movl  %esp, _ESP_save" "\n\t"
+	    "movl  %ebp, _EBP_save");
+
+    __asm__ __volatile__ (
+	    "pushl $__except_regexec_handler" "\n\t"
+	    "pushl %fs:0" "\n\t"
+	    "mov   %esp, %fs:0");
+#endif
 #ifdef HAVE_TRY_EXCEPT
     __try
     {
@@ -3426,6 +3467,22 @@
 	retval = 0L;
     }
 #endif
+#ifdef MINGW_TRY
+    __asm__ __volatile__ (
+	    "jmp   regexec_pop" "\n"
+	    "regexec_reentry:" "\n\t"
+	    "movl  _ESP_save, %esp" "\n\t"
+	    "movl  _EBP_save, %ebp");
+
+	EMSG(_(e_complex));
+	retval = 0L;
+
+    __asm__ __volatile__ (
+	    "regexec_pop:" "\n\t"
+	    "mov   (%esp), %eax" "\n\t"
+	    "mov   %eax, %fs:0" "\n\t"
+	    "add   $8, %esp");
+#endif
 
 theend:
     /* Didn't find a match. */
diff --git a/src/version.h b/src/version.h
index febf243..9451a0e 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 Feb 26)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Feb 26, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Feb 28)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Feb 28, compiled "
