From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim 6.0p alpha available Date: Sun, 10 Dec 2000 22:16:19 +0100 Message-Id: <200012102116.WAA34366@moolenaar.net> Yet another Vim in the 6.0 series. Mostly bug fixes this time. Warning: The functions to read and write files have been changed again. They have been tested, but keep a backup copy of your files, just in case. Major changes ------------- Added the ^ mark: Position where Insert mode stopped last time. Added the "gi" command: Jump to the ^ mark and start Insert mode. Also works when the mark is just after the line. This command should help for Insert mode mappings that leave Insert mode, do something and want to resume insertion at the same position. Added the . mark: Position of the last change. Store the ^ and . marks in the viminfo file. Makes it possible to jump to the last insert position or last changed text. Added the 'debug' option. When set to "msg" it will print error messages that would otherwise be omitted. Useful for debugging 'indentexpr' and 'foldexpr'. Other changes ------------- Made second argument to search() a list of flags, instead of a number that indicates wrapping at the end of the file. The 'b' flag is used for searching backwards. Win32: ":silent !cmd" no longer prompts to hit return in the DOS window. Trigger the FileChangeRO event before actually making the change. This allows replacing the buffer with a file obtained from RCS without flushing the change. Added the v:cmdarg variable: The "++cc=" and "++ff=" arguments to file read/write commands. Should be used for FileReadCmd autocommands that read/write the file themselves. MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c. Avoids having to change two files for one problem. (Vince Negri) Win32: Typing multibyte characters without IME. (Alexander Smishlajev) Do latin-1 to UTF-8 conversion when writing a file internally. This no longer requires iconv(). Do Unicode to latin-1 conversion internally. iconv() doesn't appear to handle this well (ucs-2le to Latin-1 fails). Also set the '[ and '] marks for the "~" and "r" commands. These marks are now always set when making a change with a Normal mode command. Added exists() check for whether an autocommand exists for a certain event and/or pattern: exists("#event") and exists("#event#pattern"). Use this to skip loading the gzip.vim plugin if an autocommand exists for the BufReadPre event with pattern *.gz. Included various changes from the 5.x branch. Mostly syntax files. Fixes ----- "make test" loaded plugins. Don't do this to avoid that some strange plugin causes problems for the test. ":cd ." gave an error message. Interpret all paths starting with "./" and "../" as absolute, don't use 'cdpath'. VMS: used file_info instead of write_info in buf_write(). Folding: When creating a fold that includes an existing fold, following folds could disappear. Amiga: Could not create a swapfile, because it was opened with O_EXCL, while it was already created when checking for its existence. Amiga: Got a requester for "home:" because it's in the default runtime path. Don't bring up a requester when searching for a file in 'path', sourcing the .vimrc file or using ":runtime". Motif GUI: A scrollbar was created managed, which made it appear with ":split" even when it wasn't enabled. (David Harrison) Win16 and Win32: Considered a file "\path\file" absolute. Can cause the same file to appear as two different buffers. Win32: Renaming a file to an empty string crashed Vim. Happened when using explorer.vim and hitting ESC at the rename prompt. Charcode conversion with 'charconvert' didn't work at all. (Muraoka Taro) Charcode conversion from Latin-1 to UTF-8 wasn't done, file was written in Latin-1. Win32: strftime() crashed when called with a "-1" value for the time. Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not to be found. Cscope sometimes jumped to the wrong tag. (David Bustos) src/po/cleanup.vim was missing from the distribution. Message translation: "make xx.po" didn't work, because the file already exists. Now use "make xx". OS/2: Could not find the tags file. mch_expand_wildcards() added another slash to a directory name. When editing a file "c:\name" the title would show "(c)". Make that "(c:\)". (Craig Barkhouse) Sun Workshop integration: Various fixes. (Gordon Prieur) When setting 'verbose', script-local function names were printed with strange characters. Now print . When iconv() failed while writing, the error message suggested the writing itself failed. When using ">>" the `] mark was not in the last column. ":set =^[b" worked, but then mapping didn't. Use "KS_KEY key" for the termcap entry name instead of "key NUL", to avoid that it's mixed up with another KS_ special key name. ":set termcap" showed a strange code for . 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.0p-rt.tar.gz runtime files unix/vim-6.0p-src.tar.gz sources extra/vim-6.0p-extra.tar.gz extra files extra/vim-6.0p-lang.tar.gz multi-language files Happy Vimming!