Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/bare.emacs
There are no other files named bare.emacs in the archive.
!* -*-TECO-*- *!

!* This file contains "definitions" for the built-in TECO ^R command definitions
which can be used in EMACS.  We do not mention ^C and ^R, the comment mode commands,
nor ^K, ^T, ^W and ^X, because they wouldn't work with EMACS's kill and mark conventions,
nor ^L, ^Q, ^U and ^V, because there is no reason to use them instead of the
standard EMACS commands.

The body of each definition is a q-register name for the ^R command which would
have this function in bare TECO.  There may also be ordinary macros.
A macro definition is ordinary if it is longer than three characters.

The command Generate Library does NOT work on this file.
BARE Library Generate must be used instead.  Its argument is the source file name.
It writes a :EJ file on the EMACS directory.

These "definitions" are compiled in a special fashion so that they make
a compatible library file, which supplies the appropriate builtin functions
as the values of the names.  They do not become part of EMACS :EJ.
The separate library is not normally loaded.  It is loaded temporarily by
the documentation commands which are their main reason for existing.
However, if you want to, you can load this library and look builtin commands
up by name in it.!

!~Filename~:! !Documentation of built-in TECO ^R command definitions.!
!& BARE Starting Point:! !S Placeholder for ~Invert~'s search.!
!^R Self Insert:! !^R Insert the character used to invoke this.
With an argument, insert the character that many times.
The precise operation is affected by whether Overwrite mode is in effect.!
!^R Self Insert for Formatting Character:! !^R Insert the character used to invoke this.
Always simply inserts, even in overwrite mode.!
!^R Insert CRLF:! !^R Insert a CRLF.
With argument, inserts several CRLFs.
If done at the end of a line, a blank line is created.!
!^R Exit:! !^R Exit normally from a subsystem or a level of editing.
At top level, exit from EMACS like ^R Return to Superior, which see.!

!^R Beginning of Line:! !^R Move point to beginning of line.!
!^R Backward Character:! !^R Move back one character.
With argument, move that many characters backward.
Negative args move forward.!
!^R Delete Character:! !^R Delete character after point.
With argument, kill that many characters (saving them).
Negative args kill characters backward.!
!^R End of Line:! !^R Move point to end of line.!
!^R Forward Character:! !^R Move forward one character.
With argument, move that many characters forward.
Negative args move backward.!
!^R Quit:! !^R Abort execution of any command.
Discards any numeric argument, prefix characters,
or partially typed command.  Stops running commands instantly.!
!^R Next Line:! !^R Move to beginning of next line.
With argument, moves several lines.  Negative args move up.!
!^R Open Line:! !^R Insert a CRLF after point.
Differs from ordinary insertion in that point remains
before the inserted characters.
With argument, inserts several CRLFs.!
!^R Previous Line:! !^R Move to beginning of previous line.
With argument, moves several lines.  Negative args move down.!
!^R Bare Search:! !^R Reads character and searches for it.
Moves point to just after the next occurrence of that character.!
!^R Times Four:! !^R Multiply the numeric arg by four for the next command.!
!^R Macro Q-Register:! !^R Read Q-register name and execute macro there.!
!^R Backward Delete Character:! !^R Delete character before point.
With argument, kills several characters (saving them).
Negative args kill characters forward.!

!^R Backward Delete Hacking Tabs:! !^R Delete character before point, turning tabs into spaces.
Rather than deleting a whole tab, the tab is converted into the appropriate
number of spaces and then one space is deleted.!
!^R Argument Digit:! !^R Specify numeric argument for next command.
Several such digits typed in a row all accumulate.!
!^R Negative Argument:! !^R Make argument to next command negative.!
!& BARE Stopping Point:! !S Placeholder for ~Invert~'s search.!
!~Invert~:! !S Convert a pointer to something defined in this file to its name.!

!*** The ~INVERT~ macro is the inverse of the loader macro:  given!
!*** <object> and <ptr to file>, it returns the name of the object as a string!

    FQ()"G			    !* If object is a string, do the usual thing.!
      +8+fq(+4)[2 0[3	    !* See & Purify Buffer for comments on this!
      < %3,-q2f2u3 q3&1@; q3"l 0' >
      f[BBind q3-1*5,q3*5g2 q:..o(0)+q2'

!*** Not a string.  See if it is the definition of any char in this file.!

    m.m&_BARE_Starting_Point[1	    !* Search thru this library.  Find where to start and stop!
    Q1+FQ1+4U1			    !* Start at macro following start point.!
    < Q1-Q2@;			    !* Stop when ptr reaches ending point.!
      FQ1-3:"G			    !* If this is a phony def for a builtin,!
        F1 @ FS ^R Init-"e   !* and its value is what we are looking for,!
	  q1:m(m.m&_Macro_Name)''  !* Find and return name of that string.!
      Q1+FQ1+4U1 >		    !* Else advance to next macro!
    0				    !* Not found => return 0.!