From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim 6.0l alpha available Date: Sun, 05 Nov 2000 21:30:56 +0100 Message-Id: <200011052030.VAA16557@moolenaar.net> Yet another Vim in the 6.0 series. Major changes ------------- Added "gzip.vim" and "explorer.vim" as standard plugins. Allows editing compressed files and browsing directories. Multi-byte: - When converting between 'filecharcode' and 'charcode' Use iconv() when it's available. Avoids using an external filter. - Implement 'filecharcodes': When the first charcode causes a conversion error, the next one is tried. - When conversion is used, add [converted] to the file message. When conversion was not possible, add [NOT converted]. - Added check for illegal UTF-8 byte sequence. When 'charcode' is "utf-8" and 'filecharcodes' is "utf-8,latin-1" this will automatically switch to latin-1 if a file does not contain valid UTF-8. Added "default" argument for ":highlight". When included, the command is ignored if highlighting for the group was already defined. All syntax files now use ":hi default ..." to allow the user to specify colors in his vimrc file. Also, the "if did_xxx_syntax_inits" is not needed anymore. This greatly simplifies using non-default colors for a specific language. Most Normal mode commands that accept a character argument, like "r", "t" and "f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain Vi compatible. Other changes ------------- When using the "-u vimrc" argument, plugins are still loaded. A double-click of the mouse on a character that has a "%" match selects from that character to the match. Similar to "v%". The help items for syntax files are now tagged with "-syntax" instead of ".vim", because the indent and filetype plugins use "-indent" and "-plugin". Made enabling the SNiFF+ interface possible with a Configure argument. Win32: Dynamically load Perl and Python. Allows compiling Vim with these interfaces and will try to find the DLLs at runtime. (Muraoka Taro) In non-blockwise Visual mode, "r" replaces all selected characters with the typed one, like in blockwise Visual mode. When doing ":help tag", don't open help.txt first, jump directly to the help tag. It's faster and avoids an extra message. Configure now always checks /usr/local/lib for libraries and /usr/local/include for include files. Helps finding the stuff for iconv() and gettext(). ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim default. Useful to set 'cpo' to its Vim default without knowing what flags that includes. Performance and memory usage improvement: When calling u_save with a single line, don't save it if the line was recently saved for the same undo already. 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the window. Fixes ----- When using a script that appends one character at a time, the amount of allocated memory was growing steadily. Also when 'undolevels' is -1. Caused by the line saved for "U" never to be freed. Now free an undo block when it becomes empty. Using CTRL-V with the "r" command with a blockwise Visual selection inserted a CTRL-V instead of getting a special character. Double-byte characters were displayed wrong and caused the cursor to be placed in a wrong position. When an UTF-8 file contained three composing characters on a row, the cursor wouldn't move over them. Two commands were missing in if_sniff.c. "make uninstall" tried removing the runtime directory too early, when it wasn't empty. Win32 console: mch_init() wasn't defined. Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE after -lXdmcp. Should fix link problem on HP-UX 10.20. Don't remove the last "-lm" from the link line. Vim may link but fail later when the GUI starts. When the shell returns with an error when trying to expand wildcards, do include the pattern when the "EW_NOTFOUND" flag was set. When expanding wildcards with the shell fails, give a clear error message instead of just "1 returned". Crash with these commands: ":set winminwidth=0", "CTRL-W v", "CTRL-W |", "CTRL-W =". When displaying a long wrapped line with the first part not visible: - Mouse click didn't work. - When moving into the first part of the line that would fit in the window the whole first part was made visible. 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.0l-rt.tar.gz runtime files unix/vim-6.0l-src.tar.gz sources extra/vim-6.0l-extra.tar.gz extra files extra/vim-6.0l-lang.tar.gz multi-language files Happy Vimming!