Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/old-novice.elib
There are no other files named old-novice.elib in the archive.
xW
[0+8+FQ(+4)[1
0FO10F"G+Q1'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
   q88C+N
ZOfPs7.+%n2?
rIiT`@k^z3F%!,&u-)]< sK(]Vm3}10
)*$36.gE/dS,b+&ty~t4z& Disable Commands& Disable Handler& Disable One Command& Enable One Command& Ensure Disable Vars& Fast Disable One Command& Kill Novice Library& Load Disable Profile& Make Structure& Save Disable Profile& Setup Novice LibraryDisable CommandEnable All CommandsTurn Off Everything^R Disabled Command^R Disabled Prefix Command~DIRECTORY~~DOC~ & Disable Commands~DOC~ & Disable Handler~DOC~ & Disable One Command~DOC~ & Enable One Command~DOC~ & Ensure Disable Vars$~DOC~ & Fast Disable One Command~DOC~ & Kill Novice Library ~DOC~ & Load Disable Profile~DOC~ & Make Structure ~DOC~ & Save Disable Profile ~DOC~ & Setup Novice Library~DOC~ Disable Command~DOC~ Enable All Commands~DOC~ Turn Off Everything~DOC~ ^R Disabled Command$~DOC~ ^R Disabled Prefix Command~DOC~ ~Filename~~Filename~
~INVERT~G0fo..qNovice Setup Hookf"n[0
m0'
:m(m.m& Load Disable Profile)y1m(m.mEnable All Commands)
1:f<
m(m.mKill Variable)Control-X Working Definitions
m(m.mKill Variable)Control-X Initial Definitions
m(m.mKill Variable)Standard Working Definitions
m(m.mKill Variable)Standard Initial Definitions
>
K[0[1[2
f[bbind
f[dfile
fshsnamefsdsname
fsosteco"eetFOO EPRFILfsxunamefsdfn1'
"#etEMACS.PROFILE'
1:<er>"l
f~(0,3:g(fserror))OPN"nfserrorfserr'
1:<f[dfile
erEMACS;
f]dfile>"l
f~(0,3:g(fserror))OPN"nfserrorfserr'
fff"e'
m(m.m& Ensure Disable Vars)
-2''
@y
m(m.m& Ensure Disable Vars)
-1u0
0u1
qStandard Working Definitionsu2
512<%0j1a-D"e
q0,q2m(m.m& Fast Disable One Command)q1u1
'>
qControl-X Working Definitionsu2
128<%0j1a-D"e
q0-512,q2m(m.m& Fast Disable One Command)q1u1
'>
q1"n:m(m.m& Save Disable Profile)'
-1'D[0[1[2
0fo..qStandard Initial Definitions"e
0m(m.m& Make Structure)u0
0u2
512<q2u:(q:0(1))(q2)
%2w>
512,E:i:0(3)
q0m.vStandard Initial Definitions'
fs^RIndirectu1
q1m(m.m& Make Structure)u0
0u2
128<q:.x(q2)u:(q:0(1))(q2)%2w>
128,E:i:0(3)
q0m.vControl-X Initial Definitions
ff"e
0fo..qStandard Working Definitions"n0''
qStandard Initial Definitions,0m(m.m& Make Structure)u1
q1m.vStandard Working Definitions
qControl-X Initial Definitions,(fs^RIndirect)m(m.m& Make Structure)u0
q.xu:0(1)
q0m.vControl-X Working Definitions'
0
[0[1[2
@ftPress key to disable: 
m(m.m& Read Q-reg)[.1
@ft  Go ahead1m(m.m& Yes or No)"e0'
m(m.m& Disable Commands).1
([0[1[20[3[4[5[6
0fo..qStandard Working Definitions"e
1m(m.m& Load Disable Profile)w'
qStandard Working Definitionsu4
qControl-X Working Definitionsu6
1u3
<:i0-fq0;
1:f<f0fs^RIndirectu2>"n
f0f"l:i*0 Bad Q-register stringfsERR'+1:g0u2
q2,q6m(m.m& Disable One Command)u5'
"#q2,q4m(m.m& Disable One Command)u5'
q5"n@fg@ft
50fsechoactive'
q3&q5u3
'>
q3"e:m(m.m& Save Disable Profile)'V[i[v[0[1[2[30[40[5
q:v(0)u2
q2"eqifs^RIndirectui'
:i3This command must stay enabled.
q:(q:v(2))(qi)"n
:i*Continuing would affect backup'
q:(q:v(1))(qi)u0
q0"e:i*Cannot disable undefined command key'
q0-(m.m^R Disabled Command)"e:i*Command is already disabled'
q0-(m.m^R Disabled Prefix Command)"e:i*Command is already disabled'
q0-(0fs^RINIT)"e:i*Cannot disable undefined command key'
q0-(Afs^RINIT)"e:i*Cannot disable a self-inserting key'
1:f<(m.m^R Abbrev Expand and Self-Insert)u4
(m.m^R Abbrev Expand And Call Old Char)u5>w
q0-q4"e:i*Cannot disable a self-inserting key'
q0-q5"e:i*Cannot disable an abbrev expanding key'
q0-(m.m^R CRLF)"eq3'
1f[noquit
qi:f:v(3)D
q:(q:v(1))(qi)u:(q:v(2))(qi)
q2"e
m.m^R Disabled Commandu3
q3ui'
"#m.m^R Disabled Prefix Commandu3'
q3u:(q:v(1))(qi)
0n[i[v[0[1[2[3
q:v(0)u2
q2"eqifs^RIndirectui'
q:(q:v(1))(qi)u0
q0-(m.m^R Disabled Command)"e:i*Command is already disabled'
q0-(m.m^R Disabled Prefix Command)"e:i*Command is already disabled'
1f[noquit
qi:f:v(3)D
q:(q:v(1))(qi)u:(q:v(2))(qi)
q2"e
m.m^R Disabled Commandu3
q3ui'
"#m.m^R Disabled Prefix Commandu3'
q3u:(q:v(1))(qi)
0Bf[bbind
g:Standard Working Definitions(3)
g:Control-X Working Definitions(3)
f[dfile
fshsnamefsdsname
fsosteco"eetFOO EPRFILfsxunamefsdfn1'
"#etEMACS.PROFILE'
eihpef
0[i[v[1[2
q:v(0)u2
q2"em.m^R Disabled Commandu1'
"#m.m^R Disabled Prefix Commandu1'
q:(q:v(2))(qi)"e
q:(q:v(1))(qi)-q2"e
:i*Command disabled but no backup available''
1f[noquit
qi:f:v(3)E
q:(q:v(2))(qi)u:(q:v(1))(qi)
0u:(q:v(2))(qi)
q2"eq:(q:v(1))(qi)ui'
0E[0[3[4[9[8[7
fsqpptru9
q..1u0
qControl-X Working Definitionsu4
q:(q:4(2))(q0)u3
@:i7|q3m(m.m^R Describe)w|
@:i8|ftC-X q0,q3m(m.m& ^R Briefly Describe)|
f@:m(m.m& Disable Handler)Ufsqpptr[9
q..0fs^rindir[0
qStandard Working Definitionsu4
q:(q:4(2))(q0)[3
@:i7|q0m(m.m& Charprint)ft 
q0,q3m(m.m^R Describe)|
@:i8|q0,q3m(m.m& ^R Briefly Describe)|
f@:m(m.m& Disable Handler)}[1[2
@:i2|ftYou have several options, according to the next character you type:
 1  Execute the function just once.  Leave the key turned off.
 Y  Execute the function and leave the key turned on from now on.
 N  Do not execute the function.  Leave the key turned off.
 ?  Show a full description of what the function does.
|
fq3"lm(m.m& Load Bare)'
!Startover!
m8
ftThis key has been disabled for you while you are learning.

!Retype!
m2
!ShortPrompt!
ft
Type 1, Y, N, or ? 
q2f[helpmac
@fg
fi:fcu1
ft1
f]helpmac
q1-1"e0u..h@v
f:@m(q3(q9fsqpunw))'
q1-?"e
:ft
m7
oShortPrompt'
q1-Y"e
q0,q4m(m.m& Enable One Command)
0u..h@v
@ft
Command now turned on.  Use M-X Disable Command to turn it off again.
0fsechoactive
m(m.m& Save Disable Profile)
f:@m(q3)'
q1-N"noShortPrompt'
@ftCommand remains turned off.
0fsechoactive
0u..hO[0[1[2[3
0u0
0u3
qStandard Working Definitionsu1
512<q:(q:1(2))(q0)u2
q2"n
q0,q1m(m.m& Enable One Command)"e%3w''
%0w>
0u0
qControl-X Working Definitionsu1
128<q:(q:1(2))(q0)u2
q2"n
q0,q1m(m.m& Enable One Command)"e%3w''
%0w>
q3:\u3
@ft3 commands enabled.0fsechoactive
ff"e:m(m.m& Save Disable Profile)'[0[1[6
0u1
qStandard Working Definitionsu6
-1u0
512<(%0)fs^RIndirect,q6m(m.m& Disable One Command)"e
%1w'>
qControl-X Working Definitionsu6
-1u0
128<(%0),q6m(m.m& Disable One Command)"e
%1w'>
q1:\u1
@fg@ft
1 commands turned off.0fsechoactivew
070[0[1[20[4
ff&1"nu0'
ff&2"nu4'
4*5fsqvectoru1
q4"n
q1[..o
g4
]..o'
"#
q0u:1(0)
q0"e512u2'
"#128u2'
q2*5fsqvectoru:1(1)
q2*5fsqvectoru:1(2)
q2,0:i:1(3)'
q1
NOVICECSupervises incremental learning, starting with subset of EMACS.vS Get things set for using NOVICE as a novice.
This is going to try to load a profile file.  If the user doesn't have one,
it doesn't do anything except return 0 so that an INIT file could look after
unloading the library and cleaning up.  It doesn't do the cleanup in the
general case, because someone might be trying out the library in order to
create a profile. :S Take away the variables and pointers to disablers.
Leaving the pointers there will cause errors if the keys are pressed.  Might
be better to make the library unkillable though.  S Disable commands according to user's profile.
This applies to the standard 9-bit character set and to the dispatch vector .X
for the C-X prefix character.
The profile is a file containing 512+128 characters, each E or D.
We disable each command whose character is a D and save the previous meaning
in order to support reinstatement of original.  Looks first for (ITS) uname
EPRFIL or (Twenex) EMACS.PROFILE on users home directory, then (Twenex) for
EMACS:EMACS.PROFILE.
Returns -1 if the profile file exists, 0 if not.  With a numarg, assumes that
it is supposed to be setting up for creating a profile file if none exists.  S Create the database of flags and pointers.
Standard Command Definitions is a q-vector holding the original definitions for
the keys when the library is first loaded.  Disabled Command Definitions is the
q-vector for holding the information that applies when keys have been disabled.
Element 0 of the q-vector is 0 for the standard 9-bit commands and contains the
character for C-X for the Control-X prefix commands.  Element 1
points to a q-vector containing the pointers to the functions that the keys
actually run.  Element 2 points to a q-vector containing the "backup" functions
which are 0 unless the command has been disabled.  Element 3 is a string
containing the E/D profile.  Value E means the key operates normally; D means
that it is disabled.  These structures are deliberately redundant.
Numarg means allow reinitializing the Disabled Command Definitions structure. [C Disable a particular command character.
Prompts for you to type the key to be disabled.  Asks for confirmation.
Some keys cannot be disabled because doing so would prevent proper EMACS
operation.  It decides.  (S Turn off some commands.
Takes any number of string args, each specifying a command to be turned off,
as a q-register name (such as ...W for C-M-W, or ..![ for M-).  Uses the
string returned by & Read Q-reg Name, which returns the right thing for C-X
subcommands.  These commands are disabled until the user tries to use them and
asks for them to be enabled again.  A null string argument terminates the
call.  7S Turn off a working command.
Takes two args, indicating where the command information is.  Precomma arg is
index into the dispatch vectors; numarg is a qvector containing pointers to the
various other qvectors involved.  Always checks to be
sure that this is a command that it makes sense to disable.  eS Turn off a working command.
Takes two args, indicating where the command information is.  Precomma arg is
index into the dispatch vectors; numarg is a qvector containing pointers to the
various other qvectors involved.  4S Record user's profile of disabled commands.
We write the profile as 512+128 characters, each E or D
for enabled or disabled, into the file
<uname> EPRFIL or EMACS.PROFILE.S Turn on a disabled command.
Takes two args, indicating where the command information is.  Precomma arg is
index into the dispatch vectors; numarg is a qvector containing pointers to the
various other qvectors involved.  Notifies if the command being requested is
not actually disabled (that is, if its backup pointer is 0) by returning 0 if
everything is OK and a string pointer otherwise.  _^R Function runs for a disabled prefix subcommand.
To turn a disabled key back on, press it and answer "Y" at the prompt.
The original command is q0,(q:(q:Control-X Working Definitions(2))(q0))m(m.m^R Describe)  S^R This function runs when you press a disabled key.
To turn a disabled key back on, try to use it and answer "Y".
The original command q0,(q:(q:Standard_Working_Definitions(2))(q0))m(m.m^R Describe)QS Internal function to handle general disabling stuff.
Handles prompting and showing documentation.  Is called by ^R Disabled Command
and ^R Disabled Prefix Command.  Expects some standard q-registers from caller.
 0: the index into the actual command vector
 3: the actual command pointer
 4: the structure of definitions
 7: a macro that runs the right full documenter
 8: a macro that runs the right brief documenter
 9: stack pointer for unwinding
zC Restore the default bindings of all keys.
Restores any commands that have been disabled, sets the Disabled Command
Definitions Qvector to its initial state, and saves a bland profile file.
Inhibits saving the profile file if numarg exists.  C Make all commands run the disabler function.
This is for maintainers who are building new environments for people.  It is
much easier to turn a few things on again than to figure out the 501 things
that need to be turned off.  This does not touch the self-inserting characters,
the undefined commands, or a few commands that are necessary in order for EMACS
to operate correctly, like ^R Quit.  ,S Returns Q vector needed for NOVICE command fiddling.
Has a 4 element Qvector.  No arg or 0 means standard type.  Otherwise, the arg
is taken to be the prefix character.  A precomma arg means use the structure
it points to to initialize the new one.
 Element Contents
 0       "type", meaning 0 for standard kind or prefix character code
 1       Qvector containing the actual commands to run for key press
 2       Qvector containing the backup commands in case actual holds disabler
 3       String containing the E/D flags for the profile
h& Setup Novice Library
& Kill Novice Library
& Load Disable Profile
& Ensure Disable Vars
Disable Command
& Disable Commands
& Disable One Command
& Fast Disable One Command
& Save Disable Profile
& Enable One Command
^R Disabled Prefix Command
^R Disabled Command
& Disable Handler
Enable All Commands
Turn Off Everything
& Make Structure
T+8+fq(+4)[20[3
<%3,-q2f2u3q3&1@;q3"l0'>
f[BBindq3-1*5,q3*5g2q:..o(0)+q2