From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim version 5.2f ALPHA available Date: Mon, 29 Jun 98 10:04:46 +0200 Message-Id: <9806290757.AA29182@smtp02.oce.nl> Hello Vim fans! Another alpha release. Again there are quite a few new things, and many fixes. A note to syntax file maintainers: I changed all "[0-9]" in patterns to "\d". This new special character should match a digit much faster. Please make patches against the 5.2f version of your syntax file. A major new addition in this version is user functions. See ":help :func". Another big change is the way lines that don't fit on the screen are handled (with 'wrap' set). Previously the last line would become a row of '@' characters. If the cursor was in it, you couldn't see what you were doing. Vim now skips part of the line, to show the part the cursor is on. This is especially useful when using many (small) windows. The tricky bit is that Vim can start displaying halfway a line. Plenty of other bug fixes and new stuff. See the list below. 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 a more risky than a normal release. The files are in the "unreleased" directory, just like version 5.2e. This is a source-only release! WHERE TO GET IT --------------- You can find Vim 5.2f here: ftp://ftp.nl.vim.org/pub/vim/unreleased/ See this file for Mirrors: ftp://ftp.nl.vim.org/pub/vim/MIRRORS unix/vim-5.2f-src.tar.gz source files for Unix unix/vim-5.2e-5.2f-src.diff.gz diff with version 5.2e unix/vim-5.2f-rt.tar.gz runtime files for Unix unix/vim-5.2e-5.2f-rt.diff.gz diff with version 5.2e extra/vim-5.2f-extra.tar.gz extra files extra/vim-5.2e-5.2f-extra.diff.gz diff with version 5.2e pc/vim52fsrc.zip source files for PC pc/vim52frt.zip runtime files for PC WHAT IS NEW ----------- This is the complete list of changes since version 5.2e. For a list of changes since version 5.1, see ":help version-5.2". Changed: A single long line that doesn't fit in the window doesn't show a line of @@@ anymore. Redrawing starts at a character further on in the line, such that the text around the cursor can be seen. This makes it possible to edit these long lines when wrapping is on. Changed dialog button hotkey character from '*' to '&', like it is used in menus. When inserting or replacing, typing CTRL-V CTRL- used to insert "". That is not very useful. Now the CTRL key is ignored and a is inserted. Same for all other "normal" keys with modifiers. Mapping these modified key combinations is still possible. Moved "quotes" file to doc/quotes.txt, and "todo" file to doc/todo.txt. They are now installed like other documentation files. The input() function now puts the cursor right after the prompt. You can use "\n" in the prompt to go to the next line. Vim no longer quits the input when typing a backspace at the first position. Added: User functions. Defined with ":function" until ":endfunction". Called with "f:func()". Allows the use of a variable number of arguments. Included support for local variables "l:name". Return a value with ":return". See |:function|. Call a function with ":call". When using a range, the function is called for each line in the range. |:call| Unix: When finding an existing swap file that can't be opened, mention the owner of the file in the ATTENTION message. Setting 'winaltkeys' to "menu" now also works for Win32 GUI. Completion of variable names for ":unlet". (Roemer) In regexp patterns: "\d" for digits, "\D" for non-digits. (Roemer) "Ignore" highlight group: Text highlighted with this is made blank. It is used to hide special characters in the help text. The 'i', 't' and 'k' options in 'complete' now also print the place where they are looking for matches. (Acevedo) Included more extensions to the RISC OS port. The GUI is working now. (Leonard) Documentation for ":grep" and associated options. (Negri) "gJ" command: Join lines without inserting a space. Setting 'keywordprg' to "man -s" is handled specifically. The "-s" is removed when no count given, the count is added otherwise. Configure checks if "man -s 2 read" works, and sets the default for 'keywordprg' accordingly. ":promptfind" and ":promptrepl" accept an argument, which is the default value for the search string in the dialog box. Otherwise the previously used string is still there. The dialog buttons now work as expected to handle the substitute (y/n/a/q) question. (Negri) Made 'guicursor' work in Win32 console version. (Negri) If you do a ":bd" and there is only one window open, Vim tries to move to a buffer of the same type (i.e. non-help to non-help, help to help), for consistent behaviour to :bnext/:bprev. (Negri) ":Print" command. This is Vi compatible. Does the same as ":print". ":confirm close" now gives a dialog when the buffer was changed. 'winminheight' option: Minimal height for each window. Default is 0. Set to 1 if you don't want zero-line windows. There is a separate history for lines typed for the input() function. Allow "" to be used as the rhs of a mappping. ":map xx ", maps "xx" to nothing at all. In a ":menu" command, "" can be used instead of a real tab, in the menu path. This makes it more easy to type, no backslash needed. 'browsedir' option, with value "current", "last" or "buffer". Tells wether a browse dialog starts in last used dir, dir of current buffer, or current dir. ":browse w" is unaffected. Fixed: GUI: When editing a command line in Ex mode, Tabs were sometimes not backspaced properly, and unprintable characters were displayed directly. non-GUI can still be wrong, because a system function is called for this. Win32 GUI: 'mouse' defaulted to "A", which isn't valid anymore. Using Win32 GUI tearoff caused a crash. (Negri) Using two windows, CTRL-W _ caused lower status line to go to cmdline. (Negri) In multi-byte code, delete/yank didn't work correctly for the last character. Also fixed problem with 'showcmd'. (Nam) The ":badd" command had several side effects. (Roemer) ":set" didn't stop after an error. For example ":set no ai" gave an error for "no", but still set "ai". Now ":set" stops after the first error. When running configure for ctags, $LDFLAGS wasn't passed to it, causing trouble for IRIX. "@%" and "@#" when file name not set gave an error message. Now they just return an empty string. (Steed) CTRL-X and CTRL-A didn't work correctly with negative hex and octal numbers. (Steed) Win32 GUI: Torn off menu included shortcut keys, but those don't work. Removed the shortcuts. ":echo" always started with a blank. Updating GUI cursor shape didn't always work (e.g., when blinking is off). Browse() didn't work, it was expecting three arguments instead of four. ":browse e" and then selecting a file in the current directory ruined the remembering of last directory. (Negri) The Win32 GUI Find dialog sent , causing a beep. (Negri) MSDOS version didn't restore the cursor shape properly. (Negri) In silent Ex mode ("ex -s" or "ex in mappings, ":mkexrc" produced an exrc file that can't be used in Vi compatible mode. Added setting of 'cpo' to avoid this. Also, add a CTRL-V in front of a '<', to avoid a normal string to be interpreted as a special key name. Gave confusing error message for ":set guifont=-*-lucida-*": first "font is not fixed width", then "Unknown font". Some options were still completely left out, instead of included as hidden options. - Bram