From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim version 5.4b ALPHA available Date: Mon, 21 Dec 98 09:13:38 +0100 Message-Id: <9812210811.AA13248@smtp02.oce.nl> Hello Developers, I have included quite a few patches from others, and made some extra changes and bug fixes. 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. Highlights of changes: - GTK+ GUI port added. With lots of features! Download the latest glib and gtk to try it out. - The method for file types and syntax files has changed again. Hopefully it's more backwards compatible now. - The location of runtime files has changed. It should be backwards compatible. Please check that this works on your system. I ran out of time, there is still lots of work at the start of the todo file... Sorry to those whose patches I din't manage to include! 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.4b 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.4b-src.tar.gz source files for Unix unix/vim-5.4a-5.4b-src.diff.gz diff with version 5.4a unix/vim-5.4b-rt.tar.gz runtime files for Unix unix/vim-5.4a-5.4b-rt.diff.gz diff with version 5.4a extra/vim-5.4b-extra.tar.gz extra files extra/vim-5.4a-5.4b-extra.diff.gz diff with version 5.4a WHAT IS NEW ----------- This is the complete list of changes since version 5.4a. For a list of changes since version 5.2, see ":help version-5.3". Changed: The runtime files are now in $VIMRUNTIME. You normally don' set this, but let Vim find $VIM/vim, or use $VIM when that doesn't exist. This allows for separating the user files from the distributed files. Makes it more easy to upgrade to another version. Allows keeping two versions of Vim around. The archives for DOS, Windows, Amiga and OS/2 now have an extra top-level "vim" directory. This is to make clear that user-modified files should be put here. The directory that contains the executables doesn't have '-' or '.' characters. This is different from the source distribution, so that source and binaries can live in different branches of the same $VIM directory. The scripts for loading syntax highlighting have been changed to use the Syntax autocommand event. The Syntax menu commands have been moved to $VIMRUNTIME/menu.vim. The Syntax menu is included when ":filetype on" or ":syntax manual" is used. The "$VIMRUNTIME/filetype.vim" file is not loaded automatically. The ":filetype on" command has been added for this. ":syntax on" also loads it. Renamed "gr" to "g?" for rot13 encoding, to keep "gr" available for a modified version of "r". Default range for ":tcldo" is the whole file. Added: The $VIM and $VIMRUNTIME variables are set when they are first used. This allows them to be used by Perl, for example. New GUI port for GTK+. Includes a toolbar, dialog for options, etc. Added ":helpfind" command. (Kahn and Dalecki) Linux console mouse support through "gpm". (Tsindlekht) ":cscope kill" command to use the connection filename. (Kahn) Security fix: Disallow changing 'secure' and 'exrc' from a modeline. When 'secure' is set, give a warning for changing options that contain a program name. ":syntax manual" command. Allows manual selection of the syntax to be used, e.g., from a modeline. Updated scrollbind feature: Made 'scrollopt' contain "ver" and "jump" strings. Added ":syncbind" command. (Ralston) Made the Perl interface work with Perl 5.005 and threads. (Verdoolaege) In patterns "\^" after "\|" or "\(" is a start-of-line, and "\$" before "\|" and "\)" is a end-of-line. (Robinson) The exists() function can also check for existence of a function. (Roemer) An internal function is now found with a binary search. (Roemer) Completion of mappings. (Roemer) When giving an error message for an ambiguous mapping, include the offending mapping. (Roemer) "cmdline_compl" feature, for disabling commandline completion at compile time, except for files, directories and help items. Used for DOS 16 bit version. The "" pattern can be used like "" for autocommands, except that it is the matching value for the FileType and Syntax events. When starting with "gvim -f" and using ":gui" in the .gvimrc file, Vim forked anyway. Now the "-f" flag is remembered for ":gui". Added "gui -b" to run gvim in the background anyway. The DOS install.exe now contains checks for an existing installation. It avoids setting $VIM and $PATH again. Fixed: Unix: "echo -n" in the Makefile doesn't work on all systems, causing errors compiling pathdef.c. Replaced it with "tr". Perl: DO_JOIN was redefined by Perl. Undefined it in the perl files. filetype.vim had a wrapped line which caused problems for systems without case sensitive file names. Included a few fixes for the XIM and multi-byte code. (Nam) Win32: tooltip was not removed when selecting a parent menu (it was when selecting a menu entry). (Negri) Unix with X: Some systems crash on exit, because of the XtCloseDisplay() call. Removed it, it should not be necessary when exiting. Win32: Crash on keypress when compiled with with Borland C++. (Aaron) cscope: Removed ANSI specific construct from struct cscmd_t. When checking for Motif library files, prefer the same location as the include files (with "include" replaced with "lib") above another entry. Athena GUI: Changed "XtOffset()" in gui_at_fs.c to "XtOffsetOf()", like it's used in gui_x11.c. Win32: When testing for a timestamp of a file on floppy, would get a dialog box when the floppy has been removed. Now return with an error. (Negri) Tilde didn't work as an operator. (Negri) Win32 OLE: When forced to come to the foreground, a minimized window was still minimized, now it's restored. (Zivkov) There was no check for a negative 'shiftwidth'. A negative value could cause a hangup. Doing "cc" in combination with 'cindent' didn't work, the indentation was done at the wrong moment. Athena GUI: horizontal scrollbar wasn't updated correctly when clicking right or left of the thumb. Setting 'viminfo' without commas didn't give an error message. When making a Visual-block selection in one window, and trying to scroll another, could cause errors for accessing non-existant line numbers. When 'matchpairs' contains "`:'", jumping from the ` to the ' didn't work properly. ===