Subject: Vim 6.0o alpha available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 03 Dec 2000 23:32:32 +0100

Yet another Vim in the 6.0 series.

Warning: The functions to read and write files have been changed.  They
have been tested, but keep a backup copy of your files, just in case.

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

Added the 'bomb' option and "ucs-bom" in 'filecharcodes': Detect a Unicode BOM
at the beginning of the file.  When found it's removed and the 'bomb' option
set.  When writing a file the BOM is inserted.  Especially useful on
MS-Windows (NT and 2000), which uses ucs-2le files with a BOM (e.g., when
exporting the registry).  Added test42 to check this.

When reading a Unicode file while 'charcode' is "latin-1", and iconv() is not
available, do internal Unicode to Latin-1 conversion.  Again, this is useful
on MS-Windows.

Added ":windo" and ":bufdo" commands: Execute a command in all windows or
buffers.

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

Changed "ucs-2l" to "ucs-2le" and "ucs-2b" to "ucs-2be".  These appear to be
the standard names.  Same for the "ucs-4" ones.

Made ":map" also list buffer-local mappings.

CTRL-G CTRL-J can be used for CTRL-G j, because it's too easy to keep the Ctrl
key pressed.  Same for CTRL-G CTRL-K.

Changed the codes used to get termcap entries directly from xterm.  The names
are now hex encoded and the response includes the name.  Requires a patched
xterm-148.

Syntax items can have the "extend" argument to undo the effect of a "keepend"
argument of an item it is contained in.  Makes it possible to have some
contained items extend a region while others don't.

":echomsg" and ":echoerr": Like ":echo" but store the message in the history.
(Mark Waggoner)

":messages" prints a message about who maintains the messages or the
translations.  Useful to find out where to make a remark about a wrong
translation.
Added src/po/README.txt file, to explain a few things about translation.
Added src/po/cleanup.vim to make it easy to remove non-translated message.
Re-generating a .po file is now done for one file only, instead of all files
together.

Italian menu translations. (Antonio Colombo)

--disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun
Nam)

":verbose {cmd}": set the 'verbose' option for one command.

When moving over a closed fold with a cursor-up command, go to the first line
of the fold. (Tim)

VMS: set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy)

catalog.vim syntax file (Johannes Zellner)

When no --enable-xim argument is given, automatically enable it when a X GUI
is used.  Required for dead key support (and multi-byte input).

Fixes
-----

After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all
characters are redrawn with the right background.

When doing "make test" without +eval or +windows feature, many tests failed.
Now have test1 generate a script to copy the correct output, so that a test
that doesn't work is skipped.

Running test40 caused a beep, because a CR was used in the last line.

On FreeBSD the Perl interface added "-lc" to the link command and Python added
"-pthread".  These two don't work together, because the libc_r library should
be used.  Removed "-lc" from Perl, it should not be needed.
Also: Add "-pthread" to $LIBS, so that the checks for functions is done with
libc_r.  Sigaltstack() appears to be missing from libc_r.

The Syntax sub-menus were getting too long, reorganized them and added another
level for some langauges.

CTRL-G j and CTRL-G k in Insert mode didn't move to the right column when Tabs
are present.

Crashed when using an ambiguous user command.

Added a trick to avoid the "might be clobbered by `longjmp'" warning from gcc
in vim_regexec_both(). (Sung-Hyun Nam)

Python: Using exceptions crashed Vim. (Paul Moore)

Visual block "r"eplace didn't work well when a Tab is partly included.
(Matthias Kramm)

When yanking a Visual block, where some lines end halfway the block, putting
the text somewhere else doesn't insert a block.  Padd with spaces for missing
characters.  Added "y_width" to struct yankreg. (Matthias Kramm)

When using 'virtualedit' and typing a "$" in Visual mode, the current column
was used for all lines, instead of having the selection continue until the EOL
in each line. (Matthias Kramm)

If a substitute string has a multibyte character after a backslash only the
first byte of it was skipped. (Muraoka Taro)

Win32: Numeric keypad keys were missing from the builtin termcap entry.

Motif: The vertical scrollbars were positioned a bit too low.

When a file was read-only ":wa!" didn't force it to be written. (Vince Negri)

Amiga: A file name starting with a colon was considered absolute but it isn't.
Amiga: ":pwd" added a slash when in the root of a drive.

When using an xterm that supports requesting termcap entries, the more-prompt
and ATTENTION dialog used the response as typed characters.  Fixed
get_keystroke() to ignore K_IGNORE and check for termcodes each time.

Don't let 'ttymouse' default to "dec" when compiled with dec mouse support.
It breaks the gpm mouse (Linux console).

The prototypes for the Perl interface didn't work for threaded Perl.  Added a
sed command to remove the prototypes from proto/if_perl.pro and added them
manually to if_perl.xs.

When ":w!" resets the 'readonly' option the title and status lines were not
updated.

":args" showed the current file when the argument list was empty.  Made this
work like Vi: display nothing.

"99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode.
Don't set v:count when executing a stuffed command.

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

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

Happy Vimming!