To: vim-dev@vim.org Subject: Vim version 5.0q ALPHA available! Date: Mon, 10 Nov 97 09:54:41 +0100 From: Bram Moolenaar Hello all, Yet another ALPHA version. Quite a lot of changes this time. I hope I didn't mess up anything. Only a few items left before the beta-release... Changes: - INCOMPATIBLE change: Made all commands that close buffers depend on 'hidden', also buf list commands ":all", ":sall", ":ball", ":buf", ":only". When 'hidden' is not set, you almost never get hidden buffers. When 'hidden' is set, buffers are almost never freed. - "make test" now continues after an error, and reports the results at the end. Useful if some specific test fails (e.g. when gzip is not available). - "D" in Visual block mode now deletes till end of line. - Better support for 'insertmode': in Normal mode goes to Insert mode. in Insert mode doesn't leave Insert mode. When doing ":set im", go to Insert mode right away. - When an error is reported inside an if/endif or while/endwhile, processing now continues after the endif/endwhile. Also, when using an if/endif in a mapping, and an error causes the mapping to be flushed, drop out of the if/endif. Same for while/endwhile. - For syntax highlighting, when using a matchgroup for a syntax region, the "contains" and "transparent" flags only apply to the innards of the region, not to the start end end patterns. - Adjusted default syntax colors for a dark background. - Changed the search order for inits for MS-DOS and Win32: First check $HOME, then $VIM. Helps when several people are using one system (mostly for Windows NT). Used for "_vimrc", "_gvimrc", "_exrc" and "_viminfo". - Characters on the screen from 'showbreak' are now shown with the same highlighting as '@' in 'highlight (NonText). - When using 8 colors, set "bold" attribute for light foreground colors. Works nice for Linux console. - "-f" argument is now ignored if Vim was compiled without GUI. - In Visual block mode, the right mouse button picks up the nearest corner. - Changed default mappings for DOS et.al.. Removed the DOS-specific mappings, only use the Windows ones. Added Shift-Insert, Ctrl-Insert, Ctrl-Del and Shift-Del. - Moved common text from doc/os_msdos.txt and doc/os_win32.txt to the new doc/os_dos.txt. - In string expressions: "\0xff" is replaced with "\xff". "\033" and "\xff" forms now only allow eight bits. "\0333" is "\033" . "3". - Always prepend a '.' for a swap file name, also on DOS and Windows, when using long file names. Useful when editing files through a network on a Unix system. - Included ctags 1.7.3 (Darren Hiebert). - Changed the numbers in the output of ":jumps", so you can see where CTRL-O takes you. - Removed "rex" and "rgex" targets from Makefile. I don't expect anybody to use these. - Moved some common defines from os_win32.h and os_msdos.h to os_dos.h. Added: - Win32 GUI: Added patches from Paul Moore to open a console to write error messages to, and output of "gvim -h". It's not perfect: closing the console window makes gvim exit. - Added isdirectory(), nr2char() and char2nr() functions to expressions. - "fname_case" feature for the has() function. Is present if file name case matters (Unix). Used in syntax.vim, to avoid that a "*.c" file is seen as a "*.C" file, which is C++. - Added: Set default value of 'background' according to lightness of actually used background color. - Allow multiple arguments to ":let", for listing variables. - Handle '|' for a number of commands, when inside an ":if" where commands are not executed, - ":amenu" command, define menus for all modes, inserting a CTRL-O for Insert mode and ESC for Visual and Cmdline mode. Use "amenu" for the default menus and the Syntax menu. - When 'term' is "linux", default for 'background' is "dark". - Renamed "SniffVim.[ch]" to "if_sniff.[ch]". The files are included in the extra "vime" archive. - 'e' flag for ":substitute" command: don't complain when not finding a match (Campbell). - "BufUnload" and "BufDelete" autocommand events. - "##" in 'errorfile' is replaced with a unique number. Avoids that two Vim sessions in the same directory overwrite each others errorfile. The Unix default is "/tmp/errors##.vim". For Amiga it's still the same, others use "errors##.vim". - 'O' and CTRL-O in Visual block mode move the cursor to another corner horizontally or vertically. - Completion of tags now also includes static tags for other files, at the end. - 'eventignore' option: Makes it possible to ignore autocommands for a moment. - Using "~" for $HOME now works for all systems. - Added for Unix: Besides using CTRL-C, also use the INTR character from the tty settings. Somebody has INTR set to DEL. - Added autoconf check for -lXdmcp. - 'i' flag for 'highlight': Set highlighting for 'incsearch'. Default uses "IncSearch" highlight group, which is linked to "Visual". - Improved text objects: Added "ip" and "is". Improved "ap". Fixed: - DOS and Win32 console versions could not work in Ex mode. - Made syntax highlighting faster, by skipping regexp matching when we already know that there is no match. Also by minimizing the use of toupper(), it's very slow when compiled with MS Visual C++. - ":mkexrc" didn't check for failure to open the file, causing a crash. (Felderhoff). - Syntax highlighting could not sync on an empty match. - Win32 mch_write() wrote past fixed buffer, causing terminal keys no longer to be recognized. Both console and GUI version. - Athena GUI: Crash when removing a menu item. Now Vim doesn't crash, but the reversing of the menu item is still wrong. - For syntax highlighting, matchgroup was highlighting one character too short. - ":all" and ":ball" no longer close and then open a window for the same buffer. Avoids losing options, jumplist, and other info. - Using ":if" from Insert mode (with CTRL-O), and then using ":normal", could go back to Insert mode before typing ":endif". - Menu's for Windows NT 3.x work now (Patel). - When 'scrolloff' is non-zero, a 'showmatch' could cause the shown match to be in the wrong line and the window to be scrolled (Acevedo). - ":syntax on" could not be directly followed by '|'. - After ":set all&", 'lines' and 'ttytype' were still non-default, because the defaults never got set. Now the defaults for 'lines' and 'columns' are set after detecting the window size. 'term' and 'ttytype' defaults are set when detecting the terminal type. - For (most) non-Unix systems, don't add file names with illegal characters when expanding. Fixes "cannot open swapfile" error when doing ":e *.burp", when there is no match. - Crash when using CTRL-X CTRL-K CTRL-X CTRL-K in Insert mode (Acevedo). - In X11 GUI, drawing part of the cursor obscured the text. Now the text is drawn over the cursor, like when it fills the block. (Seibert) - For Win32 GUI: A lot of the console-mode stuff was still being compiled, but never used. - "ls | gview -" complained about readonly file, and can't abandon the file. Don't set "changed" flag for stdin when in readonly mode. - Win32 console: Made "ls | vim -" work, and avoided that "ls | vim" hangs. NOTE: To save me time and worries, this is a source-code only release. Binary versions will be made for later versions. You can compile it yourself, if you can, all the required stuff is included. You can find Vim 5.0q in the usual place. Including a diff, for those who want to save on bandwidth. ftp://ftp.oce.nl/pub/vim/beta-test/unix/vim-5.0q.tar.gz ftp://ftp.oce.nl/pub/vim/beta-test/unix/vim-50p-50q.diff.gz And on the mirrors (within in a couple of days). There is also this file, which contains files that not many people need: ftp://ftp.oce.nl/pub/vim/beta-test/extra/vime-5.0q.tar.gz Have fun!