summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/os_vms.txt129
-rw-r--r--src/Make_vms.mms4
-rw-r--r--src/os_vms_conf.h2
-rw-r--r--src/testdir/Make_vms.mms41
-rw-r--r--src/testdir/test30.in15
-rw-r--r--src/testdir/test54.in9
-rw-r--r--src/version.c2
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,