From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim 6.0o alpha available Date: Sun, 03 Dec 2000 23:32:32 +0100 Message-Id: <200012032232.XAA43962@moolenaar.net> Yet another Vim in the 6.0 series. Warning: The functions to read and write files have been changed. They have been tested, but keep a backup copy of your files, just in case. Major changes ------------- Added the 'bomb' option and "ucs-bom" in 'filecharcodes': Detect a Unicode BOM at the beginning of the file. When found it's removed and the 'bomb' option set. When writing a file the BOM is inserted. Especially useful on MS-Windows (NT and 2000), which uses ucs-2le files with a BOM (e.g., when exporting the registry). Added test42 to check this. When reading a Unicode file while 'charcode' is "latin-1", and iconv() is not available, do internal Unicode to Latin-1 conversion. Again, this is useful on MS-Windows. Added ":windo" and ":bufdo" commands: Execute a command in all windows or buffers. Other changes ------------- Changed "ucs-2l" to "ucs-2le" and "ucs-2b" to "ucs-2be". These appear to be the standard names. Same for the "ucs-4" ones. Made ":map" also list buffer-local mappings. CTRL-G CTRL-J can be used for CTRL-G j, because it's too easy to keep the Ctrl key pressed. Same for CTRL-G CTRL-K. Changed the codes used to get termcap entries directly from xterm. The names are now hex encoded and the response includes the name. Requires a patched xterm-148. Syntax items can have the "extend" argument to undo the effect of a "keepend" argument of an item it is contained in. Makes it possible to have some contained items extend a region while others don't. ":echomsg" and ":echoerr": Like ":echo" but store the message in the history. (Mark Waggoner) ":messages" prints a message about who maintains the messages or the translations. Useful to find out where to make a remark about a wrong translation. Added src/po/README.txt file, to explain a few things about translation. Added src/po/cleanup.vim to make it easy to remove non-translated message. Re-generating a .po file is now done for one file only, instead of all files together. Italian menu translations. (Antonio Colombo) --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun Nam) ":verbose {cmd}": set the 'verbose' option for one command. When moving over a closed fold with a cursor-up command, go to the first line of the fold. (Tim) VMS: set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy) catalog.vim syntax file (Johannes Zellner) When no --enable-xim argument is given, automatically enable it when a X GUI is used. Required for dead key support (and multi-byte input). Fixes ----- After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all characters are redrawn with the right background. When doing "make test" without +eval or +windows feature, many tests failed. Now have test1 generate a script to copy the correct output, so that a test that doesn't work is skipped. Running test40 caused a beep, because a CR was used in the last line. On FreeBSD the Perl interface added "-lc" to the link command and Python added "-pthread". These two don't work together, because the libc_r library should be used. Removed "-lc" from Perl, it should not be needed. Also: Add "-pthread" to $LIBS, so that the checks for functions is done with libc_r. Sigaltstack() appears to be missing from libc_r. The Syntax sub-menus were getting too long, reorganized them and added another level for some langauges. CTRL-G j and CTRL-G k in Insert mode didn't move to the right column when Tabs are present. Crashed when using an ambiguous user command. Added a trick to avoid the "might be clobbered by `longjmp'" warning from gcc in vim_regexec_both(). (Sung-Hyun Nam) Python: Using exceptions crashed Vim. (Paul Moore) Visual block "r"eplace didn't work well when a Tab is partly included. (Matthias Kramm) When yanking a Visual block, where some lines end halfway the block, putting the text somewhere else doesn't insert a block. Padd with spaces for missing characters. Added "y_width" to struct yankreg. (Matthias Kramm) When using 'virtualedit' and typing a "$" in Visual mode, the current column was used for all lines, instead of having the selection continue until the EOL in each line. (Matthias Kramm) If a substitute string has a multibyte character after a backslash only the first byte of it was skipped. (Muraoka Taro) Win32: Numeric keypad keys were missing from the builtin termcap entry. Motif: The vertical scrollbars were positioned a bit too low. When a file was read-only ":wa!" didn't force it to be written. (Vince Negri) Amiga: A file name starting with a colon was considered absolute but it isn't. Amiga: ":pwd" added a slash when in the root of a drive. When using an xterm that supports requesting termcap entries, the more-prompt and ATTENTION dialog used the response as typed characters. Fixed get_keystroke() to ignore K_IGNORE and check for termcodes each time. Don't let 'ttymouse' default to "dec" when compiled with dec mouse support. It breaks the gpm mouse (Linux console). The prototypes for the Perl interface didn't work for threaded Perl. Added a sed command to remove the prototypes from proto/if_perl.pro and added them manually to if_perl.xs. When ":w!" resets the 'readonly' option the title and status lines were not updated. ":args" showed the current file when the argument list was empty. Made this work like Vi: display nothing. "99:echo v:count" echoed "99" in Normal mode, but 0 in Visual mode. Don't set v:count when executing a stuffed command. Epilogue -------- WARNING: This is really an unstable version. Many things have been added without proper testing. It does crash. It may destroy your work. 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. 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. More info for the new 6.0 features at ":help version6". 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 it here: ftp://ftp.vim.org/pub/vim/unreleased/ unix/vim-6.0o-rt.tar.gz runtime files unix/vim-6.0o-src.tar.gz sources extra/vim-6.0o-extra.tar.gz extra files extra/vim-6.0o-lang.tar.gz multi-language files Happy Vimming!