Blame


1 5cedca1b 2004-05-15 devnull March 11, 1994
2 5cedca1b 2004-05-15 devnull
3 5cedca1b 2004-05-15 devnull If we are just plain old nroff (and not doing UNICODE) we should
4 5cedca1b 2004-05-15 devnull only Lookup characters, not Install when we don't know them.
5 5cedca1b 2004-05-15 devnull If we are troff, we Install them anyway
6 5cedca1b 2004-05-15 devnull
7 5cedca1b 2004-05-15 devnull March 8, 1994
8 5cedca1b 2004-05-15 devnull
9 5cedca1b 2004-05-15 devnull Nroff had problems with parsing quoted white space as options or
10 5cedca1b 2004-05-15 devnull character code in some terminals tables. Changed by having scanf
11 5cedca1b 2004-05-15 devnull include white space when necessary as suggested by Rich.
12 5cedca1b 2004-05-15 devnull
13 5cedca1b 2004-05-15 devnull March 1, 1994
14 5cedca1b 2004-05-15 devnull
15 5cedca1b 2004-05-15 devnull Made sanity check for terminal type depending on the trace level;
16 5cedca1b 2004-05-15 devnull trace level set with -tn flag at start up
17 5cedca1b 2004-05-15 devnull
18 5cedca1b 2004-05-15 devnull 22 Feb, 1994
19 5cedca1b 2004-05-15 devnull
20 5cedca1b 2004-05-15 devnull More pointer shuffling fixes.
21 5cedca1b 2004-05-15 devnull
22 5cedca1b 2004-05-15 devnull 18 Feb, 1994
23 5cedca1b 2004-05-15 devnull
24 5cedca1b 2004-05-15 devnull More disabling of multibyte stuff. Fixed bug in n5.c: casetm didn'
25 5cedca1b 2004-05-15 devnull know about the new format in the fontables.
26 5cedca1b 2004-05-15 devnull
27 5cedca1b 2004-05-15 devnull Feb 17, 1994
28 5cedca1b 2004-05-15 devnull
29 5cedca1b 2004-05-15 devnull Removed extra include <setlocale> from n1.c
30 5cedca1b 2004-05-15 devnull
31 5cedca1b 2004-05-15 devnull Fixed dubious pointer shuffling in n7.c, t10.c & n8.c. Thanks Rich!
32 5cedca1b 2004-05-15 devnull
33 5cedca1b 2004-05-15 devnull Feb 10, 1994
34 5cedca1b 2004-05-15 devnull
35 5cedca1b 2004-05-15 devnull Disabled the multybyte stuff; only plan 9 will get it.
36 5cedca1b 2004-05-15 devnull
37 5cedca1b 2004-05-15 devnull Jan 24, 1994
38 5cedca1b 2004-05-15 devnull
39 5cedca1b 2004-05-15 devnull Fixed nasty bug discovered by td, which caused core dumps on
40 5cedca1b 2004-05-15 devnull \D'l-0.002775i 0i' and apparently all numbers closer to 0
41 5cedca1b 2004-05-15 devnull than -.002775. Fixed in storeline() and storeword() (n7.c).
42 5cedca1b 2004-05-15 devnull
43 5cedca1b 2004-05-15 devnull Dec 16, 1993
44 5cedca1b 2004-05-15 devnull
45 5cedca1b 2004-05-15 devnull nroff & troff -N were looking for the TYPESETTER variable, causing
46 5cedca1b 2004-05-15 devnull
47 5cedca1b 2004-05-15 devnull troff: cannot open /sys/lib/troff/term/tab.202; line 1, file stdin
48 5cedca1b 2004-05-15 devnull
49 5cedca1b 2004-05-15 devnull fixed my moving getenv("TYPESETTER") to t10.c in t_ptinit(void).
50 5cedca1b 2004-05-15 devnull
51 5cedca1b 2004-05-15 devnull Dec 3, 1993:
52 5cedca1b 2004-05-15 devnull
53 5cedca1b 2004-05-15 devnull The sequence \s+2\H'+10' came sometimes out in the wrong order
54 5cedca1b 2004-05-15 devnull (x H before s), so there wasn't a difference bewteen \s+2\H'+10'
55 5cedca1b 2004-05-15 devnull and \H'+10'\s+2. Now the fonts bits of the CHARHT are used to
56 5cedca1b 2004-05-15 devnull register the current pontsize, so we can issue a s10 in t10.c
57 5cedca1b 2004-05-15 devnull if needed. A bit sneaky.
58 5cedca1b 2004-05-15 devnull
59 5cedca1b 2004-05-15 devnull Try to prevent double slashes in path names. Especially under
60 5cedca1b 2004-05-15 devnull plan9 things started to look ugly.
61 5cedca1b 2004-05-15 devnull
62 5cedca1b 2004-05-15 devnull Exception word list now grows dynamic.
63 5cedca1b 2004-05-15 devnull
64 5cedca1b 2004-05-15 devnull Nov 30, 1993:
65 5cedca1b 2004-05-15 devnull
66 5cedca1b 2004-05-15 devnull Allow multiple calls to .pi, requested by Rob.
67 5cedca1b 2004-05-15 devnull .pi cat
68 5cedca1b 2004-05-15 devnull .pi dogs
69 5cedca1b 2004-05-15 devnull is now equivalent with
70 5cedca1b 2004-05-15 devnull .pi cat | dogs
71 5cedca1b 2004-05-15 devnull
72 5cedca1b 2004-05-15 devnull
73 5cedca1b 2004-05-15 devnull .ab now takes also optional error code:
74 5cedca1b 2004-05-15 devnull .ab [n] [string]
75 5cedca1b 2004-05-15 devnull If n and string, n is exit code, string is message
76 5cedca1b 2004-05-15 devnull If n, n is exit code, ``User Abort, exit code n" is message
77 5cedca1b 2004-05-15 devnull If !n and string, standard exit code, string is message
78 5cedca1b 2004-05-15 devnull If !n and ! string, standard exit code, "User Abort" is message
79 5cedca1b 2004-05-15 devnull
80 5cedca1b 2004-05-15 devnull Nov 24, 1993:
81 5cedca1b 2004-05-15 devnull
82 5cedca1b 2004-05-15 devnull Reordered code to keep the UNASNI scripts happy.
83 5cedca1b 2004-05-15 devnull
84 5cedca1b 2004-05-15 devnull Nroff dumped core reading terminal tables: apparenty under plan 9,
85 5cedca1b 2004-05-15 devnull scanf includes the '\n'; added test for '\0' in parse in n10.c.
86 5cedca1b 2004-05-15 devnull
87 5cedca1b 2004-05-15 devnull Relative tab settings (.ta +1C +2C) didn't work; anding the
88 5cedca1b 2004-05-15 devnull previous value with TABMASK fixes this (caseta).
89 5cedca1b 2004-05-15 devnull
90 5cedca1b 2004-05-15 devnull Nov 23, 1993:
91 5cedca1b 2004-05-15 devnull
92 5cedca1b 2004-05-15 devnull Included code, originally done by bwk for plan 9, to handle
93 5cedca1b 2004-05-15 devnull multi-byte characters.
94 5cedca1b 2004-05-15 devnull
95 5cedca1b 2004-05-15 devnull Nov 3, 1993:
96 5cedca1b 2004-05-15 devnull
97 5cedca1b 2004-05-15 devnull ``pair internal'' two char names by shifting 16 bits. Will allow
98 5cedca1b 2004-05-15 devnull the use of 16 bit characters sets (Unicode in plan9 etc.) for
99 5cedca1b 2004-05-15 devnull macro's etc.
100 5cedca1b 2004-05-15 devnull
101 5cedca1b 2004-05-15 devnull Oct 20, 1993:
102 5cedca1b 2004-05-15 devnull
103 5cedca1b 2004-05-15 devnull Word & line buffers are now dynamic: No more word or line overflow
104 5cedca1b 2004-05-15 devnull unless when we run out of memory.
105 5cedca1b 2004-05-15 devnull
106 5cedca1b 2004-05-15 devnull Oct 11, 1993:
107 5cedca1b 2004-05-15 devnull
108 5cedca1b 2004-05-15 devnull lost diversion warning pops up regularly with man macro's. Due
109 5cedca1b 2004-05-15 devnull to a possible macro coding problem. Triggered by something like
110 5cedca1b 2004-05-15 devnull troff -man:
111 5cedca1b 2004-05-15 devnull .TP
112 5cedca1b 2004-05-15 devnull .TP
113 5cedca1b 2004-05-15 devnull foo
114 5cedca1b 2004-05-15 devnull .ex
115 5cedca1b 2004-05-15 devnull Minimal code:
116 5cedca1b 2004-05-15 devnull .di aa
117 5cedca1b 2004-05-15 devnull throw away this diversion (aa) while being defined.
118 5cedca1b 2004-05-15 devnull .rm aa
119 5cedca1b 2004-05-15 devnull .br
120 5cedca1b 2004-05-15 devnull .di
121 5cedca1b 2004-05-15 devnull
122 5cedca1b 2004-05-15 devnull Fixed by disallowing .rm to throw away current diversion. The
123 5cedca1b 2004-05-15 devnull rn request will complain with:
124 5cedca1b 2004-05-15 devnull
125 5cedca1b 2004-05-15 devnull cannot remove diversion aa during definition; etc.
126 5cedca1b 2004-05-15 devnull
127 5cedca1b 2004-05-15 devnull Sep 29, 1993:
128 5cedca1b 2004-05-15 devnull
129 5cedca1b 2004-05-15 devnull Some long standing fixes which never went back in the source.
130 5cedca1b 2004-05-15 devnull Thanks to Janet & Rich.
131 5cedca1b 2004-05-15 devnull
132 5cedca1b 2004-05-15 devnull Sep 28, 1993:
133 5cedca1b 2004-05-15 devnull
134 5cedca1b 2004-05-15 devnull Changed getach() (n1.c), so it does't consider truncated
135 5cedca1b 2004-05-15 devnull special characters as (8-bit) ascii. STX ETX ENQ ACK and BELL
136 5cedca1b 2004-05-15 devnull are still allowed for the ultimate backwards compatibility.
137 5cedca1b 2004-05-15 devnull
138 5cedca1b 2004-05-15 devnull Some code changes, so real ANSI compilers like the SGI version
139 5cedca1b 2004-05-15 devnull (acc from Sun is a poor excuse for an ANSI compiler) don't
140 5cedca1b 2004-05-15 devnull barf. Some compromises (static Tchar wbuf in n9.c) allowed so
141 5cedca1b 2004-05-15 devnull the unansified stuff for non-ansi compilers (cc on Sun's) will
142 5cedca1b 2004-05-15 devnull work as well.
143 5cedca1b 2004-05-15 devnull
144 5cedca1b 2004-05-15 devnull Sep 9, 1993:
145 5cedca1b 2004-05-15 devnull
146 5cedca1b 2004-05-15 devnull Be nice to Gerard. Now also word spaces in .tl and after
147 5cedca1b 2004-05-15 devnull tabs/fleids etc.
148 5cedca1b 2004-05-15 devnull
149 5cedca1b 2004-05-15 devnull Aug 12, 1993:
150 5cedca1b 2004-05-15 devnull
151 5cedca1b 2004-05-15 devnull Tabs setting can now be humongous. We also allow 99 tabs to
152 5cedca1b 2004-05-15 devnull accomodate tbl. As a side effect, NTM buffers are now 1K
153 5cedca1b 2004-05-15 devnull
154 5cedca1b 2004-05-15 devnull Aug 11, 1993:
155 5cedca1b 2004-05-15 devnull
156 5cedca1b 2004-05-15 devnull .R register, now contains maximum number of addessable
157 5cedca1b 2004-05-15 devnull registers minus the number actually used.
158 5cedca1b 2004-05-15 devnull
159 5cedca1b 2004-05-15 devnull Small esthetic changes in error messages; removed a statement
160 5cedca1b 2004-05-15 devnull which wasn't reached anyway.
161 5cedca1b 2004-05-15 devnull
162 5cedca1b 2004-05-15 devnull Aug 10, 1993:
163 5cedca1b 2004-05-15 devnull
164 5cedca1b 2004-05-15 devnull Some more speed hacks: be smarter doing the linear table
165 5cedca1b 2004-05-15 devnull lookups in alloc() and finds().
166 5cedca1b 2004-05-15 devnull
167 5cedca1b 2004-05-15 devnull The real name of the det diversion size macro is now gd.
168 5cedca1b 2004-05-15 devnull
169 5cedca1b 2004-05-15 devnull Aug 9, 1993:
170 5cedca1b 2004-05-15 devnull
171 5cedca1b 2004-05-15 devnull A much faster way to find the end of a string/macro, by
172 5cedca1b 2004-05-15 devnull remembering that when defined.
173 5cedca1b 2004-05-15 devnull
174 5cedca1b 2004-05-15 devnull Aug 6, 1993:
175 5cedca1b 2004-05-15 devnull
176 5cedca1b 2004-05-15 devnull Slightly more eficient way of skipping to the end of a
177 5cedca1b 2004-05-15 devnull string/macro
178 5cedca1b 2004-05-15 devnull
179 5cedca1b 2004-05-15 devnull Aug 5, 1993:
180 5cedca1b 2004-05-15 devnull
181 5cedca1b 2004-05-15 devnull Prevent character sign extension for 8-bit charnames diversions
182 5cedca1b 2004-05-15 devnull etc. by unpair
183 5cedca1b 2004-05-15 devnull
184 5cedca1b 2004-05-15 devnull Aug 4, 1993:
185 5cedca1b 2004-05-15 devnull
186 5cedca1b 2004-05-15 devnull Growing the dynamical macro/strings name space and registers
187 5cedca1b 2004-05-15 devnull space (See the experiment of 21 July) now with bigger
188 5cedca1b 2004-05-15 devnull increments. Casts added to satisfy non-ANSI compilers.
189 5cedca1b 2004-05-15 devnull
190 5cedca1b 2004-05-15 devnull Aug 3, 1993:
191 5cedca1b 2004-05-15 devnull
192 5cedca1b 2004-05-15 devnull Should check return value in alloc (n3.c), to prevent core dump
193 5cedca1b 2004-05-15 devnull when memory gets tight.
194 5cedca1b 2004-05-15 devnull
195 5cedca1b 2004-05-15 devnull July 28, 1993:
196 5cedca1b 2004-05-15 devnull
197 5cedca1b 2004-05-15 devnull New request: .sg <div> sets the dn and dl registers to the size
198 5cedca1b 2004-05-15 devnull of the diversion named in the argument. Doesn't do anything
199 5cedca1b 2004-05-15 devnull when the named diversion doesn't exist. The name sg is
200 5cedca1b 2004-05-15 devnull temporary until we find a better one.
201 5cedca1b 2004-05-15 devnull
202 5cedca1b 2004-05-15 devnull July 21, 1993:
203 5cedca1b 2004-05-15 devnull
204 5cedca1b 2004-05-15 devnull Experiment: Macro space & registers name allocated
205 5cedca1b 2004-05-15 devnull dynamically. Note that current reallocation occurs in
206 5cedca1b 2004-05-15 devnull increments of 1, to force the code to be executed a lot; a kind
207 5cedca1b 2004-05-15 devnull of stress testing. Also, eight bit characters allowed in
208 5cedca1b 2004-05-15 devnull macro/string names.
209 5cedca1b 2004-05-15 devnull
210 5cedca1b 2004-05-15 devnull July 21, 1993:
211 5cedca1b 2004-05-15 devnull
212 5cedca1b 2004-05-15 devnull Turn on the escape mode if the end macro is called.
213 5cedca1b 2004-05-15 devnull
214 5cedca1b 2004-05-15 devnull July 20, 1993:
215 5cedca1b 2004-05-15 devnull
216 5cedca1b 2004-05-15 devnull Tracing mode now default off
217 5cedca1b 2004-05-15 devnull
218 5cedca1b 2004-05-15 devnull Don't print s stackdump either when a file specfied on the
219 5cedca1b 2004-05-15 devnull command line argument cannot be opened
220 5cedca1b 2004-05-15 devnull
221 5cedca1b 2004-05-15 devnull July 15, 1993:
222 5cedca1b 2004-05-15 devnull
223 5cedca1b 2004-05-15 devnull Don't print useless line & current file informations when a
224 5cedca1b 2004-05-15 devnull file specfied on the command line argument cannot be opened.
225 5cedca1b 2004-05-15 devnull
226 5cedca1b 2004-05-15 devnull Sun ansi compiler doesn't default adhere to standards. Undid
227 5cedca1b 2004-05-15 devnull the kludge in tdef.h
228 5cedca1b 2004-05-15 devnull
229 5cedca1b 2004-05-15 devnull July 14, 1993:
230 5cedca1b 2004-05-15 devnull
231 5cedca1b 2004-05-15 devnull Coding error made the tab type R not function properly
232 5cedca1b 2004-05-15 devnull
233 5cedca1b 2004-05-15 devnull July 12, 1993:
234 5cedca1b 2004-05-15 devnull
235 5cedca1b 2004-05-15 devnull Fixed a typo in the version stuff, noticed by Rich
236 5cedca1b 2004-05-15 devnull
237 5cedca1b 2004-05-15 devnull July 9, 1993:
238 5cedca1b 2004-05-15 devnull
239 5cedca1b 2004-05-15 devnull Added the dwb home configuration stuff, thanks RIch. Also,
240 5cedca1b 2004-05-15 devnull NCHARS is big enough. Added a fflush to casetm, so .fm <file>
241 5cedca1b 2004-05-15 devnull will be up to date.
242 5cedca1b 2004-05-15 devnull
243 5cedca1b 2004-05-15 devnull June 25, 1993 (Rich):
244 5cedca1b 2004-05-15 devnull
245 5cedca1b 2004-05-15 devnull -t option
246 5cedca1b 2004-05-15 devnull
247 5cedca1b 2004-05-15 devnull reinstated for the sake of compatibility. Some old
248 5cedca1b 2004-05-15 devnull shells scripts and man(1) from SunOs want this, sigh
249 5cedca1b 2004-05-15 devnull
250 5cedca1b 2004-05-15 devnull Compiler and system dependencies
251 5cedca1b 2004-05-15 devnull
252 5cedca1b 2004-05-15 devnull Some systems pull in sys/types.h via #include <time.h> and then
253 5cedca1b 2004-05-15 devnull the compiler complains about two ushort typedefs. Therefore,
254 5cedca1b 2004-05-15 devnull ushort is now Ushort (and uchar Uchar).
255 5cedca1b 2004-05-15 devnull
256 5cedca1b 2004-05-15 devnull The SVID specifies a strdup, POSIX doesn't, anyway, troff
257 5cedca1b 2004-05-15 devnull provides its own version, slightly different then the standard
258 5cedca1b 2004-05-15 devnull one. A To prevent name clashes with that definion, renamed to
259 5cedca1b 2004-05-15 devnull strdupl.
260 5cedca1b 2004-05-15 devnull
261 5cedca1b 2004-05-15 devnull June 24, 1993 (Rich):
262 5cedca1b 2004-05-15 devnull
263 5cedca1b 2004-05-15 devnull -V option added for DWB3.4 (rich)
264 5cedca1b 2004-05-15 devnull
265 5cedca1b 2004-05-15 devnull May 18, 1993:
266 5cedca1b 2004-05-15 devnull
267 5cedca1b 2004-05-15 devnull Trivial fix (.cf) request for troff -a
268 5cedca1b 2004-05-15 devnull
269 5cedca1b 2004-05-15 devnull issuing
270 5cedca1b 2004-05-15 devnull
271 5cedca1b 2004-05-15 devnull .cf /dev/null
272 5cedca1b 2004-05-15 devnull
273 5cedca1b 2004-05-15 devnull with troff -a gives some spurious output:
274 5cedca1b 2004-05-15 devnull
275 5cedca1b 2004-05-15 devnull H720
276 5cedca1b 2004-05-15 devnull H720
277 5cedca1b 2004-05-15 devnull s10
278 5cedca1b 2004-05-15 devnull f1
279 5cedca1b 2004-05-15 devnull
280 5cedca1b 2004-05-15 devnull fixed by checking for ascii mode it ptesc(), ptps() and
281 5cedca1b 2004-05-15 devnull ptfont() in t10.c
282 5cedca1b 2004-05-15 devnull
283 5cedca1b 2004-05-15 devnull
284 5cedca1b 2004-05-15 devnull Enhancement
285 5cedca1b 2004-05-15 devnull
286 5cedca1b 2004-05-15 devnull Added a .tm request to roff. Works just like .tm, but now
287 5cedca1b 2004-05-15 devnull it will do it to file. The name is coined by Carmela. Great
288 5cedca1b 2004-05-15 devnull for creating indeces & toc's (we hope).
289 5cedca1b 2004-05-15 devnull
290 5cedca1b 2004-05-15 devnull May 18 1993:
291 5cedca1b 2004-05-15 devnull
292 5cedca1b 2004-05-15 devnull Compatibilty change
293 5cedca1b 2004-05-15 devnull
294 5cedca1b 2004-05-15 devnull Somebody complained that his favorite macro didn't work:
295 5cedca1b 2004-05-15 devnull it had a BELL (^G) in the name. This was a non-documented
296 5cedca1b 2004-05-15 devnull feature of earlier versions of troff (although the
297 5cedca1b 2004-05-15 devnull documentation actually doesn't say that you can. (They can
298 5cedca1b 2004-05-15 devnull only be used for delimiters or with the tr request), so it
299 5cedca1b 2004-05-15 devnull isn't that important).
300 5cedca1b 2004-05-15 devnull
301 5cedca1b 2004-05-15 devnull But the sake of eternal backward compatibilaty I allowed
302 5cedca1b 2004-05-15 devnull some control characters like, STX, ACK, etc. also be part
303 5cedca1b 2004-05-15 devnull of a macro/string name.
304 5cedca1b 2004-05-15 devnull
305 5cedca1b 2004-05-15 devnull While at it, I made it also possible to have eight bit
306 5cedca1b 2004-05-15 devnull characters be part of the name. It might be that this screws
307 5cedca1b 2004-05-15 devnull up the way users think about these things. For UNICODE
308 5cedca1b 2004-05-15 devnull versions, they probably want to do that as well, and that
309 5cedca1b 2004-05-15 devnull won't work as easy, (because these characters are 16-bits
310 5cedca1b 2004-05-15 devnull wide), so it is dubious whether we actually want this.
311 5cedca1b 2004-05-15 devnull
312 5cedca1b 2004-05-15 devnull BTW. Now
313 5cedca1b 2004-05-15 devnull
314 5cedca1b 2004-05-15 devnull .de \(ts\ts
315 5cedca1b 2004-05-15 devnull .tm terminal sigma macro
316 5cedca1b 2004-05-15 devnull ..
317 5cedca1b 2004-05-15 devnull .\(ts\(ts
318 5cedca1b 2004-05-15 devnull
319 5cedca1b 2004-05-15 devnull also works, as long the internal cookie for ts isn't more then
320 5cedca1b 2004-05-15 devnull eight bits.
321 5cedca1b 2004-05-15 devnull
322 5cedca1b 2004-05-15 devnull May 12, 1993:
323 5cedca1b 2004-05-15 devnull
324 5cedca1b 2004-05-15 devnull Syntax change
325 5cedca1b 2004-05-15 devnull
326 5cedca1b 2004-05-15 devnull Some requests accept tabs as a separator, some don't and
327 5cedca1b 2004-05-15 devnull this can be a nuisance. Now a tab is also recognized as
328 5cedca1b 2004-05-15 devnull an argument separator for requests, this makes
329 5cedca1b 2004-05-15 devnull
330 5cedca1b 2004-05-15 devnull .so /dev/null
331 5cedca1b 2004-05-15 devnull
332 5cedca1b 2004-05-15 devnull works.
333 5cedca1b 2004-05-15 devnull
334 5cedca1b 2004-05-15 devnull To be more precise, any motion character is allowed, so
335 5cedca1b 2004-05-15 devnull
336 5cedca1b 2004-05-15 devnull .so\h'5i'/dev/null
337 5cedca1b 2004-05-15 devnull
338 5cedca1b 2004-05-15 devnull will work as well, if one really wants that.
339 5cedca1b 2004-05-15 devnull
340 5cedca1b 2004-05-15 devnull It will be a problem for users who really relied on this as in
341 5cedca1b 2004-05-15 devnull
342 5cedca1b 2004-05-15 devnull .ds x string
343 5cedca1b 2004-05-15 devnull
344 5cedca1b 2004-05-15 devnull and expect the tab to become part of the string a, but I haven't
345 5cedca1b 2004-05-15 devnull seen any use of that (obscure trick).
346 5cedca1b 2004-05-15 devnull
347 5cedca1b 2004-05-15 devnull May 6, 1993:
348 5cedca1b 2004-05-15 devnull
349 5cedca1b 2004-05-15 devnull Eileen count fixed
350 5cedca1b 2004-05-15 devnull
351 5cedca1b 2004-05-15 devnull Troff sometimes went in a loop, and exited with: ``job
352 5cedca1b 2004-05-15 devnull looping; check abuse of macros'' (also known as the Eileen's
353 5cedca1b 2004-05-15 devnull loop). It can be forced with the next trivial programme:
354 5cedca1b 2004-05-15 devnull
355 5cedca1b 2004-05-15 devnull .de ff
356 5cedca1b 2004-05-15 devnull .di xx
357 5cedca1b 2004-05-15 devnull ..
358 5cedca1b 2004-05-15 devnull .wh -1 ff
359 5cedca1b 2004-05-15 devnull .bp
360 5cedca1b 2004-05-15 devnull
361 5cedca1b 2004-05-15 devnull Basically what happens is that a page transition now will
362 5cedca1b 2004-05-15 devnull happen in a diversion, which doesn't make sense. Wat really
363 5cedca1b 2004-05-15 devnull happens is that eject() (in n7.c) doesn't eject the frame
364 5cedca1b 2004-05-15 devnull because we are in a diversion. This cause the loop in n1.c
365 5cedca1b 2004-05-15 devnull (because now always stack->pname <= ejl). Adding check on
366 5cedca1b 2004-05-15 devnull whether we are not in a diversion takes care of the problem.
367 5cedca1b 2004-05-15 devnull
368 5cedca1b 2004-05-15 devnull March 30, 1993:
369 5cedca1b 2004-05-15 devnull
370 5cedca1b 2004-05-15 devnull Need request, .ne
371 5cedca1b 2004-05-15 devnull
372 5cedca1b 2004-05-15 devnull When there is a begin of page trap set, and the first thing
373 5cedca1b 2004-05-15 devnull in the file is a .ne request, the trap gets fired, but,
374 5cedca1b 2004-05-15 devnull the x font R etc. cookies doen't come out, because the
375 5cedca1b 2004-05-15 devnull troff thinks that the first page pseudo transition already
376 5cedca1b 2004-05-15 devnull took place. Fixed by forcing the start of the first page
377 5cedca1b 2004-05-15 devnull in the casene request with the same code as in casetl (which
378 5cedca1b 2004-05-15 devnull caused a similar problem quite some time ago).
379 5cedca1b 2004-05-15 devnull
380 5cedca1b 2004-05-15 devnull Change to .cf request ``Here document''
381 5cedca1b 2004-05-15 devnull
382 5cedca1b 2004-05-15 devnull If the argument of .cf starts with a <<, the rest of it is taken
383 5cedca1b 2004-05-15 devnull as an EOF token. It will reat the rest of the input until it hits
384 5cedca1b 2004-05-15 devnull the EOF token and copies it to the output. This is similar as
385 5cedca1b 2004-05-15 devnull the shell's ``here document'' mechanisme and put in place to
386 5cedca1b 2004-05-15 devnull improve the kludgy way picasso, picpack etc. now include
387 5cedca1b 2004-05-15 devnull postscript.
388 5cedca1b 2004-05-15 devnull
389 5cedca1b 2004-05-15 devnull Using troff -TLatin1 (DWB version) and \N'...' caused core dump
390 5cedca1b 2004-05-15 devnull
391 5cedca1b 2004-05-15 devnull In t11, in chadd, it should test on NCHARS - ALPHABET to see
392 5cedca1b 2004-05-15 devnull whether we run out of table space (and we probably should beaf
393 5cedca1b 2004-05-15 devnull up NCHARS for the DWB version).
394 5cedca1b 2004-05-15 devnull
395 5cedca1b 2004-05-15 devnull March 16, 1993:
396 5cedca1b 2004-05-15 devnull
397 5cedca1b 2004-05-15 devnull Diversion rename bug fix
398 5cedca1b 2004-05-15 devnull
399 5cedca1b 2004-05-15 devnull It is possible to get troff in an infinite loop by renaming a
400 5cedca1b 2004-05-15 devnull diversion in progress, and calling it later with the
401 5cedca1b 2004-05-15 devnull new name (as in .di xx, .rn xx yy, .yy). The effect depends on
402 5cedca1b 2004-05-15 devnull whether troff already put stuff in the diversion or not.
403 5cedca1b 2004-05-15 devnull
404 5cedca1b 2004-05-15 devnull Fix by having .rn also rename the current diversion (if
405 5cedca1b 2004-05-15 devnull there is any and when appropriate). If the diversion calls
406 5cedca1b 2004-05-15 devnull itself by the new name and given the fix made on 11 nov
407 5cedca1b 2004-05-15 devnull 1992, this will now result in an error. (BTW, the fix from
408 5cedca1b 2004-05-15 devnull 11 nov is improved: diversions nest, so we have to account
409 5cedca1b 2004-05-15 devnull for that).
410 5cedca1b 2004-05-15 devnull
411 5cedca1b 2004-05-15 devnull December 18, 1992:
412 5cedca1b 2004-05-15 devnull Some people have complete novels as comments, so we need
413 5cedca1b 2004-05-15 devnull to skip comments while checking the legality of font files.
414 5cedca1b 2004-05-15 devnull thaks Rixh
415 5cedca1b 2004-05-15 devnull
416 5cedca1b 2004-05-15 devnull December 16, 1992
417 5cedca1b 2004-05-15 devnull
418 5cedca1b 2004-05-15 devnull Some people rely on the order that -r arguments are given,
419 5cedca1b 2004-05-15 devnull so that troff -rC1 -rC3 ends up setting register C to 3.
420 5cedca1b 2004-05-15 devnull Because cpushback() pushes things in a LIFO order back, we
421 5cedca1b 2004-05-15 devnull have to do the same to get -r args in a FIFO order.
422 5cedca1b 2004-05-15 devnull
423 5cedca1b 2004-05-15 devnull Nov 17, 1992:
424 5cedca1b 2004-05-15 devnull
425 5cedca1b 2004-05-15 devnull Giving a -rL8 option cuased the string .nr L 8 to be printed
426 5cedca1b 2004-05-15 devnull on the output, using the wonderful 3b2. Some garbage was
427 5cedca1b 2004-05-15 devnull left in buf[100] in main(). Fixed by setting buf[0] explicitly
428 5cedca1b 2004-05-15 devnull to 0 (because some C-compilers complain about ``no automatic
429 5cedca1b 2004-05-15 devnull aggregate initialization'').
430 5cedca1b 2004-05-15 devnull
431 5cedca1b 2004-05-15 devnull Nov 11, 1992:
432 5cedca1b 2004-05-15 devnull
433 5cedca1b 2004-05-15 devnull Diversion bug fix
434 5cedca1b 2004-05-15 devnull
435 5cedca1b 2004-05-15 devnull If a diversion was being read and the input is faulty so
436 5cedca1b 2004-05-15 devnull the diversion was reading in itself, it caused troff to
437 5cedca1b 2004-05-15 devnull loop undefinitely. This was easily fixed by a test in
438 5cedca1b 2004-05-15 devnull control(a,b) in n1.c.
439 5cedca1b 2004-05-15 devnull
440 5cedca1b 2004-05-15 devnull Something similar things might happen with macros causing
441 5cedca1b 2004-05-15 devnull the ``eileenct problem'', but I didn't look for that. We
442 5cedca1b 2004-05-15 devnull have to wait until it happens.
443 5cedca1b 2004-05-15 devnull
444 5cedca1b 2004-05-15 devnull Oct 26, 1992:
445 5cedca1b 2004-05-15 devnull
446 5cedca1b 2004-05-15 devnull Numeric arguments:
447 5cedca1b 2004-05-15 devnull
448 5cedca1b 2004-05-15 devnull Illegal argments are treated as missing arguments. This
449 5cedca1b 2004-05-15 devnull changed the semantics of .ll, .ls, .in, .lg, .ul, .cu .lt
450 5cedca1b 2004-05-15 devnull (which acted as if the argument was 0) and .ps which was
451 5cedca1b 2004-05-15 devnull simply ignored with an illegal argument.
452 5cedca1b 2004-05-15 devnull
453 5cedca1b 2004-05-15 devnull Tidied up number parsing in atoi1(). This prevents arguments
454 5cedca1b 2004-05-15 devnull like .x or 1.2.3.4 being interpret as a legal number (nonumb = 0)
455 5cedca1b 2004-05-15 devnull
456 5cedca1b 2004-05-15 devnull Numeric arguments error reporting:
457 5cedca1b 2004-05-15 devnull
458 5cedca1b 2004-05-15 devnull Controlled by .pt, illegal numbers are now reported (default
459 5cedca1b 2004-05-15 devnull trace mode is 1). This is also true for the escapes:
460 5cedca1b 2004-05-15 devnull \h'..', \v'..' \H'..', \S'..', \N'..', \D'..', \l'.., \L'..
461 5cedca1b 2004-05-15 devnull and \x'..'.
462 5cedca1b 2004-05-15 devnull
463 5cedca1b 2004-05-15 devnull \D'c' is the only drawing request which doesn't take a pair
464 5cedca1b 2004-05-15 devnull of numbers as arguments, so a special case is put here in
465 5cedca1b 2004-05-15 devnull setdraw() (This code actually could use an overhaul to get
466 5cedca1b 2004-05-15 devnull better parsing. As long as the \D'..' cookies are machine
467 5cedca1b 2004-05-15 devnull generated it is low on the priority list).
468 5cedca1b 2004-05-15 devnull
469 5cedca1b 2004-05-15 devnull Don't generate an error if the illegal argument to a request
470 5cedca1b 2004-05-15 devnull is a \}. It is too painful to do right (although it can be
471 5cedca1b 2004-05-15 devnull done, but it would clutter getch() and getcho() even more).
472 5cedca1b 2004-05-15 devnull
473 5cedca1b 2004-05-15 devnull Input line numbers (.c register) bug fixes:
474 5cedca1b 2004-05-15 devnull
475 5cedca1b 2004-05-15 devnull In not taken branches of .if or .ie, the input line #
476 5cedca1b 2004-05-15 devnull (numtab[CD].val) should be raised when necessary (in eatblk()).
477 5cedca1b 2004-05-15 devnull
478 5cedca1b 2004-05-15 devnull For concealed newlines, we still should count the line for input.
479 5cedca1b 2004-05-15 devnull
480 5cedca1b 2004-05-15 devnull Setfield (n9.c) sometimes pushes the rest of the line back to
481 5cedca1b 2004-05-15 devnull the input (including \n), without adjusting numtab[CD].val
482 5cedca1b 2004-05-15 devnull
483 5cedca1b 2004-05-15 devnull Because .c (and so numtab[CD].val) is the number of lines read
484 5cedca1b 2004-05-15 devnull and the error might actually happen in the current line
485 5cedca1b 2004-05-15 devnull (before seeing the '\n), we need to apply correction in
486 5cedca1b 2004-05-15 devnull errprint when nlflg set. (This correction needs to be undone
487 5cedca1b 2004-05-15 devnull when inside a macro because the nlflg is set by reading the
488 5cedca1b 2004-05-15 devnull args to the macro).
489 5cedca1b 2004-05-15 devnull
490 5cedca1b 2004-05-15 devnull Line number setting (.lf) request bug fixes:
491 5cedca1b 2004-05-15 devnull
492 5cedca1b 2004-05-15 devnull I interpret that the .c register will contain the number of
493 5cedca1b 2004-05-15 devnull read lines, not including the current one.
494 5cedca1b 2004-05-15 devnull
495 5cedca1b 2004-05-15 devnull Also, don't change the input line number when the first
496 5cedca1b 2004-05-15 devnull argument of .lf is not a number.
497 5cedca1b 2004-05-15 devnull
498 5cedca1b 2004-05-15 devnull As a net effect, the next input
499 5cedca1b 2004-05-15 devnull
500 5cedca1b 2004-05-15 devnull .EQ
501 5cedca1b 2004-05-15 devnull .EN
502 5cedca1b 2004-05-15 devnull .ab
503 5cedca1b 2004-05-15 devnull
504 5cedca1b 2004-05-15 devnull will generate the same output whether eqn has been used or not.
505 5cedca1b 2004-05-15 devnull
506 5cedca1b 2004-05-15 devnull If request bug fix:
507 5cedca1b 2004-05-15 devnull
508 5cedca1b 2004-05-15 devnull A ``.if page .tm foo'' caused the next line being ignored;
509 5cedca1b 2004-05-15 devnull This bcause when the 2nd delimiter of a string couldn't be
510 5cedca1b 2004-05-15 devnull found in cmpstr, the next line was always eaten. Solution:
511 5cedca1b 2004-05-15 devnull in caseif1, if the condition is false, we should check
512 5cedca1b 2004-05-15 devnull nlflg before eating a block. (Note: We might have eaten
513 5cedca1b 2004-05-15 devnull \{\ as well. We could disallow the \{\ in a string to be
514 5cedca1b 2004-05-15 devnull compared to prevent that but that might break other things).
515 5cedca1b 2004-05-15 devnull
516 5cedca1b 2004-05-15 devnull Enhancement to .pt:
517 5cedca1b 2004-05-15 devnull
518 5cedca1b 2004-05-15 devnull The .pt now pops the previous values when no argument is
519 5cedca1b 2004-05-15 devnull specified. Turned out to be handy when chasing for problems.
520 5cedca1b 2004-05-15 devnull Just ``bracked'' the code with .pt 7 and .pt and you get
521 5cedca1b 2004-05-15 devnull a trace of only that block. The meaning of the arguments
522 5cedca1b 2004-05-15 devnull is now:
523 5cedca1b 2004-05-15 devnull 01 trace numeric arguments (default on)
524 5cedca1b 2004-05-15 devnull 02 trace requests
525 5cedca1b 2004-05-15 devnull 04 trace macros
526 5cedca1b 2004-05-15 devnull
527 5cedca1b 2004-05-15 devnull Abort request (.ab) beautification:
528 5cedca1b 2004-05-15 devnull
529 5cedca1b 2004-05-15 devnull Don't print the extra carriage return when .ab is called
530 5cedca1b 2004-05-15 devnull without an argument.
531 5cedca1b 2004-05-15 devnull
532 5cedca1b 2004-05-15 devnull Oct 12, 1992:
533 5cedca1b 2004-05-15 devnull
534 5cedca1b 2004-05-15 devnull (Comments & spelling errors from this day on by jaap)
535 5cedca1b 2004-05-15 devnull
536 5cedca1b 2004-05-15 devnull replaced 32767 by INT_MAX in several places to allow for very
537 5cedca1b 2004-05-15 devnull long pages (on 32-but machines).
538 5cedca1b 2004-05-15 devnull
539 5cedca1b 2004-05-15 devnull The ``.fp 1 R \"COMMENT'' complains about ``./troff: Can't
540 5cedca1b 2004-05-15 devnull open font file /usr/lib/font/devpost/h'' on some systems. It
541 5cedca1b 2004-05-15 devnull sees the tab as part of the optional font file. Apparently it
542 5cedca1b 2004-05-15 devnull is system dependent whether isgraph() includes the tab
543 5cedca1b 2004-05-15 devnull character. Fixed by using getach() in getname() in n1.c
544 5cedca1b 2004-05-15 devnull instead.
545 5cedca1b 2004-05-15 devnull
546 5cedca1b 2004-05-15 devnull Aug 28, 1992:
547 5cedca1b 2004-05-15 devnull removed call to popi from rdtty(); it was eating up the
548 5cedca1b 2004-05-15 devnull rest of the macro if it was used from within one. (thanks, jaap)
549 5cedca1b 2004-05-15 devnull
550 5cedca1b 2004-05-15 devnull
551 5cedca1b 2004-05-15 devnull Jul 21, 1992:
552 5cedca1b 2004-05-15 devnull added extra test in nextfile() to pop current input file
553 5cedca1b 2004-05-15 devnull only if not in .nx command. thanks to jaap.
554 5cedca1b 2004-05-15 devnull
555 5cedca1b 2004-05-15 devnull added test in getword() to avoid hyphenating after \z character,
556 5cedca1b 2004-05-15 devnull which prevents any hyphenation inside \X'...'. thanks to jaap.
557 5cedca1b 2004-05-15 devnull
558 5cedca1b 2004-05-15 devnull added, then removed, code in getword() to prevent hyphenating
559 5cedca1b 2004-05-15 devnull anything shorter than 6 characters. looks like it changed a
560 5cedca1b 2004-05-15 devnull lot more than i thought.
561 5cedca1b 2004-05-15 devnull
562 5cedca1b 2004-05-15 devnull Jul 12, 1992:
563 5cedca1b 2004-05-15 devnull added .pt request to trace macros and requests (from jaap).
564 5cedca1b 2004-05-15 devnull .pt N Print trace of macros (N=1), requests (N=2) or both (N=3)
565 5cedca1b 2004-05-15 devnull
566 5cedca1b 2004-05-15 devnull Jun 5, 1992:
567 5cedca1b 2004-05-15 devnull added tests to t.twrest and t.twinit to avoid 0 deref in
568 5cedca1b 2004-05-15 devnull n2 and n10, for nroff -t xxxxx. thanks to Rich Drechsler.
569 5cedca1b 2004-05-15 devnull
570 5cedca1b 2004-05-15 devnull May 22, 1992:
571 5cedca1b 2004-05-15 devnull added extern decls to e.g., void Tchar (*hmot)(void) in tdef.h
572 5cedca1b 2004-05-15 devnull and added definition to ni.c, so pointers are defined explicitly.
573 5cedca1b 2004-05-15 devnull makes it work on turbo c++ and probably others.
574 5cedca1b 2004-05-15 devnull
575 5cedca1b 2004-05-15 devnull changed a couple of isdigit's and isgraph(getch()) to avoid
576 5cedca1b 2004-05-15 devnull multiple evaluation (even though it shouldn't happen).
577 5cedca1b 2004-05-15 devnull
578 5cedca1b 2004-05-15 devnull Made /usr/bin/nroff a shell script.
579 5cedca1b 2004-05-15 devnull
580 5cedca1b 2004-05-15 devnull May 12, 1992:
581 5cedca1b 2004-05-15 devnull n1.c: need p++ after strrchr to skip / in program name.
582 5cedca1b 2004-05-15 devnull thanks to Rich Drechsler.
583 5cedca1b 2004-05-15 devnull
584 5cedca1b 2004-05-15 devnull Apr 17, 1992:
585 5cedca1b 2004-05-15 devnull casefi(), n5.c: .u register should be 0 or 1, not incremented
586 5cedca1b 2004-05-15 devnull with each .fi.
587 5cedca1b 2004-05-15 devnull
588 5cedca1b 2004-05-15 devnull Apr 5, 1992:
589 5cedca1b 2004-05-15 devnull fiddled n7.c and added _nmwid to the environment, to add a
590 5cedca1b 2004-05-15 devnull 5th argument to .nm: the maximum number of digits in any
591 5cedca1b 2004-05-15 devnull line number. default is 3, which was previously hardwired in.
592 5cedca1b 2004-05-15 devnull
593 5cedca1b 2004-05-15 devnull added jaap's code for yet another register which actually delivers
594 5cedca1b 2004-05-15 devnull a string, called .S (so it can easily go in the switch in setn()
595 5cedca1b 2004-05-15 devnull in n4.c); it delivers the current tabstop and alignment modes in
596 5cedca1b 2004-05-15 devnull a format suitable for a subsequent .ta \n(.S command:
597 5cedca1b 2004-05-15 devnull .ds T \n(.S
598 5cedca1b 2004-05-15 devnull ...
599 5cedca1b 2004-05-15 devnull .ta \*T
600 5cedca1b 2004-05-15 devnull
601 5cedca1b 2004-05-15 devnull Mar 30, 1992:
602 5cedca1b 2004-05-15 devnull added test in getword to avoid hyphenating things with motions
603 5cedca1b 2004-05-15 devnull (and avoid a core dump sometimes too).
604 5cedca1b 2004-05-15 devnull
605 5cedca1b 2004-05-15 devnull Mar 13, 1992:
606 5cedca1b 2004-05-15 devnull \n(sb initialized wrong in setwd().
607 5cedca1b 2004-05-15 devnull
608 5cedca1b 2004-05-15 devnull TYPESETTER=foo troff -Tpost used foo instead of post.
609 5cedca1b 2004-05-15 devnull
610 5cedca1b 2004-05-15 devnull Mar 12, 1992:
611 5cedca1b 2004-05-15 devnull rearranged tests in popf so that .so is closed properly before
612 5cedca1b 2004-05-15 devnull moving on to the next macro package.
613 5cedca1b 2004-05-15 devnull
614 5cedca1b 2004-05-15 devnull Mar 1, 1992:
615 5cedca1b 2004-05-15 devnull input mechanism rearranged to use getc() instead of stack of
616 5cedca1b 2004-05-15 devnull explicit input buffers. 5-10% slowdown.
617 5cedca1b 2004-05-15 devnull
618 5cedca1b 2004-05-15 devnull Jan 28, 1992:
619 5cedca1b 2004-05-15 devnull fixed .tm \(mi to print something sensible. thanks to jaap.
620 5cedca1b 2004-05-15 devnull
621 5cedca1b 2004-05-15 devnull Jan 2, 1992:
622 5cedca1b 2004-05-15 devnull fiddle setfp so doesn't put out font stuff if -a turned on.
623 5cedca1b 2004-05-15 devnull
624 5cedca1b 2004-05-15 devnull Dec 17, 1991:
625 5cedca1b 2004-05-15 devnull copy 3rd argument in .fp commands to x font ... lines when it contains
626 5cedca1b 2004-05-15 devnull a /, for testing fonts locally.
627 5cedca1b 2004-05-15 devnull
628 5cedca1b 2004-05-15 devnull Dec 13, 1991:
629 5cedca1b 2004-05-15 devnull parameterize the font directories, etc., so can be set in makefiles.
630 5cedca1b 2004-05-15 devnull added -N argument to run as nroff.
631 5cedca1b 2004-05-15 devnull
632 5cedca1b 2004-05-15 devnull Nov 8, 1991:
633 5cedca1b 2004-05-15 devnull add a maplow(towlower...) in n8.c to handle brain-damaged libraries.
634 5cedca1b 2004-05-15 devnull
635 5cedca1b 2004-05-15 devnull Nov 2, 1991:
636 5cedca1b 2004-05-15 devnull merged nroff into troff, based on Ken's plan 9 version.
637 5cedca1b 2004-05-15 devnull merged nii.c into ni.c, removed tw.h, etc. more work needed
638 5cedca1b 2004-05-15 devnull to make this stuff cleaner.
639 5cedca1b 2004-05-15 devnull
640 5cedca1b 2004-05-15 devnull July 27, 1991:
641 5cedca1b 2004-05-15 devnull added test in setn in n4 to fix bug that permitted things like
642 5cedca1b 2004-05-15 devnull \n (ab to work "properly". thanks to jaap for finding and fixing.
643 5cedca1b 2004-05-15 devnull
644 5cedca1b 2004-05-15 devnull added paranoid testing in t11 to make sure font files look ok.
645 5cedca1b 2004-05-15 devnull
646 5cedca1b 2004-05-15 devnull May 13, 1991:
647 5cedca1b 2004-05-15 devnull moved evaluation of \(xx from copy mode to non-copy mode, so that
648 5cedca1b 2004-05-15 devnull weird character names wouldn't get reevaluated in argument parsing.
649 5cedca1b 2004-05-15 devnull installed july 27.
650 5cedca1b 2004-05-15 devnull
651 5cedca1b 2004-05-15 devnull May 6, 1991:
652 5cedca1b 2004-05-15 devnull increased size of hyphenation exception buffer to 512 from 128
653 5cedca1b 2004-05-15 devnull
654 5cedca1b 2004-05-15 devnull Apr 14, 1991:
655 5cedca1b 2004-05-15 devnull added an extra redundant call of ptfont in setfp, since it appears
656 5cedca1b 2004-05-15 devnull that some versions of adobe transcript assume that an "x font" command
657 5cedca1b 2004-05-15 devnull means to change the actual font as well. the fix preserves the current font.
658 5cedca1b 2004-05-15 devnull thanks to david brailsford and friends for spotting the problem.
659 5cedca1b 2004-05-15 devnull
660 5cedca1b 2004-05-15 devnull fixed up tests in alpha() in n8 to defend isalpha() against too-big inputs.
661 5cedca1b 2004-05-15 devnull punct() argument had wrong type too. thanks to rich drexler and peter nelson.
662 5cedca1b 2004-05-15 devnull
663 5cedca1b 2004-05-15 devnull Mar 19, 1991:
664 5cedca1b 2004-05-15 devnull fixed bug that prevented .rd from working with new corebuf organization.
665 5cedca1b 2004-05-15 devnull
666 5cedca1b 2004-05-15 devnull fixed bug that caused .ig inside diversions to give bad storage
667 5cedca1b 2004-05-15 devnull allocation. thanks to arthur david olson, whose fix was on netnews
668 5cedca1b 2004-05-15 devnull 3 years earlier.
669 5cedca1b 2004-05-15 devnull
670 5cedca1b 2004-05-15 devnull Mar 5, 1991:
671 5cedca1b 2004-05-15 devnull huge table sizes for kanji.
672 5cedca1b 2004-05-15 devnull
673 5cedca1b 2004-05-15 devnull Feb ??, 1991:
674 5cedca1b 2004-05-15 devnull working on dealing with large alphabets, notably kanji.
675 5cedca1b 2004-05-15 devnull added "defaultwidth" to font descriptions, for characters
676 5cedca1b 2004-05-15 devnull not given an explicit width.
677 5cedca1b 2004-05-15 devnull
678 5cedca1b 2004-05-15 devnull Jan, 1991:
679 5cedca1b 2004-05-15 devnull added tex hyphenation, using standard tex data files, but not the
680 5cedca1b 2004-05-15 devnull elaborate compressed trie, which is a lot of trouble to save maybe
681 5cedca1b 2004-05-15 devnull 40k bytes. this appears to run at exactly the same speed as before.
682 5cedca1b 2004-05-15 devnull
683 5cedca1b 2004-05-15 devnull so far this stuff reads into a fixed size array; that should change.
684 5cedca1b 2004-05-15 devnull it should also be possible to deal with multiple languages.
685 5cedca1b 2004-05-15 devnull
686 5cedca1b 2004-05-15 devnull the command .ha sets the algorithm. .ha 1 => tex, with troff rules
687 5cedca1b 2004-05-15 devnull if tex doesn't hyphenate; .ha 0 gives troff rules, and .ha resets
688 5cedca1b 2004-05-15 devnull to the default, which is tex. the hyphenation algorithm is part of
689 5cedca1b 2004-05-15 devnull the environment, a nod to a future in which i handle more than one
690 5cedca1b 2004-05-15 devnull language.
691 5cedca1b 2004-05-15 devnull
692 5cedca1b 2004-05-15 devnull replaced the fixed size corebuf array for string/macro storage by
693 5cedca1b 2004-05-15 devnull a dynamic structure that can grow.
694 5cedca1b 2004-05-15 devnull
695 5cedca1b 2004-05-15 devnull this appears to slow things down by maybe 3%. the code is about
696 5cedca1b 2004-05-15 devnull the same complexity.
697 5cedca1b 2004-05-15 devnull
698 5cedca1b 2004-05-15 devnull Dec 27, 1990:
699 5cedca1b 2004-05-15 devnull converted to ansi c, based on some work by ken thompson, but not
700 5cedca1b 2004-05-15 devnull as thoroughly as he did. there is a shell script unansi and an awk
701 5cedca1b 2004-05-15 devnull program cvt that will help you step back in time if you do not have
702 5cedca1b 2004-05-15 devnull an ansi c compiler.
703 5cedca1b 2004-05-15 devnull
704 5cedca1b 2004-05-15 devnull moved the special-name characters up to 256 instead of 128, although
705 5cedca1b 2004-05-15 devnull done in terms of ALPHABET, so one can pass 8 bit characters through.
706 5cedca1b 2004-05-15 devnull removed lots of 0177's and similar numbers. input is now not filtered,
707 5cedca1b 2004-05-15 devnull and if a character with the 8th bit on comes in, it will go out again.
708 5cedca1b 2004-05-15 devnull
709 5cedca1b 2004-05-15 devnull fixed t11.c to read character names in hex or octal as well as
710 5cedca1b 2004-05-15 devnull single-character ascii.
711 5cedca1b 2004-05-15 devnull
712 5cedca1b 2004-05-15 devnull unknown characters are now carried through with width = spacewidth.
713 5cedca1b 2004-05-15 devnull needs a way to set widths.
714 5cedca1b 2004-05-15 devnull
715 5cedca1b 2004-05-15 devnull removed all signal handling from troff. you signal, you die.
716 5cedca1b 2004-05-15 devnull
717 5cedca1b 2004-05-15 devnull added -d option to print version number.
718 5cedca1b 2004-05-15 devnull
719 5cedca1b 2004-05-15 devnull Dec 7, 1990:
720 5cedca1b 2004-05-15 devnull .fp 3 V VERYLONGNAME used to truncate the name to 10 chars; fixed.
721 5cedca1b 2004-05-15 devnull
722 5cedca1b 2004-05-15 devnull increased the limit on FBUFSZ for tables with very long fields.
723 5cedca1b 2004-05-15 devnull
724 5cedca1b 2004-05-15 devnull changed atoi1() to use double to avoid intermediate overflow.
725 5cedca1b 2004-05-15 devnull
726 5cedca1b 2004-05-15 devnull moved filenames like /usr/lib/font into tdef.h for easy change.
727 5cedca1b 2004-05-15 devnull removed some dreggish definitions.
728 5cedca1b 2004-05-15 devnull
729 5cedca1b 2004-05-15 devnull cleaned up non-portable error printing stuff; fixed up some messages.
730 5cedca1b 2004-05-15 devnull
731 5cedca1b 2004-05-15 devnull Dec 12, 1989:
732 5cedca1b 2004-05-15 devnull Removed the .! command, an undocumented synonym for .sy.
733 5cedca1b 2004-05-15 devnull
734 5cedca1b 2004-05-15 devnull Dec 4, 1989:
735 5cedca1b 2004-05-15 devnull Another wart to the \X code, to try to preserve blanks in all situations.
736 5cedca1b 2004-05-15 devnull
737 5cedca1b 2004-05-15 devnull Nov 17, 1989:
738 5cedca1b 2004-05-15 devnull A number of small changes preparatory to getting rid of nroff.
739 5cedca1b 2004-05-15 devnull The argument -Tnroff or -Tnroff-12 changes some internal values
740 5cedca1b 2004-05-15 devnull so that the predicate .if n is true and certain arithmetic operations
741 5cedca1b 2004-05-15 devnull are done as if nroff. This design is not yet final.
742 5cedca1b 2004-05-15 devnull
743 5cedca1b 2004-05-15 devnull Nov 7, 1989:
744 5cedca1b 2004-05-15 devnull Fixed hyphenation for nov-ice, ad-vice, de-vice, ser-vice, *-vice.
745 5cedca1b 2004-05-15 devnull
746 5cedca1b 2004-05-15 devnull Oct 11, 1989:
747 5cedca1b 2004-05-15 devnull It is now permitted to do an explicit change to font S.
748 5cedca1b 2004-05-15 devnull It is not clear what will break (though nothing seems to have).
749 5cedca1b 2004-05-15 devnull
750 5cedca1b 2004-05-15 devnull Oct 10, 1989:
751 5cedca1b 2004-05-15 devnull Modified flush code to always put out \nH instead of sometimes h.
752 5cedca1b 2004-05-15 devnull This makes it easier to parse the output for positioning.
753 5cedca1b 2004-05-15 devnull
754 5cedca1b 2004-05-15 devnull Sep 9, 1989:
755 5cedca1b 2004-05-15 devnull Fixed internal representation of \D'~...' so that it
756 5cedca1b 2004-05-15 devnull is immune to .tr ~ and variations. No external change.
757 5cedca1b 2004-05-15 devnull
758 5cedca1b 2004-05-15 devnull Aug 9, 1989:
759 5cedca1b 2004-05-15 devnull Changed .tm so it outputs \e, \%, \-, \&, \(blank).
760 5cedca1b 2004-05-15 devnull This might break indexing code.
761 5cedca1b 2004-05-15 devnull Only in the new version, as are all subsequent fixes.
762 5cedca1b 2004-05-15 devnull
763 5cedca1b 2004-05-15 devnull July, 1989:
764 5cedca1b 2004-05-15 devnull A major internal change: font information is read in ascii
765 5cedca1b 2004-05-15 devnull instead of the weird binary format of makedev (which is now dead).
766 5cedca1b 2004-05-15 devnull character names need not all appear in DESC; new names that
767 5cedca1b 2004-05-15 devnull appear when a font is used become part of the set of known names.
768 5cedca1b 2004-05-15 devnull
769 5cedca1b 2004-05-15 devnull There are some flaky bits here (it's conceivable that some \N
770 5cedca1b 2004-05-15 devnull number will collide with a real name), and it's probably 10-15%
771 5cedca1b 2004-05-15 devnull slower. Tant pis.
772 5cedca1b 2004-05-15 devnull
773 5cedca1b 2004-05-15 devnull As a by-product, nroff no longer compiles. I'll probably get
774 5cedca1b 2004-05-15 devnull back to this, but an alternative is to bag it once and for all.
775 5cedca1b 2004-05-15 devnull
776 5cedca1b 2004-05-15 devnull May 25, 1989:
777 5cedca1b 2004-05-15 devnull Another bug in \l, this time when width is 0. Not installed,
778 5cedca1b 2004-05-15 devnull since it's in the new font version.
779 5cedca1b 2004-05-15 devnull
780 5cedca1b 2004-05-15 devnull Apr 23, 1989:
781 5cedca1b 2004-05-15 devnull Fixed bug in n9 that caused core dump with unterminated
782 5cedca1b 2004-05-15 devnull \l command, like \l'1.5i
783 5cedca1b 2004-05-15 devnull
784 5cedca1b 2004-05-15 devnull ptflush no longer called when -a is on.
785 5cedca1b 2004-05-15 devnull
786 5cedca1b 2004-05-15 devnull Apr 12, 1989:
787 5cedca1b 2004-05-15 devnull fixed bug in n2 that failed to suppress printing of \!
788 5cedca1b 2004-05-15 devnull output when a -o was in effect.
789 5cedca1b 2004-05-15 devnull
790 5cedca1b 2004-05-15 devnull Apr 5, 1989:
791 5cedca1b 2004-05-15 devnull .fl and \X now cause output of size, font, hpos and vpos.
792 5cedca1b 2004-05-15 devnull this is necesary for postprocessors that intend to insert
793 5cedca1b 2004-05-15 devnull independent material, such as postscript.
794 5cedca1b 2004-05-15 devnull
795 5cedca1b 2004-05-15 devnull Feb 1, 1989:
796 5cedca1b 2004-05-15 devnull wait for .pi pipe to empty before exiting
797 5cedca1b 2004-05-15 devnull
798 5cedca1b 2004-05-15 devnull Oct 2, 1988:
799 5cedca1b 2004-05-15 devnull default is now -Tpost
800 5cedca1b 2004-05-15 devnull
801 5cedca1b 2004-05-15 devnull Sep 19, 1988:
802 5cedca1b 2004-05-15 devnull added abortive code to handle built-up characters by
803 5cedca1b 2004-05-15 devnull passing something through as \D'b...'. never used.
804 5cedca1b 2004-05-15 devnull
805 5cedca1b 2004-05-15 devnull Jul 4, 1988:
806 5cedca1b 2004-05-15 devnull replaced the sbrk nonsense in n3.c by calls to malloc.
807 5cedca1b 2004-05-15 devnull
808 5cedca1b 2004-05-15 devnull \N now tests against proper font size.
809 5cedca1b 2004-05-15 devnull
810 5cedca1b 2004-05-15 devnull installed Jaap Akkerhuis's code (mutatis mutandis) for
811 5cedca1b 2004-05-15 devnull permitting up to 99 fonts, swapping them into font pos 0
812 5cedca1b 2004-05-15 devnull as needed. fixes the long-standing problem of having
813 5cedca1b 2004-05-15 devnull multiple font changes on a single output line.
814 5cedca1b 2004-05-15 devnull
815 5cedca1b 2004-05-15 devnull Jul 2, 1988:
816 5cedca1b 2004-05-15 devnull \X now preserves spaces even when contents are diverted.
817 5cedca1b 2004-05-15 devnull
818 5cedca1b 2004-05-15 devnull \N code safer -- NTRTAB and NWIDCACHE enlarged.
819 5cedca1b 2004-05-15 devnull
820 5cedca1b 2004-05-15 devnull Jul 14, 1987:
821 5cedca1b 2004-05-15 devnull Fixed obscure bug causing incorrect indentation of .mc output.