patch 8.2.2294: VMS: a few remaining problems

Problem:    VMS: a few remaining problems.
Solution:   Add VMS specific changes. Add Lua support. (Zoltan Arpadffy)
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)