unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* "teco line noise"
@ 2004-11-17  2:07 Ben Wing
  2004-11-17  2:34 ` Alfred M. Szmidt
  0 siblings, 1 reply; 4+ messages in thread
From: Ben Wing @ 2004-11-17  2:07 UTC (permalink / raw)
  Cc: 'XEmacs Beta'

Still can't find any version of GNU Emacs before 18.55 but I found this:



[beginning of manual]







                   MASSACHUSETTS INSTITUTE OF TECHNOLOGY
                    ARTIFICIAL INTELLIGENCE LABORATORY






     AI Memo 555                                        2 October 1981







                       EMACS MANUAL FOR TWENEX USERS
EMACS MANUAL FOR TWENEX USERS                       EMACS MANUAL FOR TWENEX
USERS


                                    BY                                    BY
BY


                            RICHARD M. STALLMAN
RICHARD M. STALLMAN                            RICHARD M. STALLMAN


                            A REFERENCE MANUAL                            A
REFERENCE MANUAL                            A REFERENCE MANUAL


            FOR THE EXTENSIBLE, CUSTOMIZABLE, SELF-DOCUMENTING
FOR THE EXTENSIBLE, CUSTOMIZABLE, SELF-DOCUMENTING            FOR THE
EXTENSIBLE, CUSTOMIZABLE, SELF-DOCUMENTING


                         REAL-TIME DISPLAY EDITOR
REAL-TIME DISPLAY EDITOR                         REAL-TIME DISPLAY EDITOR


               This manual corresponds to EMACS version 161



[excerpt from emacs.src]
\f
!* START !

EI^[			!*Close off the input file			!
HK			!*Purge the buffer				!
GZ			!*Pull in the command line from QZT		!
J			!*Jump back to beginning			!
^D
128,0ET			!*Reset abort on error bit			!
-1,5:W			!*Set terminal to hold whole screen		!
^[			!*Discard numeric argument returned by :W cmd	!
22,2:W			!*Protect the bottom 2 status lines from update	!
^[			!*Discard numeric argument returned by :W cmd	!

!* Preload QHT with macro to erase a given line on screen, leave cursor	!
!* at that line, and make TECO forget it did anything to the terminal.	!

@^UH~			!* QHT <= macro between the "~" s		!
  [A			!* Push QAT and QAN onto Q register stack	!
  UA			!* QAN <= input line number			!
  0,1ET			!* Enable image mode output			!
  27^T			!* Send escape to terminal			!
  ^^[^T
QA\
^YT
^YK
^^H^T
  1,0ET			!* Disable image mode output			!
  ^^KMM			!* Kill the current lines contents		!
  32768W		!* Make TECO forget we messed with screen	!
  ]A			!* Pop QAT and QAN off the Q register stack	!
~			!* End of macro load into QHT			!

!*Preload QMT with macro to output characters to terminal in image mode !
!*Q registers affected by an MM:  QAN					!

@^UM~			!*QMT <= macro between "~" s  			!
  UA			!*QAN <= macro's argument (char to output) 	!
  0,1ET			!*Set image mode bit				!
  27^T			!*Send ESC to terminal for special sequence	!
^^[^T
  QA^T			!*Send the saved character to terminal		!
  1,0ET			!*Reset back to non image mode			!
~			!*End of image mode macro load in QMT		!

!*Preload QUT with macro to optionally save a modified buffer		!
!*Q register affected by MU:  QLT, QAN, QST, QAN, QTN, QQN, QYN, QXN,	!
!*QWT									!

@^UU~			!*QUT <= all characters between the "~" s	!
  <			!*Begin loop to save buffer			!
    @^UL%Save%		!*QLT <= "Save"					!
    @32:^UL%%		!*QLT <= "Save "				!
    @:^UL%modified%	!*QLT <= "Save modified"			!
    @32:^UL%%		!*QLT <= "Save modified "			!
    @:^UL%buffer%	!*QLT <= "Save modified buffer?"		!
    @32:^UL%%		!*QLT <= "Save modified buffer? "		!
    @:^UL%(Y/N)%	!*QLT <= "Save modified buffer? (Y/N)"		!
    MN			!*Get response from user			!
    UA			!*Save returned success/abort code		!
    QA;			!*Abort function if string fetch failed		!
    GS			!*Get the response string			!
    -1A-^^N"E		!*If response is "N" then			!
      -1UA		!*QAN <= code for successful execution		!
      HK		!*Purge the current buffer			!
      0;		!*Abort iteration and go to terminal code	!
    '			!*End of "N" processing				!
    -1A-^^Y"E		!*If response is "Y" then			!
      ^YK		!*Delete response from text buffer		!
      @^UL%File:%	!*QLT <= "File:"				!
      @32:^UL%%		!*QLT <= "File: "				!
      MN		!*Get response from user			!
      UA		!*Save returned success/abort code		!
      QA;		!*Abort function if string fetch failed		!
      @^UA%@EW/%	!*QAT <= "@EW/"					!
      GS		!*Pull file name string into buffer		!
      ^Y:XA		!*QAT <= "@EW/<filename>"			!
      ^YK		!*Delete from buffer in case we bomb		!
      @:^UA%/%		!*QAT <= "@EW/<filename>/"			!
      MA		!*Open the file to save current buffer in	!
      EC		!*Write out buffer and close file		!
      HK		!*Purge the buffer				!
      0;		!*Abort iteration and go to terminal code	!
    '			!*End of "Y" processing				!
    ^YK			!*Delete previous response from text buffer	!
  >			!*End loop to save buffer			!
QA			!*Return success code				!
~

!*Preload QPT with macro to get next char from terminal stream		!
!*Q registers affected by MP: QTN, QYN, QXN, QQN			!

@^UP~			!*QPT <= everything between "~" s		!
  0,32ET		!*Set read with no wait for pending commands	!
  ^TUT			!*QTN <= next pending command (-1 if none)	!
  QT"L			!*If no pending commands then			!
    32,0ET		!*Reset read with no wait bit to get user input	!
    16&QZ"E		!*If screen update is not inhibited then	!
      -1W		!*Update the terminal screen			!
    '			!*End of screen update test			!
    ^TUT		!*QTN <= next command from user			!
  '			!*End of no pending commands execution		!
  QT-7"E		!*If input from terminal is a ^G then		!
    0UY			!*Reset counter to exit current macro		!
    0UX			!*Reset counter to exit pending macros		!
    0UQ			!*Reset word to cause abort to highest level	!
  '			!*End of ^G from terminal processing		!
  QQ			!*Return ^G abort code as numerical argument	!
~			!*End of QPT macro load				!

!* Preload QOT with macro to update editor status line (line 23)	!

@^UO~			!* QOT <= all characters between the "~" s	!
  23MH			!* Go ready the editor status line		!
  @^A%EMACS%		!* First entry on editor status line		!
  32^T			!* Send blank to terminal			!
  @^A%Ver%		!* Second entry on editor status line		!
  32^T			!* Send blank to terminal			!
  @^A%1.4%		!* Third entry on editor status line		!
  32^T			!* Send blank to terminal			!
  32^T			!* Send blank to terminal			!
  QZ&32"N		!* If LEARN mode is enabled then		!
    @^A%(Learn)%	!* Show learn prompt				!
  |			!* Else if not learn mode			!
    @^A%(Fundamental)%	!* Show fundamental mode			!
  '			!* End of mode entry on status line		!
  32^T			!* Send blank to terminal			!
  32^T			!* Send blank to terminal			!
  12&QZ"N		!* If a primary file is open then		!
    32^T		!* Send another blank to terminal		!
    @^A%File:%		!* Filespec is last entry on status line	!
    8&QZ"N		!* If primary output file stream is open then	!
      :GT		!* Get the output file spec			!
    |			!* Else input file must be open			!
      :GK		!* Get input file spec				!
    '			!* End of file spec test			!
  '			!* End of filespec insertion			!
  32768W		!* Forget we did anything to screen		!
~			!* End of status line update macro		!

!*Preload QXT with macro to fetch next command character		!
!*Q registers affected by MX:  QTN, QYN, QXN, QQN, QWT,			!

@^UX~			!*QXT <= all characters between the "~" s	!
  QY"E			!*If no EMACS macro commands to execute then	!
    MP			!*Get next command from command stream		!
    32&QZ"N		!*If learn mode is enabled then 		!
      @QT:^UW%%		!*Append the command to the macro buffer	!
    '			!*End of macro collection test			!
  '			!*End of no EMACS macro commands execution	!
  QY"L			!*If EMACS macro commands to execute then	!
    GW			!*Pull macro commands into buffer		!
    QYAUT		!*QTN <= EMACS command extracted from string	!
    ^YK			!*Kill string in buffer				!
    %Y			!*Increment macro command counter		!
    "E			!*If was last EMACS macro command then		!
      %X		!*Increment macro repeat counter		!
      "L		!*If more repeat loops to be done then		!
        -:QWUY		!*Restore command counter contents		!
      '			!*End of macro command counter restore		!
    '			!*End of last repeat loop test			!
  '			!*End of EMACS macro command fetch		!
  QQ			!*Return abort code as argument			!
~			!*End of QXT macro load				!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-11-17 17:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-17  2:07 "teco line noise" Ben Wing
2004-11-17  2:34 ` Alfred M. Szmidt
2004-11-17  8:38   ` Gian Uberto Lauri
2004-11-17 17:12     ` Alfred M. Szmidt

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).