-
Notifications
You must be signed in to change notification settings - Fork 3
/
rd.instructions
52 lines (46 loc) · 1.74 KB
/
rd.instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
INSTRUCTIONS FOR EDITING RD
RD IS A TECO WITH MACROS LOADED INTO THE Q-REGISTERS.
IT MAKES USE OF THE BOOTSTRAP FEATURE OF TECO - I.E.
IF THE Q-REGISTERS ARE LOADED, TECO HALTED WITH ;H, AND THE
RESULT SSAVED - THEN WHEN THE SSAVED TECO IS RUN IT STARTS BY
EXECUTING THE MACRO IN REGISTER @.
THE "SOURCE" OF RD (<SOURCES>RD.TECO-MACROS) CONSISTS OF THE
CONTENTS OF Q-REGISTER 0. IT CONTAINS A PROGRAM TO LOAD ALL THE
OTHER Q-REGISTERS. FOR EACH REGISTER TO BE LOADED, IT "I"NSERTS
ITS CONTENTS INTO THE BUFFER THEN E"X"TRACTS IT INTO
THE REGISTER.
THE CORRECT WAY TO MODIFY RD IS THUS AS FOLLOWS.
EDIT THE "SOURCE" AS DESIRED. SAY THE EDITED VERSION
IS <SOURCES>RD.TECO-MACROS;N.
THEN:
@TECO ;GET A TECO
*;Y$
INPUT FILE: <SOURCES>RD.TECO-MACROS;N [CONFIRM]
M CHARS
*HX0$ ;LOAD THE NEW STUFF INTO Q0
*M0$ ;EXECUTING IT LOADS THE OTHER REGISTERS
*;H$ ;ALL LOADED, NOW HALT AND SAVE
@SSAV 0 777 RD.SAV;N
IF THERE IS NO "SOURCE" YOU CAN ALWAYS GET ONE FROM
THE CURRENT RD AS FOLLOWS (SINCE IT IS IN Q0).
@RD
.
.
.
*HK$ ;MAKE SURE BUFFER EMPTY
*G0$ ;GET THE SOURCE FROM Q0
*;U$ ;WRITE IT OUT
OUTPUT FILE: RD.TECO-MACROS;N
*;H$
@
NOTE THAT IN FORMING A NEW RD YOU COULD HAVE STARTED WITH AN
EXISTING RD AND BROUGHT INTO IT THE NEW Q0. IT IS PREFERABLE
TO START FROM A FRESH TECO AS ABOVE TO BE SURE YOUR TECO
IS A RECENT VERSION - YOUR CHANGES ARE MORE LIKELY TO WORK!
OF COURSE THERE ARE OTHER WAYS TO ACCOMPLISH THE ABOVE.
THE ONLY IRONCLAD RULE IS:
NEVER CHANGE A Q-REGISTER WITHOUT MAKING THE CORRESPONDING CHANGE
TO Q0. OTHERWISE WHEN SOMEONE RELOADS IT FROM Q0 YOUR CHANGE WILL
DISAPPEAR.
NOTE: "^[" IN THE SOURCE LISTINGS IS "ALTMODE" AND PRINTS
AS "$" WHEN IN TECO.