diff --git a/src/Make_vms.mms b/src/Make_vms.mms
index 70a87cf..3631236 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:  2020 Dec 30
+# Last change:  2021 Jan 04
 #
 # This script has been tested on VMS 6.2 to 8.4 on DEC Alpha, VAX and IA64
 # with MMS and MMK
@@ -38,18 +38,18 @@
 # GUI or terminal mode executable.
 # Comment out if you want just the character terminal mode only.
 # GUI with Motif
-GUI = YES
+# GUI = YES
 
 # GUI with GTK
 # If you have GTK installed you might want to enable this option.
 # NOTE: you will need to properly define GTK_DIR below
-# NOTE: since Vim 7.3 GTK 2+ is used that is not ported to VMS, 
-#       therefore this option should not be used  
+# NOTE: since Vim 7.3 GTK 2+ is used that is not ported to VMS,
+#       therefore this option should not be used
 # GTK = YES
 
 # GUI/Motif with XPM
 # If you have XPM installed you might want to build Motif version with toolbar
-XPM = YES
+# 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
@@ -59,7 +59,7 @@
 
 # Uncomment if want a debug version. Resulting executable is DVIM.EXE
 # Development purpose only! Normally, it should not be defined. !!!
-# DEBUG = YES 
+# DEBUG = YES
 
 # Languages support for Perl, Python, TCL etc.
 # If you don't need it really, leave them behind the comment.
@@ -68,6 +68,7 @@
 # VIM_PERL   = YES
 # VIM_PYTHON = YES
 # VIM_RUBY   = YES
+# VIM_LUA    = YES
 
 # X Input Method.  For entering special languages like chinese and
 # Japanese.
@@ -180,7 +181,7 @@
 XPM_LIB  = ,OS_VMS_XPM.OPT/OPT
 .ELSE
 DEFS     = "HAVE_CONFIG_H","FEAT_GUI_MOTIF"
-XPM_INC  = 
+XPM_INC  =
 .ENDIF
 LIBS     = ,OS_VMS_MOTIF.OPT/OPT
 GUI_FLAG =
@@ -237,6 +238,15 @@
 RUBY_INC =
 .ENDIF
 
+.IFDEF VIM_LUA
+# LUA related setup.
+LUA_DEF = ,"FEAT_LUA"
+LUA_SRC = if_lua.c
+LUA_OBJ = if_lua.obj
+LUA_LIB = ,OS_VMS_LUA.OPT/OPT
+LUA_INC = ,LUA$ROOT:[INCLUDE]
+.ENDIF
+
 .IFDEF VIM_XIM
 # XIM related setup.
 .IFDEF GUI
@@ -247,7 +257,7 @@
 .IFDEF VIM_MZSCHEME
 # MZSCHEME related setup
 MZSCH_DEF = ,"FEAT_MZSCHEME"
-MZSCH_SRC = if_mzsch.c 
+MZSCH_SRC = if_mzsch.c
 MZSCH_OBJ = if_mzsch.obj
 .ENDIF
 
@@ -258,7 +268,7 @@
 
 # XDIFF related setup.
 XDIFF_SRC = xdiffi.c,xemit.c,xprepare.c,xutils.c,xhistogram.c,xpatience.c
-XDIFF_OBJ = xdiffi.obj,xemit.obj,xprepare.obj,xutils.obj,xhistogram.obj,xpatience.obj 
+XDIFF_OBJ = xdiffi.obj,xemit.obj,xprepare.obj,xutils.obj,xhistogram.obj,xpatience.obj
 XDIFF_INC = ,[.xdiff]
 
 ######################################################################
@@ -275,7 +285,7 @@
 .SUFFIXES : .obj .c
 
 ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
- $(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
+ $(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
  $(ICONV_DEF)) -
  $(CFLAGS)$(GUI_FLAG) -
  /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC) -
@@ -286,14 +296,14 @@
 # as $(GUI_INC) - replaced with $(GUI_INC_VER)
 # Otherwise should not be any other difference.
 ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
- $(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) - 
+ $(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
  $(ICONV_DEF)) -
  $(CFLAGS)$(GUI_FLAG) -
  /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC) -
  $(TCL_INC)$(XDIFF_INC)$(XPM_INC))
 
 ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) $(XPM_LIB)\
-	   $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB)
+	   $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB) $(LUA_LIB)
 
 SRC = \
 	arabic.c \
@@ -408,6 +418,7 @@
 	$(PYTHON_SRC) \
 	$(TCL_SRC) \
 	$(RUBY_SRC) \
+	$(LUA_SRC) \
 	$(MZSCH_SRC) \
 	$(XDIFF_SRC)
 
@@ -525,11 +536,12 @@
 	$(PYTHON_OBJ) \
 	$(TCL_OBJ) \
 	$(RUBY_OBJ) \
+	$(LUA_OBJ) \
 	$(MZSCH_OBJ) \
 	$(XDIFF_OBJ)
 
 # Default target is making the executable
-all : [.auto]config.h mmk_compat motif_env gtk_env perl_env python_env tcl_env ruby_env $(TARGET)
+all : [.auto]config.h mmk_compat motif_env gtk_env perl_env python_env tcl_env ruby_env lua_env $(TARGET)
 	! $@
 
 [.auto]config.h : $(CONFIG_H)
@@ -611,7 +623,7 @@
 .ENDIF
 .IFDEF MMSIA64
 	-@ write opt_file "[.xpm.vms.ia64]libxpm.olb/lib"
-.ENDIF 
+.ENDIF
 	-@ close opt_file
 .ELSE
 	-@ write sys$output "using DECW/Motif environment."
@@ -709,11 +721,24 @@
 	-@ !
 .ENDIF
 
+.IFDEF VIM_LUA
+lua_env :
+	-@ write sys$output "using LUA environment:"
+	-@ write sys$output "    include path: ""$(LUA_INC)"""
+	-@ write sys$output "creating OS_VMS_LUA.OPT file."
+	-@ open/write opt_file OS_VMS_LUA.OPT
+	-@ write opt_file "LUA$ROOT:[LIB]LUA$SHR.EXE /share"
+	-@ close opt_file
+.ELSE
+lua_env :
+	-@ !
+.ENDIF
+
 arabic.obj : arabic.c vim.h
 arglist.obj : arglist.c vim.h [.auto]config.h feature.h os_unix.h
 autocmd.obj : autocmd.c vim.h [.auto]config.h feature.h os_unix.h
 blowfish.obj : blowfish.c vim.h [.auto]config.h feature.h os_unix.h
-blob.obj : blob.c vim.h [.auto]config.h feature.h os_unix.h	
+blob.obj : blob.c vim.h [.auto]config.h feature.h os_unix.h
 buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \
  ascii.h keymap.h term.h macros.h structs.h regexp.h \
  gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
@@ -873,7 +898,7 @@
 if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
  ascii.h keymap.h term.h macros.h option.h structs.h \
  regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
- errors.h globals.h if_mzsch.h 
+ errors.h globals.h if_mzsch.h
 indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h
 insexpand.obj : insexpand.c vim.h [.auto]config.h feature.h os_unix.h
 json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h   \
@@ -1167,6 +1192,8 @@
  ascii.h keymap.h term.h macros.h structs.h regexp.h \
  gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
  errors.h globals.h version.h
+if_lua.obj : if_lua.c vim.h [.auto]config.h feature.h os_unix.h \
+ errors.h globals.h version.h
 beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \
  ascii.h keymap.h term.h macros.h structs.h regexp.h \
  gui.h beval.h option.h ex_cmds.h proto.h \
@@ -1186,4 +1213,4 @@
 xprepare.obj : [.xdiff]xprepare.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
 xutils.obj : [.xdiff]xutils.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
 xhistogram.obj : [.xdiff]xhistogram.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
-xpatience.obj : [.xdiff]xpatience.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h	
+xpatience.obj : [.xdiff]xpatience.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
diff --git a/src/fileio.c b/src/fileio.c
index b3b7100..1af0b4c 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -16,10 +16,13 @@
 #if defined(__TANDEM)
 # include <limits.h>		// for SSIZE_MAX
 #endif
-#if defined(UNIX) && defined(FEAT_EVAL)
+#if (defined(UNIX) || defined(VMS)) && defined(FEAT_EVAL)
 # include <pwd.h>
 # include <grp.h>
 #endif
+#if defined(VMS) && defined(HAVE_XOS_R_H)
+# include <x11/xos_r.h>
+#endif
 
 // Is there any system that doesn't have access()?
 #define USE_MCH_ACCESS
@@ -338,7 +341,7 @@
 
     if (!read_stdin && !read_buffer && !read_fifo)
     {
-#ifdef UNIX
+#if defined(UNIX) || defined(VMS)
 	/*
 	 * On Unix it is possible to read a directory, so we have to
 	 * check for it before the mch_open().
@@ -4623,11 +4626,13 @@
 	    q = (char_u*)pw->pw_name;
 	if (dict_add_string(item, "user", q) == FAIL)
 	    goto theend;
+#  if !defined(VMS) || (defined(VMS) && defined(HAVE_XOS_R_H))
 	gr = getgrgid(st.st_gid);
 	if (gr == NULL)
 	    q = (char_u*)"";
 	else
 	    q = (char_u*)gr->gr_name;
+#  endif
 	if (dict_add_string(item, "group", q) == FAIL)
 	    goto theend;
     }
diff --git a/src/gui_xmebw.c b/src/gui_xmebw.c
index 6a01a71..2c66db1 100644
--- a/src/gui_xmebw.c
+++ b/src/gui_xmebw.c
@@ -69,6 +69,20 @@
     _XmDrawHighlight(a, b, c, d, e, f, g, h, LineSolid)
 #endif
 
+// Older VMS systems do not have xos_r.h and cannot haldle XtProcessLocking
+#if defined(VMS)
+# if defined(HAVE_XOS_R_H)
+#  define XTPROCESS_LOCK XtProcessLock()
+#  define XTPROCESS_UNLOCK XtProcessUnlock()
+# else
+#  define XTPROCESS_LOCK
+#  define XTPROCESS_UNLOCK
+# endif
+#else
+# define XTPROCESS_LOCK XtProcessLock()
+# define XTPROCESS_UNLOCK XtProcessUnlock()
+#endif
+
 /*
  * Motif internals we have to cheat around with.
  */
@@ -714,9 +728,9 @@
     {
 	XtExposeProc expose;
 
-	XtProcessLock();
+	XTPROCESS_LOCK;
 	expose = xmLabelClassRec.core_class.expose;
-	XtProcessUnlock();
+	XTPROCESS_UNLOCK;
 	(*expose)((Widget) eb, event, region);
     }
 
@@ -809,9 +823,9 @@
 	_XmPrimitiveEnter((Widget) eb, event, NULL, NULL);
 	if (eb->pushbutton.armed == TRUE)
 	{
-	    XtProcessLock();
+	    XTPROCESS_LOCK;
 	    expose = XtClass(eb)->core_class.expose;
-	    XtProcessUnlock();
+	    XTPROCESS_UNLOCK;
 	    (*expose) (wid, event, (Region) NULL);
 	}
 
@@ -887,9 +901,9 @@
 	{
 	    XtExposeProc expose;
 	    eb->pushbutton.armed = FALSE;
-	    XtProcessLock();
+	    XTPROCESS_LOCK;
 	    expose = XtClass(eb)->core_class.expose;
-	    XtProcessUnlock();
+	    XTPROCESS_UNLOCK;
 	    (*expose) (wid, event, (Region)NULL);
 	    draw_unhighlight(eb);
 	    draw_pixmap(eb, event, NULL);
@@ -973,9 +987,9 @@
     // Invoke Label's Resize procedure.
     {
 	XtWidgetProc resize;
-	XtProcessLock();
+	XTPROCESS_LOCK;
 	resize = xmLabelClassRec.core_class.resize;
-	XtProcessUnlock();
+	XTPROCESS_UNLOCK;
 
 	(* resize) ((Widget) newtb);
     }
@@ -988,9 +1002,9 @@
     XmEnhancedButtonWidget  eb = (XmEnhancedButtonWidget)ebw;
     XtWidgetProc	    resize;
 
-    XtProcessLock();
+    XTPROCESS_LOCK;
     resize = xmLabelClassRec.core_class.resize;
-    XtProcessUnlock();
+    XTPROCESS_UNLOCK;
 
     // Create a bitmap for stippling (Drawable resources are cheap).
     if (STIPPLE_BITMAP == None)
diff --git a/src/macros.h b/src/macros.h
index 366413a..3db2456 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -161,7 +161,6 @@
 # define mch_fstat(n, p)	fstat((n), (p))
 # undef HAVE_LSTAT	        // VMS does not have lstat()
 # define mch_stat(n, p)		stat(vms_fixfilename(n), (p))
-# define mch_rmdir(n)		rmdir(vms_fixfilename(n))
 #else
 # ifndef MSWIN
 #   define mch_access(n, p)	access((n), (p))
diff --git a/src/os_unix.h b/src/os_unix.h
index 46f4bba..83fe66d 100644
--- a/src/os_unix.h
+++ b/src/os_unix.h
@@ -73,8 +73,9 @@
 // always use unlink() to remove files
 #ifndef PROTO
 # ifdef VMS
-#  define mch_remove(x) delete((char *)(x))
-#  define vim_mkdir(x, y) mkdir((char *)(x), y)
+#  define vim_mkdir(x, y) mkdir((char *)vms_fixfilename(x), y)
+#  define mch_rmdir(x)  delete((char *)vms_fixfilename(x))
+#  define mch_remove(x) delete((char *)vms_fixfilename(x))
 # else
 #  define vim_mkdir(x, y) mkdir((char *)(x), y)
 #  define mch_rmdir(x) rmdir((char *)(x))
diff --git a/src/os_vms.c b/src/os_vms.c
index b8ad788..6dc6ad4 100644
--- a/src/os_vms.c
+++ b/src/os_vms.c
@@ -672,9 +672,18 @@
     else if (strchr(instring,'"') == NULL)	// password in the path?
     {
 	// Seems it is a regular file, let guess that it is pure Unix fspec
-	if (decc$to_vms(instring, vms_fspec_proc, 0, 0) <= 0)
-	    // No... it must be mixed
+        if ( (strchr(instring,'[') == NULL) && (strchr(instring,'<') == NULL) &&
+	     (strchr(instring,']') == NULL) && (strchr(instring,'>') == NULL) &&
+	     (strchr(instring,':') == NULL) )
+	{
+	    // It must be a truly unix fspec
+	    decc$to_vms(instring, vms_fspec_proc, 0, 0);
+	}
+	else
+	{
+	    // It is a mixed fspec
 	    vms_unix_mixed_filespec(instring, buf);
+	}
     }
     else
 	// we have a password in the path
diff --git a/src/os_vms_conf.h b/src/os_vms_conf.h
index deb7080..df03b15 100644
--- a/src/os_vms_conf.h
+++ b/src/os_vms_conf.h
@@ -147,7 +147,6 @@
 #undef  HAVE_FCHDIR
 #undef  HAVE_LSTAT
 #undef  HAVE_STDINT_H
-#undef  HAVE_XOS_R_H
 
 // Hardware specific
 #ifdef  VAX
@@ -157,12 +156,12 @@
 #undef  HAVE_STRINGS_H
 #undef  HAVE_SIGSETJMP
 #undef  HAVE_ISNAN
+#undef  HAVE_XOS_R_H
 #define HAVE_NO_LONG_LONG
 #define VIM_SIZEOF_LONG 4
-#define LONG_LONG_MIN  (-2147483647-1)                                                                                                    
-#define LONG_LONG_MAX  (2147483647)                                                                                                     
+#define LONG_LONG_MIN  (-2147483647-1)
+#define LONG_LONG_MAX  (2147483647)
 #define ULONG_LONG_MAX (4294967295U)
-#undef  XTHREADS
 #else // AXP and IA64
 #define HAVE_GETTIMEOFDAY
 #define HAVE_USLEEP
@@ -170,12 +169,12 @@
 #define HAVE_STRINGS_H
 #define HAVE_SIGSETJMP
 #define HAVE_ISNAN
+#define HAVE_XOS_R_H
 #define HAVE_NO_LONG_LONG
 #define VIM_SIZEOF_LONG 8
-#define LONG_LONG_MIN  (-9223372036854775807-1)                                                                                                    
-#define LONG_LONG_MAX  (9223372036854775807)                                                                                                     
+#define LONG_LONG_MIN  (-9223372036854775807-1)
+#define LONG_LONG_MAX  (9223372036854775807)
 #define ULONG_LONG_MAX (18446744073709551615U)
-#define XTHREADS
 #endif
 
 // Compiler specific
diff --git a/src/version.c b/src/version.c
index 258c7d9..db20152 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2294,
+/**/
     2293,
 /**/
     2292,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 5cfc327..d0c2ebc 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -3389,7 +3389,7 @@
 		break;
 	    case ISN_EXECCONCAT:
 		smsg("%4d EXECCONCAT %lld", current,
-					      (long long)iptr->isn_arg.number);
+					      (varnumber_T)iptr->isn_arg.number);
 		break;
 	    case ISN_ECHO:
 		{
@@ -3402,15 +3402,15 @@
 		break;
 	    case ISN_EXECUTE:
 		smsg("%4d EXECUTE %lld", current,
-					    (long long)(iptr->isn_arg.number));
+					    (varnumber_T)(iptr->isn_arg.number));
 		break;
 	    case ISN_ECHOMSG:
 		smsg("%4d ECHOMSG %lld", current,
-					    (long long)(iptr->isn_arg.number));
+					    (varnumber_T)(iptr->isn_arg.number));
 		break;
 	    case ISN_ECHOERR:
 		smsg("%4d ECHOERR %lld", current,
-					    (long long)(iptr->isn_arg.number));
+					    (varnumber_T)(iptr->isn_arg.number));
 		break;
 	    case ISN_LOAD:
 	    case ISN_LOADOUTER:
@@ -3419,11 +3419,11 @@
 
 		    if (iptr->isn_arg.number < 0)
 			smsg("%4d LOAD%s arg[%lld]", current, add,
-				(long long)(iptr->isn_arg.number
+				(varnumber_T)(iptr->isn_arg.number
 							  + STACK_FRAME_SIZE));
 		    else
 			smsg("%4d LOAD%s $%lld", current, add,
-					    (long long)(iptr->isn_arg.number));
+					    (varnumber_T)(iptr->isn_arg.number));
 		}
 		break;
 	    case ISN_LOADV:
@@ -3496,10 +3496,10 @@
 
 		if (iptr->isn_arg.number < 0)
 		    smsg("%4d STORE%s arg[%lld]", current, add,
-			 (long long)(iptr->isn_arg.number + STACK_FRAME_SIZE));
+			 (varnumber_T)(iptr->isn_arg.number + STACK_FRAME_SIZE));
 		else
 		    smsg("%4d STORE%s $%lld", current, add,
-					    (long long)(iptr->isn_arg.number));
+					    (varnumber_T)(iptr->isn_arg.number));
 		}
 		break;
 	    case ISN_STOREV:
@@ -3578,7 +3578,7 @@
 	    // constants
 	    case ISN_PUSHNR:
 		smsg("%4d PUSHNR %lld", current,
-					    (long long)(iptr->isn_arg.number));
+					    (varnumber_T)(iptr->isn_arg.number));
 		break;
 	    case ISN_PUSHBOOL:
 	    case ISN_PUSHSPEC:
@@ -3653,11 +3653,11 @@
 		break;
 	    case ISN_NEWLIST:
 		smsg("%4d NEWLIST size %lld", current,
-					    (long long)(iptr->isn_arg.number));
+					    (varnumber_T)(iptr->isn_arg.number));
 		break;
 	    case ISN_NEWDICT:
 		smsg("%4d NEWDICT size %lld", current,
-					    (long long)(iptr->isn_arg.number));
+					    (varnumber_T)(iptr->isn_arg.number));
 		break;
 
 	    // function call
@@ -3924,10 +3924,10 @@
 				smsg("%4d 2BOOL (!!val)", current);
 			    break;
 	    case ISN_2STRING: smsg("%4d 2STRING stack[%lld]", current,
-					 (long long)(iptr->isn_arg.number));
+					 (varnumber_T)(iptr->isn_arg.number));
 			      break;
 	    case ISN_2STRING_ANY: smsg("%4d 2STRING_ANY stack[%lld]", current,
-					 (long long)(iptr->isn_arg.number));
+					 (varnumber_T)(iptr->isn_arg.number));
 			      break;
 	    case ISN_RANGE: smsg("%4d RANGE %s", current, iptr->isn_arg.string);
 			    break;
