Date: Sun, 26 Nov 1995 18:30:18 -0500 From: bostic@bsdi.com (Keith Bostic) To: /tmp/vilist@python.bostic.com Subject: Nex/Nvi version 1.56 now available for anonymous ftp. Message-ID: <199511262330.SAA05797@python.bostic.com>
next in thread | raw e-mail | index | archive | help
Alpha version 1.56 of nex/nvi is now available for anonymous ftp from ftp.cs.berkeley.edu:ucb/4bsd/nvi.ALPHA.1.56.tar.gz. The code changes in version 1.56 are extensive, although the base nvi functionality has changed only in minor ways. This version includes the long-threatened reorganization to support new screen types, including X11 screens. The screen code is now completely isolated, and is about 2000 lines of C for the curses screen. There are a few new features: + File name completion is now available on the colon command line. Setting the editor option "filec", and then entering <escape> will complete the current pathname and/or display possible pathname completions. + The secure edit option disallows access to other applications from within vi. While this greatly enhances security, it also means that file name expansion (e.g., ":edit $variable"), will no longer work. + Timeouts for the <escape> key are now separately configurable, using the "escapetime" edit option. + There's a new directory, "tk". The tk directory contains support to use Tk text widget as the vi screen, instead of using the curses terminal interface. This still needs a lot of work, but the basic vi functionality is in place. This work is based on work by Wolfgang Fischer (Wolfgang.Fischer@stm.mchp.sni.de), in particular the Tk screen to change options is almost entirely his work. If you'd like to try it, do "make tknvi" in the PORT directory. I don't suggest it for real use, for two reasons. First, it's only lightly tested, and second, it appears that the Tk text widget is too slow to be used in this fashion. I'm trying to find someone to help me turn this into a true Tk text widget instead of driving the standard Tk text widget -- if you could help me with this, please let me know! + There's a new directory, "tclapi". The tclapi directory contains preliminary support, written by George Neville-Neal (gnn@abekas.com), to support a Tcl interpreter inside nvi. See below for more information on the Tcl interpreter. Some of the more recent new features of which you may not be aware: + The :split command has been replaced with capital letter forms of the :next, :edit, :ex, :visual, :tag and :previous commands, e.g. ":Next *.c" splits the screen and edits the new file list in a new screen. + Single line screens are now supported. + Ex now runs in tty canonical mode. + All ex commands are now supported in the EXINIT variable or in the .exrc files. + There's a new edit option "wraplen", which offsets from the left margin, instead of the right, as done by "wrapmargin". + Two new edit options, "print" and "noprint", allow you to specify if specific character values are printable. + Nvi now has message catalogs for Dutch, German, Swedish and Russian. The German and Russian are a bit out of date at the moment, hopefully they'll be fixed soon. Some configuration changes: + The PORT directory has been completely reworked so that the modifications necessary for each individual port are as small as possible. In particular, the local "Makefile" is now named "M.local", and all of the local Makefile changes should go there. + Nvi has been converted to use the System V interface to curses instead of the 4BSD one. Ports to systems with BSD curses implementations must compile with BSD_CURSES_INTERFACE defined (see the M.local file in your PORT directory for more information.) Nvi 1.56 always uses the native curses implementation, and this distribution of nvi does not include an implementation of curses. A change log (in docs/changelog) is included in the distribution if you'd like to review other changes which have been made. I intend to begin making more frequent releases of nvi again. Most of my vi time over the past six months has gone into working on the POSIX 1003.2 ex/vi standard. As that is mostly done, I'm going to try to finish up the last major ex/vi conformance issues, open mode and the lisp edit option. I also want to replace 1.34 as the "stable" version as soon as possible. Once a new version is known to be reasonably stable and portable, I will replace 1.34 with it. As always, thank you for running nvi, and please let me know if you have any problems! Keith Bostic bostic@cs.berkeley.edu uunet!bostic =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= If you'd like to take the Tcl interpreter out for a spin: + Modify your PORT/<machine>/M.local file (the M.local file has the information as to what should be changed). + Rebuild nvi from scratch. This adds the ex :tcl command, which has the usage: :[line [,line]] tcl [command] For example, the command: :tcl source ../../tclapi/wc.tcl loads the file wc.tcl, which defines the Tcl proc wc, which counts the words in a set of lines. Then: :tcl wc will display the number of words in the entire file, and :3,5 tcl wc will display the number of words in lines 3, 4 and 5. See the file nvi/tclapi/tcl_tcl.c for a list of the vi interfaces currently available for Tcl. Once George Neville-Neal and I have finalized how this is all going to fit together, we'll be writing up something more informative/official. For now, if you want to do something and it's not obvious how, ping one of us.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511262330.SAA05797>