annotate 3rdparty/packages/uemacs/uesearch.c @ 2852:f2e92661b4c6 lwtools-port

Makefiles: Always use macro for lwar and rm The LWAR macro is new, rm was still used in one place.
author Tormod Volden <debian.tormod@gmail.com>
date Fri, 12 Jul 2013 22:41:18 +0200
parents 48c646212b1c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
995
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
1 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
2 * The functions in this file implement commands that search in the forward
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
3 * and backward directions. There are no special characters in the search
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
4 * strings. Probably should have a regular expression search, or something
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
5 * like that.
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
6 *
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
7 * REVISION HISTORY:
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
8 *
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
9 * ? Steve Wilhite, 1-Dec-85
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
10 * - massive cleanup on code.
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
11 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
12
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
13 #include <stdio.h>
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
14 #include "ueed.h"
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
15
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
16 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
17 * Search forward. Get a search string from the user, and search, beginning at
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
18 * ".", for the string. If found, reset the "." to be just after the match
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
19 * string, and [perhaps] repaint the display. Bound to "C-S".
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
20 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
21 forwsearch(f, n)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
22 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
23 register LINE *clp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
24 register int cbo;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
25 register LINE*tlp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
26 register int tbo;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
27 register int c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
28 register char *pp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
29 register int s;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
30
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
31 if ((s = readpattern("Search")) != TRUE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
32 return (s);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
33
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
34 clp = curwp->w_dotp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
35 cbo = curwp->w_doto;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
36
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
37 while (clp != curbp->b_linep)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
38 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
39 if (cbo == llength(clp))
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
40 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
41 clp = lforw(clp);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
42 cbo = 0;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
43 c = '\n';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
44 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
45 else
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
46 c = lgetc(clp, cbo++);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
47
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
48 if (eq(c, pat[0]) != FALSE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
49 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
50 tlp = clp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
51 tbo = cbo;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
52 pp = &pat[1];
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
53
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
54 while (*pp != 0)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
55 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
56 if (tlp == curbp->b_linep)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
57 goto fail;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
58
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
59 if (tbo == llength(tlp))
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
60 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
61 tlp = lforw(tlp);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
62 tbo = 0;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
63 c = '\n';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
64 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
65 else
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
66 c = lgetc(tlp, tbo++);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
67
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
68 if (eq(c, *pp++) == FALSE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
69 goto fail;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
70 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
71
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
72 curwp->w_dotp = tlp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
73 curwp->w_doto = tbo;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
74 curwp->w_flag |= WFMOVE;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
75 return (TRUE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
76 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
77 fail:;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
78 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
79
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
80 mlwrite("Not found");
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
81 return (FALSE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
82 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
83
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
84 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
85 * Reverse search. Get a search string from the user, and search, starting at
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
86 * "." and proceeding toward the front of the buffer. If found "." is left
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
87 * pointing at the first character of the pattern [the last character that was
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
88 j matched]. Bound to "C-R".
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
89 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
90 backsearch(f, n)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
91 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
92 register LINE *clp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
93 register int cbo;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
94 register LINE *tlp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
95 register int tbo;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
96 register int c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
97 register char *epp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
98 register char *pp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
99 register int s;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
100
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
101 if ((s = readpattern("Reverse search")) != TRUE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
102 return (s);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
103
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
104 for (epp = &pat[0]; epp[1] != 0; ++epp)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
105 ;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
106
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
107 clp = curwp->w_dotp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
108 cbo = curwp->w_doto;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
109
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
110 for (;;)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
111 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
112 if (cbo == 0)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
113 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
114 clp = lback(clp);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
115
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
116 if (clp == curbp->b_linep)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
117 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
118 mlwrite("Not found");
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
119 return (FALSE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
120 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
121
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
122 cbo = llength(clp)+1;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
123 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
124
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
125 if (--cbo == llength(clp))
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
126 c = '\n';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
127 else
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
128 c = lgetc(clp, cbo);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
129
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
130 if (eq(c, *epp) != FALSE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
131 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
132 tlp = clp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
133 tbo = cbo;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
134 pp = epp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
135
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
136 while (pp != &pat[0])
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
137 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
138 if (tbo == 0)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
139 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
140 tlp = lback(tlp);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
141 if (tlp == curbp->b_linep)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
142 goto fail;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
143
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
144 tbo = llength(tlp)+1;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
145 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
146
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
147 if (--tbo == llength(tlp))
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
148 c = '\n';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
149 else
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
150 c = lgetc(tlp, tbo);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
151
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
152 if (eq(c, *--pp) == FALSE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
153 goto fail;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
154 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
155
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
156 curwp->w_dotp = tlp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
157 curwp->w_doto = tbo;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
158 curwp->w_flag |= WFMOVE;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
159 return (TRUE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
160 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
161 fail:;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
162 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
163 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
164
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
165 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
166 * Compare two characters. The "bc" comes from the buffer. It has it's case
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
167 * folded out. The "pc" is from the pattern.
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
168 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
169 eq(bc, pc)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
170 int bc;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
171 int pc;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
172 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
173 if (bc>='a' && bc<='z')
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
174 bc -= 0x20;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
175
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
176 if (pc>='a' && pc<='z')
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
177 pc -= 0x20;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
178
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
179 if (bc == pc)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
180 return (TRUE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
181
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
182 return (FALSE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
183 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
184
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
185 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
186 * Read a pattern. Stash it in the external variable "pat". The "pat" is not
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
187 * updated if the user types in an empty line. If the user typed an empty line,
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
188 * and there is no old pattern, it is an error. Display the old pattern, in the
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
189 * style of Jeff Lomicka. There is some do-it-yourself control expansion.
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
190 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
191 readpattern(prompt)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
192 char *prompt;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
193 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
194 register char *cp1;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
195 register char *cp2;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
196 register int c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
197 register int s;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
198 char tpat[NPAT+20];
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
199
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
200 cp1 = &tpat[0]; /* Copy prompt */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
201 cp2 = prompt;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
202
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
203 while ((c = *cp2++) != '\0')
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
204 *cp1++ = c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
205
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
206 if (pat[0] != '\0') /* Old pattern */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
207 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
208 *cp1++ = ' ';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
209 *cp1++ = '[';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
210 cp2 = &pat[0];
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
211
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
212 while ((c = *cp2++) != 0)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
213 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
214 if (cp1 < &tpat[NPAT+20-6]) /* "??]: \0" */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
215 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
216 if (c<0x20 || c==0x7F) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
217 *cp1++ = '^';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
218 c ^= 0x40;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
219 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
220 else if (c == '%') /* Map "%" to */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
221 *cp1++ = c; /* "%%". */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
222
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
223 *cp1++ = c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
224 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
225 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
226
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
227 *cp1++ = ']';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
228 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
229
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
230 *cp1++ = ':'; /* Finish prompt */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
231 *cp1++ = ' ';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
232 *cp1++ = '\0';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
233 s = mlreply(tpat, tpat, NPAT); /* Read pattern */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
234
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
235 if (s == TRUE) /* Specified */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
236 strcpy(pat, tpat);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
237 else if (s == FALSE && pat[0] != 0) /* CR, but old one */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
238 s = TRUE;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
239
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
240 return (s);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
241 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
242
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
243