At the time of this writing, elvis 2.1 is in late beta-test, and it will probably be released by the time this book hits the bookstore. Steve Kirkendall has graciously supplied the following list of changes and new features that will be in elvis 2.1:
Under Windows 95 and Windows/NT, there is now a graphical version of elvis. This is in addition to the text-mode port that was included in 2.0.
A text-mode OS/2 port has been added.
In X Windows, there is now a status bar and a configurable toolbar.
The toolbar can invoke configurable dialogue windows. Also, many of the
X features take their defaults from the standard X resource database.
New command-line flags include -mono
,
-fork
, and -client
.
The DOS version offers mouse support, similar to that of X Windows.
elvis 2.1 supports the enhanced tags format described at length in Section 8.5.1, "Exuberant ctags" in Chapter 8.
elvis 2.1 does some innovative things with tags.
When reading overloaded
tags, it tries to guess which one you're looking for, and presents the
most likely one first. If you reject it (by hitting
^]
again, or typing
:tag
again),
then it presents you with the next most likely match, and
so on. It also notes the attributes of the tags that you reject or
accept, and uses those to improve its guessing heuristic for later
searches.
The :tag
command's syntax has
been extended to allow you to search for
tags by features other than just the tag name. This is powerful, but
too complex to describe here [in Steve Kirkendall's email message].
There's a whole chapter in the manual
[online help]
that describes the use of tags.
There is also a :browse
command which finds all matching tags at once,
and builds an HTML table from them. From this table, you can follow
hypertext links to any matching tags you want.
Finally, elvis 2.1
has a new tagprg
option which, if set, discards the
built-in tag searching algorithm and instead runs an external program
to perform the search.
The visual %
command has been
extended to recognize
#if
, #else
,
and #endif
directives if you're using the syntax
display mode.
A new tex
display mode has been added.
It is not programmable, but is still somewhat useful.
The ^W d
command is a
little smarter in 2.1 than it was in 2.0. Now it
will toggle between syntax
and any of
the fancy formatting display modes
(html
, man
, tex
)
if that's appropriate. This makes editing web
pages a little more convenient.
elvis can fetch files via HTTP or FTP.
It can also write via FTP.
Simply give a URL wherever elvis expects a filename.
To access your
own account on an FTP site (instead of the anonymous account), the
directory name portion of the URL must begin with
/~
-- elvis will read
your ~/.netrc file to find the right name and password.
The html
display mode makes good use of these features! (By the way, the network
functions work in Windows and OS/2, too.)
For the sake of POSIX compliance, the command-line flags have changed.
-s
used to set the safer
flag for extra security, but now it causes
elvis
to read a script from stdin and execute it.
[This matches nvi. A.R.]
Use an uppercase
-S
to set safer
now.
A new -o
filename
flag has been
added so you can redirect the startup messages out to a file, instead of
stdout/stderr. This is of critical importance to Windows 95 and
Windows NT users
because Windows discards anything written to stdout/stderr, which made
WinElvis configuration problems almost impossible to diagnose. With
-o
filename
you can send the diagnostic info to a file and view it later.
A new :alias
command has been added,
for defining ex macros. It is
intended to resemble the csh alias
command.
elvis 2.0 implemented the POSIX named
character classes (in regular
expressions) incorrectly.
elvis 2.1 fixes that.
For example, you can search for a C identifier via
/\<[[:alpha:]_][[:alnum:]_]*
.