Christopher Stacy <cstacy@pilgrim.com> wrote:
+---------------
| If you or someone thinks that Perl would be a good language for writing a
| customizable extensible editor, then they should by all means go and do so.
+---------------
Actually, a nice framework already exists! See http://mongoose.bostic.com/vi/
for the latest "Nvi" ("new vi") which has (for more than a year now!) hooks
for both Tcl and Perl as extension languages. The Tcl/Tk example in the
distribution shows that you can put the extension language "in front of"
the editor (a la Emacs), not only write "macros" in it. Although they
don't give an explicit example of doing the "Emacs style" with Perl, one
should be able to do it much the same way as the Tcl/Tk example.
So... To the original poster [not Stacy], I strongly suggest starting with
Nvi -- already a robust, good-performing editor -- as a base, so you can
spend more time on your "extensions" and less on getting a basic editor core
to work.
+---------------
| In any event, if Perl is so great for this task, then by all means
| get to it, and let us all know when you want us to take a look at it.
| The proof is in the pudding.
| Meanwhile please go away and spare the bandwidth. I'm getting tired
| of seeing this thread on all Emacs and Lisp newsgroups and mailing lists.
+---------------
Indeed. Hopefully pointing them to Nvi will quieten things down.
(But I've always been an optimist...)
-Rob
p.s. The extension hooks in Nvi are not specific to Tcl or Perl. It looks
like one should easily be able to hook in any of the Schemes that use a
C-compatible GC as an Nvi extension language, too. "Film at 11..."
p.p.s. Nvi-1.79 is the current version, and FWIW I've been using it
instead of "vi" as my main editor for over a year (though w/o using any
of the extension-language features... yet). Seems pretty stable.
-----
Rob Warnock, 7L-551 rpw3@sgi.com http://reality.sgi.com/rpw3/
Silicon Graphics, Inc. Phone: 650-933-1673 [New area code!]
2011 N. Shoreline Blvd. FAX: 650-933-4392
Mountain View, CA 94043 PP-ASEL-IA