diff --git a/src/Make_vms.mms b/src/Make_vms.mms
index ca582ff..e44c83d 100644
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -2,9 +2,9 @@
 # Makefile for Vim on OpenVMS
 #
 # Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change:  2005 Mar 19
+# Last change:  2005 Jul 12
 #
-# This has script been tested on VMS 6.2 to 7.3 on DEC Alpha, VAX and IA64
+# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
 # with MMS and MMK
 #
 # The following could be built:
@@ -50,6 +50,10 @@
 # If you have GTK installed you might want to enable this option.
 # GTK = YES
 
+# GUI/Motif with XPM
+# If you have XPM installed you might want to build Motif version with toolbar
+# XPM = YES
+
 # Comment out if you want the compiler version with :ver command.
 # NOTE: This part can make some complications if you're using some
 # predefined symbols/flags for your compiler. If does, just leave behind
@@ -133,32 +137,41 @@
 
 .IFDEF GTK
 .IFDEF GUI
+.IFDEF XPM
 .ELSE
 GUI = YES
 .ENDIF
 .ENDIF
+.ENDIF
 
 .IFDEF GUI
 # X/Motif/GTK executable  (also works in terminal mode )
 
 .IFDEF GTK
+# define GTK root directory
+# please note: directory should end with . in order to /trans=conc work
+# example: GTK_DIR  = $1$DGA104:[USERS.ZAY.WORK.GTK1210.]
 GTK_DIR  = ALPHA$DKA0:[GTK128.]
 DEFS     = "HAVE_CONFIG_H","FEAT_GUI_GTK"
 LIBS     = ,OS_VMS_GTK.OPT/OPT
 GUI_FLAG = /name=(as_is,short)/float=ieee/ieee=denorm
-GUI_SRC  = gui.c gui_gtk.c gui_gtk_f.c gui_gtk_x11.c pty.c
-GUI_OBJ  = gui.obj gui_gtk.obj gui_gtk_f.obj gui_gtk_x11.obj pty.obj
+GUI_SRC  = gui.c gui_gtk.c gui_gtk_f.c gui_gtk_x11.c gui_beval.c pty.c
+GUI_OBJ  = gui.obj gui_gtk.obj gui_gtk_f.obj gui_gtk_x11.obj gui_beval.obj pty.obj
 GUI_INC  = ,"/gtk_root/gtk","/gtk_root/glib"
 # GUI_INC_VER is used just for :ver information
 # this string should escape from C and DCL in the same time
 GUI_INC_VER= ,\""/gtk_root/gtk\"",\""/gtk_root/glib\""
-.else
+.ELSE
 MOTIF	 = YES
+.IFDEF XPM
+DEFS     = "HAVE_CONFIG_H","FEAT_GUI_MOTIF","HAVE_XPM"
+.ELSE
 DEFS     = "HAVE_CONFIG_H","FEAT_GUI_MOTIF"
+.ENDIF
 LIBS     = ,OS_VMS_MOTIF.OPT/OPT
 GUI_FLAG =
-GUI_SRC  = gui.c gui_motif.c gui_x11.c
-GUI_OBJ  = gui.obj gui_motif.obj gui_x11.obj
+GUI_SRC  = gui.c gui_motif.c gui_x11.c gui_beval.c gui_xmdlg.c gui_xmebw.c
+GUI_OBJ  = gui.obj gui_motif.obj gui_x11.obj gui_beval.obj gui_xmdlg.obj gui_xmebw.obj
 GUI_INC  =
 .ENDIF
 
@@ -360,7 +373,11 @@
 
 .IFDEF MOTIF
 motif_env :
-	-@ write sys$output "using DECW/Motif environment."
+.IFDEF XPM
+	-@ write sys$output "using DECW/Motif/XPM environment."
+.ELSE
+        -@ write sys$output "using DECW/Motif environment."
+.ENDIF
 	-@ write sys$output "creating OS_VMS_MOTIF.OPT file."
 	-@ open/write opt_file OS_VMS_MOTIF.OPT
 	-@ write opt_file "sys$share:decw$xmlibshr12.exe/share,-"
@@ -741,3 +758,5 @@
  ascii.h keymap.h term.h macros.h structs.h regexp.h \
  gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
  globals.h farsi.h arabic.h version.h
+gui_xmdlg.obj : gui_xmdlg.c
+gui_xmebw.obj : gui_xmebw.c
diff --git a/src/proto/os_unix.pro b/src/proto/os_unix.pro
index d2f5e17..a6ae6ec 100644
--- a/src/proto/os_unix.pro
+++ b/src/proto/os_unix.pro
@@ -11,7 +11,7 @@
 void mch_suspend __ARGS((void));
 void mch_init __ARGS((void));
 void reset_signals __ARGS((void));
-int handle_signal __ARGS((int sig));
+int vim_handle_signal __ARGS((int sig));
 int mch_check_win __ARGS((int argc, char **argv));
 int mch_input_isatty __ARGS((void));
 int mch_can_restore_title __ARGS((void));
diff --git a/src/testdir/test59.in b/src/testdir/test59.in
index 5a37530..61f22d5 100644
--- a/src/testdir/test59.in
+++ b/src/testdir/test59.in
@@ -4,10 +4,15 @@
 :so small.vim
 :so mbyte.vim
 :"
+:" Don't want to depend on the locale from the environment.  The .aff and .dic
+:" text is in latin1, the test text is utf-8.
+:set enc=latin1
+:e!
+:set fenc=
 :" First generate a .spl file from a .dic and a .aff file.
+gg:/^affstart1/+1,/^affend1/-1w Xtest.aff
+gg:/^dicstart/+1,/^dicend/-1w Xtest.dic
 :set enc=utf-8
-:/^affstart1/+1,/affend1/-1w Xtest.aff
-:/^dicstart/+1,/dicend/-1w Xtest.dic
 :mkspell Xtest Xtest
 :"
 :" use that spell file
diff --git a/src/undo.c b/src/undo.c
index 53070af..362b317 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -656,6 +656,8 @@
 		ml_delete(lnum, FALSE);
 	    }
 	}
+	else
+	    newarray = NULL;
 
 	/* insert the lines in u_array between top and bot */
 	if (newsize)
@@ -923,7 +925,7 @@
     u_entry_T	*uep;
     long	    n;
 {
-    while (n)
+    while (n > 0)
 	U_FREE_LINE(uep->ue_array[--n]);
     U_FREE_LINE((char_u *)uep->ue_array);
     U_FREE_LINE((char_u *)uep);
diff --git a/src/version.h b/src/version.h
index 9031d95..1fa3fba 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 Jul 11)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 11, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 12)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 12, compiled "
