|
|
1.1 root 1: ; WPAGE.CMD: Wordprocessing Macro Page
2: ; for MicroEMACS 3.9d and above
3: ; (C)opyright 1987 by Daniel M Lawrence
4:
5: ; set the clean procedure up
6: store-procedure clean
7: delete-buffer "[Macro 10]"
8: bind-to-key execute-macro-11 S-FN2
9: bind-to-key execute-macro-12 S-FN3
10: delete-buffer "[Macro 13]"
11: delete-buffer "[Macro 14]"
12: delete-buffer "[Macro 15]"
13: delete-buffer "[Macro 16]"
14: delete-buffer "[Macro 17]"
15: bind-to-key execute-macro-18 S-FN9
16: delete-buffer "[Macro 19]"
17: set $cmode %oldmode
18: set $gmode %oldgmode
19: !endm
20:
21: ; make sure the function key window is up
22: set %rcfkeys FALSE
23: execute-macro-1
24: write-message "Loading..."
25:
26: ; Write out the page instructions
27: save-window
28: 1 next-window
29: beginning-of-file
30: set $curcol 25
31: overwrite-string " F1 center line "
32: next-line
33: set $curcol 25
34: overwrite-string " F3 reformat paragraph F4 spell check file "
35: next-line
36: set $curcol 25
37: overwrite-string " F5 ref indented paragraph F6 PREVIEW output "
38: next-line
39: set $curcol 18
40: overwrite-string "WORD"
41: set $curcol 25
42: overwrite-string " F7 toggle words F8 output DRAFT "
43: next-line
44: set $curcol 25
45: overwrite-string " F9 count words F10 output FINAL "
46: unmark-buffer
47: beginning-of-file
48: !force restore-window
49: update-screen
50:
51: ; Center the current line
52:
53: 10 store-macro
54: end-of-line
55: set %rctmp $curcol
56: beginning-of-line
57: &div &sub $fillcol %rctmp 2 insert-space
58: beginning-of-line
59: !endm
60:
61: bind-to-key nop S-FN2
62: bind-to-key fill-paragraph S-FN3
63:
64: ; Spell check the current buffer
65:
66: 13 store-macro
67: set %rctmp @"User dictionary(<ret> if none): "
68: !if &seq %rctmp "ERROR"
69: !return
70: !endif
71: !if ¬ &seq %rctmp ""
72: set %rctmp &cat &cat "-u" %rctmp " "
73: !endif
74: save-file
75: set %rcspell TRUE
76: write-message ~n
77: shell-command &cat &cat "spell " %rctmp $cfname
78: execute-file "scan.cmd"
79: delete-other-windows
80: !if &seq %rcfkeys TRUE
81: set %rcfkeys FALSE
82: execute-macro-1
83: !endif
84: update-screen
85: write-message "[Spell Check complete]"
86: !endm
87:
88: ; reformat indented paragraph
89:
90: 14 store-macro
91: write-message " [Fixing paragraph]"
92:
93: ;remember where we are..and set up
94: set %endpos $cwline
95: set $discmd "FALSE"
96:
97: ;snarf the paragraph and put it in its own buffer
98: kill-region
99: 2 split-current-window
100: select-buffer "[temp]"
101: yank
102:
103: ;get rid of the blank lines at the end
104: end-of-file
105: !while &and &seq $line "" ¬ &equ $curline 1
106: delete-previous-character
107: !endwhile
108: forward-character
109:
110: ;get rid of the indents
111: set %endline $curline
112: beginning-of-file
113: !while &gre %endline $curline
114: !while &or &equ $curchar 32 &equ $curchar 9
115: delete-next-character
116: !endwhile
117: next-line
118: !endwhile
119:
120: ;re-format it
121: &sub $fillcol 8 set-fill-column
122: 1 goto-line
123: fill-paragraph
124: &add $fillcol 8 set-fill-column
125:
126: ;insert new indents
127: end-of-file
128: set %endline $curline
129: beginning-of-file
130: !while &less $curline &sub %endline 1
131: beginning-of-line
132: handle-tab
133: next-line
134: !endwhile
135:
136: ;move it back into the original buffer
137: beginning-of-file
138: set-mark
139: end-of-file
140: kill-region
141: unmark-buffer
142: delete-window
143: yank
144:
145: ;and clean up
146: delete-buffer "[temp]"
147: set $cwline %endpos
148: set $discmd TRUE
149: write-message " [Fixed paragraph]"
150: !endm
151:
152: 15 store-macro
153: write-message "[MicroSCRIBE not ready]"
154: !endm
155:
156: ; swap the word the cursor is on and it's predisesor
157:
158: 16 store-macro
159: set %rctmp $search
160: forward-character
161: previous-word
162: 0 delete-next-word
163: set %second $kill
164: insert-string "~~"
165: !force previous-word
166: !if &seq $status FALSE
167: set %first %second
168: !else
169: 0 delete-next-word
170: set %first $kill
171: insert-string %second
172: !endif
173: search-forward "~~"
174: delete-previous-character
175: insert-string %first
176: previous-word
177: set $search %rctmp
178: !endm
179:
180: 17 store-macro
181: write-message "[MicroSCRIBE not ready]"
182: !endm
183:
184: bind-to-key count-words S-FN9
185:
186: 19 store-macro
187: write-message "[MicroSCRIBE not ready]"
188: !endm
189:
190: set %oldmode $cmode
191: set %oldgmode $gmode
192: add-mode wrap
193: add-global-mode wrap
194: write-message "[Wordprocesing mode loaded]"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.