Subject: Vim version 6.0at BETA available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Mon, 27 Aug 2001 21:57:51 +0200

This is the fifth BETA for Vim 6.0.  Again a number of problems were fixed.

All the pending items have been done.  It's now really bug fixing only!
I expect the 6.0 release in just a few weeks now.  Please try to find every
bug, documentation mistake, omission, etc.

I noticed that some people didn't report problems, assuming someone else would
do that.  Well, if you still see a problem now, apparently nobody reported it
yet, so you better do that _now_!

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

On MS-Windows, when compiled with gettext support, detect the language and set
$LANG to get the appropriate translated messages (if supported).  Removed the
message box in NSIS that suggests to set $LANG manually.  Also use $LANG to
select a menu language, v:lang is a very different kind of name.

Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto)

Added the "[c" and "]c" commands to move to the next/previous change in diff
mode.

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

Made the default mappings for <S-Insert> in Insert mode insert the text
literally, avoids that special characters like BS cause side effects.

Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's
consistent with Insert mode.

Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro Matsumoto)

Added lispindent() and cindent() functions: Can be used from an indent script.

PostScript printing supports underlining and background colors.  Improved the
produced output.  Added the $VIMRUNTIME/procset.ps file.  Made it possible to
compile with PostScript printing on MS-Windows. (Mike Williams)

Added "jobsplit" to 'printoptions': Make each copy a new job, for N-up
printing.  For Win32: Add the progress status to the Cancel message box.
(partly by Vipin Aravind)

Cleaned up names of variables used for X11 resources.  Removed a few unused
global variables.

Fixes
-----

The Motif version with normal features didn't compile.

Unix: Installing the icons ignored $DESTDIR.

Win32 GUI: The tooltip for tear-off items remained when the tear-off item was
no longer selected.

Win32 client-server:
- GUI: The --remote command wasn't handled until the mouse pointer was moved
  over the window.  (Paul Moore)
- Console: The --remote command wasn't handled until after a delay.
- Evaluating an expression didn't work.
- Console: Use the input buffer instead of the typeahead buffer to avoid
  problems.

GUI: When typing ":" at the more prompt, would return to Normal mode and not
redraw the screen.

When in diff mode and moving over a large number of filler lines, the scroll
binding could be wrong.  CTRL-U, CTRL-D and CTRL-F could get stuck at one
position near a large number of filler lines.
In diff mode, in a block of changed lines, an inserted line was not
highlighted as being inserted.

When starting Vim with an argument "-c g/at/p" the printed lines would
overwrite eachother.

BeOS: Didn't compile.  Configure didn't add the os_beos files, the QNX check
removed them.  Various changes to os_beos.cc. (Joshua Haberman)
Removed the check for the hardware platform, the BeBox has not been produced
for a long time now.

Win32 GUI: don't use a message box when the shell returns an error code,
display the message in the Vim window.

Make_mvc.mak always included "/debug" for linking.  "GUI=no" argument didn't
work.  Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp)

The BufWinLeave event was triggered when a buffer was wiped out that was not
displayed in a window.

When a line in the tags file ended in ;" (no TAB following) the command would
not be recognized as a search command.

Refreshing the Buffers menu caused unlisted buffers to appear.

Motif and Athena: The menu font did not adjust to the locale.  Now it uses a
default fontset that should work. (David Harrison)

X11: The inputMethod resource never worked.  Don't use the "none" input method
for SGI, it apparently makes the first character in Input method dropped.

Calling foreground() when the GUI is not running caused a crash.

When using ":mkview", would add ":2next", which doesn't always work.  Now only
add that when the view is part of a session.

When 'list' and 'hlsearch' are on, searching for a character at the end of the
line caused a space after the "$" to be highlighted.

Fixed incorrect tests in os_mac.h. (Axel Kielhorn)

Win32 console: When the console where Vim runs in is closed, Vim could hang in
trying to restore the window icon. (Yasuhiro Matsumoto)

The gzip.vim plugin used ":set ma", which changed the global default for the
'modifiable' option.  Use ":setlocal ma" instead.

When using ":silent ts" would wait for the user to type a number, but the
prompt wasn't displayed.  Fixed a few other places to skip getting a response
or reset msg_silent to force getting a prompt.

When swapping screens, starting Vim halfway the xterm, the cursor was moved to
the bottom line after exiting.

When using ":3call func()" or ":3,3call func() the line number was ignored.

When hitting CR in the quickfix window, would display the error message, even
though it's already visible in the error window.

Using "vim >& file" made Vim hang, it would not read from stdin if stdout
isn't connected to a tty.

Ruby: the if_ruby.o file was not put in the objects directory.

Vimdiff: After ":diffput" undo was not synced in other windows, would undo all
":diffput" commands at once.
":diffput" below a filler line didn't update the following diff blocks
correctly.  Could result in another diff block in the next line to be put as
well.

Use "int_u" instead of "uint", not all systems have "uint".

For each GUI there were three functions to return color values.  Reduced that
to one and added a generic function to compute the grey level from an RGB
value.

Multi-byte: When 'cpo' contains "$", "cw" that ends on a multi-byte character
put the "$" in the next character.  And it could leave the right halve of a
double-wide character, now it's blanked.  And when typing a single-width
character over a double-width character the right halve would remain.

Unix: When installing the non-GUI version, would still create a link for
"gvimdiff".

":diffpatch" allocated a buffer two bytes too small, could cause a crash.
(Servatius Brandt)  When using a relative file name, would not find the patch
file.

Win32 GUI: When executing an external command failed Vim would hang.

When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes
continued until the end of the line.

In an ever growing file, was getting "file changed" dialogs over and over.

Folds were not updated correctly when using markers and deleting a line with
an end marker just above the start of another fold at the same level.

When 'virtualedit' is "block" or "all", using "I#" when the selected block
starts on a TAB didn't work correctly.

Using 'virtualedit' in Insert mode: When typing at the end of the line a
character replaced the last one in the line.

When using ":map <silent>" that includes inputdialog(), the prompt would not
be given until a <BS> is used.

Using ":startinsert" in a vimrc file didn't work.

VisVim: When using a BufRead autocommand with a system() call, the connection
between Visual studio and gvim didn't work, got "server busy" errors.  Was
caused by the wait for the system command dropping messages other than repaint
messages.

Epilogue
--------

WARNING: This is still an unstable version.  Most functionality should work
fine, but in some cases it might crash or even destroy your work.

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 let me
know exactly how to reproduce the problem.

More info about the new 6.0 features with ":help version6".  Or look here:
http://vim.sf.net/whyvim.php.

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.

You can find Vim 6.0 here: ftp://ftp.vim.org/pub/vim/unreleased/
More information about downloading: http://vim.sf.net/download.php

Unix:
unix/vim-6.0at.tar.bz2		sources + runtime files, bzip2 compressed
unix/vim-6.0at-rt1.tar.gz	runtime files part 1
unix/vim-6.0at-rt2.tar.gz	runtime files part 2
unix/vim-6.0at-src1.tar.gz	sources part 1
unix/vim-6.0at-src2.tar.gz	sources part 2
unix/vim-6.0as-6.0at.diff.gz	diff between 6.0as and 6.0at

Various:
extra/vim-6.0at-extra.tar.gz		extra files
extra/vim-6.0at-lang.tar.gz		multi-language files
extra/vim-6.0as-6.0at-extra.diff.gz	extra diff
extra/vim-6.0as-6.0at-lang.diff.gz	multi-lang diff
doc/vim60athtml.zip			help files converted to HTML

MS-Windows:
pc/gvim60at.exe			self-installing, includes runtime files
pc/vim60atrt.zip		runtime files
pc/vim60atlang.zip		extra files for translated messages and menus
pc/gvim60at.zip			GUI binary for Windows 95/98/NT/2000
pc/gvim60atole.zip		GUI binary with OLE support
pc/gvim60at_s.zip		GUI binary for Windows 3.1
pc/vim60atd16.zip		16 bits real mode - works on any system
pc/vim60atd32.zip		32 bits protected mode - needs 386 and DPMI
pc/vim60atw32.zip		console version for Windows NT/2000/XP
pc/vim60atsrc.zip		sources for PC (with CR-LF)

Amiga:
amiga/vim60atrt.tgz		runtime files
amiga/vim60atbin.tgz		binaries
amiga/vim60atsrc.tgz		sources packed for Amiga

OS/2:
os2/vim60atrt.zip		runtime files
os2/vim60atos2.zip		binaries

Happy Vimming!