To: vim-dev@vim.org Subject: Patch 7.2.007 (extra) Fcc: outbox From: Bram Moolenaar 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 *** ../vim-7.2.006/runtime/doc/os_vms.txt Sat Aug 9 19:36:50 2008 --- runtime/doc/os_vms.txt Tue Aug 19 06:29:31 2008 *************** *** 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 + OpenVMS Vim page: http://www.polarhome.com/vim/ This document uses parts and remarks from earlier authors and contributors of OS_VMS.TXT: *** ../vim-7.2.006/src/os_vms_conf.h Thu May 10 19:26:17 2007 --- src/os_vms_conf.h Sat Aug 16 05:09:17 2008 *************** *** 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 *** ../vim-7.2.006/src/Make_vms.mms Mon Oct 29 22:38:54 2007 --- src/Make_vms.mms Sat Aug 16 05:17:41 2008 *************** *** 2,8 **** # Makefile for Vim on OpenVMS # # Maintainer: Zoltan Arpadffy ! # 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 ! # 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. *** ../vim-7.2.006/src/testdir/Make_vms.mms Wed Jun 25 00:34:23 2008 --- src/testdir/Make_vms.mms Tue Aug 19 06:28:07 2008 *************** *** 4,12 **** # Authors: Zoltan Arpadffy, # Sandor Kopanyi, # ! # 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, # Sandor Kopanyi, # ! # 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.*.* + *** ../vim-7.2.006/src/testdir/test30.in Sun Jul 13 19:17:14 2008 --- src/testdir/test30.in Sat Aug 16 04:59:37 2008 *************** *** 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 *** ../vim-7.2.006/src/testdir/test54.in Sun Jan 2 12:43:19 2005 --- src/testdir/test54.in Tue Aug 19 06:26:55 2008 *************** *** 3,10 **** STARTTEST :so small.vim :e xx ! :!rm -f test.out ! :au BufLeave :!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 :bwipe xx " here, autocommand shall be auto-deleted --- 3,15 ---- STARTTEST :so small.vim :e xx ! :if has("vms") ! : !del test.out.* ! : au BufLeave :!write sys$output "buffer-local autommand in %" > test.out ! :else ! : !rm -f test.out ! : au BufLeave :!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 :bwipe xx " here, autocommand shall be auto-deleted *** ../vim-7.2.006/src/version.c Mon Aug 25 05:03:29 2008 --- src/version.c Mon Sep 1 16:46:50 2008 *************** *** 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 ///