1 u`u~oq"
2
3 !change!:ic!:x1:x2sq1-q1diq2!:x1:x2sq1-q1diq2o?end_of_lib?
4
5 !comma!!,!<:l 0t:vw2q2-1"ng2-dq2-2"e0a-056."e-d0;'''c>0u2o?end_of_lib?
6
7 !create_library!i/skeleton_library/152<040.i>.-168,.x1 -168d es1/teco$teco_search/u2q2"e:t/No teco library found./=o?end_of_lib?'
8 i/ec|copy /g1q2-167di/registers.teco|/.-24-q2,.x1-q1dm10u1o?end_of_lib?
9
10 !delete!:id?u5w.u3:x1:x2sq1.-q1u4sq2q5-.+q4"gq4,.k:'q3j:t/Too much to delete.
11 /'?:x1:x2q`mdq1q2o?end_of_lib?
12
13 !equals!!line_no!!=!:i=/.u10u2j<l%2w.-q1;>q1j0a-12."e%2w'q2/
14 u1q1,q~"eq1,q`"e:i1/:x1m=/o/finish_lib_file/'
15 :i1/:x1q`m=/o/finish_lib_file/'
16 :i1/:x1q~,q`m=/o/finish_lib_file/o?end_of_lib?
17
18 !help!:ih|:x1g1168-q1<040.i>.-168,.x4-168des4/teco$teco_search/"e0u1:t/No such macro./=o/end/'
19 .u2012.i012.ig1q2,.x1q2,.keiq40u4.u3q2+2j<:sq1;.-q3;1a,041."l0l.u4:n/^$/;q4,.t0;'>
20 q4"e:t/No macro description found./='0u1q2,q3k!end!|:x1mhq1o?end_of_lib?
21
22 !library!:x1:x4.u2z-.u3ei/registers.teco/q2j2li/!/g1i/!/g4i/o?end_of_lib?/012.i012.i
23 .u4i/:x"q2,z-q3eo!registers.teco!q2,z-q3kec!an registers.teco /g1i/.teco!0u1/q4,.x1q4,.ko?finish_lib_file?o?end_of_lib?
24
25 !library_registers!:t|
26 Use of registers:
27 macro Registers
28 Name Numeric Char Description of Use
29
30 , See the description of the comma teco macro.
31
32 = See the description of the equals teco macro.
33
34 change c 1 2 This macro takes two string arguments. It searches
35 for the first, deletes it, and inserts the second.
36 The macro is stored in Q-register c, and the
37 strings in Q-registers 1 and 2.
38
39 comma 2 This macro is similar to the edm comment mode
40 request. Starting on the current line, each line
41 is typed without its newline and anything then
42 typed by the user is appended to the line. If the
43 user types only a period ".", this macro is
44 terminated without affecting the last line. Note -
45 for blank lines nothing is typed although user
46 input is expected.
47
48 create_library
49 1 2 This macro creates a teco marco library,
50 registers.teco, in the working directory to which
51 macros may be added with the library macro, macros
52 deleted with the unlib macro, macro descriptions
53 added with the write_help macro, and macro
54 descriptions read with the help macro.
55
56 delete 3 4 5 d 1 2 This macro takes two string arguments and an
57 optional numeric one. It searches for the first
58 string, then searches for the second; the two
59 search strings and any intervening characters
60 define the delete string. If the length of the
61 delete string is less than the numeric argument,
62 or no numeric argument is given, the defined
63 string is then deleted. The macro is stored in
64 Q-register d and the strings in Q-registers 1 and
65 2.
66
67 equals 1 2 = This macro returns an expression whose value is
68 the current line number. This is computed every
69 time the macro is called by counting the number of
70 newlines between the beginning of the buffer and
71 the current pointer. The macro is stored in
72 Q-register =. This macro may be used in an
73 expression as a numeric quantity.
74
75 help 1 2 3 4 h This macro takes one string argument. The string
76 contains the name of a macro, and teco search
77 rules are used to locate the macro. If a
78 description of the macro exists, it is typed.
79 This macro is stored in Q-register h.
80
81 library 1 2 3 4 This macro takes two string arguments and adds a
82 macro to registers.teco in the working directory.
83 The first string is the name of the macro, and the
84 second is the actual macro text. This macro stores
85 the macro text in the library in the proper
86 format, and adds the name macro.teco to the
87 library.
88
89 library_registers This macro takes no arguments and types out all
90 macro descriptions for teco macros in the
91 directory containing teco. These are the teco
92 macros provided by the installation.
93
94 line_no See description of the equals teco macro.
95
96 list 1 2 This macro takes no arguments and lists **.teco in
97 the directory containing teco. These are the teco
98 macros provided by the installation.
99
100 list_all_macros 1 2 This macro lists **.teco in the working directory,
101 login directory, and the directory containing
102 teco.
103
104 list_text_registers
105 1 2 3 This macro takes no arguments. It types out the
106 contents of all Q-registers that contain text
107 except Q-registers ",',1,2,3 . For each text
108 register, a line containing a q and the register
109 name is typed; then the contents of the register
110 are typed; finally, a newline is typed.
111
112 registers This macro takes no arguments. It types out all
113 the macro descriptions for a user teco macro
114 library. This macro is always part of a user teco
115 macro library.
116
117 restart * r This macro takes one string argument. This string
118 is the relative pathname of the text to be edited.
119 The buffer is emptied, the new text read, and the
120 buffer pointer set to the beginning of the text.
121 The macro is stored in Q-register r and the
122 relative pathname in Q-register *. See
123 description of the start_up teco macro.
124
125 start_up 1 * f w This macro takes no arguments; however, it
126 attempts to pop Q-registers off the pushdown
127 stack. This macro is called automatically when
128 teco is entered from command level. It allows the
129 user to specify none, one, or two arguments to
130 teco. First, Q-registers f and w are loaded with
131 the string eoq*. If one or more arguments are
132 given, the first is taken as the relative pathname
133 of the text to be edited and stored in Q-register
134 *. The text is read and the buffer pointer set to
135 the beginning of the text. If there is more than
136 one argument, the second is stored in Q-register
137 * and becomes the relative pathname of the output
138 file.
139
140 type 1 2 3 t This macro types out the current line and possibly
141 other lines with a <^H> to indicate the current
142 pointer position. It can take two numeric
143 arguments; both are optional. If no arguments are
144 given, the current line is typed. If only one
145 argument is given, the macro types what the t
146 command would type with that argument, but
147 includes the entire current line. If both
148 arguments are given, the first must be negative
149 and the second positive. Each will be used as an
150 argument to the t command. The macro is stored in
151 Q-register t.
152
153 unlib 1 2 3 4 This macro takes one string argument, the name of
154 a macro in a user teco macro library, and removes
155 it from the library. The library from which the
156 macro is removed must be in the working directory
157 and have as one of its names registers.teco. The
158 text for the macro is removed from the library,
159 and the name macro.teco is deleted.
160
161 upper_case This macro takes no arguments. It goes through the
162 current text and converts all lowercase letters to
163 uppercase. Only letters are affected. The pointer
164 is not moved.
165
166 write_help 1 5 6 7 8 This macro allows a user to write a macro
167 description easily. No arguments are given; when
168 input is asked for, the user may type in his
169 descriptive text. If a line of input ends in a
170 dollar sign "$", then the line is executed;
171 otherwise, the line is inserted as text. A single
172 blank line ends the macro.
173
174 |o?end_of_lib?
175
176 !list_all_macros!ec?ioa_ "^/^-^-working directory";list -nm -nhe **.teco?
177 ec?ioa_ "^-^-home directory";ln -sm -lk -pn home_dir **.teco?
178 !list!
179 i/skeleton_library/152<040.i>.-168,.x1 -168d es1/teco$teco_search/u2q2"e:t/No teco library found./=o?end_of_lib?'
180 i?ec|ioa_ "^-^-teco library";ln -sm -lk -pn directory ?g1q2-168di? **.teco|?.-q2-66,.x1-q1dm10u1o?end_of_lib?
181
182 !list_text_registers!i'!#$%&*+,-./0456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\^_`abcdefghijklmnopqrstuvwxyz|~ '90r0u1.u2
183 90<i/g/c0airi/.-q2u1q/ci/,q1"eq1-1|0a-061."n:t|q/-23aii/|w=/.-37,.x3-37dm3i/
184 /q2,.t''q2,.k>0u3o?end_of_lib?
185
186 !restart!:ir|:x*hkeiq*j|:x*hkeiq*jo?end_of_lib?
187
188 !start_up!]1
189 :iweoq* :ifqw
190 q1"n]*eiq*jq1-1"g]*''
191 o?end_of_lib?
192
193 !type!:it|u2u1u3 q1q3"e0u1 q2"l q2u1 1u2 ''q2q3"e1u2'$"i/<^H>/"q1t-3dq2t|q~q`mto?end_of_lib?
194
195 !unlib!:x1.u2z-.u3ei/registers.teco/q2ji/!/g1i/!/q2.x4q2.k:sq4"n.-q4u4s/o?end_of_lib?
196
197 /q4.ki/ec%dn /g1i/.teco%:x"q2z-q3eo%registers.teco%q2z-q3k0u1/q4.x1q4.ko/finish_lib_file/'q2z-q3k0u1o?end_of_lib?
198
199 !upper_case!.u2jz<1au1cq1140."gq1173."l-dq1-40.i''>q2jo?end_of_lib?
200
201 !write_help!.u6z-.u7:i1|ei/registers.teco/q6ji/!/i/registers/i/!/.-11.x8-11dsq8l4t4lz-.u8
202 <:vw5 1-q5;g5-1a-044."e-q5dm5'>z-q8ji/
203 /:x8q6z-q7eo/registers.teco/q6z-q7k0u10u5|o/finish_lib_file/o?end_of_lib?
204
205 !finish_lib_file!m1!end_of_lib!