Subject: Vim 6.0j alpha available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 22 Oct 2000 22:20:34 +0200

Yet another Vim in the 6.0 series.

Major changes
-------------

Plugin support has been improved.  More items can now be local to a
script.  See ":help write-plugin" for a comprehensive explanation.
It still looks a bit complicated.  If you have suggestions how to make
this simpler, let us know!

Relevant new items are:
- <unique> argument to ":map": only add a mapping when it wasn't defined
  before.
- Made s: script variables usable in the functions defined in the script
  (and in functions defined by those functions).
- Added <SID> Script ID, used to define functions and mappings local to
  a script.
- When executing an autocommand or user command, set its context for
  <SID> and s:var to the script where it was defined.  Makes it possible
  to call local script functions and use mappings with <SID>.
- User commands can be local to a buffer: ":command -buffer".
- Added <script> argument to ":noremap" and ":noremenu": Only remap
  script-local mappings.  Avoids that mappings from other scripts get in
  the way, but does allow using mappings defined in the script.

The default digraphs now correspond to RFC1345.  Most are different from
what was used in Vim 5.x.  Do we care about this incompatibility?

When compiling with multi-byte support a long list of Unicode digraphs
is included.
Allow defining digraphs for multi-byte characters with ":digraph".

Other changes
-------------

The default for 'backupcopy' for Unix in Vi compatibility mode is now "yes".
That's how the original Vi did it, it may make a difference in rare
situations.

The window title uses "=" for a readonly file instead of "RO".  Looks better.

Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron)

Win32: When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME.
(Craig Barkhouse)

mode() function: Return a string that indicates the current mode.
exists() can also be used to check for Ex commands.

When doing ":wall" or ":wqall" and a modified buffer doesn't have a name,
mention its buffer number in the error message.

":function Name" lists the function with line numbers.  Makes it easier to
find out where an error happened.

Fixes
-----

Win32: Writing a file on Win NT failed, the ACL stuff was wrong. (Paul Moore)
Compiling with Mingw didn't work, added an #ifdef for defining HAVE_ACL.
When opening the library or getting the function addresses doesn't work, don't
enable the ACL stuff.

hasmapto() didn't return zero when it should.

Using <Leader> or <LocalLeader> twice caused a memory allocation error.

The intro screen had trailing NUL characters, displayed as blue blocks.

When calling a function that has a line number argument, Vim could crash.

When 'verbose' is set, a message for file read/write could overwrite the
previous message.
When 'verbose' is set, the header from ":select" was put after the last
message.  Now start a new line.

The hit-return prompt reacted to the the response of the t_RV string, causing
messages at startup to disappear.

When t_Co was set to 1, colors were still used.  Now only use color when t_Co
> 1.

Listing functions with ":function" didn't quit when 'q' or ':' was typed at
the more prompt.

When using 'hlsearch' with a multi-line regexp, a change in the text that
removes a match didn't remove the highlighting from previous lines.

Using saved states for syntax highlighting was done in a wrong way.  ":syn
minlines" wasn't obeyed when scrolling backwards.

"keepend" wasn't always working in syntax regions.

When using "-complete=buffer" with ":command" the buffer name was replaced
with a count for the buffer number.

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.0j-rt.tar.gz		runtime files
unix/vim-6.0j-src.tar.gz	sources

extra/vim-6.0j-extra.tar.gz	extra files
extra/vim-6.0j-lang.tar.gz	multi-language files

Happy Vimming!