Yes indeed, good-ole teco.  My left pinky still aches when I think
about it.

    - Bruce



Pete Peterson wrote:

> Nope, Forth was definitely not the first.  There used to be a text editor
> called TECO, originally developed on the DEC PDP-1 computer.  You could
> write TECO macros (really programs) to do virtually any kind of text
> processing you want.  They weren't hard to write, but weren't very easy
> to read, even with a lot of comments.  I attached an example below for
> your amusement.  The things enclosed in exclamation points are (usually)
> comments.  This is a very simple one by TECO macro standards, but was
> the first example I managed to dredge out.  :-)
>
> Note the "^" in "^u" is really a caret -- the other "^" things are
> CTRL characters.
>
>         pete peterson
>         GenRad, Inc.
>         7 Technology Park Drive
>         Westford, MA 01886-0033
>
>         [EMAIL PROTECTED] or [EMAIL PROTECTED]
>         +1-978-589-7478 (GenRad);  +1-978-256-5829 (Home: Chelmsford, MA)
>         +1-978-589-2088 (Closest FAX); +1-978-589-7007 (Main GenRad FAX)
>
>
> > Date: Wed, 24 May 2000 07:18:08 -0500 (CDT)
> > From: [EMAIL PROTECTED] (Dave Ihnat)
> > To: [EMAIL PROTECTED]
> > Subject: Re: Samba 2.07
> >
> > Niclas Sodergard DC wrote:
> >
> > > BTW, if you think Perl is hairy don't look at postscript :-).
> >
> > Much closer to FORTH, which when I first encountered it, I dubbed "the
> > world's first write-only language."
> > --
> >       Dave Ihnat
> >       [EMAIL PROTECTED]
>
> !Diabset.tec    rep    10-MAY-82 07:02!
> !modified to count unequal tabs properly 01-OCT-82 13:48!
> !teco macro does setup for Diablo printer!
> !sets characters per inch, lines per inch, margins, and tab stops!
> !This version has control sequences for Bedford Computer Systems version of!
> !     the Diablo printer (the one attached to the 11/70) and for normal!
> !     Diablo 16XX or 630!
> etu1 et#1et [1 7:wu1 0,7:w  [1  0:wu1 [1 2,0:w  !set vt100 as vt52 mode!
> ^A^[H^[JDiablo setup routine:  Answer questions -- follow responses with Carriage 
>Return
> ^A
>    !m1 gets a number from the keyboard and returns it-- number terminated by 
>non-numeric character!
> @^u1`[0[1[2 .u1 m5 .u2 q1j \u0 q1,q2k q0 ]2]1]0`
>    !m2 throws away any left-over characters in keyboard buffer!
> @^u2` ET#32ET <-1-^T;> 32^_&ETET `
> @^u3/ 27^T ^^I^T 27^T ^^M^T 13^T 27^T ^^J^T/   !m3 erases previous line from screen!
> @^u4` < ^T-10"e 0; ' > `   !m4 waits for line feed!
> @^u5/ !read string from terminal into buffer!
>     m2 [0 <^Tu0 q0-13"e ^T 0;' q0-127"e ."n -1d 8^T32^T8^T'' q0-127"n q0i^['>]0/
>
> m2 ^AIs the file going to be printed on the strange Diablo printer in the
> Facilities Operators Area? (y/n) ^A
> ^T#32-^^y"n      !set up for Diablo 16XX or 630 format!
>   @^ua`^[1` !tabset sequence!  @^ub`^[9` !set left margin sequence!
>   @^uc`^[0` !set right margin! @^uj`
> ^[` 10:^uj^[  !crlf, reverse lf  sequence!
>   @^ud`^[2^[^I^A^[9^[^IU^[0` 13:^ud^[ !clear all margins and tabs sequence!
>   27^ue^[31:^ue^[13:^ue^[ 27^uf^[31:^uf^[11:^uf^[ !ge for 10 cpi, gf for 12 cpi!
>   27^ug^[30:^ug^[9:^ug^[ 27^uh^[30:^uh^[7:^uh^[ !gg for 6 lpi, gh for 8 lpi!
> |     !set up for Bedford Computer Systems format!
>   @^ua`^[1` !tabset sequence!  @^ub`^[.` !set left margin sequence!
>   @^uc`^[/` !set right margin! @^uj`
> ^V` ! crlf, reverse lf sequence!
>   @^ud`^[;^[&`  !clear all margins and tab stops sequence!
>   @^ue`^[)` @^uf`^[*` !ge for 10 cpi, gf for 12 cpi!
>   @^ug`^[<` @^uh`^[=` !gg for 6 lpi, gh for 8 lpi!
> '   !qa is left margin position, qb is right margin position!
> @^ui` 13@i~~ qa<i ^[> gb qb-qa<i ^[> gc gj`  ! set margins!
>    m4
> <^AName of file: ^A m5 hx6 hk @:eb/^Eq6/u6  -1-q6; ^A Can't open ^A :g6 ^A     ^A>
> <^Aspecify # of characters per inch (10 or 12) ^A m1uc
> qc-10"e ge  0; | qc-12"e gf  0; ' ' m3   >
> <^Aspecify # of lines per inch (6 or 8) ^A m1uc
> qc-6"e gg  0; | qc-8"e gh  0; ' ' m3   > gd 13i^[^M
> ^AMargin and tab positions are to be specified in character positions
> ^A <m2 ^Aleft margin = ^A m1ua qa"g  qa-(8*qc)"l 0;' ' m3  >
> <m2  ^Aright margin = ^A m1ub qb-qa"g 0;' m3 >
> ^AWould you like tab positions absolute or relative to margins?
>  (a = absolute; other response = relative) ^A ^T#32-^^au0 m4   q0"n mi'
> ^ADo you want uniform tab spacing ? (y/n) ^A m2  ^T#32-^^y"e
>      m4 ^ATab stop separation = ^A m2  m1u1 (qb-qa)/q1< q1< @i` ` > ga > gj q0"e mi'
>     | m4 ^A
> Specify tab positions (separate with commas... end with Car Ret)
> ^A .u1 m5 .u2 q1j .,.x6 q0"e qau5 | 0u5' <\u3 q3-q5"l ^ATabs must be within margins 
>-- aborting
> ^A       hkekex'
>     q3-q5<:@^u6` `>  .u6 ga q6,.:x6 q6,.k q3u5::s^Es^[ ^[ ::s,^[ ^[ ::s^Es^[  .-q2"e 
>0; '>
> q1,q2k g6 q0"e mi '   ' q0"n 13@i// '
> ^A^[H^[J^A  ]1^[ q1,0:w ]1^[ q1,7:w ]1^[ q1et
> a ex^[^[
>
> --
> To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe"
> as the Subject.


-- 
To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe"
as the Subject.

Reply via email to