changeset 34072:6d9e20b403e8 v9.1.0005

patch 9.1.0005: OpenVMS does not support python3 and xterm_save Commit: https://github.com/vim/vim/commit/4d8cb683b1543ec02563cdd2d068ce5f82f90539 Author: Zoltan Arpadffy <zoltan.arpadffy@gmail.com> Date: Thu Jan 4 21:01:13 2024 +0100 patch 9.1.0005: OpenVMS does not support python3 and xterm_save Problem: OpenVMS build does not support python3 and xterm_save Solution: Enable python3 + xterm_save feature, fix style issues (Zoltan Arpadffy) closes: #13812 Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 04 Jan 2024 21:15:05 +0100
parents ce17935bc3cb
children 7d9c9731e78e
files READMEdir/README_vms.txt src/Make_vms.mms src/os_vms_conf.h src/version.c
diffstat 4 files changed, 62 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/READMEdir/README_vms.txt
+++ b/READMEdir/README_vms.txt
@@ -19,14 +19,16 @@ src/INSTALLvms.txt.
 
 To use the binary version, you need one of these archives:
 
-  vim-XX-exe-ia64-gui.zip       IA64 GUI/Motif executables
-  vim-XX-exe-ia64-gtk.zip       IA64 GUI/GTK executables
-  vim-XX-exe-ia64-term.zip      IA64 console executables
+  vim-XX-exe-x86-gui.zip	X86_64 GUI/Motif executables
+  vim-XX-exe-x86-term.zip	X86_64 console executables
+  vim-XX-exe-ia64-gui.zip	IA64 GUI/Motif executables
+  vim-XX-exe-ia64-gtk.zip	IA64 GUI/GTK executables
+  vim-XX-exe-ia64-term.zip	IA64 console executables
   vim-XX-exe-axp-gui.zip	Alpha GUI/Motif executables
   vim-XX-exe-axp-gtk.zip	Alpha GUI/GTK executables
-  vim-XX-exe-axp-term.zip       Alpha console executables
+  vim-XX-exe-axp-term.zip	Alpha console executables
   vim-XX-exe-vax-gui.zip	VAX GUI executables
-  vim-XX-exe-vax-term.zip       VAX console executables
+  vim-XX-exe-vax-term.zip	VAX console executables
 
 and of course
   vim-XX-runtime.zip		runtime files
@@ -34,6 +36,8 @@ and of course
 The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
 but there are also prepared "deploy ready" archives:
 
+vim-XX-x86.zip			GUI and console executables with runtime and
+				help files for X86_64 systems
 vim-XX-ia64.zip			GUI and console executables with runtime and
 				help files for IA64 systems
 vim-XX-axp.zip			GUI and console executables with runtime and
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -1,8 +1,8 @@
 #
 # Makefile for Vim on OpenVMS
 #
-# Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change:  2023 Nov 27
+# Maintainer:   Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
+# Last change:  2024 Jan 03
 #
 # This script has been tested on VMS 6.2 to 9.2 on VAX, ALPHA, IA64 and X86_64
 # with MMS and MMK
@@ -65,6 +65,7 @@ CCVER = YES
 # VIM_TCL    = YES
 # VIM_PERL   = YES
 # VIM_PYTHON = YES
+# VIM_PYTHON3= YES
 # VIM_RUBY   = YES
 # VIM_LUA    = YES
 
@@ -113,7 +114,7 @@ CC_DEF  = cc
 PREFIX  = /prefix=all/name=(upper,short)
 OPTIMIZE= /opt
 .IFDEF MMSX86_64
-ARCH_DEF=        # ,__CRTL_VER_OVERRIDE=80400000 
+ARCH_DEF=        # ,__CRTL_VER_OVERRIDE=80400000
 .ENDIF
 .ENDIF
 
@@ -224,6 +225,16 @@ PYTHON_LIB = ,OS_VMS_PYTHON.OPT/OPT
 PYTHON_INC = ,PYTHON_INCLUDE
 .ENDIF
 
+.IFDEF VIM_PYTHON3
+# Python related setup.
+PYTHON3_DEF = ,"FEAT_PYTHON3"
+PYTHON3_SRC = if_python3.c
+PYTHON3_OBJ = if_python3.obj
+PYTHON3_LIB = ,OS_VMS_PYTHON3.OPT/OPT
+PYTHON3_INC = ,PYTHON3_INCLUDE
+.ENDIF
+
+
 .IFDEF VIM_TCL
 # TCL related setup.
 TCL_DEF = ,"FEAT_TCL"
@@ -260,9 +271,9 @@ XIM_DEF = ,"FEAT_XIM"
 
 .IFDEF VIM_MZSCHEME
 # MZSCHEME related setup
-MZSCH_DEF = ,"FEAT_MZSCHEME"
-MZSCH_SRC = if_mzsch.c
-MZSCH_OBJ = if_mzsch.obj
+MZSCHEME_DEF = ,"FEAT_MZSCHEME"
+MZSCHEME_SRC = if_mzsch.c
+MZSCHEME_OBJ = if_mzsch.obj
 .ENDIF
 
 .IFDEF VIM_ICONV
@@ -275,7 +286,7 @@ XDIFF_SRC = xdiffi.c,xemit.c,xprepare.c,
 XDIFF_OBJ = xdiffi.obj,xemit.obj,xprepare.obj,xutils.obj,xhistogram.obj,xpatience.obj
 XDIFF_INC = ,[.xdiff]
 
-.IFDEF MODIFIED_BY 
+.IFDEF MODIFIED_BY
 DEF_MODIFIED = YES
 .ELSE
 DEF_MODIFIED = NO
@@ -294,26 +305,26 @@ VIMHOST = "''F$TRNLNM("SYS$NODE")'''F$TR
 
 .SUFFIXES : .obj .c
 
-ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
- $(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
+ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF)$(PYTHON3_DEF) -
+ $(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCHEME_DEF) -
  $(ICONV_DEF)$(ARCH_DEF)) -
  $(CFLAGS)$(GUI_FLAG) -
- /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC) -
+ /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(PYTHON3_INC) -
  $(TCL_INC)$(XDIFF_INC)$(XPM_INC))
 
 # CFLAGS displayed in :ver information
 # It is specially formatted for correct display of unix like includes
 # 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)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
+ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF)$(PYTHON3_DEF) -
+ $(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCHEME_DEF) -
  $(ICONV_DEF)$(ARCH_DEF)) -
  $(CFLAGS)$(GUI_FLAG) -
- /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC) -
+ /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(PYTHON3_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) $(LUA_LIB)
+	   $(PERL_LIB) $(PYTHON_LIB) $(PYTHON3_LIB) $(TCL_LIB) $(RUBY_LIB) $(LUA_LIB)
 
 SRC = \
 	alloc.c \
@@ -437,13 +448,14 @@ SRC = \
 	viminfo.c \
 	window.c \
 	$(GUI_SRC) \
+	$(XDIFF_SRC) \
+	$(LUA_SRC) \
+	$(MZSCHEME_SRC) \
 	$(PERL_SRC) \
 	$(PYTHON_SRC) \
+	$(PYTHON3_SRC) \
 	$(TCL_SRC) \
-	$(RUBY_SRC) \
-	$(LUA_SRC) \
-	$(MZSCH_SRC) \
-	$(XDIFF_SRC)
+	$(RUBY_SRC)
 
 OBJ = \
 	alloc.obj \
@@ -568,13 +580,14 @@ OBJ = \
 	viminfo.obj \
 	window.obj \
 	$(GUI_OBJ) \
+	$(XDIFF_OBJ) \
+	$(LUA_OBJ) \
+	$(MZSCHEME_OBJ) \
 	$(PERL_OBJ) \
 	$(PYTHON_OBJ) \
+	$(PYTHON3_OBJ) \
 	$(TCL_OBJ) \
-	$(RUBY_OBJ) \
-	$(LUA_OBJ) \
-	$(MZSCH_OBJ) \
-	$(XDIFF_OBJ)
+	$(RUBY_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 lua_env $(TARGET)
@@ -735,6 +748,20 @@ python_env :
 	-@ !
 .ENDIF
 
+.IFDEF VIM_PYTHON3
+python3_env :
+	-@ write sys$output "using PYTHON3 environment:"
+	-@ show logical PYTHON3_INCLUDE
+	-@ show logical PYTHON3_OLB
+	-@ write sys$output "creating OS_VMS_PYTHON3.OPT file."
+	-@ open/write opt_file OS_VMS_PYTHON3.OPT
+	-@ write opt_file "PYTHON3_OLB:PYTHON3.OLB /share"
+	-@ close opt_file
+.ELSE
+python3_env :
+	-@ !
+.ENDIF
+
 .IFDEF VIM_TCL
 tcl_env :
 	-@ write sys$output "using TCL environment:"
@@ -1085,7 +1112,7 @@ sign.obj : sign.c vim.h [.auto]config.h 
  ascii.h keymap.h termdefs.h macros.h option.h structs.h regexp.h gui.h \
  beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
  errors.h globals.h
-sound.obj : sound.c vim.h [.auto]config.h feature.h 
+sound.obj : sound.c vim.h [.auto]config.h feature.h
 spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
  ascii.h keymap.h termdefs.h macros.h structs.h regexp.h \
  gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
--- a/src/os_vms_conf.h
+++ b/src/os_vms_conf.h
@@ -144,6 +144,7 @@
 
 // Default features
 #define FEAT_IPV6
+#define FEAT_XTERM_SAVE
 
 // Hardware specific
 #if defined(__VAX) || defined(VAX)
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5,
+/**/
     4,
 /**/
     3,