From: Bram Moolenaar To: vim-announce@vim.org Subject: Vim version 5.7a ready for BETA testing Date: Sat, 10 Jun 2000 16:50:43 +0200 Message-Id: <200006101450.QAA20853@moolenaar.net> Hello Vimmers, 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, etc.). 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. It may take a day before version 5.7a is available by CVS. WHERE TO GET IT --------------- You can find Vim 5.7a here: ftp://ftp.vim.org/pub/vim/unreleased/ See this file for Mirrors: ftp://ftp.vim.org/pub/vim/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 speed. 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. Requires Win32s. 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 Windows 95/98. 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 and autocommands. 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 sources) 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 unzip file.zip WHAT IS NEW ----------- This is the complete list of changes since version 5.6. Added: 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. Fixed: 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 tests. - 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 automatically. Previously released patches: Patch 5.6.001 Problem: When using "set bs=0 si cin", Inserting "#" or "}" which reduces the indent doesn't delete the "#" or "}". (Lorton) Solution: Adjust ai_col in ins_try_si(). Files: src/edit.c Patch 5.6.002 Problem: When using the vim.vim syntax file, a comment with all uppercase characters causes a hang. Solution: Adjust pattern for vimCommentTitle (Charles Campbell) Files: runtime/syntax/vim.vim Patch 5.6.003 Problem: GTK GUI: Loading a user defined toolbar bitmap gives a warning about the colormap. Probably because the window has not been opened yet. Solution: Use gdk_pixmap_colormap_create_from_xpm() to convert the xpm file. (Keith Radebaugh) Files: src/gui_gtk.c 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) Files: src/gui_w32.c Patch 5.6.005 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(). Files: src/window.c Patch 5.6.006 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) Files: src/gui_gtk_x11.c 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) Files: src/os_win32.c 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. (Tianmiao Hu) Files: GvimExt/gvimext.cpp Patch 5.6.010 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. Files: src/buffer.c Patch 5.6.011 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) Files: src/screen.c Patch 5.6.012 Problem: When using "zsh" for /bin/sh, toolcheck may hang until "exit" is typed. (Kuratczyk) Solution: Add "-c exit" when checking for the shell version. Files: src/toolcheck Patch 5.6.013 Problem: Multibyte char in tooltip is broken. Solution: Consider multibyte char in replace_termcodes(). (Taro Muraoka) Files: src/term.c Patch 5.6.014 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. (Takuhiro Nishioka) Solution: Recognize a multibyte-char at end-of-line correctly in oneright(). (Taro Muraoka) Also: make "+quickfix" in ":version" output appear alphabetically. Files: src/edit.c Patch 5.6.015 Problem: New xterm delete key sends [3~ by default. Solution: Added and 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 Patch 5.6.016 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 Patch 5.6.017 Problem: ":s/e/\^M/" should replace an "e" with a CTRL-M, not split the line. (Calder) Solution: Replace the backslash with a CTRL-V internally. (Stephen P. Wall) Files: src/ex_cmds.c Patch 5.6.018 Problem: ":help [:digit:]" takes a long time to jump to the wrong place. Solution: Insert a backslash to avoid the special meaning of '[]'. Files: src/ex_cmds.c Patch 5.6.019 Problem: "snd.c", "snd.java", etc. were recognized as "mail" filetype. Solution: Make pattern for mail filetype more strict. Files: runtime/filetype.vim Patch 5.6.020 (extra) Problem: The DJGPP version eats processor time (Walter Briscoe). Solution: Call __dpmi_yield() in the busy-wait loop. Files: src/os_msdos.c Patch 5.6.021 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. Files: src/edit.c Patch 5.6.022 Problem: ":e \~" expands to ":e ~\$ceelen", which doesn't work. Solution: Re-insert the backslash before the '~'. Files: src/ex_getln.c 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, src/syntax.c, src/vim.rc Patch 5.6.024 (extra) Problem: Win32 console: Entering CTRL-_ requires the shift key. (Kotchan) Solution: Specifically catch keycode 0xBD, like the GUI. Files: src/os_win32.c Patch 5.6.025 Problem: GTK GUI: Starting the GUI could be interrupted by a SIGWINCH. (Nils Lohner) Solution: Repeat the read() call to get the gui_in_use value when interrupted by a signal. Files: src/gui.c Patch 5.6.026 (extra) Problem: Win32 GUI: Toolbar bitmaps are searched for in $VIMRUNTIME/bitmaps, while GTK looks in $VIM/bitmaps. (Keith Radebaugh) 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 Patch 5.6.027 Problem: TCL: Crash when using a Tcl script (reported for Win32). Solution: Call Tcl_FindExecutable() in main(). (Brent Fulgham) Files: src/main.c Patch 5.6.028 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). Files: src/term.c Patch 5.6.029 Problem: GTK GUI: Shortcut keys cannot be used for a dialog. (Johannes Zellner) Solution: Add support for shortcut keys. (Marcin Dalecki) Files: src/gui_gtk.c Patch 5.6.030 Problem: When closing a window and 'ea' is set, Vim can crash. (Yasuhiro Matsumoto) Solution: Set "curbuf" to a valid value in win_close(). Files: src/window.c Patch 5.6.031 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) Files: src/getchar.c Patch 5.6.032 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 synID(). Files: src/eval.c Patch 5.6.033 Problem: Multi-byte: "f " sometimes skips to the second space. (Sung-Hyun Nam) Solution: Change logic in searchc() to skip trailing byte of a double-byte character. Also: Ask for second byte when searching for double-byte character. (Park Chong-Dae) Files: src/search.c 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 Patch 5.6.035 Problem: Listing the"+comments" feature in the ":version" output depended on the wrong ID. (Stephen P. Wall) Solution: Change "CRYPTV" to "COMMENTS". Files: src/version.c Patch 5.6.036 Problem: GTK GUI: Copy/paste text doesn't work between gvim and Eterm. Solution: Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang) Files: src/gui_gtk_x11.c Patch 5.6.037 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 Patch 5.6.038 Problem: Multi-clicks in GUI are interpreted as a mouse wheel click. When 'ttymouse' is "xterm" a mouse click is interpreted as a mouse wheel click. 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 Patch 5.6.039 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 saving ourselves. Files: src/gui_x11.c Patch 5.6.040 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 Patch 5.6.041 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 Patch 5.6.042 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(). Files: src/os_unix.c 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(). Files: src/gui_w32.c 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. Files: src/dosinst.c 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 Patch 5.6.046 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. Files: src/option.c Patch 5.6.047 Problem: $CPPFLAGS is not passed on to ctags configure. Solution: Add it. (Walter Briscoe) Files: src/config.mk.in, src/Makefile Patch 5.6.048 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, src/ops.c, src/proto/ops.pro Patch 5.6.049 Problem: Documentation for [!] after ":ijump" is wrong way around. (Benji Fisher) Solution: Fix the documentation. Also improve the code to check for a match after a /* */ comment. Files: runtime/doc/tagsearch.txt, src/search.c Patch 5.6.050 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. (Yasuhiro Matsumoto) Files: src/normal.c, src/misc1.c Patch 5.6.051 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 be seen. Files: src/fileio.c, src/tag.c Patch 5.6.052 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 '"'. (Asai Kenichi) Files: src/ex_docmd.c Patch 5.6.053 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 Patch 5.6.054 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 Patch 5.6.055 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. Files: src/screen.c 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 bioskey_ready. Files: src/os_msdos.c Patch 5.6.057 (extra) Problem: Win32 GUI: Multi-byte characters are wrong in dialogs and tear-off menus. Solution: Use system font instead of a fixed font. (Matsumoto, Muraoka) Files: src/gui_w32.c Patch 5.6.058 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. Files: src/normal.c 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 Patch 5.6.060 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) Files: src/screen.c Patch 5.6.061 Problem: When xterm sends 8-bit controls, recognizing the version response doesn't work. When using CSI instead of [ for the termcap color codes, using 16 colors doesn't work. (Neil Bird) Solution: Also accept CSI in place of [ 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 "8bit". 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 Patch 5.6.062 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 Patch 5.6.063 Problem: Using "I" in Visual-block mode doesn't accept a count. (Johannes Zellner) Solution: Pass the count on to do_insert() and edit(). (Allan Kelly) Files: src/normal.c, src/ops.c, src/proto/ops.pro Patch 5.6.064 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. Files: src/term.c Patch 5.6.065 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. Files: src/edit.c Patch 5.6.066 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. (Robert Webb) Files: src/screen.c Patch 5.6.067 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 Patch 5.6.068 Problem: Compiling the Perl interface doesn't work with Perl 5.6.0. (Bernhard Rosenkraenzer) Solution: Also check xs_apiversion for the version number when prepending defines for PL_*. Files: src/Makefile Patch 5.6.069 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(). Files: src/memline. Patch 5.6.070 (depends on 5.6.068) Problem: Compiling the Perl interface doesn't work with Perl 5.6.0. (Bernhard Rosenkraenzer) Solution: Simpler check instead of the one from patch 68. Files: src/Makefile Patch 5.6.071 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(). Files: src/ops.c Patch 5.6.072 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. Files: src/main.c 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 for a normal CSI, 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, src/keymap.h, src/misc2.c Patch 5.6.075 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. Files: src/ops.c Patch 5.6.076 Problem: GTK GUI: Mapping doesn't work. Solution: Don't use the "Alt" modifier twice in key_press_event(). Files: src/gui_gtk_x11.c Patch 5.6.077 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(). Files: src/ui.c Patch 5.6.078 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 Patch 5.6.079 Problem: Vim could crash when several Tcl interpreters are created and destroyed. Solution: handle the "exit" command and nested ":tcl" commands better. (Ingo Wilken) Files: runtime/doc/if_tcl.txt, src/if_tcl.c Patch 5.6.080 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 Patch 5.6.081 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 Patch 5.6.082 Problem: When using cscope, Vim can crash. Solution: Initialize tag_fname in find_tags(). (Anton Blanchard) Files: src/tag.c 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, src/proto/gui_amiga.pro, src/proto/gui_gtk_x11.pro, src/proto/gui_mac.pro, src/proto/gui_riscos.pro, src/proto/gui_w32.pro, src/proto/gui_x11.pro, src/proto/gui_beos.pro 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 (forgot this bit in 5.6.074). Files: src/gui_x11.c Patch 5.6.085 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(). Files: src/normal.c 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. Files: src/os_win32.c Patch 5.6.087 Problem: Multi-byte: Commands and messages with multi-byte characters are displayed wrong. Solution: Detect double-byte characters. (Yasuhiro Matsumoto) Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c Patch 5.6.088 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. Files: src/multbyte.c Patch 5.6.089 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. Files: src/fileio.c Patch 5.6.090 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(). Files: src/misc1.c Patch 5.6.091 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. Files: src/memline.c Patch 5.6.092 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. Files: src/term.c 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 has started. Files: src/fileio.c Patch 5.6.094 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 Patch 5.6.095 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. (Utz-Uwe Haus) Files: src/tag.c Patch 5.6.096 Problem: Unix: When editing many files, startup can be slow. (Paul Ackersviller) Solution: Halve the number of stat() calls used to add a file to the buffer list. Files: src/buffer.c -- 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@moolenaar.net --- http://www.moolenaar.net --\-\ \-\-- Vim: http://www.vim.org ---- ICCF Holland: http://www.vim.org/iccf --/-/