Subject: Vim 6.0l alpha available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 05 Nov 2000 21:30:56 +0100

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!