Subject: Vim version 6.0ad ALPHA available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 29 Apr 2001 22:50:14 +0200

It's now much easier to switch to another color scheme.  If you have a nice
color setup, try creating a color scheme and send it to the maillist.  I
intend to add a number of them in the distribution.  ":help colorscheme".

If you use the multi-byte features, please read the updated help file.  It
should be more readable now.  But check for mistakes and missing items.
":help multibyte".

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

Support for loading a color scheme.  Added the ":colorscheme" command.
Automatically add menu entries for available schemes.
Should now properly reset the colors when 'background' or 't_Co' is changed.

Updated many syntax files to work both with Vim 5.7 and 6.0. (done by the
syntax file maintainers)

When starting the GUI when there is no terminal connected to stdout and
stderr, display error messages in a dialog.  Previously they wouldn't be
displayed at all.

"make doslang" in the top directory makes an archive with the menu
translations and .mo files for Windows.  This uses the files generated on
Unix, these should work on MS-Windows as well (needs to be tested). 

Updated the documentation for multi-byte.  Removed some parts which were not
needed for Vim.

Added IDs to many error messages.  They are also present as tags in the
on-line help.  Makes it easier to find the relevant explanation in the docs.

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

Renamed "menutrans" to "menutranslate".  Shouldn't make any difference for
existing scripts.

When the "iconv" library is available include in the linker line, also when
iconv() would work without it.  Makes it being used also when the default
libraries include some iconv().  Helps for Solaris where the GNU iconv library
was installed.

For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
Also for ":ruby". (Benoit Cerrina)

When a function doesn't take arguments, let completion add () instead of (.

Make 'autoread' local-global.  Thus a buffer can have an 'autoread' value
different from the global.

Made ":syn include" use 'runtimepath' when the file name is not a full path.

Added "time" argument to ":language" to set the language for strftime()
separately.  Added the v:lc_time variable to access the current value.

When 'switchbuf' contains "split" and the current window is empty, don't split
the window.

Diff: Made default char for deleted lines "-".  And allow using a space, so
that a background color only can be used.

Added more option settings to the default menus.

'cindent': support declaration lines ending in "," and "\".  (Meikel
Brandmeyer)

Fixes
-----

When Vim was called "editor" or "ex" it behaved like "evim".  Made the check
for the command name a bit strickter.

Unix: When catching a deadly signal and we keep getting one use _exit() to
exit in a quick and dirty way.

When using a user command it was not possible to obtain more lines (from the
script or from the user).  A user command for "if" didn't work.

Win32: Looking for a user defined toolbar bitmap appended "..bmp" instead of
".bmp". (Marius Gedminas)

When using ":2cn" the highlighting in the quickfix window for the current
error was wrong. (David Bustos)

Athena menu ordering didn't work correctly. (David Harrison)

Athena and Motif: when changing 'toolbar' before the GUI was started caused a
crash.

Athena: When 'T' is removed from 'guioptions' in the .gvimrc file, a tiny
empty toolbar would show up, overlapping the text area.

Multi-byte: When 'cmdheight' is 2 typing a double-wide character at the end of
the command line, causing a scroll, the character wasn't displayed.

Win32: When using the file browser a few characters were written beyond
allocated memory.  Could cause various problems, including a crash.

Win32 console: When gaining input focus and there is something that requires a
redraw, the redraw wasn't done until the next character is typed.

A ":make" or ":grep" command with a long argument could cause a crash.

'cindent':
- A case statement inside a do-while loop was used for indenting a line after
  the do-while loop. (Meikel Brandmeyer)
- When skipping a string in a line with one double quote it could continue in
  the previous line. (Meikel Brandmeyer)

vimdiff:
- When making or undoing a change the folds were not updated properly.
- When making or undoing a change that removed the difference the text was
  highlighted as if it was inserted.
- When using ":diffput" and there are filler lines at the top of the window
  these were not removed.
- when there are no differences there would be no folds.  That is
  inconsistent, now fold the whole file.

Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new
window.

GTK: When starting the GUI and there is an error in the .vimrc file, don't
present the wait-return prompt, since the message was given in the terminal.

When there was an error in a .vimrc file the terminal where gvim was started
could be cleared.  Set msg_row in main.c before writing any messages.

GTK and X11 GUI: When trying to read characters from the user (e.g. with
input()) before the Vim window was opened caused Vim to hang when it was
started from the desktop.

Athena and Motif: Changing a toolbar item tooltip while Vim was running didn't
work.

With two windows and 'mousefocus' set, moving the mouse to change the focus
and then a right click started dragging the status line.

GUI: Using a "-u NORC" argument caused the GUI to complain that the "NORC"
file couldn't be loaded.

OS/390 uses 31 bit pointers.  That broke some computations with MAX_COL.
Reduce MAX_COL by one bit for OS/390. (Ralf Schandl)

When using a ":highlight link" command for one of the internally used
highlight groups, the used color wasn't updated until another ":highlight"
command that defines new colors.

UTF-8: When a three-byte character had two bytes at the end of a read block,
it would be seen as an illegal character, causing the fileencoding to fall
back to latin1.

Was requesting termresponse when output is not a tty.  Made the response end
up in the output file or on the display.

Ruby: Could crash when passing a non-string argument to ":rubydo".

When defining a function and it already exists, Vim didn't say it existed
until after typing it.  Now do this right away when typing it.

Motif: inputdialog() didn't remove the selection when moving the cursor.

The message remembered for displaying later (keep_msg) was sometimes pointing
into a generic buffer, which might be changed by the time the message is
displayed.  Now make a copy of the message.

Epilogue
--------

WARNING: This is really an unstable version.  Many things have been added
without proper testing.  It does crash.  It may destroy your work.  New
features may change incompatibly in the next version.

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.

More info about the new 6.0 features with ":help version6".

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.

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 Vim 6.0 here: ftp://ftp.vim.org/pub/vim/unreleased/

unix/vim-6.0ad-rt.tar.gz	runtime files
unix/vim-6.0ad-rt.tar.bz2	same, compressed with bzip2
unix/vim-6.0ad-src.tar.gz	sources
unix/vim-6.0ad-src.tar.bz2	same, compressed with bzip2

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

Happy Vimming!