Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!necntc!ames!sdcsvax!ucbvax!WILMA.BBN.COM!dan From: dan@WILMA.BBN.COM Newsgroups: comp.protocols.tcp-ip Subject: Re: supdup protocol and local editing Message-ID: <8710140650.AA03966@ucbvax.Berkeley.EDU> Date: Wed, 14-Oct-87 03:40:23 EDT Article-I.D.: ucbvax.8710140650.AA03966 Posted: Wed Oct 14 03:40:23 1987 Date-Received: Fri, 16-Oct-87 01:37:27 EDT References: <8710121554.AA07611@armagnac.DEC.COM> Sender: usenet@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 34 > Some work was done a number of years ago (... at Arizona) to > investigate how to use a micro to do editing across a 1200 baud link. > They ... [applied] a "virtual editor" model at the backend ... > Editing commands across the link operated on lines, not characters, > though that wasn't necessarily the interface presented to the user. I don't know the work at Arizona you refer to, but I did something very much like this back when I had an ECD MicroMind micro in my office in 1979. The MicroMind had a "terminal program" which was also a full-screen editor. To edit a file, I sent over the lines I wanted to change, edited them for awhile, then sent them back. The "protocol" across the line "operated on lines, not characters," and was about as lightweight as you could get: it was the Unix "ed" line editor command set! To edit a file, I would invoke ed on it, print a range of lines, edit them locally, then send a change command to put them back in the ed buffer. Keyboard macros in the MicroMind made it all quick and easy. Like other people, I was very willing to put up with a few seconds' wait at the beginning and end of my editing to get an instantaneous response to each keystroke (and other advantages, such as a real meta key). This was done at 2400 baud, because Unix couldn't receive characters any faster without flow control (which the MicroMind didn't have). Sending over integral numbers of lines was just right, since that's what your local editor wants to deal with anyway. It also means you can easily handle having two different representations for "lines" (records vs. streams, crlf vs. lf, etc.) on the two machines. Also, if the backend "editor" can mark the beginning and end of each region sent to the local micro in a way which does not change as lines are added or deleted outside each region (which ed had), then you can trivially have independent windows on the same file at the same time with virtually no local "intelligence". Dan Franklin