Subject: Vim version 6.0ah ALPHA available
From: Bram Moolenaar <[email-masked]>
To: [email-masked]
Date: Sun, 27 May 2001 21:15:27 +0200

I have started working on the user manual.  The first
few chapters are there, still a lot of work to do.

The installation program for MS-Windows has been changed,
but not tested.  Be careful with it.

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

The Win32 install program can now create shortcuts. (Jon Merz)
Made it possible to generate a single-package Vim installer. (Jon Merz)
Still some things to do there!

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

Made ":hi clear" only reset the default colors.  Use ":syntax reset" to reset
the syntax colors.  This leaves the user defined colors alone.  Useful for the
color scheme files.  Avoids that user-defined highlighting is removed.

Unix: Catch SIGPWR to preserve files when the power is about to go down.

Printing: (Vince Negri)
- 'printerheader' option using 'statusline' format.
- 'printername' option to define default printer for :harcopy!
- Implemented "wrap:no" option in 'printersettings'
- Removed some irritating compiler warnings on Win16 build.
- Rolled back hardcopy font for win32 console to hard-coded Courier for now.
- Fixed :hardcopy error messages for Win16.
- Added "N" field to 'statusline' options (needed for printer headers)
- Don't show printer dialogue if running vim over telnet.

Added "--cmd {command}" Vim argument to execute a command before a vimrc file
is loaded. (Vince Negri)

Added "v:progname", name with which Vim was started. (Vince Negri)

Added ":leftbelow" and ":belowleft": split left/below current window (like
'splitbelow'/'splitright' is set)
Added ":rightabove" and ":aboveright": split right/above current window.

When dropping a shortcut on gvim (.lnk file) edit the target, not the shortcut
itself.  (Yasuhiro Matsumoto)  Doesn't work for for editing a shortcut yet.

Fixes
-----

Virtual edit: (Chase Tingley)
- "x" on a control character didn't move the cursor.
- Inserted spaces for some operators even when failing.
- 'r' didn't work in virtual space off the end of a line.
- Made "w_virtcol" include "coladd", simplifies the code and avoids a problem
  with using CTRL-E/CTRL-Y in Insert mode.
- Visual selection after the end of the line wasn't highlighted.

GTK: Underlining multi-byte text continued on following characters.

The ":=" command didn't accept a range and didn't work when 'modifiable' was
not set.

im_set_active() was defined twice in gui_w32.c. (Muraoka Taro)

Deleted gui_vms_conf.h, it's not used.

When the Normal cterm background color is set, silently executing ":grep"
could cause the screen to be cleared with the wrong color.

When typing a UTF-8 character with a following composing character and then a
character without a composing character, the previous composing character
could be displayed again (when 'ruler' is off).

When 'term' is "linux", setting a string option to its default value always
resulted in "dark".

When 'wildignore' contains "*~" it was impossible to edit a file ending in a
"~".  Now don't recognize a file ending in "~" as containing wildcards.

Diff mode: when scrolling down some lines were sometimes not displayed.

"ls -1 * | xargs vim" worked, but the input was in cooked mode.  Now switch to
raw mode when needed.  Use dup() to copy the stderr file descriptor to stdin
to make shell commands work.  No longer requires an external program to do
this.

Made 'indentkeys' accept "0=then" (typed "then" as the first thing in a line,
ignoring white space).

Make_ming.mak didn't work with different shells. (Benoit Cerrina)

When a window is zero columns wide, the redraw flag was not reset.  Caused
a later redraw to be skipped.

When deleting the last listed buffer, a window with an unlisted buffer (e.g.,
a help window) could be closed.

When double clicking on a ")" and 'selection' is "exclusive" the () were not
included.  The button-up event included any following ")".

When displaying multi-byte text that removes a bold character a zero could be
placed in ScreenLines[]. (Yasuhiro Matsumoto)

When using ":e ++enc=ucs-bom" memory could be freed that wasn't allocated,
resulting in a crash.

When not executing commands (e.g., after "while 0") a ":put" command still
gave a warning in a file where 'modifyable' is off.

When 'insertmode' is set, using ":normal" could cause an endless loop of
beeps.  Let vgetc() return CTRL-L instead of Esc when 'insertmode' is set.
Don't go to Insert mode inside a ":normal" command.

When creating a fold that starts halfway an existing fold, the start of that
existing fold was changed (in a wrong way).  Now change the start of the new
fold to start at the same place as the existing fold.

Epilogue
--------

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

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.

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.

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 Vim 6.0 here: ftp://ftp.vim.org/pub/vim/unreleased/

unix/vim-6.0ah-rt.tar.gz	runtime files
unix/vim-6.0ah-rt.tar.bz2	same, compressed with bzip2
unix/vim-6.0ah-src.tar.gz	sources
unix/vim-6.0ah-src.tar.bz2	same, compressed with bzip2

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

Happy Vimming!