To: vim-dev@vim.org Subject: Patch 5.6.045 (extra) (fixed version) Fcc: outbox From: Bram Moolenaar ------------ NOTE: This patch was sent before, but with an error at the start of the patch for src/main.c. This is a fixed version of the same patch. Patch 5.6.045 (extra) (fixed version) Problem: VMS: Various small problems. Solution: Many small changes. (Zoltan Arpadffy) File name modifier ":h" keeps the path separator. File name modifier ":e" also removes version. Compile with MAX_FEAT by default. When checking for autocommands ignore version in file name. Be aware of file names being case insensitive. Added vt320 builtin termcap. Be prepared for an empty default_vim_dir. Files: runtime/gvimrc_example.vim, runtime/vimrc_example.vim, runtime/doc/os_vms.txt, src/eval.c, src/feature.h, src/fileio.c, src/gui_motif.c, src/gui_vms_conf.h, src/main.c, src/memline.c, src/misc1.c, src/option.c, src/os_vms_conf.h, src/os_vms.c, src/os_vms.h, src/os_vms.mms, src/tag.c, src/term.c, src/version.c *** ../vim-5.6.44/runtime/gvimrc_example.vim Tue Feb 2 21:01:23 1999 --- runtime/gvimrc_example.vim Wed Mar 29 17:03:29 2000 *************** *** 2,13 **** " The commands in this are executed when the GUI is started. " " Maintainer: Bram Moolenaar ! " Last change: 1999 Feb 02 " " To use it, copy it to " for Unix and OS/2: ~/.gvimrc " for Amiga: s:.gvimrc " for MS-DOS and Win32: $VIM\_gvimrc " Make external commands work through a pipe instead of a pseudo-tty "set noguipty --- 2,14 ---- " The commands in this are executed when the GUI is started. " " Maintainer: Bram Moolenaar ! " Last change: 2000 Mar 29 " " To use it, copy it to " for Unix and OS/2: ~/.gvimrc " for Amiga: s:.gvimrc " for MS-DOS and Win32: $VIM\_gvimrc + " for OpenVMS: sys$login:.gvimrc " Make external commands work through a pipe instead of a pseudo-tty "set noguipty *** ../vim-5.6.44/runtime/vimrc_example.vim Tue Jan 11 18:23:54 2000 --- runtime/vimrc_example.vim Wed Mar 29 18:58:43 2000 *************** *** 1,13 **** " An example for a vimrc file. " " Maintainer: Bram Moolenaar ! " Last change: 2000 Jan 06 " " To use it, copy it to " for Unix and OS/2: ~/.vimrc " for Amiga: s:.vimrc " for MS-DOS and Win32: $VIM\_vimrc ! " for VMS: sys$login:.vimrc " Use Vim settings, rather then Vi settings (much better!). " This must be first, because it changes other options as a side effect. --- 1,13 ---- " An example for a vimrc file. " " Maintainer: Bram Moolenaar ! " Last change: 2000 Mar 29 " " To use it, copy it to " for Unix and OS/2: ~/.vimrc " for Amiga: s:.vimrc " for MS-DOS and Win32: $VIM\_vimrc ! " for OpenVMS: sys$login:.vimrc " Use Vim settings, rather then Vi settings (much better!). " This must be first, because it changes other options as a side effect. *************** *** 15,21 **** set bs=2 " allow backspacing over everything in insert mode set ai " always set autoindenting on ! set backup " keep a backup file set viminfo='20,\"50 " read/write a .viminfo file, don't store more " than 50 lines of registers set history=50 " keep 50 lines of command line history --- 15,25 ---- set bs=2 " allow backspacing over everything in insert mode set ai " always set autoindenting on ! if has("vms") ! set nobackup " do not keep a backup file, use versions instead ! else ! set backup " keep a backup file ! endif set viminfo='20,\"50 " read/write a .viminfo file, don't store more " than 50 lines of registers set history=50 " keep 50 lines of command line history *** ../vim-5.6.44/runtime/doc/os_vms.txt Sun Jan 16 14:12:58 2000 --- runtime/doc/os_vms.txt Fri Mar 31 12:47:05 2000 *************** *** 1,4 **** ! *os_vms.txt* For Vim version 5.6. Last change: 2000 Jan 12 VIM REFERENCE MANUAL --- 1,4 ---- ! *os_vms.txt* For Vim version 5.6 Last change: 2000 Mar 31 VIM REFERENCE MANUAL *************** *** 6,137 **** *VMS* *vms* This file contains the particularities for the VMS version of Vim. ! 1. Getting started |vms-started| ! 2. Download files |vms-download| ! 3. Compiling |vms-compiling| ! 4. Problems |vms-problems| ! 5. Deploy |vms-deploy| ! 6. Practical usage |vms-usage| ! 7. GUI mode questions |vms-gui| ! 8. Useful notes |vms-notes| ! 9. Authors |vms-authors| ============================================================================== 1. Getting started *vms-started* ! VIM (Vi IMproved) is a vi-compatible text editor that runs on nearly every ! operating system known to humanity. Now use Vim on Open VMS too, in character or X/Motif environment. It is fully featured and absolutely compatible with ! VIM on other operating systems. ============================================================================== 2. Download files *vms-download* ! You can download the VIM source code by ftp from the official VIM site: ftp://ftp.vim.org/pub/vim/ Or use one of the mirrors: ftp://ftp.vim.org/pub/vim/MIRRORS You will need both the Unix and Extra archives to build vim.exe for VMS. ! For using VIM's full power you will need the runtime files as well. You can download precompiled executables from: http://www.polarfox.com/vim/ ============================================================================== 3. Compiling *vms-compiling* Unpack the Unix and Extra archives together into one directory. In the <.SRC> subdirectory you should find the make file OS_VMS.MMS. By editing this file ! you may choose between building the character, GUI and debug version. You will need either the DECSET mms utility or the freely available clone of ! it called mmk (VMS has no make utility in the standard distribution). I found ! a binary of 'mmk' which worked well. If you have MSS on your system, the command ! > MMS /DESCRIP=OS_VMS.MMS ! will start building your own customized version of VIM. ============================================================================== 4. Problems *vms-problems* ! The code has been tested under Open VMS 6.2-7.1 and with the DECC compiler. ! It should work without bigger problems. If it happened that your system does ! not have some include libraries you can tune up in OS_VMS_CONF.H file. ! Note: Under VAX it should work with DECC compiler without problem, but the ! code is not compilable with the old VAXC compiler. ============================================================================== 5. Deploy *vms-deploy* Vim uses a special directory structure to hold the document and runtime files: vim (or wherever) |- tmp |- vim56 |----- doc |----- syntax Use: ! > assign/nolog dev:[leading-path-here.vim54] vimruntime ! > assign/nolog dev:[leading-path-here.vim54.tmp] tmp to get vim.exe to find its document, filetype, and syntax files, and to ! specify a directory where temporary files will be located. Copy the "runtime" subdirectory of the vim distribution to vimruntime. ============================================================================== 6. Practical usage *vms-usage* ! Copy all VIM runtime directory structure to the deployment position. ! Add the following things to your LOGIN.COM (in SYS$LOGIN directory). Set up logical $VIM as: ! > $ define vim device: Set up some symbols: ! > $ ! vi starts vim in chr. mode. > $ vi*m :== mcr device:VIM.EXE ! > $ gvi starts vim in GUI mode. > $ gv*im :== spawn/nowait mcr device:VIM.EXE -g - > $ ! normal vt300-80 is not defined. let us use ansi instead. - > $ define term "ansi" - Create .vimrc and .gvimrc files in your home directory (SYS$LOGIN). - The easiest way is just rename example files. You may leave the menu file - (MENU.VIM) in the original $VIM directory. ! It should work without any problem. Example LOGIN.COM: ! > $ vi*m :== mcr RF10:[UTIL.VIM]VIM.EXE ! > $ gv*im :== spawn/nowait mcr RF10:[UTIL.VIM]VIM.EXE -g ! > $ define vim RF10:[UTIL.VIM] ! > $ define term "ansi" ! > $ set disp/create/node=192.168.5.159/trans=tcpip ============================================================================== 7. GUI mode questions *vms-gui* ! VMS is not a native X window environment so you can not start VIM in GUI mode ! "just like that". 1) If you are working on the VMS X console: ! Start VIM with the command: > $ mc device:VIM.EXE -g - or type :gui as a command to the VIM command prompt. ! 2) If you are working on other X window environment ! Set up display to your host with: ! > $ set disp/create/node=/trans=tcpip ! and start VIM as in point 1. 3) If you are working on MS Windows or other non X window environment ! You need to set up one X server and run VIM as in point 2. For MS Windows there are available free X servers as MIX , Omni X etc. ============================================================================== 8. Useful notes *vms-notes* 8.1 backspace/delete. --- 6,229 ---- *VMS* *vms* This file contains the particularities for the VMS version of Vim. + You can reach this information file by typing :help VMS in Vim command + prompt. ! 1. Getting started |vms-started| ! 2. Download files |vms-download| ! 3. Compiling |vms-compiling| ! 4. Problems |vms-problems| ! 5. Deploy |vms-deploy| ! 6. Practical usage |vms-usage| ! 7. GUI mode questions |vms-gui| ! 8. Useful notes |vms-notes| ! 9. Changes |vms-changes| ! 10. Authors |vms-authors| ============================================================================== + 1. Getting started *vms-started* ! Vim (Vi IMproved) is a vi-compatible text editor that runs on nearly every ! operating system known to humanity. Now use Vim on OpenVMS too, in character or X/Motif environment. It is fully featured and absolutely compatible with ! Vim on other operating systems. ! ============================================================================== + 2. Download files *vms-download* ! You can download the Vim source code by ftp from the official Vim site: ftp://ftp.vim.org/pub/vim/ Or use one of the mirrors: ftp://ftp.vim.org/pub/vim/MIRRORS You will need both the Unix and Extra archives to build vim.exe for VMS. ! For using Vim's full power you will need the runtime files as well. You can download precompiled executables from: http://www.polarfox.com/vim/ ============================================================================== + 3. Compiling *vms-compiling* Unpack the Unix and Extra archives together into one directory. In the <.SRC> subdirectory you should find the make file OS_VMS.MMS. By editing this file ! you may choose between building the character, GUI and debug version. There ! are also additional options for Perl, Python and Tcl support. You will need either the DECSET mms utility or the freely available clone of ! it called mmk (VMS has no make utility in the standard distribution). You can ! download mmk from http://www.openvms.digital.com/freeware/MMK/ If you have MSS on your system, the command ! ! > mms /descrip=os_vms.mms ! ! will start building your own customised version of Vim. ! The adequate command for mmk is: ! ! > mmk /descrip=os_vms.mms ============================================================================== + 4. Problems *vms-problems* ! The code has been tested under Open VMS 6.2 - 7.1 on Alpha and VAX platforms ! with the DECC compiler. It should work without bigger problems. ! If it happened that your system does not have some include libraries you can ! tune up in OS_VMS_CONF.H or GUI_VMS_CONF.H files. ! ! If you decided to build Vim with +perl, +python, etc. options, first you need ! to download OpenVMS distributions of Perl and Python. Build and deploy the ! libraries and change adequate lines in OS_VMS.MMS file. There should not be ! problem from Vim side. ! ! Note: Under VAX it should work with DEC C compiler without problem, but the ! code is not compilable with the old VAX C compiler. ! ! MMS_VIM.EXE is building together with VIM.EXE, but for CTAGS.EXE and XXD.EXE ! you should change to subdirectory <.CTAGS> or <.XXD> and build them ! separately. You have to be prepared that the CTAGS and XXD make files are not ! always up to date. ! ! Advanced users may try some acrobatics in FEATURE.H file also. ! ! It is possible to compile with +xfontset +xim options too, but then you have ! to set up GUI fonts etc. correctly. See. :help xim from Vim command prompt. ! ============================================================================== + 5. Deploy *vms-deploy* Vim uses a special directory structure to hold the document and runtime files: vim (or wherever) |- tmp + |- vim55 + |----- doc + |----- syntax |- vim56 |----- doc |----- syntax + vimrc (system rc files) + gvimrc Use: ! ! > define/nolog device:[leading-path-here.vim] vim ! > define/nolog device:[leading-path-here.vim.vim56] vimruntime ! > define/nolog device:[leading-path-here.tmp] tmp to get vim.exe to find its document, filetype, and syntax files, and to ! specify a directory where temporary files will be located. Copy the "runtime" subdirectory of the vim distribution to vimruntime. + Note: Logicals $VIMRUNTIME and $TMP are optional. Read more at :help runtime + ============================================================================== + 6. Practical usage *vms-usage* ! Usually you want to run just one version of Vim on your system, therefore ! it is enough to dedicate one directory for Vim. ! Copy all Vim runtime directory structure to the deployment position. ! Add the following lines to your LOGIN.COM (in SYS$LOGIN directory). Set up logical $VIM as: ! > $ define VIM device: Set up some symbols: ! > $ ! vi starts Vim in chr. mode. > $ vi*m :== mcr device:VIM.EXE ! > $ !gvi starts Vim in GUI mode. > $ gv*im :== spawn/nowait mcr device:VIM.EXE -g Create .vimrc and .gvimrc files in your home directory (SYS$LOGIN). ! The easiest way is just rename example files. You may leave the menu file ! (MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will ! be default setup for all users, and for users is enough just to have their ! own additions or resetting in home directory in files .vimrc and .gvimrc. ! It should work without problems. ! ! Note: Remember, system rc files (default for all users) does not have leading ! "." So, system rc files are: ! ! > VIM$:vimrc ! > VIM$:gvimrc ! > VIM$:menu.vim ! ! and user's customised rc files are: ! ! > sys$login:.vimrc ! > sys$login:.gvimrc ! ! You can check that everything is on the right place with the :version command. ! ! Example LOGIN.COM: ! ! > $ define/nolog VIM RF10:[UTIL.VIM] ! > $ vi*m :== mcr VIM:VIM.EXE ! > $ gv*im :== spawn/nowait mcr VIM:VIM.EXE -g ! > $ set disp/create/node=192.168.5.223/trans=tcpip ! ! Note: This set-up should be enough, if you are working on standalone server or ! clustered environment, but if you want to use Vim as internode editor, it ! will satiate you as well. You just have to define the "whole" path: ! > $ define VIM "[""user password""]::device:" ! > $ vi*m :== "mcr VIM:VIM.EXE" ! ! as for example: ! ! > $ define VIM "PLUTO::RF10:[UTIL.VIM]" ! > $ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required ! ! You can also use $VIMRUNTIME logical to point to proper version of Vim if you ! have installed more versions in the same time. If $VIMRUNTIME is not defined ! Vim will borrow value from $VIM logical. You can find more information about ! $VIMRUNTIME logical by typing :help runtime as a Vim command. ============================================================================== + 7. GUI mode questions *vms-gui* ! VMS is not a native X window environment, so you can not start Vim in GUI mode ! "just like that". But anyhow it is not too complicate to get a running Vim. ! 1) If you are working on the VMS X console: ! Start Vim with the command: ! > $ mc device:VIM.EXE -g ! or type :gui as a command to the Vim command prompt. For more info :help gui ! ! 2) If you are working on other X window environment as Unix or some remote X ! VMS console. Set up display to your host with: ! ! > $ set disp/create/node=/trans= ! ! and start Vim as in point 1. You can find more help in VMS documentation or ! type: help set disp in VMS prompt. ! Examples: ! ! > $ set disp/create/node=192.168.5.159 ! default trans is DECnet ! > $ set disp/create/node=192.168.5.159/trans=tcpip ! TCP/IP network ! > $ set disp/create/node=192.168.5.159/trans=local ! display on the same node ! ! Note: you should define just one of these. ! For more information type $help set disp in VMS prompt. 3) If you are working on MS Windows or other non X window environment ! You need to set up one X server and run Vim as in point 2. For MS Windows there are available free X servers as MIX , Omni X etc. ============================================================================== + 8. Useful notes *vms-notes* 8.1 backspace/delete. *************** *** 139,191 **** There are backspace/delete key inconsistencies with VMS. :fixdel doesn't do the trick, but the solution is: ! > " for terminal mode ! > inoremap ^? ^H ! ! > " for gui mode ! > inoremap ^H ! (Bruce Hunsaker VIM 5.3) 8.2 Filters. ! VIM supports filters; ie. if you have a sort program that can handle input/output redirection like Unix (outfile), you could use > map \s 0!'aqsort ! (Charles E. Campbell, Jr. VIM 5.4) 8.3 VMS file version numbers. ! If you want VIM to save into a new file with the next higher file version number, try these settings. - > set nobackup - > set nowritebackup ! (Claude Marinier VIM 5.5 ) 8.4 Directory conversion. ! VIM will internally convert any unix-style paths and even mixed unix/VMS paths into VMS style paths. Some typical conversions resemble: /abc/def/ghi -> abc:[def]ghi. /abc/def/ghi.j -> abc:[def]ghi.j ! /abc/def/ghi/jkl/mno -> abc:[def.ghi.jkl]mno. ! abc:[def.ghi]jkl/mno -> abc:[def.ghi.jkl]mno. ! ./ -> current directoty ! ../ -> relative parent directory ! <.def.ghi> -> relative child directory ! (David Elins , Jerom Lauret ! VIM 5.6 ) ============================================================================== ! 9. Authors *vms-authors* In alphabetical order: Zoltan Arpadffy Charles E. Campbell, Jr. Bruce Hunsaker Sandor Kopanyi --- 231,434 ---- There are backspace/delete key inconsistencies with VMS. :fixdel doesn't do the trick, but the solution is: ! > inoremap ^? ^H " for terminal mode ! > inoremap ^H " for gui mode ! Read more in ch: 8.6 (Terminal problems). ! (Bruce Hunsaker Vim 5.3) 8.2 Filters. ! Vim supports filters; ie. if you have a sort program that can handle input/output redirection like Unix (outfile), you could use > map \s 0!'aqsort ! (Charles E. Campbell, Jr. Vim 5.4) 8.3 VMS file version numbers. ! Vim is saving files into a new file with the next higher file version number, try these settings. ! > set nobackup " does not create *.*_ backup files ! > set nowritebackup " does not have any purpose on VMS. It's default. ! ! Recovery is working perfect as well from the default swap file. ! Read more with :help swapfile ! ! (Claude Marinier Vim 5.5, Zoltan Arpadffy ! Vim 5.6 ) 8.4 Directory conversion. ! Vim will internally convert any unix-style paths and even mixed unix/VMS paths into VMS style paths. Some typical conversions resemble: /abc/def/ghi -> abc:[def]ghi. /abc/def/ghi.j -> abc:[def]ghi.j ! /abc/def/ghi.j;2 -> abc:[def]ghi.j;2 ! /abc/def/ghi/jkl/mno -> abc:[def.ghi.jkl]mno. ! abc:[def.ghi]jkl/mno -> abc:[def.ghi.jkl]mno. ! ./ -> current directoty ! ../ -> relative parent directory ! [.def.ghi] -> relative child directory ! ./def/ghi -> relative child directory ! ! Note: You may use <,> brackets as well (device:file.ext;version) as ! rf10:test.c;1 ! ! (David Elins , Jerome Lauret ! Vim 5.6 ) ! ! 8.5 Remote host invocation ! ! It is possible to use Vim as an internode editor. ! 1. Edit some file from remote node: ! ! > vi """username passwd"":::;" ! ! example: ! > vi "pluto""zay passwd""::RF10:TEST.C;1" ! ! Note: syntax is very important, otherwise VMS will recognise more parameters ! instead of one (resulting with: file not found) ! ! 2. Set up Vim as your internode editor. If Vim is not installed on your host, ! just set up your IP address, full Vim path including the server name and run ! the command procedure below: ! ! > $ if (p1 .eqs. "") .OR. (p2 .eqs. "") then goto usage ! > $ set disp/create/node=/trans=tcpip ! > $ define "VIM """''p1' ''p2'"":::" ! > $ vi*m :== "mcr VIM:VIM.EXE" ! > $ gv*im :== "spawn/nowait mcr VIM:VIM.EXE -g" ! > $ goto end ! > $ usage: ! > $ write sys$output " Please enter username and password as a parameter." ! > $ write sys$output " Example: @SETVIM.COM username passwd" ! > $ end: ! ! Note: Never use it in clustered environment (you do not need it), and load could ! be very-very slow, but even faster then a local Emacs. :-) ! ! 8.6 Terminal problems ! ! If your terminal name is not known to Vim and it is trying to find the default ! one you will get the following message during start-up: ! --- ! Terminal entry not found in termcap ! 'unknown-terminal' not known. Available built-in terminals are: ! builtin_gui ! builtin_riscos ! builtin_amiga ! builtin_beos-ansi ! builtin_ansi ! builtin_vt320 ! builtin_vt52 ! builtin_pcansi ! builtin_win32 ! builtin_xterm ! builtin_iris-ansi ! builtin_debug ! builtin_dumb ! defaulting to 'vt320' ! --- ! The solution is to define default terminal name: ! ! > $ ! unknown terminal name. let us use vt320 or ansi instead. ! > $ ! Note: it's case sensitive ! > $ define term "vt320" ! ! Terminals from VT100 to VT320 (as V300, VT220, VT200 ) do not need any extra ! keyboard mappings. They should work perfect as they are, including arrows, ! Ins, Del buttons etc. Except Backspace in GUI mode. To solve it, add to ! .gvimrc: ! ! > inoremap ! ! Vim will also recognise that they are fast terminals. ! ! If you have some annoying line jumping on the screen between windows add to ! your .vimrc file: ! ! > set ttyfast " set fast terminal ! ! Note: if you're using Vim on remote host or through very slow connection, it's ! recommended to avoid fast terminal option with: ! > set nottyfast ! ! (Zoltan Arpadffy, Vim 5.6-3(VMS)) ============================================================================== ! ! 9. Changes *vms-changes* ! ! Version 5.6-4(VMS) (2000 Mar 27) ! - VMS filename related changes: ! - version handling (open everything, save to new version) ! - correct file extension matching for syntax (version problem) ! - handle <,> characters and passwords in directory definition ! - handle internode/remote invocation and editing with passwords ! - OpenVMS files will be treated case insensitive from now ! - corrected response of expand("%:.") etc path related functions ! (in one word: VMS directory handling internally) ! - version command ! - corrected (+,-) information data ! - added compiler and OS version ! - added user and host information ! - resolving $VIM and $VIMRUNTIME logicals ! - VMS port is in MAX_FEAT (maximum features) club with Unix, Win32 and OS/2. ! - Updated OS_VMS.MMS file. ! - maximum features ON is default ! - Vim is compilable with +perl, +python and +tcl features. ! - improved MMK compatibility ! - Created MAKEFILE_VMS.MMS, makefile for testing Vim during development. ! - Defined DEC terminal VT320 ! - compatibility for VT3*0, VT2*0 and VT1*0 - ANSI terminals ! backwards, but not VT340 and newer with colour capability. ! - VT320 is default terminal for OpenVMS ! - these new terminals are also fast ttys (default for OpenVMS). ! - allowed dec_mouse ttym ! - Updated files vimrc and gvimrc with VMS specific suggestions. ! - OS_VMS.TXT updated with new features. ! ! Version 5.6 (2000 Jan 17) ! - Popup menu line crash corrected. ! - Handle full file names with version numbers. ! - Directory handling (CD command etc.) ! - Corrected file name conversion VMS to Unix and v.v. ! - Correct response of expand wildcards ! - Recovery is working from this version under VMS as well. ! - Improved terminal and signal handing. ! - Improved OS_VMS.TXT ! ! Version 5.5 (1999 Dec 3) ! - Cut & paste mismatch corrected. ! - Motif directories during open and save are corrected. ! ! Version 5.4 (1999 Sep 9) ! - Minor changes in the code ! - Standard distribution with +GUI option ! ! Version 5.3 (1998 Oct 12) ! - Syntax and DEC C changes in the code ! - Fixing problems with the /doc subdirectory ! - Improve OS_VMS.MMS ! ! Version 5.1 (1998 Apr 21) ! ! Version 4.5 (1996 Dec 16) ! - First VMS port by Henk Elbers ! ! ============================================================================== ! ! 10. Authors *vms-authors* In alphabetical order: Zoltan Arpadffy Charles E. Campbell, Jr. Bruce Hunsaker Sandor Kopanyi + *** ../vim-5.6.44/src/eval.c Sat Mar 25 21:34:04 2000 --- src/eval.c Wed Mar 29 16:02:19 2000 *************** *** 2999,3005 **** #ifdef USE_MOUSE "mouse", #endif ! #ifdef UNIX # ifdef DEC_MOUSE "mouse_dec", # endif --- 2999,3005 ---- #ifdef USE_MOUSE "mouse", #endif ! #if defined(UNIX) || defined(VMS) # ifdef DEC_MOUSE "mouse_dec", # endif *************** *** 5618,5623 **** --- 5622,5631 ---- while (tail > s && vim_ispathsep(tail[-1])) --tail; *fnamelen = tail - *fnamep; + #ifdef VMS + if (*fnamelen > 0) + *fnamelen += 1; /* the path separator is part of the path */ + #endif while (tail > s && !vim_ispathsep(tail[-1])) --tail; } *************** *** 5652,5657 **** --- 5660,5674 ---- { *fnamelen += *fnamep - (s + 1); *fnamep = s + 1; + #ifdef VMS + /* cut version from the extension */ + s = *fnamep + *fnamelen - 1; + for ( ; s > *fnamep; --s) + if (s[0] == ';') + break; + if (s > *fnamep) + *fnamelen = s - *fnamep; + #endif } else if (*fnamep <= tail) *fnamelen = 0; *** ../vim-5.6.44/src/feature.h Sun Jan 9 19:59:08 2000 --- src/feature.h Wed Mar 29 16:10:34 2000 *************** *** 38,50 **** * default A selection of features enabled. * * These executables are made available with MAX_FEAT defined, because they ! * are supposed to have enough RAM: Win32 (console & GUI), dos32 and OS/2. * The dos16 version has very little RAM available, use MIN_FEAT. */ #if !defined(MIN_FEAT) && !defined(MAX_FEAT) /* #define MIN_FEAT */ /* #define MAX_FEAT */ ! # if defined(MSWIN) || defined(DJGPP) || defined(OS2) # define MAX_FEAT # else # ifdef MSDOS --- 38,50 ---- * default A selection of features enabled. * * These executables are made available with MAX_FEAT defined, because they ! * are supposed to have enough RAM: Win32 (console & GUI), dos32, OS/2 and VMS. * The dos16 version has very little RAM available, use MIN_FEAT. */ #if !defined(MIN_FEAT) && !defined(MAX_FEAT) /* #define MIN_FEAT */ /* #define MAX_FEAT */ ! # if defined(MSWIN) || defined(DJGPP) || defined(OS2) || defined(VMS) # define MAX_FEAT # else # ifdef MSDOS *************** *** 436,442 **** * chinese and Japanese. * +hangul_input Internal Hangul input method. Must be included * through configure: "--enable-hangulin" ! * Both are for Unix only. */ #ifndef USE_XIM /* #define USE_XIM */ --- 436,442 ---- * chinese and Japanese. * +hangul_input Internal Hangul input method. Must be included * through configure: "--enable-hangulin" ! * Both are for Unix only. Works for VMS too. */ #ifndef USE_XIM /* #define USE_XIM */ *************** *** 539,546 **** * is strongly discouraged: You can loose all your * changes when the computer crashes while writing the * file. */ ! #ifndef VMS /* doesn't work on VMS */ # define WRITEBACKUP #endif --- 539,549 ---- * is strongly discouraged: You can loose all your * changes when the computer crashes while writing the * file. + * VMS note: It does work on VMS as well, but because of + * version handling it does not have any purpose. + * Overwrite will write to the new version. */ ! #ifndef VMS # define WRITEBACKUP #endif *** ../vim-5.6.44/src/fileio.c Wed Dec 15 13:28:21 1999 --- src/fileio.c Wed Mar 29 16:43:37 2000 *************** *** 1128,1134 **** int made_writable = FALSE; /* 'w' bit has been set */ #endif #ifdef VMS ! char_u *cp, nfname[MAXPATHL]; #endif /* writing everything */ int whole = (start == 1 && end == buf->b_ml.ml_line_count); --- 1128,1134 ---- int made_writable = FALSE; /* 'w' bit has been set */ #endif #ifdef VMS ! char_u nfname[MAXPATHL]; #endif /* writing everything */ int whole = (start == 1 && end == buf->b_ml.ml_line_count); *************** *** 1731,1750 **** */ #ifdef VMS STRCPY(nfname, fname); ! if ((cp = vim_strchr(nfname, ';')) != NULL) /* remove version */ ! *cp = '\0'; ! vms_fixfilename(nfname); #endif ! while ((fd = open((char *) ! #ifdef VMS ! nfname, ! #else ! fname, ! #endif ! O_WRONLY | O_EXTRA | (append ? ! (forceit ? (O_APPEND | O_CREAT) : O_APPEND) : ! (O_CREAT | O_TRUNC)) #ifndef macintosh , 0666 #endif --- 1731,1743 ---- */ #ifdef VMS STRCPY(nfname, fname); ! vms_remove_version(nfname); /* remove version */ ! fname = nfname; #endif ! while ((fd = open((char *)fname, O_WRONLY | O_EXTRA | (append ! ? (forceit ? (O_APPEND | O_CREAT) : O_APPEND) ! : (O_CREAT | O_TRUNC)) #ifndef macintosh , 0666 #endif *************** *** 2021,2027 **** --- 2014,2026 ---- --no_wait_return; /* may wait for return now */ #ifndef UNIX + # ifdef VMS + STRCPY(nfname, sfname); + vms_remove_version(nfname); /* remove version */ + fname = nfname; + # else fname = sfname; /* use shortname now, for the messages */ + # endif #endif if (!filtering) { *************** *** 2402,2409 **** --- 2401,2410 ---- { if (vim_ispathsep(*p)) ++p; + #ifndef VMS /* the path separator is always part of the path */ else p = NULL; + #endif } } #if defined(MSDOS) || defined(MSWIN) || defined(OS2) *************** *** 2532,2540 **** return NULL; STRCPY(retval, fname); #ifdef VMS ! ptr = (char_u *)strrchr((char *)retval, ';'); ! if (ptr != NULL) ! *ptr = '\0'; #endif } --- 2533,2540 ---- return NULL; STRCPY(retval, fname); #ifdef VMS ! vms_remove_version(retval); /* we do not need versions here */ ! fnamelen = STRLEN(retval); /* it can be shorter*/ #endif } *************** *** 4320,4325 **** --- 4320,4332 ---- if (*p == '\\') *p = '/'; } + #endif + + #ifdef VMS + /* remove version for correct match */ + if (sfname != NULL) + vms_remove_version(sfname); + vms_remove_version(fname); #endif /* *** ../vim-5.6.44/src/gui_motif.c Thu Mar 30 16:51:36 2000 --- src/gui_motif.c Thu Mar 30 13:44:50 2000 *************** *** 861,871 **** dflt = (char_u *)""; if (initdir == NULL || *initdir == NUL) { - #ifdef VMS - mch_dirname_vms(dirbuf, MAXPATHL); - #else mch_dirname(dirbuf, MAXPATHL); - #endif initdir = dirbuf; } --- 861,867 ---- *** ../vim-5.6.44/src/gui_vms_conf.h Wed May 20 21:17:48 1998 --- src/gui_vms_conf.h Wed Mar 29 16:55:56 2000 *************** *** 1,4 **** ! /* os_vms_conf.h. Replaces config.h for VMS with GUI */ /* Define unless no X support found */ #define HAVE_X11 1 --- 1,7 ---- ! /* gui_vms_conf.h. Replaces config.h for VMS with GUI */ ! ! /* Open VMS is case insensitive */ ! #define CASE_INSENSITIVE_FILENAME 1 /* Define unless no X support found */ #define HAVE_X11 1 *************** *** 179,185 **** #define HAVE_SYS_TIME_H 1 /* Define if you have the header file. */ ! #define HAVE_TERMIO_H 1 /* Define if you have the header file. */ #define HAVE_UNISTD_H 1 --- 182,188 ---- #define HAVE_SYS_TIME_H 1 /* Define if you have the header file. */ ! /* #define HAVE_TERMIO_H 1 */ /* Define if you have the header file. */ #define HAVE_UNISTD_H 1 *** ../vim-5.6.44/src/main.c Sat Mar 25 20:32:21 2000 --- src/main.c Wed Mar 29 17:04:12 2000 *************** *** 53,59 **** "Too many \"+command\" or \"-c command\" arguments", }; ! #if defined(UNIX) || defined(__EMX__) reset_signals(); /* kill us with CTRL-C here, if you like */ #endif --- 54,60 ---- "Too many \"+command\" or \"-c command\" arguments", }; ! #if defined(UNIX) || defined(__EMX__) || defined(VMS) reset_signals(); /* kill us with CTRL-C here, if you like */ #endif *************** *** 97,103 **** #endif }; ! #if defined(UNIX) || defined(__EMX__) reset_signals(); /* kill us with CTRL-C here, if you like */ #endif --- 98,104 ---- #endif }; ! #if defined(UNIX) || defined(__EMX__) || defined(VMS) reset_signals(); /* kill us with CTRL-C here, if you like */ #endif *** ../vim-5.6.44/src/memline.c Wed Jan 12 11:36:22 2000 --- src/memline.c Wed Mar 29 17:15:00 2000 *************** *** 885,897 **** } home_replace(NULL, mfp->mf_fname, NameBuff, MAXPATHL, TRUE); ! smsg((char_u *)"Using swap file \"%s\"", NameBuff); if (curbuf->b_ffname == NULL) STRCPY(NameBuff, "No File"); else home_replace(NULL, curbuf->b_ffname, NameBuff, MAXPATHL, TRUE); ! smsg((char_u *)"Original file \"%s\"", NameBuff); msg_putchar('\n'); /* --- 885,909 ---- } home_replace(NULL, mfp->mf_fname, NameBuff, MAXPATHL, TRUE); ! smsg((char_u *)"Using swap file \"%s\"", ! #ifdef VMS ! vms_fixfilename(NameBuff) ! #else ! NameBuff ! #endif ! ); if (curbuf->b_ffname == NULL) STRCPY(NameBuff, "No File"); else home_replace(NULL, curbuf->b_ffname, NameBuff, MAXPATHL, TRUE); ! smsg((char_u *)"Original file \"%s\"", ! #ifdef VMS ! vms_fixfilename(NameBuff) ! #else ! NameBuff ! #endif ! ); msg_putchar('\n'); /* *************** *** 1196,1205 **** { if (fname == NULL || *fname == NULL) { ! #if defined(VMS) || defined(RISCOS) ! names[0] = vim_strsave((char_u *)"*_sw#"); #else names[0] = vim_strsave((char_u *)"*.sw?"); #endif #ifdef UNIX /* for Unix names starting with a dot are special */ --- 1208,1221 ---- { if (fname == NULL || *fname == NULL) { ! #ifdef VMS ! names[0] = vim_strsave((char_u *)"*_sw%"); #else + # ifdef RISCOS + names[0] = vim_strsave((char_u *)"*_sw#"); + # else names[0] = vim_strsave((char_u *)"*.sw?"); + # endif #endif #ifdef UNIX /* for Unix names starting with a dot are special */ *************** *** 1222,1231 **** { if (fname == NULL || *fname == NULL) { ! #ifdef RISCOS ! names[0] = concat_fnames(dir_name, (char_u *)"*_sw#", TRUE); #else names[0] = concat_fnames(dir_name, (char_u *)"*.sw?", TRUE); #endif #ifdef UNIX /* for Unix names starting with a dot are special */ --- 1238,1251 ---- { if (fname == NULL || *fname == NULL) { ! #ifdef VMS ! names[0] = concat_fnames(dir_name, (char_u *)"*_sw%", TRUE); #else + # ifdef RISCOS + names[0] = concat_fnames(dir_name, (char_u *)"*_sw#", TRUE); + # else names[0] = concat_fnames(dir_name, (char_u *)"*.sw?", TRUE); + # endif #endif #ifdef UNIX /* for Unix names starting with a dot are special */ *************** *** 1233,1244 **** names[2] = concat_fnames(dir_name, (char_u *)".sw?", TRUE); num_names = 3; #else ! #ifdef VMS ! names[1] = concat_fnames(dir_name, (char_u *)".*_sw?", TRUE); num_names = 2; ! #else num_names = 1; ! #endif #endif } else --- 1253,1264 ---- names[2] = concat_fnames(dir_name, (char_u *)".sw?", TRUE); num_names = 3; #else ! # ifdef VMS ! names[1] = concat_fnames(dir_name, (char_u *)".*_sw%", TRUE); num_names = 2; ! # else num_names = 1; ! # endif #endif } else *************** *** 1472,1478 **** if (b0.b0_fname[0] == NUL) MSG_PUTS("[No File]"); else ! msg_outtrans(b0.b0_fname); MSG_PUTS("\n modified: "); MSG_PUTS(b0.b0_dirty ? "YES" : "no"); --- 1492,1504 ---- if (b0.b0_fname[0] == NUL) MSG_PUTS("[No File]"); else ! msg_outtrans( ! #ifdef VMS ! vms_fixfilename(b0.b0_fname) ! #else ! b0.b0_fname ! #endif ! ); MSG_PUTS("\n modified: "); MSG_PUTS(b0.b0_dirty ? "YES" : "no"); *************** *** 1601,1610 **** * Also try with 'shortname' set, in case the file is on a DOS filesystem. */ curbuf->b_shortname = TRUE; ! #ifdef RISCOS ! names[num_names] = modname(path, (char_u *)"_sw#", FALSE); #else names[num_names] = modname(path, (char_u *)".sw?", FALSE); #endif if (names[num_names] == NULL) goto end; --- 1627,1640 ---- * Also try with 'shortname' set, in case the file is on a DOS filesystem. */ curbuf->b_shortname = TRUE; ! #ifdef VMS ! names[num_names] = modname(path, (char_u *)"_sw%", FALSE); #else + # ifdef RISCOS + names[num_names] = modname(path, (char_u *)"_sw#", FALSE); + # else names[num_names] = modname(path, (char_u *)".sw?", FALSE); + # endif #endif if (names[num_names] == NULL) goto end; *** ../vim-5.6.44/src/misc1.c Mon Mar 27 21:52:25 2000 --- src/misc1.c Fri Mar 31 13:35:12 2000 *************** *** 2522,2528 **** { *mustfree = TRUE; } ! else { p = default_vim_dir; *mustfree = FALSE; --- 2522,2528 ---- { *mustfree = TRUE; } ! else if (*default_vim_dir != NUL) { p = default_vim_dir; *mustfree = FALSE; *************** *** 2917,2923 **** return (c == ':' || c == '/' || c == '\\'); # else # ifdef VMS ! return (c == ':' || c == '[' || c == ']' || c == '/'); # else # ifdef COLON_AS_PATHSEP return (c == ':'); --- 2917,2925 ---- return (c == ':' || c == '/' || c == '\\'); # else # ifdef VMS ! /* server"user passwd"::device:[full.path.name]fname.extension;version" */ ! return (c == ':' || c == '[' || c == ']' || c == '/' ! || c == '<' || c == '>' || c == '"' ); # else # ifdef COLON_AS_PATHSEP return (c == ':'); *************** *** 5277,5282 **** --- 5279,5287 ---- if (ffname == NULL) /* out of memory */ break; tail = gettail((*file)[i]); + #ifdef VMS + vms_remove_version(ffname); + #endif /* try all patterns in 'wildignore' */ p = p_wig; *** ../vim-5.6.44/src/option.c Mon Dec 27 12:58:12 1999 --- src/option.c Wed Mar 29 17:19:01 2000 *************** *** 1466,1472 **** static char *(p_mousem_values[]) = {"extend", "popup", "popup_setpos", "mac", NULL}; static char *(p_slm_values[]) = {"mouse", "key", "cmd", NULL}; static char *(p_sel_values[]) = {"inclusive", "exclusive", "old", NULL}; ! #if defined(USE_MOUSE) && defined(UNIX) static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", NULL}; #endif static char *(p_km_values[]) = {"startsel", "stopsel", NULL}; --- 1466,1472 ---- static char *(p_mousem_values[]) = {"extend", "popup", "popup_setpos", "mac", NULL}; static char *(p_slm_values[]) = {"mouse", "key", "cmd", NULL}; static char *(p_sel_values[]) = {"inclusive", "exclusive", "old", NULL}; ! #if defined(USE_MOUSE) && (defined(UNIX) || defined(VMS)) static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", NULL}; #endif static char *(p_km_values[]) = {"startsel", "stopsel", NULL}; *************** *** 3448,3454 **** gui_init_which_components(oldval); #endif ! #if defined(USE_MOUSE) && defined(UNIX) /* 'ttymouse' */ else if (varp == &p_ttym) { --- 3448,3454 ---- gui_init_which_components(oldval); #endif ! #if defined(USE_MOUSE) && (defined(UNIX) || defined(VMS)) /* 'ttymouse' */ else if (varp == &p_ttym) { *** ../vim-5.6.44/src/os_vms_conf.h Wed May 20 21:17:29 1998 --- src/os_vms_conf.h Wed Mar 29 16:52:21 2000 *************** *** 1,5 **** --- 1,8 ---- /* os_vms_conf.h. Replaces config.h for VMS */ + /* Open VMS is case insensitive */ + #define CASE_INSENSITIVE_FILENAME 1 + /* Define unless no X support found */ /*#define HAVE_X11 1*/ *** ../vim-5.6.44/src/os_vms.c Sun Jan 16 15:53:57 2000 --- src/os_vms.c Thu Mar 30 16:55:38 2000 *************** *** 31,37 **** static int vms_inchar(int wtime); static int vms_sys(char *cmd, char *log, char *inp); ! char ibuf[16 /*1*/]; /* Input buffer */ #define NOTIM 0 #define TIM_0 1 --- 31,37 ---- static int vms_inchar(int wtime); static int vms_sys(char *cmd, char *log, char *inp); ! char ibuf[16]; /* Input buffer */ #define NOTIM 0 #define TIM_0 1 *************** *** 1022,1027 **** --- 1022,1039 ---- || STRCMP(name, "builtin_iris-ansi") == 0); } + int + vim_is_vt300(name) + char_u *name; + { + if (name == NULL) + return FALSE; /* actually all ANSI comp. terminals should be here */ + return (STRNICMP(name, "vt3", 3) == 0 /* it will cover all from VT100-VT300 */ + || STRNICMP(name, "vt2", 3) == 0 /* Note: from VT340 can hanle colors */ + || STRNICMP(name, "vt1", 3) == 0 + || STRCMP(name, "builtin_vt320") == 0); + } + /* * Return TRUE if "name" is a terminal for which 'ttyfast' should be set. *************** *** 1033,1039 **** { if (name == NULL) return FALSE; ! if (vim_is_xterm(name) || vim_is_iris(name)) return TRUE; return ( STRNICMP(name, "hpterm", 6) == 0 || STRNICMP(name, "sun-cmd", 7) == 0 --- 1045,1051 ---- { if (name == NULL) return FALSE; ! if (vim_is_vt300(name) || vim_is_xterm(name) || vim_is_iris(name) ) return TRUE; return ( STRNICMP(name, "hpterm", 6) == 0 || STRNICMP(name, "sun-cmd", 7) == 0 *************** *** 1110,1138 **** STRCPY(buf, strerror(errno)); return FAIL; } ! /* tranlate from VMS to UNIX format */ STRNCPY(buf, decc$translate_vms((char *)buf), len); ! STRCAT(buf, "/"); ! return OK; ! } - /* - * Get name of current directory into buffer 'buf' of length 'len' bytes. - * In VMS format - * Return OK for success, FAIL for failure. - */ - int - mch_dirname_vms(char_u *buf, int len) - { - if (!getcwd((char *)buf, len)) - { - STRCPY(buf, strerror(errno)); - return FAIL; - } return OK; } - /* * mch_FullName get absolute filename into buffer 'buf' of * length 'len' bytes, return FAIL for failure, --- 1122,1141 ---- STRCPY(buf, strerror(errno)); return FAIL; } ! ! /********************************************* ! If we want tranlate from VMS to UNIX format, but ! it is much more useful to use native VMS path ! internally as well. ! STRNCPY(buf, decc$translate_vms((char *)buf), len); ! STRCAT(buf, "/"); ! ! **********************************************/ return OK; } /* * mch_FullName get absolute filename into buffer 'buf' of * length 'len' bytes, return FAIL for failure, *************** *** 1202,1208 **** int mch_isFullName(char_u *fname) { ! if (fname[0] == '/' || strchr((char *)fname, ':') || strchr((char *)fname,'[') || strchr((char *)fname,'>') ) return 1; else return 0; --- 1205,1211 ---- int mch_isFullName(char_u *fname) { ! if (fname[0] == '/' || strchr((char *)fname, ':') || strchr((char *)fname,'[') || strchr((char *)fname,']') || strchr((char *)fname,'<') || strchr((char *)fname,'>') ) return 1; else return 0; *************** *** 1276,1281 **** --- 1279,1289 ---- mch_restore_title(3); /* restore xterm title and icon name */ #endif stoptermcap(); + + /* Cursor may have been switched off without calling starttermcap() + * when doing "vim -u vimrc" and vimrc contains ":q". */ + if (full_screen) + cursor_on(); } vms_flushbuf(); ml_close_all(TRUE); /* remove all memfiles */ *************** *** 1516,1521 **** --- 1524,1585 ---- } ison = on; } + + /* + * Set the mouse termcode, depending on the 'term' and 'ttymouse' options. + */ + void + check_mouse_termcode() + { + # ifdef XTERM_MOUSE + if (use_xterm_mouse()) + { + set_mouse_termcode(KS_MOUSE, (char_u *)"\033[M"); + if (*p_mouse != NUL) + { + /* force mouse off and maybe on to send possibly new mouse + * activation sequence to the xterm, with(out) drag tracing. */ + mch_setmouse(FALSE); + setmouse(); + } + } + else + del_mouse_termcode(KS_MOUSE); + # endif + # ifdef GPM_MOUSE + if (!use_xterm_mouse()) + set_mouse_termcode(KS_MOUSE, (char_u *)"\033MG"); + # endif + # ifdef NETTERM_MOUSE + /* can be added always, there is no conflict */ + set_mouse_termcode(KS_NETTERM_MOUSE, (char_u *)"\033}"); + # endif + # ifdef DEC_MOUSE + /* conflicts with xterm mouse: "\033[" and "\033[M" */ + if (!use_xterm_mouse()) + set_mouse_termcode(KS_DEC_MOUSE, (char_u *)"\033["); + else + del_mouse_termcode(KS_DEC_MOUSE); + # endif + } + + /* + * Return non-zero when using an xterm mouse, according to 'ttymouse'. + * Return 1 for "xterm". + * Return 2 for "xterm2". + */ + int + use_xterm_mouse() + { + if (STRNICMP(p_ttym, "xterm", 5) == 0) + { + if (isdigit(p_ttym[5])) + return atoi((char *)&p_ttym[5]); + return 1; + } + return 0; + } + #endif /* *************** *** 1832,1838 **** /* files should exist if expanding interactively */ if (!(flags & EW_NOTFOUND) && mch_getperm(vms_fmatch[i]) < 0) continue; ! /* check if this entry should be included */ dir = (mch_isdir(vms_fmatch[i])); if (( dir && !(flags & EW_DIR)) || (!dir && !(flags & EW_FILE))) continue; --- 1896,1902 ---- /* files should exist if expanding interactively */ if (!(flags & EW_NOTFOUND) && mch_getperm(vms_fmatch[i]) < 0) continue; ! /* do not include directories */ dir = (mch_isdir(vms_fmatch[i])); if (( dir && !(flags & EW_DIR)) || (!dir && !(flags & EW_FILE))) continue; *************** *** 1850,1856 **** } files_free = EXPL_ALLOC_INC; } - /* need to append '/' on directories here?? */ (*file)[*num_file++] = vms_fmatch[i]; } --- 1914,1919 ---- *************** *** 2142,2148 **** /* start of directory portion */ ch = *in; ! if ((ch == '[') || (ch == '/')) { /* start of directory(s) ? */ ch = '['; SKIP_FOLLOWING_SLASHES(in); } else if (EQN(in, "../", 3)) { /* Unix parent directory? */ --- 2205,2211 ---- /* start of directory portion */ ch = *in; ! if ((ch == '[') || (ch == '/') || (ch == '<') ) { /* start of directory(s) ? */ ch = '['; SKIP_FOLLOWING_SLASHES(in); } else if (EQN(in, "../", 3)) { /* Unix parent directory? */ *************** *** 2175,2181 **** while (*in != '\0') { ch = *in; ! if ((ch == ']') || (ch == '/')) { /* end of (sub)directory ? */ end_of_dir = out; ch = '.'; SKIP_FOLLOWING_SLASHES(in); --- 2238,2244 ---- while (*in != '\0') { ch = *in; ! if ((ch == ']') || (ch == '/') || (ch == '>') ) { /* end of (sub)directory ? */ end_of_dir = out; ch = '.'; SKIP_FOLLOWING_SLASHES(in); *************** *** 2241,2251 **** * else translate mixed unix-vms file specs to pure vms */ ! Fspec_Rms = buf; /* for decc$to_vms */ if (strchr(instring,'/') == NULL) ! strcpy(buf, instring); /* already a vms file spec */ ! else if (decc$to_vms(instring, vms_fspec_proc, 0, 0) <= 0) ! vms_unix_mixed_filespec(instring, buf); return buf; } --- 2304,2335 ---- * else translate mixed unix-vms file specs to pure vms */ ! Fspec_Rms = buf; /* for decc$to_vms */ if (strchr(instring,'/') == NULL) ! strcpy(buf, instring); /* already a vms file spec */ ! else if (strchr(instring,'"') == NULL){ /* regular file */ ! if (decc$to_vms(instring, vms_fspec_proc, 0, 0) <= 0) ! vms_unix_mixed_filespec(instring, buf); ! } ! else ! vms_unix_mixed_filespec(instring, buf); /* we have a passwd in the path */ return buf; } + /* + * Remove version number from file name + * we need it in some special cases as: + * creating swap file name and writing new file + */ + + void * + vms_remove_version(void * fname) + { + char_u *cp; + + if ((cp = vim_strchr( fname, ';')) != NULL) /* remove version */ + *cp = '\0'; + vms_fixfilename(fname); + return fname; + } + *** ../vim-5.6.44/src/os_vms.h Tue Jan 11 17:54:26 2000 --- src/os_vms.h Tue Feb 15 13:46:00 2000 *************** *** 212,226 **** #endif #ifndef VIM_HLP ! /* ! * If the line with $VIMRUNTIME doesn't work for you (":help" doesn't find the ! * help files), then change the zero into a one and try again. ! */ ! # if 0 ! # define VIM_HLP "$VIM_DOC:help.txt" ! # else ! # define VIM_HLP "$VIMRUNTIME/doc/help.txt" ! # endif #endif #ifndef SYNTAX_FNAME --- 212,218 ---- #endif #ifndef VIM_HLP ! # define VIM_HLP "$VIMRUNTIME/doc/help.txt" #endif #ifndef SYNTAX_FNAME *************** *** 234,244 **** #endif /* VIMINFO */ #ifndef DEF_BDIR ! # define DEF_BDIR "./,sys$disk:[],tmp:,sys$login:" /* default for 'backupdir' */ #endif #ifndef DEF_DIR ! # define DEF_DIR "./,sys$disk:[],tmp:,sys$login:" /* default for 'directory' */ #endif #define TEMPNAME "tmp:v?XXXXXX.txt" --- 226,236 ---- #endif /* VIMINFO */ #ifndef DEF_BDIR ! # define DEF_BDIR "./,tmp:,sys$login:" /* default for 'backupdir' */ #endif #ifndef DEF_DIR ! # define DEF_DIR "./,tmp:,sys$login:" /* default for 'directory' */ #endif #define TEMPNAME "tmp:v?XXXXXX.txt" *** ../vim-5.6.44/src/os_vms.mms Sat Sep 11 16:27:29 1999 --- src/os_vms.mms Fri Mar 31 13:27:55 2000 *************** *** 1,121 **** # ! # Makefile for Vim on VMS # ! # This has only been tested on VMS 7.1 on DEC Alpha hardware. # The following will be built: # vim.exe: standard ! # or # dvim.exe: debug # # Edit the lines in the Configuration section below to select. # # To build: use the following command line: # - # mmk/descrip=os_vms.mms - # or # mms/descrip=os_vms.mms # ! ####################################################################### # Configuration section. ! ####################################################################### # Comment out if you want just the character terminal mode only. GUI = YES ! # Uncomment if want a debug version. # DEBUG = YES .IFDEF GUI ! ####################################################################### # X/Motif executable (also works in terminal mode ) ! ####################################################################### ! DEFS = /def=("HAVE_CONFIG_H","USE_GUI_MOTIF") ! LIBS = ,OS_VMS.OPT/OPT CONFIG_H = gui_vms_conf.h ! GUI_INC_LOC = decw$include: ! GUI_LIB_LOC = sys$library: ! GUI_SRC = gui.c gui_motif.c gui_x11.c ! GUI_OBJ = gui.obj gui_motif.obj gui_x11.obj # These may need to be defined if things are not in standard locations: ! X_LIBS_DIR = ! X_PRE_LIBS = ! X_EXTRA_LIBS = ! X_LIBS = ! ####################################################################### .ELSE ! ####################################################################### # Character terminal only executable ! ####################################################################### ! DEFS = /def=("HAVE_CONFIG_H") ! LIBS = CONFIG_H = os_vms_conf.h - ####################################################################### - # End of configuration section - ####################################################################### .ENDIF ! ####################################################################### CC = cc/decc LD = link .IFDEF DEBUG ! TARGET = dvim.exe CFLAGS = /debug/noopt/prefix=all/include=[.proto] ! LDFLAGS = /debug .ELSE ! TARGET = vim.exe CFLAGS = /opt/prefix=all/include=[.proto] LDFLAGS = .ENDIF ### These go into pathdef.c ! VIMLOC = $VIM ! VIM_HLP = $VIM_DOC:help.txt ! ### ### GRAPHICAL USER INTERFACE (GUI). ! .SUFFIXES : ! .SUFFIXES : .c .obj .pro ! ALL_CFLAGS = $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CFLAGS) ! ALL_LIBS = $(GUI_LIBS_DIR) $(X_LIBS_DIR) $(X_PRE_LIBS) $(GUI_LIBS) $(X_LIBS) $(X_EXTRA_LIBS) $(LIBS) $(EXTRA_LIBS) ! ! INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_unix.h \ unixunix.h structs.h proto.h osdef.h config.h \ ! $(GUI_INCL) SRC = buffer.c charset.c digraph.c edit.c eval.c ex_cmds.c ex_docmd.c \ ! ex_getln.c fileio.c getchar.c \ ! main.c mark.c menu.c\ memfile.c memline.c message.c misc1.c misc2.c normal.c ops.c option.c \ pty.c quickfix.c regexp.c search.c syntax.c tag.c term.c termlib.c \ ui.c undo.c version.c screen.c window.c os_vms.c pathdef.c \ ! $(GUI_SRC) OBJ = buffer.obj charset.obj digraph.obj edit.obj eval.obj ex_cmds.obj \ ex_docmd.obj ex_getln.obj fileio.obj getchar.obj \ main.obj mark.obj menu.obj memfile.obj memline.obj message.obj misc1.obj \ ! misc2.obj normal.obj ops.obj option.obj pty.obj quickfix.obj \ regexp.obj search.obj syntax.obj tag.obj term.obj termlib.obj ui.obj \ undo.obj screen.obj window.obj os_vms.obj pathdef.obj \ ! $(GUI_OBJ) # Default target is making the executable all : $(TARGET) mms_vim ! $@ ! config.h : $(CONFIG_H) copy $(CONFIG_H) config.h ! osdef.h : os_vms_osdef.h copy os_vms_osdef.h osdef.h # Re-execute this os_vms.mms to include the new config.mk produced by --- 1,197 ---- # ! # Makefile for Vim on OpenVMS # ! # Maintainer: Zoltan Arpadffy ! # Last change: 2000 Feb 28 ! # ! # This has been tested on VMS 6.2 to 7.1 on DEC Alpha and VAX. # The following will be built: # vim.exe: standard ! # or # dvim.exe: debug # # Edit the lines in the Configuration section below to select. # # To build: use the following command line: # # mms/descrip=os_vms.mms + # or if you use mmk + # mmk/descrip=os_vms.mms # ! ###################################################################### # Configuration section. ! ###################################################################### # Comment out if you want just the character terminal mode only. GUI = YES ! ###################################################################### ! # Comment out if you want the compiler version with :ver command. ! # NOTE: This part can make some complications if you're using some ! # predefined symbols/flags for your compiler. If does, just leave behind ! # the comment varialbe CCVER. ! ###################################################################### ! CCVER = YES ! ! ###################################################################### ! # Used to fix some dependecies problem during development. ! # Normally, it should not be defined. !!! ! ###################################################################### ! DEVELOPMENT = YES ! ! ###################################################################### ! # Uncomment if want a debug version. Resulting executable is DVIM.EXE ! ###################################################################### # DEBUG = YES + ###################################################################### + # Languages support as Perl, Python, TCL etc. + # If you don't need it really, leave them behind the comment. + # You will need special libs etc. + ###################################################################### + # VIM_TCL = YES + # VIM_PERL = YES + # VIM_SNIFF = YES + # VIM_PYTHON = YES .IFDEF GUI ! ###################################################################### # X/Motif executable (also works in terminal mode ) ! ###################################################################### ! DEFS = "HAVE_CONFIG_H","USE_GUI_MOTIF" ! LIBS = ,OS_VMS.OPT/OPT CONFIG_H = gui_vms_conf.h ! GUI_SRC = gui.c gui_motif.c gui_x11.c ! GUI_OBJ = gui.obj gui_motif.obj gui_x11.obj ! GUI_INC = gui.h # These may need to be defined if things are not in standard locations: ! ! # GUI_INC_DIR = decw$include: ! # GUI_LIB_DIR = sys$library: ! # X_LIB_DIR = ! # X_LIB = ! # EXTRA_LIB = ! .ELSE ! ###################################################################### # Character terminal only executable ! ###################################################################### ! DEFS = "HAVE_CONFIG_H" ! LIBS = CONFIG_H = os_vms_conf.h .ENDIF ! ! .IFDEF VIM_PERL ! ###################################################################### ! # Perl related setup. ! ###################################################################### ! PERL_DEF = ,"HAVE_PERL_INTERP" ! PERL_SRC = if_perlsfio.c if_perl.xs ! PERL_OBJ = if_perlsfio.obj if_perl.obj ! PERL_LIB = ! .ENDIF ! ! .IFDEF VIM_PYTHON ! ###################################################################### ! # Python related setup. ! ###################################################################### ! PYTHON_DEF = ,"HAVE_PYTHON" ! PYTHON_SRC = if_python.c ! PYTHON_OBJ = if_python.obj ! PYTHON_LIB = ! .ENDIF ! ! .IFDEF VIM_TCL ! ###################################################################### ! # TCL related setup. ! ###################################################################### ! TCL_DEF = ,"HAVE_TCL" ! TCL_SRC = if_tcl.c ! TCL_OBJ = if_tcl.obj ! TCL_LIB = ! .ENDIF ! ! .IFDEF VIM_SNIFF ! ###################################################################### ! # SNIFF related setup. ! ###################################################################### ! SNIFF_DEF = ,"USE_SNIFF" ! SNIFF_SRC = if_sniff.c ! SNIFF_OBJ = if_sniff.obj ! SNIFF_LIB = ! .ENDIF ! ! ###################################################################### ! # End of configuration section. ! # ! # Please, do not change anything below without programming experience. ! ###################################################################### CC = cc/decc LD = link .IFDEF DEBUG ! TARGET = dvim.exe CFLAGS = /debug/noopt/prefix=all/include=[.proto] ! LDFLAGS = /debug .ELSE ! TARGET = vim.exe CFLAGS = /opt/prefix=all/include=[.proto] LDFLAGS = .ENDIF ### These go into pathdef.c ! VIMLOC = "" ! VIMRUN = "" ! VIMUSER = "''f$extract(f$locate(",",f$user())+1,f$length(f$user())-f$locate(",",f$user())-2,f$user())'" ! VIMHOST = "''f$extract(0,f$length(f$trnlnm("sys$node"))-2,f$trnlnm("sys$node"))' (''f$trnlnm("ucx$inet_host")'.''f$trnlnm("ucx$inet_domain")')" + ### ### GRAPHICAL USER INTERFACE (GUI). + .SUFFIXES : .obj .c .pro .xs ! ALL_CFLAGS = /def=($(DEFS) $(PERL_DEF) $(PYTHON_DEF) $(TCL_DEF) $(SNIFF_DEF)) $(CFLAGS) ! ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(X_LIB_DIR) $(GUI_LIB) $(X_LIB) $(EXTRA_LIB)\ ! $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(SNIFF_LIB) ! INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_unix.h \ unixunix.h structs.h proto.h osdef.h config.h \ ! $(GUI_INC) SRC = buffer.c charset.c digraph.c edit.c eval.c ex_cmds.c ex_docmd.c \ ! ex_getln.c fileio.c getchar.c main.c mark.c menu.c multbyte.c \ memfile.c memline.c message.c misc1.c misc2.c normal.c ops.c option.c \ pty.c quickfix.c regexp.c search.c syntax.c tag.c term.c termlib.c \ ui.c undo.c version.c screen.c window.c os_vms.c pathdef.c \ ! $(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) $(SNIFF_SRC) OBJ = buffer.obj charset.obj digraph.obj edit.obj eval.obj ex_cmds.obj \ ex_docmd.obj ex_getln.obj fileio.obj getchar.obj \ main.obj mark.obj menu.obj memfile.obj memline.obj message.obj misc1.obj \ ! misc2.obj multbyte.obj normal.obj ops.obj option.obj pty.obj quickfix.obj \ regexp.obj search.obj syntax.obj tag.obj term.obj termlib.obj ui.obj \ undo.obj screen.obj window.obj os_vms.obj pathdef.obj \ ! $(GUI_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) # Default target is making the executable all : $(TARGET) mms_vim ! $@ ! .IFDEF DEVELOPMENT ! config.h : $(CONFIG_H) ! copy $(CONFIG_H) config.h ! .ELSE ! config.h : os_vms.mms $(CONFIG_H) copy $(CONFIG_H) config.h + .ENDIF ! osdef.h : os_vms_osdef.h copy os_vms_osdef.h osdef.h # Re-execute this os_vms.mms to include the new config.mk produced by *************** *** 140,145 **** --- 216,250 ---- .c.obj : $(CC) $(ALL_CFLAGS) $< + + .IFDEF CCVER + ######################################################################### + # This part can make come complications if you're using some predefined + # symbols/flags for your compiler. If does, just comment out _CCVER_ variable + ########################################################################## + + pathdef.c : os_vms.mms $(CONFIG_H) + -@ define sys$output cc_ver.tmp + -@ cc/version + -@ deass sys$output + -@ open/read file cc_ver.tmp + -@ read file CC_VERSION + -@ close file + -@ del cc_ver.tmp.* + -@ write sys$output "creating pathdef.c (CCVER = YES)" + -@ open/write pd pathdef.c + -@ write pd "/* pathdef.c -- DO NOT EDIT! */" + -@ write pd "/* This file is automatically created by os_vms.mms" + -@ write pd " * Change the file os_vms.mms only. */" + -@ write pd "#include ""vim.h""" + -@ write pd "char_u *default_vim_dir = (char_u *)"$(VIMLOC)";" + -@ write pd "char_u *default_vimruntime_dir = (char_u *)"$(VIMRUN)";" + -@ write pd "char_u *all_cflags = (char_u *)""$(CC) /incl=[] $(ALL_CFLAGS)\nCompiler: ''CC_VERSION'"";" + -@ write pd "char_u *all_lflags = (char_u *)""$(LD) $(LDFLAGS) /exe=$(TARGET) $+ $(ALL_LIBS)"";" + -@ write pd "char_u *compiled_user = (char_u *) "$(VIMUSER)";" + -@ write pd "char_u *compiled_sys = (char_u *) "$(VIMHOST)";" + -@ close pd + .ELSE pathdef.c : os_vms.mms -@ write sys$output "creating pathdef.c" -@ open/write pd pathdef.c *************** *** 147,160 **** -@ write pd "/* This file is automatically created by os_vms.mms" -@ write pd " * Change the file os_vms.mms only. */" -@ write pd "#include ""vim.h""" ! -@ write pd "char_u *default_vim_dir = (char_u *)""$(VIMLOC)"";" ! -@ write pd "char_u *default_vimruntime_dir = (char_u *)"""";" -@ write pd "char_u *all_cflags = (char_u *)""$(CC) /incl=[] $(ALL_CFLAGS)"";" -@ write pd "char_u *all_lflags = (char_u *)""$(LD) $(LDFLAGS) /exe=$(TARGET) $+ $(ALL_LIBS)"";" -@ close pd os_vms.mms : ! @ write sys$output "The name of the makefile MUST be !!!!" cmdtab.h : cmdtab.tab mkcmdtab.exe mkcmdtab :== $sys$disk:[]mkcmdtab --- 252,268 ---- -@ write pd "/* This file is automatically created by os_vms.mms" -@ write pd " * Change the file os_vms.mms only. */" -@ write pd "#include ""vim.h""" ! -@ write pd "char_u *default_vim_dir = (char_u *)"$(VIMLOC)";" ! -@ write pd "char_u *default_vimruntime_dir = (char_u *)"$(VIMRUN)";" -@ write pd "char_u *all_cflags = (char_u *)""$(CC) /incl=[] $(ALL_CFLAGS)"";" -@ write pd "char_u *all_lflags = (char_u *)""$(LD) $(LDFLAGS) /exe=$(TARGET) $+ $(ALL_LIBS)"";" + -@ write pd "char_u *compiled_user = (char_u *) "$(VIMUSER)";" + -@ write pd "char_u *compiled_sys = (char_u *) "$(VIMHOST)";" -@ close pd + .ENDIF os_vms.mms : ! @ write sys$output "The name of the makefile MUST be !!!!" cmdtab.h : cmdtab.tab mkcmdtab.exe mkcmdtab :== $sys$disk:[]mkcmdtab *************** *** 166,313 **** $(CC) $(ALL_CFLAGS) mkcmdtab.c ############################################################################### ! ui.obj : ui.c vim.h $(CC) $(ALL_CFLAGS) $< ! syntax.obj : syntax.c vim.h $(CC) $(ALL_CFLAGS) $< ! misc1.obj : misc1.c vim.h $(CC) $(ALL_CFLAGS) $< ! misc2.obj : misc2.c vim.h $(CC) $(ALL_CFLAGS) $< ! ex_getln.obj : ex_getln.c vim.h $(CC) $(ALL_CFLAGS) $< ! ex_docmd.obj : ex_docmd.c vim.h ex_cmds.h $(CC) $(ALL_CFLAGS) $< ! ex_cmds.obj : ex_cmds.c vim.h $(CC) $(ALL_CFLAGS) $< ! alloc.obj : alloc.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h \ ! globals.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< ! buffer.obj : buffer.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h \ ! globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! charset.obj : charset.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h \ ! globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< cmdcmds.obj : cmdcmds.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< cmdline.obj : cmdline.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h cmdtab.h ! $(CC) $(ALL_CFLAGS) $< csearch.obj : csearch.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< digraph.obj : digraph.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! edit.obj : edit.c vim.h config.h feature.h os_unix.h osdef.h ascii.h \ ! keymap.h term.h macros.h structs.h gui.h globals.h proto.h \ ! regexp.h option.h $(CC) $(ALL_CFLAGS) $< fileio.obj : fileio.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< getchar.obj : getchar.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< help.obj : help.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< linefunc.obj : linefunc.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< main.obj : main.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< mark.obj : mark.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< menu.obj : menu.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< memfile.obj : memfile.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< memline.obj : memline.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< message.obj : message.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< misccmds.obj : misccmds.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< normal.obj : normal.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ops.obj : ops.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< option.obj : option.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< pathdef.obj : pathdef.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h $(CC) $(ALL_CFLAGS) $< eval.obj : eval.c vim.h $(CC) $(ALL_CFLAGS) $< quickfix.obj : quickfix.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< regexp.obj : regexp.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< regsub.obj : regsub.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< screen.obj : screen.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< search.obj : search.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< tables.obj : tables.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< tag.obj : tag.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< term.obj : term.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h option.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< ! termlib.obj : termlib.c vim.h config.h feature.h os_unix.h osdef.h ascii.h \ ! keymap.h term.h macros.h structs.h gui.h globals.h option.h \ ! proto.h regexp.h [.proto]termlib.pro $(CC) $(ALL_CFLAGS) $< ! undo.obj : undo.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h \ ! globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! os_vms.obj : os_vms.c vim.h globals.h option.h proto.h $(CC) $(ALL_CFLAGS) $< ! window.obj : window.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h \ ! globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! version.obj : version.c version.h vim.h config.h feature.h os_unix.h \ ! osdef.h ascii.h keymap.h term.h macros.h structs.h gui.h $(CC) $(ALL_CFLAGS) $< gui.obj : gui.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< gui_motif.obj : gui_motif.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< gui_x11.obj : gui_x11.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! pty.obj : pty.c vim.h config.h feature.h os_unix.h osdef.h ascii.h \ ! keymap.h term.h macros.h structs.h gui.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< mms_vim : mms_vim.exe ! --- 274,432 ---- $(CC) $(ALL_CFLAGS) mkcmdtab.c ############################################################################### ! ui.obj : ui.c vim.h $(CC) $(ALL_CFLAGS) $< ! syntax.obj : syntax.c vim.h $(CC) $(ALL_CFLAGS) $< ! misc1.obj : misc1.c vim.h $(CC) $(ALL_CFLAGS) $< ! misc2.obj : misc2.c vim.h $(CC) $(ALL_CFLAGS) $< ! ex_getln.obj : ex_getln.c vim.h $(CC) $(ALL_CFLAGS) $< ! ex_docmd.obj : ex_docmd.c vim.h ex_cmds.h $(CC) $(ALL_CFLAGS) $< ! ex_cmds.obj : ex_cmds.c vim.h $(CC) $(ALL_CFLAGS) $< ! alloc.obj : alloc.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h globals.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< ! buffer.obj : buffer.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! charset.obj : charset.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< cmdcmds.obj : cmdcmds.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< cmdline.obj : cmdline.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h cmdtab.h $(CC) $(ALL_CFLAGS) $< csearch.obj : csearch.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< digraph.obj : digraph.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! edit.obj : edit.c vim.h config.h feature.h os_unix.h osdef.h ascii.h \ ! keymap.h term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< fileio.obj : fileio.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< getchar.obj : getchar.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< help.obj : help.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< linefunc.obj : linefunc.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< main.obj : main.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< mark.obj : mark.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< menu.obj : menu.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< memfile.obj : memfile.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< memline.obj : memline.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< message.obj : message.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< misccmds.obj : misccmds.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h ! $(CC) $(ALL_CFLAGS) $< ! multbyte.obj : multbyte.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h regexp.h structs.h gui.h globals.h farsi.h option.h ex_cmds.h proto.h $(CC) $(ALL_CFLAGS) $< normal.obj : normal.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ops.obj : ops.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< option.obj : option.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< pathdef.obj : pathdef.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h $(CC) $(ALL_CFLAGS) $< eval.obj : eval.c vim.h $(CC) $(ALL_CFLAGS) $< + if_perl.obj : if_perl.xs vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ + macros.h regexp.h structs.h gui.h globals.h farsi.h option.h ex_cmds.h proto.h + $(CC) $(ALL_CFLAGS) $< + if_perlsfio.obj : if_perlsfio.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ + term.h macros.h regexp.h structs.h gui.h globals.h farsi.h option.h ex_cmds.h proto.h + $(CC) $(ALL_CFLAGS) $< + if_python.obj : if_python.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ + term.h macros.h regexp.h structs.h gui.h globals.h farsi.h option.h ex_cmds.h proto.h + $(CC) $(ALL_CFLAGS) $< + if_tcl.obj : if_tcl.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ + macros.h regexp.h structs.h gui.h globals.h farsi.h option.h ex_cmds.h proto.h + $(CC) $(ALL_CFLAGS) $< + if_sniff.obj : if_sniff.c if_sniff.h vim.h config.h feature.h os_unix.h osdef.h ascii.h \ + keymap.h term.h macros.h regexp.h structs.h gui.h globals.h farsi.h option.h \ + ex_cmds.h proto.h + $(CC) $(ALL_CFLAGS) $< quickfix.obj : quickfix.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< regexp.obj : regexp.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< regsub.obj : regsub.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< screen.obj : screen.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< search.obj : search.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< tables.obj : tables.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< tag.obj : tag.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< term.obj : term.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h option.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< ! termlib.obj : termlib.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h option.h proto.h regexp.h [.proto]termlib.pro $(CC) $(ALL_CFLAGS) $< ! undo.obj : undo.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! os_vms.obj : os_vms.c vim.h globals.h option.h proto.h $(CC) $(ALL_CFLAGS) $< ! window.obj : window.c vim.h config.h feature.h os_unix.h osdef.h \ ! ascii.h keymap.h term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! version.obj : version.c version.h vim.h config.h feature.h os_unix.h \ ! osdef.h ascii.h keymap.h term.h macros.h structs.h gui.h $(CC) $(ALL_CFLAGS) $< gui.obj : gui.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h term.h \ ! macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< gui_motif.obj : gui_motif.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< gui_x11.obj : gui_x11.c vim.h config.h feature.h os_unix.h osdef.h ascii.h keymap.h \ ! term.h macros.h structs.h gui.h globals.h proto.h regexp.h option.h $(CC) $(ALL_CFLAGS) $< ! pty.obj : pty.c vim.h config.h feature.h os_unix.h osdef.h ascii.h \ ! keymap.h term.h macros.h structs.h gui.h proto.h regexp.h $(CC) $(ALL_CFLAGS) $< mms_vim : mms_vim.exe ! *** ../vim-5.6.44/src/tag.c Thu Jan 13 14:14:32 2000 --- src/tag.c Wed Mar 29 18:38:32 2000 *************** *** 2614,2628 **** { /* At this point "p" is pointing to the char following a "/". */ #ifdef VMS ! /* VMS allows disk:[directory - don't strip the [ in directory */ ! if (*p == '[' && p > filename && p[-1] == ':') { ! ++components; /* vms directory component */ p = getnextcomp(p + 1); } else #endif ! if (vim_ispathsep(*p)) movetail(p, p + 1); /* remove duplicate "/" */ else if (p[0] == '.' && vim_ispathsep(p[1])) movetail(p, p + 2); /* strip "./" */ --- 2613,2636 ---- { /* At this point "p" is pointing to the char following a "/". */ #ifdef VMS ! /* VMS allows device:[path] - don't strip the [ in directory */ ! if ((*p == '[' || *p == '<') && p > filename && p[-1] == ':') { ! /* :[ or :< composition: vms directory component */ ! ++components; p = getnextcomp(p + 1); } + /* allow remote calls as host"user passwd"::device:[path] */ + else if (p[0] == ':' && p[1] == ':' && p > filename && p[-1] == '"' ) + { + /* ":: composition: vms host/passwd component */ + ++components; + p = getnextcomp(p + 2); + + } else #endif ! if (vim_ispathsep(*p)) movetail(p, p + 1); /* remove duplicate "/" */ else if (p[0] == '.' && vim_ispathsep(p[1])) movetail(p, p + 2); /* strip "./" */ *** ../vim-5.6.44/src/term.c Tue Mar 28 17:54:16 2000 --- src/term.c Thu Mar 30 16:13:58 2000 *************** *** 701,706 **** --- 701,776 ---- {K_KMULTIPLY, "\3167"}, # endif + # if defined(VMS) || defined(ALL_BUILTIN_TCAPS) + /* + * VT320 is working as an ANSI terminal compatible DEC terminal. + * (it covers VT1x0, VT2x0 and VT3x0 up to VT320 on VMS as well) + * Note: K_F1...K_F5 are for internal use, should not be defined. + * TODO:- rewrite ESC[ codes to CSI + * - keyboard languages (CSI ? 26 n) + */ + {(int)KS_NAME, "vt320"}, + {(int)KS_CE, "\033[K"}, + {(int)KS_AL, "\033[L"}, + # ifdef TERMINFO + {(int)KS_CAL, "\033[%p1%dL"}, + # else + {(int)KS_CAL, "\033[%dL"}, + # endif + {(int)KS_DL, "\033[M"}, + # ifdef TERMINFO + {(int)KS_CDL, "\033[%p1%dM"}, + # else + {(int)KS_CDL, "\033[%dM"}, + # endif + {(int)KS_CL, "\033[H\033[2J"}, + {(int)KS_ME, "\033[0m"}, + {(int)KS_MR, "\033[7m"}, + {(int)KS_MS, "y"}, + {(int)KS_LE, "\010"}, + # ifdef TERMINFO + {(int)KS_CM, "\033[%i%p1%d;%p2%dH"}, + # else + {(int)KS_CM, "\033[%i%d;%dH"}, + # endif + # ifdef TERMINFO + {(int)KS_CRI, "\033[%p1%dC"}, + # else + {(int)KS_CRI, "\033[%dC"}, + # endif + {K_UP, "\033[A"}, + {K_DOWN, "\033[B"}, + {K_RIGHT, "\033[C"}, + {K_LEFT, "\033[D"}, + {K_F6, "\033[17~"}, + {K_F7, "\033[18~"}, + {K_F8, "\033[19~"}, + {K_F9, "\033[20~"}, + {K_F10, "\033[21~"}, + /* {K_F11, "\033[23~"}, (ESC) should not define, sometimes does not work */ + {K_F12, "\033[24~"}, + {K_F13, "\033[25~"}, + {K_F14, "\033[26~"}, + {K_F15, "\033[28~"}, /* Help */ + {K_F16, "\033[29~"}, /* Select */ + {K_F17, "\033[31~"}, + {K_F18, "\033[32~"}, + {K_F19, "\033[33~"}, + {K_F20, "\033[34~"}, + {K_INS, "\033[2~"}, + {K_DEL, "\033[3~"}, + {K_HOME, "\033[1~"}, + {K_END, "\033[4~"}, + {K_PAGEUP, "\033[5~"}, + {K_PAGEDOWN, "\033[6~"}, + {K_KPLUS, "\033Ok"}, /* keypad plus */ + {K_KMINUS, "\033Om"}, /* keypad minus */ + {K_KDIVIDE, "\033Oo"}, /* keypad / */ + {K_KMULTIPLY, "\033Oj"}, /* keypad * */ + {K_KENTER, "\033OM"}, /* keypad Enter */ + {K_BS, "\x7f"}, /* for some reason 0177 doesn't work */ + # endif + # if defined(ALL_BUILTIN_TCAPS) || defined(__MINT__) /* * Ordinary vt52 *************** *** 1197,1203 **** #endif #ifdef VMS ! # define DEFAULT_TERM (char_u *)"ansi" #endif #ifdef __BEOS__ --- 1267,1273 ---- #endif #ifdef VMS ! # define DEFAULT_TERM (char_u *)"vt320" #endif #ifdef __BEOS__ *************** *** 1237,1243 **** return p; else #endif ! if (STRCMP(term, p->bt_string) == 0) return p; } ++p; --- 1307,1318 ---- return p; else #endif ! #ifdef VMS ! if (STRCMP(p->bt_string, "vt320") == 0 && vim_is_vt300(term)) ! return p; ! else ! #endif ! if (STRCMP(term, p->bt_string) == 0) return p; } ++p; *************** *** 1610,1616 **** } #ifdef USE_MOUSE ! # ifdef UNIX /* * For Unix, set the 'ttymouse' option to the type of mouse to be used. * The termcode for the mouse is added as a side effect in option.c. --- 1685,1691 ---- } #ifdef USE_MOUSE ! # if defined(UNIX) || defined(VMS) /* * For Unix, set the 'ttymouse' option to the type of mouse to be used. * The termcode for the mouse is added as a side effect in option.c. *************** *** 1676,1682 **** } #endif ! #ifdef UNIX /* * 'ttyfast' is default on for xterm, iris-ansi and a few others. */ --- 1751,1757 ---- } #endif ! #if defined(UNIX) || defined(VMS) /* * 'ttyfast' is default on for xterm, iris-ansi and a few others. */ *************** *** 1791,1797 **** } # endif ! # if ((defined(UNIX) || defined(OS2)) && (defined(XTERM_MOUSE) \ || defined(DEC_MOUSE) || defined(GPM_MOUSE))) || defined(PROTO) void del_mouse_termcode(n) --- 1866,1872 ---- } # endif ! # if ((defined(UNIX) || defined(VMS) || defined(OS2)) && (defined(XTERM_MOUSE) \ || defined(DEC_MOUSE) || defined(GPM_MOUSE))) || defined(PROTO) void del_mouse_termcode(n) *************** *** 2746,2752 **** #ifdef HAVE_TGETENT /* Request version string (for xterm) just after switching to raw mode ! * (otherwise the result will be echoed). The result it caught in * check_termcode(). */ if (cur_tmode == TMODE_RAW && need_get_crv && *T_CRV) { --- 2821,2827 ---- #ifdef HAVE_TGETENT /* Request version string (for xterm) just after switching to raw mode ! * (otherwise the result will be echoed). The result is caught in * check_termcode(). */ if (cur_tmode == TMODE_RAW && need_get_crv && *T_CRV) { *** ../vim-5.6.44/src/version.c Fri Mar 31 10:58:32 2000 --- src/version.c Fri Mar 31 14:09:14 2000 *************** *** 156,162 **** #if !defined(USE_SYSTEM) && defined(UNIX) "+fork()", #endif ! #ifdef UNIX # ifdef USE_GUI_GTK "+GUI_GTK", # else --- 156,162 ---- #if !defined(USE_SYSTEM) && defined(UNIX) "+fork()", #endif ! #if defined(UNIX) || defined(VMS) # ifdef USE_GUI_GTK "+GUI_GTK", # else *************** *** 220,236 **** # else "-mouse", #endif ! #ifdef UNIX # ifdef DEC_MOUSE "+mouse_dec", # else "-mouse_dec", # endif ! #ifdef GPM_MOUSE "+mouse_gpm", ! #else "-mouse_gpm", ! #endif # ifdef NETTERM_MOUSE "+mouse_netterm", # else --- 220,236 ---- # else "-mouse", #endif ! #if defined(UNIX) || defined(VMS) # ifdef DEC_MOUSE "+mouse_dec", # else "-mouse_dec", # endif ! # ifdef GPM_MOUSE "+mouse_gpm", ! # else "-mouse_gpm", ! # endif # ifdef NETTERM_MOUSE "+mouse_netterm", # else *************** *** 381,387 **** #else "-writebackup", #endif ! #ifdef UNIX # if defined(WANT_X11) && defined(HAVE_X11) "+X11", # else --- 381,387 ---- #else "-writebackup", #endif ! #if defined(UNIX) || defined(VMS) # if defined(WANT_X11) && defined(HAVE_X11) "+X11", # else *************** *** 420,421 **** --- 420,423 ---- { /* Add new patch number below this line */ + /**/ + 45, /**/ *************** *** 609,615 **** } } ! #ifdef UNIX MSG_PUTS("\nCompiled by "); MSG_PUTS(compiled_user); MSG_PUTS("@"); --- 611,617 ---- } } ! #if defined(UNIX) || defined(VMS) MSG_PUTS("\nCompiled by "); MSG_PUTS(compiled_user); MSG_PUTS("@"); *************** *** 686,697 **** # endif #endif #ifdef HAVE_PATHDEF ! version_msg(" fall-back for $VIM: \""); ! version_msg((char *)default_vim_dir); ! MSG_PUTS("\"\n"); if (*default_vimruntime_dir != NUL) { ! version_msg(" and for $VIMRUNTIME: \""); version_msg((char *)default_vimruntime_dir); MSG_PUTS("\"\n"); } --- 688,702 ---- # endif #endif #ifdef HAVE_PATHDEF ! if (*default_vim_dir != NUL) ! { ! version_msg(" fall-back for $VIM: \""); ! version_msg((char *)default_vim_dir); ! MSG_PUTS("\"\n"); ! } if (*default_vimruntime_dir != NUL) { ! version_msg(" f-b for $VIMRUNTIME: \""); version_msg((char *)default_vimruntime_dir); MSG_PUTS("\"\n"); } -- ROBIN: The what? ARTHUR: The Holy Hand Grenade of Antioch. 'Tis one of the sacred relics Brother Maynard always carries with him. ALL: Yes. Of course. ARTHUR: (shouting) Bring up the Holy Hand Grenade! "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /-/-- Bram Moolenaar --- Bram@moolenaar.net --- http://www.moolenaar.net --\-\ \-\-- Vim: http://www.vim.org ---- ICCF Holland: http://www.vim.org/iccf --/-/