diff --git a/src/Make_vms.mms b/src/Make_vms.mms
index 0519d7b..fce6ab6 100644
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -2,7 +2,7 @@
 # Makefile for Vim on OpenVMS
 #
 # Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change:  2008 Aug 16
+# Last change:  2010 Jul 28
 #
 # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
 # with MMS and MMK
@@ -295,21 +295,21 @@
 ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
 	   $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(SNIFF_LIB) $(RUBY_LIB)
 
-SRC =	buffer.c charset.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
+SRC =	blowfish.c buffer.c charset.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
 	ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c fileio.c fold.c getchar.c \
 	hardcopy.c hashtab.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
-	misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c \
+	misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c\
 	spell.c syntax.c tag.c term.c termlib.c ui.c undo.c version.c screen.c \
 	window.c os_unix.c os_vms.c pathdef.c \
 	$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) $(SNIFF_SRC) \
 	$(RUBY_SRC) $(HANGULIN_SRC)
 
-OBJ =	buffer.obj charset.obj diff.obj digraph.obj edit.obj eval.obj \
+OBJ =	blowfish.obj buffer.obj charset.obj diff.obj digraph.obj edit.obj eval.obj \
 	ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj \
 	if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj main.obj mark.obj \
 	menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
 	move.obj mbyte.obj normal.obj ops.obj option.obj popupmnu.obj quickfix.obj \
-	regexp.obj search.obj spell.obj syntax.obj tag.obj term.obj termlib.obj \
+	regexp.obj search.obj sha256.obj spell.obj syntax.obj tag.obj term.obj termlib.obj \
 	ui.obj undo.obj screen.obj version.obj window.obj os_unix.obj \
 	os_vms.obj pathdef.obj \
 	$(GUI_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) \
diff --git a/src/edit.c b/src/edit.c
index 4754fd9..ed5b798 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -380,7 +380,7 @@
 #ifdef FEAT_CONCEAL
     /* Check if the cursor line needs redrawing before changing State.  If
      * 'concealcursor' is "n" it needs to be redrawn without concealing. */
-    conceal_check_cursur_line_redraw();
+    conceal_check_cursur_line();
 #endif
 
 #ifdef FEAT_MOUSE
diff --git a/src/normal.c b/src/normal.c
index 9e75afc..e17aec3 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -7649,7 +7649,7 @@
 {
 #ifdef FEAT_CONCEAL
     /* Check for redraw before changing the state. */
-    conceal_check_cursur_line_redraw();
+    conceal_check_cursur_line();
 #endif
 
     VIsual_mode = c;
@@ -7673,7 +7673,7 @@
 #endif
 #ifdef FEAT_CONCEAL
     /* Check for redraw after changing the state. */
-    conceal_check_cursur_line_redraw();
+    conceal_check_cursur_line();
 #endif
 
     if (p_smd && msg_silent == 0)
diff --git a/src/os_vms_conf.h b/src/os_vms_conf.h
index d70ab61..ade1ea3 100644
--- a/src/os_vms_conf.h
+++ b/src/os_vms_conf.h
@@ -50,6 +50,9 @@
 /* Define to `int' if <sys/types.h> doesn't define.  */
 /* #undef uid_t */
 
+/* Define to `unsigned int' or other type that is 32 bit.  */
+#define UINT32_T unsigned int
+
 /* Define to `int' if <sys/types.h> doesn't define.  */
 /* #undef gid_t */
 
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index efaf4c6..be791e0 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -9,7 +9,7 @@
 void update_curbuf __ARGS((int type));
 void update_screen __ARGS((int type));
 int conceal_cursor_line __ARGS((win_T *wp));
-void conceal_check_cursur_line_redraw __ARGS((void));
+void conceal_check_cursur_line __ARGS((void));
 void update_single_line __ARGS((win_T *wp, linenr_T lnum));
 void update_debug_sign __ARGS((buf_T *buf, linenr_T lnum));
 void updateWindow __ARGS((win_T *wp));
diff --git a/src/screen.c b/src/screen.c
index ca5827f..a53a941 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -616,7 +616,7 @@
  * Check if the cursor line needs to be redrawn because of 'concealcursor'.
  */
     void
-conceal_check_cursur_line_redraw()
+conceal_check_cursur_line()
 {
     if (curwin->w_p_cole > 0 && conceal_cursor_line(curwin))
     {
diff --git a/src/ui.c b/src/ui.c
index 1337807..fbdc325 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -1914,7 +1914,7 @@
 # endif
 
 # ifdef FEAT_CONCEAL
-    conceal_check_cursur_line_redraw();
+    conceal_check_cursur_line();
 # endif
 }
 #endif
