emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"teco line noise"


From: Ben Wing
Subject: "teco line noise"
Date: Tue, 16 Nov 2004 20:07:28 -0600

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]

!* 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         !
      @address@hidden/% !*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                         !











reply via email to

[Prev in Thread] Current Thread [Next in Thread]