From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim version 5.1a BETA available Date: Mon, 16 Mar 98 10:15:43 +0100 Message-Id: <9803160911.AA09832@smtp02.oce.nl> Hello Vim users! This is a bug-fix release for Vim 5.0. There are a few new features though. See the release notes below. If this versions appears to be OK, version 5.1 will be released in a couple of weeks. I plan to do only minimal changes between 5.1a and 5.1. All new features are postponed until version 5.2. WHERE TO GET IT --------------- You can find Vim 5.1a here: ftp://ftp.oce.nl/pub/vim/beta-test Or use one of the mirrors (updated within in a couple of days), see: ftp://ftp.oce.nl/pub/vim/MIRRORS unix/vim-5.1a.tar.gz Source files for Unix unix/vim-5.0-5.1a.diff.gz Idem, diff with version 5.0 extra/vime-5.1a.tar.gz Extra files for Unix and others extra/vime-5.0-5.1a.tar.gz Idem, diff with version 5.0 pc/vim51asrc.zip Sources packed for DOS pc/vim51ad16.zip binary+docs 16 bit DOS pc/vim51ad32.zip binary+docs 32 bit DOS pc/vim51aw32.zip binary+docs 32 bit Windows NT/95 pc/gvim51a.zip binary+docs Windows NT/95 GUI pc/gvim51aole.zip exe for Windows NT/95 GUI with OLE amiga/vim51asrc.tgz sources packed for Amiga amiga/vim51abin.tgz binary+docs for Amiga amiga/vim51abig.tgz binary for Amiga with more features os2/vim51aos2.zip binary+docs for OS/2 Note that the source archives don't have all the files. This was done to reduce their size. If you want to get all the source files, get both the Unix and the extra archive. Hopefully the binary versions for BeOS, Macintosh and Atari Mint will be available soon. RELEASE NOTES ------------- Changed: - The expand() function now separates file names with instead of a space. This avoids problems for file names with embedded spaces. To get the old result, use substitute(expand(foo), "\n", " ", "g"). - For Insert-expanding dictionaries allow a backslash to be used for wildchars. Allows expanding "ze\kra", when 'isk' includes a backslash. - New icon for the Win32 GUI. - ":tag", ":tselect" etc. only use the argument as a regexp when it starts with '/'. Avoids that ":tag xx~" gives an error message: "No previous sub. regexp". Also, when the :tag argument contained wildcard characters, it was not Vi compatible. When using '/', errors for the regexp are ignored and the argument is taken literally too, with a higher priority, so it's found before wildcard matches. Only when the '/' is used are matches with different case found, even though 'ignorecase' isn't set. - Changed some of the default colors, because they were not very readable on a dark background. - A character offset to a search pattern can move the cursor to the next or previous line. Also fixes that "/pattern/e+2" got stuck on "pattern" at the end of a line. Added: - "shell_error" internal variable: result of last shell command. - ":echohl" command: Set highlighting for ":echo". - 'A', 'N' and 'I' flags to 'mouse': Do position the cursor, but don't start Visual mode, only start xterm-like selection. - 'S' flag in 'highlight' and StatusLineNC highlight group: highlighting for status line of not-current window. Default is to use bold for current window. - Added buffer_name() and buffer_number() functions (Aaron). - Added flags argument "g" to substitute() function (Aaron). - Win32: When an external command starts with "start ", no console is opened for it (Aaron). - Win32 console: Use termcap codes for bold/reverse based on the current console attributes. - Configure check for "strip". (Napier) - CTRL-R CTRL-R x in Insert mode: Insert the contents of a register literally, instead of as typed. - Made a few "No match" error messages more informative by adding the pattern that didn't match. - "make install" now also copies the macro files. - tools/tcltags, a shell script to generate a tags file from a TCL file. - "--with-tlib" setting for configure. Easy way to use termlib: "./configure --with-tlib=termlib". - 'u' flag in 'cino' for setting the indent for contained () parts. Fixed: [only the most important ones, see ":he version-5.1" for more] - ":ts" changed position in the tag stack when cancelled with . - ":ts" changed the cursor position for CTRL-T when cancelled with . - ":tn" would always jump to the second match. Was using the wrong entry in the tag stack. - Doing "tag foo", then ":tselect", overwrote the original cursor postition in the tag stack. - "make install" changed the vim.1 manpage in a wrong way, causing "doc/doc" to appear for the documentation files. - Was leaking memory when using selection in X11. - When expanding directories for ":set path=", put two extra backslashes before a space in a directory name. - When 'lisp' set, first line of a function would be indented. Now its indent is set to zero. And use the indent of the first previous line that is at the same () level. Added test33. - DOS: "seek error in swap file write" errors, when using DOS 6.2 share.exe, because the swap file was made hidden. It's no longer hidden. - ":global" command would sometimes not execute on a matching line. Happened when a data block is full in ml_replace(). - Win32 gvim now only sets the console size for external commands to 25x80 on Windows 95, not on NT. - Win32 console: Dead key could cause a crash, because of a missing "WINAPI" (Deshpande). - The right mouse button started Visual mode, even when 'mouse' is empty, and in the command line, a left click moved the cursor when 'mouse' is empty. In Visual mode, 'n' in 'mouse' would be used instead of 'v'. - A blinking cursor or focus change cleared a non-Visual selection. - CTRL-Home and CTRL-End didn't work for MS-DOS versions. - Could include NUL in 'iskeyword', causing a crash when doing insert mode completion. - "gqG" in a file with one-word-per-line (e.g. a dictionary) was very slow and not interruptable. - "gq" operator inserted screen lines in the wrong situation. Now screen lines are inserted or deleted when this speeds up displaying. - cindent was wrong when an "if" contained "((". - Win32 GUI with OLE: if_ole_vc.mak could not be converted into a project. Hand-edited to fix this... - Dos32 version changed "\dir\file" into "/dir/file", to work around a DJGPP bug. That bug appears to have been fixed, therefore this translation has been removed. - "/^*" didn't work (find '*' in first column). - "" was not always set for autocommands. E.g., for ":au BufEnter * let &tags = expand(":p:h") . "/tags". - When starting with "gvim -bg black -fg white", the value of 'background' is only set after reading the .gvimrc file. This causes a ":syntax on" to use the wrong colors. Now allow using ":gui" to open the GUI window and set the colors. Previously ":gui" in a gvimrc crashed Vim. Happy Vimming!