Subject: Vim 6.0h alpha available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Thu, 31 Aug 2000 22:51:04 +0200

Yet another Vim in the 6.0 series.  It will be at least a month until the next
one (I'm going on holidays).

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

There is now the possibility to auto-indent for any language:
- Added the 'indentexpr' option: Expression which is evaluated to get the
  indent for the current line.
- ":filetype indent on": Automatically load indent files from the "indent"
  directories in 'runtimepath'.
- Added "=word" to 'cinkeys' option, to be able when to re-indent after typing
  (part of) a word.
See ":help indent-expression".

There is one example file for indenting Vim scripts: runtime/indent/vim.vim.  
Please attempt to create an indent file for your favorite language.  I would
suggest exchanging them on vim-dev for a few weeks, so that we can see if this
new feature works well.

While you are at it, also try writing a settings file for the language.  See
":help filetype-settings".  To make this a bit easier the "<Map>" special key
was added.  In a mapping "<Map>" can be used to get the value of the
"localmapchar" variable.  This simplifies mappings that use "localmapchar".
"<Map>" defaults to ",".  See runtime/settings/mail.vim for an example.

Allow writing to a device (on Unix, MS-DOS and MS-Windows).
Added Access Control List (ACL) support for FreeBSD and Win32.  Mostly
untested.  Still needs more work!

Minor changes
-------------

":drop" now expands its arguments like ":next".

Values for local window options are now saved for each window-buffer
combination.  This solves the problem that window-local options were lost when
'hidden' is set and doing CTRL-^.  E.g. on fold.c the options set from the
modeline are gone.

The 'lisp', 'smartindent' and 'cindent' options are not switched off when
'paste' is set.  The auto-indenting is disabled when 'paste' is set, but
manual indenting with "=" still works.

Execute 'foldexpr' and 'indentexpr' in a sandbox.  Don't allow them to change
text, external commands, write files, etc.

New functions: getfsize() stridx() strridx() toupper() tolower() (Utz-Uwe
Haus)

Changed GvimExt again to do the "Edit in existing Vim" in a much simpler way.
(Tianmio Hu)

The number of marks kept in the jumplist has been increased from 50 to 100.

Fixed redraw problem after undo: Two separate changes that delete lines.

Fixed hang in syntax syncing for Perl.

Unix: ":e`" caused a crash (but not on every system).

Rxvt sends a termresponse whith a high version number.  Don't mistake this for
a recent xterm version.  Could cause the termcap requests to show up in the
display.

Fixed: When re-using the current buffer for a new buffer, buffer-local
variables were not deleted.

Fixed: Search for /[a][^a]/ didn't work (range followed by complement of
range).

Fixed redraw problems when in 'compatible' mode and displaying a dollar for a
change.

Fixed: 'langmap' interfered with mouse and cursor keys, because of the
negative value of special keys.

Fixed crash when translated message for executing autocommands is a bit long.

Fixed syntax highlighting error when deleting a line below another changed
line.

GUI fixed: when 'scrolloff' is 0 dragging the mouse above the window didn't
cause a down scroll.  Now pass on a mouse event with mouse_row set to -1.

GUI fixed: ptys didn't work on HP-UX 10.20. (David Green)

GUI fixed: Scrollbars would sometimes disappear when vertically splitting a
window or closing a vertically split window.

Fixed: ":map" listed mappings with K_SPECIAL codes in multi-byte characters
wrong.

Fixed: Backspacing in Replace mode didn't display the un-replaced characters.

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

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

Happy Vimming!