changeset 1709:71eaeb69efe4 v7.2.007

updated for version 7.2-007
author vimboss
date Mon, 01 Sep 2008 14:51:37 +0000
parents 33d28f1c4d1d
children cdf37c8f4616
files runtime/doc/os_vms.txt src/Make_vms.mms src/os_vms_conf.h src/testdir/Make_vms.mms src/testdir/test30.in src/testdir/test54.in src/version.c
diffstat 7 files changed, 183 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -1,4 +1,4 @@
-*os_vms.txt*    For Vim version 7.2.  Last change: 2006 Nov 18
+*os_vms.txt*    For Vim version 7.2.  Last change: 2008 Aug 19
 
 
 		  VIM REFERENCE MANUAL
@@ -312,7 +312,7 @@ features, it is worth to choose non GUI 
 
 8. Useful notes						*vms-notes*
 
-8.1 backspace/delete
+8.1 Backspace/delete
 8.2 Filters
 8.3 VMS file version numbers
 8.4 Directory conversion
@@ -326,8 +326,10 @@ 8.11 diff and other GNU programs
 8.12 diff-mode
 8.13 Allow '$' in C keywords
 8.14 VIMTUTOR for beginners
+8.15 Slow start in console mode issue 
+8.16 Common VIM directory - different architectures 
 
-8.1 backspace/delete
+8.1 Backspace/delete
 
 There are backspace/delete key inconsistencies with VMS.
 :fixdel doesn't do the trick, but the solution is: >
@@ -663,12 +665,130 @@ start it with: >
 
 (Thomas.R.Wyant III, Vim 6.1)
 
+8.14 Slow start in console mode issue
+
+As GUI/GTK Vim works equally well in console mode, many administartors
+deploy those executables system wide.
+Unfortunately, on a remote slow connections GUI/GTK executables behave rather
+slow when user wants to run Vim just in the console mode - because of X environment detection timeout.
+
+Luckily, there is a simple solution for that. Administrators need to deploy
+both GUI/GTK build and just console build executables, like below: >
+
+    |- vim72
+    |----- doc
+    |----- syntax        
+       vimrc    (system rc files)
+       gvimrc
+       gvim.exe (the remaned GUI or GTK built vim.exe)      
+       vim.exe  (the console only executable) 
+
+Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
+
+	$ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is
+	$ vi*m  :== mcr VIM:VIM.EXE
+	$ gvi*m :== mcr VIM:GVIM.EXE
+	$ ! or you can try to spawn with
+	$ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40
+
+
+Like this, users that do not have X environment and want to use Vim just in 
+console mode can avoid performance problems.
+
+(Zoltan Arpadffy, Vim 7.2)
+
+8.15 Common VIM directory - different architectures
+
+In a cluster that contains nodes with different architectures like below:
+
+$show cluster
+View of Cluster from system ID 11655  node: TOR                                                                     18-AUG-2008 11:58:31
++---------------------------------+
+¦        SYSTEMS        ¦ MEMBERS ¦
++-----------------------+---------¦
+¦  NODE  ¦   SOFTWARE   ¦  STATUS ¦
++--------+--------------+---------¦
+¦ TOR    ¦ VMS V7.3-2   ¦ MEMBER  ¦
+¦ TITAN2 ¦ VMS V8.3     ¦ MEMBER  ¦
+¦ ODIN   ¦ VMS V7.3-2   ¦ MEMBER  ¦
++---------------------------------+
+
+It is convinient to have a common VIM directory but execute different
+executables. 
+There are more solutions for this problem:
+
+solution 1. all executables in the same directory with different names
+This is easily done with the following script that can be added
+to the login.com or sylogin.com: >
+
+	$ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
+	$ then
+	$       say "VAX platform"
+	$       vi*m:== mcr vim:VIM.EXE_VAX
+	$ endif
+	$ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"
+	$ then
+	$       say "ALPHA platform"
+	$       vi*m :== mcr vim:VIM.EXE_AXP
+	$ endif
+	$ if f$getsyi("ARCH_NAME") .eqs. "IA64"
+	$ then
+	$      say "IA64 platform"
+	$      vi*m :== mcr vim:VIM.EXE_IA64
+	$ endif
+
+solution 2. different directories: >
+
+	$ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
+	$ then
+	$       say "VAX platform"
+	$       define/nolog VIM RF10:[UTIL.VAX_EXE] ! VAX executables
+	$ endif
+	$ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"
+	$ then
+	$       say "ALPHA platform"
+	$       define/nolog VIM RF10:[UTIL.AXP_EXE] ! AXP executables
+	$ endif
+	$ if f$getsyi("ARCH_NAME") .eqs. "IA64"
+	$ then
+	$      say "IA64 platform"
+	$      define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
+	$ endif
+        $! VIMRUNTIME must be defined in order to find runtime files
+	$ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
+
+A good examle for this approach is the [GNU]gnu_tools.com script from GNU_TOOLS.ZIP
+package downloadable from http://www.polarhome.com/vim/
+
+(Zoltan Arpadffy, Vim 7.2)
+
 ==============================================================================
 
 9. VMS related changes					*vms-changes*
 
-Version 7
+Recent changes
+- The following plugins are included into VMS runtime: 
+  genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
+  bufexplorer 7.1.7, taglist 4.5
+- minor changes in vimrc (just in VMS runtime) 
+- make_vms.mms - HUGE model is the default
+- [TESTDIR]make_vms.mms include as many tests possible
+- modify test30 and test54 for VMS
+- enable FLOAT feature in VMS port
+- os_vms.txt updated  
+
+Version 7.2 (2008 Aug 9)
+- VCF files write corrected
+- CTAGS 5.7 included
+- corrected make_vms.mms (on VAX gave syntax error) 
+
+Version 7.1 (2007 Jun 15)
+- create TAGS file from menu 
+
+Version 7 (2006 May 8)
 - Improved low level char input (affects just console mode)
+- Fixed plugin bug
+- CTAGS 5.6 included
 
 Version 6.4 (2005 Oct 15)
 - GTKLIB and Vim build on IA64
@@ -806,6 +926,7 @@ 10. Authors						*vms-authors*
 
 OpenVMS documentation and executables are maintained by:
 Zoltan Arpadffy <arpadffy@polarhome.com>
+OpenVMS Vim page: http://www.polarhome.com/vim/
 
 This document uses parts and remarks from earlier authors and contributors
 of OS_VMS.TXT:
--- 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:  2007 Oct 22
+# Last change:  2008 Aug 16
 #
 # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
 # with MMS and MMK
@@ -36,7 +36,7 @@ DECC = YES
 # BIG    - Many features enabled, as rich as possible. (default)
 # HUGE   - All possible featues enabled.
 # Please select one of these alternatives above.
-MODEL = BIG
+MODEL = HUGE
 
 # GUI or terminal mode executable.
 # Comment out if you want just the character terminal mode only.
--- a/src/os_vms_conf.h
+++ b/src/os_vms_conf.h
@@ -114,6 +114,8 @@
 #define HAVE_PUTENV
 #define HAVE_SETENV
 #define HAVE_SETJMP_H
+#define HAVE_MATH_H
+#define HAVE_FLOAT_FUNCS
 
 #undef	HAVE_DIRENT_H
 #undef	HAVE_SYS_NDIR_H
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,9 +4,9 @@
 # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
 #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
 #
-# Last change:  2008 Jun 19
+# Last change:  2008 Aug 19
 #
-# This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX.
+# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
 # Edit the lines in the Configuration section below to select.
 #
 # Execute with:
@@ -32,6 +32,15 @@
 # and directory handling.
 # WANT_UNIX = YES
 
+# Comment out if you want to run Win32 specific tests as well, but please
+# be aware, that on OpenVMS will fail, because of cat, rm, etc commands
+# and directory handling.
+# WANT_WIN = YES
+
+# Comment out if you want to run spell checker tests. 
+# They fail because VMS does not support file names.
+# WANT_SPELL = YES
+
 # Comment out if you have gzip on your system
 # HAVE_GZIP = YES
 
@@ -53,12 +62,12 @@ SCRIPT = test1.out  test2.out  test3.out
 	 test13.out test14.out test15.out test17.out \
 	 test18.out test19.out test20.out test21.out test22.out \
 	 test23.out test24.out test26.out \
-	 test28.out test29.out test31.out test32.out \
+	 test28.out test29.out test30.out test31.out test32.out \
 	 test33.out test34.out test35.out test36.out test37.out \
 	 test38.out test39.out test40.out test41.out test42.out \
 	 test43.out test44.out test45.out test46.out \
 	 test48.out test51.out test53.out test54.out test55.out \
-	 test56.out test57.out test58.out test59.out test60.out \
+	 test56.out test57.out test60.out \
 	 test61.out test62.out test63.out test64.out test65.out
 
 .IFDEF WANT_GUI
@@ -67,7 +76,15 @@ GUI_OPTION = -g
 .ENDIF
 
 .IFDEF WANT_UNIX
-SCRIPT_UNIX = test10.out test12.out test25.out test27.out test30.out test49.out
+SCRIPT_UNIX = test10.out test12.out test25.out test27.out test49.out
+.ENDIF
+
+.IFDEF WANT_WIN
+SCRIPT_WIN = test50.out test52.out
+.ENDIF
+
+.IFDEF WANT_SPELL
+SCRIPT_SPELL = test58.out test59.out 
 .ENDIF
 
 .IFDEF HAVE_GZIP
@@ -84,11 +101,11 @@ SCRIPT_GDIFF = test47.out
 	-@ write sys$output "                "$*" "
 	-@ write sys$output "-----------------------------------------------"
 	-@ create/term/wait mcr $(VIMPROG) $(GUI_OPTION) -u vms.vim --noplugin -s dotest.in $*.in
-	-@ if "''F$SEARCH("test.out.*")'" .NES. "" then differences test.out $*.ok;
+	-@ if "''F$SEARCH("test.out.*")'" .NES. "" then differences /par test.out $*.ok;
 	-@ if "''F$SEARCH("test.out.*")'" .NES. "" then rename test.out $*.out
 	-@ if "''F$SEARCH("Xdotest.*")'"  .NES. "" then delete/noconfirm/nolog Xdotest.*.*
 
-all : clean nolog $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_GZIP) $(SCRIPT_GDIFF)
+all : clean nolog $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_GZIP) $(SCRIPT_GDIFF) 
 	-@ write sys$output " "
 	-@ write sys$output "-----------------------------------------------"
 	-@ write sys$output "                All done"
@@ -113,6 +130,8 @@ nolog :
 	-@ write sys$output "MAKE_VMS.MMS options:"
 	-@ write sys$output "   WANT_GUI  = ""$(WANT_GUI)"" "
 	-@ write sys$output "   WANT_UNIX = ""$(WANT_UNIX)"" "
+	-@ write sys$output "   WANT_WIN  = ""$(WANT_WIN)"" "
+	-@ write sys$output "   WANT_SPELL= ""$(WANT_SPELL)"" "
 	-@ write sys$output "   HAVE_GZIP = ""$(HAVE_GZIP)"" "
 	-@ write sys$output "   HAVE_GDIFF= ""$(HAVE_GDIFF)"" "
 	-@ write sys$output "Default vimrc file is VMS.VIM:
@@ -122,5 +141,13 @@ nolog :
 clean :
 	-@ if "''F$SEARCH("*.out")'"     .NES. "" then delete/noconfirm/nolog *.out.*
 	-@ if "''F$SEARCH("test.log")'"  .NES. "" then delete/noconfirm/nolog test.log.*
+	-@ if "''F$SEARCH("test.ok")'"   .NES. "" then delete/noconfirm/nolog test.ok.*
 	-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
 	-@ if "''F$SEARCH("*.*_sw*")'"   .NES. "" then delete/noconfirm/nolog *.*_sw*.*
+	-@ if "''F$SEARCH("*.failed")'"  .NES. "" then delete/noconfirm/nolog *.failed.*
+	-@ if "''F$SEARCH("*.rej")'"     .NES. "" then delete/noconfirm/nolog *.rej.*
+	-@ if "''F$SEARCH("tiny.vim")'"  .NES. "" then delete/noconfirm/nolog tiny.vim.*
+	-@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.*
+	-@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.*
+	-@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.*
+
--- a/src/testdir/test30.in
+++ b/src/testdir/test30.in
@@ -24,10 +24,17 @@ STARTTEST
 :set nobin eol
 :bwipe XXUnix XXDos XXMac
 :" create mixed format files
-:!cat XXUnix XXDos >XXUxDs
-:!cat XXUnix XXMac >XXUxMac
-:!cat XXDos XXMac >XXDosMac
-:!cat XXUnix XXDos XXMac >XXUxDsMc
+:if has("vms")
+: !copy XXUnix,XXDos XXUxDs.
+: !copy XXUnix,XXMac XXUxMac.
+: !copy XXDos,XXMac  XXDosMac.
+: !copy XXUnix,XXDos,XXMac XXUxDsMc.
+:else
+: !cat XXUnix XXDos >XXUxDs
+: !cat XXUnix XXMac >XXUxMac
+: !cat XXDos XXMac >XXDosMac
+: !cat XXUnix XXDos XXMac >XXUxDsMc
+:endif
 :"
 :" try reading and writing with 'fileformats' empty
 :set fileformat=unix
--- a/src/testdir/test54.in
+++ b/src/testdir/test54.in
@@ -3,8 +3,13 @@ Some tests for buffer-local autocommands
 STARTTEST
 :so small.vim
 :e xx
-:!rm -f test.out
-:au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
+:if has("vms")
+: !del test.out.*
+: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.out
+:else
+: !rm -f test.out
+: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
+:endif
 :e somefile           " here, autocommand for xx shall write test.out 
 :                     " but autocommand shall not apply to buffer named <buffer>
 :bwipe xx             " here, autocommand shall be auto-deleted
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    7,
+/**/
     6,
 /**/
     5,