home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.editors
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!sdd.hp.com!ux1.cso.uiuc.edu!news.cso.uiuc.edu!ux2.cso.uiuc.edu!ejk
- From: ejk@ux2.cso.uiuc.edu (Ed Kubaitis - CCSO)
- Subject: Re: Anyone use SAM?
- References: <BEVAN.92Nov18104650@beluga.cs.man.ac.uk> <722179001.3244@minster.york.ac.uk> <1992Nov20.085046@se28.wg2.waii.com> <1992Nov22.194309.17333@prl.dec.com>
- Message-ID: <By6Juy.Fvq@news.cso.uiuc.edu>
- Sender: usenet@news.cso.uiuc.edu (Net Noise owner)
- Organization: University of Illinois - Urbana
- Date: Mon, 23 Nov 1992 17:42:33 GMT
- Keywords: sam, ai
- Lines: 61
-
- boyd@prl.dec.com (Boyd Roberts) writes:
- |rfs@se28.wg2.waii.com (Robert Starr) writes:
- |> But settable tabs, auto-indent, and brace matching are not
- |> a lot to ask from a programmers editor. Sam looks good, but I cannot
- |> understand why these 3 simple features were left out (unless I missed
- |> something in the supplied documentation).
- |
- |Sam does brace matching with a double click on button 1:
- |
- | Button 1 changes selection. Pointing to a non-current window with but-
- | ton 1 makes it current; within the current window, button 1 selects
- | text, thus setting dot. Double-clicking selects text to the boundaries
- | of words, lines, quoted strings or bracketed strings, depending on the
- | text at the click.
- |
- |It lets your left hand do auto indent. Just how hard is it to type tab?
-
- Well, I suppose tab's not so bad if you mostly write/modify K&R style
- full-tab indent C. One hit for each line for level 1, two hits/line for
- level 2, ... By the time you get to 5 or so, your text is going to wrap
- around so it's hard to read anyway, so you don't care about speed;-)
-
- Seriously, part of the answer probably *is* that full tab indentation is
- all Murray Hill (and lots of other people) want. But having worked on adding
- a vi-like ai/sw to samterm, I suspect another part of the answer is that
- adding features to samterm is not all that easy/clean to do. The relevant
- piece of code for ai/sw is samterm/main.c:type(), an event-driven pinball
- machine whose only only two comments are:
-
- /* what a bloody mess this is */
-
- and a bit later
-
- /* ICK */
-
- Encouraged by those comments to commit further atrocities, I persevered
- and got an ai/sw option working (to a first order) over the weekend.
-
- What made it hard is one of the things that makes Sam interesting. Sam
- (like 8 1/2) was designed to make a bitmap graphic interface responsive
- not only at LAN speeds, but over low speed (as low as 9600) lines to your
- bitmap display at *home*. The (largely undocumented) caches/Rasps/protocols
- between sam and samterm to make remote mouse driven editing work over
- 9600 BPS lines do not yield source code that invites adding "features".
-
- Other things (besides remote editing) that make Sam interesting (to me):
-
- o structural expression pipelines
- o undo to help you interactively develop them
- o multi-file editing
- o the clean, small command set and simple graphical interface might
- make sam a good editor for new-to-unix people.
-
- You don't bother with Sam if all you want is small-muscle ergonomics.
- With only Sam's spartan and hard-to-modify (IMO) graphical interface
- to commend it, I would have abandoned it rather than pursue a few comforts
- for my vi-wired lower brain.
-
- ----------------------------------
- Ed Kubaitis (ejk@ux2.cso.uiuc.edu)
- Computing & Communications Services Office - University of Illinois, Urbana
-