Subject: Vim version 6.0ap BETA available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 29 Jul 2001 17:48:32 +0200

Yes, this is the first BETA for Vim 6.0.  I did make a few last-minute
changes, thus I'll wait a couple of days before announcing it outside vimdev.

Going beta means I'll drastically cut down on including new
features.  Finding and fixing problems is the main work now.  One
item that might still be added is making "--remote" work with OLE,
so that we can discard "SendToVim.exe" and "EditWithVim.exe".

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

GTK: Support running Vim inside another window.  Uses the --socketid argument
(Neil Bird)  Doesn't work perfectly yet, but it's a good start to use Vim
inside another application.

Unix: remote server commands: (Flemming Madsen)
- Added the --remote-wait argument: Edit the file in another Vim and wait for
  it to finish.
- Added functions to evaluate an expression in another Vim.
- Added functions to send a message from the server back to the client.
- Removed the ":serversend" and ":serverlist" commands, they have been
  replaced with functions.

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

Don't let a ":lmap" apply to already mapped keys.  Avoids that a mapping like
":map n /[<CR>" remaps "[" again.

MS-Windows install and uninstall:
- NSIS: Let install.exe add the uninstall registry entry.
- DJGPP: Also removes the uninstall registry key.

Made "~" on multi-byte characters that have a third case ("title case") switch
between the three cases. (Raphael Finkel)

New syntax files:
eterm	    Eterm configuration (Nikolai Weibull)
natural	    Natural (Marko Leipert)

When a ":cd" command was typed, echo the new current directory. (Dan Sharp)

Writing 'makeef' in the current directory fails in a read-only directory and
causes trouble when using ":grep" on all files.  Made the default empty for
all systems, so that a temp file is used.

Win32: Added possibility to load TCL dynamically. (Muraoka Taro)
Also for Borland 5.5. (Dan Sharp)

Various performance improvements:
- Win32: When a file name doesn't end in ".lnk" don't try resolving a
  shortcut, it takes quite a bit of time.
- Don't update the mouse pointer shape while there are typeahead characters.
- Change META[] from a string into an array, avoids using strchr() on it.
- Don't clear the command line when adding characters, avoids that screen_fill
  is called but doesn't do anything.

Added the +vreplace feature.  It is disabled in the "small" version to avoid
that the 16 bit DOS version quickly runs out of memory (it still does though).

Fixes
-----

When reloading a file that was changed outside of Vim, and the buffer was
empty, the last line was missing.  When the reloaded file is shorter could get
ml_get errors when the cursor is beyond the new end of the file.

In runtime/mswin.vim CTRL-Y was mapped to redo.  This broke using CTRL-Y to
copy the modeless selection.  Removed the mapping for CTRL-Z and CTRL-Y in the
command line.

When using <C-RightMouse> a count was discarded.

When typing CTRL-V and <RightMouse> in the command line, would insert
<LeftMouse>.

Using "vis" or "vas" when 'selection' is exclusive didn't include the last
character.

When using "precedes" in 'listchar' and 'list' is on, the highlighting for a
tab would be wrong.

When adding to an option like 'grepprg', leading space would be lost.  Don't
expand environment variables when there is no comma separating the items.

When jumping to an error and already there, a fold wouldn't open. (Mary Ellen
Foster)  Preserve "KeyTyped" when filling the quickfix buffer, otherwise the
fold also won't open.

Win32: Exiting with changes gives a dialog box with "Yes" highlighted, but
Cancel was the default action (when hitting enter). (Michael Schaap)

When using ":s" to replace a multi-line match and the "c" flag is used, could
delete too many lines.

Using 'o' in 'mouseshape didn't work, the shape was only updated when moving
the mouse around.  The 'e' flag didn't work at all.

GUI: When using a bold-italic font, would still use the bold trick and
underlining.

Motif: The default button didn't work in dialogs, the first one was always
used.  Had to give input focus to the default button.

When using CTRL-T to jump within the same file, the '' mark wasn't set.

Undo wasn't Vi compatible when using the 'c' flag for ":s".  Now it undoes the
whole ":s" command instead of each confirmed replacement.

The Buffers menu, when torn-off, disappeared when being refreshed.  Add a
dummy item to avoid this.

Removed calling msg_start() in main(), it should not be needed.

Multi-byte with 'rightleft': a double-wide character was displayed at the
wrong position.

With 'rightleft' a line that just doesn't wrap caused an empty line to appear.

When using "+=" to add to 'fileencodings' no comma was inserted.

vim_strpbrk() did not support multibyte characters. (Muraoka Taro)

Motif: Changing the Tooltip font caused a crash. (David Harrison)

":hardcopy" with a range that didn't include any text caused a crash. (Vipin
Aravind)

Win32: When printing duplex and the number of pages is odd, the first page of
a second copy could be put on the back of the last page of the first copy.
Duplexing with uncollated copies was wrong.

Mac: Several prototypes were missing. (Axel Kielhorn)

The Amiga version didn't compile, the code was too big for relative jumps.
Moved a few files from ex_docmd.c to ex_cmds2.c

Win32: The vimtutor entry in the start menu didn't work.  It started gvim.bat
instead of gvim.exe.  Set the working directory to make it find gvim.exe.

Epilogue
--------

WARNING: This is 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.

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

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.

You can find Vim 6.0 here: ftp://ftp.vim.org/pub/vim/unreleased/

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

Various:
extra/vim-6.0ap-extra.tar.gz	extra files
extra/vim-6.0ap-lang.tar.gz	multi-language files
doc/vim60aphtml.zip		help files converted to HTML

MS-Windows:
pc/gvim60ap.exe			self-installing, includes runtime files
pc/vim60aprt.zip		runtime files
pc/vim60aplang.zip		extra files for translated messages and menus
pc/gvim60ap.zip			GUI binary for Windows 95/98/NT/2000
pc/gvim60apole.zip		GUI binary with OLE support
pc/gvim60ap_s.zip		GUI binary for Windows 3.1
pc/vim60apd16.zip		16 bits real mode - works on any system
pc/vim60apd32.zip		32 bits protected mode - needs 386 and DPMI
pc/vim60apw32.zip		console version for Windows NT/2000/XP
pc/vim60apsrc.zip		sources for PC (with CR-LF)

Amiga:
amiga/vim60aprt.tgz		runtime files
amiga/vim60apbin.tgz		binaries
amiga/vim60apsrc.tgz		sources packed for Amiga

OS/2:
os2/vim60aprt.zip		runtime files
os2/vim60apos2.zip		binaries

Happy Vimming!