|
|
1.1 root 1: e caps
2: set noreadonly
3: g/^#/d
4: /--- begin bool/+,/--- end bool/-w bool
5: /--- begin num/+,/--- end num/-w num
6: /--- begin str/+,/--- end str/-w str
7: e! bool
8: 1,$s/" .*/", /
9: 1,$s/.* "/"/
10: 1,10j
11: 2,$j
12: 1i
13: char *boolnames[] = {
14: .
15: $a
16: 0
17: };
18: .
19: w boolnames
20: e bool
21: 1,$s/^[^"]*"[^"]*".//
22: 1,$s/" .*/",/
23: 1,10j
24: 2,$j
25: 1i
26: char *boolcodes[] = {
27: .
28: $a
29: 0
30: };
31: .
32: w>> boolnames
33: e! bool
34: 1,$s;"[^"]*"[ ]*".." ;/* ;
35: 1,$s;$; */;
36: 1,$s;^; ;
37: 1i
38: char
39: .
40: $a
41: lastbool;
42: .
43: w boolvals
44: e num
45: 1,$s/" .*/", /
46: 1,$s/.* "/"/
47: 1,$j
48: 1i
49: char *numnames[] = {
50: .
51: $a
52: 0
53: };
54: .
55: w numnames
56: e num
57: 1,$s/^[^"]*"[^"]*".//
58: 1,$s/" .*/",/
59: 1,$j
60: 1i
61: char *numcodes[] = {
62: .
63: $a
64: 0
65: };
66: .
67: w>> numnames
68: e! num
69: 1,$s;"[^"]*"[ ]*".." ;/* ;
70: 1,$s;$; */;
71: 1,$s;^; ;
72: 1i
73: short
74: .
75: $a
76: lastnum;
77: .
78: w numvals
79: e str
80: 1,$s/" .*/", /
81: 1,$s/.* "/"/
82: 1,$-10g/^/.,+9j
83: +,$j
84: 1i
85: char *strnames[] = {
86: .
87: $a
88: 0
89: };
90: .
91: w strnames
92: e str
93: 1,$s/^[^"]*"[^"]*".//
94: 1,$s/" .*/",/
95: 1,$-10g/^/.,+9j
96: +,$j
97: 1i
98: char *strcodes[] = {
99: .
100: $a
101: 0
102: };
103: .
104: w>> strnames
105: e! str
106: 1,$s;"[^"]*"[ ]*".." ;/* ;
107: 1,$s;$; */;
108: 1,$s;^; strs.;
109: $a
110: laststr;
111: .
112: w strvals
113: 1,$d
114: f capnames.c
115: r boolnames
116: r numnames
117: r strnames
118: w!
119: 1,$d
120: f term.h
121: a
122: typedef char *charptr;
123: struct strs {
124: charptr
125: .
126: r strvals
127: 1,.s/strs\.//
128: $a
129: };
130:
131: struct term {
132: .
133: r boolvals
134: r numvals
135: a
136: };
137: #ifndef NONSTANDARD
138: extern struct term *cur_term;
139: #endif
140: .
141: 1,$s/^ ./\U&/
142: 0r boolvals
143: .r numvals
144: .r strvals
145: .ka
146: 1,'av/^ /d
147: 1,'as/^ //
148: 1,.s/ [^ ].*/ /
149: 1,.s/,/ /
150: 1,.s/.*/#define & CUR \u&/
151: 1,.s/strs\.//
152: 1,.s/Strs.\(.\)/strs.\u\1/
153: 1,+g/;/d
154: a
155:
156: .
157: $;?^}?;.i
158: struct strs strs;
159: struct strs2 strs2;
160: short Filedes; /* file descriptor being written to */
161: #ifndef NONSTANDARD
162: SGTTY Ottyb, /* original state of the terminal */
163: Nttyb; /* current state of the terminal */
164: #endif
165: .
166: " clean up unused fields
167: 1,$s/[ ]*$//
168: /Laststr/-s/,/;/
169: /Laststr/d
170: /Lastbool/-s/,/;/
171: /Lastbool/d
172: /Lastnum/-s/,/;/
173: /Lastnum/d
174: " split strings into two groups < 100 to fit in ritchie compiler
175: 1;/CUR strs/+100;.,$s/CUR strs/CUR strs2/
176: /^struct strs/+101s/,/;/
177: a
178: };
179: struct strs2 {
180: charptr
181: .
182: 1i
183: /*
184: * term.h - this file is automatically made from caps and maketerm.ex.
185: *
186: * Guard against multiple includes.
187: */
188:
189: #ifndef auto_left_margin
190:
191: .
192: $a
193:
194: #endif auto_left_margin
195:
196: #ifdef SINGLE
197: extern struct term _first_term;
198: # define CUR _first_term.
199: #else
200: # define CUR cur_term->
201: #endif
202: .
203: w!
204: q
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.