1 ! Read in segment. !
2 ]n qn,1"l :t/Usage: teco$macro newet name
3 / eq'
4 ]n gn zj z,3"l i/.et/ :' 3r :"m/.et/ zj i/.et/''
5 hxn hk eiqn
6
7 ! Macros to strip trailing and leading blanks. !
8 :is/<:"m| | 0;' 1d>/
9 :it/<0a,40."n 0;' -1d>/
10
11 ! Macro to delete comment fields. !
12 :im#"m|/*| .u1 s|*/| q1,.k -1 :' 0 '#
13
14 ! Macro to find and skip message body. !
15 :ip/<mm "m|,| s|;| 0;
16 :' 1c '>/
17
18 ! Delete all comments. !
19 j <.-z;
20 mm "m|:| 1c mp
21 :' 1c '>
22
23 ! Delete all tabs. !
24 j <:s/ /; -1d>
25
26 ! Double double quotes. !
27 j <:s/"/; i/"/>
28
29 ! Remove all extraneous newlines and white space. !
30 j <:s/
31 /; -1d>
32 j <:s/;/; i/
33 / ms >
34
35 ! Determine if system error table. !
36 j 0uy
37 :s/system;/"n %y$ 0kk '
38
39 ! Remove end statement. !
40 s/
41 end;/ 0kk
42
43 ! Insert beginning lines. !
44 ji/
45 include et_macros
46
47 ^L
48
49 et / gn -3d qy,1"e i/,system/ ' i/
50
51 ^L
52
53 / -1l
54
55 ! Have at it. !
56 <1l .-z;
57 i/ec /
58 s/,/ -1d mt ms i/
59 / -1l
60 0ul
61 <1,1:s/:/;
62 -1d mt i/,/ ms %l$>
63 ql,1"g -1c i/)/ 0l s/ / -1di// '
64 :l i//
65 1li/ / :l -1di//>
66
67 ! Insert end statement. !
68
69 i/
70
71 end
72 /$
73
74 ! Write out segment and exit. !
75 .u1 gn zj -3d i/.alm/ q1zxn 0k
76 eoqn eq