From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim version 5.4i ALPHA available Date: Sun, 02 May 1999 23:10:31 +0200 Hello Vimmers, Changes, fixes and a few new things, again. The main change this time is the handling of messages. A new command ":messages" has been added, which shows the last 20 messages. Since this allows looking at older messages, it is not so bad if messages are overwritten and/or truncated. Therefore the default for 'shortmess' was changed to avoid the hit-return prompt in most situations. The handling of messages is quite complicated. There are proably a few situations where it goes wrong. Please check it out and report to me. Don't forget to mention the option settings that apply. Besides a lot of bug fixes, one new feature slipped in: The ":find" and ":sfind" commands work like ":edit" and ":split", but search for the file in 'path'. Very useful if you don't know where your file is. 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. NOTE: mool@oce.nl and mool@oce.com are now invalid. WHERE TO GET IT --------------- This is a source-only release! You can find Vim 5.4i 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.4i-src.tar.gz source files for Unix unix/vim-5.4h-5.4i-src.diff.gz source diff with version 5.4h unix/vim-5.4i-rt.tar.gz runtime files for Unix unix/vim-5.4h-5.4i-rt.diff.gz runtime diff with version 5.4h extra/vim-5.4i-extra.tar.gz extra files extra/vim-5.4h-5.4i-extra.diff.gz diff with version 5.4h WHAT IS NEW ----------- This is the complete list of changes since version 5.4h. For a list of changes since version 5.3, see ":help version-5.4". Changed: Use "v:" for internal Vim variables: "v:errmsg", "v:shell_error", etc. The ones from version 5.3 can be used without "v:" too, for backwards compatibility. The ordering of the index of documentation files was changed to make it more easy to find a subject. Non-standard termcap entries 'TS' and "TE" replaced with "ts" and "fs". Added: Previous messages can be viewed with the new ":messages" command. Added 'T' flag to 'shortmess': Truncate all messages that would cause the hit-return prompt. 'O' flag in 'shortmess' now also applies to quickfix messages, e.g., from the ":cn" command. The default for 'shortmess' is now "filnxtToO", to make most messages fit on the command line, and not cause the hit-return prompt. XIM support for GTK+. (Nam) Win32 GUI: Use sizing handles for the grey rectangles below the scrollbars. Can draw toolbar in flat mode now, looks better. (Negri) ":find" and ":sfind" commands: Find a file in 'path', (split window) and edit it. When expand() has a second argument which is non-zero, don't use 'suffixes' and 'wildignore', return all matches. strtrans() function: Translate String into printable characters. Used for 2html.vim script. When dialogs are supported, use a dialog to ask the user what to do when a swapfile already exists. In the Syntax menu, insert separators between syntax names that start with a different letter. (Geddes) GUIEnter autocommand event. Can be used to do something with the GUI window after it has been created (e.g., a ":winpos 100 50"). Fixed: The Buffers menu was fixed at priority 25, instead of using bmenu_priority, which defaults to 60. Win32 GUI: (Negri) - Redrawing the background caused flicker when resizing the window. Removed _OnEraseBG(). Removed CS_HREDRAW and CS_VREDRAW flags from the sndclass.style. - Some parts of the window were drawn in grey, instead of using the color from the user color scheme. - Didn't compile with minimal features. - Dropping a file on gvim didn't activate the window. - When there is no menu ('guioptions' excludes 'm'), never use the ALT key for it. GUI: When resizing the window, would make the window height a bit smaller. Now round off to the nearest char cell size. (Negri) When the last but one line wraps and fills the whole window, the percentage in the ruler could become 150%. When soucing a script with continuation lines, an error would be reported with a wrong line number. (Roemer) In Vi the ")" and "(" commands don't stop at a single space after a dot. Added 'J' flag in 'cpoptions' to make this behave Vi compatible. (Roemer) When saving a session without any buffers loaded, there would be a ":normal" command without arguments in it. (Webb) Multibyte: If user input only 3byte such as mb1_mb2_eng or eng_mb1_mb2 VIM could convert it to special character. (Nam) Athena/Motif with XIM: fix preedit area. (Nam) C-indenting could get stuck on a single ' or ". (Roemer) GTK GUI: When owning the selection (Visual selection), then selecting text in an xterm, the xterm selection was cleared again when the mouse button was released. Only the first time. (Kahn) Memory leaks fixed: (Madsen) - eval.c: forgot to release func structure when func deleted - ex_docmd.c: forgot to release string after "" - misc1.c: leak when completion pattern had no matches. - os_unix.c: forgot to release regexp after file completions Setting width in 'rulerformat' didn't work. (Madsen) Could crash when using a buffer without a name. (Madsen) Could crash when doing file name completion, because of backslash_halve(). (Madsen) ":@a" would do mappings on register a, which is not Vi compatible. (Roemer) ":g/foo.*()/s/foobar/_&/gc" worked fine, but then "n" searched for "foobar" and displayed "/foo.*()". (Roemer) OS/2: get_cmd_output() was not included. Didn't check for $VIM/.vimrc file. Unix: When a previously used buffer is renamed and doing an ":edit" with the old name, could end up editing the renamed file. When a used buffer is deleted and another file created outside of Vim, editing that new file could result in editing the deleted file. Was a mixup of inode/device numbers. Command line completion of options didn't work after "+=" and "-=". GTK GUI didn't compile with GTK 1.1.2 (Linux Suse 6.0 distribution). "set guifont=*" didn't set 'guifont' to the selected font. Unix configure: Test for memmove()/bcopy()/memcpy() tried redefining these functions, which could fail if they are defined already. Use mch_memmove() to redefine. Unix: Using ":set term=xterm" stopped the mouse from working. Unix: ":let a = expand("`xterm`&")" started an xterm asynchronously, but ":let a = expand("`xterm&`")" generated an error message, because the redirection was put after the '&'. Some of the runtime scripts gave errors when used with a Vim that was compiled with minimal features. Now "if 1" is used around code that is not always supported. Win32 GUI: Dialog buttons could not be selected properly with cursor keys, when the default is not the first button. (Webb) The "File has changed since editing started" (when regaining focus) could not always be seen. (Webb) When starting with "ex filename", the file message was overwritten with the "entering Ex mode" message. Output of ":tselect" listed name of file directly from the tags file. Now it is corrected for the position of the tags file. When 'backspace' is 0, could backspace over autoindent. Now it is no longer allowed (Vi compatible). When repeating an insert command where a , or other key causes an error, would flush buffers and remain in Insert mode. No longer flush buffers, only beep and continue with the insert command. When Vim was started with "vim -x file", a key is asked for, but if the edited file was not crypted, the key was never used. Now use the key to encrypt the files when writing. -- --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\-- \ \ www.vim.org/iccf www.moolenaar.net www.vim.org / /