Subject: Vim 6.0q alpha available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 17 Dec 2000 21:34:26 +0100

Yet another Vim in the 6.0 series.

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

The 'buftype' option is now only used to specify the type of the buffer.
Whether a buffer is deleted or hidden when abandoned is now specified with
the new 'bufhidden' option and 'swapfile' is used to disable the swap file.
This makes specifying buffer behavior more straightforward.

The 'bufhidden' option can be used to overrule the global 'hidden' option for
one buffer.  It can also be set to "delete" to have the buffer deleted when
it's abandoned.  Use this with 'buftype' set to "nofile" or "nowrite" for a
scratch buffer.

The 'buftype' option can be set to "nowrite" to specify a buffer that has a
file name but will not be written.  Useful for the file explorer.  The
"nofile" and "nowrite" buffers will not have a swap file, unless using a lot
of memory.

Added the 'modifiable' option.  When is off it is impossible to make changes
to a buffer.  Used for help files.

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

The default for 'filecharcodes' is now "ucs-bom".  This will make editing
Unicode files possible even when 'charcode' is Latin-1.  Esp. useful for
Windows NT/2000 users.

For syntax files that source another syntax file, use ":runtime
syntax/file.vim" instead of ":source <sfile>:p:h/file.vim".  This will find a
syntax file added by the user.

Added the "g'm" and "g`m" commands: Jump to a mark without changing the
jumplist.  Now you can use g`" to jump to the last known position in a file
without side effects.  Also useful in mappings.

Win32 with Mingw: compile with iconv library. (Ron Aaron)
Win32 with MSVC: dynamically load the iconv.dll library. (Muraoka Taro)

Added "-S session.vim" argument: Source a script file when starting up.
Convenient way to start Vim with a session file.

Also accept "--noplugin" (without 's').  I typed it wrong several times.

Win32: When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr
too.  Also check for the Unix shell names.

Added function executable(name): checks if a program or batch script can be
executed.  Used for the gzip plugin.

Fixes
-----

When Vim was compiled without menu support, filetype.vim was still trying to
source the menu.vim script. (Rafael Garcia-Suarez)

Some versions of iconv() are broken.  They set the output pointer to NULL when
producing the initial shift state.  Added a check for this to avoid using this
version of iconv().

When writing a file and conversion wasn't possible, there was no message.  Now
fail to write, unless ! is used and then say "NOT converted".

":ptag" added an item to the tag stack.

Closing or quitting a scratch buffer while 'hidden' was set didn't delete it.

Win32 IME: "gr" didn't use IME mode.

Win32: On multi-byte Unicode characters the cursor was drawn too wide.

GTK GUI: a tiny scrollbar might pop up when splitting a window.  Create the
scrollbar without showing it.

The "config.mk.dist" file was not included, which broke "make unixsrc" in the
top directory.  Now include this file, and copy it to generate a clean
auto/config.mk file.

In the "vim --help" message the term "options" was used for arguments.  That's
confusing, call them "arguments".

dosinst.c had "exit()", should be "exit(1)". (Ferenc Deak)

When there are two windows, and a BufUnload autocommand for closing window #1
closed window #2, Vim would crash.

When resetting 'modified', the title would still show a "+".

When there is a preview window and only one other window, ":q" wouldn't exit.

When jumping between windows, and resizing the current window for 'winheight',
the quickfix window could be made smaller.  Now keep it's size when possible.

When using ":help" the preview window height would be halved.  When closing
the help window the preview window would become very high.  Now keep the
preview window height when possible.

":s/$/^M^M/" appended one newline and one ^M.  Should be two newlines.

When using "!silent cmd" with a file I/O command, msg_scroll would be set
which causes the next "/word" command to scroll up.

In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed.

When a digraph is a multi-byte character, while not in multi-byte mode, it was
truncated to 8 bits.  Now behave like no digraph was defined.

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

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

Happy Vimming!