| To: vim-dev@vim.org |
| Subject: Patch 7.2.007 (extra) |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.2.007 (extra) |
| Problem: Minor issues for VMS. |
| Solution: Minor fixes for VMS. Add float support. (Zoltan Arpadffy) |
| Files: runtime/doc/os_vms.txt, src/os_vms_conf.h, src/Make_vms.mms, |
| src/testdir/Make_vms.mms, src/testdir/test30.in, |
| src/testdir/test54.in |
| |
| |
| |
| |
| |
| *** 1,4 **** |
| ! *os_vms.txt* For Vim version 7.2. Last change: 2006 Nov 18 |
| |
| |
| VIM REFERENCE MANUAL |
| --- 1,4 ---- |
| ! *os_vms.txt* For Vim version 7.2. Last change: 2008 Aug 19 |
| |
| |
| VIM REFERENCE MANUAL |
| |
| *** 312,318 **** |
| |
| 8. Useful notes *vms-notes* |
| |
| ! 8.1 backspace/delete |
| 8.2 Filters |
| 8.3 VMS file version numbers |
| 8.4 Directory conversion |
| --- 312,318 ---- |
| |
| 8. Useful notes *vms-notes* |
| |
| ! 8.1 Backspace/delete |
| 8.2 Filters |
| 8.3 VMS file version numbers |
| 8.4 Directory conversion |
| |
| *** 326,333 **** |
| 8.12 diff-mode |
| 8.13 Allow '$' in C keywords |
| 8.14 VIMTUTOR for beginners |
| |
| ! 8.1 backspace/delete |
| |
| There are backspace/delete key inconsistencies with VMS. |
| :fixdel doesn't do the trick, but the solution is: > |
| --- 326,335 ---- |
| 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 |
| |
| There are backspace/delete key inconsistencies with VMS. |
| :fixdel doesn't do the trick, but the solution is: > |
| |
| *** 663,674 **** |
| |
| (Thomas.R.Wyant III, Vim 6.1) |
| |
| |
| |
| 9. VMS related changes *vms-changes* |
| |
| ! Version 7 |
| - Improved low level char input (affects just console mode) |
| |
| Version 6.4 (2005 Oct 15) |
| - GTKLIB and Vim build on IA64 |
| --- 665,794 ---- |
| |
| (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* |
| |
| ! 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,811 **** |
| --- 926,932 ---- |
| |
| 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: |
| |
| |
| |
| *** 114,119 **** |
| --- 114,121 ---- |
| #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 |
| |
| |
| |
| *** 2,8 **** |
| # Makefile for Vim on OpenVMS |
| # |
| # Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com> |
| ! # Last change: 2007 Oct 22 |
| # |
| # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64 |
| # with MMS and MMK |
| --- 2,8 ---- |
| # Makefile for Vim on OpenVMS |
| # |
| # Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com> |
| ! # 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,42 **** |
| # BIG - Many features enabled, as rich as possible. (default) |
| # HUGE - All possible featues enabled. |
| # Please select one of these alternatives above. |
| ! MODEL = BIG |
| |
| # GUI or terminal mode executable. |
| # Comment out if you want just the character terminal mode only. |
| --- 36,42 ---- |
| # BIG - Many features enabled, as rich as possible. (default) |
| # HUGE - All possible featues enabled. |
| # Please select one of these alternatives above. |
| ! MODEL = HUGE |
| |
| # GUI or terminal mode executable. |
| # Comment out if you want just the character terminal mode only. |
| |
| |
| |
| *** 4,12 **** |
| # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com> |
| # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu> |
| # |
| ! # Last change: 2008 Jun 19 |
| # |
| ! # This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX. |
| # Edit the lines in the Configuration section below to select. |
| # |
| # Execute with: |
| --- 4,12 ---- |
| # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com> |
| # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu> |
| # |
| ! # Last change: 2008 Aug 19 |
| # |
| ! # 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,37 **** |
| --- 32,46 ---- |
| # 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,64 **** |
| 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 \ |
| 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 \ |
| test61.out test62.out test63.out test64.out test65.out |
| |
| .IFDEF WANT_GUI |
| --- 62,73 ---- |
| 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 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 test60.out \ |
| test61.out test62.out test63.out test64.out test65.out |
| |
| .IFDEF WANT_GUI |
| |
| *** 67,73 **** |
| .ENDIF |
| |
| .IFDEF WANT_UNIX |
| ! SCRIPT_UNIX = test10.out test12.out test25.out test27.out test30.out test49.out |
| .ENDIF |
| |
| .IFDEF HAVE_GZIP |
| --- 76,90 ---- |
| .ENDIF |
| |
| .IFDEF WANT_UNIX |
| ! 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,94 **** |
| -@ 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 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) |
| -@ write sys$output " " |
| -@ write sys$output "-----------------------------------------------" |
| -@ write sys$output " All done" |
| --- 101,111 ---- |
| -@ 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 /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_WIN) $(SCRIPT_SPELL) $(SCRIPT_GZIP) $(SCRIPT_GDIFF) |
| -@ write sys$output " " |
| -@ write sys$output "-----------------------------------------------" |
| -@ write sys$output " All done" |
| |
| *** 113,118 **** |
| --- 130,137 ---- |
| -@ 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,126 **** |
| --- 141,153 ---- |
| 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.*.* |
| + |
| |
| |
| |
| *** 24,33 **** |
| :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 |
| :" |
| :" try reading and writing with 'fileformats' empty |
| :set fileformat=unix |
| --- 24,40 ---- |
| :set nobin eol |
| :bwipe XXUnix XXDos XXMac |
| :" create mixed format files |
| ! :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 |
| |
| |
| |
| *** 3,10 **** |
| STARTTEST |
| :so small.vim |
| :e xx |
| ! :!rm -f test.out |
| ! :au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out |
| :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 |
| --- 3,15 ---- |
| STARTTEST |
| :so small.vim |
| :e xx |
| ! :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 |
| |
| |
| |
| *** 678,679 **** |
| --- 678,681 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 7, |
| /**/ |
| |
| -- |
| How To Keep A Healthy Level Of Insanity: |
| 8. Don't use any punctuation marks. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ download, build and distribute -- http://www.A-A-P.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |