Commit | Line | Data |
---|---|---|
c23c078f WJ |
1 | Wed Mar 13 12:49:40 1991 James Clark (jjc at jclark) |
2 | ||
3 | * Version 1.01 released. | |
4 | ||
5 | * dvi/devdvi/CompileFonts: Add cm*ss10 fonts. | |
6 | ||
7 | * dvi/tmac.dvi: ftr HR to H. | |
8 | ||
9 | * macros/tmac.e: Round up computation of $r. | |
10 | ||
11 | * xditview/tmac.X: Don't give up completely in compatibility mode. | |
12 | Use \n(.s instead of \n[.s]. | |
13 | ||
14 | * dvi/tmac.dvi: Don't give up completely in compatibility mode. | |
15 | Use \(ci instead of \[ci]. Use \n(.s instead of \n[.s]. | |
16 | Add u to factors inside \s[...]. Rename frac to dvi-frac. | |
17 | Translate \(FM onto \[prime] and \(!/ onto \[slashnot]; use these | |
18 | short names in the char definitions. | |
19 | ||
20 | * ps/tmac.ps: Don't give up completely in compatibility mode. | |
21 | Fix the fraction definitions to use \n(.s and \(f/. Add an extra | |
22 | quote in front of \n(.s. Add u to factors inside \s[...]. | |
23 | ||
24 | Mon Mar 11 12:01:20 1991 James Clark (jjc at jclark) | |
25 | ||
26 | * tty/tmac.tty: Call the nroff request. | |
27 | ||
28 | * macros/tmac.e ((x, )x): Better definitions that work properly | |
29 | in a diversion. | |
30 | (@0, @1): Helper macros for (x. | |
31 | ||
32 | * macros/tmac.e ($s, hl): Use \l rather than \D. | |
33 | ||
34 | * tty/tmac.tty: Make it work better in compatibility mode. | |
35 | (pchar): Rename to tty-char. | |
36 | ||
37 | * macros/tmac.e (@E): New macro. | |
38 | (r, i, b, rb, bi): Use @E. | |
39 | ||
40 | * macros/tmac.e (@F): Don't use (;...) syntax. | |
41 | ||
42 | * macros/tmac.e: Remove mention of \*(||/revisions. Mention that | |
43 | it was modified for groff. | |
44 | ||
45 | * macros/tmac.e: Make sure \n(ps and \n(es are >= \n(.V. | |
46 | ||
47 | * macros/tmac.e (<., .>): Removed. | |
48 | ([., .]): If \n(.V>=1v, use [] instead of superscripting. | |
49 | ||
50 | * macros/tmac.e: Remove check that groff is being used. | |
51 | ||
52 | * macros/tmac.e (@C): Change families only if using groff; turn | |
53 | compatibility mode off while changing familes. Save compatibility | |
54 | mode before changing families and restore it afterwards. | |
55 | ||
56 | * macros/tmac.e (@h): Remove test for offset + line length. | |
57 | ||
58 | * macros/tmac.e (sorry): Rename to @S. Use \$1 instead of \$0 | |
59 | (lo, th, ac): Define to call @S instead of using als. | |
60 | ||
61 | * macros/tmac.e: Make $r and $R now contain \n(.v*100/\n(.sp, ie | |
62 | the ratio of the vertical spacing to the point size in units | |
63 | expressed as a percentage. Use these instead of $10r and $10R, | |
64 | Delete $10r and $10R. | |
65 | ||
66 | * lib/font.c (font::load): In default computation of space_width, | |
67 | divide by sizescale. Use scale_round. | |
68 | ||
69 | * macros/tmac.an (TP): Don't call `nf'. | |
70 | (an-do-tag): Don't call `fi'. | |
71 | ||
72 | Sun Mar 10 09:52:35 1991 James Clark (jjc at jclark) | |
73 | ||
74 | * troff/input.c (process_input_stack): Handle the case where | |
75 | spaces at the beginning of an input line are followed by a | |
76 | newline. | |
77 | ||
78 | Thu Mar 7 20:18:07 1991 James Clark (jjc at jclark) | |
79 | ||
80 | * groff.c (device_table): Add PIC_X_OPTION for dvi device. | |
81 | * groff.sh: Use pic -x with the dvi device. | |
82 | ||
83 | * dvi/devdvi/FontMakefile (H): Don't use -s. | |
84 | ||
85 | * dvi/devdvi/HI, dvi/devdvi/HB: New files. | |
86 | * dvi/devdvi/Makefile: Add HI and HB to FONTS. | |
87 | * dvi/devdvi/FontMakefile: Add rules for HI and HB. Include these | |
88 | in FONTS. | |
89 | ||
90 | Mon Mar 4 13:20:14 1991 James Clark (jjc at jclark) | |
91 | ||
92 | * ps/psfig.diff: New file. | |
93 | * ps/tmac.psfig: New file. | |
94 | ||
95 | Sat Mar 2 00:15:09 1991 James Clark (jjc at jclark) | |
96 | ||
97 | * macros/tmac.s (]=, ref*do-tl, ref*bib-print): Deleted. | |
98 | (]-): Don't call ref*do-tl. | |
99 | ||
100 | * macros/tmac.s (ref*end-print): Use XP if [F not defined. | |
101 | ||
102 | * macros/tmac.s (ref*normal-print): Call FS rather than fn@do-FS. | |
103 | (fn@do-FS): Rename to fn*do-FS. | |
104 | ||
105 | * troff/input.c (transparent_translate): New function. | |
106 | (process_input_stack): Apply transparent_translate before calling | |
107 | diversion::transparent_output(unsigned char). | |
108 | ||
109 | Wed Feb 27 00:13:25 1991 James Clark (jjc at jclark) | |
110 | ||
111 | * troff/input.c (do_define_macro): Define the macro before calling | |
112 | skip_line. | |
113 | ||
114 | * xditview/Makefile: Add DEVICES variable. Change install target | |
115 | to use this. | |
116 | ||
117 | Tue Feb 26 10:46:22 1991 James Clark (jjc at jclark) | |
118 | ||
119 | * groff.c (run_commands): Handle the possibility that there are | |
120 | child processes other than those forked by us. | |
121 | ||
122 | Sun Feb 24 21:32:30 1991 James Clark (jjc at jclark) | |
123 | ||
124 | * lib/string.c (string::append): New function. | |
125 | * lib/stringclass.h: Declare it. | |
126 | ||
127 | Thu Feb 21 11:49:26 1991 James Clark (jjc at jclark) | |
128 | ||
129 | * eqn/main.c (main): New option -N which sets | |
130 | no_newline_in_delim_flag. | |
131 | (do_file): If no_newline_in_delim_flag is set don't allow newlines | |
132 | in delimiters. | |
133 | * groff.c (main): Pass -N on to eqn. | |
134 | (help, synopsis): Mention -N. | |
135 | * groff.sh: Implement -N. | |
136 | ||
137 | Wed Feb 20 15:16:10 1991 James Clark (jjc at jclark) | |
138 | ||
139 | * macros/tmac.s (]=, ref*bib-print, ref*do-tl): New macros. | |
140 | (]-): Call ref*do-tl if ref*need-tl is non-zero. | |
141 | (XP): Allow as initializer. | |
142 | ||
143 | Tue Feb 19 14:09:06 1991 James Clark (jjc at jclark) | |
144 | ||
145 | * troff/env.c (environment::wrap_up_field): If field_spaces are | |
146 | non-zero and we have a current_tab, subtract padding from | |
147 | tab_distance. If this makes tab_distance <= 0, use the next tab | |
148 | stop instead. If there isn't any next tab or it's a left tab, | |
149 | wrap up the current tab. | |
150 | (environment::start_field): Initialize tab_precedes_field. | |
151 | (environment::wrap_up_tab): If there's a current field, update | |
152 | pre_field_width, field_distance and tab_precedes_field. | |
153 | * troff/env.h (environment::tab_precedes_field): New member. | |
154 | ||
155 | Fri Feb 15 01:24:00 1991 James Clark (jjc at jclark) | |
156 | ||
157 | * ps/ps.c (ps_printer::do_file): New function. | |
158 | (ps_printer::special): Bind to `file' special. | |
159 | (ps_printer::do_exec): Set ndefined_styles to 0. | |
160 | ||
161 | Sat Feb 9 03:03:04 1991 James Clark (jjc at jclark) | |
162 | ||
163 | * eqn/text.c (split_text): Grok \* and similar escapes sequences. | |
164 | Avoid stripping first character from the start of unrecognized | |
165 | escapes. Use lex_error instead of error to report errors. | |
166 | * eqn/lex.c (get_token): Rework handling of escapes. | |
167 | (lex_error): Move declaration into... | |
168 | * eqn/eqn.h. | |
169 | ||
170 | * xditview/xditview.c (main): Make -page option work. | |
171 | ||
172 | * Makefile: Correct comment about -DBROKEN_SPOOLER and pageview. | |
173 | ||
174 | Wed Feb 6 12:28:43 1991 James Clark (jjc at jclark) | |
175 | ||
176 | * macros/tmac.s (B2): Correct size of box. | |
177 | ||
178 | Tue Feb 5 00:37:35 1991 James Clark (jjc at jclark) | |
179 | ||
180 | * macros/tmac.s (B2): Postpone drawing the box until in the | |
181 | top-level diversion. | |
182 | ||
183 | * tty/tmac.tty: Add font translations for C, CR, CW. | |
184 | ||
185 | * groff.c (synopsis, help): Document -i. | |
186 | * groff.sh: Implement -i. | |
187 | ||
188 | * macros/tmac.s (@NH): Put a `.' after multi-part numbers. | |
189 | Simplify the construction of SN. | |
190 | ||
191 | * troff/number.c (parse_term): Give `|' a higher precedence. | |
192 | * tbl/table.c (numeric_text_entry::simple_print): Parenthesise | |
193 | accordingly. | |
194 | ||
195 | * macros/tmac.s (B2): Use par@finish instead of par@reset. | |
196 | ||
197 | Mon Feb 4 12:36:09 1991 James Clark (jjc at jclark) | |
198 | ||
199 | * lib/string.c (string::move): New function. | |
200 | * lib/stringclass.h: Declare it. | |
201 | ||
202 | Sat Feb 2 16:02:16 1991 James Clark (jjc at jclark) | |
203 | ||
204 | * troff/env.c (distribute_space): Add optional argument | |
205 | `force_forward'. | |
206 | (environment::wrap_up_field): Call distribute_space with | |
207 | `force_forward' argument of 1. | |
208 | ||
209 | Fri Feb 1 19:36:33 1991 James Clark (jjc at jclark) | |
210 | ||
211 | * lib/string.c, lib/stringclass.h (string::operator+=(char)): | |
212 | Inline it. Move reallocation into... | |
213 | (string::grow1): New function. | |
214 | * pic/Makefile, tbl/Makefile, eqn/Makefile, ps/Makefile: Redo | |
215 | dependencies to include library header files. | |
216 | * lib/Makefile: Make string.c and lf.c depend on stringclass.h. | |
217 | ||
218 | Thu Jan 31 15:02:27 1991 James Clark (jjc at jclark) | |
219 | ||
220 | * macros/tmac.s (@NH): Use the same number registers than -ms does | |
221 | for the heading level counters. Use the same string that -ms does | |
222 | for the number for this heading. | |
223 | ||
224 | Wed Jan 30 14:25:40 1991 James Clark (jjc at jclark) | |
225 | ||
226 | * lib/new.c (operator new): Cast result of malloc to char *. | |
227 | ||
228 | * troff/input.c (spring_trap, lookup_request): Add assert that nm | |
229 | is not null. | |
230 | ||
231 | Tue Jan 29 18:08:05 1991 James Clark (jjc at jclark) | |
232 | ||
233 | * groff.c (main): Support -i. | |
234 | ||
235 | Sun Jan 27 13:23:17 1991 James Clark (jjc at jclark) | |
236 | ||
237 | * pic/pic.h: Include <osfcn.h>. | |
238 | ||
239 | * ps/ps.c: Add declaration of mktemp. | |
240 | ||
241 | * Makefile: Add -DHAVE_UNION_WAIT option for CPPDEFINES. | |
242 | * groff.c: If HAVE_UNION_WAIT is defined, declare wait()'s | |
243 | argument as union wait *. | |
244 | (run_commands): If HAVE_UNION_WAIT is defined cast wait()'s | |
245 | argument to union wait *. | |
246 | ||
247 | Sat Jan 26 12:04:52 1991 James Clark (jjc at jclark) | |
248 | ||
249 | * tty/tmac.tty: Add definition of \(co. | |
250 | ||
251 | * pic/object.c (make_arc): Only increase radius when radius | |
252 | strictly less than d. | |
253 | (arc_object::update_bounding_box): May need to add 4.0 to end_quad | |
254 | more than once. | |
255 | ||
256 | * troff/env.c (environment::environment(symbol), | |
257 | environment::environment(const environment *)): Initialize | |
258 | input_trap_count. | |
259 | ||
260 | Sat Jan 19 08:18:35 1991 James Clark (jjc at jclark) | |
261 | ||
262 | * tbl/main.c (main): Add exit(0). | |
263 | ||
264 | * ps/ps.c (ps_printer::~ps_printer): Use fseek instead of rewind. | |
265 | ||
266 | * pic/main.c (main): | |
267 | * eqn/main.c (main): | |
268 | * tbl/main.c (main): | |
269 | * etc/soelim.c (main): | |
270 | * driver/printer.c (printer::~printer): | |
271 | * troff/node.c (real_output_file::~real_output_file, | |
272 | real_output_file::flush): Check for errors on stdout. | |
273 | ||
274 | * most files: Add 1991 to copyright notice. | |
275 | ||
276 | * macros/tmac.s: Don't test \n(.x and \n(.y. | |
277 | ||
278 | * troff/input.c (token::next): Rename `escape_char' label to | |
279 | `handle_escape_char' and `normal_char' label to | |
280 | `handle_normal_char'. | |
281 | ||
282 | Thu Jan 17 15:46:35 1991 James Clark (jjc at jclark) | |
283 | ||
284 | * groff.c (main, synopsis, help): Support -a option. | |
285 | * groff.sh: Likewise. Also eliminate Zflag variable by adding -z | |
286 | to trflags while parsing options. | |
287 | ||
288 | Tue Jan 15 13:07:27 1991 James Clark (jjc at jclark) | |
289 | ||
290 | * troff/number.c (parse_term): With `m', `M' and `n' scale | |
291 | indicators, convert scale factor to hunits before scaling. | |
292 | ||
293 | Mon Jan 14 12:39:12 1991 James Clark (jjc at jclark) | |
294 | ||
295 | * lib/font.c (scale_round): Better test for overflow when n is | |
296 | negative. | |
297 | ||
298 | Thu Jan 10 11:10:56 1991 James Clark (jjc at jclark) | |
299 | ||
300 | * tbl/main.c (process_format): Add second argument of type | |
301 | options*. Change callers. Allow opt->tab_char as well as '\t' | |
302 | between format items. | |
303 | ||
304 | Mon Jan 7 12:30:18 1991 James Clark (jjc at jclark) | |
305 | ||
306 | * macros/tmac.an (PD): With no arguments, make sure register PD is | |
307 | at least \n[.V]. | |
308 | (TH): Call PD with no argument, instead of setting register PD | |
309 | directly. | |
310 | ||
311 | Sun Jan 6 11:18:39 1991 James Clark (jjc at jclark) | |
312 | ||
313 | * Version 1.00 released. | |
314 | ||
315 | Sat Jan 5 08:44:30 1991 James Clark (jjc at jclark) | |
316 | ||
317 | * ps/tmac.ps, xditview/tmac.X: Add font translation of C to CR. | |
318 | ||
319 | * dvi/devdvi/DESC: Mount CW instead of CR. | |
320 | ||
321 | * dvi/tmac.dvi: Add definition of \(tm. | |
322 | ||
323 | * dvi/devdvi/texsy.map: Add lh, and rh. | |
324 | * dvi/devdvi/texex.map: Add lt, rt, lb, rb, lk, rk. | |
325 | * dvi/devdvi/texmi.map: Add *o. Regenerate fonts. | |
326 | ||
327 | * dvi/devdvi/FontMakefile: Generate H from cmss10. | |
328 | * dvi/devdvi/Makefile: Install H. | |
329 | * dvi/devdvi/H: New file. | |
330 | ||
331 | Fri Jan 4 15:04:57 1991 James Clark (jjc at jclark) | |
332 | ||
333 | * troff/env.c (vertical_spacing): Don't allow vertical spacing to | |
334 | be 0. | |
335 | ||
336 | Thu Jan 3 13:41:19 1991 James Clark (jjc at jclark) | |
337 | ||
338 | * macros/tmac.s (@EN): Add \n(.V to the argument to ds@need. | |
339 | ||
340 | * macros/tmac.pic (PS): Avoid attempting to set negative indent. | |
341 | ||
342 | * macros/tmac.s (@EN): Handle the case where the equation is empty | |
343 | but the label is not. | |
344 | ||
345 | Wed Jan 2 10:31:44 1991 James Clark (jjc at jclark) | |
346 | ||
347 | * troff/groff.h: New warning category WARN_SPACE. | |
348 | * troff/input.c: Add WARN_SPACE to DEFAULT_WARNING_MASK. Add | |
349 | WARN_SPACE to warning_table. | |
350 | (interpolate_macro): Give a warning of type WARN_SPACE if the name | |
351 | is longer than two characters and is not defined, but the first | |
352 | two characters do make a defined name. | |
353 | ||
354 | * PROBLEMS: New file. | |
355 | ||
356 | * CHANGES: New file. | |
357 | * README-0.6, README-1.00: Deleted. | |
358 | ||
359 | * groff.c, groff.sh: Add X75-12 and X100-12 devices. | |
360 | * xditview/devX75/Makefile: Make devX75-12. | |
361 | * xditview/devX100/Makefile: Make devX100-12. | |
362 | ||
363 | * xditview/devX100/eqnchar, xditview/devX75/eqnchar, | |
364 | dvi/devdvi/eqnchar, ps/devps/eqnchar: Remove use of \R. | |
365 | ||
366 | Tue Jan 1 19:24:01 1991 James Clark (jjc at jclark) | |
367 | ||
368 | * README-0.7: Rename to README-1.00. | |
369 | ||
370 | * macros/tmac.pic: New file. | |
371 | * macros/Makefile (install.nobin): Install tmac.pic. | |
372 | ||
373 | Mon Dec 31 10:40:53 1990 James Clark (jjc at jclark) | |
374 | ||
375 | * troff/env.c (hyphen_word): Correct the test for whether the | |
376 | token is a hyphen. Reset npos to 0. | |
377 | ||
378 | * macros/tmac.s (par@sup-start, par@sup-end): New implementations. | |
379 | ||
380 | Sun Dec 30 15:53:13 1990 James Clark (jjc at jclark) | |
381 | ||
382 | * macros/tmac.s (ds*common-end): Call par*reset. | |
383 | (PE): Likewise. | |
384 | (par@reset-indent): Deleted. | |
385 | ||
386 | * macros/tmac.s (@IP): Divert the label. | |
387 | ||
388 | Sat Dec 29 14:33:32 1990 James Clark (jjc at jclark) | |
389 | ||
390 | * xditview/draw.c (setGC): Use a line width of .1m rather than | |
391 | .04m by default; round rather than truncate value. | |
392 | ||
393 | * tbl/table.c (class empty_entry): New class. | |
394 | (empty_entry::empty_entry, empty_entry::line_type): New functions. | |
395 | (table::add_entry): Represent empty entries by objects of type | |
396 | empty_entry. | |
397 | (table_entry::line_type): Return -1. | |
398 | (table::determine_row_type): Ignore entries with line_type 0. | |
399 | Treat type -1 as non-lines. | |
400 | ||
401 | Fri Dec 28 15:04:41 1990 James Clark (jjc at jclark) | |
402 | ||
403 | * ps/devps/textmap, xditview/libXdvi/DviChar.c, tty/devlatin1/R.proto, | |
404 | macros/tmac.s: Rename \(-d to \(Sd. | |
405 | ||
406 | Thu Dec 27 12:35:47 1990 James Clark (jjc at jclark) | |
407 | ||
408 | * ps/devps/textmap: Add `sd', `/_' and `3d' characters. | |
409 | * xditview/libXdvi/DviChar.c: Likewise. | |
410 | * dvi/devdvi/texsy.map: Add `<<', `>>'. | |
411 | ||
412 | Wed Dec 26 13:33:23 1990 James Clark (jjc at jclark) | |
413 | ||
414 | * troff/div.c (top_level_diversion::begin_page): Call | |
415 | init_output() if the_output is 0. | |
416 | ||
417 | Sat Dec 22 12:35:29 1990 James Clark (jjc at jclark) | |
418 | ||
419 | * troff/input.c: Replace ESCAPE_E by ESCAPE_e and ESCAPE_C by | |
420 | ESCAPE_c. | |
421 | (get_copy): Turn \E into ESCAPE_E. | |
422 | (token::process, asciify): Handle ESCAPE_E. | |
423 | ||
424 | * macros/tmac.s (ds*common-end, par@reset): Add `.rj 0'. | |
425 | (RD): New macro. | |
426 | (DS): Implement `.DS R'. | |
427 | ||
428 | Fri Dec 21 11:41:53 1990 James Clark (jjc at jclark) | |
429 | ||
430 | * macros/tmac.s (FS): New macro. | |
431 | ||
432 | * macros/tmac.s (fn@do-FS): Use @LP instead of LP. | |
433 | ||
434 | * macros/tmac.s (cov*tl-init): Remove after first execution | |
435 | instead of aliasing to @nop. Call top of page macro explicitly | |
436 | instead of setting trap; call @init first. Set pg@top as top of | |
437 | page macro. | |
438 | (cov*auto-init): Deleted. Set cov*tl-init instead of | |
439 | cov*auto-init as top of page trap. | |
440 | (TL, LP): Do a break instead of calling cov*tl-init. | |
441 | (cov*print): With RP format but no TL, alias FS and FE to @FS and | |
442 | @FE; in this case also give a warning and always start another | |
443 | page. No need to set pg@top here. | |
444 | (cov*tl-init): Rename to cov*first-page-init. | |
445 | ||
446 | * macros/tmac.s (RP): Do `.pn 0'. | |
447 | (cov*tl-init): With RP format don't do `.pn 0'. | |
448 | ||
449 | * macros/tmac.s (pg@cs-top): Set no space mode. | |
450 | ||
451 | * macros/tmac.s (par@TL, par@AU, par@AI): New macros. | |
452 | (cov*ab-init): Alias TL, AU and AI to these. | |
453 | ||
454 | Thu Dec 20 10:10:50 1990 James Clark (jjc at jclark) | |
455 | ||
456 | * macros/tmac.s (@EQ): Move the space before the equation into @EN | |
457 | (@EN): Do nothing unless \n[dl] is > 0. | |
458 | ||
459 | Tue Dec 18 12:20:47 1990 James Clark (jjc at jclark) | |
460 | ||
461 | * pic/object.c (ellipse_object::radius): New function. | |
462 | ||
463 | * VERSION: Change version to 0.7. | |
464 | ||
465 | * tbl/table.c (block_entry::do_divert): Declare return type as | |
466 | void. | |
467 | (block_entry::divert, alphabetic_block_entry::divert): Return 1. | |
468 | ||
469 | Mon Dec 17 12:30:34 1990 James Clark (jjc at jclark) | |
470 | ||
471 | * troff/column.c: New file. | |
472 | * troff/Makefile: Corresponding changes. | |
473 | ||
474 | * troff/hvunits.c (scale(vunits, vunits, vunits)): New function. | |
475 | Friend of vunits. | |
476 | ||
477 | * troff/div.c (top_level_diversion::space): If the space causes | |
478 | the first-page transition and springs a trap, truncate the space | |
479 | to 0. | |
480 | ||
481 | Fri Dec 14 12:30:02 1990 James Clark (jjc at jclark) | |
482 | ||
483 | * ps/ps.c (ps_printer::do_import): Add a `clear' after including | |
484 | the document. | |
485 | ||
486 | * pic/troff.c (troff_output::line_thickness, | |
487 | troff_output::set_fill): Do a horizontal motion to compensate for | |
488 | the width of the \D escape sequence. | |
489 | ||
490 | Thu Dec 13 10:17:14 1990 James Clark (jjc at jclark) | |
491 | ||
492 | * xditview/tmac.X: Reinstate definition of \(rn, but only for X100 | |
493 | (not X75). | |
494 | ||
495 | * eqn/sqrt.c (sqrt_box::compute_metrics): Supply missing argument | |
496 | to printf. | |
497 | ||
498 | * tbl/table.c (simple_entry::simply_print): Don't declare as pure. | |
499 | Supply empty definition. | |
500 | (text_entry::simple_print, simple_text_entry::simple_print): | |
501 | Delete declarations. | |
502 | (table::add_entry): Represent empty entries by objects of type | |
503 | `simple_entry'. | |
504 | ||
505 | Wed Dec 12 08:50:48 1990 James Clark (jjc at jclark) | |
506 | ||
507 | * troff/Makefile: Remove -DHYPHEN_CONTROL from DEFINES. | |
508 | ||
509 | * tbl/table.c (left_text_entry::add_tab): New function. | |
510 | ||
511 | * macros/tmac.s: Make @RT an alias for par@reset. Make RT | |
512 | initialize like LP. | |
513 | ||
514 | Mon Dec 10 11:19:55 1990 James Clark (jjc at jclark) | |
515 | ||
516 | * troff/env.c (environment::start_field): Give an error message if | |
517 | there is no next tab. | |
518 | ||
519 | Sun Dec 9 11:46:40 1990 James Clark (jjc at jclark) | |
520 | ||
521 | * troff/env.c (hyphenate): Skip initial elements with zero | |
522 | hyphenation code. | |
523 | ||
524 | * macros/tmac.s (par@init): Keep VS in points rather than units. | |
525 | ||
526 | Sat Dec 8 23:00:27 1990 James Clark (jjc at jclark) | |
527 | ||
528 | * pic/main.c (main): Implement `-c' option. | |
529 | * pic/output.h: Declare make_tpic_output(). | |
530 | * pic/tex.c (tex_output::set_pen_size): Make it virtual and | |
531 | protected. | |
532 | (tpic_output): New class. | |
533 | (tpic_output::tpic_output, tpic_output::set_pen_size, | |
534 | tpic_output::command, make_tpic_output): New functions. | |
535 | ||
536 | Fri Dec 7 11:57:41 1990 James Clark (jjc at jclark) | |
537 | ||
538 | * tbl/main.c (main): Call `.ab' if \n(.g is false. Define TS/TE | |
539 | if they're not already defined. | |
540 | * tbl/table.c (init_output): Don't test \n(.g. | |
541 | ||
542 | * troff/input.c (do_if_request): Delete `g' condition. Recognize | |
543 | `d', `r' and `c' conditions even in compatibility mode. | |
544 | ||
545 | Tue Dec 4 09:13:47 1990 James Clark (jjc at jclark) | |
546 | ||
547 | * ps/tmac.ps (ps-bb): Protect against negative numbers in bounding | |
548 | box. | |
549 | ||
550 | Mon Dec 3 07:18:26 1990 James Clark (jjc at jclark) | |
551 | ||
552 | * troff/env.h (environment::prev_line_interrupted): New member. | |
553 | (environment::get_prev_line_interrupted): New function. | |
554 | * troff/env.c (environment::newline): Set prev_line_interrupted. | |
555 | (environment::environment(const environment *), | |
556 | environment::environment(symbol)): Initialize | |
557 | prev_line_interrupted. | |
558 | * troff/input.c (process_input_stack): Don't give special | |
559 | treatment to space and newline at the beginning of the line if the | |
560 | previous line was interrupted. | |
561 | ||
562 | Sat Dec 1 15:48:37 1990 James Clark (jjc at jclark) | |
563 | ||
564 | * eqn/eqn.y: Disallow PRIME by itself. | |
565 | * eqn/lex.c (token_table): Bind `opprime' instead of `prime' to | |
566 | PRIME. | |
567 | (def_table): Remove definition of '. Define prime to be `. | |
568 | ||
569 | * eqn/eqn.y: Split off part of rule `script' into a new rule | |
570 | `nonsup'. | |
571 | ||
572 | Fri Nov 30 10:23:44 1990 James Clark (jjc at jclark) | |
573 | ||
574 | * macros/tmac.s ({, }): New string aliases. | |
575 | ||
576 | Thu Nov 29 11:34:40 1990 James Clark (jjc at jclark) | |
577 | ||
578 | * README-0.7: New file. | |
579 | ||
580 | Wed Nov 28 10:09:57 1990 James Clark (jjc at jclark) | |
581 | ||
582 | * macros/tmac.s: New file. | |
583 | * man/groff_ms.man: New file. | |
584 | * Makefile: Add definition of TMAC_S. Pass TMAC_S in SUBFLAGS. | |
585 | * Makefile.bd: Similarily. | |
586 | * man/Makefile: Add groff_ms.n to MAN7PAGES. Replace @TMAC_S@. Add | |
587 | definition of TMAC_S. | |
588 | * macros/Makefile: Add definition of TMAC_S. Install tmac.s. | |
589 | * macros/TODO: New file. | |
590 | ||
591 | Sat Nov 24 20:04:54 1990 James Clark (jjc at jclark) | |
592 | ||
593 | * troff/env.c (right_justify): New function. | |
594 | (init_env_requests): Bind this to request "rj". | |
595 | (center_lines): Set right_justify_lines to 0. If we get a bad | |
596 | integer, center 1 line. | |
597 | (environment::environment(symbol), environment::environment(const | |
598 | environment *)): Initialize right_justify_lines. | |
599 | (environment::get_right_justify_lines): New function. | |
600 | (init_env_requests): Bind this to number_register ".rj". | |
601 | ||
602 | * troff/env.c (environment::choose_breakpoint): Implement | |
603 | hyphenation_margin and hyphenation_space. | |
604 | (environment::get_hyphenation_space, | |
605 | environment::get_hyphenation_margin): New functions. | |
606 | (init_env_requests): Bind these to .hys and .hym. | |
607 | (hyphenation_space_request, hyphenation_margin_request): New | |
608 | functions | |
609 | (init_env_requests): Bind these to hys and hym. | |
610 | (environment::environment(symbol), environment::environment(const | |
611 | environment *)): Initialize hyphenation_margin and | |
612 | hyphenation_space. | |
613 | * troff/env.h: Corresponding changes to class environment. | |
614 | ||
615 | Fri Nov 23 09:08:16 1990 James Clark (jjc at jclark) | |
616 | ||
617 | * troff/div.c (blank_line): Always do a break. | |
618 | ||
619 | * eqn/box.c (do_text): Turn off escapes while appending text to | |
620 | string. | |
621 | ||
622 | Thu Nov 22 10:58:59 1990 James Clark (jjc at jclark) | |
623 | ||
624 | * troff/input.c (while_break_request, while_continue_request): New | |
625 | functions. | |
626 | (init_input_requests): Bind these to "break" and "continue". | |
627 | (while_depth, while_break_flag): New variables. | |
628 | (while_request): Update while_depth. Break out of loop if | |
629 | while_break_flag is set. | |
630 | ||
631 | Wed Nov 21 10:54:40 1990 James Clark (jjc at jclark) | |
632 | ||
633 | * tbl/table.c (init_span_reg): Initialize span_width_reg to \n(.H | |
634 | rather than 0. | |
635 | ||
636 | Mon Nov 19 00:45:03 1990 James Clark (jjc at jclark) | |
637 | ||
638 | * Makefile: Include -DBROKEN_SPOOLER by default. Expand comment. | |
639 | ||
640 | * stringify: New file. | |
641 | * Makefile (groff.o): Use stringify. | |
642 | ||
643 | * xditview/tmac.X: Remove definition of \(rn. | |
644 | * xditview/libXdvi/DviChar.c: Remove radicalex from | |
645 | Adobe_symbol_map. | |
646 | ||
647 | Sat Nov 17 10:44:58 1990 James Clark (jjc at jclark) | |
648 | ||
649 | * tbl/table.c (table::add_entry): Allow alphabetic text blocks. | |
650 | (alphabetic_block_entry::alphabetic_block_entry, | |
651 | alphabetic_block_entry::divert, alphabetic_block_entry::print): | |
652 | New functions. | |
653 | (block_entry::divert): Split off body into ... | |
654 | (block_entry::do_divert): If the block is alphabetic, subtract 2n | |
655 | from the line length; also update the span width to dl+2n, and the | |
656 | alphabetic span width to dl. | |
657 | ||
658 | * driver/input.c (do_file): While reading argument to D command, | |
659 | when expanding buffer, multiply szp by sizeof(int) rather than 2 | |
660 | in the argument to memcpy. | |
661 | ||
662 | * tbl/table.c (compute_span_width): Add 2n rather than 1n to the | |
663 | width of alphabetic columns. | |
664 | ||
665 | Fri Nov 16 06:34:27 1990 James Clark (jjc at jclark) | |
666 | ||
667 | * troff/node.c (lookup_family): Supply second argument to lookup. | |
668 | ||
669 | * troff/dictionary.c (dictionary::lookup): After an unsuccesful | |
670 | search, return immediately if v is 0. | |
671 | ||
672 | * pic/troff.c: Define EQN_NO_EXTRA_SPACE_REG. | |
673 | (troff_output::start_picture): Set this reg. | |
674 | (troff_output::end_picture): Remove this reg | |
675 | * eqn/box.c (box::extra_space): Don't produce `\x's if | |
676 | EQN_NO_EXTRA_SPACE_REG is defined. | |
677 | ||
678 | * eqn/eqn.y: Allow just a PRIME to be a `simple'. | |
679 | * eqn/text.c (split_text): Map ' to \(fm when it's the first | |
680 | character. | |
681 | ||
682 | Thu Nov 15 10:35:06 1990 James Clark (jjc at jclark) | |
683 | ||
684 | * macros/tmac.e: Use font 3 instead of B in $c. Remove `bd' | |
685 | requests. | |
686 | ||
687 | * troff/div.c (top_level_diversion::top_level_diversion): | |
688 | Initialize page_number to 0. | |
689 | ||
690 | Wed Nov 14 21:41:58 1990 James Clark (jjc at jclark) | |
691 | ||
692 | * groff/troff (environment::environment(const environment *)): | |
693 | Initialize name to e->name, rather than "anonymous". | |
694 | ||
695 | Sat Nov 10 01:59:37 1990 James Clark (jjc at jclark) | |
696 | ||
697 | * xditview/libXdvi/Dvi.c (ShowDvi): If eof is encountered, reset | |
698 | requested_page. Split middle part into ... | |
699 | (FindPage): New function. | |
700 | (SetValues): If we don't yet know the last page, and the requested | |
701 | page is greater than the current page, call FindPage. | |
702 | Update the font_map_string before doing this. | |
703 | ||
704 | * xditview/tmac.X: Add definitions of \(sq, \(ga, \(dg and \(dd. | |
705 | Translate \(lh and \(rh into left and right double arrows. | |
706 | ||
707 | * troff/node.c (class hyphen_inhibitor_node): New class. | |
708 | (hyphen_inhibitor_node::hyphen_inhibitor_node, | |
709 | hyphen_inhibitor_node::copy, hyphen_inhibitor_node::same, | |
710 | hyphen_inhibitor_node::type, | |
711 | hyphen_inhibitor_node::get_hyphenation_type): New functions. | |
712 | (node::add_discretionary_hyphen): Use hyphen_inhibitor_node rather | |
713 | than dbreak_node(0, 0) to represent a `\%' at the beginning of a | |
714 | word. | |
715 | ||
716 | Fri Nov 9 16:05:38 1990 James Clark (jjc at jclark) | |
717 | ||
718 | * troff/node.h (dummy_node::get_hyphenation_type, | |
719 | transparent_dummy_node::get_hyphenation_type): Declare them. | |
720 | * troff/node.c: (dummy_node::get_hyphenation_type, | |
721 | transparent_dummy_node::get_hyphenation_type): New functions. | |
722 | ||
723 | Wed Nov 7 10:09:06 1990 James Clark (jjc at jclark) | |
724 | ||
725 | * xditview/libXdvi/draw.c: If M_PI not defined after including | |
726 | math.h, then define it. | |
727 | ||
728 | * xditview/Makefile: Add definition of AR. Pass it to the submake | |
729 | in libXdvi. | |
730 | * xditview/libXdvi/Makefile: Add definitions of AR and RANLIB. | |
731 | ||
732 | Tue Nov 6 10:14:27 1990 James Clark (jjc at jclark) | |
733 | ||
734 | * troff/dictionary.h (object_dictionary::alias): Declare return | |
735 | value as int. | |
736 | * troff/dictionary.c (object_dictionary::alias): Return non-zero | |
737 | if the old name was defined. | |
738 | * troff/input.c (alias_macro): Give a warning if the old name was | |
739 | not defined. | |
740 | * troff/reg.c (alias_reg): Likewise. | |
741 | ||
742 | Mon Nov 5 00:31:39 1990 James Clark (jjc at jclark) | |
743 | ||
744 | * troff/input.c (token::next): Delete implementation of \R. | |
745 | ||
746 | * macros/Makefile: Strip comments from tmac.e while installing it. | |
747 | ||
748 | * troff/input.c: New variable `nroff_mode'. | |
749 | (troff_request, nroff_request): New functions. | |
750 | (init_input_requests): Bind `troff' and `nroff' to troff_request | |
751 | and nroff_request. | |
752 | (do_if_request): Compute results of t and n conditions from | |
753 | nroff_mode. | |
754 | ||
755 | * text/text.c (split_text): Fix typo in >=. | |
756 | ||
757 | * eqn/lex.c: Add definition of `==' to def_table. | |
758 | ||
759 | Fri Nov 2 02:49:09 1990 James Clark (jjc at jclark) | |
760 | ||
761 | * pic/tex.c (tex_output::start_picture): Change the definitions of | |
762 | \graph and \graphtemp so that they work properly with Plain TeX. | |
763 | ||
764 | * pic/tex.c (tex_output::solid_arc): Ensure that the second angle | |
765 | argument to `ar' is not less than the first. | |
766 | ||
767 | * pic/pic.y: Allow a comma between elements of the variable list | |
768 | in the argument to `reset'. | |
769 | ||
770 | * pic/object.c (arc_object::arc_object): Fix computation of | |
771 | radius. | |
772 | ||
773 | * eqn/main.c (main): Add exit(0). | |
774 | ||
775 | Thu Nov 1 02:03:50 1990 James Clark (jjc at jclark) | |
776 | ||
777 | * troff/div.c (begin_page): Test no_space_mode after doing the | |
778 | break, but still push the page ejector cookie before doing the | |
779 | break. Also set the next page number after doing the break. | |
780 | ||
781 | * xditview/xditview.c (NewFile): Don't set the title and icon name | |
782 | if this is the first file and its name is `-'. | |
783 | * groff/groff.c: Define a new device flag XT_OPTION. Set it for | |
784 | the X75 and X100 devices. | |
785 | (main): If a device has the XT_OPTION flag set and there's exactly | |
786 | one file argument, pass the driver -xrm and -title options to set | |
787 | the icon name and window title to the name of the file. | |
788 | ||
789 | * troff/env.c (environment_switch): If there was an argument but | |
790 | it wasn't a valid number or name, then pop an environment but | |
791 | don't give an error message on underflow. | |
792 | ||
793 | * troff/number.c (start_number): Correct spelling in error message. | |
794 | ||
795 | * troff/input.c (token::delimiter): Don't print an error message | |
796 | if err is false. | |
797 | ||
798 | * xditview/libXdvi/parse.c (ParseInput): In case 'D', only call | |
799 | ParseDrawFunction if dw->display_enable is true. | |
800 | ||
801 | Wed Oct 31 05:49:50 1990 James Clark (jjc at jclark) | |
802 | ||
803 | * pic/pic.y: Parse text positioning like normal attributes, so as | |
804 | to allow `"text" at 0,0 ljust'. Don't allow `center' as a | |
805 | positioning attribute. | |
806 | ||
807 | Mon Oct 29 22:50:38 1990 James Clark (jjc at jclark) | |
808 | ||
809 | * tbl/main.c (process_data): When in state START while reading a | |
810 | text block, don't change to state MIDDLE if c is a newline. | |
811 | ||
812 | Sun Oct 28 21:59:56 1990 James Clark (jjc at jclark) | |
813 | ||
814 | * dvi/dvi.c (dvi_printer::begin_page): Rename `i' variable to `j' | |
815 | so as to avoid shadowing parameter. | |
816 | ||
817 | Wed Oct 24 18:35:39 1990 James Clark (jjc at jclark) | |
818 | ||
819 | * tbl/table.c (trim_space): Deleted. | |
820 | (table::add_entry): Don't call trim_space. | |
821 | ||
822 | Mon Oct 22 03:48:39 1990 James Clark (jjc at jclark) | |
823 | ||
824 | * VERSION: Change version to 0.6. | |
825 | ||
826 | * troff/number.c (parse_expr): Make == work. | |
827 | ||
828 | Sat Oct 20 11:28:17 1990 James Clark (jjc at jclark) | |
829 | ||
830 | * man/grog.man: New file. | |
831 | * man/Makefile: Add grog.n to MAN1PAGES. | |
832 | * etc/grog.sh: New file. | |
833 | * etc/Makefile: Install grog.sh as grog. | |
834 | ||
835 | Fri Oct 19 11:17:15 1990 James Clark (jjc at jclark) | |
836 | ||
837 | * troff/input.c (token::next): Implement \E. | |
838 | ||
839 | Thu Oct 18 11:56:24 1990 James Clark (jjc at jclark) | |
840 | ||
841 | * xditview/tmac.X: Change font translations to match tmac.ps. | |
842 | ||
843 | * troff/input.c (non_empty_name_warning): Don't give a warning if | |
844 | `\{' terminates the name. | |
845 | ||
846 | Tue Oct 16 10:04:23 1990 James Clark (jjc at jclark) | |
847 | ||
848 | * ps/devps/symbol.diff: New file. | |
849 | * ps/devps/FontMakefile: Mention symbol.diff. | |
850 | ||
851 | Sun Oct 14 11:46:46 1990 James Clark (jjc at jclark) | |
852 | ||
853 | * troff/node.c (font_position): Use get_long_name to read the | |
854 | external_name. | |
855 | ||
856 | * troff/env.c (environment_switch): If we get a number that's < 0 | |
857 | or >= NENVIRONMENTS, treat it like a name. | |
858 | Change NENVIRONMENTS to 10. | |
859 | ||
860 | * troff/groff.h: Remove definition of FONTS_MAX. | |
861 | * troff/node.h (class font_family): Make map a pointer instead of | |
862 | an array. Add a map_size member. Make it a class. Make nm const | |
863 | and public. Make invalidate_fontno a friend. | |
864 | * troff/node.c: Define font_table_size. Make font_info a pointer | |
865 | rather than an array. | |
866 | (class troff_output_file): Allocate font_position dynamically. Add | |
867 | nfont_positions member. | |
868 | (troff_output_file::set_font): Grow font_position if necessary. | |
869 | (troff_output_file::~troff_output_file): Delete font_position. | |
870 | (troff_output_file::troff_output_file): Allocate font_position. | |
871 | (grow_font_table): New function. | |
872 | (troff_output_file::really_begin_page, | |
873 | troff_output_file:really_copy_page): Use nfont_positions rather | |
874 | than FONTS_MAX. | |
875 | (mount_font_no_translate, mount_style): Call grow_font_table if | |
876 | necessary. | |
877 | (font_family::font_family): Allocate map. | |
878 | (font_family::make_definite): Grow map if necessary. Use | |
879 | font_table_size instead of FONTS_MAX. | |
880 | (font_family::~font_family): New function. | |
881 | (invalidate_fontno): Use font_family::map_size. | |
882 | (get_fontno, env_space_width, env_half_narrow_space_width, | |
883 | env_narrow_space_width, symbol_fotno, is_good_fontno, | |
884 | get_bold_fontno, make_glyph_node): Use font_table_size rather than | |
885 | FONTS_MAX. | |
886 | (next_available_font_position): Never return 0. | |
887 | ||
888 | Fri Oct 12 10:17:52 1990 James Clark (jjc at jclark) | |
889 | ||
890 | * ps/tmac.ps: Add font translations for compatibility with dpost. | |
891 | ||
892 | Thu Oct 11 12:09:03 1990 James Clark (jjc at jclark) | |
893 | ||
894 | * eqn/pile.c: Rename default_baseline_sep to baseline_sep. | |
895 | Move BASELINE_SEP_FORMAT and COLUMN_WIDTH_FORMAT into pbox.h. | |
896 | Move definitions baseline_sep, shift_down, column_sep, | |
897 | matrix_side_sep into... | |
898 | * eqn/box.c: Add them to param_table. | |
899 | * eqn/pbox.h: Add declarations to pbox.h. | |
900 | ||
901 | * troff/input.c (set_string): Cast value to unsigned char *. | |
902 | ||
903 | * troff/token.h (process_input_stack): Declare it static before | |
904 | declaring it a friend. | |
905 | ||
906 | Wed Oct 10 09:59:13 1990 James Clark (jjc at jclark) | |
907 | ||
908 | * dvi/devdvi/texex.map: Fix positions of extensible brace middle | |
909 | and bottom. | |
910 | * dvi/devdvi/EX: Regenerate. | |
911 | ||
912 | * troff/input.c (init_charset_table): Make ", ', ), ], *, \(dg | |
913 | transparent. | |
914 | ||
915 | Tue Oct 9 08:34:02 1990 James Clark (jjc at jclark) | |
916 | ||
917 | * eqn/lex.c: In defaults_table, make definition of `dot' call | |
918 | `dot_def'. Don't explicitly make it roman. Similarily for other | |
919 | accents. | |
920 | ||
921 | * pic/lex.c (for_input::for_input): Add by_is_multiplicative | |
922 | argument. | |
923 | (for_input::get, for_input::peek): Use this. | |
924 | (do_for): Add by_is_multiplicative argument. | |
925 | * pic/pic.y: Change optional_by clause to allow '*' after `by'. | |
926 | Change semantic value of optional_by to be a double plus a flag | |
927 | saying whethet the by clause is multiplicative. | |
928 | ||
929 | * eqn/lex.c (get_delimited_text): Remember location of start of | |
930 | definition. Improve error handling when EOF is encountered. | |
931 | ||
932 | * lib/font.h: Rename handle_x_command to | |
933 | handle_unknown_font_command. | |
934 | * lib/font.c (font::load): Call handle_unknown_font_command for | |
935 | any unknown command in the font description file. Don't call | |
936 | handle_x_command. Include the name of the command in the argv. | |
937 | Improve message for unknown command after kernpairs or charset | |
938 | command. | |
939 | * ps/ps.c (ps_font::handle_x_command): Rename to | |
940 | handle_unknown_font_command. Remove message about `x download' | |
941 | command. Give error message for wrong number of arguments. | |
942 | * ps/devps/afmtodit: Generate `encoding' instead of `x encoding'. | |
943 | * dvi/dvi.c (dvi_font::handle_x_command): Rename to | |
944 | handle_unknown_font_command. Give an error message for wrong | |
945 | number of arguments. Rename design_size to designsize. | |
946 | * dvi/tfmtodit.c (main): Generate `checksum' instead of `x | |
947 | checksum', `designsize' instead of `design_size'. | |
948 | ||
949 | Mon Oct 8 00:38:55 1990 James Clark (jjc at jclark) | |
950 | ||
951 | * eqn/*.[chy]: Change underaccent to uaccent. | |
952 | ||
953 | * eqn/eqn.y: Add rule for underaccent. Declare UNDERACCENT token; | |
954 | give it the same precedence as ACCENT. | |
955 | * eqn/other.c (make_underaccent_box): New function. | |
956 | * eqn/box.h: Declare it. | |
957 | * eqn/lex.c: Add UNDERACCENT to token_table. Add utilde to | |
958 | def_table. | |
959 | ||
960 | Sun Oct 7 11:25:16 1990 James Clark (jjc at jclark) | |
961 | ||
962 | * pic/pic.y (reset_all): New function. Called in rule for RESET. | |
963 | (parse_init): Call reset_all. | |
964 | (define_variable): When defining scale reset only those | |
965 | pre-defined variables that are scaled. | |
966 | (defaults_table): Add `scale' as non-scaled value. | |
967 | ||
968 | * pic/pic.y: Redo parsing of text adjustments: parse adjustments | |
969 | together with the text; allow any number of positioning words; | |
970 | allow center as a positioning word. | |
971 | ||
972 | * pic/object.c (output::compute_scale): Get picture maximum height | |
973 | and width from variables called maxpswid and maxpsht. | |
974 | * pic/pic.y: Add maxpswid and maxpsht to defaults_table. | |
975 | ||
976 | Sat Oct 6 10:16:56 1990 James Clark (jjc at jclark) | |
977 | ||
978 | * pic/object.c (object_spec::make_text): Multiply textht by number | |
979 | of text items. | |
980 | ||
981 | * pic/pic.y: Allow `sprintf("string", expr,...)' wherever text can | |
982 | occur. | |
983 | (do_sprintf): New function. | |
984 | (pic.gperf): Add sprintf token. | |
985 | (text, sprintf): New rules. | |
986 | ||
987 | * pic/pic.y: `rand()' with no arguments returns a random number | |
988 | in the range [0,1). | |
989 | ||
990 | * pic/pic.y: Allow a bare expression to be an attribute: change | |
991 | precedences to support this. Change optional_ordinal rule to | |
992 | optional_ordinal_last to avoid reduce/reduce conflict. | |
993 | * pic/object.c (object_spec::object_spec): Initialize direction. | |
994 | ||
995 | * pic/pic.y: Implement ^ operator meaning exponentiation. | |
996 | ||
997 | * troff/node.h: Add default argument to mount_font. | |
998 | * troff/node.c (font_position): Read an optional third argument | |
999 | giving the external_name. | |
1000 | (mount_font): Add optional argument giving the external_name. | |
1001 | (mount_font_not_translate): Have additional argument giving | |
1002 | external name. Use this name to load the font. Pass both names | |
1003 | to font_info::font_info. | |
1004 | (font_info::font_info): Have additional argument giving | |
1005 | external_name. | |
1006 | (class tfont): New member external_name. | |
1007 | (font_info::get_tfont): Use external name to construct tfont_spec. | |
1008 | ||
1009 | Fri Oct 5 04:03:13 1990 James Clark (jjc at jclark) | |
1010 | ||
1011 | * eqn/lex.c (init_table): Add argument giving device. Define | |
1012 | name of device to be "1". | |
1013 | (do_ifdef): Counts as true if the argument has been defined with | |
1014 | `define'. | |
1015 | * eqn/main.c (main): Call init_table with device argument. Make | |
1016 | device local to main. | |
1017 | * eqn/eqn.h: Change declaration of init_table. Remove declaration | |
1018 | of device. | |
1019 | ||
1020 | * pic/lex.c (get_delimited): Allow text to be delimited by | |
1021 | matching {}s. Don't recognize ending delimiter within a string. | |
1022 | ||
1023 | * troff/input.c (get_delim_name): New function. | |
1024 | (token::next): Implement \C. | |
1025 | ||
1026 | * lib/font.c (font::load): Grok ---. Add an alias for each | |
1027 | character based on its code. | |
1028 | (font::get_code_width): Deleted. | |
1029 | * lib/font.h (class font): Declare font::number_to_index(). | |
1030 | Remove declaration of font::get_code_width. | |
1031 | * lib/nametoindex.c (font::name_to_index): Add 512 rather than 256 | |
1032 | to indices of named characters. | |
1033 | (font::number_to_index): New function. | |
1034 | * troff/input.c (font::number_to_index): New function. | |
1035 | (get_charinfo_by_number, charinfo::get_number, | |
1036 | charinfo::set_number): New functions. | |
1037 | (token::next): Turn \N into a TOKEN_NUMBERED_CHAR. | |
1038 | (token::process, token::description, token::get_char, | |
1039 | token::add_to_node_list, token::operator==): Handle | |
1040 | TOKEN_NUMBERED_CHAR. | |
1041 | * troff/charinfo.h: Declare get_charinfo_by_number, | |
1042 | charinfo::get_number, charinfo::set_number. Add NUMBERED flag to | |
1043 | charinfo class. | |
1044 | (charinfo::numbered): New function. | |
1045 | * troff/token.h: Add TOKEN_NUMBERED_CHAR. | |
1046 | * troff/env.h (class environment): Remove declaration of ... | |
1047 | * troff/env.c (environment::make_numbered_char_node): Deleted. | |
1048 | * troff/node.c (make_numbered_node): Deleted. | |
1049 | (class numbered_glyph_node): Remove. | |
1050 | (troff_output_file::put_char_width, troff_output_file::put_char): | |
1051 | Handle numbered chars. | |
1052 | (troff_output_file::numbered_char): Removed. | |
1053 | (tfont::get_code_width): Removed. | |
1054 | (make_glyph_node): Don't search special fonts for numbered | |
1055 | characters. | |
1056 | * troff/node.h: Remove declaration of make_numbered_node. | |
1057 | * driver/input.c (do_file): Handle N command. | |
1058 | * driver/printer.h: Add declaration of ... | |
1059 | * driver/printer.c (printer::set_numbered_char): New function. | |
1060 | * dvi/tfmtodit.c (main): Generate unnamed entries. | |
1061 | * ps/devps/afmtodit: Likewise. | |
1062 | * xditview/xtotroff.c (MapFont): Likewise. | |
1063 | * xditview/libXdvi/parse.c (ParseInput): Grok N command. | |
1064 | ||
1065 | * tbl/main.c (process_format): If multiple widths are specified | |
1066 | for a column but all the widths are the same, don't give an error | |
1067 | message. | |
1068 | ||
1069 | * tbl/table.c (table::do_row): If the current row is all lines and | |
1070 | the stuff doesn't contains a line, mark the top of the row after | |
1071 | printing stuff before the row. If the current row is not all | |
1072 | lines and the stuff doesn't contain a line, don't unnecessarily | |
1073 | mark the top of the row before printing the stuff. | |
1074 | ||
1075 | Mon Oct 1 11:42:00 1990 James Clark (jjc at jclark) | |
1076 | ||
1077 | * troff/groff.h: Remove MAX_PATH. | |
1078 | * troff/input.c (open_file): Dynamically allocate space for the | |
1079 | path. | |
1080 | (open_mac_file, process_macro_file): Corresponding changes. | |
1081 | ||
1082 | Sun Sep 23 18:56:26 1990 James Clark (jjc at jclark) | |
1083 | ||
1084 | * troff/node.h (class output_file): Make copy_file pure. Add | |
1085 | vspace method ifdef COLUMN. Add is_printing method. | |
1086 | * troff/node.c: Add class printing_reg. Add class | |
1087 | real_output_file. Derive other output_file classes from | |
1088 | real_output_file; in these classes rename begin_page to | |
1089 | really_begin_page, print_line to really_print_line, copy_file to | |
1090 | really_copy_file, transparent_char to really_transparent_char. | |
1091 | Move output_file::flush to real_output_file. Add printing member | |
1092 | to class output_file. | |
1093 | * troff/div.h: Remove printing member from top_level_diversion. | |
1094 | Add vspace member function to class diversion ifdef COLUMN. Add | |
1095 | some declarations ifdef COLUMN. | |
1096 | * troff/div.c (top_level_diversion::copy_file, | |
1097 | top_level_diversion::transparent_output, | |
1098 | top_level_diversion::output): Don't test printing member before | |
1099 | output. | |
1100 | * troff/input.c: Handle initial variable_space_request ifdef | |
1101 | COLUMN. | |
1102 | * troff/Makefile: Add column.c but comment it out. Add -DCOLUMN | |
1103 | but comment it out. | |
1104 | ||
1105 | Sat Sep 22 11:32:22 1990 James Clark (jjc at jclark) | |
1106 | ||
1107 | * troff/div.c (diversion::need): Make any space forced. If we | |
1108 | sprung a trap, set truncated_space to minus the distance to the | |
1109 | trap and set needed_space to the amount that was needed. | |
1110 | (top_level_diversion::space): A forced space turns no_space_mode | |
1111 | off. | |
1112 | (class constant_vunits_reg): New class. | |
1113 | (init_div_requests): Implement number registers .trunc and .ne | |
1114 | using constant_vunits_reg. | |
1115 | (class truncated_space_reg): Deleted. | |
1116 | ||
1117 | * troff/div.h: Don't have a no_space_mode member in diversion. | |
1118 | Instead have it in top_level_diversion. | |
1119 | * troff/div.c (diversion::diversion): Don't initialize | |
1120 | no_space_mode. | |
1121 | (top_level_diversion::top_level_diversion): Initialize | |
1122 | no_space_mode. | |
1123 | (no_space, restore_spacing): Do nothing if curdiv != topdiv. | |
1124 | (macro_diversion::output): Don't clear no_space_mode. | |
1125 | ||
1126 | * troff/input.c (diverted_space_node::reread): Don't call | |
1127 | environment::do_break. In fill mode, act like a blank line. | |
1128 | (diverted_copy_file_node::reread): Don't call | |
1129 | environment::do_break. | |
1130 | ||
1131 | * troff/div.c (blank_line): New function. | |
1132 | * troff/div.h: Declare it. | |
1133 | * troff/input.c (process_input_stack): Call it. | |
1134 | ||
1135 | * troff/div.c (truncated_space_reg::get_string): New function. | |
1136 | (init_div_requests): Bind to .trunc. | |
1137 | (space_request, top_level_diversion::space, | |
1138 | top_level_diversion::output, macro_diversion::space, | |
1139 | macro_diversion::output): Update truncated_space. | |
1140 | (macro_diversion::output): Redo calculations when trap sprung. | |
1141 | (macro_diversion::output, macro_diversion::space): No need for | |
1142 | trap_flag. | |
1143 | ||
1144 | * troff/div.c (top_level_diversion::output): Set nl_reg_contents | |
1145 | after truncating post line spacing. | |
1146 | ||
1147 | Fri Sep 21 11:27:25 1990 James Clark (jjc at jclark) | |
1148 | ||
1149 | * ps/devps/prologue (MF, SF): Make them work even if setfont is | |
1150 | defined as a procedure rather than as an operator. | |
1151 | ||
1152 | Thu Sep 20 12:55:05 1990 James Clark (jjc at jclark) | |
1153 | ||
1154 | * troff/div.c (macro_diversion::space): Ignore no_space_mode. | |
1155 | ||
1156 | Wed Sep 19 10:54:37 1990 James Clark (jjc at jclark) | |
1157 | ||
1158 | * troff/div.c (top_level_diversion::output): Merge | |
1159 | output_file::print_line and output_file::end_of_line member | |
1160 | functions. | |
1161 | * troff/div.h (class output_file): | |
1162 | * troff/node.c (troff_output_file::print_line, | |
1163 | troff_output_file::end_of_line, output_file::end_of_line, | |
1164 | ascii_output_file::print_line, suppress_output_file::print_line): | |
1165 | Corresponding changes. | |
1166 | ||
1167 | Tue Sep 18 11:31:47 1990 James Clark (jjc at jclark) | |
1168 | ||
1169 | * troff/input.c (token::next): Don't give a warning for `\.'. | |
1170 | ||
1171 | * troff/env.c (environment::get_center_lines): New function. | |
1172 | (init_env_requests): Bind number register .ce to it. | |
1173 | * troff/env.h: Declare it. | |
1174 | * tbl/table.c (table::init_output): Define reset macro to restore | |
1175 | .ce. If center option not given, store .ce in SAVED_CENTER_REG. | |
1176 | Then do .ce 0. | |
1177 | (table::print): If center option not given, then imply center | |
1178 | option if SAVED_CENTER_REG > 0. | |
1179 | ||
1180 | Mon Sep 17 09:19:19 1990 James Clark (jjc at jclark) | |
1181 | ||
1182 | * ps/devps/Makefile: Remove T from FONTS. Remove TSymbol.ps and | |
1183 | Troff.ps from DOWNLOAD. | |
1184 | ||
1185 | * troff/Makefile: Change comment in DEFINES to avoid confusing | |
1186 | System V make. | |
1187 | ||
1188 | * ps/ps.c (ps_printer::do_exec): Allow newlines within PostScript | |
1189 | code. Don't try to catch errors with stopped. | |
1190 | (check_line_lengths): New function. | |
1191 | * ps/devps/prologue (EXEC): Deleted. | |
1192 | (EBEGIN, EEND): New procedures. | |
1193 | ||
1194 | Sun Sep 16 14:51:15 1990 James Clark (jjc at jclark) | |
1195 | ||
1196 | * troff/input.c: Include request.h before node.h. | |
1197 | * troff/node.c: Likewise. | |
1198 | * troff/env.c: Likewise. | |
1199 | * troff/div.c: Likewise. | |
1200 | * troff/node.h (class special_node): Store argument as a macro | |
1201 | rather than a char *. | |
1202 | * troff/node.c (special_node::special_node, special_node::copy): | |
1203 | Grok this. | |
1204 | (special_node::~special_node): Deleted. | |
1205 | (special_node::tprint): Deleted. | |
1206 | (special_node::tprint_start, special_node::tprint_end, | |
1207 | special_node::tprint_char): New functions. | |
1208 | (troff_output_file::special): Deleted. | |
1209 | (troff_output_file::start_special, troff_output_file::end_special, | |
1210 | troff_output_file::special_char): New functions. | |
1211 | * troff/input.c (special_node::tprint): New function. | |
1212 | (do_special): Use macro not char *. | |
1213 | (do_transparent_macro): Deleted. | |
1214 | (token::next): Don't call do_transparent_macro. | |
1215 | ||
1216 | * troff/input.c (token::next): Add 'Y' case. | |
1217 | (do_transparent_macro): New function. | |
1218 | * troff/node.c (troff_output_file::special): Handle newlines with | |
1219 | argument using new continuation convention. | |
1220 | * driver/input.c (get_string): Cope with continuation convention. | |
1221 | (do_file): Don't call skip_line after calling get_string(1). | |
1222 | * ps/ps.c (ps_printer::special, ps_printer::do_import, | |
1223 | ps_printer::do_def, ps_printer::do_exec): Cope with newlines in | |
1224 | arg. | |
1225 | * xditview/libXdvi/parse.c (ParseInput): Ignore lines starting | |
1226 | with +. | |
1227 | ||
1228 | Sat Sep 15 19:00:10 1990 James Clark (jjc at jclark) | |
1229 | ||
1230 | * troff/input.c (asciify): By default, illegal input characters | |
1231 | should return empty string. | |
1232 | ||
1233 | * troff/input.c (copy_file): Handle first page transition like title. | |
1234 | (token::next, process_input_stack): Grok COPY_FILE_REQUEST. | |
1235 | ||
1236 | * troff/input.c (token::next): Improve error message for EOF after | |
1237 | escape character. | |
1238 | (input_char_description): New function. | |
1239 | (get_char_for_escape_name): Use input_char_description. | |
1240 | (token::next): Warn about unrecognized escape sequences. | |
1241 | (warning_table): Add WARN_ESCAPE. | |
1242 | * troff/groff.h: Declare WARN_ESCAPE. Change WARN_TOTAL | |
1243 | accordingly. | |
1244 | ||
1245 | * troff/token.h: Remove declaration of process_input_stack. | |
1246 | ||
1247 | * troff/input.c: Remove declaration of init_hyphen_requests. | |
1248 | * troff/request.h: Correct spelling in declaration of same. | |
1249 | ||
1250 | * troff/input.c (token::next): Check whether escape_char is 0. | |
1251 | ||
1252 | Fri Sep 14 12:09:25 1990 James Clark (jjc at jclark) | |
1253 | ||
1254 | * groff.c (main, usage, help): Implement -P and -L options. | |
1255 | * groff.sh: Likewise. | |
1256 | ||
1257 | * troff/input.c (token::next): Use some gotos to avoid code | |
1258 | duplication. | |
1259 | ||
1260 | * troff/input.c (get_long_name, get_name, read_long_ecsape_name): | |
1261 | Avoid calling symbol::symbol if name empty. | |
1262 | ||
1263 | Thu Sep 13 06:21:45 1990 James Clark (jjc at jclark) | |
1264 | ||
1265 | * troff/input.c (init_input_requests): Make \n(.x return the major | |
1266 | version number and \n(.y return the minor version number. | |
1267 | * troff/Makefile: Construct file majorminor.c defining | |
1268 | major_version and minor_version automatically from ../VERSION. | |
1269 | ||
1270 | * troff/node.c (class glyph_node): Make operator new and operator | |
1271 | delete public. | |
1272 | (class ligature_node): Similarily. | |
1273 | ||
1274 | * troff/input.c (operator==(const macro &, const macro &)): New | |
1275 | function. | |
1276 | (non_interpreted_node::same): Use this. | |
1277 | (string_iterator::string_iterator): Make macro& argument const. | |
1278 | ||
1279 | * troff/input.c (input_iterator::get): New function. Don't make | |
1280 | asciify_macro or class non_interpreted_node friends of class | |
1281 | input_iterator. | |
1282 | (non_interpreted_node::interpret): Use input_iterator::get. | |
1283 | (asciify_macro): Likewise. | |
1284 | ||
1285 | * troff/input.c (~token_node, ~string_iterator, ~arg_list, | |
1286 | ~non_interpreted_node): Deleted. | |
1287 | * troff/node.c: (~suppress_output_file, ~ascii_output_file): | |
1288 | Deleted. | |
1289 | ||
1290 | * troff/symbol.h: Make all symbol member functions const. | |
1291 | ||
1292 | * lib/strtol.c: New file. | |
1293 | * lib/Makefile: Add strtol.c. | |
1294 | * Makefile: Define STRTOL as strtol.o to include strtol in | |
1295 | libgroff.a. | |
1296 | ||
1297 | Wed Sep 12 10:00:49 1990 James Clark (jjc at jclark) | |
1298 | ||
1299 | * pic/troff.c (troff_output::simple_circle): Divide by scale. | |
1300 | ||
1301 | Tue Sep 11 14:17:16 1990 James Clark (jjc at jclark) | |
1302 | ||
1303 | * troff/input.c (do_special): Use input_level. | |
1304 | ||
1305 | * troff/token.h (TOKEN_BACKSPACE): New token. | |
1306 | (token::backspace): New function. | |
1307 | * troff/input.c (token::description, token::next, token::process): | |
1308 | Grok TOKEN_BACKSPACE. | |
1309 | (do_special): Turn TOKEN_BACKSPACE back into \b. | |
1310 | ||
1311 | * troff/token.h (token::leader): New function. | |
1312 | * troff/input.c (do_special): Turn TOKEN_LEADER back into \001. | |
1313 | ||
1314 | * troff/input.c (do_special): Turn TOKEN_TAB back into \t. | |
1315 | ||
1316 | * troff/input.c (do_special): Use token::description in error | |
1317 | message. | |
1318 | ||
1319 | Mon Sep 10 11:06:27 1990 James Clark (jjc at jclark) | |
1320 | ||
1321 | * troff/input.c (decode_args): Combine quoted and | |
1322 | quote_input_level variables. Make it a for (;;) loop. | |
1323 | ||
1324 | * troff/input.c (get_char_for_escape_name): Check for \001 and \b. | |
1325 | ||
1326 | * troff/input.c (read_long_escape_name): The test for whether to | |
1327 | expand buffer was off by 1. | |
1328 | (read_string): Similarily. | |
1329 | ||
1330 | Fri Sep 7 11:45:50 1990 James Clark (jjc at jclark) | |
1331 | ||
1332 | * troff/input.c: Use `const int' rather than `static const int'. | |
1333 | ||
1334 | * troff/div.h (diversion::copy_file): Declare as pure virtual. | |
1335 | (macro_diversion::copy_file): New function. | |
1336 | * troff/node.h: New class diverted_copy_file_node. | |
1337 | * troff/node.c: Implement it. | |
1338 | * troff/input.c (copy_file): Use diversion::copy_file. Handle | |
1339 | first page transition by pushing a diverted_copy_file_node. | |
1340 | * troff/input.c (token::next, process_input_stack): Don't handle | |
1341 | COPY_FILE_REQUEST. | |
1342 | ||
1343 | Thu Sep 6 13:29:10 1990 James Clark (jjc at jclark) | |
1344 | ||
1345 | * ps/ps.c (flush_sbuf): Remember to add sbuf_kern when checking | |
1346 | whether space widths need adjusting. | |
1347 | ||
1348 | * troff/charinfo.h: Generalize translated_to_space to | |
1349 | special_translation so as to allow translation to \&. | |
1350 | * troff/input.c (translate): Allow translation to \&. | |
1351 | (charinfo::*): Corresponding changes. | |
1352 | * troff/node.c (make_node, node::add_char): Corresponding changes. | |
1353 | * troff/node.h (dummy_node::dummy_node): Allow optional first | |
1354 | argument. | |
1355 | ||
1356 | * lib/lib.h: Make codes 0200 to 0237 illegal input characters. | |
1357 | * troff/token.h: Remove TOKEN_TITLE. Remove token::title. Add | |
1358 | TOKEN_REQUEST. | |
1359 | * troff/input.c (token::next): Turn a TITLE_REQUEST into a | |
1360 | TOKEN_REQUEST with an argument of TITLE_REQUEST. | |
1361 | (token::process): Grok that. | |
1362 | * troff/input.c (copy_file): Handle first page transition like | |
1363 | title by pushing a COPY_FILE_REQUEST cookie. | |
1364 | (token::next, process_input_stack): Grok that. | |
1365 | * troff/node.h (output_file::copy_file): Add x and y arguments. | |
1366 | Make it non-pure. | |
1367 | * troff/div.c (top_level_diversion::copy_file): Supply them. | |
1368 | * troff/node.c (troff_output_file::copy_file): Add x and y | |
1369 | arguments; moveto specified position. Invalidate font_position | |
1370 | array after copying file. | |
1371 | (output_file::copy_file): New function. | |
1372 | (suppressed_output_file::copy_file, ascii_output::copy_file): | |
1373 | Removed. | |
1374 | * troff/input.c (transparent_file): New function. | |
1375 | (init_input_requests): Bind to "trf". | |
1376 | (token::next): Handle TRANSPARENT_FILE_REQUEST cookie. | |
1377 | (process_input_stack): Likewise. | |
1378 | ||
1379 | * troff/Makefile: Add ../lib/lib.h to GROFF_H. | |
1380 | ||
1381 | * troff/node.c (init_node_requests): New number registers .kern | |
1382 | pointing to global_kern_mode, and .lg pointing to | |
1383 | global_ligature_mode. | |
1384 | ||
1385 | * troff/node.c (ligature): Don't change it if we get a bad | |
1386 | integer. | |
1387 | ||
1388 | * troff/input.c (do_define_string): Don't strip tabs. | |
1389 | ||
1390 | * troff/input.c (asciify_macro): Make the string_iterator auto. | |
1391 | ||
1392 | * troff/node.c (init_font_requests): Rename to... | |
1393 | (init_node_requests): | |
1394 | * troff/node.h: Change declaration. | |
1395 | * troff/input.c (main): Change call. | |
1396 | ||
1397 | * troff/input.c (node::reread, diverted_space_node::reread): New | |
1398 | methods. | |
1399 | (process_input_stack): Call reread rather than | |
1400 | get_diverted_space_node. | |
1401 | * troff/node.c (node::get_diverted_space_node, | |
1402 | diverted_space_node::get_diverted_space_node): Removed. | |
1403 | * troff/node.h: Declare reread methods instead of | |
1404 | get_diverted_space_node methods. Make `n' member private. | |
1405 | * troff/input.c: (token::diverted_space): Removed. | |
1406 | * troff/token.h: Removed declaration. | |
1407 | ||
1408 | ||
1409 | Tue Sep 4 00:48:04 1990 James Clark (jjc at jclark) | |
1410 | ||
1411 | * eqn/script.c (script_box::compute_metrics): Don't let | |
1412 | SUP_RAISE_FORMAT become negative. | |
1413 | ||
1414 | * tbl/table.c (table::do_row): Entries that don't end in the | |
1415 | this row shouldn't make the row non-blank. | |
1416 | ||
1417 | * tbl/table.c (table::make_columns_equal): Only set the width of | |
1418 | columns which are marked as equal. | |
1419 | ||
1420 | * tbl/main.c (process_data): Before issuing excess data error, | |
1421 | if last character was a newline unget it; then get it again after | |
1422 | the error. Also include the contents of the entry in the message. | |
1423 | ||
1424 | * groff.c: New file. | |
1425 | * Makefile: Build groff from groff.c. Make it possible to use | |
1426 | either groff.sh or groff.c as groff. | |
1427 | * Makefile.bd: Similarily. | |
1428 | ||
1429 | Mon Sep 3 09:39:49 1990 James Clark (jjc at jclark) | |
1430 | ||
1431 | * groff.sh: Don't delay expansion of $@ in assignment to files. | |
1432 | Remove occurrences of \". | |
1433 | ||
1434 | Sun Sep 2 09:56:59 1990 James Clark (jjc at jclark) | |
1435 | ||
1436 | * all Makefiles: Simplify and rearrange. | |
1437 | ||
1438 | * Makefile: Handle fmod like malloc. | |
1439 | * lib/Makefile: Similarily. | |
1440 | * lib/fmod.c: Remove #ifdef NEED_FMOD. | |
1441 | ||
1442 | * Makefile: Rename OPTIMISE to OPTIMIZE. | |
1443 | ||
1444 | * groff.sh: Remove assignment to PATH. | |
1445 | * Makefile: Remove SHPATH variable. | |
1446 | * Makefile.bd: Similarily. | |
1447 | ||
1448 | * groff.sh: Add -V option to print the pipeline instead of | |
1449 | executing it. | |
1450 | ||
1451 | Fri Aug 31 00:56:46 1990 James Clark (jjc at jclark) | |
1452 | ||
1453 | * lib/font.c: Split off file searching into ... | |
1454 | * lib/fontfile.c: New file. | |
1455 | ||
1456 | * lib/strerror.c (strerror): Use `Error %d' for unknown errors. | |
1457 | ||
1458 | Thu Aug 30 13:13:55 1990 James Clark (jjc at jclark) | |
1459 | ||
1460 | * tbl/table.c (table::do_hspan): Delete assertion that e != 0. | |
1461 | Also change misleading comment. | |
1462 | (table::do_vspan): Change similarily misleading comment. | |
1463 | * tbl/main.c (process_data): A format row with an explicit `s' | |
1464 | uses up a data line, even if all the other columns are `_' or `='. | |
1465 | ||
1466 | * troff/input.c (token::description): Fix description of | |
1467 | TOKEN_DUMMY and TOKEN_EMPTY. | |
1468 | ||
1469 | Wed Aug 29 04:12:08 1990 James Clark (jjc at jclark) | |
1470 | ||
1471 | * groff.sh: Fix description of -Z in help message. | |
1472 | ||
1473 | Tue Aug 28 07:28:33 1990 James Clark (jjc at jclark) | |
1474 | ||
1475 | * pic/object.c (object_spec::make_object): Allow negative and zero | |
1476 | line thicknesses. | |
1477 | * pic/pic.y: Give linethick default value of -1.0. | |
1478 | * pic/troff.c (troff_output::troff_output): Initialize | |
1479 | last_line_thickness to BAD_THICKNESS. | |
1480 | (troff_output::finish_picture): Set thickness to BAD_THICKNESS. | |
1481 | (troff_output::line_thickness): Canonicalize negative thicknesses | |
1482 | to RELATIVE_THICKNESS. | |
1483 | * pic/tex.c (tex_output::set_pen_size): Silently map negative line | |
1484 | thicknesses to DEFAULT_PEN_SIZE. Canonicalize negative pen sizes | |
1485 | to -1.0. | |
1486 | (tex_output::start_picture): Set pen_size to -2.0. | |
1487 | ||
1488 | * ps/ps.c (ps_printer::set_line_thickness): If line_thickness is | |
1489 | 0, then use 0 linewidth. | |
1490 | (ps_printer::ps_printer): Initialize line_thickness to -1. | |
1491 | ||
1492 | * pic/troff.c (troff_output::simple_ellipse): Divide by scale. | |
1493 | ||
1494 | * ps/devps/symbolchars: Remove `or'. | |
1495 | * ps/tmac.ps: Implement \(or with .char. | |
1496 | ||
1497 | * ps/devps/symbolchars: Move most characters into textmap. | |
1498 | * ps/devps/textmap: Add names for troff bracket characters. Remove | |
1499 | ul, ru, br, bv. | |
1500 | ||
1501 | * ps/devps/TSymbol.ps: Removed. | |
1502 | * ps/devps/FontMakefile: Make S from Symbol not TSymbol. | |
1503 | * ps/tmac.ps: Do with .char what TSymbol did. | |
1504 | * ps/devps/download: Remove TSymbol. | |
1505 | ||
1506 | * ps/devps/T: Removed. | |
1507 | * ps/devps/Troff.ps: Removed. | |
1508 | * ps/devps/Troff.afm: Removed. | |
1509 | * ps/tmac.ps: Implement \(ru, \(ul, and \(br with .char. | |
1510 | * ps/devps/download: Remove Troff. | |
1511 | * ps/devps/FontMakefile: Remove T target. | |
1512 | * ps/devps/DESC-A4: Remove T from font list. | |
1513 | * ps/devps/DESC-letter: Likewise. | |
1514 | ||
1515 | * troff/input.c (macro_to_node): Rename to ... | |
1516 | (charinfo_to_node): Don't pass mac argument. Temporarily remove the | |
1517 | character's definition while processing it. | |
1518 | * troff/node.c (node::add_char, make_node): Change calls to | |
1519 | macro_to_node accordingly. | |
1520 | ||
1521 | * troff/input.c (token::next): Translate \_ to \(ul. | |
1522 | ||
1523 | * tty/devascii/R.proto: Add `|'. | |
1524 | * tty/devlatin1/R.proto: Likewise. | |
1525 | ||
1526 | Mon Aug 27 11:25:41 1990 James Clark (jjc at jclark) | |
1527 | ||
1528 | * man: Put the version number in all the man pages. | |
1529 | ||
1530 | Sun Aug 26 11:40:05 1990 James Clark (jjc at jclark) | |
1531 | ||
1532 | * Makefile.bd: New file. | |
1533 | * README.bd: New file. | |
1534 | ||
1535 | * VERSION: New file. | |
1536 | * lib/version.c: Removed. | |
1537 | * lib/Makefile: Create version.c from ../VERSION. Remove version.c | |
1538 | in clean target. | |
1539 | ||
1540 | * troff/input.c (main): Get hyphen_file from GROFF_HYPHEN | |
1541 | environment variable. | |
1542 | ||
1543 | * all Makefiles: Split install target into install.bin for | |
1544 | binaries, and install.nobin for everything else. | |
1545 | * Makefile: Add bindist target. | |
1546 | ||
1547 | * man/afmtodit.man: New file. | |
1548 | * man/Makefile: Add afmtodit.n to MAN1PAGES. | |
1549 | * ps/devps/Makefile: Add textmap to DEVICEFILES. Install afmtodit | |
1550 | in BINDIR. | |
1551 | * ps/Makefile: Pass BINDIR to make install in devps. | |
1552 | ||
1553 | * ps/ps.c (ps_printer::set_char): Do nothing if the character is | |
1554 | the space character. | |
1555 | ||
1556 | * ps/devps/FontMakefile: Rename symbol.afm to tsymbol.afm. | |
1557 | ||
1558 | Sat Aug 25 15:39:03 1990 James Clark (jjc at jclark) | |
1559 | ||
1560 | * ps/ps.c: Redo font downloading. | |
1561 | * ps/devps/download: New file. | |
1562 | * ps/devps/Makefile: Add download to DEVICEFILES. | |
1563 | * ps/devps/afmtodit: Remove -d option. | |
1564 | * ps/devps/FontMakefile: Don't use -d option with afmtodit. | |
1565 | * ps/devps/symbosl.ps: Add %%DocumentFonts comment. | |
1566 | * ps/devps/zapfdr.ps: Likewise. | |
1567 | * ps/devps/TSymbol.ps: Likewise. | |
1568 | ||
1569 | Fri Aug 24 20:10:30 1990 James Clark (jjc at jclark) | |
1570 | ||
1571 | * groff.sh: Initialize dev to ${GROFF_TYPESETTER:-@DEVICE@}. | |
1572 | ||
1573 | Thu Aug 23 10:03:47 1990 James Clark (jjc at yquem) | |
1574 | ||
1575 | * ps/ps.c (ps_output::include_file): If BROKEN_SPOOLER is defined, | |
1576 | then strip the first line if it starts with %. | |
1577 | * Makefile: Add a comment about this. | |
1578 | ||
1579 | * man/tfmtodit.man: New file. | |
1580 | * man/Makefile: Add tfmtodit.n to MAN1PAGES. | |
1581 | * dvi/Makefile: Install tfmtodit in BINDIR. | |
1582 | ||
1583 | * dvi/tfmtodit.c (usage): Mention -v option. | |
1584 | ||
1585 | Wed Aug 22 09:56:36 1990 James Clark (jjc at yquem) | |
1586 | ||
1587 | * troff/node.c (troff_output_file::end_of_line): Call do_motion. | |
1588 | * troff/node.c (troff_output_file::transparent_char): Don't call | |
1589 | flush_tbuf. | |
1590 | ||
1591 | * eqn: Add check_tabs method to most box classes. | |
1592 | * eqn/box.c (box::top_level): Call check_tabs. | |
1593 | ||
1594 | * eqn/script.c (script_box::output): Use \Z. | |
1595 | * eqn/limit.c (limit_box::output): Use \Z. | |
1596 | ||
1597 | * eqn/box.c (box::top_level): Use itoa. | |
1598 | ||
1599 | Tue Aug 21 09:29:28 1990 James Clark (jjc at yquem) | |
1600 | ||
1601 | * dvi/tmac.dvi: Add font translations for CR, C, TT. | |
1602 | * dvi/devdvi/Makefile: Don't make links to CW. | |
1603 | ||
1604 | * ps/tmac.ps: Add font translations for C, CW, CO, CX, CD, H, HO, | |
1605 | HX, HD. | |
1606 | * xditview/tmac.X: Likewise. | |
1607 | ||
1608 | * troff/node.c: Add font translation feature. | |
1609 | (get_font_translation): New function. | |
1610 | (symbol_fontno): Translate the font name. | |
1611 | (mount_font_no_translate): Rename to mount_font to this. | |
1612 | (mount_font): New function. | |
1613 | (font_family::make_definite): Call mount_font_no_translate instead | |
1614 | of mount_font. | |
1615 | (mount_style): Translate the font name. | |
1616 | (font_translate): New function. | |
1617 | (init_font_requests): Bind "ftr" to font_translate. | |
1618 | ||
1619 | * ps/devps/prologue (SN): New procedure that rounds a position to | |
1620 | the nearest (pixel + (.25,.25)). | |
1621 | (DL): Use SN to round endpoints. | |
1622 | ||
1623 | * lib/version.c: Changed version to 0.5. | |
1624 | ||
1625 | Sat Aug 18 04:43:21 1990 James Clark (jjc at yquem) | |
1626 | ||
1627 | * Makefile: Move definition of PAGE to the very beginning, so that | |
1628 | people are less likely to miss it. | |
1629 | ||
1630 | Fri Aug 17 02:15:11 1990 James Clark (jjc at yquem) | |
1631 | ||
1632 | * man/Makefile: Don't need to sed out @UPCASE_PROG_PREFIX@. | |
1633 | ||
1634 | * troff/env.c (environment::choose_breakpoint): Make `can't find | |
1635 | breakpoint' error a warning of type WARN_BREAK. Change message to | |
1636 | `can't break line'. | |
1637 | * troff/groff.h: Declare WARN_BREAK with code 4; change WARN_INPUT to | |
1638 | code 040000. | |
1639 | * troff/input.c: Add WARN_BREAK to warning_table. Include | |
1640 | WARN_BREAK in DEFAULT_WARNING_MASK. | |
1641 | ||
1642 | * tty/tmac.tty: Add definition of \(+-. | |
1643 | ||
1644 | * groff.sh: Remove `--' option to set command. | |
1645 | ||
1646 | * dvi/devdvi/texsy.map: Remove duplicate md entry. | |
1647 | ||
1648 | * ps/devps/eqnchar: Better definition of cdot using md. | |
1649 | * dvi/devdvi/eqnchar: Likewise. | |
1650 | * xditview/devX100/eqnchar: Likewise. | |
1651 | * xditview/devX75/eqnchar: Likewise. | |
1652 | * eqn/lex.c: Add definition of cdot. | |
1653 | ||
1654 | Thu Aug 16 09:33:57 1990 James Clark (jjc at yquem) | |
1655 | ||
1656 | * troff/input.c (get_optional_char): New function. | |
1657 | * troff/input.c (set_page_character): Use get_optional_char(), | |
1658 | rather than has_arg() and tok.get_char(1). | |
1659 | * troff/env.c (tab_character, leader_character, hyphen_char, | |
1660 | field_characters): Likewise. | |
1661 | (margin_character): Likewise. Also always delete the | |
1662 | margin_character_node. | |
1663 | ||
1664 | * troff/input.c (token::get_char): Use token::description. | |
1665 | ||
1666 | * troff/input.c (has_arg): Don't skip over tab and \}. | |
1667 | * troff/number.c (start_number): Give a warning if the number | |
1668 | starts with \} (WARN_RIGHT_BRACE) or tab (WARN_TAB). | |
1669 | ||
1670 | Wed Aug 15 10:04:37 1990 James Clark (jjc at yquem) | |
1671 | ||
1672 | * troff/input.c (empty_name_warning, non_empty_name_warning): New | |
1673 | functions. | |
1674 | (get_name, get_long_name): Use these. Rename `warn' argument to | |
1675 | `required'. | |
1676 | ||
1677 | * troff/node.c (get_fontno): Test that the symbol is not null. | |
1678 | ||
1679 | * troff/input.c (token::description): New function. | |
1680 | * troff/number.c (parse_term): Use token::description in `numeric | |
1681 | expression expected' message. | |
1682 | * troff/groff.h: Add WARN_MISSING. | |
1683 | * troff/number.c (start_number): New function. | |
1684 | * troff/number.c (get_vunits, get_hunits, get_number, get_integer, | |
1685 | get_incr_number): Use start_number(). | |
1686 | * troff/input.c (DEFAULT_WARNING_MASK): Enable WARN_NUMBER by | |
1687 | default. | |
1688 | * troff/input.c (get_name, get_long_name): Use WARN_MISSING. | |
1689 | * troff/reg.c (alter_format): Use WARN_MISSING. Also use | |
1690 | token::descripion. | |
1691 | * troff/input.c (token::get_char): Use WARN_MISSING. | |
1692 | * troff/input.c (token::delimiter): Use token::description. | |
1693 | * troff/env.c (environment_switch): Back out Aug 3 change. | |
1694 | * troff/input.c (has_arg): Skip over \}s and tabs but give a | |
1695 | warning. | |
1696 | * troff/token.h (token::tab): New function. | |
1697 | * troff/node.c (get_fontno): Use tok.skip() rather than has_arg(). | |
1698 | * troff/reg.c (alter_format): Likewise. | |
1699 | * troff/node.c (bold_font): Use has_arg() rather than tok.skip(). | |
1700 | ||
1701 | Tue Aug 14 10:11:21 1990 James Clark (jjc at yquem) | |
1702 | ||
1703 | * troff (most files): Redo warnings. Divide warnings into various | |
1704 | categories; warning() has an additional first argument indicating | |
1705 | the category it falls into. | |
1706 | * troff/input.c (main): -w now takes an argument. New option -W. | |
1707 | (enable_warning, disable_warning): New functions. | |
1708 | ||
1709 | * ps/devps/afmtodit: Add -a option to lie about the italic angle. | |
1710 | * ps/devps/FontMakefile: Pretend TI has an angle of 7. | |
1711 | ||
1712 | Mon Aug 13 10:11:16 1990 James Clark (jjc at yquem) | |
1713 | ||
1714 | * ps/devps/eqnchar: Better definitions of dotdot, vec, dyad, inf. | |
1715 | * xditview/devX100/eqnchar: Likewise. Remove definition of dot. | |
1716 | * xditview/devX75/eqnchar: Likewise. | |
1717 | * dvi/devdvi/eqnchar: Better definitions of vec, dyad, dotdot. | |
1718 | ||
1719 | * eqn/other.c: When bar or over applies to a single character | |
1720 | don't produce an overline_box or an underline_box. Instead produce | |
1721 | an accent_box or an underaccent_box, with the accent a line | |
1722 | whose width is accent_width. New classes underaccent_box, | |
1723 | overline_char_box and underline_char_box. | |
1724 | * eqn/box.h: Move overline_box, underline_box, accent_box class | |
1725 | declarations into eqn/other.c. Add declarations of | |
1726 | make_underline_box, make_overline_box, make_accent_box. | |
1727 | * eqn/eqn.y: Call make_overline_box, make_underline_box | |
1728 | make_accent_box instead of constructors. | |
1729 | * eqn/pbox.h, eqn/box.c: Add accent_width parameter. | |
1730 | ||
1731 | * eqn/other.c: Add accent_box::~accent_box. | |
1732 | * eqn/box.h: Declare it. | |
1733 | ||
1734 | * groff.sh: With -Tps, use eqn -D. | |
1735 | ||
1736 | * eqn/other.c (overline_box::output): Use \Z. If draw_flag use \D | |
1737 | rather than \l. | |
1738 | (underline_box::output): Similarily. | |
1739 | (accent_box::output): Use \Z. | |
1740 | ||
1741 | * xditview/tmac.X: Add definitions of ~ and ^ (so that they are a | |
1742 | bit smaller.) | |
1743 | ||
1744 | Sun Aug 12 09:41:15 1990 James Clark (jjc at yquem) | |
1745 | ||
1746 | * troff/div.c (top_level_diversion::transparent_output(unsigned | |
1747 | char)): Use asciify. | |
1748 | * troff/input.c (asciify): Don't make it static. | |
1749 | * troff/token.h (asciify): Declare it. | |
1750 | ||
1751 | * troff/input.c (get_name, get_long_name, token::get_char, | |
1752 | token::delimiter): Add an extra default argument which says | |
1753 | whether a warning should be printed. | |
1754 | * troff: Pass a non-zero argument to one of these rather than | |
1755 | printing a warning directly. | |
1756 | ||
1757 | Sat Aug 11 09:02:21 1990 James Clark (jjc at yquem) | |
1758 | ||
1759 | * troff: Consistently use symbol::is_null. | |
1760 | ||
1761 | * troff/dictionary.h: Move some inline functions into | |
1762 | dictionary.c. | |
1763 | ||
1764 | * troff/request.h: Move inline functions into input.c. | |
1765 | (request_or_macro::invoke): Make it pure. | |
1766 | ||
1767 | * troff/input.c, troff/reg.h: New class `constant_int_reg'. | |
1768 | * troff/input.c (init_input_requests): Use class constant_int_reg. | |
1769 | (class compatible_reg): Deleted. | |
1770 | * troff/div.c (init_div_requests): Use class constant_int_reg. | |
1771 | (class last_post_line_extra_space_reg): Deleted. | |
1772 | ||
1773 | * troff/env.c (tab_character): Don't change the tab character if | |
1774 | we get an invalid argument. | |
1775 | (hyphen_char): Similarily. | |
1776 | ||
1777 | * troff/reg.c (alter_format): Check that nm is not null. | |
1778 | ||
1779 | * Makefile, groff.sh: Make it possible to customize the commands | |
1780 | used for printing PostScript and dvi files. Also make it possible | |
1781 | to customize the path used by groff.sh. | |
1782 | ||
1783 | * eqn/eqn.y: Make `left' right associative. | |
1784 | ||
1785 | Fri Aug 10 18:20:39 1990 James Clark (jjc at yquem) | |
1786 | ||
1787 | * pic/pic.h: Added definition of M_SQRT2 for those systems that | |
1788 | don't have it. | |
1789 | ||
1790 | * pic/pic.h: Removed definition of INT_MAX. | |
1791 | ||
1792 | * troff/node.c (italic_corrected_node::vertical_extent): Omit | |
1793 | `return'. | |
1794 | ||
1795 | * troff/input.c (token::next): Handle \R like \n. | |
1796 | ||
1797 | Tue Aug 7 09:46:33 1990 James Clark (jjc at yquem) | |
1798 | ||
1799 | * ps/tmac.pc (PSPIC): Simplify. | |
1800 | ||
1801 | * troff/env.c (tab_stops::to_string): | |
1802 | * pic/pic.y (object_type_name): | |
1803 | * pic/troff.c (simple_output::line): | |
1804 | * pic/tex.c (tex_output::spline): | |
1805 | * pic/object.c (object_spec::make_object): | |
1806 | * tbl/main.c (process_data): Add cases to switch statements to | |
1807 | avoid cfront warnings. (Some of these are spurious, since the | |
1808 | switch already has a default case.) | |
1809 | ||
1810 | * ps/tmac.ps (PSPIC): Reformatted. Prefix all local names with | |
1811 | `ps-'. Don't test systat; instead check number of arguments to | |
1812 | ps-bb. | |
1813 | ||
1814 | Mon Aug 6 00:13:07 1990 James Clark (jjc at yquem) | |
1815 | ||
1816 | * macros/tmac.e: Do not decrease the page offset by 0.5i. | |
1817 | ||
1818 | * ps/ps.c (ps_printer::ps_printer): Use mktemp instead of tempnam. | |
1819 | Unlink the file as soon as we have opened it, so that we don't | |
1820 | have to bother with signal handlers. | |
1821 | (handler): Deleted. | |
1822 | (fatal_error_exit): Deleted. | |
1823 | (main): Don't call signal. | |
1824 | ||
1825 | * dvi/tfmtodit.c: Add -k option so that kerns with the skewchar | |
1826 | can be ignored. | |
1827 | * dvi/devdvi/Makefile: Use the -k option with S and MI. | |
1828 | ||
1829 | * pic/pic.y: If there is a label, or an nth construction before | |
1830 | the first `.' in the argument to `with', ignore it and generate a | |
1831 | warning. | |
1832 | * pic/lex.c (lex_warning): New function. | |
1833 | ||
1834 | * tbl/table.c (table::init_output): In section keep and release | |
1835 | macro, use 0 indent when diverting and the correct indent when | |
1836 | rereading. | |
1837 | ||
1838 | * troff/input.c (interpolate_number_format): Do not interpolate | |
1839 | anything if the number register is not defined. | |
1840 | ||
1841 | * tbl/main.c (process_data): Don't add entry when col >= ncolumns. | |
1842 | ||
1843 | Sat Aug 4 08:12:05 1990 James Clark (jjc at yquem) | |
1844 | ||
1845 | * ps/devps/prologue (PICTURE): Set components of graphics state to | |
1846 | their default values. | |
1847 | ||
1848 | * ps/devps/text.enc: Add trademark | |
1849 | * ps/devps/textmap: Add names for club, spade, heart, diamond, | |
1850 | carriagereturn, suchthat. Use Upsilon1 rather than Upsilon. | |
1851 | * ps/devps/symbolchars: Add names for summation and product. | |
1852 | ||
1853 | * dvi/devdvi/texsy.map: Add names for club, spade, heart, diamond, | |
1854 | suchthat. Add pp. Add upper-case letters. | |
1855 | ||
1856 | * xditview/libXdvi/DviChar.c: Add names for club, spade, heart, | |
1857 | diamond, carriagereturn, suchthat. Use Upsilon1 rather than | |
1858 | Upsilon. | |
1859 | ||
1860 | * dvi/devdvi/texsy.map: Rename lA (left angle bracket) to la, and | |
1861 | rA (right angle bracket) to ra. Introduce names for double-headed | |
1862 | arrows and double-barred arrows: <>, va, lA, rA, hA, uA, dA, vA. | |
1863 | * ps/devps/textmap: Likewise for ps device. | |
1864 | * xditview/libXdvi/DviChar.c: Likewise for X100 and X75 devices. | |
1865 | * tty/devascii/R.proto: Rename lA to la and rA to ra. | |
1866 | * tty/devascii/R.proto: Likewise. | |
1867 | * tty/tmac.tty: Provide definitions for \(<>, \(lA, \(rA, \(hA, | |
1868 | \(uA, \(dA. | |
1869 | * eqn/delim.c: In delim_table, rename \(lA to \(la and \(rA to \(ra. | |
1870 | ||
1871 | * xditview/tmac.X: Add definitions for \(fi \(fl \(ff \(Fi \(Fl. | |
1872 | ||
1873 | * eqn/lex.c: Added definitions of `approx', `grad' and `del' to | |
1874 | def_table. | |
1875 | ||
1876 | Fri Aug 3 09:59:27 1990 James Clark (jjc at yquem) | |
1877 | ||
1878 | * troff/div.c (when_request): Use symbol::is_null rather than | |
1879 | has_arg to determine whether we have an argument. | |
1880 | (change_trap): Remove the trap if we get an invalid number. Give | |
1881 | an error if we don't get at least the macro name. | |
1882 | (diversion_trap): Remove trap if we get an invalid name or number. | |
1883 | ||
1884 | * troff/env.c (environment_switch): Pop if we get an invalid | |
1885 | symbol or numeric expression. | |
1886 | ||
1887 | * troff/input.c (do_define_macro): If EOF is encoutered while | |
1888 | defining the macro, do tok.next() before returning. | |
1889 | ||
1890 | * troff/token.h (has_arg): Move definition from here, to ... | |
1891 | * troff/input.c (has_arg): ... here | |
1892 | ||
1893 | * troff/env.c (space_size): Do nothing if we get an invalid argument. | |
1894 | * troff/input.c (shift): Likewise. | |
1895 | ||
1896 | * pic/lex.c (get_token_after_dot): Accept `.center' as a synonym | |
1897 | for `.c'. | |
1898 | ||
1899 | * pic/troff.c (troff_output::start_picture): Comment out calls to | |
1900 | `..'. | |
1901 | ||
1902 | * eqn/main.c (do_file): Subtract 1 from current_lineno if | |
1903 | interpret_lf_args succeeds. | |
1904 | ||
1905 | * eqn/main.c (do_file): Don't recognize delimiter if preceded by | |
1906 | \\. This avoids problems with \$N. | |
1907 | ||
1908 | * groff.sh: Pass -C to preprocessors. | |
1909 | ||
1910 | * lib/lf.c (interpret_lf_args): Be more flexible. | |
1911 | ||
1912 | * tbl/main.c (main): Add -C option. | |
1913 | (table_input::get): Do not recognize TE if followed by character | |
1914 | other than a space or newline unless -C option given. | |
1915 | (process_input_file): Likewise for lf, TS. | |
1916 | (process_data): Likewise for lf in text blocks. | |
1917 | ||
1918 | * eqn/main.c (main): Add -C option. | |
1919 | (do_file): Don't recognize EQ, EN or lf if followed by character | |
1920 | other than space or newline unless -C option given. | |
1921 | * eqn/lex.c (file_input::read_line): Similarily. | |
1922 | * eqn/eqn.h: Declare compatible_flag. | |
1923 | ||
1924 | * etc/soelim.c (main): Add -C option. | |
1925 | (interpret_lf_args): Use version in libgroff. | |
1926 | (do_file): | |
1927 | ||
1928 | * pic/main.c (main): Add -C option, which sets compatible_flag. | |
1929 | (top_input::get), (top_input::peek): If -C option not given, | |
1930 | do not recognize .PS/.PE/.PF/.lf if followed by a character | |
1931 | other than space or newline. | |
1932 | * pic/lex.c (file_input::read_line): Similarily. | |
1933 | * pic/pic.h: Add declaration of compatible_flag. | |
1934 | ||
1935 | Thu Aug 2 11:11:27 1990 James Clark (jjc at yquem) | |
1936 | ||
1937 | * ps/tmac.ps (PSPIC): Avoid use of `echo -n'. | |
1938 | ||
1939 | * troff/node.c, troff/node.h: Add `asciify' methods to classes | |
1940 | derived from node. New class space_char_hmotion_node. | |
1941 | * troff/input.c (asciify_macro): New function. | |
1942 | * troff/input.c (init_input_requests): New request `asciify' bound | |
1943 | to asciify_macro. | |
1944 | * macros/mm.diff: New file. | |
1945 | * Makefile: In install.mm target use `patch' to apply | |
1946 | macros/mm.diff. | |
1947 | ||
1948 | * troff/input.c (macro::print_size): Just print the size in bytes. | |
1949 | ||
1950 | * troff/div.c (return_request): Correct the argument | |
1951 | interpretation. | |
1952 | ||
1953 | Wed Aug 1 12:38:36 1990 James Clark (jjc at yquem) | |
1954 | ||
1955 | * troff/node.h (class composite_node): Add sz member. | |
1956 | * troff/node.c (composite_node::size): Return sz. | |
1957 | * troff/input.c (macro_to_node): Use the initial size in the | |
1958 | environment as the size of the composite_node. | |
1959 | ||
1960 | * troff/node.c (node::zero_width_tprint): Provide a reasonable | |
1961 | default. | |
1962 | ||
1963 | Tue Jul 31 10:07:10 1990 James Clark (jjc at yquem) | |
1964 | ||
1965 | * troff/div.c (change_trap): If we get a bad number expression, | |
1966 | do nothing. | |
1967 | ||
1968 | Mon Jul 30 10:30:49 1990 James Clark (jjc at yquem) | |
1969 | ||
1970 | * lib/matherr.c (matherr): Define this only if math.h defines | |
1971 | TLOSS. | |
1972 | ||
1973 | Sun Jul 29 10:34:27 1990 James Clark (jjc at yquem) | |
1974 | ||
1975 | * troff/div.c (macro_diversion::distance_to_next_trap): If there | |
1976 | no diversion trap return vunits(INT_MAX - vresolution). | |
1977 | ||
1978 | Sat Jul 28 14:28:14 1990 James Clark (jjc at yquem) | |
1979 | ||
1980 | * troff/input.c (do_zero_width): New implementation that doesn't | |
1981 | use a temporary environment. Use instead: | |
1982 | (token::add_to_node_list): New function. | |
1983 | * troff/env.c (environment::get_prev_char_height), | |
1984 | (environment::get_prev_char_height), | |
1985 | (environment::get_prev_char_skew): New functions. | |
1986 | (environment::get_prev_char): New function. | |
1987 | (environment::get_prev_char_width): Change to use get_prev_char. | |
1988 | (init_env_request): Implement new registers .cht, .cdp, .csk. | |
1989 | * eqn/sqrt.c (sqrt_box::output): Don't rely upon the argument to | |
1990 | \Z being processed in a separate environment. | |
1991 | ||
1992 | Fri Jul 27 10:21:25 1990 James Clark (jjc at yquem) | |
1993 | ||
1994 | * tbl/table.c: Removed TABLE_BOTTOM_REG. | |
1995 | ||
1996 | * tbl/table.c (table::init_output): In the section release macro, | |
1997 | give a warning message if the section won't fit on one page. | |
1998 | ||
1999 | * tbl/table.c (table::do_top): Emit table keep only if table is | |
2000 | boxed. | |
2001 | (table::do_bottom): Likewise for table release. | |
2002 | (table::table), (table::add_vertical_rule): Remove reference to | |
2003 | keep member. | |
2004 | * tbl/table.h: Remove keep member. | |
2005 | ||
2006 | * tbl/table.c: New register SUPPRESS_BOTTOM_REG. In | |
2007 | SECTION_RELEASE_MACRO, if there's not enough space before the next | |
2008 | trap to output the diversion, call T# ourselves, set | |
2009 | SUPPRESS_BOTTOM_REG to 1, spring the trap, then set | |
2010 | SUPPRESS_BOTTOM_REG back to 0. In T#, do nothing if | |
2011 | SUPPRESS_BOTTOM_REG is non-zero. In T#, always mark the current | |
2012 | vertical position and return to it before turning traps on again. | |
2013 | ||
2014 | Thu Jul 26 02:54:32 1990 James Clark (jjc at yquem) | |
2015 | ||
2016 | * troff/node.c, troff/node.h: In classes derived from node, | |
2017 | replace prev_char_width method by last_char_node method. | |
2018 | * troff/env.c (environment::get_prev_char_width): Use | |
2019 | node::last_char_node rather than node::get_prev_char_width. | |
2020 | ||
2021 | * Makefile: Added comment about -fno-inline on 68030-based | |
2022 | Apollos. | |
2023 | ||
2024 | * troff/reg.c (number_format_to_ascii), eqn/delim.c (DELIM_TABLE_SIZE), | |
2025 | tty/tty.c (tty_font::load_tty_font), dvi/tfmtodit.c (main): Cast | |
2026 | expressions using sizeof to int. | |
2027 | * dvi/dvi.c (dvi_font::handle_x_command): Avoid long->int warnings. | |
2028 | ||
2029 | * macros/tmac.e (TS): Don't move @f back past the current | |
2030 | position. | |
2031 | ||
2032 | Wed Jul 25 09:11:08 1990 James Clark (jjc at yquem) | |
2033 | ||
2034 | * ps/ps.c (main): Buffer stderr. | |
2035 | * dvi/dvi.c (main): Likewise. | |
2036 | * tty/tty.c (main): Likewise. | |
2037 | ||
2038 | * ps/ps.c (ps_printer::do_import): Improve error handling. | |
2039 | ||
2040 | * troff/input.c (abort_request): Use asciify. | |
2041 | ||
2042 | * driver/printer.h (printer::draw), driver/printer.c (printer::draw), | |
2043 | ps/ps.c (ps_printer::draw), dvi/dvi.c (dvi_printer::draw): Make | |
2044 | type of first argument int rather than char. This works around a | |
2045 | bug on the 68030 based Apollo using g++ 1.37.1. | |
2046 | ||
2047 | * tbl/table.h (class table): Add `keep' member. | |
2048 | * tbl/table.c (table::table): Initialize `keep'. | |
2049 | (table::add_vertical_rule): Set `keep' to 1. | |
2050 | (table::do_top): Only emit table keep macro is `keep' is non-zero. | |
2051 | (table::do_bottom): Likewise for table release macro. | |
2052 | (table::do_row): Emit section keep macro even if the row is 0. | |
2053 | ||
2054 | Tue Jul 24 08:35:07 1990 James Clark (jjc at yquem) | |
2055 | ||
2056 | * macros/tmac.e (@C): Preserve the font family across the change | |
2057 | in environments. | |
2058 | ||
2059 | Mon Jul 23 10:15:23 1990 James Clark (jjc at yquem) | |
2060 | ||
2061 | * lib/font.c: Initialize font::hor and font::vert to 1. | |
2062 | (font::load_desc): Check the values of font::hor and font::vert. | |
2063 | ||
2064 | * lib/lib.h: Added definition of INT_DIGITS. Fix it so that it can | |
2065 | be included in a C compilation. | |
2066 | (iftoa): Use INT_DIGITS. Include lib.h. | |
2067 | (itoa): Likewise. | |
2068 | (as_string): Likewise. | |
2069 | * tbl/table.c: Removed definition of INT_DIGITS. | |
2070 | * eqn/box.c (box::top_level): Use INT_DIGITS + 1 instead of 12. | |
2071 | * troff/input.c (input_input_requests): Likewise. | |
2072 | * ps/ps.c (make_encoding_name): Likewise. | |
2073 | (ps_printer::set_style): Likewise. | |
2074 | (ps_output::put_number): Use 1 + INT_DIGITS + 1 instead of 12. | |
2075 | ||
2076 | * tty/devascii/R.proto: Map fm onto '. | |
2077 | * tty/devlatin1/R.proto: Likewise. | |
2078 | ||
2079 | Sat Jul 21 12:45:07 1990 James Clark (jjc at yquem) | |
2080 | ||
2081 | * tbl/table.c: Use ' instead of DELIMITER_CHAR in places where the | |
2082 | argument to \w is at a different input level. | |
2083 | ||
2084 | * tbl/table.c (table::init_output): Define a new macro | |
2085 | REPEATED_VPT_MACRO, like vpt but if in a diversion also | |
2086 | transparently outputs itself. | |
2087 | (table::define_bottom_macro): Use REPEATED_VPT_MACRO instead of | |
2088 | vpt. | |
2089 | (table::do_row): Likewise. | |
2090 | ||
2091 | * tbl/table.c (vertical_rule::print): Prefix the .sp -1 line with | |
2092 | TRANSPARENT_STRING_NAME. | |
2093 | ||
2094 | * tbl/table.c (table::init_output): In the table release macro | |
2095 | print an error message and don't produce any output if after | |
2096 | issuing the need request the table still will not fit. Also | |
2097 | remove the diversion after bringing it back. | |
2098 | ||
2099 | * tbl/table.c (table::init_output): Define a new macro | |
2100 | REPEATED_MARK_MACRO, like mk but if in a diversion also | |
2101 | transparently outputs itself. | |
2102 | (table::do_row): Mark row_top_reg using REPEATED_MARK_MACRO. This | |
2103 | is necessary because .TH might not call .T#. | |
2104 | (table::do_top): Likewise TOP_REG. | |
2105 | (table::define_bottom_macro): If TOP_REG is no longer valid, use | |
2106 | #T - DOUBLE_LINE_SEP rather than #T. This is necessary because the | |
2107 | table header might contain just the two top rules. | |
2108 | ||
2109 | Fri Jul 20 10:51:42 1990 James Clark (jjc at yquem) | |
2110 | ||
2111 | * troff/div.c: Implement new request `ptr' to print all traps. | |
2112 | ||
2113 | * troff/env.c (init_env_requests): Implement `.tabs' reg with | |
2114 | init_string_env_reg. | |
2115 | * troff/env.c (class tab_reg): Deleted. | |
2116 | ||
2117 | Thu Jul 19 12:07:16 1990 James Clark (jjc at yquem) | |
2118 | ||
2119 | * troff/div.c: New number register .pn returns the number of the | |
2120 | next page as set by the pn request. | |
2121 | ||
2122 | * macros/tmac.an: Redid headers and footers. Number each manual | |
2123 | entry starting from 1 unless \nC is > 0, like Sun. Added an | |
2124 | optional 5th argument to .TH which specifies the manual name and | |
2125 | appears in the center of the header. Understand the X, P and D | |
2126 | registers like Sun. | |
2127 | ||
2128 | Wed Jul 18 10:23:31 1990 James Clark (jjc at yquem) | |
2129 | ||
2130 | * troff/env.c (init_env_requests): New number register `.lt' to | |
2131 | return the title length. | |
2132 | ||
2133 | * troff/node.h (class transparent_dummy_node): New class. | |
2134 | * troff/node.c (class transparent_dummy_node): Provide member | |
2135 | functions. | |
2136 | * troff/env.c (interrupt): Add a transparent_dummy_node, rather | |
2137 | than a dummy_node. | |
2138 | ||
2139 | * troff/input.c (token::next): New escape sequence \). | |
2140 | * troff/input.c (get_copy): Recognize \) in copy mode. | |
2141 | ||
2142 | * troff/input.c (input_stack::clear): New function. | |
2143 | * troff/input.c (exit_request): Use input_stack::clear. | |
2144 | ||
2145 | * troff/token.h: Removed TOKEN_NO_PRINT_CHAR. | |
2146 | * troff/input.c (token::process): Removed case TOKEN_NO_PRINT_CHAR. | |
2147 | ||
2148 | * troff/env.c: Move set_page_character to input.c. Move | |
2149 | page_character to input.c also. | |
2150 | * troff/env.c (title): Split off the reading of the parts of the | |
2151 | title into read_title_parts. | |
2152 | * troff/input.c (read_title_parts): New function. Check the | |
2153 | input_level when testing whether a token matches the delimiter. | |
2154 | ||
2155 | * troff/input.c (exit_request): New function. | |
2156 | * troff/input.c (init_input_requests): Bind ex request to | |
2157 | exit_request rather than exit_groff. | |
2158 | ||
2159 | * troff/input.c (exit_groff): Call tok.next() before | |
2160 | process_input_stack(). | |
2161 | ||
2162 | Mon Jul 16 09:47:23 1990 James Clark (jjc at yquem) | |
2163 | ||
2164 | * troff/env.c: ifdef widow control support on WIDOW_CONTROL. | |
2165 | * troff/env.h: ditto. | |
2166 | * troff/input.c: ditto. | |
2167 | ||
2168 | * troff/env.c (environment::is_empty): Test pending_lines. | |
2169 | ||
2170 | * troff/env.c (environment::have_pending_lines): Removed. | |
2171 | ||
2172 | * troff/input.c: Add request to flush pending lines from the | |
2173 | environment. | |
2174 | ||
2175 | * troff/env.c, troff/env.h: Add automatic widow control feature. | |
2176 | ||
2177 | * troff/input.c (exit_groff): Do process_input_stack() after | |
2178 | do_break() but before setting exit_flag to 2. | |
2179 | ||
2180 | * troff/input.c: Remove FLUSH_PENDING_LINES and | |
2181 | TOKEN_FLUSH_PENDING_LINES. Instead, flush pending lines from | |
2182 | environment after END_TRAP token seen, but only if there aren't | |
2183 | any more traps still unfinished. | |
2184 | * troff/token.h: Remove TOKEN_FLUSH_PENDING_LINES. | |
2185 | ||
2186 | Sun Jul 15 10:50:08 1990 James Clark (jjc at yquem) | |
2187 | ||
2188 | * troff/env.c: Rename the `retain_size' member of class | |
2189 | pending_output_line to `no_fill'. | |
2190 | ||
2191 | * troff/env.c (title): When the line is output, make the | |
2192 | retain_size argument !fill. | |
2193 | ||
2194 | * troff/node.h: Add `hyphenated' member to struct breakpoint. | |
2195 | * troff/node.c (space_node::get_breakpoints), | |
2196 | (dbreak_node::get_breakpoints): Fill this in. | |
2197 | * troff/env.c: Allow specification of maximum number of | |
2198 | consecutive hyphenated lines. | |
2199 | ||
2200 | * troff/env.c (environment::is_empty): Add test for !current_tab. | |
2201 | ||
2202 | Sat Jul 14 11:23:01 1990 James Clark (jjc at yquem) | |
2203 | ||
2204 | * troff/env.c (environment::hyphenate_line): Don't completely give | |
2205 | up if the word is not to be hyphenated; continue so that breaks | |
2206 | can be made at break_char_node's. | |
2207 | ||
2208 | * lib/lib.h: Only define INT_MAX if it's not already defined; | |
2209 | undef INT_MIN if it's already defined. | |
2210 | ||
2211 | * Makefile: Make it easy to define CFRONT_ANSI_BUG. | |
2212 | ||
2213 | * lib/lib.h: If CFRONT_ANSI_BUG is defined, cast INT_MIN to long. | |
2214 | This works around a bug in AT&T C++ 2.0 used with an ANSI C | |
2215 | compiler. | |
2216 | ||
2217 | * macros/tmac.an (an-header): Set no-space mode. | |
2218 | ||
2219 | * macros/tmac.an (TH): Start a new page if necessary. | |
2220 | ||
2221 | * Started using ChangeLog at version 0.4. | |
2222 | ||
2223 | Local Variables: | |
2224 | version-control: never | |
2225 | End: |