From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim version 5.4f ALPHA available Date: Mon, 08 Mar 99 09:04:29 +0100 Message-Id: <9903080804.AA00818@smtp02.oce.nl> Hello Developers, Changes, fixes and a few new things. The most remarkable: - Include a Buffers menu for the GUI. - X11: When Visual mode is not the selection, highlight it differently. - 'statusline' option changed again. - xterm mouse dragging. Now it works almost like in the GUI. - "gR" command for virtual replace mode. - GTK GUI can fork now. - 'wildmenu' mode no longer uses hjkl to move around. - tag preview function ":ptag". - Quickfix now also recognizes "Making in " messages. Still, quite a bit of work remains at the top of the todo file... I will start holding 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.4f 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.4f-src.tar.gz source files for Unix unix/vim-5.4e-5.4f-src.diff.gz source diff with version 5.4e unix/vim-5.4f-rt.tar.gz runtime files for Unix unix/vim-5.4e-5.4f-rt.diff.gz runtime diff with version 5.4e extra/vim-5.4f-extra.tar.gz extra files extra/vim-5.4e-5.4f-extra.diff.gz diff with version 5.4e WHAT IS NEW ----------- This is the complete list of changes since version 5.4e. For a list of changes since version 5.3, see ":help version-5.4". Changed: Support for the '\' character to continuate a Vim script line is not 100% backwards compatible: "cd c:\dir\" will not work anymore. Added: '*' flag in 'complete': Scan current buffer while ignoring 'wrapscan'. Check for the 'complete' option when it is set. (Acevedo) Added '~' flag to 'whichwrap'. (Acevedo) TCL support to Makefile.w32. (Duperval) 'useclipboard' option. Use unnamed register like "*. (Cortopassi) Included "Buffers" menu. Works with existing autocommands and functions. (Madsen) X11: When in Visual mode but not owning the selection, display the Visual area with the VisualNOS group to show this. (Madsen) When ending the Visual mode (e.g., with ESC) don't grab ownership of the selection. Simplified the 'statusline' option. Included "%a" in 'statusline' option. Allow maxwid in groups. Allow nesting of groups. Added highlighting with %1* to %9*, using the highlight groups User1 to User9. (Madsen) When using the xterm mouse, track dragging of the mouse. (Madsen) In a color terminal, "fg" and "bg" can be used as color names. They stand for the "Normal" colors. "gR" and "gr" command: Virtual replace mode. Replace characters without changing the layout. (Webb) ":cd -" changes to the directory from before the previousl ":cd" command. (Webb) mapcheck() function: Check if a map name matches with an existing one. maparg() now requires an exact match. In a sourced Vim script the Mac file format can be recognized, just like DOS file format is. (St-Amant) Motif GUI: Check for "-lXp" library in configure (but it doesn't work yet...). visualmode() function: Return type of last Visual mode. (Webb) GUI GTK: Toolbar bitmaps are two pixels smaller, to be able to fit more in the toolbar. (Kahn) GUI GTK: now forks when starting the GUI. Because of a fix for warning messages, GTK version 1.1.16 is now required. (Kahn) A few cscope and GTK cleanups. Moved global GTK items to the gui structure. (Kahn) Moved features from a list of function calls into an array. Should save a bit of space. 'guifontset' option: Specify fonts for the +fontset feature. Allows using normal fonts when vim is compiled with this feature. (Nam) Allow use of fontset with GTK. (Nam) When evaluating an expression with && and ||, skip the parts that will not influence the outcome. (Webb) Also optimized the skipping of expressions inside an "if 0". 'wildmenu' completion now only happens where "full" appears in 'wildmode'. Stop completing as soon as a key is typed. "hjkl" no longer select other completions. (Negri) CursorHold autocommand event. Triggered when no key typed for 'updatetime'. Can be used to do something with the word under the cursor. (Negri) libcall() function. Call a function in a library. Currently only for Win32. (Negri) Tag preview function. Shows the result of a ":tag" in a dedicated window. Can be used to see the context of the tag (e.g., function arguments). (Negri) 'd' flag in 'complete' searches for defined names or macros. Included ctags 3.2 (Hiebert) The quickfix commands now also understand "Making in " messages from make. Helps when not using GNU make. (Schandl) The ":mksession" and 'sessionoptions' are now in the +mksession feature. Included changed vimspell.sh from Schemenauer. Fixed: When compiling with MIN_FEAT, got error in do_exmap() for ambigstr undefined. Entering a double byte character didn't work if the second byte is in [xXoO]. (Eric Lee) There was an ANSI function header for execute_menu(). (Green) vim_realloc was both defined and had a prototype in proto/misc2.pro. Caused conflicts on Solaris. When using xterm clipboard on Solaris, got a crash for XtCloseDisplay(). Don't close the display at all to avoid trouble. When opening the application context a second time, got warning messages. Re-use the xterm application context if it has been initialized. When $WINDOWID wasn't set, using the xterm clipboard display caused a crash. When not using 'wildmenu', a space still stopped completion instead of being inserted directly. (Ralston) A pattern in an autocommand was treated differently on DOS et al. than on Unix. Now it's the same, also when using backslashes. GUI GTK: Using ":helpfind" in the console mode would crash Vim. "go" was jumping to the screen column instead of the physical column. (Madsen) When using twice for command line completion, without a match, the would be inserted. (Negri) Bug in MS-Visual C++ 6.0 when compiling ex_docmd.c with optimization. (Negri) Testing the result of mktemp() for failure was wrong. Could cause a crash. (Peters) VMS: The system vimrc and gvimrc files were called ".vimrc" and ".gvimrc". Removed the dot. GUI: When checking for a ".gvimrc" file in the current directory, didn't check for a "_gvimrc" file too. Motif GUI: When using the popup menu and then adding an item to the menu bar, the menu bar would get very high. Mouse clicks and special keys (e.g. cursor keys) quit the more prompt and dialogs. Now they are ignored. When at the more-prompt, xterm selection didn't work. Now use the 'r' flag in 'mouse' also for the more-prompt. When selecting a Visual area of more than 1023 lines, with 'guioptions' set to "a", could mess up the display because of a message in free_yank(). Removed that message, except for the Amiga. Moved auto-selection from ui_write() to the screen update functions. Avoids unexpected behavior from a low-level function. Also makes the different feedback of owning the selection possible. Vi incompatibility: Using "i" in an indent, with 'ai' set, used the original indent instead of truncating it at the cursor. (Webb) ":echo x" didn't stop at "q" for the more prompt. Unix: "configure --enable-gtk" resulted in disabling gtk. The help for the gtk options was doubled. Crash in maparg(), could only handle strings up to 40 chars. Various fixes for Macintosh. (St-Amant) GUI GTK would just exit when hitting the "X" to close the window. Now it preserves the files (but it still exits!). XIM: Dead keys didn't work for Czech. (Vyskovsky) When using 'selectmode' set to "exclusive", selecting a word and then using CTRL-] included the character under the cursor. Didn't give an error message when trying to assign a value to an argument of a function. (Webb) Using ":let a:name" in a function caused a crash. (Webb) When using ":append", an empty line didn't scroll up. DOS etc.: A file name starting with '!' didn't work. Added '!' to default for 'isfname'. GUI GTK: 'mousemodel' was default set to 'popup' for no reason. Crash when 'title' changed from set to not set and opening another window. BeOS: Compilation problem with prototype of skip_class_name(). (Price) Interrupting a completion on the commandline could cause a crash. (Tsindlekht) When deleting more than one line, e.g., with "de", could still use "U" command, which didn't work properly then. Backtick expansion under unix: Only the first line was returned. Amiga: Could not compile ex_docmd.c, it was getting too big. Moved some functions to ex_cmds.c. The expand() function now also returns names for files that don't exist. The expand() function would add a trailing slash for directories. Wildmenu: Interrupting a completion ":ta " with CTRL-C would still show the wildmenu statusline for a split second. >From ":mksession" and ":mkvimrc" don't store 'fileformat'. (Negri) ===