From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim 6.0i alpha available Date: Sun, 15 Oct 2000 21:45:24 +0200 Message-Id: <200010151945.VAA14298@moolenaar.net> Yet another Vim in the 6.0 series. Major changes ------------- The "settings" files are now called "filetype plugins". The ":filetype settings on" command is now ":filetype plugin on". The directory for filetype plugins is $VIMRUNTIME/ftplugin//*.vim. This makes it possible to add several script files for one file type. The ones that are in the distribution are called "default.vim". Renamed "localmapchar" to "maplocalleader". Just a better name. Use for the value of "mapleader" and for the value of "maplocalleader" instead of . The default is now a backslash, to avoid trouble with people actually using the "," command. Removed ctags from the Vim distribution. It's now a grown-up program by itself, it deserves to be distributed separately. Other changes ------------- The "-u NONE" command line argument also disables loading plugins. The "-u NORC" command line argument disables loading vimrc files, but doesn't disable loading plugins. When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there is no change in indent, this is not counted as a change ('modified' isn't set and there is nothing to undo). Added first version of Korean message translations. (Sung-Hyun Nam) In a ":highlight" listing, show "xxx" with the highlight color. Added 'indentkeys' option: Used instead of 'cinkeys' when 'indentexpr' isn't empty. Win32 console: Set the window icon to Vim's icon (only for Windows 2000). While executing a shell command, modify the window title to show this. When exiting, restore the cursor position too. (Craig Barkhouse) Updated instructions for how to write a plugin. Use two cascading mappings to allow the user to define his own key sequence. Added hasmapto() function to detect if a mapping to a string is already present. Suggest the use of "" in plugins in the documentation. Python interface: Allow setting the width of a vertically split window. (John Cook) Added foldclosed() and foldlevel() functions. (Johannes Zellner) Added skipblank() function: skip blank lines. Useful to for indent scripts. Added type() function: Check the type of an expression. Added winwidth() function. (Johannes Zellner) Added interface to Ruby. (Shugo Maeda) Added optional extra argument for match(), matchend() and matchstr(): Offset to start looking for a match. Made third argument to strpart() optional. (Paul Moore, Zdenek Sekera) Added configure options to install Vim, Ex and View under another name (e.g., vim6, ex6 and view6). When doing Insert mode completion, when completion is finished check for a match with words from 'cinkeys' or 'indentkeys'. Added "=~word" to 'cinkeys' and 'indentkeys': Match while ignoring case. Added 'n' flag for 'cpoptions': Do put text of wrapped lines in between line numbers from 'number' option. This makes it Vi compatible. Also fix problems with 'linebreak' and 'showbreak' for wrapped lines. Put "RO" in the title for read-only files. Fixes ----- Win32: Console version didn't work on telnet, because of switching between two console screens. Now use one console screen and save/restore the contents when needed. (Craig Barkhouse) When reading a file the magic number for encryption was included in the file length. (Antonio Colombo) The quickfix window contained leading whitespace and NULs for multi-line messages. (David Harrison) "make install" didn't install the indent and settings files. ACL support didn't work under Windows 95, could cause a crash. Only load the advapi library on Windows NT and 2000. (Brent Fulgham) When using cscope, redundant tags were removed. This caused a numbering problem, because they were all listed. Don't remove redundant cscope tags. (David Bustos). Win32: Buffer overflow when adding a charset name in a font. Cscope: Test for which matches are in the current buffer sometimes failed, causing a jump to another match than selected. (David Bustos) When deleting a line at the end of the file, folds would not be updated correctly. Setting 'foldexpr' and 'foldmethod' from a FileType autocmd event didn't make the folds updated when using a ":bn" command. 'titlestring' and 'iconstring' were evaluating an expression in the current context, which could be a user function, which is a problem for local variables vs global variables. Win32 GUI: Mapping didn't work. Now handle SHIFT and CTRL in _OnSysChar(). Win32 GUI: (on no file), :vs:q left a trail of pixels down the middle. Could also happen for the ruler. screen_puts() didn't clear the right char in ScreenLines[] for the bold trick. GUI: With vertical splits the left&right scrollbars could both belong to one window. Win32: ":%!sort|uniq" didn't work, because the input file name touches the "|". Insert a space before the "|". ":silent let" made Vim hang. OS/2: Expanding wildcards included non-existing files. Caused ":runtime" to fail, which caused syntax highlighting to fail. ":set go+=ga" kept duplicate 'g'. Doing "65535p" with a single character at end of file, didn't scroll to show part of the long line. Only in compatible mode. When 'equalalways' is off, closing the help window could mess up other window positions. Changing indent could be very slow, especially when using folding. Don't set the indent by deleting and inserting separate characters. Call changed_lines() only once for re-indenting several lines. The configure check for GTK put the linker options -L after the -l ones, and before the object files. That doesn't always work. Moved the GTK and Gnome linker options to after the object files, first the -L and then the -l ones. Mac: Also accept tags files in DOS format. (Axel Kielhorn) Pasting a register containing CTRL-R on the command line could cause an endless loop that can't be interrupted. Now it can be stopped with CTRL-C. Epilogue -------- WARNING: This is really an unstable version. Many things have been added without proper testing. It does crash. It may destroy your work. This version is for developers, thus it comes as source code only. If you run into something that doesn't work, please try to figure out why, try to solve it and send me a patch. If you can't do that, at least send me precise information to save me time. If you don't like the syntax of a command, the name of an option or how the new features work, let's discuss this in the vim-dev maillist. More info for the new 6.0 features at ":help version6". Lots of things are not working yet. Check ":help todo" for known items. I NEED YOUR HELP: There is still a lot of work to be done. If I have to do it all by myself it will take a very long time until Vim.6.0 is ready. Please give a hand by implementing one of the items in the todo list. You can find it here: ftp://ftp.vim.org/pub/vim/unreleased/ unix/vim-6.0i-rt.tar.gz runtime files unix/vim-6.0i-src.tar.gz sources extra/vim-6.0i-extra.tar.gz extra files extra/vim-6.0i-lang.tar.gz multi-language files Happy Vimming!