From: Bram Moolenaar To: vim-dev@vim.org Subject: Vim 6.0k alpha available Date: Sun, 29 Oct 2000 22:43:17 +0100 Message-Id: <200010292143.WAA32269@moolenaar.net> Yet another Vim in the 6.0 series. Major changes ------------- It's now possible to edit files over a network. This is based on the netrw script written by Charles Campbell. It is installed as a "standard plugin". See ":help netrw". This is a bit experimental, I want to find out if loading this plugin causes trouble for anyone. I also made "gf" work on a URL. It no longer assumes the file is local on the computer (mostly didn't work anyway, because the full path was required). Adjusted test2 for this. Allow using a URL in 'path'. Makes ":find index.html" work. Thus now you can do (if you have the wget program): :edit http://www.vim.org/index.html Move to "download.html" and hit "gf" to edit that file (found relative to the current file). Or do: :set path+=http://www.vim.org and then: :find news.html to edit http://www.vim.org/news.html Avoid problems with running out of stack space. - Unix: Check for running out of stack space when executing a regexp. Avoids a nasty crash. Only works when the system supports running the signal function on another stack. - Unix: Added check for running out of stack space when matching a regexp. Now it aborts with an error message. Needs to be checked on many different systems. - Reduced the amount of stack space used by regmatch() to allow it to handle complicated patterns on a longer text. Other changes ------------- The "Save As" menu entry now edits the saved file. Most people expect it to work like this. Renamed to , since that's what it's called on most keyboards. Thus it's now the hit-enter prompt instead of the hit-return prompt. Don't load plugins when compiled without the +eval feature. Most plugins won't work. Win32: Python support for compiling with Mingw. (Ron Aaron) Use mkstemp() instead of mktemp() when it's available, avoids a warning for linking on FreeBSD. When reading from or writing to a temporary file, check that it isn't a symbolic link. Gives some protection against symlink attacks. When creating a backup file copy or a swap file, check for it already existing to avoid a symlink attack. (Colin Phipps) Obtain the number of colors from the xterm itself. Requires xterm compiled with OPT_TCAP_QUERY and a patch for the "Co" entry. MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc. Mostly for NT systems with multiple users. Fixes ----- DJGPP: When exiting with "ZZ" the cursor was left halfway the screen. Make uninstall_runtime didn't remove indent.vim, indoff.vim, ftplugin.vim and ftplugof.vim. Syntax highlighting: - Didn't sync for the first line with a change, when ":syn minlines" was zero. - Scrolling backwards was slow, it would resync for every line. Now start resyncing a few lines back (up to 10) to reduce the number of times it's required. - A contained item wasn't checked to end before a containing item with "keepend" would end. - DJGPP: "vim main.c" didn't show right syntax highlighting. CTRL-L fixed it. Caused by t_colors not initialized after parsing the termcap. Could also happen for other systems that only use a builtin termcap. - An empty match made a containing item continue. When doing Insert mode completion it's possible that b_sfname is NULL. Don't give it to printf() for the "Scanning" message. Multi-byte: - Some messages were printed wrong. - List of digraphs didn't display correctly. - UTF-8 characters 0x80-0x9f caused problems. ":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards was done after trying to remove the string. Now for ":set opt+=val" and ":set opt-=val" the expansion of wildcards is done before adding or removing "val". Motif GUI: scrollbar disappeared when doing ":sp" ":vsp". Doing ":echo "\n\n\n" while there is a Visual selection caused the top lines of the display not to be updated. Fixed a few memory leaks: - buf->b_start_fcc was not freed when the buffer was deleted. - option values in win->w_allbuf_opt were not freed. 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.0k-rt.tar.gz runtime files unix/vim-6.0k-src.tar.gz sources extra/vim-6.0k-extra.tar.gz extra files extra/vim-6.0k-lang.tar.gz multi-language files Happy Vimming!