From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim version 5.4c ALPHA available Date: Wed, 06 Jan 99 09:22:20 +0100 Message-Id: <9901060819.AA09600@smtp02.oce.nl> Hello Developers, This time I finally found some time to fix recently reported problems. And all patches from others have been included (except the ones that require more work). Still, quite a bit of work remains at the top of the todo file... I want to get this done before starting to work on folding. If you want to try out the GTK GUI version, you can either download GTK version 1.1.12, or, if that doesn't work for you, 1.1.7. For me the 1.1.12 version only compiled by using "configure --disable-nls". And then fixing a few small things... 1.1.7 compiled without changes and appears to work fine with Vim. The runtime files for Unix have moved. This made the diff file larger than the actual archive, thus it's not included this time. If you think that the new location is no good, let's discuss this on vim-dev. 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. 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. You can find Vim 5.4c 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.4c-src.tar.gz source files for Unix unix/vim-5.4b-5.4c-src.diff.gz diff with version 5.4b unix/vim-5.4c-rt.tar.gz runtime files for Unix extra/vim-5.4c-extra.tar.gz extra files extra/vim-5.4b-5.4c-extra.diff.gz diff with version 5.4b WHAT IS NEW ----------- This is the complete list of changes since version 5.4b. For a list of changes since version 5.3, see ":help version-5.4". Changed: Moved the runtime files in the Unix distribution to the "runtime" directory. This makes it possible to copy all the runtime files at once, without the need to know what needs to be copied. Cancelling Visual mode with ESC moved the cursor. There appears to be no reason for this. Now leave the cursor where it is. Added: Included ctags 3.0.3. (Hiebert) GTK+ GUI: Included quite a few patches. (Dalecki) Made the text in uganda.txt about copying Vim a bit more clear. Win32 GUI: When using "-register" or "-unregister" in the non-OLE version, give an error message. Updated the Vim tutor. Added the "vimtutor" command, which copies the tutor and starts Vim on it. "make install" now also copies the tutor. Unix: "make install" now also installs the "tools" directory. Makes them available for everybody. Menu separators for Motif now work. Unix: "make check" now does the same as "make test". In the output of ":clist" the current entry is highlighted, with the 'i' highlighting (same as used for 'incsearch'). Hangul input method feature: "+hangul_input". (Nam) Cleaned up configuration of multi-byte support, XIM, fontset and Hangul input. Each is now configurable separately. Implement FocusLost and FocusGained autocommand events for all systems. Was only available for Win32. Configure check to test if strings.h can be included after string.h. Some systems can't handle it. 'conskey' option for MS-DOS. Use direct console I/O. This should work with telnet (untested!). For the ":clist" command, you can scroll backwards with "b" (one screenfull), "u" (half a screenfull) and "k" (one line). Fixed: Removed ANSI construct from do_syncbind(). (Green) Changed '\"' to '"' to make it compatible with old C compilers. Syntax loading didn't really work. Changed $VIM to $VIMRUNTIME in syntax/synload.vim and a few other files. GTK+ GUI version: ":bd" in an empty buffer caused a crash. Gtk+ GUI; Could get garbage when filtering text (e.g., when editing a .gz file). When reordering the scrollbars (e.g., when opening a new buffer), the cursor would always jump to the start of the file. The configure check for GTK+ wrote error messages to the screen. Redirected them to /dev/null. The command line expansion for mappings caused a script with a TAB between lhs and rhs of a map command to fail. Assume the TAB is to separate lhs and rhs when there are no mappings to expand. When editing a file with very long lines with 'scrolloff' set, "j" would sometimes end up in a line which wasn't displayed. When editing a read-only file, it was completely read into memory, even when it would not fit. Now create a swap file for a read-only file when running out of memory while reading the file. When using ":set cino={s,e-s", a line after "} else {" was not indented properly. Also added a check for this in test3.in. The Hebrew mapping for the command line was remembered for the next command line. That isn't very useful, a command is not Hebrew. (Kol) When completing file names with embedded spaces, like "Program\ files", this didn't work. Also for user commands. Moved backslash_halve() down to mch_expandpath(). When using "set mouse=a" in Ex mode, mouse events were handled like typed text. Then typing "quit" screwed up the mouse behaviour of the xterm. When repeating an insert with "." that contains a CTRL-Y, a number 5 was inserted as "053". Yanking a Visual area, with the cursor past the line, didn't move the cursor back onto the line. Same for "~", "u", "U" and "g?" Win32: Default for 'grepprg' could be "findstr /n" even though there is no findstr.exe (Windows 95). Check if it exists, and fall back to "grep -n" if it doesn't. Because gui_mouse_moved() inserted a leftmouse click in the input buffer, remapping a leftmouse click caused strange effects. Now Insert another code in the input buffer. Also insert a leftmouse release, to avoid the problem with ":map l" that the next release is seen as the release for the focus click. With 'wrap' on, when using a line that doesn't fit on the screen, if the start of the Visual area is before the start of the screen, there was no highlighting. Also, 'showbreak' doesn't work properly. DOS, Win32: A pattern "[0-9]\+" didn't work in autocommands. When creating a swap file for a buffer which isn't the current buffer, could get a mixup of short file name, resulting in a long file name when a short file name was required. makeswapname() was calling modname() instead of buf_modname(). ===