hello -- This is a supplemental announcement for vile 8.4, which differs from 9.0 mainly in documentation. The 9.0 release announcement covers changes from 8.0, and does not present the 8.4 changes in as much detail. Vile is a text editor which is extremely compatible with vi. It has extended capabilities in many areas, including: multi-file editing and viewing, mouse support, infinite undo, additional operators, rectangular operations. optional Perl interface for UNIX and NT. It can also be built as "xvile", which is fully X-aware, with scrollbars etc. It will run under VMS, BeOS, OS/2, DOS, Win95 or NT. Binaries for some PC operating systems are available. (OS/2 is currently native or EMX console mode port, NT is both console and GUI). Highlights since 8.3: + lots of bug fixes, of course + change copyright notice to distribute vile using GPL. + several performance improvements for cursor movement and ruler updates when viewing files with very long lines. + make vile simpler to set up for new users, e.g., a -I option to use and source a startup script, fallback color resources for xvile. + improved syntax filtering Added -v option to filters, to show files opened and keywords/classes defined, for debugging. Repeat the -v option for more details. Fix (partly) the lack of syntax highlighting when editing filters.rc and other vile initialization scripts. New syntax filters and corresponding majormodes: M4 pymode RCSmode tblmode SCCSmode xsmode potmode + added color schemes, associating fcolor, bcolor, $palette and an optional video attribute. These commands manipulate the schemes: define-color-scheme remove-color-scheme show-color-schemes + extended the set of builtin macro functions and associated variables and commands, making some changes for readability: "&cclass" function, and set-char-class, unset-char-class and reset-char-classes commands. "&execable" test for files. "&lookup", "&path" and "&pcat" to provide support for external pathname manipulation. "&pquote" to simplify use of "&lookup" when the result might contain spaces, and $exec-suffix variable. "&random" as alias for "&rnd", "&readable" as alias for "&rd", make all &function names long enough to be more readable. "®ister" function, so the contents of an internal register may be manipulated in macros. "&word" and "&token" for simple parsing of strings. + implement parameters for procedures. Vile uses a parameter template in the store-procedure command which is integrated with prompting for missing values. + new ports: BeOS R4.5, SCO OpenServer 5.0.5e, Solaris 2.7 Several Win32-specific improvements: + implement drag/drop for winvile. + allow adjustment of window size in win32 versions (vile, winvile) by dragging the modeline. Clicking on a modeline clears the selection. + add winopen and winopen-cd commands to w32 vile. + added wvwrap.exe to the Win32 distribution. This utility opens one or more files in a _single_ winvile instance via a right mouse click in the Windows Explorer. For more details, please read doc/oleauto.doc . + a new "sync-file" command enables synchronization of winvile's current buffer with the DevStudio text editor. Enhancements for xvile: + reinstate/complete $xshell logic, making it detach the subprocess. + provide default colors for xvile similar to those used by vile for fcolor1 through fcolor15. + modify xvile to accept the color modes used in other configurations: fcolor and bcolor modes, and $palette variable. Other new features/improvements: + eliminate most buffer-size restrictions in macro evaluation. + change fences-limit from a scale factor to timeout in seconds to make it simpler to understand/configure. + modify complex fence matching so that if too many iterations are needed for the match, that it can still try the simple fence matching. + implement a simple 'eval' or 'execute-string' command, allowing users to construct commands dynamically. + add commands to move the cursor up/down by rows on the screen, ignoring wrapping: next-row or ^X-^D and previous-row or ^X-^U. + implement set-window command, providing better control over the buffers that are shown in specific windows. + implement show-marks command. + add buffer mode recordseparator to set dos/unix modes like the set-dos and set-unix commands, i.e., not delayed til the next buffer read like the 'dos' mode. + modify list mode to show the actual record separator rather than ^J. + implement clear-attributes-til, to allow reset of all video attributes and highlighting. add HighlightClear macro, bound to ^X-Q. + implement wildcard matching in :kill-buffer, so one can do :ki *.log + implement name-completion for commands that expect a buffer name. + make the Entering/Leaving nesting work correctly if you jump into the middle of an error buffer. + directory lookup via CDPATH is enabled on all hosts. + add goto-char command, bound to ^X-G. + $cfgopts now shows whether a Unix-hosted editor uses TERMCAP or TERMINFO screen DB. + several new internal variables: $bflags, $bwindows, $cdpath, $curchar, $lcols, $pathlist-separator and $position-format + new perl scripts: - lock.pl is a simplistic extension to allow you to lock your vile - spell.pl is a spell checker within vile that behaves (almost) like ispell (and in fact does use ispell internally). A few bug fixes for problems in 8.3: + correct bug introduced in rewrite of ^X-( and ^X-) command for 8.3, which left ^X-) on the end of the recorded text (reported by George + correct a problem in filters which could cause an infinite loop if the file contained a null. As well as much older bugs: + correct bug in ^X-^, which did not copy special characters such as arrow keys. + correct quoting for configure script's --with-exec-macros option, + correct redundant unget when parsing ":%&g" command that would leave 'g' repeated in prompt + correct logic for $kill, which did not account for killbuffer rotation and was always pointing to the same index.