To: vim-dev@vim.org Subject: Patch 6.0.027 Fcc: outbox From: Bram Moolenaar MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.0.027 Problem: VMS: Printing doesn't work, the file is deleted too quickly. No longer need the VMS specific printing menu. gethostname() is not available with VAXC. The makefile was lacking selection of the tiny-huge feature set. Solution: Adjust the 'printexpr' option default. Fix the other problems and update the documentation. (Zoltan Arpadffy) Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt, src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h *** ../vim60.26/runtime/doc/os_vms.txt Tue Sep 25 21:40:37 2001 --- runtime/doc/os_vms.txt Thu Oct 25 16:16:53 2001 *************** *** 1,4 **** ! *os_vms.txt* For Vim version 6.0. Last change: 2001 Sep 03 VIM REFERENCE MANUAL --- 1,4 ---- ! *os_vms.txt* For Vim version 6.0. Last change: 2001 Oct 23 VIM REFERENCE MANUAL *************** *** 43,54 **** You can download precompiled executables from: http://www.polarfox.com/vim/ ============================================================================== 3. Compiling *vms-compiling* ! See the file src/INSTALLvms.txt. ============================================================================== --- 43,55 ---- You can download precompiled executables from: http://www.polarfox.com/vim/ + ftp://ftp.polarhome.com/pub/vim/ ============================================================================== 3. Compiling *vms-compiling* ! See the file [.SRC]INSTALLVMS.TXT. ============================================================================== *************** *** 57,63 **** The code has been tested under Open VMS 6.2 - 7.2 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 --- 58,64 ---- The code has been tested under Open VMS 6.2 - 7.2 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 file. 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 *************** *** 74,79 **** --- 75,83 ---- separately. You have to be prepared that the CTAGS and XXD make files are not always up to date. + CTAGS is not part of Vim source distribution any more, however the OpenVMS + specific source might contain CTAGS source files as it is described above. + 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 *************** *** 189,195 **** 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 --- 193,199 ---- 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/Motif console: Start Vim with the command: > $ mc device:VIM.EXE -g *************** *** 425,430 **** --- 429,435 ---- $define SYS$PRINT HP5ANSI You can print out whole buffer or just the marked area. + More info under :help hardcopy (Zoltan Arpadffy, Vim 6.0c) *************** *** 441,471 **** Without the -GEOMETRY, the GVIM window size will be minimal and the menu will be confused after a window-resize. ! (Coen Engelbarts, <@hotmail.com> Vim 6.0ac) ============================================================================== 9. VMS related changes *vms-changes* ! Version 6.0 (2001 May 29) ! - Unix and VMS code has been merged ! - separated "really" VMS related code ! - included all possible Unix functionality ! - simplified or deleted the configuration files ! - makefile MAKE_VMS.MMS reviewed ! - menu changes (fixed printing, CTAGS and XXD usage) ! - created OS_VMS_FILTER.COM - DECC->VAXC pre-processor directive convert ! script. ! - changed quickfix parameters: ! - errormessage format to suite DECC ! - search, make and other commands to suite VMS system ! - updated and renamed MMS make files for Vim and CTAGS. ! - CTAGS has been removed from source distribution of Vim but it will remain ! in OpenVMS binary distributions. ! - created INSTALLvms.txt - detailed compiling instructions under VMS. ! - updated test scrips. ! - OS_VMS.TXT updated with new features. ! - other minor fixes. Version 5.7 (2000 Jun 24) --- 446,488 ---- Without the -GEOMETRY, the GVIM window size will be minimal and the menu will be confused after a window-resize. ! (Carlo Mekenkamp, Coen Engelbarts, Vim 6.0ac) ============================================================================== 9. VMS related changes *vms-changes* ! Version 6.0 (2001 Sep 28) ! - Unix and VMS code has been merged ! - separated "really" VMS related code ! - included all possible Unix functionality ! - simplified or deleted the configuration files ! - makefile MAKE_VMS.MMS reviewed ! - menu changes (fixed printing, CTAGS and XXD usage) ! - fixed variable RMS record format handling anomaly ! - corrected syntax, ftplugin etc files load ! - changed expand_wildcards and expandpath functions to work more general ! - created OS_VMS_FILTER.COM - DECC->VAXC pre-processor directive convert ! script. ! - Improved code's VAXC and new DECC compilers compatibility ! - changed quickfix parameters: ! - errormessage format to suite DECC ! - search, make and other commands to suite VMS system ! - updated and renamed MMS make files for Vim and CTAGS. ! - CTAGS has been removed from source distribution of Vim but it will remain ! in OpenVMS binary distributions. ! - simplified build/configuration procedure ! - created INSTALLvms.txt - detailed compiling instructions under VMS. ! - updated test scrips. ! - OS_VMS.TXT updated with new features. ! - other minor fixes. ! - documentation updated ! - this version had been tested much more than any other OpenVMS version ! earlier ! ! Version 5.8 (2001 Jun 1) ! - New CTAGS v5.0 in disribution ! - Documentation updated Version 5.7 (2000 Jun 24) *** ../vim60.26/runtime/menu.vim Wed Sep 26 15:24:36 2001 --- runtime/menu.vim Thu Oct 25 16:06:26 2001 *************** *** 2,8 **** " Note that ":amenu" is often used to make a menu work in all modes. " " Maintainer: Bram Moolenaar ! " Last Change: 2001 Sep 21 " Make sure the '<' and 'C' flags are not included in 'cpoptions', otherwise " would not be recognized. See ":help 'cpoptions'". --- 2,8 ---- " Note that ":amenu" is often used to make a menu work in all modes. " " Maintainer: Bram Moolenaar ! " Last Change: 2001 Oct 25 " Make sure the '<' and 'C' flags are not included in 'cpoptions', otherwise " would not be recognized. See ":help 'cpoptions'". *************** *** 106,133 **** amenu 10.510 &File.&Print :w !lpr vunmenu &File.&Print vmenu &File.&Print :w !lpr - elseif has("vms") - amenu 10.500 &File.-SEP3- : - amenu 10.510 &File.&Print :call VMSPrint(":") - vunmenu &File.&Print - vmenu &File.&Print :call VMSPrint(":'<,'>") endif amenu 10.600 &File.-SEP4- : amenu 10.610 &File.Sa&ve-Exit:wqa :confirm wqa amenu 10.620 &File.E&xit:qa :confirm qa - if has("vms") - if !exists("*VMSPrint") - fun VMSPrint(range) - let mod_save = &mod - let ttt = tempname() - exec a:range . "w! " . ttt - let &mod = mod_save - exec "!print/delete " . ttt - endfun - endif - endif - " Tricky stuff to make pasting work as expected. nnoremap Paste "=@+.'xy'gPFx"_2x:echo --- 106,116 ---- *************** *** 730,739 **** amenu 1.40 ToolBar.Print :w !lpr vunmenu ToolBar.Print vmenu ToolBar.Print :w !lpr - elseif has("vms") - amenu 1.40 ToolBar.Print :call VMSPrint(":") - vunmenu ToolBar.Print - vmenu ToolBar.Print :call VMSPrint(":'<,'>") endif amenu 1.45 ToolBar.-sep1- --- 713,718 ---- *** ../vim60.26/src/INSTALLvms.txt Sat Jul 28 14:07:56 2001 --- src/INSTALLvms.txt Thu Oct 25 12:26:38 2001 *************** *** 1,5 **** INSTALLvms.txt - Installation of Vim on OpenVMS ! Last change: 2001 Jul 28 This file contains instructions for compiling Vim. If you already have an executable version of Vim, you don't need this. --- 1,5 ---- INSTALLvms.txt - Installation of Vim on OpenVMS ! Last change: 2001 Oct 12 This file contains instructions for compiling Vim. If you already have an executable version of Vim, you don't need this. *************** *** 45,50 **** --- 45,54 ---- 1.5. If you want to have Perl, Python or Tcl support in Vim you will need VMS distributions for them as well. + NOTE: procedure in chapter 1 describes source code preparation from multi OS code, + however it is available OpenVMS oprimized (and tested) source code from: + ftp://ftp.polarhome.com/pub/vim/source/vms/ + 2. Configuration 2.1. Edit vim-X.X/src/feature.h for your preference. (You can skip *************** *** 56,61 **** --- 60,75 ---- 2.2 Edit vim-X.X/src/Make_vms.mms to customise your Vim. Options are: + Parameter name : MODEL + Description : Build model selection + Options: : TINY - Almost no features enabled, not even multiple windows + SMALL - Few features enabled, as basic as possible + NORMAL - A default selection of features enabled + BIG - Many features enabled, as rich as possible. (OpenVMS default) + HUGE - All possible featues enabled. + Uncommented - will default to BIG + Default : MODEL = BIG + Parameter name : GUI Description : GUI or terminal mode executable Options: : YES - GUI executable *************** *** 98,103 **** --- 112,139 ---- Uncommented - build without support. Default : Uncommented + + Parameter name : VIM_XIM + Description : X Input Method. For entering special languages like chinese and + Japanese. Please define just one: VIM_XIM or VIM_HANGULIN + Options: : YES - Build with support + Uncommented - build without support. + Default : Uncommented + + Parameter name : VIM_HANGULIN + Description : Internal Hangul input method. GUI only. + Please define just one: VIM_XIM or VIM_HANGULIN + Options: : YES - Build with support + Uncommented - build without support. + Default : Uncommented + + Parameter name : VIM_TAG_ANYWHITE + Description : Allow any white space to separate the fields in a tags file + When not defined, only a TAB is allowed. + Options: : YES - Build with support + Uncommented - build without support. + Default : Uncommented + You can edit the *_INC and *_LIB qualifiers, but it is really not recommended for beginners. *************** *** 128,133 **** --- 164,173 ---- @os_vms_fix.com *.c *.h <.proto>*.pro more information can be found in os_vms_fix.com file itself. + + NOTE: even if os_vms_fix.com will fix all pre-processor directives it will + leave singe (long) line directives. You have to fix them manually. + Known problematic files are option.h and option.c 4.2. After the conversion you can continue building as it has been described above. *** ../vim60.26/src/Make_vms.mms Sun Sep 16 16:18:13 2001 --- src/Make_vms.mms Wed Oct 24 17:06:38 2001 *************** *** 2,8 **** # Makefile for Vim on OpenVMS # # Maintainer: Zoltan Arpadffy ! # Last change: 2001 Sep 16 # # This has script been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX # with MMS and MMK --- 2,8 ---- # Makefile for Vim on OpenVMS # # Maintainer: Zoltan Arpadffy ! # Last change: 2001 Oct 12 # # This has script been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX # with MMS and MMK *************** *** 16,25 **** --- 16,36 ---- # To build: mms/descrip=Make_vms.mms # To clean up: mms/descrip=Make_vms.mms clean # + # Hints and detailed description could be found in INSTALLVMS.TXT file. + # ###################################################################### # Configuration section. ###################################################################### + # Build model selection + # TINY - Almost no features enabled, not even multiple windows + # SMALL - Few features enabled, as basic as possible + # NORMAL - A default selection of features enabled + # 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. GUI = YES *************** *** 56,61 **** --- 67,76 ---- # If you don't need it really, leave it behind the comment. # VIM_HANGULIN = YES + # Allow any white space to separate the fields in a tags file + # When not defined, only a TAB is allowed. + # VIM_TAG_ANYWHITE = YES + ###################################################################### # Directory, library and include files configuration section. # Normally you need not to change anything below. ! *************** *** 145,150 **** --- 160,170 ---- .ENDIF .ENDIF + .IFDEF VIM_TAG_ANYWHITE + # TAG_ANYWHITE related setup. + TAG_DEF = ,"FEAT_TAG_ANYWHITE" + .ENDIF + ###################################################################### # End of configuration section. # Please, do not change anything below without programming experience. *************** *** 174,186 **** LDFLAGS = .ENDIF # These go into pathdef.c VIMUSER = "''f$extract(f$locate(",",f$user())+1,f$length(f$user())-f$locate(",",f$user())-2,f$user())'" VIMHOST = "''f$trnlnm("sys$node")'''f$trnlnm("ucx$inet_host")'.''f$trnlnm("ucx$inet_domain")'" .SUFFIXES : .obj .c ! ALL_CFLAGS = /def=($(DEFS) $(DEBUG_DEF) $(PERL_DEF) $(PYTHON_DEF) $(TCL_DEF) $(SNIFF_DEF) $(RUBY_DEF) $(XIM_DEF) $(HANGULIN_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) $(RUBY_LIB) --- 194,208 ---- LDFLAGS = .ENDIF + MODEL_DEF = "FEAT_$(MODEL)", + # These go into pathdef.c VIMUSER = "''f$extract(f$locate(",",f$user())+1,f$length(f$user())-f$locate(",",f$user())-2,f$user())'" VIMHOST = "''f$trnlnm("sys$node")'''f$trnlnm("ucx$inet_host")'.''f$trnlnm("ucx$inet_domain")'" .SUFFIXES : .obj .c ! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF)$(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_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) $(RUBY_LIB) *** ../vim60.26/src/option.c Mon Oct 22 21:19:00 2001 --- src/option.c Thu Oct 25 15:59:13 2001 *************** *** 2515,2521 **** (char_u *)"system('copy' . ' ' . v:fname_in . ' ' . &printdevice) . delete(v:fname_in)" # else # ifdef VMS ! (char_u *)"system('print' . (&printdevice == '' ? '' : ' /queue=' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in)" # else (char_u *)"system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error" --- 2515,2521 ---- (char_u *)"system('copy' . ' ' . v:fname_in . ' ' . &printdevice) . delete(v:fname_in)" # else # ifdef VMS ! (char_u *)"system('print/delete' . (&printdevice == '' ? '' : ' /queue=' . &printdevice) . ' ' . v:fname_in)" # else (char_u *)"system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error" *** ../vim60.26/src/os_unix.c Fri Sep 21 20:08:36 2001 --- src/os_unix.c Thu Oct 25 16:09:46 2001 *************** *** 1793,1799 **** --- 1793,1803 ---- char_u *s; int len; { + # ifdef VAXC + vaxc$gethostname((char *)s, len); + # else gethostname((char *)s, len); + # endif } #endif /* HAVE_SYS_UTSNAME_H */ *** ../vim60.26/src/os_vms_conf.h Mon Aug 27 17:29:49 2001 --- src/os_vms_conf.h Thu Oct 25 11:43:42 2001 *************** *** 86,93 **** /* Define if struct sigcontext is present */ #define HAVE_SIGCONTEXT ! /* Define if touuper/tolower only work on lower/upercase characters */ ! /* #undef BROKEN_TOUPPER */ /* Define if tgetstr() has a second argument that is (char *) */ /* #undef TGETSTR_CHAR_P */ --- 86,93 ---- /* Define if struct sigcontext is present */ #define HAVE_SIGCONTEXT ! /* Define if toupper/tolower only work on lower/upercase characters */ ! /* #define BROKEN_TOUPPER */ /* Define if tgetstr() has a second argument that is (char *) */ /* #undef TGETSTR_CHAR_P */ *************** *** 105,111 **** /* #undef HAVE_SIGSET */ #define HAVE_GETCWD - #define HAVE_SELECT #define HAVE_STRCSPN #define HAVE_STRTOL #define HAVE_TGETENT --- 105,110 ---- *************** *** 118,124 **** #define HAVE_FSYNC #define HAVE_GETPWUID #define HAVE_GETPWNAM - #define HAVE_SELECT #define HAVE_STDLIB_H #define HAVE_STRING_H #define HAVE_ERRNO_H --- 117,122 ---- *************** *** 134,146 **** #undef HAVE_UNION_WAIT #undef HAVE_SYS_SELECT_H #undef HAVE_SYS_UTSNAME_H #undef HAVE_TERMCAP_H #undef HAVE_SGTTY_H #undef HAVE_SYS_IOCTL_H #undef HAVE_TERMIO_H #undef HAVE_STROPTS_H - #undef HAVE_STRINGS_H - #undef HAVE_SYS_SYSTEMINFO_H #undef HAVE_SYS_STREAM_H #undef HAVE_SYS_PTEM_H #undef HAVE_TERMIOS_H --- 132,143 ---- #undef HAVE_UNION_WAIT #undef HAVE_SYS_SELECT_H #undef HAVE_SYS_UTSNAME_H + #undef HAVE_SYS_SYSTEMINFO_H #undef HAVE_TERMCAP_H #undef HAVE_SGTTY_H #undef HAVE_SYS_IOCTL_H #undef HAVE_TERMIO_H #undef HAVE_STROPTS_H #undef HAVE_SYS_STREAM_H #undef HAVE_SYS_PTEM_H #undef HAVE_TERMIOS_H *************** *** 150,185 **** #undef HAVE_PWD_H #undef HAVE_FCHDIR ! #ifdef VAX #undef HAVE_GETTIMEOFDAY #undef HAVE_USLEEP #undef HAVE_STRCASECMP #else #define HAVE_GETTIMEOFDAY #define HAVE_USLEEP ! #undef HAVE_STRCASECMP #endif #ifdef VAXC #undef HAVE_FCNTL_H #undef HAVE_UNISTD_H #undef HAVE_SYS_TIME_H #undef HAVE_LOCALE_H #define BROKEN_LOCALE #else #define HAVE_FCNTL_H #define HAVE_UNISTD_H 1 #define HAVE_SYS_TIME_H #define HAVE_LOCALE_H #endif ! #ifdef FEAT_GUI_MOTIF ! /* Define unless no X support found */ #define HAVE_X11 - - /* Define if you want to include fontset support. */ #define USE_FONTSET ! ! /* Define if your X has own locale library */ ! /* #undef X_LOCALE */ #endif --- 147,191 ---- #undef HAVE_PWD_H #undef HAVE_FCHDIR ! /* Hardware specific */ ! #ifdef VAX #undef HAVE_GETTIMEOFDAY #undef HAVE_USLEEP #undef HAVE_STRCASECMP + #undef HAVE_STRINGS_H #else #define HAVE_GETTIMEOFDAY #define HAVE_USLEEP ! #define HAVE_STRCASECMP ! #define HAVE_STRINGS_H #endif + /* Compiler specific */ #ifdef VAXC + #undef HAVE_SELECT #undef HAVE_FCNTL_H #undef HAVE_UNISTD_H #undef HAVE_SYS_TIME_H #undef HAVE_LOCALE_H #define BROKEN_LOCALE + #undef HAVE_ICONV_H + #undef HAVE_ICONV + #undef DYNAMIC_ICONV #else + #define HAVE_SELECT #define HAVE_FCNTL_H #define HAVE_UNISTD_H 1 #define HAVE_SYS_TIME_H #define HAVE_LOCALE_H + #define BROKEN_LOCALE + #undef HAVE_ICONV_H + #undef HAVE_ICONV + #undef DYNAMIC_ICONV #endif ! /* GUI support defines */ ! #ifdef FEAT_GUI_MOTIF #define HAVE_X11 #define USE_FONTSET ! #undef X_LOCALE #endif *** ../vim60.26/src/version.c Thu Oct 25 10:20:46 2001 --- src/version.c Thu Oct 25 16:30:38 2001 *************** *** 608,609 **** --- 608,611 ---- { /* Add new patch number below this line */ + /**/ + 27, /**/ -- Just think of all the things we haven't thought of yet. /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ ((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///