From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim version 5.4h ALPHA available Date: Sun, 18 Apr 1999 22:20:02 +0200 Hello Vimmers, Changes, fixes and a few new things. No big new additions, we are heading for the 5.4 release now. I'm trying to get all reported problems fixed, and make sure the new things since 5.3 work as expected. If you want to help, please have a look at the start of the todo file: ":help todo". The termcap entries "TS" and "TE" are now used for the start and end of setting the window title. Likewise, "IS" and "IE" are used for the icon text. I could not find standard entries for these. If someone does know them, let me know. If they really don't exist, perhaps we should propose them to be added. Where? 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.home.vim.org is now linked to another site. Do not use ftp.oce.nl or ftp.oce.com, you will only find old stuff! You can find Vim 5.4h 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.4h-src.tar.gz source files for Unix unix/vim-5.4g-5.4h-src.diff.gz source diff with version 5.4g unix/vim-5.4h-rt.tar.gz runtime files for Unix unix/vim-5.4g-5.4h-rt.diff.gz runtime diff with version 5.4g extra/vim-5.4h-extra.tar.gz extra files extra/vim-5.4g-5.4h-extra.diff.gz diff with version 5.4g WHAT IS NEW ----------- This is the complete list of changes since version 5.4g. For a list of changes since version 5.3, see ":help version-5.4". Changed: It is no longer possible to set 'shell*' options from a modeline. Previously only a warning message was given. This reduces security risks. Removed GTK buffer selection window. We now have the Buffers menu. It's better to keep this the same for all GUI versions. Added: Made Makefile.ming be able to produce several different binaries. (Aaron) Win32 GUI: Use GTK toolbar icons. Make window border look better. Use sizing handles on the lower left&right corners of the window. (Negri) "%y" and "%Y" to 'statusline' option. (Steed) When compiling without expression evaluation, "if 1" can be used around the not supported commands to avoid it being executed. Works like in Vim 4.x. When configure finds ftello() and fseeko(), they are used in tag.c (for when you have extremely big tags files). Configure check for "-FOlimit,2000" argument for the compiler. (Borsenkow) Unix Motif GUI: Let configure check for Lesstif in "/usr/local/Lesstif/Motif*". Changed the order to let a local Motif version override a system standard version. Win32 GUI: When starting an external command with ":!start" and the command can not be executed, give an error message. (Webb) "gvim -v" doesn't start the GUI (if console support is present). Quickfix: Support for "global" file names, for error formats that output the file name once for several errors. (Roemer) Avoid allocating the same string four times in buflist_findpat(). (Williams) Unix: On a Digital Unix system ("OSF1") check for the curses library before termlib and termcap. (Schild) Set title and icon text with termcap options 't_TS', 't_TE', 't_IS' and 't_IE'. Allows doing this on any terminal that supports setting the title and/or icon text. (Schild) New 'titleold' option. Replaces the fixed string "Thanks for flying Vim", which is used to set the title when exiting. (Schild) bufloaded() function: Whether a buffer exists and is loaded. Time functions: localtime() and getftime(). Optional argument to strftime() to give the time in seconds. (Webb) GUI GTK: Support for "-geom" argument. Support for setting the window size with 'lines' and 'columns' options. ":winpos" command implemented. It's now possible to remove a toolbar item. (Kahn) New 'x' flag in 'comments': Automatically insert the end part when its last character is typed. Helps to close a /* */ comment in C. (Webb) The top line of the window is also restored when using a session file. "buffers" in 'sessionoptions': restore hidden and unloaded buffers. Without it only the buffers in windows are restored. (Webb) Made loading autocommands a bit faster. Avoid doing strlen() on each exiting pattern for each new pattern by remembering the length. Support for xterm mouse dragging through escape sequences. It is more precise than previous methods, but requires a fairly recent xterm version. It is enabled with "xterm2" in 'ttymouse'. (Madsen) Made expand() backwards compatible with Vim 5.3. Added glob() to expand file name wildcards only. Added system() to get the raw output of an external command. (based on a patch from Aaron). Fixed: When compiling os_win32.c with MIN_FEAT the apply_autocmds() should not be used. (Aaron) Win32 GUI: Menu tooltip was using the toolbar tooltip. (Negri) This autocommand looped forever: ":au FileChangedShell * nested e " Now FileChangeShell never nests. (Roemer) When evaluating an ":elseif" that was not going to matter anyway, ignore errors. (Roemer) GUI Lesstif: Tearoff bar was the last item, instead of the first. GUI Motif: Would not compile with min-features, because of scrollbind. GUI Motif: Colors of tear-off widgets was wrong when 't' flag added to 'guioptions' afterwards. When 't' flag in 'guioptions' is excluded, would still get a tearoff item in a new menu. An inode number can be "long long". Use ino_t instead of long. Added configure check for ino_t. Binary search for tags was using a file offset "long" instead of "off_t". When starting the syntax highlighting, would load the system menus even when the 'M' flag is in 'guioptions'. Win32 GUI: Setting 'notitle' didn't remove the title. (Steed) Insert mode completion of tags was not using 'ignorecase' properly. In Insert mode, the keys were not properly mapped to for the default mappings. Also caused errors for ":mkvimrc" and ":mksession". When jumping to another window while in Insert mode, would get the "warning: changing readonly file" even when not making a change. GTK GUI: (Kahn) - Could get a tiny window when starting up. - Hitting the "X" in the right upper corner would exit Vim unconditionally. - ":set toolbar=" would crash Vim. - Underscore in a menu item would be interpreted as a menu accelerator. - Tearoff line was sometimes in the wrong position. MSDOS and Win32s: Expanding wildcards could cause accessing an unterminated string. A '(' or '{' inside a trailing "//" comment would disturb C-indenting. When using two labels below each other, the second one was not indented properly. Comments could mess up C-indenting in many places. (Roemer) Could delete or redefine a function while it was being used. Could cause a crash. Hangul input: Buffer would overflow when user inputs invalid key sequence. (Nam) When BufLoad or BufEnter autocommands change the topline of the buffer in the window, it was overruled and the cursor put halfway the window. Now only put the cursor halfway if the autocommands didn't change the topline. Calling exists("&option") always returned 1. (Roemer) Win32: Didn't take actually available memory into account. (Williams) White space after an automatically inserted comment leader was not removed when 'ai' is not set and hit just after inserting it. (Webb) In a function it's logical to prepend "g:" to a system variable, but this didn't work. (Roemer) A few menus had duplicated accelerators. (Roemer) Spelling errors in documentation, quite a few "the the". (Roemer) In a regexp, in front of "\)" and "\|" both "$" and "\$" were considered end-of-line. Now use "$" as end-of-line and "\$" for a literal dollar. Same for '^' after "\(" and "\|". Missing prototypes for Macintosh. (Kielhorn) Test 32 failed, because a search for completion was aborted when another typed character was detected, which was always the case when reading from a script. Don't check for typeahead to interrupt completion when reading commands from a script. Win32: When using 'shellquote' or 'shellxquote', the "!start cmd" wasn't executed in a disconnected process. Win32 GUI: Using ":!start cmd" scrolled the screen one line up, and didn't wait for return when the command wasn't found. When resizing the window, causing a line before the cursor to wrap or unwrap, the cursor was displayed in the wrong position. There was quite a bit of dead code when compiling with minimal features. When doing a ":%s///" command that makes lines shorter, such that lines above the final cursor position no longer wrap, the cursor position was not updated. get_id_list() could allocate an array one too small, when a "contains=" item has a wildcard that matches a group name that is added just after it. E.g.: "contains=a.*b,axb". Give an error message for it. When 'useclipboard' set and $DISPLAY is invalid, deleting didn't work. When yanking a Visual area and using the middle mouse button -> crash. When clipboard doesn't work, now make "* always use "". Memory leak when using %P in 'statusline'. Win32: Using ":buf a\ b\file" didn't work, it was interpreted as "ab\file". Using ":ts ident", then hit , with 'cmdheight' set to 2: command line was not cleared, the tselect prompt was on the last but one line. The session load and save toolbar items didn't work. Now they open a file browser to select the session file to save or load. mksession didn't restore the cursor column properly when it was after a tab. Could not get all windows back when using a smaller terminal screen. Didn't restore all windows when "winsize" was not in 'sessionoptions'. (Webb) Command line completion for ":buffer" depended on 'ignorecase' for Unix, but not for DOS et al.. Now don't use 'ignorecase', but let it depend on whether file names are case sensitive or not (like when expanding file names). NOTE: mool@oce.nl and mool@oce.com will be invalid after April -- hundred-and-one symptoms of being an internet addict: 13. You refer to going to the bathroom as downloading. --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\-- \ \ www.vim.org/iccf www.moolenaar.net www.vim.org / /