Subject: Vim version 6.0av BETA available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Mon, 10 Sep 2001 00:24:35 +0200

Yet another BETA for Vim 6.0.  Just bug fixes this time, and quite a lot
of them.  Some bugs were already present in Vim 5.8...

Keep on trying to find every bug, documentation mistake, omission, etc.
I want the 6.0 release to be very reliable (don't you?).

I noticed that a few 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_!

Changes
-------

For MS-Windows use a Czech message file in cp1250 encoding.  It is slightly
different from the iso-8859-2 encoded file.  The conversion is done
automatically, like for ja.sjis.po.

The "file=" argument for the ":sign" command is difficult to use.  Added
"buffer=" to use a buffer number.

Fixes
-----

PostScript printing: (Mike Wiliams)
- Landscape wasn't handled properly (esp. when using Ghostview).
- Control characters were not printed at all, now they are encoded.  Added
  $VIMRUNTIME/eviso.ps, evwin.ps and evmac.ps.
- Collate was default off.
- Cleaned up the code.
- Made it work for EBCDIC.  Added $VIMRUNTIME/evebcdic.ps.
- ":hardcopy" did not expand ~/ and $VAR in the file name after ">".
- When using 8 colors, PostScript printing would use the wrong colors.

Command modifiers didn't work right:
- They continued to work in the next command, e.g., "verbose set verbose |
  set verbose".
- There was no check for a following command in many cases.  This failed: "if
  0 | silent cmd | endif".

Client-server:
- Win32: The reply from server to client was not freed, memory leaked. (Paul
  Moore)
- Win32: remote_send() did not ignore case of server name.
- Win32: "--remote" did not bring the GUI vim to the foreground.  Now it's
  done when the server name starts with "g".
- Win32: Hotkeys brought gvim to the front, but didn't always give it focus.
  Apparently the focus went to the message window.  Create it as a popup
  window to avoid that.
- GTK: When 'i' was not included in 'guioptions', the client-server code would
  not work.
- Translated error messages were not displayed correctly, because has_mbyte
  wasn't set yet.  Moved the code to after calling set_init_1().
- The third argument of remote_send() didn't work.
- When using --remote-wait and executing locally, there would be an error
  message for the client ID to be zero each time when leaving a file.  Also,
  when executing locally, gvim would fork, which is not expected.

When using an item in 'guicursor' that starts with a colon, Vim would get
stuck or crash.

When using ":w" for a file in a non-existent directory, could get error E166
instead of E212.  A variable wasn't initialized.

A syntax "match" could not span more than one line, it was truncated.

When putting a file mark in a help file and later jumping back to it, the
options would not be set.  Extended the modeline in all help files to make
this work better.

When a modeline contained "::" the local option values would be printed.  Now
ignore it.

Win32: When using VisVim.mak, VSVTypes.h was not generated and the included
version of the file was wrong.  Don't include the file in the distribution, so
that it's always generated.  Same for VisVim_i.c.  Also removed VisVim.dsp,
VisVim.mak can be imported into DevStudio.

When starting with "vim -u NONE", doing ":help" and then ":syntax enable"
there was no highlighting in the help file, because 'filetype' is set manually
and is not detected.  Now always set 'syntax' to 'filetype'.

When 'virtualedit' is set, selecting a block just after the end of the line,
"Ax<Esc>" didn't position the "x" correctly in following lines. (Chase
Tingley)

When 'virtualedit' is used, moving with "$" and then "rx" replaced the whole
block instead of until the end of the line in each line. (Chase Tingley)

Some help files did not use a 8.3 names, which causes problems when using
MS-DOS unzip.  Renamed "multilang.txt" to "mlang.txt", "multibyte.txt" to
"mbyte.txt", "rightleft.txt" to "rileft.txt", "tagsearch.txt" to "tags.txt",
"os_riscos.txt" to "os_risc.txt".

On IRIX the XIM caused the problem that the CTRL key didn't work.  Now don't
open XIM when XSetLocaleModifiers() fails. (David Harrison)

The "compiler" directory was missing in the Win32 self-installing executable.

When aborting a ":" command with CTRL-C while it doesn't start in the normal
row (e.g., 'ch' is 2 and CTRL-D used), a following ":" command in a mapping
would start in that line instead of the first cmdline row.
   
When Visual mode is blockwise, using "iw" or "aw" made it characterwise.  That
doesn't seem right, only do this when in linewise mode.  But then do it
always, not only when start and end of Visual mode are equal.

Win32 with IME: the mode message could sometimes appear in the wrong position.
(Muraoka Taro)

Athena and Motif: When allocating a pixmap fails (e.g., could not allocate
the colors) would crash when setting "insen", it can be NULL.

It was not possible to use a non-fixed-width font for menu and tooltips.
(David Harrison)

EBCDIC: '007' was used for ringing the bell, it's different for EBCDIC.
(Anthony Giorgio)

When using "viw" on a single-letter word and 'selection' is exclusive, would
not include the word.

When doing ":only", local window options for buffers in other windows were
lost.  For example 'foldmethod'.  Now also store the option values for a
window that is closed and isn't the current window.

With 'cmdheight' set to 2, when using CTRL-G twice with a file name long
enough to cause a wrap, would start the second message in the second line.

Could leak memory when setting 'clipboard' to a wrong value.

The default value for 'clipboard' was not effective, it worked like it was
empty.

The Win32 version didn't compile with small or tiny features.

When 'encoding' is "utf-8", highlighting an extra character after the line
could show the wrong character.

When reloading the file after it has been changed outside of Vim, it could
still be modified and could undo changes (which didn't work correctly).

UTF-8: When 'ignorecase' is set, searching for text with composing characters
would not check if the composing characters match.

XIM: When typing <Esc> in Insert mode has a timeout, and within that time
focus is lost, XIM would be disabled.  Get the IM status right after getting a
character, not after the timeout.

When using a regexp pattern with "\@<!" that includes ".*" it would be
extremely difficult to make it and at the current position.  Now add an atom
internally to make it end there.

In diff mode, when using CTRL-B and reaching the top of the file, the number
of filler lines was not reset, causing a problem on the next CTRL-B.

When formatting text from Insert mode, using CTRL-O, could mess up undo
information.

While writing a file (also for the backup file) there was no check for an
interrupt (hitting CTRL-C).  Vim could hang when writing a large file over a
slow network, and moving the mouse didn't make it appear (when 'mousehide' is
set) and the screen wasn't updated in the GUI.  Also allow interrupting when
syncing the swap file, it can take a long time.

When using ":mksession" while there is help window, it would later be restored
to the right file but not marked as a help buffer.  ":help" would then open
another window.  Now use the value "help" for 'buftype' to mark a help buffer.

The session file contained absolute path names in option values, that doesn't
work when the home directory depends on the situation.  Replace the home
directory with ~/ when possible.

When 'mousemodel' is "popup", Shift-Ctrl-leftmouse would extend the modeless
selection from the cursor position.  That doesn't make sense, let it start a
new modeless selection.

When setting diff mode, sometimes an old fold method (e.g., set by an
autocommand) would still be active.

OS/390: Adjusted configure to make building with X11 work.  Check if
environment variables are set correctly for cc. (Ralf Schandl)

Test 45 used CTRL-H to delete a character, that doesn't work everywhere.

GTK: "gvim --display" dumped core, was using T_TI when it wasn't initialized.

Win32: Buffers menu "Refresh" made the tearoff item disappear.  The tearoff
was not enabled when adding an item in a specific mode.

":set noea", ":botright vnew" added a vertical separator on the right side.

When using 'showbreak' a TAB just after the shown break would not be counted
correctly, the cursor would be positioned wrong.

With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting
tabs did not work right.  Could cause a crash.  Backspacing was also wrong,
could get stuck at a line break.

Window resizing problem: Vertical split, horizontal split in right frame with
preview window, 2 CTRL-W - made right frame smaller, status line was split.

Win32: crashed when tearing off a menu with over 300 items.

Win32: Using file name expansion on a dir that includes "~" made Vim hang.

Win32: Would not always find the libintl.dll library, also search in the
directory where gvim.exe is.

When doing ":saveas foobar", the Buffers menu was not updated.  Now make the
old file name listed, and trigger the BUFADD autocommand event.

"make text" caused the user's viminfo file to be clobbered.

Athena: Removed the Find and Replace toolbar items, they did not work.

GUI: A menu or toolbar item would appear when only a tooltip was defined for
it.

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.0av.tar.bz2		sources + runtime files, bzip2 compressed
unix/vim-6.0av-rt1.tar.gz	runtime files part 1
unix/vim-6.0av-rt2.tar.gz	runtime files part 2
unix/vim-6.0av-src1.tar.gz	sources part 1
unix/vim-6.0av-src2.tar.gz	sources part 2
unix/vim-6.0au-6.0av.diff.gz	diff between 6.0at and 6.0av

Various:
extra/vim-6.0av-extra.tar.gz		extra files
extra/vim-6.0av-lang.tar.gz		multi-language files
extra/vim-6.0au-6.0av-extra.diff.gz	extra diff
extra/vim-6.0au-6.0av-lang.diff.gz	multi-lang diff
doc/vim60avhtml.zip			help files converted to HTML

MS-Windows:
pc/gvim60av.exe			self-installing, includes runtime files
pc/vim60avrt.zip		runtime files
pc/vim60avlang.zip		extra files for translated messages and menus
pc/gvim60av.zip			GUI binary for Windows 95/98/NT/2000
pc/gvim60avole.zip		GUI binary with OLE support
pc/gvim60av_s.zip		GUI binary for Windows 3.1
pc/vim60avd16.zip		16 bits real mode - works on any system
pc/vim60avd32.zip		32 bits protected mode - needs 386 and DPMI
pc/vim60avw32.zip		console version for Windows NT/2000/XP
pc/vim60avsrc.zip		sources for PC (with CR-LF)

Amiga:
amiga/vim60avrt.tgz		runtime files
amiga/vim60avbin.tgz		binaries
amiga/vim60avsrc.tgz		sources packed for Amiga

OS/2:
os2/vim60avrt.zip		runtime files
os2/vim60avos2.zip		binaries

Happy Vimming!