Subject: Vim version 6.0ae ALPHA available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 06 May 2001 20:23:22 +0200

The usual bunch of changes and fixes.  I tried to finish
the items that change translated items.  This should be
the last big bunch of changes for the translators.

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

Added runtime/macros/less.vim: Vim script to simulate less, but with syntax
highlighting.  It's not good enough to function as a less replacement though.

Added ID to many error messages.  Will make it easier to find help for them.
Especially when they have been translated.

The Syntax menu is now pre-generated by a separate script.  Makes loading the
menu 70% faster.  This can halve the startup time of gvim.

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

Removed expandpath(), globpath() does the same (and without the bugs).

":highlight clear" now resets highlighting back to the default colors.

The aliases for 'encoding' names has been changed to remove the aliases for
encodings that are similar, like cp932 and shift-jis.

Only add the Edit.Keymap menu when there are keymaps.
Finished updating the menus with settings.  Moved the font selection to the
Edit menu, together with the other settings.  Added accelerators.

Folding: Allow moving around in Insert mode without opening folds.  Open fold
when typing something or when "insert" is included in 'foldopen'.

Made the 'toolbar' option work for Athena and Motif.  Can now switch between
text and icons on the fly.  (David Harrison)

Added argidx() function: Current index in argument list.

Added Command-line completion for ":colorscheme".
Added "default" color scheme, so that users can go back to this and use it as
an example.

Allow setting 'browsedir' to the name of a directory, to be used for the file
dialog. (Dan Sharp)

Make 'cindent' use 'comments' a bit better. (Meikel Brandmeyer)

Make it possible to translate the dialogs used by the menus.  Uses global
"menutrans_" variables.  ":menutrans clear" deletes them.

Support "CursorIM" for XIM.  (Nam SungHyun)

Can use ":browse" for ":diffpatch".
In diff mode: show filler lines below the last line of the file.
Added a test for the "diff" program working and producing the expected output.
Otherwise you just end up with no differences without a warning.

Use ":setlocal autoread<" to go back to using the global value for autoread'.

Updated po files for message IDs with a script. (Matt Dunford)

UTF-8: Added a check for non-printable and zero-width characters.  They are
displayed as <xxxx>.  Sending them to a utf-8 terminal would have
unpredictable results.

When giving the ATTENTION message and the date of the file is newer than the
date of swap file, give a warning about this.

Fixes
-----

Folding:
- "o" on a line with {{{ and }}} created a new fold.
- Setting 'foldlevel' from a modeline could cause a crash. (Nam SungHyun)
- When inserting the foldmarker {{{ the new fold would be closed.  Now always
  open a fold at the cursor after inserting a character.

Athena used INT_MAX, which isn't available on all systems.

When using ":normal" and the characters at the end are the start of a mapping
would not return those characters.

X11 GUI: gui_mch_menu_set_tip() could be used when it was not defined.

Win32 GUI: In diff mode, dragging the scrollbar didn't update the scrollbound
windows.

When using multi-byte characters in a menu and a trailing byte is a backslash,
the menu would not be created correctly.  (Muraoka Taro)
Using a multibyte character in the substitute string where a trail byte is a
backslash didn't work.  (Muraoka Taro)

The code for ":match" highlighting could cause a crash.

Workshop:
- Didn't compile, balloonEval wasn't defined in option.c.
- Removed C++ style comments from integration.c.

Don't include the encoding name for the keymap menu entries.

When trying to preserve files and exit cleanly for a caught deadly signal, the
check for the stack limit could cause using a regexp to fail.  Reset the stack
limit when using the signal stack.

":set syntax=ON" didn't work, ended up with no syntax highlighting.

When setting "t_Co" in a vimrc file, then setting it automatically from an
xterm termresponse and then setting it again manually caused a crash.

":hi clear" didn't undo menu and scrollbar coloring for Athena and Motif.

When redirecting stderr but not starting the GUI, the messages were never
displayed.

With a vertically split window, one with 'rightleft' set and scrollbinding
active, scrolling caused wrong characters to appear.

When getting the value of a string option that is not supported, the number
zero was returned.  This breaks a check like "&enc == "asdf".  Now an empty
string is returned for string options.

Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting
'title' in the gvimrc and starting the GUI with ":gui".  Closed the connection
to the X server accidentally.

Virtualedit: (Chase Tingley)
- Made 'a', 'A', 'i', 'D', 'C', and 'R' work correctly in virtualedit mode.
- Made 'R' not insert spaces immediately, but wait until characters are typed.
- Fixed behavior of 'r' and 'R' when used on the first character of a tab.
- Made 'R' break tabs correctly when they are encountered later in the line.
- Fixed obscure bug with 'wrap' and 'virtualedit' that allowed movement

Athena and Motif: When changing the toolbar color, reload the pixmaps to set
their background color.

Had to hit return after selecting an entry for ":ts".

The message from ":cn" message was sometimes cleared.  Now display it after
redrawing if it doesn't cause a scroll (truncated when necessary).

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.0ae-rt.tar.gz	runtime files
unix/vim-6.0ae-rt.tar.bz2	same, compressed with bzip2
unix/vim-6.0ae-src.tar.gz	sources
unix/vim-6.0ae-src.tar.bz2	same, compressed with bzip2

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

Happy Vimming!