This is a BETA version of Vim 5.7. It includes all patches that have been
sent out for 5.6, plus a few extras (new and updated syntax files, docs,
The main reason for bringing out this beta version is that the DOS, Windows
and Amiga versions need testing, since there have been no patches for the
executables. And it doesn't hurt to give all the changes some more testing,
version 5.7 is supposed to be very reliable.
If all goes well, version 5.7 will be released in two weeks.
Note that all the files are under the "unreleased" directory at the ftp site.
There is an alternative way to obtain the latest Vim sources: CVS. You need
the cvs program for this. Info can be found at http://cvs.vim.org
take a day before version 5.7a is available by CVS.
WHERE TO GET IT
You can find Vim 5.7a here:
See this file for Mirrors:
FILE SYSTEM COMMENTS
unix/vim-5.7a-src.tar.gz Unix(*) Sources
unix/vim-5.6-5.7a-src.diff.gz sources diff with version 5.6
unix/vim-5.7a-rt.tar.gz Unix(*) runtime files
unix/vim-5.6-5.7a-rt.diff.gz runtime diff with version 5.6
extra/vim-5.7a-extra.tar.gz Unix(*) Extra sources and docs (Farsi, OLE, VisVim)
extra/vim-5.6-5.7a-extra.diff.gz diff with version 5.6
pc/vim57art.zip Win32 DOS and MS-Windows runtime files
pc/gvim57a.zip Win32 32 bit Windows 95/98/NT GUI binaries.
Recommended for Windows 95/98 and NT. The
best choice for syntax highlighting and
pc/gvim57aole.zip Win32 32 bit Windows 95/98/NT GUI binaries, with
OLE support and VisVim.
pc/gvim57a_s.zip Win32s 32 bit Windows 3.1/3.11 GUI binaries.
pc/vim57aw32.zip Win32 32 bit Windows console binaries.
Recommended for Windows NT, not for 95/98.
Supports long file names.
pc/vim57ad32.zip MS-DOS 32 bit protected mode binaries.
Recommended for MS-DOS, Windows 3.1 and
Windows 95/98 console. It is compiled with
DJGPP, it may need a DPMI driver (CWSDPMI
is included). Supports long file names on
pc/vim57ad16.zip MS-DOS 16 bit real mode binaries.
Runs on most MS-DOS systems, but is
restricted to using 640K memory. Small
version, without e.g., syntax highlighting
pc/vim57asrc.zip PC Sources for PC versions (with CR-LF).
os2/vim57art.zip OS/2 runtime files (same as pc/vim57art.zip)
os2/vim57aos2.zip OS/2 binaries
(use the Unix and extra archives for OS/2
amiga/vim57art.tgz Amiga runtime files
amiga/vim57abin.tgz Amiga Binary
amiga/vim57abig.tgz Amiga Binary with more features
amiga/vim57asrc.tgz Amiga Sources for Amiga
doc/vim57ahtml.zip all Documentation converted to HTML
(*) Also for BeOS, OS/2, VMS, Macintosh and Atari MiNT
The contents of the source archives depends on the specified system. To
obtain the full sources and docs, get the three Unix archives.
system file type Unpack with
Unix file.tar.gz gunzip file.tar.gz; tar xf file.tar
Amiga file.tgz gzip -d file.tgz; tar xf file.tar
PC file.zip pkunzip -d file.zip
WHAT IS NEW
This is the complete list of changes since version 5.6.
New syntax files:
stp Stored Procedures (Jeff Lanzarotta)
snnsnet, snnspat, snnsres SNNS (Davide Alberani)
mel MEL (Robert Minsk)
ruby Ruby (Mirko Nasato)
tli TealInfo (Kurt W. Andrews)
ora Oracle config file (Sandor Kopanyi)
abaqus Abaqus (Carl Osterwisch)
jproperties Java Properties (Simon Baldwin)
apache Apache config (Allan Kelly)
csp CSP (Jan Bredereke)
samba Samba config (Rafael Garcia-Suarez)
kscript KDE script (Thomas Capricelli)
hb Hyper Builder (Alejandro Forero Cuervo)
fortran Fortran (rewritten) (Ajit J. Thakkar)
sml SML (Fabrizio Zeno Cornelli)
cvs CVS commit (Matt Dunford)
aspperl ASP Perl (Aaron Hope)
bc BC calculator (Vladimir Scholtz)
Included Exuberant ctags 3.5.1. (Darren Hiebert)
"display" and "fold" arguments for syntax items. For future extension, they
are ignored now.
strftime() function for the Macintosh.
The 16 bit MS-DOS version is now compiled with Bcc 3.1 instead of 4.0. The
executable is smaller.
When a "make test" failed, the output file was lost. Rename it to
test99.failed to be able to see what went wrong.
After sourcing bugreport.vim, it's not clear that bugreport.txt has been
written in the current directory. Edit bugreport.txt to avoid that.
Adding IME support when using Makefile.w32 didn't work. (Taro Muraoka)
Win32 console: Mouse drags were passed on even when the mouse didn't move.
Perl interface: In Buffers(), type of argument to SvPV() was int, should be
STRLEN. (Tony Leneis)
Problem with prototype for index() on AIX 4.3.0. Added check for _AIX43 in
os_unix.h. (Jake Hamby)
Mappings in mswin.vim could break when some commands are mapped. Add "nore"
to most mappings to avoid re-mapping.
modify_fname() made a copy of a file name for ":p" when it already was a full
path name, which is a bit slow.
Win32 with Borland C++ 5.5: Pass the path to the compiler on to xxd and ctags,
to avoid depending on $PATH. Fixed "make clean".
Many fixes to Macintosh specific parts: (mostly by Dany StAmant)
- Only one Help menu.
- No more crash when removing a menu item.
- Support as External Editor for Codewarior (still some little glitches).
- Popup menu support.
- Fixed crash when pasting after application switch.
- Color from rgb.txt properly displayed.
- 'isprint' default includes all chars above '~'. (Axel Kielhorn)
- mac_expandpath() was leaking memory.
- Add digraphs table. (Axel Kielhorn)
- Multi-byte support: (Kenichi Asai)
Switch keyscript when going in/out of Insert mode.
Draw multi-byte character correctly.
Don't use mblen() but highest bit of char to detect multi-byte char.
Display value of multi-byte in statusline (also for other systems).
Fixes for VMS: (Zoltan Arpadffy) (also see patch 5.6.045 below)
- Added Makefile_vms.mms and vimrc.vms to src/testdir to be able to run the
- Various fixes.
- Set 'undolevels' to 1000 by default.
- Made mch_settitle() equivalent to the one in os_unix.c.
RiscOS: A few prototypes for os_riscos.c were outdated. Generate prototypes
Previously released patches:
Problem: When using "set bs=0 si cin", Inserting "#<BS>" or "}<BS>" which
reduces the indent doesn't delete the "#" or "}". (Lorton)
Solution: Adjust ai_col in ins_try_si().
Problem: When using the vim.vim syntax file, a comment with all uppercase
characters causes a hang.
Solution: Adjust pattern for vimCommentTitle (Charles Campbell)
Problem: GTK GUI: Loading a user defined toolbar bitmap gives a warning
about the colormap. Probably because the window has not been
Solution: Use gdk_pixmap_colormap_create_from_xpm() to convert the xpm file.
Patch 5.6.004 (extra)
Problem: Win32 GUI with IME: When setting 'guifont' to "*", the font
requester appears twice.
Solution: In gui_mch_init_font() don't call get_logfont() but copy
norm_logfont from fh. (Yasuhiro Matsumoto)
Problem: When 'winminheight' is zero, CTRL-W - with a big number causes a
crash. (David Kotchan)
Solution: Check for negative window height in win_setheight().
Problem: GTK GUI: Bold font cannot always be used. Memory is freed too
early in gui_mch_init_font().
Solution: Move call to g_free() to after where sdup is used. (Artem Hodyush)
Patch 5.6.007 (extra)
Problem: Win32 IME: Font is not changed when screen font is changed. And
IME composition window does not trace the cursor.
Solution: Initialize IME font. When cursor is moved, set IME composition
window with ImeSetCompositionWindow(). Add call to
ImmReleaseContext() in several places. (Taro Muraoka)
Files: src/gui.c, src/gui_w32.c, src/proto/gui_w32.pro
Patch 5.6.008 (extra)
Problem: Win32: When two files exist with the same name but different case
(through NFS or Samba), fixing the file name case could cause the
wrong one to be edited.
Solution: Prefer a perfect match above a match while ignoring case in
fname_case(). (Flemming Madsen)
Patch 5.6.009 (extra)
Problem: Win32 GUI: Garbage in Windows Explorer help line when selecting
"Edit with Vim" popup menu entry.
Solution: Only return the help line when called with the GCS_HELPTEXT flag.
Problem: A file name which contains a TAB was not read correctly from the
viminfo file and the ":ls" listing was not aligned properly.
Solution: Parse the buffer list lines in the viminfo file from the end
backwards. Count a Tab for two characters to align the ":ls" list.
Problem: When 'columns' is huge (using a tiny font) and 'statusline' is
used, Vim can crash.
Solution: Limit maxlen to MAXPATHL in win_redr_custom(). (John Mullin)
Problem: When using "zsh" for /bin/sh, toolcheck may hang until "exit" is
Solution: Add "-c exit" when checking for the shell version.
Problem: Multibyte char in tooltip is broken.
Solution: Consider multibyte char in replace_termcodes(). (Taro Muraoka)
Problem: When cursor is at the end of line and the character under cursor
is a multibyte character, "yl" doesn't yank 1 multibyte-char.
Solution: Recognize a multibyte-char at end-of-line correctly in oneright().
Also: make "+quickfix" in ":version" output appear alphabetically.
Problem: New xterm delete key sends <Esc>[3~ by default.
Solution: Added <kDel> and <kIns> to make the set of keypad keys complete.
Files: src/edit.c, src/ex_getln.c, src/keymap.h, src/misc1.c,
src/misc2.c, src/normal.c, src/os_unix.c, src/term.c
Problem: When deleting a search string from history from inside a mapping,
another entry is deleted too. (Benji Fisher)
Solution: Reset last_maptick when deleting the last entry of the search
history. Also: Increment maptick when starting a mapping from
typed characters to avoid a just added search string being
overwritten or removed from history.
Files: src/ex_getln.c, src/getchar.c
Problem: ":s/e/\^M/" should replace an "e" with a CTRL-M, not split the
Solution: Replace the backslash with a CTRL-V internally. (Stephen P. Wall)
Problem: ":help [:digit:]" takes a long time to jump to the wrong place.
Solution: Insert a backslash to avoid the special meaning of ''.
Problem: "snd.c", "snd.java", etc. were recognized as "mail" filetype.
Solution: Make pattern for mail filetype more strict.
Patch 5.6.020 (extra)
Problem: The DJGPP version eats processor time (Walter Briscoe).
Solution: Call __dpmi_yield() in the busy-wait loop.
Problem: When 'selection' is "exclusive", a double mouse click in Insert
mode doesn't select last char in line. (Lutz)
Solution: Allow leaving the cursor on the NUL past the line in this case.
Problem: ":e \~<Tab>" expands to ":e ~\$ceelen", which doesn't work.
Solution: Re-insert the backslash before the '~'.
Patch 5.6.023 (extra)
Problem: Various warnings for the Ming compiler.
Solution: Changes to avoid the warnings. (Bill McCarthy)
Files: src/ex_cmds.c, src/gui_w32.c, src/os_w32exe.c, src/os_win32.c,
Patch 5.6.024 (extra)
Problem: Win32 console: Entering CTRL-_ requires the shift key. (Kotchan)
Solution: Specifically catch keycode 0xBD, like the GUI.
Problem: GTK GUI: Starting the GUI could be interrupted by a SIGWINCH.
Solution: Repeat the read() call to get the gui_in_use value when
interrupted by a signal.
Patch 5.6.026 (extra)
Problem: Win32 GUI: Toolbar bitmaps are searched for in
$VIMRUNTIME/bitmaps, while GTK looks in $VIM/bitmaps. (Keith
Solution: Use $VIM/bitmaps for both, because these are not part of the
distribution but defined by the user.
Files: src/gui_w32.c, runtime/doc/gui.txt
Problem: TCL: Crash when using a Tcl script (reported for Win32).
Solution: Call Tcl_FindExecutable() in main(). (Brent Fulgham)
Problem: Xterm patch level 126 sends codes for mouse scroll wheel.
Fully works with xterm patch level 131.
Solution: Recognize the codes for button 4 (0x60) and button 5 (0x61).
Problem: GTK GUI: Shortcut keys cannot be used for a dialog. (Johannes
Solution: Add support for shortcut keys. (Marcin Dalecki)
Problem: When closing a window and 'ea' is set, Vim can crash. (Yasuhiro
Solution: Set "curbuf" to a valid value in win_close().
Problem: Multi-byte: When a double-byte character ends in CSI, Vim waits
for another character to be typed.
Solution: Recognize the CSI as the second byte of a character and don't wait
for another one. (Yasuhiro Matsumoto)
Problem: Functions with an argument that is a line number don't all accept
".", "$", etc. (Ralf Arens)
Solution: Add get_art_lnum() and use it for setline(), line2byte() and
Problem: Multi-byte: "f " sometimes skips to the second space. (Sung-Hyun
Solution: Change logic in searchc() to skip trailing byte of a double-byte
Also: Ask for second byte when searching for double-byte
character. (Park Chong-Dae)
Patch 5.6.034 (extra)
Problem: Compiling with Borland C++ 5.5 fails on tolower() and toupper().
Solution: Use TO_LOWER() and TO_UPPER() instead. Also adjust the Makefile
to make using bcc 5.5 easier.
Files: src/edit.c, src/ex_docmd.c, src/misc1.c, src/Makefile.bor
Problem: Listing the"+comments" feature in the ":version" output depended
on the wrong ID. (Stephen P. Wall)
Solution: Change "CRYPTV" to "COMMENTS".
Problem: GTK GUI: Copy/paste text doesn't work between gvim and Eterm.
Solution: Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang)
Problem: Multi-byte: Can't use "f" command with multi-byte character in GUI.
Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam)
Files: src/gui_gtk_x11.c, src/multbyte.c
Problem: Multi-clicks in GUI are interpreted as a mouse wheel click. When
'ttymouse' is "xterm" a mouse click is interpreted as a mouse
Solution: Don't recognize the mouse wheel in check_termcode() in the GUI.
Use 0x43 for a mouse drag in do_xterm_trace(), not 0x63.
Files: src/term.c, src/os_unix.c
Problem: Motif GUI under KDE: When trying to logout, Vim hangs up the
system. (Hermann Rochholz)
Solution: When handling the WM_SAVE_YOURSELF event, set the WM_COMMAND
property of the window to let the session manager know we finished
Problem: When using ":s" command, matching the regexp is done twice.
Solution: After copying the matched line, adjust the pointers instead of
finding the match again. (Loic Grenie) Added vim_regnewptr().
Files: src/ex_cmds.c, src/regexp.c, src/proto/regexp.pro
Problem: GUI: Athena, Motif and GTK don't give more than 10 dialog buttons.
Solution: Remove the limit on the number of buttons.
Also support the 'v' flag in 'guioptions'.
For GTK: Center the buttons.
Files: src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c
Problem: When doing "vim -u vimrc" and vimrc contains ":q", the cursor in
the terminal can remain off.
Solution: Call cursor_on() in mch_windexit().
Patch 5.6.043 (extra)
Problem: Win32 GUI: When selecting guifont with the dialog, 'guifont'
doesn't include the bold or italic attributes.
Solution: Append ":i" and/or ":b" to 'guifont' in gui_mch_init_font().
Patch 5.6.044 (extra)
Problem: MS-DOS and Windows: The line that dosinst.exe appends to
autoexec.bat to set PATH is wrong when Vim is in a directory with
an embedded space.
Solution: Use double quotes for the value when there is an embedded space.
Patch 5.6.045 (extra) (fixed version)
Problem: VMS: Various small problems.
Solution: Many small changes. (Zoltan Arpadffy)
File name modifier ":h" keeps the path separator.
File name modifier ":e" also removes version.
Compile with MAX_FEAT by default.
When checking for autocommands ignore version in file name.
Be aware of file names being case insensitive.
Added vt320 builtin termcap.
Be prepared for an empty default_vim_dir.
Files: runtime/gvimrc_example.vim, runtime/vimrc_example.vim,
runtime/doc/os_vms.txt, src/eval.c, src/feature.h, src/fileio.c,
src/gui_motif.c, src/gui_vms_conf.h, src/main.c, src/memline.c,
src/misc1.c, src/option.c, src/os_vms_conf.h, src/os_vms.c,
src/os_vms.h, src/os_vms.mms, src/tag.c, src/term.c, src/version.c
Problem: Systems with backslash in file name: With 'shellslash' set, "vim
*/*.c" only uses a slash for the first file name. (Har'El)
Solution: Fix slashes in file name arguments after reading the vimrc file.
Problem: $CPPFLAGS is not passed on to ctags configure.
Solution: Add it. (Walter Briscoe)
Files: src/config.mk.in, src/Makefile
Problem: CTRL-R in Command-line mode is documented to insert text as typed,
but inserts text literally.
Solution: Make CTRL-R insert text as typed, use CTRL-R CTRL-R to insert
literally. This is consistent with Insert mode. But characters
that end Command-line mode are inserted literally.
Files: runtime/doc/index.txt, runtime/doc/cmdline.txt, src/ex_getln.c,
Problem: Documentation for [!] after ":ijump" is wrong way around. (Benji
Solution: Fix the documentation. Also improve the code to check for a match
after a /* */ comment.
Files: runtime/doc/tagsearch.txt, src/search.c
Problem: Replacing is wrong when replacing a single-byte char with
double-byte char or the other way around.
Solution: Shift the text after the character when it is replaced.
Files: src/normal.c, src/misc1.c
Problem: ":tprev" and ":tnext" don't give an error message when trying to
go before the first or beyond the last tag. (Robert Webb)
Solution: Added error messages. Also: Delay a second when a file-read
message is going to overwrite an error message, otherwise it won't
Files: src/fileio.c, src/tag.c
Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte,
it terminates the command.
Solution: Skip second byte of multi-byte char when checking for '|' and '"'.
Problem: CTRL-] doesn't work on a tag that contains a '|'. (Cesar Crusius)
Solution: Escape '|', '"' and '\' in tag names when using CTRL-] and also
for command-line completion.
Files: src/ex_getln.c, src/normal.c
Problem: When using ":e" and ":e #" the cursor is put in the first column
when 'startofline' is set. (Cordell)
Solution: Use the last known column when 'startofline' is set.
Also, use ECMD_LAST more often to simplify the code.
Files: src/buffer.c, src/ex_cmds.c, src/ex_docmd.c, src/proto/buffer.pro
Problem: When 'statusline' only contains a text without "%" and doesn't fit
in the window, Vim crashes. (Ron Aaron)
Solution: Don't use the pointer for the first item if there is no item.
Patch 5.6.056 (extra)
Problem: MS-DOS: F11 and F12 don't work when 'bioskey' is set.
Solution: Use enhanced keyboard functions. (Vince Negri)
Detect presence of enhanced keybard and set bioskey_read and
Patch 5.6.057 (extra)
Problem: Win32 GUI: Multi-byte characters are wrong in dialogs and tear-off
Solution: Use system font instead of a fixed font. (Matsumoto, Muraoka)
Problem: When the 'a' flag is not in 'guioptions', non-Windows systems
copy Visually selected text to the clipboard/selection on a yank
or delete command anyway. On Windows it isn't done even when the
'a' flag is included.
Solution: Respect the 'a' flag in 'guioptions' on all systems.
Patch 5.6.059 (extra)
Problem: When moving the cursor over italic text and the characters spill
over to the cell on the right, that spill-over is deleted.
Noticed in the Win32 GUI, can happen on other systems too.
Solution: Redraw italic text starting from a blank, like this is already
done for bold text. (Vince Negri)
Files: src/gui.c, src/gui.h, src/gui_w32.c
Problem: Some bold characters spill over the the cell on the left, that
spill-over can remain sometimes.
Solution: Redraw a characters when the next character was bold and needs
redrawing. (Robert Webb)
Problem: When xterm sends 8-bit controls, recognizing the version response
When using CSI instead of <Esc>[ for the termcap color codes,
using 16 colors doesn't work. (Neil Bird)
Solution: Also accept CSI in place of <Esc>[ for the version string.
Also check for CSI when handling colors 8-15 in term_color().
Use CSI for builtin xterm termcap entries when 'term' contains
Files: runtime/doc/term.txt, src/ex_cmds.c, src/option.c, src/term.c,
src/os_unix.c, src/proto/option.pro, src/proto/term.pro
Problem: The documentation says that setting 'smartindent' doesn't have an
effect when 'cindent' is set, but it does make a difference for
lines starting with "#". (Neil Bird)
Solution: Really ignore 'smartindent' when 'cindent' is set.
Files: src/misc1.c, src/ops.c
Problem: Using "I" in Visual-block mode doesn't accept a count. (Johannes
Solution: Pass the count on to do_insert() and edit(). (Allan Kelly)
Files: src/normal.c, src/ops.c, src/proto/ops.pro
Problem: MS-DOS and Win32 console: Mouse doesn't work correctly after
including patch 5.6.28. (Vince Negri)
Solution: Don't check for mouse scroll wheel when the mouse code contains
the number of clicks.
Problem: After moving the cursor around in Insert mode, typing a space can
still trigger an abbreviation. (Benji Fisher)
Solution: Don't check for an abbreviation after moving around in Insert mode.
Problem: Still a few bold character spill-over remains after patch 60.
Solution: Clear character just in front of blanking out rest of the line.
Problem: When a file name contains a NL, the viminfo file is corrupted.
Solution: Use viminfo_writestring() to convert the NL to CTRL-V n.
Also fix the Buffers menu and listing a menu name with a newline.
Files: runtime/menu.vim, src/buffer.c, src/mark.c, src/menu.c
Problem: Compiling the Perl interface doesn't work with Perl 5.6.0.
Solution: Also check xs_apiversion for the version number when prepending
defines for PL_*.
Problem: "go" doesn't always end up at the right character when
'fileformat' is "dos". (Bruce DeVisser)
Solution: Correct computations in ml_find_line_or_offset().
Patch 5.6.070 (depends on 5.6.068)
Problem: Compiling the Perl interface doesn't work with Perl 5.6.0.
Solution: Simpler check instead of the one from patch 68.
Problem: "A" in Visual block mode on a Tab positions the cursor one char to
the right. (Michael Haumann)
Solution: Correct the column computation in op_insert().
Problem: When starting Vim with "vim +startinsert", it enters Insert mode
only after typing the first command. (Andrew Pimlott)
Solution: Insert a dummy command in the stuff buffer.
Patch 5.6.073 (extra) (depends on 5.6.034)
Problem: Win32 GUI: When compiled with Bcc 5.5 menus don't work.
In dosinst.c toupper() and tolower() give an "internal compiler
error" for Bcc 5.5.
Solution: Define WINVER to 4 to avoid compiling for Windows 2000. (Dan
Sharp) Also cleaned up compilation arguments.
Use our own implementation of toupper() in dosinst.c. Use
mytoupper() instead of tolower().
Files: src/Makefile.bor, src/dosinst.c
Patch 5.6.074 (extra)
Problem: Entering CSI directly doesn't always work, because it's recognized
as the start of a special key. Mostly a problem with multi-byte
in the GUI.
Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI,
<xCSI> for a CSI typed in the GUI.
Files: runtime/doc/intro.txt, src/getchar.c, src/gui_amiga.c,
src/gui_gtk_x11.c, src/gui_mac.c, src/gui_riscos.c, src/gui_w32.c,
Problem: When using "I" or "A" in Visual block mode while 'sts' is set may
change spaces to a Tab the inserted text is not correct. (Mike
Steed) And some other problems when using "A" to append after the
end of the line.
Solution: Check for change in spaces/tabs after inserting the text. Append
spaces to fill the gap between the end-of-line and the right edge
of the block.
Problem: GTK GUI: Mapping <M-Space> doesn't work.
Solution: Don't use the "Alt" modifier twice in key_press_event().
Problem: GUI: When interrupting an external program with CTRL-C, gvim might
crash. (Benjamin Korvemaker)
Solution: Avoid using a NULL pointer in ui_inchar_undo().
Problem: Locale doesn't always work on FreeBSD. (David O'Brien)
Solution: Link with the "xpg4" library when available.
Files: src/configure.in, src/configure
Problem: Vim could crash when several Tcl interpreters are created and
Solution: handle the "exit" command and nested ":tcl" commands better. (Ingo
Files: runtime/doc/if_tcl.txt, src/if_tcl.c
Problem: When jumping to a tag, generating the tags file and jumping to the
same tag again uses the old search pattern. (Sung-Hyun Nam)
Solution: Flush cached tag matches when executing an external command.
Files: src/misc2.c, src/proto/tag.pro, src/tag.c
Problem: ":syn include" uses a level for the included file, this confuses
contained items included at the same level.
Solution: Use a unique tag for each included file. Changed sp_syn_inc_lvl
to sp_syn_inc_tag. (Scott Bigham)
Files: src/syntax.c, src/structs.h
Problem: When using cscope, Vim can crash.
Solution: Initialize tag_fname in find_tags(). (Anton Blanchard)
Patch 5.6.083 (extra)
Problem: Win32: The visual beep can't be seen. (Eric Roesinger)
Solution: Flush the output before waiting with GdiFlush(). (Maurice S. Barnum)
Also: Allow specifying the delay in t_vb for the GUI.
Files: src/gui.c, src/gui_amiga.c, src/gui_gtk_x11.c, src/gui_mac.c,
src/gui_riscos.c, src/gui_w32.c, src/gui_x11.c, src/gui_beos.cc,
Patch 5.6.084 (depends on 5.6.074)
Problem: GUI: Entering CSI doesn't always work for Athena and Motif.
Solution: Handle typed CSI as <xCSI> (forgot this bit in 5.6.074).
Problem: Multi-byte: Using "r" to replace a double-byte char with a
single-byte char moved the cursor one character. (Matsumoto)
Also, using a count when replacing a single-byte char with a
double-byte char didn't work.
Solution: Don't use del_char() to delete the second byte.
Get "ptr" again after calling ins_char().
Patch 5.6.086 (extra)
Problem: Win32: When using libcall() and the returned value is not a valid
pointer, Vim crashes.
Solution: Use IsBadStringPtr() to check if the pointer is valid.
Problem: Multi-byte: Commands and messages with multi-byte characters are
Solution: Detect double-byte characters. (Yasuhiro Matsumoto)
Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c
Problem: Multi-byte with Motif or Athena: The message "XIM requires
fontset" is annoying when Vim was compiled with XIM support but it
is not being used.
Solution: Remove that message.
Problem: On non-Unix systems it's possible to overwrite a read-only file
without using "!".
Solution: Check if the file permissions allow overwriting before moving the
file to become the backup file.
Problem: When editing a file in "/home/dir/home/dir" this was replaced with
"~~". (Andreas Jellinghaus)
Solution: Replace the home directory only once in home_replace().
Problem: When editing many "no file" files, can't create swap file, because
.sw[a-p] have all been used. (Neil Bird)
Solution: Also use ".sv[a-z]", ".su[a-z]", etc.
Problem: FreeBSD: When setting $TERM to a non-valid terminal name, Vim
hangs in tputs().
Solution: After tgetent() returns an error code, call it again with the
terminal name "dumb". This apparently creates an environment in
which tputs() doesn't fail.
Patch 5.6.093 (extra)
Problem: Win32 GUI: "ls | gvim -" will show a message box about reading
stdin when Vim exits. (Donohue)
Solution: Don't write a message about the file read from stdin until the GUI
Problem: Problem with multi-byte string for ":echo var".
Solution: Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam)
Also make do_echo() aware of multi-byte characters.
Files: src/eval.c, src/message.c
Problem: With an Emacs TAGS file that include another a relative path
doesn't always work.
Solution: Use expand_tag_fname() on the name of the included file.
Problem: Unix: When editing many files, startup can be slow. (Paul
Solution: Halve the number of stat() calls used to add a file to the buffer
The average life of an organization chart is six months. You can safely
ignore any order from your boss that would take six months to complete.
(Scott Adams - The Dilbert principle)
/-/-- Bram Moolenaar --- Bram@...
\-\-- Vim: http://www.vim.org
---- ICCF Holland: http://www.vim.org/iccf