From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim version 5.4g ALPHA available Date: Mon, 22 Mar 99 16:07:55 +0100 Hello Vimmers, Changes, fixes and a few new things. The most remarkable: - The line continuation in ":source"d files has changed from a trailing backslash to a leading backslash in the next line. For backwards compatibility with Vi and previous Vim versions. - A few more commands for the preview window, such as ":pclose" and ":ptnext". And the 'previewheight' option, to specify the height of the window. - The wildmenu is working better now. It is shown just above the command line, also when the screen has scrolled. - There is a new "OleVim" directory, which contains two Visual Basic programs to control the OLE version of Vim. Can be used to use run and control Vim from an IDE. - More todo items for Quickfix have been included. It's now possible to specify an 'errorformat' for an error that consists of several lines. - The output of ":marks", ":jumps" and ":tags" contains the text line, if it is a position in the current buffer. - redirection of messages to a register: ":redir @a" The todo file didn't get much shorter... I will hold off new features, and include fixes only. Otherwise 5.4 will never get finished! If you want to try out the GTK GUI version, you should download GTK version 1.2.0. A few things have been included that require at least 1.1.16. The 1.1.x versions were only for testing anyway. GTK 1.0 should also work, more or less. The result is still an UNSTABLE version, ready for more changes. It is supposed to be used to make new patches against. You can use it for normal work (like me) but it's more risky than a normal release. WHERE TO GET IT --------------- This is a source-only release! Note that ftp.nl.vim.org and ftp.vim.org are now linked to another site. To get to the "home" ftp site at Oce, use ftp.home.vim.org (or ftp.oce.nl). You can find Vim 5.4g here: ftp://ftp.home.vim.org/pub/vim/unreleased/ See this file for Mirrors: ftp://ftp.home.vim.org/pub/vim/MIRRORS unix/vim-5.4g-src.tar.gz source files for Unix unix/vim-5.4f-5.4g-src.diff.gz source diff with version 5.4f unix/vim-5.4g-rt.tar.gz runtime files for Unix unix/vim-5.4f-5.4g-rt.diff.gz runtime diff with version 5.4f extra/vim-5.4g-extra.tar.gz extra files extra/vim-5.4f-5.4g-extra.diff.gz diff with version 5.4f WHAT IS NEW ----------- This is the complete list of changes since version 5.4f. For a list of changes since version 5.3, see ":help version-5.4". Changed: Default for 'complete' changed from ".,b" to ".,w,b,u,t,i". Many more matches will be found, at the cost of time (the search can be interrupted). Line continuation: Instead of using a backslash at the end of a line, use a backslash at the start of the next line. This avoids backwards compatibility problems with ":cd c:\" and ":map xx asdf\". Added: GUI GTK: Removed gui_gtk_to.[ch]. Use the standard GTK tearoff. Use the GTK handleboxes for the menubar and toolbar. The menu ordering and dialogs works now. (Kahn) Removed src/README.hangul and src/README.xim. The information is already present in runtime/doc/hangulin.txt and runtime/doc/mutibyte.txt. The Buffers menu can be disabled by setting the "no_buffers_menu" variable. Improved the Buffers menu, mostly based on work from Ron Aaron. When using ":gui" in a non-GUI Vim, give a clear error message. Included %w and %W in 'statusline' option. (Ralston) ":pclose" command, and CTRL-W CTRL-Z: Close preview window. (Moore) 'previewheight' option, height for the preview window. Added ":ppop", ":ptnext", ":ptprevious", ":ptNext", ":ptrewind", ":ptlast". Renamed the configure arguments for disabling the check for specific GUIs. Should be clearer now. (Kahn) 'M' flag in 'guioptions': Don't source the system menu. While searching for Insert mode completions in include files and tags files, check for typeahead, so that you can use matches early. (Webb) Improved the way 'complete' works. Removed the '*' flag again, the '.' flag now scans the current buffer completely, ignoring 'nowrapscan'. (Webb) When showing the wildmenu after scrolling up the text, make room for the wildmenu just above the command line. (Negri) When displaying matches in the status line for 'wildmenu', don't show backslashes. Makes it look better and allows for more entries to be shown at once. Included the "SendToVim" and "OpenWithVim" programs in the OleVim directory. To be used with the OLE version of gvim under MS-Windows. (Schaller) Redirection of messages to a register ":redir @a". (Roemer) Quickfix: Parsing of multi-line messages. ":cnfile" jumps to first error in next file. "$*" in 'makeprg' is replaced by arguments to ":make". (Roemer) 'switchbuf' option: Allows re-using existing windows on a buffer that is being jumped to, or split the window to open a new buffer. (Roemer) bufwinnr() function: find window that contains the specified buffer. (Roemer) Concatenation of strings in an expression with "." is a bit faster. (Roemer) Made the output of ":marks" and ":jumps" look similar. When the mark is in the current file, show the text at the mark. Also for ":tags". Fixed: Removed ANSI function headers for prepare_tagpreview() and has_cursorhold(). (Green) check_col() and check_row() were defined for the GUI only, but they are needed for the xterm clipboard stuff too. The Buffers menu didn't work with backslashes in the file name. (Madsen) Moved including sys/ptem.h to after termios.h. Needed for Sinix. Xterm mouse dragging didn't take a scrollbar or menu into account. (Madsen) For non-Unix systems the backtick expansion didn't work when using ":e `cmd`", because the backtick was not seen as a wildcard character. When using first "." and then "*" in the 'complete' option, would not scan the whole buffer, because it was already marked as scanned, even though only half of the buffer was actually scanned. When expanding a menu name with 'wildmenu', a TAB was not displayed properly, causing the highlighting to look wrong. When using in 'wildmenu', would delete text after the cursor. The tagpreview function was not cleaning up when jumping to a tag failed. (Negri) OLE interface: Don't delete the object in CVimCF::Release() when the reference count becomes zero. (Cordell) VisVim could still crash on exit. (Erhardt) "case a: case b:" (two case statements in one line) aligned with the second case. Now it uses one 'sw' for indent. (Webb) When setting an invalid 'guifontset' and there is a valid fontset entry for syntax there could be a crash. (Nam) Font intialisation wasn't right for Athena/Motif GUI. Moved the call to highlight_gui_started() gui_mch_init() to gui_mch_open(). (Nam) In Replace mode, backspacing over a TAB before where the replace mode started while 'sts' is different from 'ts', would delete the TAB. Unix: ":cd" didn't go to the home directory. Win32 console: When executing external commands and switching between the two console screens, Vim would copy the text between the buffers. That caused the screen to be messed up for backtick expansion. In some places the +osfiletype feature was still called +filetype. ":winpos -1" then ":winpos" gave wrong error message. Windows commander creates files called c:\tmp\$wc\abc.txt. Don't remove the backslash before the $. Environment variables were not expanded anyway, because of the backslash before the dollar. Command line completion of expressions was missing "=~#". (Roemer) Give error message when trying to write to the "count1" variable. (Roemer) Win32 GUI: When adding a submenu for a torn-off menu, it was not updated. Using "-=" with ":set" could remove half a part when it contains a "\,". E.g., ":set path+=a\\,b" and then "set path-=b" removed ",b". When Visually selecting lines, with 'selection' set to "inclusive", including the last char of the line, "<<" moved an extra line. Also for other operators that always work on lines. link.sh changed "-lnsl_s" to "_s" when looking for "nsl" to be removed. Now it only remove whole words. When jumped to a mark or using "fz", and there is an error, the current column was lost. E.g. when using "$fzj". The "g CTRL-G" command could not be interrupted, even though it can take a long time. Some terminals do have and . was always interpreted as . Now map to , so that the user can override this. -- A bug in the hand is better than one as yet undetected. --/-/------ Bram Moolenaar ----- mool@oce.nl ------ Bram@vim.org -----\-\-- \ \ www.vim.org/iccf www.oce.com www.vim.org / /