Subject: Vim 6.0y alpha available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 18 Mar 2001 21:32:26 +0100

Again many changes for multi-byte characters, watch out for problems
in that area.  Pattern matching has also been changed quite a bit.

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

Motif and Athena now use the system default colors for the menu and scrollbar.
Removed the "CDE colors" feature, it's no longer needed.  It's still possible
to set the colors with ":highlight" commands and resources.

X11: Support for the clipboard selection as register "+.  When exiting or
suspending copy the selection to cut buffer 0.  Should allow copy/paste with
more applications in an X11-standard way.  (Neil Bird)

Patterns:
Should now work properly with all kinds of multi-byte characters.
Added "\%#": Match with the cursor position. (Chase Tingley)
Added "\?": Just like "\=" but can't be used in a "?" command.
Added "\v" and "\V": makes following characters "very magic" or "very
nomagic".
Added "\%23l": match in line 23, "\%<23l": match before line 23 and "\%>23l":
match after line 23.
Added "\%23c", "\%<23c" and "\%>23c": match in/before/after column 23.
Added "\%23v", "\%<23v" and "\%>23v": match in/before/after virtual column 23.
Note that when matching with a position the highlighting isn't always updated
automatically.

Added a "containedin" argument to syntax items.  Allows adding a contained
item to an existing item (e.g., to highlight a name in a comment).

Allow ambiguous mappings.  Thus "aa" and "aaa" can both be mapped, the longest
matching one is used.  Especially useful for ":lmap" and 'keymap'.

Made it possible to have vimtutor use different languages.  Spanish and
Italian translations are included. (Eduardo Fernandez)

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

":syntax on" was not backwards compatible.  Changed it back to how it was.
Now use ":syntax enable" to switch on syntax highlighting without changing the
colors.  Use ":syntax reset" to reset the colors to their defaults.

Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems.

GUI: After a file selection dialog, check that the edited files were not
changed or deleted.  The Win32 dialog allows deleting and renaming files.

Afrikaans message translations and menu file. (Danie Roux)

Motif and Athena: Added support for "editres". (Martin Dalecki)

Motif: Added "menuFont" to be able to specify a font or fontset for the menus.
Useful when the locale is different from 'encoding'. (David Harrison)

Added the ":wincmd" command: Execute a Window (CTRL-W) command.  Useful when
a Normal mode command can't be used (e.g., for a CursorHold autocommand).
See ":help CursorHold-example" for a nice application with it.

Multi-byte: When $LANG is "ja_JP.EUC" set 'encoding' to "euc-jp".  Similar for
other ".EUC" values.

When closing a window, avoid that the cursor lands in the preview or quickfix
window.

When looking for a matching buffer name, for example with ":buf main", first
try finding listed buffers, then unlisted buffers.  Accept a match with a
listed buffer also when there are matches with unlisted buffers.

Highlight the <> items in the intro message to make clear they are special.

When using the "c" flag for ":substitute", allow typing "l" for replacing this
item and then stop: "last".

Fixes
-----

Cleaned up the code that does regexp matching on multiple lines. (Chase
Tingley)  Also fixes a problem of a search using the 'iskeyword' option from
another buffer.

Multi-byte:
- When 'termencoding' is different from 'encoding' and iconv() is used to
  convert characters, an illegal sequence would stop the conversion and
  further characters were not displayed at all.  Now replace with a "?" and
  continue.
- Completion in Insert mode didn't work for multi-byte 'encoding'.
- Win32: Typing Alt-key when 'encoding' is "utf-8" didn't work right.
- Win32: compilation problems when using IME. (Muraoka Taro)
- Win32: crash when outputting certain multi-byte characters. (Muraoka Taro)
- GUI: "lmap a ^V05db" didn't work, the second byte is a CSI which had to be
  escaped.
- Many items for pattern searching.
- When searching for "\<" in utf-8 text, 'hlsearch' highlighting didn't stop.
- Searching for "\>" got stuck in utf-8 text at end-of-line.

When switching on the GUI, previously defined mappings that contain a CSI
became invalid.

":let &g:opt = val" and ":let &l:opt = val" didn't work. (Sung-Hyun Nam)
":let x = &l:opt" and ":let x = &g:opt" also didn't work.

'linespace' was changed when setting 'compatible'.  That doesn't make sense,
removed this.

For the 16 bit Windows version the toolbar was never used.

Win32 GUI: The default for 'guioptions' included the 'a' flag, which caused
text to be automatically copied to the clipboard.

"make uninstall_runtime" tried removing directories below the
"runtime/ftplugin" directory, these don't exist anymore.

When hitting <CR> in the quickfix window, the highlighting of the current item
wasn't updated. (Mary Ellen Foster)

When compiling workshop.c with Motif 2.1, some Motif 1.1 code was used. (David
Harrison)

GUI: When increasing the value of 'lines', the windows would not always be
redrawn correctly.  Could be seen in the Motif GUI when there is a vertical
split.

When doing a replace with the "c"onfirm flag, the cursor was positioned after
the ruler, instead of after the question.  With a long replacement string the
screen could scroll up and cause a "more" prompt.  Now the message is
truncated to make it fit.

When doing Insert mode completion, the first found match wouldn't be displayed
until the last one was found.

Motif: The autoconf check for the Xp library didn't work.

When messages are being translated, the version number in the intro screen
could be positioned wrong. (Danie Roux)

The src/proto/os_vms.pro file was being generated in the wrong directory.

Displaying colors 16 and higher in a 88 or 256 color xterm didn't work.

When 'verbose' is set to list lines of a sourced file, defining a function
would reset the counter used for the "more" prompt.

When using "=" in Visual mode and only part of the lines are changed, didn't
remove the highlighting from the last line.

When using iconv() on a Win32 system where the iconv.dll can't be found
crashed Vim.  Now first check if the dll can be opened.

In the Win32 find/replace dialog, a '/' character caused problems.  Escape it
with a backslash.

VMS: added VMS-specific defaults for the 'isfname' and 'isprint' options.
(Zoltan Arpadffy)

":call search("$")" positioned the cursor beyond the end of the line.

Starting a shell with ":sh" was different from starting a shell for CTRL-Z
when suspending doesn't work.  They now work the same way.

Jumping to a file mark while in a changed buffer gave a "mark not set" error.

In "rightleft" mode, "x" deleted char right of cursor instead of under it.

":execute histget("cmd")" causes an endless loop and crashed Vim.  Now catch
all commands that cause too much recursiveness.

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

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

Happy Vimming!