diff options
-rw-r--r-- | runtime/doc/os_vms.txt | 129 | ||||
-rw-r--r-- | src/Make_vms.mms | 4 | ||||
-rw-r--r-- | src/os_vms_conf.h | 2 | ||||
-rw-r--r-- | src/testdir/Make_vms.mms | 41 | ||||
-rw-r--r-- | src/testdir/test30.in | 15 | ||||
-rw-r--r-- | src/testdir/test54.in | 9 | ||||
-rw-r--r-- | src/version.c | 2 |
7 files changed, 183 insertions, 19 deletions
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt index f74700d26..0d7590628 100644 --- 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 executables. 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 @@ features, it is worth to choose non GUI executables. 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 @@ Version 4.5 (1996 Dec 16) 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: diff --git a/src/Make_vms.mms b/src/Make_vms.mms index 8c5f74edd..0519d7b6f 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: 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. diff --git a/src/os_vms_conf.h b/src/os_vms_conf.h index 71f1df2fd..d70ab6137 100644 --- 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 diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms index b9871d601..dc6ff96a1 100644 --- 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 test4.out test5.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.*.* + diff --git a/src/testdir/test30.in b/src/testdir/test30.in index 2815c1a3c..c2ee2f06d 100644 --- 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 diff --git a/src/testdir/test54.in b/src/testdir/test54.in index 82a8bdd36..9fc6537e0 100644 --- 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 diff --git a/src/version.c b/src/version.c index dc8fab6ec..64370d0fa 100644 --- 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, |