Commit | Line | Data |
---|---|---|
f1ca396b C |
1 | Mon Apr 19 09:55:57 1993 James Clark (jjc at jclark) |
2 | ||
3 | * Version 1.08 released. | |
4 | ||
5 | * Makefile.in (dist): Insert || true after ln -s commands that | |
6 | might fail. | |
7 | ||
8 | * mm: Update to mm 1.16. | |
9 | ||
10 | * acgroff.m4 (GROFF_CSH_HACK): New macro. | |
11 | * configure.in: Call GROFF_CSH_HACK. Substitute for | |
12 | SH_SCRIPT_SED_CMD. | |
13 | * Makefile.in (SH_SCRIPT_SED_CMD): New variable. Include in | |
14 | MDEFINES. | |
15 | * nroff/Makefile.sub (nroff): New target. | |
16 | (install_data): Install nroff. | |
17 | * eqn/Makefile.sub (neqn): Sed with SH_SCRIPT_SED_CMD. | |
18 | * grog/Makefile.sub (grog): Sed grog.sh with SH_SCRIPT_SED_CMD. | |
19 | ||
20 | Sat Apr 17 08:24:28 1993 James Clark (jjc at jclark) | |
21 | ||
22 | * eqn/Makefile.sub (neqn): Add chmod +x. | |
23 | ||
24 | * grog/Makefile.sub (grog): Remove spurious semi-colon. | |
25 | ||
26 | Fri Apr 16 22:41:57 1993 James Clark (jjc at jclark) | |
27 | ||
28 | * troff/input.cc (string_iterator::string_iterator()): Initialize | |
29 | lineno and count. | |
30 | ||
31 | Tue Apr 13 10:22:28 1993 James Clark (jjc at jclark) | |
32 | ||
33 | * troff/div.cc (macro_diversion::space, | |
34 | top_level_diversion::space): Don't set high_water_mark. | |
35 | (macro_diversion::output, top_level_diversion::output): Don't | |
36 | include post line space in high water mark. | |
37 | ||
38 | Wed Apr 7 12:48:18 1993 James Clark (jjc at jclark) | |
39 | ||
40 | * eqn/eqn.y: Don't define YYDEBUG. | |
41 | * pic/pic.y: Likewise. | |
42 | ||
43 | Mon Apr 5 10:15:15 1993 James Clark (jjc at jclark) | |
44 | ||
45 | * tmac/tmac.e ([3): Add space after comma following editors. | |
46 | Change double spaces to single spaces. | |
47 | ([4): Change double spaces to single spaces. | |
48 | ||
49 | * grops/ps.h (USE_PS_ADOBE_2_0): New flag for broken_flags. | |
50 | * grops/ps.cc (ps_printer::~ps_printer): If the USE_PS_ADOBE_2_0 | |
51 | bit is set in broken_flags, use 2.0 rather than 3.0 as the version | |
52 | after %!PS-Adobe- (for Newsprint). | |
53 | ||
54 | * troff/div.cc (top_level_diversion::begin_page): When | |
55 | before_first_page is 1, set page_number to 1. | |
56 | ||
57 | Sun Apr 4 14:28:53 1993 James Clark (jjc at jclark) | |
58 | ||
59 | * eqn/box.cc (box::top_level): Protect equation with \&. | |
60 | ||
61 | Sat Apr 3 23:27:25 1993 James Clark (jjc at jclark) | |
62 | ||
63 | * groff/groff.cc (possible_command::set_name): Delete old name. | |
64 | ||
65 | * groff/groff.cc (possible_command::~possible_command): Use | |
66 | a_delete. | |
67 | ||
68 | * troff/node.cc (troff_output_file::begun_page): New member. | |
69 | (troff_output_file::troff_output_file): Initialize it. | |
70 | (troff_output_file::really_begin_page): Only output V command if a | |
71 | page has been begun. | |
72 | ||
73 | * pic/pic.y (placeless_element): Delete argument to PRINT after | |
74 | use. | |
75 | ||
76 | Fri Apr 2 11:31:02 1993 James Clark (jjc at jclark) | |
77 | ||
78 | * Make wrapman work. | |
79 | * troff/div.h (class top_level_diversion): Replace | |
80 | first_page_begun by before_first_page (with opposite sense). | |
81 | * Change first_page_begun to before_first_page inverting sense. | |
82 | * troff/div.cc (class nl_reg): New class. | |
83 | (init_div_requests): Use class nl_reg for \n(nl. | |
84 | (top_level_diversion::begin_page): Don't call | |
85 | output_file::begin_page if before_first_page is 2; | |
86 | reset before_first_page afterwards. If have_next_page_number is | |
87 | false, then always increment page_number. | |
88 | * tmac/tmac.an: Set traps within TH rather than at the top-level. | |
89 | Restore compatibility mode after loading, and then disable | |
90 | compatibility mode in TH. | |
91 | ||
92 | Thu Apr 1 11:09:34 1993 James Clark (jjc at jclark) | |
93 | ||
94 | * grotty/tty.cc (tty_printer::end_page): Don't discard characters | |
95 | past last line. | |
96 | * troff/node.h (output_file::trailer): Declare. | |
97 | * troff/div.cc (cleanup_and_exit): Call output_file::trailer(). | |
98 | * troff/node.cc (output_file::trailer): New function. | |
99 | (troff_output_file::~troff_output_file): Move most code into... | |
100 | (troff_output_file::trailer): New function. | |
101 | (class troff_output_file): Delete page_length member. Declare | |
102 | trailer(). | |
103 | (troff_output_file::really_begin_page): Use current page length | |
104 | for final V command. | |
105 | ||
106 | * tbl/main.cc (struct options): New decimal_point_char member. | |
107 | (options::options): Initialize this. | |
108 | (process_options): Implement decimalpoint option. | |
109 | (process_data): Pass decimal_point_char option to table::table. | |
110 | * tbl/table.h (class table): New decimal_point_char member. | |
111 | (table::table): Add additional argument. | |
112 | * tbl/table.cc (find_dot): Rename to find_decimal_point. Add | |
113 | second argument specifying decimal point character. Use this | |
114 | instead of '.'. | |
115 | (table::table): Initialize decimal_point_char. | |
116 | (table::add_entry): Change call to find_dot. | |
117 | ||
118 | * troff/input.cc (get_copy, token::next): Implement \V. | |
119 | (interpolate_environment_variable): New function. | |
120 | ||
121 | Tue Mar 30 14:41:39 1993 James Clark (jjc at jclark) | |
122 | ||
123 | * pic/lex.cc (lookup_keyword): Rename MIN to K_MIN, MAX to K_MAX. | |
124 | * pic/pic.y: Likewise. | |
125 | ||
126 | * grotty/tty.cc (tty_printer::add_char, tty_printer::end_page): | |
127 | Add casts to int. | |
128 | * refer/ref.cc (reference::insert_field, reference::delete_field): | |
129 | Likewise. | |
130 | * troff/number.cc (parse_term): Likewise. | |
131 | ||
132 | * acgroff.m4 (GROFF_PROG_YACC): New macro. | |
133 | * configure.in: Use GROFF_PROG_YACC. | |
134 | ||
135 | * acgroff.m4 (GROFF_PROG_CCC): Don't add -O automatically for gcc | |
136 | and g++. | |
137 | * Makefile.in (OPTIMIZE): New define. | |
138 | (DEBUG): Empty by default. | |
139 | (CCFLAGS, CFLAGS): Include $(OPTIMIZE). | |
140 | ||
141 | * acgroff.m4 (GROFF_SYS_SIGLIST): Don't quote program. | |
142 | (GROFF_ARRAY_DELETE): Likewise. | |
143 | (GROFF_CC_COMPILE_CHECK): Quote use of $2 and $3. | |
144 | ||
145 | * troff/env.cc (trie::~trie): Make virtual to shut up g++. | |
146 | ||
147 | * devps/psstrip.sed: Use different delimiter on last line (so that | |
148 | it works with BSD 4.4 sed.) | |
149 | ||
150 | Mon Mar 29 17:07:14 1993 James Clark (jjc at jclark) | |
151 | ||
152 | * devps/psstrip.sed: Delete comments. | |
153 | ||
154 | * acgroff.m4 (AC_GETOPT): Don't test whether <unistd.h> declares | |
155 | optind, opterr, optarg. | |
156 | * lib.h: When UNISTD_H_DECLARES_GETOPT is defined, declare optind, | |
157 | opterr, optarg. | |
158 | ||
159 | Sun Mar 28 17:44:25 1993 James Clark (jjc at jclark) | |
160 | ||
161 | * Makefile.in (check): Dummy target. | |
162 | ||
163 | Wed Mar 3 04:53:38 1993 James Clark (jjc at jclark) | |
164 | ||
165 | * Version 1.07 released. | |
166 | ||
167 | * Integrate mm 1.11. | |
168 | ||
169 | * tbl/table.cc (alphabetic_block_entry::print): start_row was used | |
170 | where start_col was meant. | |
171 | ||
172 | Thu Feb 25 07:55:36 1993 James Clark (jjc at jclark) | |
173 | ||
174 | * grog/grog.sh, grog/grog.pl: Recognize PH and SA as -mm macros. | |
175 | ||
176 | Wed Feb 24 10:15:34 1993 James Clark (jjc at jclark) | |
177 | ||
178 | * troff/input.cc (token::next): Make \z\o'...' and similar things | |
179 | work. | |
180 | ||
181 | * env.h (MARGIN_CHARACTER_ON, MARGIN_CHARACTER_NEXT): New | |
182 | constants. | |
183 | (environment): Add margin_character_flags member. | |
184 | * env.cc (environment::environment(symbol), | |
185 | environment::environment(const environment *): Initialize | |
186 | margin_character_flags. | |
187 | (margin_character): Rewrite. | |
188 | (environment::output_line): Add a margin character if | |
189 | margin_character_flags is non-zero. Turn off the | |
190 | MARGIN_CHARACTER_NEXT bit. If that makes margin_character_flags | |
191 | zero, use margin_character_node without copying and then set | |
192 | margin_character_node to 0. | |
193 | ||
194 | * devps/DESC.in: Change minimum size to 1000. | |
195 | ||
196 | Tue Feb 23 14:57:49 1993 James Clark (jjc at jclark) | |
197 | ||
198 | * troff/symbol.h (symbol::hash): Change return type to unsigned | |
199 | long. | |
200 | * troff/dictionary.cc (dictionary::lookup, dictionary::remove): | |
201 | Add casts to int. | |
202 | ||
203 | * test-groff: Use -r rather than -x. | |
204 | ||
205 | * grops/psfig.diff: Include in distribution again. | |
206 | ||
207 | Mon Feb 22 09:10:44 1993 James Clark (jjc at jclark) | |
208 | ||
209 | * Makefile.in (dist): Use gzip. | |
210 | ||
211 | Sun Feb 21 11:12:53 1993 James Clark (jjc at jclark) | |
212 | ||
213 | * acgroff.m4 (GROFF_GETOPT): Check for declaration of getopt() in | |
214 | unistd.h as well as in stdlib.h. | |
215 | * include/lib.h: Include <stdlib.h> is STDLIB_H_DECLARES_GETOPT is | |
216 | defined; otherwise include <sys/types.h> and <unistd.h> if | |
217 | UNISTD_H_DECLARES_GETOPT is defined. | |
218 | ||
219 | * configure.in: use builtin(include, ... rather than include(... | |
220 | * configure: Regenerate with autoconf 1.3. | |
221 | ||
222 | * libdriver/print.cc (printer::adjust_arc_center): Use new | |
223 | algorithm suggested by Andy Fyfe. | |
224 | ||
225 | * libdriver/printer.cc (printer::adjust_arc_center): New function. | |
226 | * include/printer.h: Declare this. | |
227 | * grops/ps.cc (ps_printer::draw): Use it. | |
228 | * grodvi/dvi.cc (dvi_printer::draw): Use it. | |
229 | ||
230 | Fri Feb 19 23:13:51 1993 James Clark (jjc at jclark) | |
231 | ||
232 | * Makefile.comm (.man.n): Replace macrodir by tmacdir. | |
233 | ||
234 | Thu Feb 11 16:46:59 1993 James Clark (jjc at jclark) | |
235 | ||
236 | * eqn/main.cc (main): Handle "eqn -". | |
237 | ||
238 | Mon Jan 4 20:29:56 1993 James Clark (jjc at jclark) | |
239 | ||
240 | * tmac/tmac.e (++): Install fix from comp.bugs.4sd. | |
241 | ||
242 | * mm: Integrate version 1.08. | |
243 | ||
244 | * pic/troff.cc (troff_output::finish_picture): Set | |
245 | EQN_NO_EXTRA_SPACE reg to 0 rather than removing it. | |
246 | * eqn/box.cc (box::extra_space): Set EQN_NO_EXTRA_SPACE_REG to 0 | |
247 | if it's not defined. Check whether the register is non-zero rather | |
248 | than whether it's not defined. | |
249 | * tmac.e ({, <): Make argument to \x zero if \n(0x is non-zero. | |
250 | ||
251 | * indxbib/indxbib.cc: Move all signal handling into... | |
252 | * indxbib/signal.c: New file. | |
253 | * configure.in: Call AC_RETSIGTYPE. | |
254 | ||
255 | * acgroff.m4 (GROFF_STRUCT_EXCEPTION): New macro. | |
256 | * configure.in: Call GROFF_STRUCT_EXCEPTION. | |
257 | * libgroff/matherr.c: Protect with ifdef HAVE_STRUCT_EXCEPTION. | |
258 | ||
259 | * troff/input.cc (token::token, token::operator=): Work round SGI | |
260 | C++ bug. | |
261 | * pic/object.cc (position::position): Likewise. | |
262 | ||
263 | Mon Dec 28 21:50:21 1992 James Clark (jjc at jclark) | |
264 | ||
265 | * pic/pic.h: Move declaration of hypot(). | |
266 | ||
267 | Wed Dec 16 12:28:29 1992 James Clark (jjc at jclark) | |
268 | ||
269 | * pic/pic.h: Declare hypot(). | |
270 | ||
271 | * pic/pic.h: Define M_PI if necessary. | |
272 | ||
273 | Thu Dec 10 12:03:29 1992 James Clark (jjc at jclark) | |
274 | ||
275 | * tmac/tmac.e (re): Add alternative version that doesn't use groff | |
276 | `.ta T' feature. | |
277 | ||
278 | * devps/prologue.ps (RE): Handle the possibility that the old font | |
279 | doesn't have a FontName entry. | |
280 | ||
281 | Wed Dec 2 10:25:29 1992 James Clark (jjc at jclark) | |
282 | ||
283 | * tmac/tmac.e (fam): Redefine to set family in environment 2. | |
284 | (@C): Use @fam not fam. | |
285 | ||
286 | Thu Nov 26 16:01:25 1992 James Clark (jjc at jclark) | |
287 | ||
288 | * lookbib/lookbib.cc (main): Change type of start to const char *. | |
289 | * lkbib/lkbib.cc (main): Likewise. | |
290 | ||
291 | * eqn/lex.cc (definition::definition): Don't use member | |
292 | initializer syntax for members of anonymous unions. | |
293 | ||
294 | * troff/input.cc (input_stack::backtrace): Change type of to const | |
295 | char *. | |
296 | ||
297 | Wed Nov 25 13:43:09 1992 James Clark (jjc at jclark) | |
298 | ||
299 | * include/stringclass.h (class string): Declare inline friend | |
300 | functions as inline in class declaration. | |
301 | * troff/hvunits.h (class hunits, class vunits): Likewise. | |
302 | * include/refid.h (class reference_id): Likewise | |
303 | * troff/troff.h (points_to_units(units), scale(units, double)): | |
304 | Delete declarations. | |
305 | * libdriver/input.cc (get_char): Delete declaration. | |
306 | * include/lib.h: Change 2nd argument of getopt from const char ** | |
307 | to char **. | |
308 | * troff/symbol.cc (symbol::symbol): Cast `new char *[n]' to `const | |
309 | char **' before assigning to a `const char **'. | |
310 | * tbl/table.cc: Delete extra declarations of prints(). | |
311 | ||
312 | Tue Nov 24 14:33:13 1992 James Clark (jjc at jclark) | |
313 | ||
314 | * libgroff/font.cc (font::load_desc): Cast `new char *[n]' to `const | |
315 | char **' before assigning to a `const char **'. | |
316 | ||
317 | * libgroff/errarg.cc (errarg::errarg): Don't use member | |
318 | initializer syntax for members of anonymous unions. | |
319 | ||
320 | Sat Nov 21 05:02:23 1992 James Clark (jjc at jclark) | |
321 | ||
322 | * mm: Integrate version 1.07. | |
323 | ||
324 | Tue Nov 17 16:44:27 1992 James Clark (jjc at jclark) | |
325 | ||
326 | * troff/input.c (translate2): Rename to | |
327 | (translate_no_transparent). | |
328 | (init_input_requests): Rename tr2 to trnt. | |
329 | ||
330 | Mon Nov 16 09:49:32 1992 James Clark (jjc at jclark) | |
331 | ||
332 | * troff/charinfo.h (class charinfo): Add transparent_translate field. | |
333 | (charinfo::set_translation, charinfo::set_special_translation): | |
334 | Add second argument that specifies value for | |
335 | transparent_translate. | |
336 | (charinfo::get_translation, charinfo::get_special_translation): | |
337 | Add optional second argument that specifies whether translation is | |
338 | being used for transparent throughput. | |
339 | * troff/input.cc (charinfo::set_translation, | |
340 | charinfo::set_special_translation): Handle second argument. | |
341 | (charinfo::charinfo): Initialize transparent_translate. | |
342 | (translate): Split main part off into | |
343 | (do_translate): New function. Pass argument saying whether | |
344 | translation applies to transparent throughput. | |
345 | (translate2): New request. | |
346 | (init_input_requests): Bind translate2 to `tr2'. | |
347 | ||
348 | Wed Nov 11 11:43:20 1992 James Clark (jjc at jclark) | |
349 | ||
350 | * tbl/table.h (class table): Add `nokeep' flag. | |
351 | * tbl/main.cc (process_options): Handle `nokeep' option. | |
352 | * tbl/table.cc (table::init_output, table::do_row, table::do_top, | |
353 | table::do_bottom): Don't output keep/release macro definitions or | |
354 | calls when `nokeep' option has been specified. | |
355 | ||
356 | Sat Nov 7 01:28:33 1992 James Clark (jjc at jclark) | |
357 | ||
358 | * tmac/tmac.Xps (Xps-char): Use " as delimiter for \Z. | |
359 | ||
360 | Wed Nov 4 16:29:04 1992 James Clark (jjc at jclark) | |
361 | ||
362 | * tbl/table.cc (table_entry::divert, block_entry::do_divert, | |
363 | block_entry::divert, alphabetic_block_entry::divert): Add extra | |
364 | argument giving column separation. | |
365 | (table::compute_widths): Pass column separation to | |
366 | table_entry::divert(). | |
367 | (block_entry::do_divert): If an entry spans multiple columns and a | |
368 | minimumum width has been specified for each column, then set the | |
369 | line length to the sum of the widths (plus possibly the column | |
370 | separations). | |
371 | ||
372 | * troff/input.cc (set_escape_char): Don't set the escape_char | |
373 | until after calling has_arg(). | |
374 | ||
375 | Tue Nov 3 11:23:27 1992 James Clark (jjc at jclark) | |
376 | ||
377 | * tbl/table.cc (table::do_top): Add missing \s0 for double box | |
378 | case. | |
379 | ||
380 | * tbl/table.cc (table::print_double_hline): Avoid extra new line | |
381 | in case where r > nrows - 1. | |
382 | ||
383 | * tbl/table.cc (BODY_HEIGHT): Deleted. | |
384 | (LINE_SEP): New definition. | |
385 | (table::print_single_hline, table::print_double_hline, | |
386 | table::compute_vrule_top_adjust, table::compute_vrule_bot_adjust, | |
387 | table::do_row, table::do_top): Use LINE_SEP space before a line | |
388 | instead of \n[.v]-BODY_HEIGHT-BODY_DEPTH. | |
389 | ||
390 | * tbl/table.cc (text_entry::print_contents): New function. | |
391 | (text_string_name, right_text_string_name): Deleted. | |
392 | (TEXT_STRING, RIGHT_TEXT_STRING): Deleted. | |
393 | (simple_text_entry::do_width, numeric_text_entry::do_width, | |
394 | alphabetic_text_entry::do_width): Don't store the contents of the | |
395 | entry in a string. | |
396 | (left_text_entry::simple_print, right_text_entry::simple_print, | |
397 | center_text_entry::simple_print, | |
398 | alphabetic_text_entry::simple_print, | |
399 | numeric_text_entry::simple_print): Print the entry directly | |
400 | instead of using the stored string. | |
401 | ||
402 | Fri Oct 30 10:39:32 1992 James Clark (jjc at jclark) | |
403 | ||
404 | * devps/Makefile: Strip PostScript files. | |
405 | * devps/prologue: Rename to... | |
406 | * devps/prologue.ps. | |
407 | * devps/psstrip.sed: New file. | |
408 | * devps/download: Use .pfa rather than .ps for installed versions | |
409 | of fonts. | |
410 | ||
411 | Thu Oct 29 09:14:43 1992 James Clark (jjc at jclark) | |
412 | ||
413 | * troff/env.cc (input_trap): Give a warning if the argument is out | |
414 | of range. | |
415 | ||
416 | * troff/env.cc (adjust): Treat negative argument as missing. Round | |
417 | argument > 5 down to 5. | |
418 | ||
419 | * troff/env.cc (center, right_justify): Make negative argument zero. | |
420 | ||
421 | * troff/div.cc (page_offset, vertical_position_traps): Treat | |
422 | invalid argument as missing. | |
423 | * troff/env.cc (line_spacing, line_length, title_length, indent, | |
424 | underline, hyphen_line_max_request, control_char, | |
425 | no_break_control_char, widow_control_request, adjust, input_trap, | |
426 | point_size): Likewise. | |
427 | * troff/node.cc (ligature, kern_request, bold_font, track_kern, | |
428 | constant_space): Likewise. | |
429 | * troff/input.cc (compatible, shift, warn_request, | |
430 | set_escape_char): Likewise. | |
431 | ||
432 | * tbl/main.cc (format::format): Avoid doing `new int[0]'. | |
433 | * tbl/table.cc (table::table): Likewise. | |
434 | ||
435 | * Makefile.dev (install_dev): depends on $(DEVFILES). | |
436 | ||
437 | Wed Oct 28 08:30:57 1992 James Clark (jjc at jclark) | |
438 | ||
439 | * devX75, devX75-12, devX100, devX100-12: New directories. | |
440 | * Makefile.in: Add these to DEVDIRS. | |
441 | ||
442 | * troff/Makefile.sub, eqn/Makefile.sub, indxbib/Makefile.sub, | |
443 | afmtodit/Makefile.sub, tmac/Makefile.sub, nroff/Makefile.sub, | |
444 | grog/Makefile.sub, mm/Makefile.sub (uninstall_sub): New target. | |
445 | * Makefile.in (uninstall, uninstall_sub, uninstall_dirs): New | |
446 | targets. | |
447 | * Makefile.ccpg, Makefile.cpg, Makefile.dev, Makefile.man | |
448 | (uninstall): New target. | |
449 | * Makefile.comm (uninstall, uninstall_sub, uninstall_man, | |
450 | uninstall_prog, uninstall_dev): New targets. | |
451 | ||
452 | * troff/div.cc (return_request): Treat an invalid argument as | |
453 | missing. | |
454 | ||
455 | Mon Oct 26 11:33:47 1992 James Clark (jjc at jclark) | |
456 | ||
457 | * tmac/tmac.e ((f): Set up the environment even when there's a | |
458 | current diversion. Transperently throughput a call to @N. | |
459 | (@N): New macro. | |
460 | ||
461 | Thu Oct 22 05:05:59 1992 James Clark (jjc at jclark) | |
462 | ||
463 | * tbl/table.cc (table::compute_vrule_top_adjust): Round adjustment | |
464 | up to vertical resolution. | |
465 | ||
466 | * tbl/table.cc (table::do_row): Change row number after printing | |
467 | stuff list. | |
468 | ||
469 | * pic/lex.cc (get_token_after_dot): Make .left and .right work. | |
470 | ||
471 | Wed Oct 21 14:46:45 1992 James Clark (jjc at jclark) | |
472 | ||
473 | * Rename CHANGES to NEWS. | |
474 | ||
475 | Tue Oct 20 23:25:21 1992 James Clark (jjc at jclark) | |
476 | ||
477 | * libgroff/new.cc (operator new): Avoid calling malloc(0). | |
478 | ||
479 | Mon Oct 19 09:10:13 1992 James Clark (jjc at jclark) | |
480 | ||
481 | * man.ultrix: Removed. | |
482 | ||
483 | Sun Oct 18 06:35:15 1992 James Clark (jjc at jclark) | |
484 | ||
485 | * Makefile.comm (extraclean): Delete files whose names begin with | |
486 | `='. | |
487 | ||
488 | * pic/troff.cc (troff_output::text): Fix typo in implementation of | |
489 | aligned text. | |
490 | ||
491 | Sat Oct 10 09:32:29 1992 James Clark (jjc at jclark) | |
492 | ||
493 | * troff/env.cc (hyphenate_request, vertical_spacing, no_number): | |
494 | * troff/div.cc (page_length, need_space, space_request): Treat | |
495 | invalid optional argument as missing. | |
496 | * troff/env.cc (number_lines): If the first argument is present | |
497 | but not a number, turn on line numbering, don't change the next | |
498 | line number and parse the remaining arguments. | |
499 | ||
500 | * tmac/tmac.e (@q): Do the `ne' before changing to environment 2. | |
501 | ||
502 | Thu Oct 8 10:24:40 1992 James Clark (jjc at jclark) | |
503 | ||
504 | * eqn/box.h: Change declaration accordingly. | |
505 | * eqn/box.cc (set_gsize): Change return type to int. Return 0 if | |
506 | the specified size was bad but don't give an error. Check for | |
507 | overflow. | |
508 | * eqn/main.cc (main): Change caller. Leave validation to set_gsize. | |
509 | * eqn/lex (do_size): Likewise. | |
510 | ||
511 | Wed Oct 7 09:48:59 1992 James Clark (jjc at jclark) | |
512 | ||
513 | * acgroff.m4 (GROFF_PROG_CCC): Use fopen when checking for C++ | |
514 | compatible headers. | |
515 | ||
516 | Sun Oct 4 18:24:02 1992 James Clark (jjc at jclark) | |
517 | ||
518 | * tbl/table.cc (table::init_output): Improve error message when | |
519 | table won't fit on one page. | |
520 | ||
521 | Fri Oct 2 10:41:40 1992 James Clark (jjc at jclark) | |
522 | ||
523 | * pic/troff.cc (troff_output::start_picture): Generate line | |
524 | containing a horizontal motion equal to the width of the picture. | |
525 | ||
526 | * groff/groff.cc (main): Allow PROG_PREFIX to be set at runtime | |
527 | using GROFF_COMMAND_PREFIX environment variable. | |
528 | ||
529 | Fri Sep 25 11:40:40 1992 James Clark (jjc at jclark) | |
530 | ||
531 | * mdate.sh: Use $NF rather than $(NF). | |
532 | ||
533 | Tue Sep 22 09:47:24 1992 James Clark (jjc at jclark) | |
534 | ||
535 | * pic/main.cc (main): Use %1 not %c in argument to warning. | |
536 | ||
537 | * eqn/main.cc (main): Output code to check that geqn was given the | |
538 | correct -T option. | |
539 | ||
540 | Mon Sep 21 10:59:16 1992 James Clark (jjc at jclark) | |
541 | ||
542 | * Makefile.in (dist): Instead of doing `make -f ../Makefile', do | |
543 | `ln -s ../Makefile .; make; rm -f Makefile'. | |
544 | ||
545 | * troff/hyphen: Rename to... | |
546 | * troff/hyphen.us: | |
547 | * troff/input.cc (main): Delete -H option. Don't call | |
548 | read_hyphen_file(). | |
549 | * troff/env.cc: Include searchpath.h and macropath.h. | |
550 | (exception_dictionary): Deleted. | |
551 | (ht): Deleted. | |
552 | (read_hyphen_file): Deleted. | |
553 | (hyphenation_language): New struct. | |
554 | (class trie, class hyphen_trie): Move declarations up. | |
555 | (trie_node::~trie_node): Deleted. | |
556 | (trie::delete_trie_node): New function. | |
557 | (trie::do_delete): New pure virtual function. | |
558 | (hyphen_trie::do_delete): New function. | |
559 | (trie::~trie): New function. | |
560 | (hyphen_trie::~hyphen_trie): New function. | |
561 | (trie::clear): No need to chcek that tp is not 0. | |
562 | (current_language, language_dictionary): New variables. | |
563 | (hyphen_word): Give an error if no current language. Use | |
564 | exceptions dictionary in current language. | |
565 | (hyphen_trie::read_patterns_file): Find file using macro_path. | |
566 | Allow comments (starting with %) in patterns file. Don't make it | |
567 | a fatal error if the file can't be found. | |
568 | (hyphenate): Return if no current language. Get the exceptions | |
569 | dictionary and the hyphenation patterns from the current language. | |
570 | (set_hyphenation_language): New variable. | |
571 | (hyphenation_patterns_file): New function. | |
572 | (hyphenation_language_reg): New class. | |
573 | (hyphenation_language_reg::get_string): New function. | |
574 | (init_hyphen_requests): Bind "hla" to set_hyphenation_language and | |
575 | "hpf" to hyphenation_patterns_file. Initialize `.hla' number | |
576 | register. | |
577 | * groff/groff.cc (main, help, synopsis): Delete -H option. | |
578 | * include/Makefile.sub: Don't define HYPHENFILE. | |
579 | * Makefile.in: Delete hyphenfile variable and remove from MDEFINES. | |
580 | * Makefile.comm (.man.n): Don't substitute for HYPHENFILE. | |
581 | * tmac/troffrc: Set hyphenation language to `us'. Load `hyphen.us' | |
582 | hyphenation patterns. | |
583 | ||
584 | Sun Sep 20 09:33:02 1992 James Clark (jjc at jclark) | |
585 | ||
586 | * eqn/neqn.sh: New file. | |
587 | * eqn/Makefile.sub: Handle neqn.sh. | |
588 | ||
589 | * eqn/eqn.h: Declare `nroff' variable. | |
590 | * eqn/box.cc (param_table): Add `nroff' param. | |
591 | (nroff): Define it. | |
592 | * eqn/lex.cc (yylex): Handle TDEFINE and NDEFINE using `nroff' | |
593 | variable. | |
594 | * tmac/eqnrc: Set `nroff' to 1 for -Tascii or -Tlatin1. | |
595 | ||
596 | * troff/troff.h (WARN_FONT): New warning. | |
597 | (WARN_TOTAL): Change accordingly. | |
598 | * troff/input.cc (DEFAULT_WARNING_MASK): Include WARN_FONT. | |
599 | (warning_table): Add WARN_FONT. | |
600 | * troff/node.cc (mount_font_no_translate): Pass argument to | |
601 | font::load_font. If this is non-zero, give a warning. | |
602 | Don't give an error message when accessing a font that has already | |
603 | been found to be invalid. | |
604 | * include/font.h (font::load, font::load_font): Add additional | |
605 | optional argument which suppresses error message if the font is | |
606 | not found. | |
607 | * libgroff/font.cc (font::load_font): Handle additional argument. | |
608 | (font::load): Add additional argument. If this is non-null, set it | |
609 | to 1 and don't give error message. | |
610 | ||
611 | * include/printer.h (printer::end_page): Add argument giving | |
612 | length of page. | |
613 | * libdriver/input.cc (do_file): Pass this. | |
614 | * grops/ps.cc (ps_printer::end_page): Add argument. | |
615 | * grodvi/dvi.cc (dvi_printer::end_page, | |
616 | draw_dvi_printer::end_page): Add argument. | |
617 | * grotty/tty.cc (class tty_printer): Remove lines_per_page and | |
618 | columns_per_page members. New member nlines. | |
619 | (DEFAULT_LINES_PER_PAGE): Deleted. | |
620 | (tty_printer::tty_printer): Don't compute lines_per_page from | |
621 | font::paperlength. Don't compute columns_per_page from | |
622 | font::paperwidth. | |
623 | (tty_printer::add_char): Don't check horizontal position against | |
624 | columns_per_page. Grow glyphs vector if neccessary. | |
625 | (tty_printer::end_page): Add argument giving page_length in units. | |
626 | Discard lines past end of page. | |
627 | ||
628 | Wed Sep 16 06:29:52 1992 James Clark (jjc at jclark) | |
629 | ||
630 | * tmac/tmac.tty-char: Fix definition of \(/l. | |
631 | ||
632 | * tmac/tmac.X: Define \(en. | |
633 | ||
634 | Tue Sep 15 10:37:13 1992 James Clark (jjc at jclark) | |
635 | ||
636 | * acgroff.m4 (GROFF_PRINT): If a system has lpr and lp but not | |
637 | lpq, then use lp rather than lpr. | |
638 | ||
639 | * tmac/tmac.s (par@reset): Don't call `ad'. | |
640 | (par*env-init): Call `ad'. | |
641 | ||
642 | Sun Sep 13 18:48:20 1992 James Clark (jjc at jclark) | |
643 | ||
644 | * mdate.sh: Use $(NF) instead of $6 to extract year from output of | |
645 | date. | |
646 | ||
647 | * troff/symbol.cc: #undef BLOCK_SIZE if it's defined. | |
648 | * indxbib/indxbib.cc: Likewise. | |
649 | ||
650 | Sun Sep 6 09:44:46 1992 James Clark (jjc at jclark) | |
651 | ||
652 | * libgroff/putenv.c: New file. | |
653 | * libgroff/Makefile.sub: Add putenv.c to CSRCS. | |
654 | * Makefile.in: Say that putenv.o can be one of LIBOBJS. | |
655 | * configure.in: Test for putenv with AC_REPLACE_FUNCS. Test for | |
656 | stdlib.h with AC_HAVE_HEADERS. | |
657 | ||
658 | Sat Sep 5 18:11:52 1992 James Clark (jjc at jclark) | |
659 | ||
660 | * indxbib/dirnamemax.c: Include <sys/dir.h> only if <dirent.h> | |
661 | does not exist. | |
662 | ||
663 | Fri Sep 4 09:43:26 1992 James Clark (jjc at jclark) | |
664 | ||
665 | * eqn/box.cc (gsize): Make it an int. | |
666 | (set_gsize): Parse argument handling increment or decrement. | |
667 | (box::top_level): Convert gsize to a string. | |
668 | ||
669 | * troff/input.cc (exit_troff): Make buf unsigned char []. | |
670 | Call to make_temp_iterator casts buf to char*. | |
671 | ||
672 | * Makefile.in ($(TARGETS), dot): Pass $(MDEFINES) to recursive makes. | |
673 | ||
674 | * Makefile.ccpg (depend.temp): Depends on $(YTABC). | |
675 | * Makefile.cpg (depend.temp): Likewise. | |
676 | ||
677 | * Makefile.dep: Remove Makefile.dep from $(REALCLEANFILES). | |
678 | ||
679 | * Makefile.comm: Add y.output to MOSTLYCLEANFILES. | |
680 | ||
681 | Thu Sep 3 08:01:55 1992 James Clark (jjc at jclark) | |
682 | ||
683 | * tmac/tmac.s (B, I, BI, CW): Rewrite avoiding aliases. | |
684 | ||
685 | Tue Sep 1 18:24:53 1992 James Clark (jjc at jclark) | |
686 | ||
687 | * Version 1.06 released. | |
688 | ||
689 | * Integrate mm 1.04. | |
690 | ||
691 | Fri Aug 28 11:28:19 1992 James Clark (jjc at jclark) | |
692 | ||
693 | * Makefile.comm, Makefile.ccpg, Makefile.cpg: Fix TAGS target. | |
694 | ||
695 | Thu Aug 27 11:03:33 1992 James Clark (jjc at jclark) | |
696 | ||
697 | * afmtodit/afmtodit.pl: Add -n option that disables generation of | |
698 | ligatures command. | |
699 | * devps/generate/Makefile (CR, CB, CI, CBI): Pass -n flag to | |
700 | afmtodit. Regenerate. | |
701 | ||
702 | * tmac/tmac.e ()z): Adjust _b if necessary so as to avoid moving | |
703 | @f back past the current position. | |
704 | ||
705 | * tmac/tmac.e: Change calls to @R so that comments are not part of | |
706 | arguments. | |
707 | ||
708 | Tue Aug 25 10:42:07 1992 James Clark (jjc at jclark) | |
709 | ||
710 | * configure.in: Check for mkstemp with AC_HAVE_FUNCS. | |
711 | ||
712 | * acgroff.m4 (GROFF_PROG_CCC): Don't check for <osfcn.h>. Instead | |
713 | check that we can link a call to a function declared in <stdio.h>. | |
714 | (GROFF_UNISTD_H): New macro. | |
715 | * configure.in: Call it. | |
716 | * Makefile.in: Document it. | |
717 | * include/posix.h: New file. | |
718 | * troff/troff.h: Don't include <osfcn.h> | |
719 | * troff/input.cc: Include posix.h. | |
720 | * libgroff/new.cc, libgroff/tmpfile.cc: Include posix.h rather than | |
721 | osfcn.h. | |
722 | * indxbib/indxbib.cc, libbib/{search.cc,linear.cc,index.cc}: | |
723 | Include posix.h rather <sys/types.h>, <sys/stat.h>, <osfcn.h>, | |
724 | <fcntl.h>. | |
725 | * indxbib/indxbib.cc (S_IRUSR, S_IRGRP, S_IROTH): Delete definitions. | |
726 | * libbib/index.cc (S_ISREG, O_RDONLY): Delete definitions. | |
727 | * libbib/search.cc (O_RDONLY): Delete definition. | |
728 | * refer/refer.cc, include/driver.h, pic/pic.h, groff/groff.cc: | |
729 | Don't include <osfcn.h>. | |
730 | ||
731 | * acgroff.m4 (GROFF_TIME_T): New macro. | |
732 | * configure.in: Call it. | |
733 | * Makefile.in: Document it. | |
734 | ||
735 | * acgroff.m4 (GROFF_TRADITIONAL_CPP): New macro. | |
736 | * configure.in: Call it. | |
737 | * Makefile.in: Document -DTRADITIONAL_CPP. | |
738 | * include/ptable.h: Don't include generic.h. | |
739 | (name2): Define it. | |
740 | ||
741 | * tmac/tmac.s (][): Make [T1 and [T2 aliases for [T. | |
742 | Afterwards remove [T1 and [T2. | |
743 | (ref*spec!0, ref*spec!2): Use T1 rather than T. | |
744 | (ref*spec!1, ref*spec!4, ref*spec!4): Use T2 rather than T. | |
745 | (ref*add-T2): Renamed from ref*add-T. | |
746 | (ref*add-T1): New macro. | |
747 | ||
748 | Mon Aug 24 11:11:11 1992 James Clark (jjc at jclark) | |
749 | ||
750 | * acgroff.m4 (AC_PROG_CCC): Use GROFF_EXIT rather than exit 1. | |
751 | ||
752 | * libbib/index.cc: Include <fcntl.h>. | |
753 | (O_RDONLY): Define if necessary. | |
754 | (make_index_search_item, index_search_item_iterator::get_tag, | |
755 | index_search_item::check_files): Use O_RDONLY. | |
756 | * libbib/seach.cc: Include <fcntl.h>, <sys/types.h>, <sys/stat.h>. | |
757 | (O_RDONLY): Define if necessary. | |
758 | (search_list::add_file): Use O_RDONLY. | |
759 | * indxbib/indxbib.cc: Include <fcntl.h>, <sys/types.h>, | |
760 | <sys/stat.h>. | |
761 | (S_IRUSR, S_IRGRP, S_IROTH): Define if necessary. | |
762 | (main): Use these. | |
763 | ||
764 | * libbib/index.cc (S_ISREG): Define it if necessary. | |
765 | (index_search_item::load): Use S_ISREG. | |
766 | ||
767 | * include/driver.h: Include <errno.h>. | |
768 | ||
769 | Sun Aug 23 11:32:18 1992 James Clark (jjc at jclark) | |
770 | ||
771 | * eqn/box.cc (body_height): Increase default value to 85. | |
772 | (body_depth): Increase default value to 35. | |
773 | ||
774 | Fri Aug 21 05:34:42 1992 James Clark (jjc at jclark) | |
775 | ||
776 | * eqn/pbox.h (SAVE_FONT_STRING): Define it. | |
777 | * eqn/box.cc (box::top_level): Hide use of \R in a string that is | |
778 | protected from expansion with \E. | |
779 | ||
780 | * acgroff.m4 (GROFF_PAGE): Use `case' to test domain. | |
781 | ||
782 | * Makefile (Makefile): New target. | |
783 | ||
784 | * Makefile.sub (configure, distfiles): New targets. | |
785 | ||
786 | * acgroff.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Avoid using ${var:-val} | |
787 | construct. | |
788 | ||
789 | Thu Aug 20 12:27:26 1992 James Clark (jjc at jclark) | |
790 | ||
791 | * eqn/box.cc (param_table): Add body_height and body_depth. | |
792 | ||
793 | * eqn/lex.cc (def_table): Make circumflex in hat_def roman. | |
794 | ||
795 | Tue Aug 18 16:24:25 1992 James Clark (jjc at jclark) | |
796 | ||
797 | * psbb/Makefile.sub: Don't link with libgroff.a. | |
798 | ||
799 | * acgroff.m4 (GROFF_PUTENV): New macro. | |
800 | * configure.in: Call GROFF_PUTENV. | |
801 | * Makefile.in: Document STDLIB_H_DECLARES_PUTENV. | |
802 | * groff/groff.cc: Don't declare putenv if STDLIB_H_DECLARES_PUTENV | |
803 | is defined. | |
804 | ||
805 | * troff/env.cc (distribute_space): Rename force_forward argument | |
806 | to force_reverse. Reverse the list if force_reverse is true. | |
807 | ||
808 | Mon Aug 17 17:49:05 1992 James Clark (jjc at jclark) | |
809 | ||
810 | * tmac/tmac.an: Don't define a string `T'. Just define Tm. | |
811 | ||
812 | * eqn/pile.cc (matrix_box::compute_metrics): Don't allow computed | |
813 | height or depth to be negative. Guard against SUP_RAISE quantity | |
814 | being negative. | |
815 | ||
816 | Sat Aug 15 08:18:54 1992 James Clark (jjc at jclark) | |
817 | ||
818 | * devps/generate/textmap: Add `an' (arrowhorizex). | |
819 | * tmac/tmac.ps: \(an overlaps horizontally. | |
820 | * tmac/tmac.dvi, tmac/tmac.tty: Add `an'. | |
821 | ||
822 | * devps/symbolchars: Add arrowverttp, arrowvertbt. | |
823 | * devps/textmap: Add arrowvertex. | |
824 | * eqn/delim.cc (delim_table): Add uparrow, downarrow and | |
825 | updownarrow delimiters. | |
826 | * tmac/tmac.ps, tmac/tmac.X: Add definition of \(va. | |
827 | ||
828 | * tbl/table.cc (simple_entry::position_vertically, | |
829 | block_entry::position_vertically): For a centered entry, perform | |
830 | the motion in two stages. | |
831 | ||
832 | * refer/refer.cc (split_punct): Don't call lookup_token if there | |
833 | is no token. | |
834 | ||
835 | Fri Aug 14 11:14:58 1992 James Clark (jjc at jclark) | |
836 | ||
837 | * troff/input.cc (token::next): Delete token_node after copying | |
838 | token. | |
839 | ||
840 | * grodvi/grodvi.cc (dvi_printer::dvi_printer): Initialize | |
841 | cur_point_size. | |
842 | ||
843 | * libdriver/printer.cc (printer::load_font): Delete old_font_table. | |
844 | ||
845 | * grops/ps.cc (ps_printer::define_encoding): Delete elements of vec. | |
846 | ||
847 | Tue Aug 11 13:50:38 1992 James Clark (jjc at jclark) | |
848 | ||
849 | * grops/ps.cc (usage): -b option takes an argument. | |
850 | ||
851 | * devps/prologue (PLG): New procedure. | |
852 | * grops/ps.cc (main, usage): New -g option. | |
853 | (ps_printer::~ps_printer): If guess_flag is set, guess the paper | |
854 | length using PLG. | |
855 | ||
856 | Mon Aug 10 11:17:53 1992 James Clark (jjc at jclark) | |
857 | ||
858 | * include/cset.h: Include <limits.h> if we have it. | |
859 | ||
860 | * libgroff/illegal.cc: New file. | |
861 | * include/lib.h (illegal_input_char): Use table. | |
862 | * troff/input.cc (ESCAPE_RIGHT_PARENTHESIS): Renumber to 0206. | |
863 | * pic/lex.cc (ARG1): Renumber to 14. | |
864 | * eqn/lex.cc (ARG1: Likewise. | |
865 | ||
866 | * troff/Makefile.sub (majorminor.cc): Handle 3 part versions | |
867 | (eg 1.05.90) correctly. | |
868 | ||
869 | Sun Aug 9 13:35:43 1992 James Clark (jjc at jclark) | |
870 | ||
871 | * tmac/tmac.e (sr): Deleted. Set $r and $R directly. | |
872 | Rename $r and $R registers to $v and $V. | |
873 | ($r, $R): Initialize to 0. | |
874 | (@v, @V): New macros. | |
875 | (sz): Call @v. | |
876 | (@M): Call @V. | |
877 | ||
878 | * troff/input.cc (main, usage): Add -R option that says not to | |
879 | load troffrc. | |
880 | * eqn/main.cc (main, usage): Rename -n to -R. | |
881 | ||
882 | Sat Aug 8 00:16:00 1992 James Clark (jjc at jclark) | |
883 | ||
884 | * devps/DESC.in: Leave font positions 5-9 blank. | |
885 | * devdvi/DESC.in: Likewise. | |
886 | ||
887 | * grog/grog.pl: Handle `.PS <file' correctly. | |
888 | ||
889 | * troff/input.cc (input_stack::push): Improve error message when | |
890 | input stack limit exceeded. | |
891 | ||
892 | Fri Aug 7 13:08:16 1992 James Clark (jjc at jclark) | |
893 | ||
894 | * refer/refer.cc (main): Fix typo in handling of `a' option. | |
895 | ||
896 | * refer/refer.cc (do_bib): In state START after a newline remain | |
897 | in state START. | |
898 | ||
899 | * groff/groff.sh: Deleted. | |
900 | * groff/Makefile.sub: Delete handling of groff.sh. | |
901 | ||
902 | * pic/troff.cc (troff_output::text): Test \n(0p rather than \*(.T | |
903 | to determine whether to use \X'ps:...'. | |
904 | * tmac/troffrc: Set 0p register to 0. | |
905 | * tmac/tmac.ps: Set 0p register to 1. | |
906 | ||
907 | * groff/groff.cc: Support -X option. Give warning for -TXps and | |
908 | transform to -X -Tps. Pass troff a -r.X=1 option if -X is used. | |
909 | * tmac/troffrc: Support -r.X=1. | |
910 | ||
911 | * pic/troff.cc (troff_output::dot): Don't test | |
912 | zero_length_line_flag. | |
913 | ||
914 | Thu Aug 6 13:32:08 1992 James Clark (jjc at jclark) | |
915 | ||
916 | * include/lib.h: Declare getopt() and friends unless | |
917 | STDLIB_H_DECLARES_GETOPT is defined. | |
918 | ||
919 | * doc/chars.tr: Delete. | |
920 | * man/groff_char.man: New file. | |
921 | ||
922 | Wed Aug 5 00:38:58 1992 James Clark (jjc at jclark) | |
923 | ||
924 | * tmac/tmac.e (np, bu): Test \n($p with string expression in case | |
925 | user has changed register format. | |
926 | ||
927 | Mon Aug 3 11:22:18 1992 James Clark (jjc at jclark) | |
928 | ||
929 | * groff/groff.cc: Get rid of device_table. Get postprocessor from | |
930 | `postpro' command in DESC file. Get spooler command from `print' | |
931 | command in DESC file. Execute spooler command with /bin/sh. | |
932 | ||
933 | * groff/groff.cc: Split Unix-specific parts into... | |
934 | * groff/pipeline.c: New file. | |
935 | ||
936 | * LICENSE: Delete. | |
937 | * COPYING: New file. | |
938 | * all files: Update copyright notices. | |
939 | ||
940 | * Rearrange files. Redo Makefiles. Use autoconf. | |
941 | ||
942 | Sat Aug 1 09:36:50 1992 James Clark (jjc at jclark) | |
943 | ||
944 | * troff/input.c (charinfo_to_node_list): Interpret character | |
945 | definition with escape_char of `\'. | |
946 | ||
947 | Tue Jul 28 12:20:12 1992 James Clark (jjc at jclark) | |
948 | ||
949 | * lib/strerror.c, lib/iftoa.c, lib/itoa.c: Don't include lib.h. | |
950 | Define INT_DIGITS as big enough for 64-bit integer. | |
951 | * lib/strtol.c: Don't include lib.h. | |
952 | * lib/lib.h: Delete ifdef __cplusplus stuff. | |
953 | ||
954 | Mon Jul 27 11:08:50 1992 James Clark (jjc at jclark) | |
955 | ||
956 | * ps/devps/Makefile: Add DESC to DEVICEFILES. Separate out rule | |
957 | for making DESC. Make $(FONTS) depend on DESC. afmtodit should | |
958 | get DESC from current directory. | |
959 | ||
960 | Sun Jul 26 15:38:26 1992 James Clark (jjc at jclark) | |
961 | ||
962 | * tbl/main.c (main): Always reset the line number when reading | |
963 | from stdin. | |
964 | ||
965 | * tbl/table.c (table::print_single_hline, table::print_double_hline, | |
966 | table::define_bottom_macro, table::do_row, table::do_top): Round | |
967 | vertical spacing up to vertical resolution. | |
968 | ||
969 | Fri Jul 24 14:32:07 1992 James Clark (jjc at jclark) | |
970 | ||
971 | * ps/ps.h (enum resource_type): Avoid comma at end of | |
972 | enumerator-list. | |
973 | * dvi/dvi.c (class dvi_printer): Likewise. | |
974 | * dvi/tfmtodit.c (gf::load): Likewise. | |
975 | * refer/label.y (struct expression): Likewise. | |
976 | * refer/refer.c (class label_processing_state): Likewise. | |
977 | * refer/indxbib.c (do_file): Likewise. | |
978 | * troff/troff.c (enum warning_type): Likewise. | |
979 | * tbl/main.c (process_data): Likewise. | |
980 | * troff/charinfo.h (class charinfo): | |
981 | ||
982 | Wed Jul 22 09:17:58 1992 James Clark (jjc at jclark) | |
983 | ||
984 | * dvi/devdvi/textt.map: Add entry for `-'. Regenerate fonts. | |
985 | ||
986 | Tue Jul 21 11:39:26 1992 James Clark (jjc at jclark) | |
987 | ||
988 | * groff.c: Move to new groff subdirectory. | |
989 | * groff/Makefile: New file. | |
990 | * Makefile: Remove handling of groff.c. Add groff to SUBDIRS. | |
991 | ||
992 | * man/mdate.sh: Use ls -L if supported. | |
993 | ||
994 | * Consolidate all header files produced by gendef into lib/defs.h. | |
995 | * lib/macropath.c, lib/fontfile.c, lib/device.c: Include defs.h. | |
996 | Don't include path.h. | |
997 | * lib/Makefile (path.h): Don't generate. | |
998 | * troff/input.c: Include defs.h. Don't include config.h. | |
999 | * troff/Makefile (config.h): Don't generate. | |
1000 | * refer/index.h: Don't include suffix.h. | |
1001 | * refer/index.c: Include defs.h. | |
1002 | * refer/indxbib.c: Include defs.h. | |
1003 | * refer/refer.h, refer/lkbib.h: Don't include path.h. Include | |
1004 | defs.h. | |
1005 | * refer/Makefile (suffix.h, path.h): Don't generate. | |
1006 | * groff.c: Don't include config.h. Include defs.h. | |
1007 | * Makefile (config.h): Don't generate. | |
1008 | (lib/defs.h): Generate. | |
1009 | (topclean): Remove lib/defs.h. | |
1010 | ||
1011 | Mon Jul 20 10:12:57 1992 James Clark (jjc at jclark) | |
1012 | ||
1013 | * lib/malloc.c, lib/getpagesize.h: Deleted. | |
1014 | * Makefile: Add COOKIE_BUG configuration option. Delete malloc | |
1015 | related stuff. | |
1016 | * lib/Makefile: Delete malloc-related stuff. | |
1017 | * lib/new.c: Workaround COOKIE_BUG if necessary. | |
1018 | ||
1019 | * refer/lkbib.c, refer/indxbib.c: Don't include refer.h. Include | |
1020 | needed header files directly. | |
1021 | * refer/refer.h: Omit definition of DEFAULT_INDEX. | |
1022 | * Makefile: Include definition of DEFAULT_INDEX in path.h. | |
1023 | ||
1024 | Sun Jul 19 10:19:22 1992 James Clark (jjc at jclark) | |
1025 | ||
1026 | * lib/font.c (FONT_COMMAND_HANDLER): Pass command name and single | |
1027 | argument. | |
1028 | * lib/font (font::load_desc, font::load): Don't split argument of | |
1029 | unknown command. | |
1030 | (font::handle_unknown_font_command): Change type. | |
1031 | * ps/ps.c (ps_font::handle_unknown_font_command, | |
1032 | handle_unknown_desc_command): Change type. | |
1033 | * dvi/dvi.c (dvi_font::handle_unknown_font_command): Change type. | |
1034 | ||
1035 | Fri Jul 17 11:12:49 1992 James Clark (jjc at jclark) | |
1036 | ||
1037 | * lib/font.h (font::handle_unknown_font_command): Add file and | |
1038 | line arguments. | |
1039 | * lib/font.c (font::handle_unknown_font_command): | |
1040 | * ps/ps.c (ps_font::handle_unknown_font_command): | |
1041 | * dvi/dvi.c (dvi_font::handle_unknown_font_command): Add file and | |
1042 | lineno arguments. Use _with_file_and_line functions for error | |
1043 | reporting. | |
1044 | ||
1045 | * lib/fontfile.c (font::unknown_desc_command_handler): New static | |
1046 | data member. | |
1047 | * lib/font.c (font::set_unknown_desc_command_handler): New | |
1048 | function. | |
1049 | (font::load_desc): For unknown commands, call | |
1050 | unknown_desc_command_handler if not null. | |
1051 | * lib/font.h (class font): Declare them. | |
1052 | (FONT_COMMAND_HANDLER): New typedef. | |
1053 | * ps/ps.c (handle_unknown_desc_command): New function. | |
1054 | (main): Set bflag if we had a -b option. Call | |
1055 | font::set_unknown_desc_command_handler. | |
1056 | (broken.h): Don't include. | |
1057 | * ps/Makefile: No need for broken.h. Pass BROKEN_SPOOLER_FLAGS to | |
1058 | submake | |
1059 | * ps/devps/Makefile: Add `broken' command to DESC file using | |
1060 | BROKEN_SPOOLER_FLAGS. | |
1061 | ||
1062 | * macros/tmac.e ([, ]): Add as synonyms for { and }. | |
1063 | ||
1064 | * macros/tmac.e ($p): Only exdent if \$3 > 0. | |
1065 | ||
1066 | * macros/tmac.e (@R, @S): New macros. | |
1067 | Declare @, po, $0, $i, $p, df, so, fu, bt, *, ?a, ?b, ?C, ?e, ?H, | |
1068 | ?I, ?n, ?o, ?R, ?s, ?T, ?W, ?w registers with @R. | |
1069 | Declare $H, $[0-9], .. macros with @S. | |
1070 | Declare |0, |1, |2, |3 strings with @S. | |
1071 | ||
1072 | * macros/tmac.e (@S): Rename to @U. | |
1073 | ||
1074 | * macros/tmac.e (@z): Define @b and bp as empty instead of | |
1075 | deleting them, | |
1076 | ||
1077 | * macros/tmac.e (@m): Deleted. | |
1078 | (@h): Don't call @m. | |
1079 | (@z): Don't set @m trap. | |
1080 | ||
1081 | * macros/tmac.e ($h, $f): Define |z as empty string. | |
1082 | ||
1083 | * macros/tmac.e (@D): Rework to avoid unbalanced .el requests. | |
1084 | (@q): Likewise. | |
1085 | ||
1086 | * macros/tmac.e (@h): Set ?H, ?C , ?s registers to 0 rather than | |
1087 | removing them. | |
1088 | ()f): Likewise for * register. | |
1089 | ||
1090 | * macros/tmac.e (sr): Don't ever scale the arguments. If the third | |
1091 | argument is missing, don't change $R. Call sr with three | |
1092 | arguments when initializing. | |
1093 | ||
1094 | Thu Jul 16 12:17:12 1992 James Clark (jjc at jclark) | |
1095 | ||
1096 | * macros/tmac.e (sr): New macro. | |
1097 | Initialize $r and $R using sr. | |
1098 | ||
1099 | * macros/tmac.e (,): Delete \*(#[. | |
1100 | ||
1101 | * troff/env.c (set_tabs): Read the tab type even if the position | |
1102 | is bad. Allow the position of the first tab stop to be negative. | |
1103 | ||
1104 | Wed Jul 15 13:14:37 1992 James Clark (jjc at jclark) | |
1105 | ||
1106 | * refer/dirnamemax.c: Use pathconf() if <unistd.h> defines | |
1107 | _POSIX_VERSION. | |
1108 | * refer/Makefile: Compile dirnamemax.c using -DHAVE_UNISTD_H | |
1109 | rather than -DPATHCONF_MISSING. | |
1110 | * Makefile: Get rid of PATHCONF_MISSING. | |
1111 | ||
1112 | * refer/map.c: New file. | |
1113 | * refer/index.c: Interface to mmap through map.c. Rename map_size | |
1114 | to map_len. | |
1115 | * refer/Makefile: Handle map.c. | |
1116 | * Makefile: Include -DHAVE_MMAP in OLDCFLAGS rather than CFLAGS. | |
1117 | ||
1118 | Tue Jul 14 14:15:20 1992 James Clark (jjc at jclark) | |
1119 | ||
1120 | * Makefile: RANLIB should be `true' if there is no ranlib. | |
1121 | * lib/Makefile (libgroff.a): Simplify. | |
1122 | * driver/Makefile (libdriver.a): Simplify. | |
1123 | ||
1124 | * Makefile: Change -DWAIT_COREDUMP_0200 to -DWCOREFLAG=0200. | |
1125 | * groff.c (WCOREDUMP): Use WCOREFLAG. Define only if not already | |
1126 | defined. | |
1127 | ||
1128 | Sat Jul 11 09:19:17 1992 James Clark (jjc at jclark) | |
1129 | ||
1130 | * troff/env.c (compare_ranges): Declare as extern "C". | |
1131 | ||
1132 | * troff/input.c (init_registers): Use `struct tm' instead of `tm'. | |
1133 | ||
1134 | * macros/tmac.s, macros/tmac.e: Change .nx /dev/null to .nx. | |
1135 | ||
1136 | Wed Jul 8 11:52:27 1992 James Clark (jjc at jclark) | |
1137 | ||
1138 | * pic/troff.c (troff_output::text): Merge in grops_output::text, | |
1139 | but conditionalize use of \X based on \*(.T. | |
1140 | (grops_output::*): Deleted. | |
1141 | * pic/output.h: Delete declaration of make_grops_output. | |
1142 | * pic/main.c (main): Ignore -p and -x. driver_extension_flag is 1 | |
1143 | by default. -n sets it to 0. | |
1144 | (usage): Corresponding changes. | |
1145 | * groff.c (main): Don't pass -x or -p to pic. | |
1146 | * groff.sh: Likewise. | |
1147 | ||
1148 | * ps/ps.c (ps_printer::do_exec, ps_printer::do_file): Force ndefs | |
1149 | to be non-zero. | |
1150 | ||
1151 | * ps/devps/afmtodit: Change calculation of asc_boundary and | |
1152 | desc_boundary. Make these bounds inclusive. | |
1153 | * ps/devps: Regenerate font files. | |
1154 | ||
1155 | Tue Jul 7 13:14:15 1992 James Clark (jjc at jclark) | |
1156 | ||
1157 | * macros/tmac.latin1: New file. | |
1158 | * macros/tmac.tty-char: Use tmac.latin1. | |
1159 | (tmac.tty-tr): Deleted. | |
1160 | * macros/Makefile: Install tmac.latin1. | |
1161 | * macros/tmac.dvi: Use tmac.latin1. | |
1162 | * macros/troffrc: Translate \[char160] onto no-break space here. | |
1163 | * macros/{tmac.dvi,tmac.ps,tmac.tty,tmac.X75}: Don't do it here. | |
1164 | ||
1165 | Mon Jul 6 11:06:52 1992 James Clark (jjc at jclark) | |
1166 | ||
1167 | * macros/tmac.Xps: Use `do' request. | |
1168 | ||
1169 | * macros/tmac.ps: Use `do' request. | |
1170 | ||
1171 | * macros/tmac.e (@C): Use `do' request. | |
1172 | ||
1173 | * macros/tmac.X, macros/tmac.Xps: Moved from xditview. | |
1174 | * macros/Makefile: Install tmac.X*. | |
1175 | ||
1176 | * tty/tmac.tty, tty/tmac.tty-char: Move to macros. | |
1177 | * tty/Makefile: Don't install tmac.tty*. | |
1178 | * macros/Makefile: Install tmac.tty*. | |
1179 | ||
1180 | * dvi/tmac.dvi: Move to macros. | |
1181 | * dvi/Makefile: Don't install tmac.dvi. | |
1182 | * macros/Makefile: Install tmac.dvi. | |
1183 | ||
1184 | * ps/tmac.ps*: Move to macros. | |
1185 | * ps/Makefile: Don't install tmac.ps*. | |
1186 | * macros/Makefile: Install tmac.ps*. | |
1187 | ||
1188 | * eqn/box.c: Provide draw_lines parameter corresponding to -D | |
1189 | option. | |
1190 | * macros/eqnrc: Set draw_lines parameter based on device. | |
1191 | * groff.c: Don't pass -D flag to eqn. | |
1192 | * groff.sh: Likewise. | |
1193 | * eqn/main.c: Warn about use of -D. | |
1194 | ||
1195 | * troff/input.c (process_startup_file): New function. | |
1196 | (main): Call process_startup_file(). | |
1197 | * macros/troffrc: New file. | |
1198 | * macros/Makefile: Install troffrc. | |
1199 | * groff.c (main): Don't pass extra -m option to troff. For a | |
1200 | pseudo device pass the name of the pseudo device to troff using | |
1201 | -d. | |
1202 | * groff.sh: Likewise. | |
1203 | * groff.c (possible_command::prepend_arg): Deleted. | |
1204 | ||
1205 | * troff/input.c (do_request): New function. | |
1206 | (init_input_requests): Bind "do" to do_request. | |
1207 | ||
1208 | * eqn/main.c (main): Instead of loading eqnchar from device directory, | |
1209 | load eqnrc from macro directory. | |
1210 | * macros/eqnrc: New file. | |
1211 | * macros/Makefile: Install eqnrc. | |
1212 | * ps/devps/eqnchar: Deleted. | |
1213 | * ps/devps/Makefile: Don't install eqnchar. | |
1214 | * dvi/devdvi/eqnchar: Deleted. | |
1215 | * dvi/devdvi/Makefile: Don't install eqnchar. | |
1216 | * groff.c (main): Pass -M to eqn. Don't pass -F to eqn. New | |
1217 | variable optM. | |
1218 | ||
1219 | * lib/device.[ch]: New files. | |
1220 | * lib/font.h (font::set_device_name, font::get_device_name): | |
1221 | Deleted. | |
1222 | * lib/fontfile.c: Use device.h. | |
1223 | * lib/Makefile: Handle device.[ch]. Make paths.h define DEVICE. | |
1224 | * troff/input.c: Delete definition of `device'. | |
1225 | (main): Don't initialize device. | |
1226 | * troff/troff.h: Include device.h rather than declaring device. | |
1227 | * troff/Makefile: No need to handle DEVICE. | |
1228 | * driver/input.c: Include device.h. Don't use | |
1229 | font::{set,get}_device_name. | |
1230 | * groff.c, Makefile: Rename device.h to config.h. | |
1231 | * groff.c: Use library device variable. | |
1232 | * eqn/main.c: Use library device variable. | |
1233 | * eqn/Makefile: No need to handle DEVICE. | |
1234 | ||
1235 | * lib/searchpath.[ch]: New files. | |
1236 | * lib/Makefile: Handle searchpath.[ch]. | |
1237 | * troff/input.c (open_file, init_dirs): Deleted. | |
1238 | (macro_dirs): Deleted. | |
1239 | (open_mac_file, macro_source): Use class search_path. | |
1240 | (add_string, struct string_list): Move definition. | |
1241 | (main): Change -M option to use macro_path. Delete call to | |
1242 | init_dirs(). | |
1243 | * lib/fontfile.c (font::command_line_font_dir, font::open_file): | |
1244 | Rewrite to use class search_path. | |
1245 | * lib/font.h, lib/fontfile.c (font::cl_font_dirs): Deleted. | |
1246 | * lib/Makefile: fontfile.c depends on searchpath.h. | |
1247 | * lib/Makefile: Rename fontpath.h to paths.h. Make paths.h define | |
1248 | MACROPATH. | |
1249 | * lib/macropath.[ch]: New files. | |
1250 | * troff/Makefile: No need to handle MACROPATH. | |
1251 | ||
1252 | * troff/input.c: Delete DUMP code. | |
1253 | * lib/fontfile.c, lib/font.h: Delete | |
1254 | font::forget_command_line_font_dirs. | |
1255 | ||
1256 | * troff/input.c (push_token): New function. | |
1257 | (handle_first_page_transition): Use push_token(). | |
1258 | (process_input_stack): Change handling of a space at the beginning | |
1259 | of the line. | |
1260 | ||
1261 | Sun Jul 5 17:11:09 1992 James Clark (jjc at jclark) | |
1262 | ||
1263 | * troff/input.c (font_dirs): Delete unused variable. | |
1264 | ||
1265 | * eqn/lex.c (do_set): Correct error messages. | |
1266 | ||
1267 | Sat Jul 4 10:20:55 1992 James Clark (jjc at jclark) | |
1268 | ||
1269 | * troff/input.c (do_define_string): Allow the string name to be | |
1270 | followed immediately by a tab. | |
1271 | (define_character): Likewise. | |
1272 | ||
1273 | Thu Jul 2 10:59:15 1992 James Clark (jjc at jclark) | |
1274 | ||
1275 | * ps/ps.c (ps_printer::draw): When drawing an arc, don't allow k to | |
1276 | be negative. | |
1277 | ||
1278 | * troff/input.c (input_iterator::is_file): New virtual function. | |
1279 | (file_iterator::is_file): New function. | |
1280 | (input_stack::end_file): New function. | |
1281 | (input_stack::next_file): Handle the situation where there is no | |
1282 | file on the input stack correctly. Avoid making two passes over | |
1283 | the input stack. | |
1284 | (next_file): Make the filename optional; in this case call | |
1285 | input_stack::end_file(). | |
1286 | ||
1287 | Wed Jul 1 10:17:25 1992 James Clark (jjc at jclark) | |
1288 | ||
1289 | * dvi/tmac.dvi: Change the definitions of \(ul and _ so that they | |
1290 | produce a real _ charater when the current font is CW and _ | |
1291 | otherwise. | |
1292 | ||
1293 | * lib/errarg.c (errarg::errarg(const char *)): Invert conditional | |
1294 | expression to work around gcc 2.2 bug. | |
1295 | ||
1296 | Wed Jun 24 08:12:24 1992 James Clark (jjc at jclark) | |
1297 | ||
1298 | * eqn/main.c (main): Don't give an error if we can't find eqnchar. | |
1299 | ||
1300 | * troff/env.c (environment::add_padding): New function. | |
1301 | (environment::add_char): Use add_padding(). | |
1302 | (environment::space): Likewise. | |
1303 | (environment::wrap_up_field): Add some padding if there is none | |
1304 | and there's no current tab. | |
1305 | * troff/env.h: Declare environment::add_padding. | |
1306 | ||
1307 | Mon Jun 22 08:37:45 1992 James Clark (jjc@jclark) | |
1308 | ||
1309 | * pic/pic.y: undef fmod and rand before declaring them. | |
1310 | ||
1311 | Sun Jun 14 11:40:18 1992 James Clark (jjc@jclark) | |
1312 | ||
1313 | * troff/input.c (main): If the DESC file specifies a font name of | |
1314 | 0, then leave the corresponding font position empty. | |
1315 | ||
1316 | * nroff.sh: New file. | |
1317 | * Makefile (install.nobin): Install nroff.sh. | |
1318 | ||
1319 | * tty/devlatin1/R.proto: Add ao as synonym for de. | |
1320 | * tty/tmac.tty-char: Define ao as o. | |
1321 | ||
1322 | * tty/dev{ascii,latin1}/R.proto: Add aq. | |
1323 | * tty/tmac.tty-char: Delete definition of aq. | |
1324 | ||
1325 | Mon Jun 8 11:43:20 1992 James Clark (jjc@jclark) | |
1326 | ||
1327 | * troff/input.c (init_charset_table): Don't translate 0240. | |
1328 | * ps/tmac.ps: Translate char160 to space. | |
1329 | * dvi/tmac.dvi: Likewise. | |
1330 | * tty/tmac.tty: Likewise. | |
1331 | ||
1332 | Sun Jun 7 10:52:35 1992 James Clark (jjc@jclark) | |
1333 | ||
1334 | * dvi/tmac.dvi: Add support for all Latin-1 characters. | |
1335 | ||
1336 | * macros/tmac.s: Delete definitions of \(rg, \(ah, \(ad, \(a-, | |
1337 | \(ao, \(ac, \(ho, \(-D, \(Sd, \(TP, \(Tp, \(ss, \(AE, \(ae, \(OE, | |
1338 | \(oe, \(r?, \(r!. | |
1339 | ||
1340 | * tty/tmac.tty-char: Add \(ah. | |
1341 | ||
1342 | * dvi/tmac.dvi: Add definitions of Tp, TP, Sd, -D, ho. | |
1343 | No need to define \(FM and \(!/. Conditionalize all character | |
1344 | definitions. | |
1345 | ||
1346 | * ps/devps/lgreekmap: Add +h, +f, +p. | |
1347 | ||
1348 | * ps/tmac.psnew: New file. | |
1349 | * ps/Makefile: Install tmac.psnew. | |
1350 | ||
1351 | * troff/input.c (charinfo_to_node_list): Don't ever interpret | |
1352 | character definitions in compatible mode. | |
1353 | ||
1354 | * troff/input.c (remove_character): New function. | |
1355 | (init_input_requests): Bind remove_character to "rchar". | |
1356 | ||
1357 | * ps/tmac.psold: New file. | |
1358 | * ps/Makefile: Install tmac.psold. | |
1359 | * ps/tmac.ps: Load tmac.psold. Move definitions of ISO Latin-1 | |
1360 | characters into tmac.psold. Make these definitions unconditional. | |
1361 | ||
1362 | * tty/tmac.tty-char: Define \n(_C only if it is not already defined. | |
1363 | ||
1364 | * ps/tmac.ps: Don't define \('c and \('C. | |
1365 | ||
1366 | * ps/devps/textmap: Move Greek characters to... | |
1367 | * ps/devps/symbolchars: | |
1368 | ||
1369 | Sat Jun 6 16:41:17 1992 James Clark (jjc@jclark) | |
1370 | ||
1371 | * ps/devps/text.enc: Add quotesingle. | |
1372 | * ps/devps/textmap: Add +h, +f, +p, Fn, Bq, bq, aq, lz. | |
1373 | * tty/tmac.tty-char: Likewise. | |
1374 | * dvi/devdvi/texmi.map: Add +h, +f, +p. | |
1375 | * dvi/devdvi/texi.map: Add Fn. | |
1376 | * dvi/devdvi/msam.map: Add lz. | |
1377 | * dvi/tmac.dvi: Handle Bq, bq, aq. | |
1378 | ||
1379 | * pic/lex.c (get_token): Recognize 'th. | |
1380 | * pic/map.y: Allow `expr'th in contexts where ORDINAL was allowed. | |
1381 | ||
1382 | Fri Jun 5 11:20:46 1992 James Clark (jjc@jclark) | |
1383 | ||
1384 | * ps/devps/textmap: Move di, mu, +- to... | |
1385 | * ps/devps/symbolchars: | |
1386 | ||
1387 | * macros/tmac.s (@XS): Don't call par@reset or fi. | |
1388 | (XA): Call LP. Turn off adjustment. Reduce line length. | |
1389 | ||
1390 | * macros/tmac.s: Initially alias XS to LP. | |
1391 | (XS): Rename to @XS. | |
1392 | (cov*ab-init): Alias XS to @XS. | |
1393 | ||
1394 | Thu Jun 4 09:12:05 1992 James Clark (jjc@jclark) | |
1395 | ||
1396 | * troff/token.h: Delete TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT, | |
1397 | TOKEN_FONT_NAME, TOKEN_FONT_POSITION, TOKEN_SIZE tokens. | |
1398 | (token::is_size, token::changes_env): Deleted. | |
1399 | * troff/number.c (parse_term): No need to process \s explicitly. | |
1400 | Call tok.next() only after scale indicator has been processed. | |
1401 | * troff/input.c (do_overstrike, do_bracket): No need to process \s, | |
1402 | \f etc explicitly. | |
1403 | (token::next): Handle \s, \f, \S, \H immediately rather than | |
1404 | returning them as tokens. | |
1405 | (token::operator==, token::description, token::add_to_node_list, | |
1406 | token::process): Remove handling of deleted tokens. | |
1407 | ||
1408 | * troff/env.c (environment::add_char): When adding padding | |
1409 | indicator character, call start_line() if necessary. | |
1410 | ||
1411 | Wed Jun 3 09:55:50 1992 James Clark (jjc@jclark) | |
1412 | ||
1413 | * ps/devps/afmtodit: Don't output 0 kerns. | |
1414 | ||
1415 | * ps/devps/afmtodit: Remove directory from name of encoding in | |
1416 | font description file. | |
1417 | ||
1418 | * ps/devps/afmtodit: Improve error messages. | |
1419 | ||
1420 | * ps/devps/afmtodit: Allow DESC file to be specified with -d. | |
1421 | ||
1422 | * ps/devps/Makefile: Incorporate FontMakefile. Rework. | |
1423 | * ps/devps/FontMakefile: Deleted. | |
1424 | * ps/devps/afmname: New file. | |
1425 | ||
1426 | * ps/devps/symbol.sed: New file. | |
1427 | * ps/devps/symbol.diff: Deleted. | |
1428 | * ps/devps/FontMakefile: Generate symbol.afm using symbol.sed. | |
1429 | Generate zapfdr.afm from zapfd.afm. | |
1430 | ||
1431 | * tty/tmac.tty (tty-char): Prefix definition with ". | |
1432 | ||
1433 | * macros/tmac.an (TP): Don't start a diversion if one has already | |
1434 | been started. | |
1435 | ||
1436 | * tty/tmac.tty-char: Add Latin-1 characters. | |
1437 | ||
1438 | * tty/tmac.tty-char: Incorporate suggestions from Paul Eggert. | |
1439 | ||
1440 | Tue Jun 2 00:54:34 1992 James Clark (jjc@jclark) | |
1441 | ||
1442 | * tbl/table.c (table::allocate): Delete old_vline, old_entry. | |
1443 | Move declaration of struct horizontal_span. | |
1444 | ||
1445 | * tbl/table.c (table::table): Initialize span_list. | |
1446 | (table::~table): Delete span_list. | |
1447 | ||
1448 | * lib/ptable.h (PTABLE(T)::~PTABLE(T)): Delete v. | |
1449 | ||
1450 | * ps/devps/Makefile: Avoid dependency on GNU make. | |
1451 | ||
1452 | * ps/tmac.ps: Check that character does not already exist before | |
1453 | defining it. | |
1454 | ||
1455 | * tty/tmac.tty: Add definitions of \(ff, \(!=, \(==, \(~=, \(sq, | |
1456 | \(OE, \(oe, \(AE, \(ae, \(lh, \(rh. Delete definitions of \(en, | |
1457 | \(ru, \(ul, \(br, \(bv, \(sl which are in the font description | |
1458 | files. | |
1459 | ||
1460 | * tty/tmac.tty-char: New file. | |
1461 | * tty/Makefile: Install tmac.tty-char. | |
1462 | * tty/tmac.tty: Move definitions of \(ua, \(da, \(uA, \(dA into | |
1463 | tmac.tty-char. | |
1464 | ||
1465 | * tty/tmac.tty: Fix definition of \(34. | |
1466 | ||
1467 | * tty/dev{ascii,latin1}/R.proto: Add ha and ti. Map | |
1468 | bracket-drawing characters onto |. Add *o. | |
1469 | ||
1470 | * troff/env.c (environment::wrap_up_tab): Increment field_spaces | |
1471 | only if current_field. | |
1472 | ||
1473 | * troff/dictionary.c (dictionary::lookup): Free old_table after | |
1474 | rehashing. | |
1475 | ||
1476 | Mon Jun 1 10:15:22 1992 James Clark (jjc@jclark) | |
1477 | ||
1478 | * tty/dev{ascii,latin1}/R.proto: Add uppercase Greek characters | |
1479 | whose glyphs are identical to glyphs of some Roman character. | |
1480 | ||
1481 | * tty/devlatin1/R.proto (bu): Deleted. | |
1482 | * tty/devascii/R.proto (bu): Deleted. | |
1483 | * tty/tmac.tty: Add definition of \(bu. | |
1484 | ||
1485 | * eqn/main.c (do_file): Pass FILE as argument. | |
1486 | (main): Automatically load eqnchar. New options -F and -n. | |
1487 | Pass do_file an opened FILE. | |
1488 | * groff.c: Don't pass eqnchar to eqn. Pass -F options onto eqn. | |
1489 | No need to include font.h. | |
1490 | * groff.sh: Likewise. Don't need to use - for standard input. | |
1491 | Prefix files with -- if first file starts with -. | |
1492 | ||
1493 | * macros/tmac.e: Conditionalize use of \$* on \n(.g. | |
1494 | ||
1495 | * troff/env.c (environment::possibly_break_line): Don't set line | |
1496 | to 0 across call to output_line(). Don't call output_line() until | |
1497 | after discarding nodes after break. | |
1498 | ||
1499 | Sun May 31 10:45:29 1992 James Clark (jjc@jclark) | |
1500 | ||
1501 | * request.h (macro::empty): Declare it. | |
1502 | * input.c (macro::empty): New method. | |
1503 | (interpolate_macro): Don't give a WARN_SPACE if the two-character | |
1504 | macro is empty. | |
1505 | ||
1506 | Sat May 30 10:27:15 1992 James Clark (jjc@jclark) | |
1507 | ||
1508 | * troff/env.c (environment::start_field): Decrement space_total | |
1509 | when a space is frozen. | |
1510 | ||
1511 | Fri May 22 14:34:38 1992 James Clark (jjc@jclark) | |
1512 | ||
1513 | * macros/tmac.an (R): Delete macro. | |
1514 | ||
1515 | * troff/input.c (get_copy, token::next): Support \# (like \" but | |
1516 | newline is ignored). | |
1517 | ||
1518 | * troff/input.c (token::next): Fix error message in 'Y' case. | |
1519 | ||
1520 | Thu May 21 09:26:24 1992 James Clark (jjc@jclark) | |
1521 | ||
1522 | * eqn/delim.c (define_extensible_string): Recognize any prefix of | |
1523 | a delimiter name. | |
1524 | ||
1525 | Fri May 15 10:20:41 1992 James Clark (jjc at jclark) | |
1526 | ||
1527 | * c++test.c: Include <osfcn.h>. | |
1528 | ||
1529 | * lib/strtol.c, lib/getcwd.c, ps/psbb.c: Declare errno in case | |
1530 | <errno.h> doesn't. | |
1531 | ||
1532 | Fri May 8 09:37:19 1992 James Clark (jjc at jclark) | |
1533 | ||
1534 | * tbl/table.c (table::divide_span): Don't count column separation | |
1535 | if expand was specified. | |
1536 | ||
1537 | * tbl/main.c (process_format): Don't ignore width specs in | |
1538 | continued format. Give warning for changing equal widths or | |
1539 | column separation in continued format. | |
1540 | (process_data): Set column separation, minimum width, equal | |
1541 | columns at end of table. | |
1542 | ||
1543 | Thu May 7 08:50:40 1992 James Clark (jjc at jclark) | |
1544 | ||
1545 | * troff/node.c (kern_pair_node::add_discretionary_hyphen, | |
1546 | node::add_discretionary_hyphen): Use soft_hyphen_char. | |
1547 | (set_soft_hyphen_char): New function. | |
1548 | (init_node_requests): Bind to shc. Initialize soft_hyphen_char. | |
1549 | ||
1550 | * Makefile (c++tested): Give more helpful message if test fails. | |
1551 | ||
1552 | Tue May 5 10:58:39 1992 James Clark (jjc at jclark) | |
1553 | ||
1554 | * troff/input.c (init_charset_table): Translate 0240 to | |
1555 | an unbreakable space. | |
1556 | ||
1557 | * troff/token.h (token::hyphen_indicator): New function. | |
1558 | * troff/charinfo.h (TRANSLATE_HYPHEN_INDICATOR): New special | |
1559 | translation. | |
1560 | * troff/input.c (translate): Allow translation to \%. | |
1561 | * troff/node.c (node::add_char): Handle | |
1562 | TRANSLATE_HYPHEN_INDICATOR. | |
1563 | (make_node): Don't allow TRANSLATE_HYPHEN_INDICATOR here. | |
1564 | ||
1565 | * troff/input.c (init_charset_table): Don't set BREAK_AFTER flag | |
1566 | for \(hy. | |
1567 | ||
1568 | * tty/devlatin1/R.proto: \(hy and - should print as 055. | |
1569 | ||
1570 | Tue Apr 21 09:24:42 1992 James Clark (jjc at jclark) | |
1571 | ||
1572 | * groff.c (run_commands): If the last command gets a SIGPIPE send | |
1573 | a SIGPIPE to all children than haven't yet terminated. When | |
1574 | command terminates, set pid field to -1. | |
1575 | ||
1576 | Fri Apr 17 11:20:48 1992 James Clark (jjc at jclark) | |
1577 | ||
1578 | * groff.c (main): Pass an appropriate -filename option to gxditview. | |
1579 | ||
1580 | Thu Apr 16 15:11:40 1992 James Clark (jjc at jclark) | |
1581 | ||
1582 | * Makefile.bd (install): Remove existing program before copying. | |
1583 | ||
1584 | * Makefile, */Makefile, Makefile.bd, groff.sh, groff.c: Allow | |
1585 | programs which have Unix counterparts to be installed with | |
1586 | user-specified prefix. | |
1587 | ||
1588 | * troff/input.c (exit_troff): Don't check if exit_started. | |
1589 | (exit_request): Don't call exit_troff if exit_started. | |
1590 | ||
1591 | * Makefile.bd (install.mm): Rename to install.dwbmm. | |
1592 | ||
1593 | Tue Apr 14 10:05:10 1992 James Clark (jjc at jclark) | |
1594 | ||
1595 | * driver/input.c (do_file): Add missing break for '#' case. | |
1596 | ||
1597 | Mon Apr 13 10:11:02 1992 James Clark (jjc at jclark) | |
1598 | ||
1599 | * troff/input.c (input_stack::clear): Clear past any boundaries and | |
1600 | then add the boundaries back. | |
1601 | ||
1602 | * troff/input.c (exit_troff): Return immediately if already | |
1603 | exiting. | |
1604 | ||
1605 | * macros/tmac.s (pg@end-text): New macro. Use pg@end-text for the | |
1606 | end macro. | |
1607 | (pg*end-page): If the text has ended and there are no more | |
1608 | footnotes or keeps, exit. | |
1609 | ||
1610 | * macros/doc-ditroff (Lq, Rq): Define as \(lq and \(rq. | |
1611 | ||
1612 | * troff/input.c (init_charset_table): Make \(rq transparent by | |
1613 | default. | |
1614 | ||
1615 | * macros/tmac.an: Define lq and rq strings. | |
1616 | ||
1617 | * macros/tmac.s (Q, U): Define as \(lq and \(rq. | |
1618 | ||
1619 | Sun Apr 12 12:54:37 1992 James Clark (jjc at jclark) | |
1620 | ||
1621 | * troff/env.c (environment::final_break): New function. | |
1622 | (environment::newline): Set prev_line_interrupted to 2 if | |
1623 | exit_started. | |
1624 | * troff/env.h: Declare environment::final_break. | |
1625 | * troff/input.c (exit_troff): Call environment::final_break() | |
1626 | instead of environment::do_break(). | |
1627 | ||
1628 | * macros/Makefile: Install man.local if $(MACRODIR)/man.local | |
1629 | doesn't already exist. | |
1630 | * macros/man.local: New file. | |
1631 | * macros/tmac.an: Load man.local. | |
1632 | * macros/man.ultrix: New file. | |
1633 | ||
1634 | Sat Apr 11 17:32:04 1992 James Clark (jjc at jclark) | |
1635 | ||
1636 | * troff/input.c (exit_groff): Rename to... | |
1637 | (exit_troff): New function. | |
1638 | ||
1639 | * troff/div.c (exit_started, done_end_macro, | |
1640 | seen_last_page_ejector): New global variables. | |
1641 | (began_page_in_end_macro): New static variable. | |
1642 | (exit_flag): Deleted. | |
1643 | (top_level_diversion::top_level_diversion): Initialize | |
1644 | last_page_count. | |
1645 | (top_level_diversion): More elaborate test for whether | |
1646 | cleanup_and_exit() should be called. | |
1647 | Set began_page_in_end_macro if the end macro isn't yet finished. | |
1648 | * troff/div.h (top_level_diversion::last_page_count): New data | |
1649 | member. | |
1650 | (top_level_diversion::set_last_page): New function. | |
1651 | (exit_started, done_end_macro, seen_last_page_ejector): Declare. | |
1652 | * troff/env.c (do_break): Zero prev_line_interrupted. | |
1653 | * troff/input.c (exit_flag): Delete declaration. | |
1654 | (LAST_PAGE_EJECTOR): New magic cookie. | |
1655 | (token::next): Handle LAST_PAGE_EJECTOR. | |
1656 | (exit_groff): Set exit_started and done_end_macro instead of | |
1657 | exit_flag. Call top_level_diversion::set_last_page. Push a | |
1658 | LAST_PAGE_EJECTOR instead of calling push_page_ejector(). Do | |
1659 | another ejection after setting seen_last_page_ejector. | |
1660 | ||
1661 | Thu Apr 9 04:37:11 1992 James Clark (jjc at jclark) | |
1662 | ||
1663 | * etc/grog.sh, etc/grog.sh: Recognize -me sh macro. | |
1664 | ||
1665 | * macros/tmac.e (TH): Make sure there's room for the initial | |
1666 | header. | |
1667 | ||
1668 | * macros/tmac.s (par@init): Make PD and DD at least \n(.V. | |
1669 | Set FVS in points rather than units. | |
1670 | ||
1671 | Mon Apr 6 11:21:32 1992 James Clark (jjc at jclark) | |
1672 | ||
1673 | * troff/div.c (top_level_diversion::add_trap): Don't consider the | |
1674 | position of empty slots. | |
1675 | ||
1676 | Fri Apr 3 10:46:45 1992 James Clark (jjc at jclark) | |
1677 | ||
1678 | * ps/devps/S: Fix height and depth of parenrightex. | |
1679 | * ps/devps/symbol.diff: Regenerate. | |
1680 | ||
1681 | Sat Mar 28 21:17:52 1992 James Clark (jjc at jclark) | |
1682 | ||
1683 | * tmac.e (u): Do underlining as in -mgs. | |
1684 | ||
1685 | Fri Mar 27 09:23:44 1992 James Clark (jjc at jclark) | |
1686 | ||
1687 | * tty/tty.c (tty_printer::end_page): If overstriking is | |
1688 | suppressed, still turn overstruck horizontal and vertical lines | |
1689 | into +. | |
1690 | ||
1691 | * lib/new.c: Back out Feb 24 change; no longer needed with gcc | |
1692 | 2.1. | |
1693 | ||
1694 | * refer/label.y (format_expr::evaluate): Avoid use of %0*d. | |
1695 | ||
1696 | Wed Mar 18 09:29:10 1992 James Clark (jjc at jclark) | |
1697 | ||
1698 | * Version 1.05 released. | |
1699 | ||
1700 | Tue Mar 17 16:50:45 1992 James Clark (jjc at jclark) | |
1701 | ||
1702 | * tty/tty.c: Instead of keeping an array of glyphs and then | |
1703 | sorting it, keep a ordered linked list of glyphs for each line. | |
1704 | ||
1705 | * driver/driver.h: Include stddef.h. | |
1706 | ||
1707 | * tty/tty.c (compare_glyph): | |
1708 | * refer/refer.c (rcompare): | |
1709 | * troff/env.c (compare_ranges): Arguments of qsort comparison | |
1710 | function should be const void *. | |
1711 | ||
1712 | * troff/number.c (parse_term): | |
1713 | * dvi/dvi.c (draw_dvi_printer::draw): Avoid initialization in | |
1714 | switch statement. | |
1715 | ||
1716 | * refer/label.y (consider_authors): Don't access variables | |
1717 | constructed under a condition outside that condition: put braces | |
1718 | round for statement containing declaration; redeclare use of same | |
1719 | variable later. | |
1720 | ||
1721 | * pic/pic.y (text_expr): Delete production that allows | |
1722 | parenthesised text_expr. | |
1723 | (expr): Allow a conditional_expr to appear in parentheses. | |
1724 | (conditional_expr): Rename to any_expr. | |
1725 | ||
1726 | * mm: Install new version 1.01 from jh. | |
1727 | ||
1728 | * lib/font.c (font::get_width): Cache scaled widths. | |
1729 | (font::font): Initialize widths_cache. | |
1730 | (font::~font): Destroy widths_cache. | |
1731 | * lib/font.h: Add font::widths_cache. Declare font_widths_cache. | |
1732 | ||
1733 | Mon Mar 16 10:16:10 1992 James Clark (jjc at jclark) | |
1734 | ||
1735 | * c++test.c, c++test.ref: New files. | |
1736 | * Makefile: Check that the C++ compiler works. | |
1737 | ||
1738 | * ps/tmac.pspic (PSPIC): Do a break. | |
1739 | ||
1740 | * ps/tmac.ps: Move definition of PSPIC into... | |
1741 | * ps/tmac.pspic: New file. | |
1742 | (PSPIC): Draw box around picture, but make it invisible to grops. | |
1743 | * ps/tmac.ps: Load tmac.pspic. | |
1744 | * ps/Makefile: Install tmac.pspic. | |
1745 | ||
1746 | Sun Mar 15 14:18:08 1992 James Clark (jjc at jclark) | |
1747 | ||
1748 | * lib/font.c (scale_round): If n is negative, | |
1749 | subtract .5 before truncating floating point result. | |
1750 | ||
1751 | * lib/fontfile.c: Include <errno.h>. | |
1752 | ||
1753 | Tue Mar 10 14:17:03 1992 James Clark (jjc at jclark) | |
1754 | ||
1755 | * driver/input.c (get_char): Inline. Don't update current_lineno. | |
1756 | Change callers to up date current_lineno if necessary. | |
1757 | Use get_char() instead of getc(current_file). | |
1758 | ||
1759 | Sun Mar 8 18:05:28 1992 James Clark (jjc at jclark) | |
1760 | ||
1761 | * ps/tmac.ps: Fix up spacing of \(mo and \(nm. | |
1762 | ||
1763 | Fri Mar 6 19:38:58 1992 James Clark (jjc at jclark) | |
1764 | ||
1765 | * tty/tty.c (tmac.tty): Define \(rg as (R). | |
1766 | ||
1767 | Tue Mar 3 10:11:25 1992 James Clark (jjc at jclark) | |
1768 | ||
1769 | * lib/lib.h: New define a_delete. | |
1770 | * Use a_delete instead of delete when deleting an array of objects | |
1771 | without destructors. | |
1772 | ||
1773 | * lib/lib.h: Rename adelete to ad_delete. | |
1774 | * Change uses of adelete. | |
1775 | ||
1776 | Mon Mar 2 12:41:05 1992 James Clark (jjc at jclark) | |
1777 | ||
1778 | * eqn/eqn.y: Include lib.h. | |
1779 | ||
1780 | * troff/node.c (grow_font_table): Delete old_font_table. | |
1781 | ||
1782 | * mm: Install new version from jh. | |
1783 | ||
1784 | Fri Feb 28 10:42:23 1992 James Clark (jjc at jclark) | |
1785 | ||
1786 | * tbl/table.h (format_type): Make global instead of local to class | |
1787 | entry_format. Prefix enumerators with FORMAT_. | |
1788 | * tbl/table.c, tbl/main.c: Corresponding changes. | |
1789 | * refer/token.h (token_type): Make global. Prefix enumerators | |
1790 | with TOKEN_. | |
1791 | * refer/token.[ch]: Corresponding changes. | |
1792 | * Makefile: Get rid of -DNO_NESTED_TYPES configuration option. | |
1793 | ||
1794 | * troff/div.c (node::set_vertical_size): Don't name argument. | |
1795 | ||
1796 | Thu Feb 27 10:29:19 1992 James Clark (jjc at jclark) | |
1797 | ||
1798 | * Makefile: New configuration option ARRAY_DELETE_NEEDS_SIZE. | |
1799 | * lib/lib.h: Define adelete accordingly. | |
1800 | * pic/object.c (graphic_object::graphic_object): | |
1801 | * tbl/main.c (format::~format): | |
1802 | * tbl/table.c (table::~table): | |
1803 | * refer/ref.c (reference::~reference, reference::merge, | |
1804 | reference::insert_field, reference::delete_field): Use adelete. | |
1805 | ||
1806 | * Makefile: Change NESTED_TYPES to NO_NESTED_TYPES. | |
1807 | * refer/token.h: | |
1808 | * tbl/table.h: Corresponding changes. | |
1809 | ||
1810 | * common.c (common_output::dashed_arc, common_output::dotted_arc): | |
1811 | Ensure total_angle is positive. | |
1812 | ||
1813 | Wed Feb 26 08:49:26 1992 James Clark (jjc at jclark) | |
1814 | ||
1815 | * refer/ref.c (reference::merge, reference::insert_field, | |
1816 | reference::delete_field): Avoid delete[0]. | |
1817 | ||
1818 | * refer/token.c (init_special_chars): Move calls to cmupper | |
1819 | outside calls to init_two_char_letter to work around bug in gcc | |
1820 | 2.0. | |
1821 | ||
1822 | Mon Feb 24 14:20:00 1992 James Clark (jjc at jclark) | |
1823 | ||
1824 | * lib/new.c (operator new): Use __builtin_new for g++. | |
1825 | ||
1826 | * pic/object.c (graphic_object::~graphic_object): Don't use | |
1827 | delete [] on 0. | |
1828 | ||
1829 | * pic/object.c (output::compute_scale): Initialize max_width and | |
1830 | max_height. | |
1831 | ||
1832 | Sat Feb 15 09:55:20 1992 James Clark (jjc at jclark) | |
1833 | ||
1834 | * troff/input.c (write_request): Call fflush. | |
1835 | ||
1836 | * troff/node.h (class composite_node): Move declaration to node.c | |
1837 | * troff/input.c (charinfo_to_node): Rename to ... | |
1838 | (charinfo_to_node_list): Return node list rather than composite | |
1839 | node. | |
1840 | * troff/node.c (make_composite_node): New function. | |
1841 | (make_node, add_char): Call make_composite_node instead of | |
1842 | charinfo_to_node. | |
1843 | (class composite_node): Add a tfont * member. Delete font_size | |
1844 | member. | |
1845 | (composite_node::composite_node, composite_node::copy, | |
1846 | composite_node::size): Corresponding changes. | |
1847 | (composite_node::tprint): Provide constant spacing, emboldening | |
1848 | and track kerning as specified in tfont. | |
1849 | (composite_node::width): Change width calculation accordingly. | |
1850 | * troff/env.h (environment::composite): New member. | |
1851 | (environment::is_composite, environment::set_composite): New | |
1852 | functions. | |
1853 | * troff/env.c (environment::environment): Initialize composite. | |
1854 | * troff/input.c (charinfo_to_node): Call | |
1855 | environment::set_composite. | |
1856 | * troff/node.c (make_composite_node, make_glyph_node): Use the | |
1857 | plain version of the tfont if the environment is composite. | |
1858 | ||
1859 | * troff/node.c (font_info::get_space_width): Additional argument | |
1860 | giving space_size. Handle constant space correctly. Scale by | |
1861 | space_size unless constant spaced. | |
1862 | (env_sentence_space_width): New function. | |
1863 | * troff/node.h: Declare it. | |
1864 | * troff/env.h (environment::get_space_size, | |
1865 | environment::get_sentence_space_size, | |
1866 | environment::get_narrow_space_width, | |
1867 | environment::get_half_narrow_space_width): Make inline. | |
1868 | (environment::get_space_width): Make inline. Just call | |
1869 | env_space_width. | |
1870 | * troff/env.c: Delete definitions for funtions made inline. | |
1871 | (environment::space_newline, environment::space): Use | |
1872 | env_sentence_space_width(). Don't scale by space_size. | |
1873 | * troff/node.h: Move declarations of env*space_width() functions | |
1874 | into env.h. | |
1875 | ||
1876 | Sat Feb 8 09:30:22 1992 James Clark (jjc at jclark) | |
1877 | ||
1878 | * macros/tmac.s (PS): Don't try to set negative indent. | |
1879 | ||
1880 | Thu Feb 6 09:00:35 1992 James Clark (jjc at jclark) | |
1881 | ||
1882 | * pic/pic.y: Fix min function. | |
1883 | ||
1884 | Tue Jan 28 07:52:29 1992 James Clark (jjc at jclark) | |
1885 | ||
1886 | * man/mdate.sh: Clear LANGUAGE. | |
1887 | ||
1888 | Sun Jan 19 13:02:41 1992 James Clark (jjc at jclark) | |
1889 | ||
1890 | * pic/pic.y, pic/lex.c: Rename COMMAND token to COMMAND_LINE. | |
1891 | * pic/lex.c: New COMMAND keyword. | |
1892 | * pic/pic.y (print_args, print_arg): New rules. | |
1893 | (placeless_element): Use print_args for PRINT. | |
1894 | New COMMAND element. | |
1895 | ||
1896 | Tue Jan 7 13:14:31 1992 James Clark (jjc at jclark) | |
1897 | ||
1898 | * troff/input.c (terminal): Handle missing argument correctly. | |
1899 | ||
1900 | * pic/pic.y (text_expr): New rule. | |
1901 | ||
1902 | * pic/pic.y: Implement := operator. | |
1903 | ||
1904 | Sun Jan 5 10:23:02 1992 James Clark (jjc at jclark) | |
1905 | ||
1906 | * etc/grog.pl, etc/grog.sh: Distinguish old and new versions of | |
1907 | mdoc. | |
1908 | ||
1909 | Sat Jan 4 14:42:26 1992 James Clark (jjc at jclark) | |
1910 | ||
1911 | * ps/devps/dingbatsrmap: Include this in the distribution. | |
1912 | ||
1913 | * macros/tmac.doc: Replace with new version from 2nd Networking | |
1914 | Release. Fix loading of doc-* files. | |
1915 | * macros/{doc-common,doc-ditroff,doc-nroff,doc-syms}: New files. | |
1916 | * macros/tmac.doc.old: New file. Apply fixes that had been | |
1917 | applied to old tmac.doc. | |
1918 | * macros/tmac.andoc: Check that we're running under groff. | |
1919 | * macros/Makefile: Rework. | |
1920 | ||
1921 | Fri Jan 3 13:27:51 1992 James Clark (jjc at jclark) | |
1922 | ||
1923 | * tbl/table.h (format_type): | |
1924 | * refer/token.h (token_type): If NESTED_TYPES is defined, use | |
1925 | typedef to make these types visible at file scope. | |
1926 | * Makefile: Add NESTED_TYPES configuration option. | |
1927 | ||
1928 | * troff/div.c (mark): At the top level use the value of | |
1929 | nl_reg_contents rather than the current vertical position. | |
1930 | ||
1931 | Thu Jan 2 10:34:51 1992 James Clark (jjc at jclark) | |
1932 | ||
1933 | * tty/tty.c: Implement \D for horizontal or vertical lines. | |
1934 | (tty_printer::set_char): Use vec_used+2 as serial number. | |
1935 | Don't allow size of vector to exceed USHRT_MAX-2. | |
1936 | Split off part into... | |
1937 | (tty_printer::add_char): New function. | |
1938 | (tty_printer::draw): New function. | |
1939 | (compare_glyph): Handle equal serial numbers. | |
1940 | (tty_printer::end_page): Handle overstruck characters from \D. | |
1941 | (main, usage): Implement -d option. | |
1942 | ||
1943 | Mon Dec 23 10:37:51 1991 James Clark (jjc at jclark) | |
1944 | ||
1945 | * tbl/main.c (process_format): | |
1946 | * eqn/text.c (split_text): | |
1947 | * troff/input.c (token::next): Use inner block for declarations | |
1948 | with initializers in switch statement. | |
1949 | ||
1950 | Mon Dec 16 20:52:03 1991 James Clark (jjc at jclark) | |
1951 | ||
1952 | * pic/common.c (common_output::dash_line): Cope with zero-length | |
1953 | lines. | |
1954 | ||
1955 | Sun Nov 17 12:04:08 1991 James Clark (jjc at jclark) | |
1956 | ||
1957 | * Version 1.04 released. | |
1958 | ||
1959 | Wed Nov 13 05:27:21 1991 James Clark (jjc at jclark) | |
1960 | ||
1961 | * macros/tmac.an (TH): Define a macro an-init to define variables | |
1962 | based on command line arguments. | |
1963 | (an-header): Call it. | |
1964 | ||
1965 | Sun Nov 3 12:07:34 1991 James Clark (jjc at jclark) | |
1966 | ||
1967 | * Makefile (install.mm): Rename to install.dwbmm. | |
1968 | ||
1969 | * Makefile: Integrate mm. | |
1970 | * mm: New directory. | |
1971 | ||
1972 | Wed Oct 30 10:11:34 1991 James Clark (jjc at jclark) | |
1973 | ||
1974 | * refer/dirnamemax.c: If PATHCONF_MISSING is defined, include | |
1975 | <sys/types.h>. | |
1976 | ||
1977 | * pic/troff.c (troff_output::simple_spline, | |
1978 | troff_output::simple_polygon): Rename variable `v' to `d' to avoid | |
1979 | shadowing parameter. | |
1980 | ||
1981 | * lib/tmpfile.c (xtmpfile): Declare dir as const char *. | |
1982 | ||
1983 | * lib/ptable.h: Add explicit casts when converting from unsigned | |
1984 | long to unsigned. | |
1985 | ||
1986 | * dvi/devdvi/{SA,SB,msam.map,msbm.map}: New files. | |
1987 | * dvi/devdvi/Makefile: Install SA, SB. | |
1988 | ||
1989 | * refer/indxbib.c: Add declaration of mktemp. | |
1990 | ||
1991 | * refer/lookbib.c: Add declaration of isatty. | |
1992 | ||
1993 | Fri Oct 25 09:00:17 1991 James Clark (jjc at jclark) | |
1994 | ||
1995 | * pic/lex.c (interpolate_macro_with_args): While collecting | |
1996 | arguments, keep track of whether we're in a string. | |
1997 | ||
1998 | Wed Oct 23 08:42:48 1991 James Clark (jjc at jclark) | |
1999 | ||
2000 | * ps/tmac.ps (PSPIC): Do the .sp after the \X, and move the \X | |
2001 | down with \v, so as to avoid problems with top of page trap | |
2002 | setting no space mode. | |
2003 | ||
2004 | Tue Oct 22 17:38:49 1991 James Clark (jjc at jclark) | |
2005 | ||
2006 | * eqn/lex.c (get_delimited_text): Allow tab before macro body. | |
2007 | ||
2008 | Tue Oct 15 17:24:53 1991 James Clark (jjc at jclark) | |
2009 | ||
2010 | * ps/psrm.c (ps_get_line): Fix bug when lines longer than 255. | |
2011 | Improve error message. | |
2012 | ||
2013 | Fri Oct 11 11:09:38 1991 James Clark (jjc at jclark) | |
2014 | ||
2015 | * ps/psrm.c (print_ps_string): Don't pass negative numbers to | |
2016 | printf("%03o"); | |
2017 | ||
2018 | Wed Oct 9 17:50:14 1991 James Clark (jjc at jclark) | |
2019 | ||
2020 | * groff.c (possible_command::execp): Always use _exit() after a | |
2021 | failed exec. | |
2022 | ||
2023 | * Makefile: Add HAVE_UNION_WAIT, HAVE_PID_T, WAIT_COREDUMP_0200, | |
2024 | NO_SYS_WAIT_H configuration options. | |
2025 | * groff.c: Use these options. Use POSIX-style macros to extract | |
2026 | fields from the status returned by wait(). | |
2027 | ||
2028 | Fri Oct 4 12:12:27 1991 James Clark (jjc at jclark) | |
2029 | ||
2030 | * tbl/table.c (table::compute_separation_factor): Allow the | |
2031 | separation factor to drop to 0. | |
2032 | ||
2033 | Tue Oct 1 18:12:38 1991 James Clark (jjc at jclark) | |
2034 | ||
2035 | * refer/search.c: Include <errno.h>. | |
2036 | ||
2037 | Sun Sep 29 08:40:57 1991 James Clark (jjc at jclark) | |
2038 | ||
2039 | * pic/pic.y (YYDEBUG): Don't define for Borland C++. | |
2040 | ||
2041 | * lib/lib.h: #ifdef out declarations of itoa and iftoa for Borland | |
2042 | C++. | |
2043 | ||
2044 | * pic/lex.c (input_stack::bol): Move definition out of class body. | |
2045 | ||
2046 | * pic/main.c: On MSDOS munge argv[0]. | |
2047 | ||
2048 | * lib/ptable.h: Define name2 as _Paste2 for Borland C++. | |
2049 | ||
2050 | * lib/ptable.c (hash_string): Use unsigned long rather than | |
2051 | unsigned. | |
2052 | (next_ptable_size): Use unsigned rather than int. Give an error | |
2053 | message if we've hit the largest table size. | |
2054 | * lib/ptable.c: Corresponding changes. Also use unsigneds for the | |
2055 | table size. | |
2056 | ||
2057 | * pic/object.h (object_spec): Make flags unsigned long. Declare | |
2058 | flags as const unisgned long rather than as enums. | |
2059 | ||
2060 | * pic/output.c: Deleted. | |
2061 | ||
2062 | * pic/troff.c (troff_output::simple_ellipse): Remove spurious %. | |
2063 | ||
2064 | * tbl/table.c (simple_entry::note_double_vrule_on_{left,right}): | |
2065 | Add additional argument. | |
2066 | (line_entry::note_double_vrule_on_{left,right}): Set value of | |
2067 | douvle_vrule_on_{right,left} flag according to argument. | |
2068 | (simple_line_entry::simple_print, | |
2069 | simple_line_entry::double_line_print): If adjacent to double vrule | |
2070 | on a corner extend rather than shorten the rule by half the double | |
2071 | vrule sep. | |
2072 | ||
2073 | * troff/number.c (parse_term): In checking for overflow, handle the | |
2074 | case where the current horizontal position is negative. | |
2075 | ||
2076 | Thu Sep 12 08:26:09 1991 James Clark (jjc at jclark) | |
2077 | ||
2078 | * pic/object.c (draw_arrow): Check for object having zero length. | |
2079 | ||
2080 | Wed Sep 11 10:32:38 1991 James Clark (jjc at jclark) | |
2081 | ||
2082 | * eqn/main.c (do_file): Split off inline equation handling into... | |
2083 | (inline_equation): New function. Search for starting delimiter | |
2084 | using... | |
2085 | (delim_search): New function. Don't recognize a delimiter that | |
2086 | occurs in the name of an escape sequence, number register, string | |
2087 | etc. | |
2088 | ||
2089 | Tue Sep 10 04:01:11 1991 James Clark (jjc at jclark) | |
2090 | ||
2091 | * eqn/delim.c (delim_box::compute_metrics): Don't call | |
2092 | define_extensible_string if left is 0. | |
2093 | (delim_box::output): Don't print the left delimiter if left is 0. | |
2094 | (delim_box::debug_print): Check for left == 0 before calling printf. | |
2095 | ||
2096 | Fri Aug 23 13:02:30 1991 James Clark (jjc at jclark) | |
2097 | ||
2098 | * troff/Makefile (majorminor.c): Include only digits in | |
2099 | minor_version. | |
2100 | ||
2101 | Thu Aug 22 09:35:37 1991 James Clark (jjc at jclark) | |
2102 | ||
2103 | * refer/dirnamemax.c: new file. | |
2104 | * refer/genlimits.c: Deleted. | |
2105 | * refer/indxbib.c (main): Use dir_name_max() instead of NAME_MAX. | |
2106 | Don't check path length. | |
2107 | * refer/Makefile: Add dir_name_max.o; delete genlimits. | |
2108 | * Makefile: Add PATHCONF_MISSING option. | |
2109 | ||
2110 | * refer/indxbib.c (get_cwd): New function. | |
2111 | (main): Use get_cwd(). | |
2112 | * lib/getcwd.c: New file. | |
2113 | * Makefile: Delete -DHAVE_GETWD. Include GETCWD variable. Pass | |
2114 | GETCWD in SUBFLAGS. | |
2115 | * lib/Makefile: Compile getcwd.o. | |
2116 | ||
2117 | * ps/tmac.psatk (psatk-defs): Define showpage after pushing | |
2118 | userdict. | |
2119 | ||
2120 | * refer/indxbib.c (main): Check success of mktemp. | |
2121 | ||
2122 | * lib/tmpfile.c: New file. | |
2123 | * lib/Makefile: Add tmpfile.c. | |
2124 | * lib/lib.h: Declare xtmpfile(); include <stdio.h>. | |
2125 | * ps/ps.h: Delete declaration of mktemp(). | |
2126 | * ps/ps.c (ps_printer::ps_printer): Use xtmpfile(). | |
2127 | * refer/refer.c (divert_to_temporary_file): Use xtmpfile(). | |
2128 | * driver/driver.h: No need now to include errno.h. | |
2129 | ||
2130 | * everywhere: Set errno to 0 before calling fopen(). | |
2131 | ||
2132 | * eqn/eqn.h, etc/soelim.c, driver/driver.h, etc/addftinfo.c, | |
2133 | dvi/tfmtodit.c, groff.c, refer/index.c, refer/linear.c, | |
2134 | refer/lookbib.c, refer/refer.h, ps/psbb.c: Include <errno.h>. | |
2135 | ||
2136 | Mon Aug 19 10:52:18 1991 James Clark (jjc at jclark) | |
2137 | ||
2138 | * troff/env.h (translate_space_to_dummy): Declare it. | |
2139 | * troff/env.c (environment::space_newline, environment::space): | |
2140 | If translate_space_to_dummy is set then make the width of spaces 0. | |
2141 | * troff/input.c (translate): If the second character of a | |
2142 | translation is a space, translate to unbreakable space. If the | |
2143 | first character is a space, set or clear translate_space_to_dummy | |
2144 | according to whether the second character is \&. Weird! | |
2145 | ||
2146 | Tue Jul 30 10:03:56 1991 James Clark (jjc at jclark) | |
2147 | ||
2148 | * groff.c (run_commands): Don't use non-zero exit code because a | |
2149 | command gets SIGPIPE. | |
2150 | ||
2151 | * groff.c, groff.sh: Use -mXps with -TXps. | |
2152 | ||
2153 | * ps/ps.c (ps_printer::special): Move call to flush_sbuf() into... | |
2154 | (ps_printer::do_exec, ps_printer::do_file, ps_printer::do_def, | |
2155 | ps_printer::do_mdef, ps_printer::do_import): Call flush_sbuf(). | |
2156 | (ps_printer::special): New specials invis and endinvis. | |
2157 | (ps_printer::do_invis, ps_printer::do_endinvis): New functions. | |
2158 | (ps_printer::set_char, ps_printer::draw): Return if invis_count>0. | |
2159 | (ps_printer::end_page): Check that invis_count == 0. | |
2160 | (ps_printer::invis_count): New member. | |
2161 | (ps_printer::ps_printer): Initialize invis_count to 0. | |
2162 | ||
2163 | * troff/env.c (environment::hyphenate_line): Hyphenation | |
2164 | indicator at beginning of word inhibits splitting after -, \(em | |
2165 | etc. | |
2166 | ||
2167 | * pic/pic.y (element): Allow another element to follow } without | |
2168 | any intervening separator. | |
2169 | ||
2170 | Mon Jul 22 12:27:37 1991 James Clark (jjc at jclark) | |
2171 | ||
2172 | * pic/lex.c (get_delimited): Allow tabs before delimiter. | |
2173 | ||
2174 | Wed Jul 17 10:59:08 1991 James Clark (jjc at jclark) | |
2175 | ||
2176 | * groff.c: Get rid of HAVE_UNION_WAIT stuff. Instead suppress | |
2177 | declaration of wait() in header files. | |
2178 | * Makefile: Get rid of -DHAVE_UNION_WAIT. | |
2179 | ||
2180 | * tbl/table.c (alphabetic_text_entry::add_tab): New function. | |
2181 | ||
2182 | * lib/lib.h: Declare return type of strerror as char *. | |
2183 | ||
2184 | * man/Makefile: Add g flag to sed substitutions. | |
2185 | * Makefile (shgroff, bindist): Likewise. | |
2186 | ||
2187 | Sun Jul 14 11:57:02 1991 James Clark (jjc at jclark) | |
2188 | ||
2189 | * ps/ps.c (ps_printer::do_import): Move push of userdict into... | |
2190 | * ps/devps/prologue (PBEGIN): Define showpage after pushing | |
2191 | userdict. | |
2192 | ||
2193 | Sat Jul 13 20:53:04 1991 James Clark (jjc at jclark) | |
2194 | ||
2195 | * ps/devps/prologue (PBEGIN): Zap any definition of showpage in | |
2196 | userdict. | |
2197 | ||
2198 | Fri Jul 12 07:10:09 1991 James Clark (jjc at jclark) | |
2199 | ||
2200 | * man/mdate.sh: Handle the fact that BSD ls -l does not print the | |
2201 | group. | |
2202 | ||
2203 | Sun Jul 7 08:00:23 1991 James Clark (jjc at jclark) | |
2204 | ||
2205 | * troff/input.c (define_number_reg): If currently undefined, | |
2206 | don't define it if the argument is an invalid expression. | |
2207 | ||
2208 | * Makefile: Ignore return value of `if' commands without `else' | |
2209 | parts. | |
2210 | ||
2211 | * Makefile: Split up CPPDEFINES into a series of separate | |
2212 | configuration options. | |
2213 | ||
2214 | * troff/input.c (init_registers): Use time_t instead of long | |
2215 | unless LONG_FOR_TIME_T is defined. Use returned result rather | |
2216 | than passing pointer. | |
2217 | * Makefile: Document LONG_FOR_TIME_T as a CPPDEFINE. | |
2218 | ||
2219 | * lib/Makefile (fontpath.h): Use gendef. | |
2220 | ||
2221 | Thu Jul 4 09:48:05 1991 James Clark (jjc at jclark) | |
2222 | ||
2223 | * troff/input.c (input_iterator::shift): Delete argument name. | |
2224 | * troff/node.c (suppress_output_file::really_begin_page, | |
2225 | suppress_output_file::really_transparent_char, node::ascii_print, | |
2226 | node::tprint): Delete names of unused arguments. | |
2227 | ||
2228 | Wed Jul 3 17:34:57 1991 James Clark (jjc at jclark) | |
2229 | ||
2230 | * refer/label.y (string): Pass $4 to command_error. | |
2231 | ||
2232 | Tue Jul 2 15:06:01 1991 James Clark (jjc at jclark) | |
2233 | ||
2234 | * Version 1.03 released. | |
2235 | ||
2236 | Sat Jun 29 08:14:01 1991 James Clark (jjc at jclark) | |
2237 | ||
2238 | * Makefile: Pass definition of SHELL in SUBFLAGS. | |
2239 | ||
2240 | * gendef: New file. | |
2241 | * Makefile, eqn/Makefile, refer/Makefile, troff/Makefile, | |
2242 | ps/Makefile: Use gendef to construct header files that are | |
2243 | constructed from the Makefile. | |
2244 | ||
2245 | * macros/Makefile: make all should build stripped version of tmac.e. | |
2246 | ||
2247 | * refer/Makefile (clean): Remove y.output. | |
2248 | ||
2249 | Fri Jun 28 09:44:36 1991 James Clark (jjc at jclark) | |
2250 | ||
2251 | * ps/pfbtops.c (main): Add -v option which prints out a version | |
2252 | number. | |
2253 | * ps/Makefile (pfbtops): Link with libgroff.a. | |
2254 | ||
2255 | Fri Jun 21 07:43:23 1991 James Clark (jjc at jclark) | |
2256 | ||
2257 | * refer/search.h (linear_searcher::get_nkeys): Delete declaration. | |
2258 | * refer/linear.c (linear_searcher::get_nkeys): Delete definition. | |
2259 | ||
2260 | * refer/lkbib.c (main): Always terminate reference with blank | |
2261 | line. | |
2262 | * refer/lookbib.c (main): Likewise. | |
2263 | ||
2264 | * refer/linear.c (file_buffer::load): Check that the file is not a | |
2265 | binary file. | |
2266 | ||
2267 | * refer/Makefile (genlimits): Possibly add -DHAVE_SYS_DIR_H. | |
2268 | (genlimits.c): Include <sys/dir.h> if HAVE_SYS_DIR_H is defined. | |
2269 | Delete second inclusion of <sys/param.h>. | |
2270 | ||
2271 | Tue Jun 18 01:32:26 1991 James Clark (jjc at jclark) | |
2272 | ||
2273 | * troff/token.h (token::special): Deleted. | |
2274 | ||
2275 | * tbl/main.c (process_format): Rework so that opt->tab_char is | |
2276 | recognized only when appropriate. | |
2277 | ||
2278 | * ps/Makefile (clean): Remove pfbtops. | |
2279 | ||
2280 | Sun Jun 16 09:37:19 1991 James Clark (jjc at jclark) | |
2281 | ||
2282 | * lib/font.c (text_file::next): Don't return if we have got a | |
2283 | blank line. | |
2284 | ||
2285 | Fri Jun 14 09:52:26 1991 James Clark (jjc at jclark) | |
2286 | ||
2287 | * refer/refer.c (store_reference): Get hash code from old_table[i] | |
2288 | when rehashing the table. | |
2289 | ||
2290 | Thu Jun 13 01:26:43 1991 James Clark (jjc at jclark) | |
2291 | ||
2292 | * eqn/box.c (box::top_level): Save size and prev size using \R and | |
2293 | restore it afterwards. Set the size to the size at the beginning | |
2294 | of the line. | |
2295 | * eqn/pbox.h: Declare SAVED_INLINE_PREV_SIZE_REG, | |
2296 | SAVED_INLINE_SIZE_REG, and SAVED_SIZE_REG. | |
2297 | ||
2298 | * refer/Makefile (limits.h): Use ./genlimits. | |
2299 | ||
2300 | Wed Jun 12 16:05:34 1991 James Clark (jjc at jclark) | |
2301 | ||
2302 | * refer/index.c: Delete declarations of stat() and fstat(). | |
2303 | ||
2304 | Tue Jun 11 14:52:49 1991 James Clark (jjc at jclark) | |
2305 | ||
2306 | * tty/tmac.tty: Add character definitions for \(>= and \(<=. | |
2307 | ||
2308 | Mon Jun 10 22:49:48 1991 James Clark (jjc at jclark) | |
2309 | ||
2310 | * etc/grog.sh, etc/grog.pl: Change regex for .PS. | |
2311 | ||
2312 | Fri Jun 7 09:13:06 1991 James Clark (jjc at jclark) | |
2313 | ||
2314 | * troff/input.c (token::get_char): Handle \e. | |
2315 | ||
2316 | * refer/linear.c: Delete declarations of fstat() and stat(). | |
2317 | ||
2318 | Wed Jun 5 09:11:59 1991 James Clark (jjc at jclark) | |
2319 | ||
2320 | * troff/node.c, troff/env.c, troff/input.c, Makefile: Remove | |
2321 | OP_DELETE_BROKEN stuff, since we now have a fix for g++. | |
2322 | ||
2323 | Mon Jun 3 13:41:32 1991 James Clark (jjc at jclark) | |
2324 | ||
2325 | * troff/input.c (do_define_macro): Improve error handling for end | |
2326 | of file while defining macro. | |
2327 | ||
2328 | Sun Jun 2 10:20:24 1991 James Clark (jjc at jclark) | |
2329 | ||
2330 | * eqn/box.h: Fix declaration of set_gsize. | |
2331 | * eqn/box.c (set_gsize): Make argument const char *. | |
2332 | (gsize): Declare as char *. | |
2333 | * eqn/main.c (main): Don't convert gsize to int. | |
2334 | * eqn/lex.c (do_gsize): Pass char * to set_gsize. | |
2335 | ||
2336 | * Version 1.02 released. | |
2337 | ||
2338 | Sat Jun 1 12:19:46 1991 James Clark (jjc at jclark) | |
2339 | ||
2340 | * macros/tmac.andoc: New file. | |
2341 | * macros/Makefile: Install tmac.andoc. | |
2342 | ||
2343 | * troff/node.c, troff/env.c, troff/input.c: Conditionalize use of | |
2344 | operator new and delete on OP_DELETE_BROKEN not being defined. | |
2345 | * Makefile: Mention OP_DELETE_BROKEN. | |
2346 | ||
2347 | Mon May 27 13:49:07 1991 James Clark (jjc at jclark) | |
2348 | ||
2349 | * Makefile (bindist): Pass SUBFLAGS. | |
2350 | ||
2351 | Sun May 26 14:13:22 1991 James Clark (jjc at jclark) | |
2352 | ||
2353 | * Makefile, groff.c: Pass definitions to groff.c via device.h. | |
2354 | ||
2355 | * tty/tty.c (tty_font::load_tty_font): Avoid shadowing | |
2356 | parameter. | |
2357 | ||
2358 | * ps/Makefile, ps.c: Pass BROKEN_SPOOLER_FLAGS via broken.h. | |
2359 | ||
2360 | * ps/ps.h, ps/psrm.c: Make comment_table and | |
2361 | header_comment_table local to resource_manager::process_file. | |
2362 | ||
2363 | * groff.sh: With -TXps pass -printCommand option to gxditview. | |
2364 | ||
2365 | * groff.c (possible_command::print): Implement using | |
2366 | append_arg_to_string. | |
2367 | ||
2368 | * xditview: Merge in new implementation with own ChangeLog. | |
2369 | ||
2370 | Sat May 25 18:33:20 1991 James Clark (jjc at jclark) | |
2371 | ||
2372 | * groff.c (main): Implement PRINT_OPTION. | |
2373 | (append_arg_to_string): New command. | |
2374 | (device_table): Set PRINT_OPTION flag for Xps. | |
2375 | ||
2376 | Fri May 24 09:48:58 1991 James Clark (jjc at jclark) | |
2377 | ||
2378 | * troff/groff.h: Rename to troff.h. | |
2379 | ||
2380 | * pic/lex.c (lookup_keyword, docmp): New functions. | |
2381 | (get_token): Use new lookup_keyword. | |
2382 | Don't include key.h. | |
2383 | * pic/key.[ch], pic/pic.gperf: Deleted. | |
2384 | * pic/Makefile: Remove gperf stuff. | |
2385 | ||
2386 | * pic/Makefile, pic/output.h: Move definition of TEX_SUPPORT | |
2387 | into output.h. | |
2388 | * pic/tex.c: Move include of pic.h before test of TEX_SUPPORT. | |
2389 | ||
2390 | * troff/Makefile, troff/node.c: Move definition of | |
2391 | STORE_WIDTH into node.c. | |
2392 | ||
2393 | * etc/grog.pl, etc/grog.sh: Support -mdoc. | |
2394 | ||
2395 | Thu May 23 12:30:49 1991 James Clark (jjc at jclark) | |
2396 | ||
2397 | * dvi/devdvi/texr.map, dvi.devdvi/texi.map, | |
2398 | dvi/devdvi/texb.map: Add lq and rq. | |
2399 | dvi/devdvi: Regenerate fonts. | |
2400 | * ps/devps/textmap: Add lq and rq. | |
2401 | * ps/devps: Regenerate fonts. | |
2402 | * tty/devascii/R.proto, tty/devlatin1/R.proto: Add lq and rq. | |
2403 | * macros/tmac.e: Define \*(lq and \*(rq to be \(lq and \(rq. | |
2404 | ||
2405 | * pic/object.c (position_rectangle): When checking radius | |
2406 | cope with possiblity that width or height is negative. | |
2407 | (box_object::box_object): Have separate xrad and yrad with | |
2408 | signs matching signs of dim components. | |
2409 | (box_object::{north,south}_{east,west}): Use xrad and yrad. | |
2410 | (box_object::print): With rounded boxes use absolute values | |
2411 | for dim and rad arguments. | |
2412 | ||
2413 | * lib/Makefile, lib/fontfile.o: Pass definition of FONTPATH | |
2414 | in fontpath.h. | |
2415 | ||
2416 | * eqn/Makefile, eqn/main.c: Pass definition of DEVICE in device.h. | |
2417 | ||
2418 | * various files: Add explicit destructors to keep Saber CC +d | |
2419 | happy. | |
2420 | ||
2421 | Wed May 22 11:37:11 1991 James Clark (jjc at jclark) | |
2422 | ||
2423 | * eqn/box.c (box::top_level): Restore fonts correctly after | |
2424 | font changes in line containing inline equation. Also | |
2425 | restore previous font as well as current font. | |
2426 | * eqn/pbox.h: Define necessary string and register names. | |
2427 | ||
2428 | * troff/input.c (token::next): Case 'R' calls do_register. | |
2429 | (do_register): New function. | |
2430 | ||
2431 | Tue May 21 11:28:23 1991 James Clark (jjc at jclark) | |
2432 | ||
2433 | * groff.c, groff.sh: Support Xps device. Allow each device | |
2434 | to have a pseudo_name and a real_name. | |
2435 | ||
2436 | * groff.c (run_commands): Don't print `Broken pipe' messages. | |
2437 | ||
2438 | * ps/pfbtops.c: New file. | |
2439 | * ps/Makefile: Add pfbtops. | |
2440 | ||
2441 | * troff/number.c (parse_term): Improved error message. | |
2442 | ||
2443 | Mon May 20 11:22:14 1991 James Clark (jjc at jclark) | |
2444 | ||
2445 | * groff.c, groff.sh, etc/grog.sh, etc/grog.pl: Support grefer. | |
2446 | ||
2447 | * Makefile: Integrate refer. | |
2448 | * refer: New directory. | |
2449 | * man/grefer.man, man/glookbib.man, man/gindxbib.man, | |
2450 | man/lkbib.man: New files. | |
2451 | * man/Makefile: Support refer man pages. | |
2452 | ||
2453 | * lib/lib.h: Declare is_prime. | |
2454 | * lib/prime.c: New file. | |
2455 | ||
2456 | * troff/input.c (macro_source): New function. | |
2457 | (init_input_requests): Bind "mso" to macro_source. | |
2458 | ||
2459 | * troff/env.c (environment::possibly_break_line): Maintain | |
2460 | pointer to pointer to node to be split in ndp so as to avoid | |
2461 | using address of freed node. | |
2462 | ||
2463 | * troff/env.c (environment::hyphenate_line): Maintain pointer to | |
2464 | pointer to first node to be hyphenated in startp so as to | |
2465 | avoid using address of freed node. | |
2466 | ||
2467 | * troff/env.c (class trie, class hyphen_trie): Make the | |
2468 | elements of the trie be of type char not unsigned char. | |
2469 | Declare arguments to be const char* instead of unsigned char *. | |
2470 | ||
2471 | * troff/env.c (hyphenate): Initialize hbuf[0]. | |
2472 | ||
2473 | * troff/input.c (set_string): Declare p to be char * and cast | |
2474 | *p to unsigned char when necessary. | |
2475 | ||
2476 | * troff/input.c (do_define_macro): Declare s to be const | |
2477 | char*. Cast element to unisgned char when necessary, Declare | |
2478 | d to be an int. Handle EOF better. | |
2479 | ||
2480 | * troff/Makefile, troff/input.c: Different scheme for passing | |
2481 | definitions of MACROPATH, HYPHENFILE and DEVICE. | |
2482 | ||
2483 | Tue May 14 13:41:36 1991 James Clark (jjc at jclark) | |
2484 | ||
2485 | * tty/devascii/R.proto: Delete entry for em. | |
2486 | * tty/devlatin1/R.proto: Likewise. | |
2487 | ||
2488 | Sat May 11 11:13:28 1991 James Clark (jjc at jclark) | |
2489 | ||
2490 | * troff/input.c (translate): Stop when we get a space. Treat eof | |
2491 | like newline. | |
2492 | ||
2493 | * macros/tmac.an (IP): Only pass quoted argument to TP when \n(.$>1. | |
2494 | ||
2495 | Wed Apr 24 19:24:33 1991 James Clark (jjc at jclark) | |
2496 | ||
2497 | * tbl/main.c (process_format): A font name following a `f' | |
2498 | modifier that starts with a digit can be only one character long. | |
2499 | Also deal with EOF on the second character of the font name. | |
2500 | ||
2501 | Wed Apr 17 11:23:43 1991 James Clark (jjc at jclark) | |
2502 | ||
2503 | * troff/input.c (token::next): Turn \~ into an | |
2504 | unbreakable_space_node. | |
2505 | * troff/node.c (unbreakable_space_node): New class. | |
2506 | * troff/node.h: Declare it. | |
2507 | ||
2508 | Tue Apr 16 10:47:12 1991 James Clark (jjc at jclark) | |
2509 | ||
2510 | * dvi/dvi.c (dvi_printer::set_char): Make code an int. Check that | |
2511 | it's >= 0, before outputting it as a single byte. | |
2512 | ||
2513 | Mon Apr 15 11:20:23 1991 James Clark (jjc at jclark) | |
2514 | ||
2515 | * lib/font.c: Make font_char_metric::code an int. | |
2516 | (font::get_code): Change return type to int. | |
2517 | (font::load): Allow code to be arbitrary integer. | |
2518 | * lib/font.h (font::get_code): Change return type to int. | |
2519 | (font::number_to_index): Change argument type to int. | |
2520 | * troff/input.c (token::next): In case 'N', allow any value. | |
2521 | Store value in token::val. | |
2522 | (token::operator==): For TOKEN_NUMBERED_CHAR test equality of val. | |
2523 | (token::get_char, token::add_to_node_list, token::process): Get | |
2524 | number from val. | |
2525 | (charinfo::set_number): Change argument to int. | |
2526 | (charinfo::get_number): Require that NUMBERED flag be set. | |
2527 | (get_charinfo_by_number): Store numbered characters not between 0 | |
2528 | and 255 in a dictionary. | |
2529 | * troff/charinfo.h (get_charinfo_by_number): Change argument type | |
2530 | to int. | |
2531 | (charinfo::number): Change type to int. | |
2532 | (charinfo::set_number): Change type of set_number to int. | |
2533 | * troff/node.c (troff_output_file::put_char_width, | |
2534 | troff_output_file::put_char): Test whether character is numbered | |
2535 | using charinfo::numbered(). | |
2536 | * driver/printer.c (printer::set_numbered_char): Allow arbitrary | |
2537 | values of num. | |
2538 | * lib/nametoindex.c: New implementation to cope with arbitrary | |
2539 | number characters. | |
2540 | ||
2541 | * troff/input.c (token::operator==): Test val for | |
2542 | TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT, TOKEN_FONT_POSITION, and | |
2543 | TOKEN_SIZE. | |
2544 | ||
2545 | * man/Makefile: Add definiton of BROKEN_SPOOLER_FLAGS. | |
2546 | (.man.n): sed out @BROKEN_SPOOLER_FLAGS@. | |
2547 | ||
2548 | Sun Apr 14 12:57:00 1991 James Clark (jjc at jclark) | |
2549 | ||
2550 | * ps/devps/zapfdr.ps: Don't copy UniqueID. Avoid use of newdict | |
2551 | variable. | |
2552 | ||
2553 | * all Makefiles: rm targets of cp and >. | |
2554 | ||
2555 | * xditview/xtotroff.c (MapFont): Unlink troff_name before opening | |
2556 | it. | |
2557 | ||
2558 | * eqn/lex.c (def_table): Add dollar. | |
2559 | ||
2560 | Sat Apr 13 13:02:44 1991 James Clark (jjc at jclark) | |
2561 | ||
2562 | * troff/input.c (do_width): Push back newline before closing delim | |
2563 | like do_bracket. | |
2564 | ||
2565 | Fri Apr 12 15:16:03 1991 James Clark (jjc at jclark) | |
2566 | ||
2567 | * groff.c (possible_command::prepend_arg): New function. | |
2568 | (main): Prepend device -m option. | |
2569 | * groff.sh: Put device -m options before command-line options. | |
2570 | ||
2571 | Tue Apr 9 10:24:43 1991 James Clark (jjc at jclark) | |
2572 | ||
2573 | * macros/tmac.an (IP): Quote argument to TP. | |
2574 | ||
2575 | * ps/ps.c (main): New option -b, which sets... | |
2576 | (broken_flags): New variable. | |
2577 | (ps_printer::~ps_printer): Incorporate the setup section in the | |
2578 | prolog if (broken_flags & NO_SETUP_SECTION). | |
2579 | (ps_printer::begin_page): Generate {Begin,End}PageSetup comments. | |
2580 | (ps_printer::merge_download_fonts, ps_printer::merge_import_fonts, | |
2581 | ps_printer::merge_ps_fonts, ps_printer::print_font_comment, | |
2582 | ps_printer::print_needed_font_comment, | |
2583 | ps_printer::print_supplied_font_comment, | |
2584 | ps_printer::print_include_font_comments, | |
2585 | ps_printer::lookup_doc_font, ps_printer::download_fonts, | |
2586 | ps_printer::read_download_file, read_document_fonts, add_font, | |
2587 | skip_line, parse_fonts_arg, document_font::document_font, | |
2588 | document_font::~document_font, document_font::download, | |
2589 | ps_output::include_file): Deleted. | |
2590 | (ps_printer::~ps_printer): Generate %%EOF. Generate %!PS-Adobe-3.0 | |
2591 | rather than %!PS-Adobe-2.0. Make calls to | |
2592 | resource_manager::need_font for each font that we used. Replace | |
2593 | calls to merge_ps_fonts, merge_download_fonts, print_font_comment, | |
2594 | print_supplied_font_comment, print_needed_font_comment by call to | |
2595 | resource_manager::print_header_comments. Output %%Orientation | |
2596 | comment. Output %%Requirements: numcopies comment if ncopies > 1. | |
2597 | Don't output the prolog directly. Instead call | |
2598 | resource_manager::output_prolog. Only define #copies when ncopies | |
2599 | > 1. Delete calls to print_include_font_comments and | |
2600 | download_fonts. Add call to resource_manager::document_setup. | |
2601 | (ps_printer::do_file): Call resource_manager::import_file instead | |
2602 | of including it ourselves. | |
2603 | (ps_printer::do_import): Likewise. Also don't call | |
2604 | merge_import_fonts. Push userdict on the dictionary stack before | |
2605 | and pop it afterwards. | |
2606 | Move declaration of ps_output into ps.h. | |
2607 | * ps/psrm.c: New file implementing resource_manager class. | |
2608 | * ps/ps.h: New file declaring ps_output and resource_manager | |
2609 | classes. | |
2610 | * ps/devps/zapfdr.ps: | |
2611 | * ps/devps/symbolsl.ps: | |
2612 | * ps/devps/prologue: Use 3.0 conventions. | |
2613 | * ps/Makefile: Pass definition of BROKEN_SPOOLER_FLAGS in DEFINES. | |
2614 | Add default definition of BROKEN_SPOOLER_FLAGS. | |
2615 | * Makefile: New variable BROKEN_SPOOLER_FLAGS. Add | |
2616 | BROKEN_SPOOLER_FLAGS to SUBFLAGS. | |
2617 | ||
2618 | Mon Apr 8 09:26:54 1991 James Clark (jjc at jclark) | |
2619 | ||
2620 | * etc/grog.pl: New file. | |
2621 | * Makefile (GROG): New variable. | |
2622 | Add GROG to SUBFLAGS. | |
2623 | * etc/Makefile (GROG): New variable. | |
2624 | (install.nobin): Install $(GROG) rather than grog.sh. | |
2625 | ||
2626 | Thu Apr 4 11:36:45 1991 James Clark (jjc at jclark) | |
2627 | ||
2628 | * eqn/special.c (special_box::compute_metrics): Make the input and | |
2629 | output strings the same. Get the new height and depth from the | |
2630 | predefined height and depth registers. Also make subscript kern | |
2631 | and skew available. | |
2632 | (special_box::compute_subscript_kern, special_box::compute_skew): | |
2633 | New functions. | |
2634 | ||
2635 | * eqn/box.c (pointer_box::compute_skew, | |
2636 | simple_box::compute_metrics, box::top_level) | |
2637 | * eqn/text.c (prime_box::compute_metrics, | |
2638 | prime_box::comput_subscript_kern) | |
2639 | * eqn/limit.c (limit_box::compute_metrics): | |
2640 | * eqn/delim.c (build_extensible, delim_box::compute_metrics): | |
2641 | * eqn/sqrt.c (sqrt_box::compute_metrics): Protect possibly | |
2642 | negative numbers in `nr' requests with a leading 0. | |
2643 | ||
2644 | Wed Apr 3 15:58:23 1991 James Clark (jjc at jclark) | |
2645 | ||
2646 | * eqn/special.c: New file. | |
2647 | * eqn/eqn.y: Declare token SPECIAL. Make it right associative. | |
2648 | Add new rule for simple. | |
2649 | * eqn/lex.c (token_table): Add SPECIAL. | |
2650 | * eqn/box.h: Declare make_special_box. | |
2651 | * eqn/Makefile: Add special.[co]. | |
2652 | ||
2653 | Sat Mar 30 10:57:53 1991 James Clark (jjc at jclark) | |
2654 | ||
2655 | * ps/devps/prologue: Possibly set packing to true while defining. | |
2656 | Create grops dictionary here. Initialize local variables before | |
2657 | defining procedures. | |
2658 | (PICTURE): Rename to PBEGIN. Also do save, noop showpage, count | |
2659 | the dictionary stack. Set strokeadjust and overprint to false if | |
2660 | the relevant operators are defined. | |
2661 | (PEND): New procedure. | |
2662 | * ps/ps.c (ps_printer::~ps_printer): In the prolog just include | |
2663 | prologue. Do everything else in the setup section. | |
2664 | (ps_printer::do_import): Just call PBEGIN and PEND around the | |
2665 | picture. Also push userdict before, and pop it afterwards. | |
2666 | ||
2667 | Wed Mar 27 07:59:50 1991 James Clark (jjc at jclark) | |
2668 | ||
2669 | * troff/node.c (bracket_node::tprint): Brackets were being printed | |
2670 | 1m too low. | |
2671 | ||
2672 | * macros/tmac.an (SH, SS): Set fill mode. | |
2673 | ||
2674 | Tue Mar 26 07:46:31 1991 James Clark (jjc at jclark) | |
2675 | ||
2676 | * troff/div.c (top_level_diversion::begin_page): Set | |
2677 | high_water_mark to 0. | |
2678 | ||
2679 | Fri Mar 22 09:19:46 1991 James Clark (jjc at jclark) | |
2680 | ||
2681 | * man/mdate.sh: New file. | |
2682 | * man/mdate.c: Deleted. | |
2683 | * man/Makefile: Use mdate.sh instead of mdate. | |
2684 | (mdate): Deleted. | |
2685 | ||
2686 | * eqn/lex.c (do_gsize): Supply missing argument to error message. | |
2687 | ||
2688 | Tue Mar 19 11:06:50 1991 James Clark (jjc at jclark) | |
2689 | ||
2690 | * man/mdate.c: New file. | |
2691 | * man/*.man: Replace modification date by @MDATE@. | |
2692 | * man/Makefile (.man.n): Replace @MDATE@ by `mdate $<`. | |
2693 | (mdate): New target. | |
2694 | ||
2695 | * lib/font.c (text_file::next): Deal with arbitrarily long lines. | |
2696 | Remove illegal input characters. | |
2697 | ||
2698 | Mon Mar 18 08:32:25 1991 James Clark (jjc at jclark) | |
2699 | ||
2700 | * macros/tmac.s (pg*start-col): Do .ns *after* running the hooks. | |
2701 | ||
2702 | Sat Mar 16 03:52:25 1991 James Clark (jjc at jclark) | |
2703 | ||
2704 | * troff/div.c (begin_page): Change behaviour when | |
2705 | !first_page_begun and !break_flag. | |
2706 | ||
2707 | * troff/input.c (do_name_test): Return 0 if argument is empty. | |
2708 | ||
2709 | * troff/input.c (read_long_escape_name): Require closing ] to be | |
2710 | at same input level as opening [. | |
2711 | ||
2712 | * troff/input.c (read_increment_and_escape_name): New function. | |
2713 | (get_copy, process_input_stack): Use this for \n. | |
2714 | ||
2715 | Fri Mar 15 00:31:48 1991 James Clark (jjc at jclark) | |
2716 | ||
2717 | * troff/div.c (top_level_diversion::begin_page): Ignore the | |
2718 | current value of page_number if !first_page_begun. | |
2719 | ||
2720 | * groff.c (main): Fix declaration of buf. | |
2721 | ||
2722 | * troff/input.c (do_name_test): New function. | |
2723 | (token::next): Implement \A. | |
2724 | (token::next): Implement \e by turning it into a TOKEN_ESCAPE. | |
2725 | (token::description, token::add_to_node_list, token::process): | |
2726 | Handle TOKEN_ESCAPE. | |
2727 | * troff/token.h: New token TOKEN_ESCAPE. | |
2728 | ||
2729 | Thu Mar 14 10:22:26 1991 James Clark (jjc at jclark) | |
2730 | ||
2731 | * pic/main.c (do_picture): Allow space before and after filename | |
2732 | following `<'. Check that the filename is not empty. | |
2733 | ||
2734 | Wed Mar 13 12:49:40 1991 James Clark (jjc at jclark) | |
2735 | ||
2736 | * Version 1.01 released. | |
2737 | ||
2738 | * dvi/devdvi/CompileFonts: Add cm*ss10 fonts. | |
2739 | ||
2740 | * dvi/tmac.dvi: ftr HR to H. | |
2741 | ||
2742 | * macros/tmac.e: Round up computation of $r. | |
2743 | ||
2744 | * xditview/tmac.X: Don't give up completely in compatibility mode. | |
2745 | Use \n(.s instead of \n[.s]. | |
2746 | ||
2747 | * dvi/tmac.dvi: Don't give up completely in compatibility mode. | |
2748 | Use \(ci instead of \[ci]. Use \n(.s instead of \n[.s]. | |
2749 | Add u to factors inside \s[...]. Rename frac to dvi-frac. | |
2750 | Translate \(FM onto \[prime] and \(!/ onto \[slashnot]; use these | |
2751 | short names in the char definitions. | |
2752 | ||
2753 | * ps/tmac.ps: Don't give up completely in compatibility mode. | |
2754 | Fix the fraction definitions to use \n(.s and \(f/. Add an extra | |
2755 | quote in front of \n(.s. Add u to factors inside \s[...]. | |
2756 | ||
2757 | Mon Mar 11 12:01:20 1991 James Clark (jjc at jclark) | |
2758 | ||
2759 | * tty/tmac.tty: Call the nroff request. | |
2760 | ||
2761 | * macros/tmac.e ((x, )x): Better definitions that work properly | |
2762 | in a diversion. | |
2763 | (@0, @1): Helper macros for (x. | |
2764 | ||
2765 | * macros/tmac.e ($s, hl): Use \l rather than \D. | |
2766 | ||
2767 | * tty/tmac.tty: Make it work better in compatibility mode. | |
2768 | (pchar): Rename to tty-char. | |
2769 | ||
2770 | * macros/tmac.e (@E): New macro. | |
2771 | (r, i, b, rb, bi): Use @E. | |
2772 | ||
2773 | * macros/tmac.e (@F): Don't use (;...) syntax. | |
2774 | ||
2775 | * macros/tmac.e: Remove mention of \*(||/revisions. Mention that | |
2776 | it was modified for groff. | |
2777 | ||
2778 | * macros/tmac.e: Make sure \n(ps and \n(es are >= \n(.V. | |
2779 | ||
2780 | * macros/tmac.e (<., .>): Removed. | |
2781 | ([., .]): If \n(.V>=1v, use [] instead of superscripting. | |
2782 | ||
2783 | * macros/tmac.e: Remove check that groff is being used. | |
2784 | ||
2785 | * macros/tmac.e (@C): Change families only if using groff; turn | |
2786 | compatibility mode off while changing familes. Save compatibility | |
2787 | mode before changing families and restore it afterwards. | |
2788 | ||
2789 | * macros/tmac.e (@h): Remove test for offset + line length. | |
2790 | ||
2791 | * macros/tmac.e (sorry): Rename to @S. Use \$1 instead of \$0 | |
2792 | (lo, th, ac): Define to call @S instead of using als. | |
2793 | ||
2794 | * macros/tmac.e: Make $r and $R now contain \n(.v*100/\n(.sp, ie | |
2795 | the ratio of the vertical spacing to the point size in units | |
2796 | expressed as a percentage. Use these instead of $10r and $10R, | |
2797 | Delete $10r and $10R. | |
2798 | ||
2799 | * lib/font.c (font::load): In default computation of space_width, | |
2800 | divide by sizescale. Use scale_round. | |
2801 | ||
2802 | * macros/tmac.an (TP): Don't call `nf'. | |
2803 | (an-do-tag): Don't call `fi'. | |
2804 | ||
2805 | Sun Mar 10 09:52:35 1991 James Clark (jjc at jclark) | |
2806 | ||
2807 | * troff/input.c (process_input_stack): Handle the case where | |
2808 | spaces at the beginning of an input line are followed by a | |
2809 | newline. | |
2810 | ||
2811 | Thu Mar 7 20:18:07 1991 James Clark (jjc at jclark) | |
2812 | ||
2813 | * groff.c (device_table): Add PIC_X_OPTION for dvi device. | |
2814 | * groff.sh: Use pic -x with the dvi device. | |
2815 | ||
2816 | * dvi/devdvi/FontMakefile (H): Don't use -s. | |
2817 | ||
2818 | * dvi/devdvi/HI, dvi/devdvi/HB: New files. | |
2819 | * dvi/devdvi/Makefile: Add HI and HB to FONTS. | |
2820 | * dvi/devdvi/FontMakefile: Add rules for HI and HB. Include these | |
2821 | in FONTS. | |
2822 | ||
2823 | Mon Mar 4 13:20:14 1991 James Clark (jjc at jclark) | |
2824 | ||
2825 | * ps/psfig.diff: New file. | |
2826 | * ps/tmac.psfig: New file. | |
2827 | ||
2828 | Sat Mar 2 00:15:09 1991 James Clark (jjc at jclark) | |
2829 | ||
2830 | * macros/tmac.s (]=, ref*do-tl, ref*bib-print): Deleted. | |
2831 | (]-): Don't call ref*do-tl. | |
2832 | ||
2833 | * macros/tmac.s (ref*end-print): Use XP if [F not defined. | |
2834 | ||
2835 | * macros/tmac.s (ref*normal-print): Call FS rather than fn@do-FS. | |
2836 | (fn@do-FS): Rename to fn*do-FS. | |
2837 | ||
2838 | * troff/input.c (transparent_translate): New function. | |
2839 | (process_input_stack): Apply transparent_translate before calling | |
2840 | diversion::transparent_output(unsigned char). | |
2841 | ||
2842 | Wed Feb 27 00:13:25 1991 James Clark (jjc at jclark) | |
2843 | ||
2844 | * troff/input.c (do_define_macro): Define the macro before calling | |
2845 | skip_line. | |
2846 | ||
2847 | * xditview/Makefile: Add DEVICES variable. Change install target | |
2848 | to use this. | |
2849 | ||
2850 | Tue Feb 26 10:46:22 1991 James Clark (jjc at jclark) | |
2851 | ||
2852 | * groff.c (run_commands): Handle the possibility that there are | |
2853 | child processes other than those forked by us. | |
2854 | ||
2855 | Sun Feb 24 21:32:30 1991 James Clark (jjc at jclark) | |
2856 | ||
2857 | * lib/string.c (string::append): New function. | |
2858 | * lib/stringclass.h: Declare it. | |
2859 | ||
2860 | Thu Feb 21 11:49:26 1991 James Clark (jjc at jclark) | |
2861 | ||
2862 | * eqn/main.c (main): New option -N which sets | |
2863 | no_newline_in_delim_flag. | |
2864 | (do_file): If no_newline_in_delim_flag is set don't allow newlines | |
2865 | in delimiters. | |
2866 | * groff.c (main): Pass -N on to eqn. | |
2867 | (help, synopsis): Mention -N. | |
2868 | * groff.sh: Implement -N. | |
2869 | ||
2870 | Wed Feb 20 15:16:10 1991 James Clark (jjc at jclark) | |
2871 | ||
2872 | * macros/tmac.s (]=, ref*bib-print, ref*do-tl): New macros. | |
2873 | (]-): Call ref*do-tl if ref*need-tl is non-zero. | |
2874 | (XP): Allow as initializer. | |
2875 | ||
2876 | Tue Feb 19 14:09:06 1991 James Clark (jjc at jclark) | |
2877 | ||
2878 | * troff/env.c (environment::wrap_up_field): If field_spaces are | |
2879 | non-zero and we have a current_tab, subtract padding from | |
2880 | tab_distance. If this makes tab_distance <= 0, use the next tab | |
2881 | stop instead. If there isn't any next tab or it's a left tab, | |
2882 | wrap up the current tab. | |
2883 | (environment::start_field): Initialize tab_precedes_field. | |
2884 | (environment::wrap_up_tab): If there's a current field, update | |
2885 | pre_field_width, field_distance and tab_precedes_field. | |
2886 | * troff/env.h (environment::tab_precedes_field): New member. | |
2887 | ||
2888 | Fri Feb 15 01:24:00 1991 James Clark (jjc at jclark) | |
2889 | ||
2890 | * ps/ps.c (ps_printer::do_file): New function. | |
2891 | (ps_printer::special): Bind to `file' special. | |
2892 | (ps_printer::do_exec): Set ndefined_styles to 0. | |
2893 | ||
2894 | Sat Feb 9 03:03:04 1991 James Clark (jjc at jclark) | |
2895 | ||
2896 | * eqn/text.c (split_text): Grok \* and similar escapes sequences. | |
2897 | Avoid stripping first character from the start of unrecognized | |
2898 | escapes. Use lex_error instead of error to report errors. | |
2899 | * eqn/lex.c (get_token): Rework handling of escapes. | |
2900 | (lex_error): Move declaration into... | |
2901 | * eqn/eqn.h. | |
2902 | ||
2903 | * xditview/xditview.c (main): Make -page option work. | |
2904 | ||
2905 | * Makefile: Correct comment about -DBROKEN_SPOOLER and pageview. | |
2906 | ||
2907 | Wed Feb 6 12:28:43 1991 James Clark (jjc at jclark) | |
2908 | ||
2909 | * macros/tmac.s (B2): Correct size of box. | |
2910 | ||
2911 | Tue Feb 5 00:37:35 1991 James Clark (jjc at jclark) | |
2912 | ||
2913 | * macros/tmac.s (B2): Postpone drawing the box until in the | |
2914 | top-level diversion. | |
2915 | ||
2916 | * tty/tmac.tty: Add font translations for C, CR, CW. | |
2917 | ||
2918 | * groff.c (synopsis, help): Document -i. | |
2919 | * groff.sh: Implement -i. | |
2920 | ||
2921 | * macros/tmac.s (@NH): Put a `.' after multi-part numbers. | |
2922 | Simplify the construction of SN. | |
2923 | ||
2924 | * troff/number.c (parse_term): Give `|' a higher precedence. | |
2925 | * tbl/table.c (numeric_text_entry::simple_print): Parenthesise | |
2926 | accordingly. | |
2927 | ||
2928 | * macros/tmac.s (B2): Use par@finish instead of par@reset. | |
2929 | ||
2930 | Mon Feb 4 12:36:09 1991 James Clark (jjc at jclark) | |
2931 | ||
2932 | * lib/string.c (string::move): New function. | |
2933 | * lib/stringclass.h: Declare it. | |
2934 | ||
2935 | Sat Feb 2 16:02:16 1991 James Clark (jjc at jclark) | |
2936 | ||
2937 | * troff/env.c (distribute_space): Add optional argument | |
2938 | `force_forward'. | |
2939 | (environment::wrap_up_field): Call distribute_space with | |
2940 | `force_forward' argument of 1. | |
2941 | ||
2942 | Fri Feb 1 19:36:33 1991 James Clark (jjc at jclark) | |
2943 | ||
2944 | * lib/string.c, lib/stringclass.h (string::operator+=(char)): | |
2945 | Inline it. Move reallocation into... | |
2946 | (string::grow1): New function. | |
2947 | * pic/Makefile, tbl/Makefile, eqn/Makefile, ps/Makefile: Redo | |
2948 | dependencies to include library header files. | |
2949 | * lib/Makefile: Make string.c and lf.c depend on stringclass.h. | |
2950 | ||
2951 | Thu Jan 31 15:02:27 1991 James Clark (jjc at jclark) | |
2952 | ||
2953 | * macros/tmac.s (@NH): Use the same number registers than -ms does | |
2954 | for the heading level counters. Use the same string that -ms does | |
2955 | for the number for this heading. | |
2956 | ||
2957 | Wed Jan 30 14:25:40 1991 James Clark (jjc at jclark) | |
2958 | ||
2959 | * lib/new.c (operator new): Cast result of malloc to char *. | |
2960 | ||
2961 | * troff/input.c (spring_trap, lookup_request): Add assert that nm | |
2962 | is not null. | |
2963 | ||
2964 | Tue Jan 29 18:08:05 1991 James Clark (jjc at jclark) | |
2965 | ||
2966 | * groff.c (main): Support -i. | |
2967 | ||
2968 | Sun Jan 27 13:23:17 1991 James Clark (jjc at jclark) | |
2969 | ||
2970 | * pic/pic.h: Include <osfcn.h>. | |
2971 | ||
2972 | * ps/ps.c: Add declaration of mktemp. | |
2973 | ||
2974 | * Makefile: Add -DHAVE_UNION_WAIT option for CPPDEFINES. | |
2975 | * groff.c: If HAVE_UNION_WAIT is defined, declare wait()'s | |
2976 | argument as union wait *. | |
2977 | (run_commands): If HAVE_UNION_WAIT is defined cast wait()'s | |
2978 | argument to union wait *. | |
2979 | ||
2980 | Sat Jan 26 12:04:52 1991 James Clark (jjc at jclark) | |
2981 | ||
2982 | * tty/tmac.tty: Add definition of \(co. | |
2983 | ||
2984 | * pic/object.c (make_arc): Only increase radius when radius | |
2985 | strictly less than d. | |
2986 | (arc_object::update_bounding_box): May need to add 4.0 to end_quad | |
2987 | more than once. | |
2988 | ||
2989 | * troff/env.c (environment::environment(symbol), | |
2990 | environment::environment(const environment *)): Initialize | |
2991 | input_trap_count. | |
2992 | ||
2993 | Sat Jan 19 08:18:35 1991 James Clark (jjc at jclark) | |
2994 | ||
2995 | * tbl/main.c (main): Add exit(0). | |
2996 | ||
2997 | * ps/ps.c (ps_printer::~ps_printer): Use fseek instead of rewind. | |
2998 | ||
2999 | * pic/main.c (main): | |
3000 | * eqn/main.c (main): | |
3001 | * tbl/main.c (main): | |
3002 | * etc/soelim.c (main): | |
3003 | * driver/printer.c (printer::~printer): | |
3004 | * troff/node.c (real_output_file::~real_output_file, | |
3005 | real_output_file::flush): Check for errors on stdout. | |
3006 | ||
3007 | * most files: Add 1991 to copyright notice. | |
3008 | ||
3009 | * macros/tmac.s: Don't test \n(.x and \n(.y. | |
3010 | ||
3011 | * troff/input.c (token::next): Rename `escape_char' label to | |
3012 | `handle_escape_char' and `normal_char' label to | |
3013 | `handle_normal_char'. | |
3014 | ||
3015 | Thu Jan 17 15:46:35 1991 James Clark (jjc at jclark) | |
3016 | ||
3017 | * groff.c (main, synopsis, help): Support -a option. | |
3018 | * groff.sh: Likewise. Also eliminate Zflag variable by adding -z | |
3019 | to trflags while parsing options. | |
3020 | ||
3021 | Tue Jan 15 13:07:27 1991 James Clark (jjc at jclark) | |
3022 | ||
3023 | * troff/number.c (parse_term): With `m', `M' and `n' scale | |
3024 | indicators, convert scale factor to hunits before scaling. | |
3025 | ||
3026 | Mon Jan 14 12:39:12 1991 James Clark (jjc at jclark) | |
3027 | ||
3028 | * lib/font.c (scale_round): Better test for overflow when n is | |
3029 | negative. | |
3030 | ||
3031 | Thu Jan 10 11:10:56 1991 James Clark (jjc at jclark) | |
3032 | ||
3033 | * tbl/main.c (process_format): Add second argument of type | |
3034 | options*. Change callers. Allow opt->tab_char as well as '\t' | |
3035 | between format items. | |
3036 | ||
3037 | Mon Jan 7 12:30:18 1991 James Clark (jjc at jclark) | |
3038 | ||
3039 | * macros/tmac.an (PD): With no arguments, make sure register PD is | |
3040 | at least \n[.V]. | |
3041 | (TH): Call PD with no argument, instead of setting register PD | |
3042 | directly. | |
3043 | ||
3044 | Sun Jan 6 11:18:39 1991 James Clark (jjc at jclark) | |
3045 | ||
3046 | * Version 1.00 released. | |
3047 | ||
3048 | Sat Jan 5 08:44:30 1991 James Clark (jjc at jclark) | |
3049 | ||
3050 | * ps/tmac.ps, xditview/tmac.X: Add font translation of C to CR. | |
3051 | ||
3052 | * dvi/devdvi/DESC: Mount CW instead of CR. | |
3053 | ||
3054 | * dvi/tmac.dvi: Add definition of \(tm. | |
3055 | ||
3056 | * dvi/devdvi/texsy.map: Add lh, and rh. | |
3057 | * dvi/devdvi/texex.map: Add lt, rt, lb, rb, lk, rk. | |
3058 | * dvi/devdvi/texmi.map: Add *o. Regenerate fonts. | |
3059 | ||
3060 | * dvi/devdvi/FontMakefile: Generate H from cmss10. | |
3061 | * dvi/devdvi/Makefile: Install H. | |
3062 | * dvi/devdvi/H: New file. | |
3063 | ||
3064 | Fri Jan 4 15:04:57 1991 James Clark (jjc at jclark) | |
3065 | ||
3066 | * troff/env.c (vertical_spacing): Don't allow vertical spacing to | |
3067 | be 0. | |
3068 | ||
3069 | Thu Jan 3 13:41:19 1991 James Clark (jjc at jclark) | |
3070 | ||
3071 | * macros/tmac.s (@EN): Add \n(.V to the argument to ds@need. | |
3072 | ||
3073 | * macros/tmac.pic (PS): Avoid attempting to set negative indent. | |
3074 | ||
3075 | * macros/tmac.s (@EN): Handle the case where the equation is empty | |
3076 | but the label is not. | |
3077 | ||
3078 | Wed Jan 2 10:31:44 1991 James Clark (jjc at jclark) | |
3079 | ||
3080 | * troff/groff.h: New warning category WARN_SPACE. | |
3081 | * troff/input.c: Add WARN_SPACE to DEFAULT_WARNING_MASK. Add | |
3082 | WARN_SPACE to warning_table. | |
3083 | (interpolate_macro): Give a warning of type WARN_SPACE if the name | |
3084 | is longer than two characters and is not defined, but the first | |
3085 | two characters do make a defined name. | |
3086 | ||
3087 | * PROBLEMS: New file. | |
3088 | ||
3089 | * CHANGES: New file. | |
3090 | * README-0.6, README-1.00: Deleted. | |
3091 | ||
3092 | * groff.c, groff.sh: Add X75-12 and X100-12 devices. | |
3093 | * xditview/devX75/Makefile: Make devX75-12. | |
3094 | * xditview/devX100/Makefile: Make devX100-12. | |
3095 | ||
3096 | * xditview/devX100/eqnchar, xditview/devX75/eqnchar, | |
3097 | dvi/devdvi/eqnchar, ps/devps/eqnchar: Remove use of \R. | |
3098 | ||
3099 | Tue Jan 1 19:24:01 1991 James Clark (jjc at jclark) | |
3100 | ||
3101 | * README-0.7: Rename to README-1.00. | |
3102 | ||
3103 | * macros/tmac.pic: New file. | |
3104 | * macros/Makefile (install.nobin): Install tmac.pic. | |
3105 | ||
3106 | Mon Dec 31 10:40:53 1990 James Clark (jjc at jclark) | |
3107 | ||
3108 | * troff/env.c (hyphen_word): Correct the test for whether the | |
3109 | token is a hyphen. Reset npos to 0. | |
3110 | ||
3111 | * macros/tmac.s (par@sup-start, par@sup-end): New implementations. | |
3112 | ||
3113 | Sun Dec 30 15:53:13 1990 James Clark (jjc at jclark) | |
3114 | ||
3115 | * macros/tmac.s (ds*common-end): Call par*reset. | |
3116 | (PE): Likewise. | |
3117 | (par@reset-indent): Deleted. | |
3118 | ||
3119 | * macros/tmac.s (@IP): Divert the label. | |
3120 | ||
3121 | Sat Dec 29 14:33:32 1990 James Clark (jjc at jclark) | |
3122 | ||
3123 | * xditview/draw.c (setGC): Use a line width of .1m rather than | |
3124 | .04m by default; round rather than truncate value. | |
3125 | ||
3126 | * tbl/table.c (class empty_entry): New class. | |
3127 | (empty_entry::empty_entry, empty_entry::line_type): New functions. | |
3128 | (table::add_entry): Represent empty entries by objects of type | |
3129 | empty_entry. | |
3130 | (table_entry::line_type): Return -1. | |
3131 | (table::determine_row_type): Ignore entries with line_type 0. | |
3132 | Treat type -1 as non-lines. | |
3133 | ||
3134 | Fri Dec 28 15:04:41 1990 James Clark (jjc at jclark) | |
3135 | ||
3136 | * ps/devps/textmap, xditview/libXdvi/DviChar.c, tty/devlatin1/R.proto, | |
3137 | macros/tmac.s: Rename \(-d to \(Sd. | |
3138 | ||
3139 | Thu Dec 27 12:35:47 1990 James Clark (jjc at jclark) | |
3140 | ||
3141 | * ps/devps/textmap: Add `sd', `/_' and `3d' characters. | |
3142 | * xditview/libXdvi/DviChar.c: Likewise. | |
3143 | * dvi/devdvi/texsy.map: Add `<<', `>>'. | |
3144 | ||
3145 | Wed Dec 26 13:33:23 1990 James Clark (jjc at jclark) | |
3146 | ||
3147 | * troff/div.c (top_level_diversion::begin_page): Call | |
3148 | init_output() if the_output is 0. | |
3149 | ||
3150 | Sat Dec 22 12:35:29 1990 James Clark (jjc at jclark) | |
3151 | ||
3152 | * troff/input.c: Replace ESCAPE_E by ESCAPE_e and ESCAPE_C by | |
3153 | ESCAPE_c. | |
3154 | (get_copy): Turn \E into ESCAPE_E. | |
3155 | (token::process, asciify): Handle ESCAPE_E. | |
3156 | ||
3157 | * macros/tmac.s (ds*common-end, par@reset): Add `.rj 0'. | |
3158 | (RD): New macro. | |
3159 | (DS): Implement `.DS R'. | |
3160 | ||
3161 | Fri Dec 21 11:41:53 1990 James Clark (jjc at jclark) | |
3162 | ||
3163 | * macros/tmac.s (FS): New macro. | |
3164 | ||
3165 | * macros/tmac.s (fn@do-FS): Use @LP instead of LP. | |
3166 | ||
3167 | * macros/tmac.s (cov*tl-init): Remove after first execution | |
3168 | instead of aliasing to @nop. Call top of page macro explicitly | |
3169 | instead of setting trap; call @init first. Set pg@top as top of | |
3170 | page macro. | |
3171 | (cov*auto-init): Deleted. Set cov*tl-init instead of | |
3172 | cov*auto-init as top of page trap. | |
3173 | (TL, LP): Do a break instead of calling cov*tl-init. | |
3174 | (cov*print): With RP format but no TL, alias FS and FE to @FS and | |
3175 | @FE; in this case also give a warning and always start another | |
3176 | page. No need to set pg@top here. | |
3177 | (cov*tl-init): Rename to cov*first-page-init. | |
3178 | ||
3179 | * macros/tmac.s (RP): Do `.pn 0'. | |
3180 | (cov*tl-init): With RP format don't do `.pn 0'. | |
3181 | ||
3182 | * macros/tmac.s (pg@cs-top): Set no space mode. | |
3183 | ||
3184 | * macros/tmac.s (par@TL, par@AU, par@AI): New macros. | |
3185 | (cov*ab-init): Alias TL, AU and AI to these. | |
3186 | ||
3187 | Thu Dec 20 10:10:50 1990 James Clark (jjc at jclark) | |
3188 | ||
3189 | * macros/tmac.s (@EQ): Move the space before the equation into @EN | |
3190 | (@EN): Do nothing unless \n[dl] is > 0. | |
3191 | ||
3192 | Tue Dec 18 12:20:47 1990 James Clark (jjc at jclark) | |
3193 | ||
3194 | * pic/object.c (ellipse_object::radius): New function. | |
3195 | ||
3196 | * VERSION: Change version to 0.7. | |
3197 | ||
3198 | * tbl/table.c (block_entry::do_divert): Declare return type as | |
3199 | void. | |
3200 | (block_entry::divert, alphabetic_block_entry::divert): Return 1. | |
3201 | ||
3202 | Mon Dec 17 12:30:34 1990 James Clark (jjc at jclark) | |
3203 | ||
3204 | * troff/column.c: New file. | |
3205 | * troff/Makefile: Corresponding changes. | |
3206 | ||
3207 | * troff/hvunits.c (scale(vunits, vunits, vunits)): New function. | |
3208 | Friend of vunits. | |
3209 | ||
3210 | * troff/div.c (top_level_diversion::space): If the space causes | |
3211 | the first-page transition and springs a trap, truncate the space | |
3212 | to 0. | |
3213 | ||
3214 | Fri Dec 14 12:30:02 1990 James Clark (jjc at jclark) | |
3215 | ||
3216 | * ps/ps.c (ps_printer::do_import): Add a `clear' after including | |
3217 | the document. | |
3218 | ||
3219 | * pic/troff.c (troff_output::line_thickness, | |
3220 | troff_output::set_fill): Do a horizontal motion to compensate for | |
3221 | the width of the \D escape sequence. | |
3222 | ||
3223 | Thu Dec 13 10:17:14 1990 James Clark (jjc at jclark) | |
3224 | ||
3225 | * xditview/tmac.X: Reinstate definition of \(rn, but only for X100 | |
3226 | (not X75). | |
3227 | ||
3228 | * eqn/sqrt.c (sqrt_box::compute_metrics): Supply missing argument | |
3229 | to printf. | |
3230 | ||
3231 | * tbl/table.c (simple_entry::simply_print): Don't declare as pure. | |
3232 | Supply empty definition. | |
3233 | (text_entry::simple_print, simple_text_entry::simple_print): | |
3234 | Delete declarations. | |
3235 | (table::add_entry): Represent empty entries by objects of type | |
3236 | `simple_entry'. | |
3237 | ||
3238 | Wed Dec 12 08:50:48 1990 James Clark (jjc at jclark) | |
3239 | ||
3240 | * troff/Makefile: Remove -DHYPHEN_CONTROL from DEFINES. | |
3241 | ||
3242 | * tbl/table.c (left_text_entry::add_tab): New function. | |
3243 | ||
3244 | * macros/tmac.s: Make @RT an alias for par@reset. Make RT | |
3245 | initialize like LP. | |
3246 | ||
3247 | Mon Dec 10 11:19:55 1990 James Clark (jjc at jclark) | |
3248 | ||
3249 | * troff/env.c (environment::start_field): Give an error message if | |
3250 | there is no next tab. | |
3251 | ||
3252 | Sun Dec 9 11:46:40 1990 James Clark (jjc at jclark) | |
3253 | ||
3254 | * troff/env.c (hyphenate): Skip initial elements with zero | |
3255 | hyphenation code. | |
3256 | ||
3257 | * macros/tmac.s (par@init): Keep VS in points rather than units. | |
3258 | ||
3259 | Sat Dec 8 23:00:27 1990 James Clark (jjc at jclark) | |
3260 | ||
3261 | * pic/main.c (main): Implement `-c' option. | |
3262 | * pic/output.h: Declare make_tpic_output(). | |
3263 | * pic/tex.c (tex_output::set_pen_size): Make it virtual and | |
3264 | protected. | |
3265 | (tpic_output): New class. | |
3266 | (tpic_output::tpic_output, tpic_output::set_pen_size, | |
3267 | tpic_output::command, make_tpic_output): New functions. | |
3268 | ||
3269 | Fri Dec 7 11:57:41 1990 James Clark (jjc at jclark) | |
3270 | ||
3271 | * tbl/main.c (main): Call `.ab' if \n(.g is false. Define TS/TE | |
3272 | if they're not already defined. | |
3273 | * tbl/table.c (init_output): Don't test \n(.g. | |
3274 | ||
3275 | * troff/input.c (do_if_request): Delete `g' condition. Recognize | |
3276 | `d', `r' and `c' conditions even in compatibility mode. | |
3277 | ||
3278 | Tue Dec 4 09:13:47 1990 James Clark (jjc at jclark) | |
3279 | ||
3280 | * ps/tmac.ps (ps-bb): Protect against negative numbers in bounding | |
3281 | box. | |
3282 | ||
3283 | Mon Dec 3 07:18:26 1990 James Clark (jjc at jclark) | |
3284 | ||
3285 | * troff/env.h (environment::prev_line_interrupted): New member. | |
3286 | (environment::get_prev_line_interrupted): New function. | |
3287 | * troff/env.c (environment::newline): Set prev_line_interrupted. | |
3288 | (environment::environment(const environment *), | |
3289 | environment::environment(symbol)): Initialize | |
3290 | prev_line_interrupted. | |
3291 | * troff/input.c (process_input_stack): Don't give special | |
3292 | treatment to space and newline at the beginning of the line if the | |
3293 | previous line was interrupted. | |
3294 | ||
3295 | Sat Dec 1 15:48:37 1990 James Clark (jjc at jclark) | |
3296 | ||
3297 | * eqn/eqn.y: Disallow PRIME by itself. | |
3298 | * eqn/lex.c (token_table): Bind `opprime' instead of `prime' to | |
3299 | PRIME. | |
3300 | (def_table): Remove definition of '. Define prime to be `. | |
3301 | ||
3302 | * eqn/eqn.y: Split off part of rule `script' into a new rule | |
3303 | `nonsup'. | |
3304 | ||
3305 | Fri Nov 30 10:23:44 1990 James Clark (jjc at jclark) | |
3306 | ||
3307 | * macros/tmac.s ({, }): New string aliases. | |
3308 | ||
3309 | Thu Nov 29 11:34:40 1990 James Clark (jjc at jclark) | |
3310 | ||
3311 | * README-0.7: New file. | |
3312 | ||
3313 | Wed Nov 28 10:09:57 1990 James Clark (jjc at jclark) | |
3314 | ||
3315 | * macros/tmac.s: New file. | |
3316 | * man/groff_ms.man: New file. | |
3317 | * Makefile: Add definition of TMAC_S. Pass TMAC_S in SUBFLAGS. | |
3318 | * Makefile.bd: Similarily. | |
3319 | * man/Makefile: Add groff_ms.n to MAN7PAGES. Replace @TMAC_S@. Add | |
3320 | definition of TMAC_S. | |
3321 | * macros/Makefile: Add definition of TMAC_S. Install tmac.s. | |
3322 | * macros/TODO: New file. | |
3323 | ||
3324 | Sat Nov 24 20:04:54 1990 James Clark (jjc at jclark) | |
3325 | ||
3326 | * troff/env.c (right_justify): New function. | |
3327 | (init_env_requests): Bind this to request "rj". | |
3328 | (center_lines): Set right_justify_lines to 0. If we get a bad | |
3329 | integer, center 1 line. | |
3330 | (environment::environment(symbol), environment::environment(const | |
3331 | environment *)): Initialize right_justify_lines. | |
3332 | (environment::get_right_justify_lines): New function. | |
3333 | (init_env_requests): Bind this to number_register ".rj". | |
3334 | ||
3335 | * troff/env.c (environment::choose_breakpoint): Implement | |
3336 | hyphenation_margin and hyphenation_space. | |
3337 | (environment::get_hyphenation_space, | |
3338 | environment::get_hyphenation_margin): New functions. | |
3339 | (init_env_requests): Bind these to .hys and .hym. | |
3340 | (hyphenation_space_request, hyphenation_margin_request): New | |
3341 | functions | |
3342 | (init_env_requests): Bind these to hys and hym. | |
3343 | (environment::environment(symbol), environment::environment(const | |
3344 | environment *)): Initialize hyphenation_margin and | |
3345 | hyphenation_space. | |
3346 | * troff/env.h: Corresponding changes to class environment. | |
3347 | ||
3348 | Fri Nov 23 09:08:16 1990 James Clark (jjc at jclark) | |
3349 | ||
3350 | * troff/div.c (blank_line): Always do a break. | |
3351 | ||
3352 | * eqn/box.c (do_text): Turn off escapes while appending text to | |
3353 | string. | |
3354 | ||
3355 | Thu Nov 22 10:58:59 1990 James Clark (jjc at jclark) | |
3356 | ||
3357 | * troff/input.c (while_break_request, while_continue_request): New | |
3358 | functions. | |
3359 | (init_input_requests): Bind these to "break" and "continue". | |
3360 | (while_depth, while_break_flag): New variables. | |
3361 | (while_request): Update while_depth. Break out of loop if | |
3362 | while_break_flag is set. | |
3363 | ||
3364 | Wed Nov 21 10:54:40 1990 James Clark (jjc at jclark) | |
3365 | ||
3366 | * tbl/table.c (init_span_reg): Initialize span_width_reg to \n(.H | |
3367 | rather than 0. | |
3368 | ||
3369 | Mon Nov 19 00:45:03 1990 James Clark (jjc at jclark) | |
3370 | ||
3371 | * Makefile: Include -DBROKEN_SPOOLER by default. Expand comment. | |
3372 | ||
3373 | * stringify: New file. | |
3374 | * Makefile (groff.o): Use stringify. | |
3375 | ||
3376 | * xditview/tmac.X: Remove definition of \(rn. | |
3377 | * xditview/libXdvi/DviChar.c: Remove radicalex from | |
3378 | Adobe_symbol_map. | |
3379 | ||
3380 | Sat Nov 17 10:44:58 1990 James Clark (jjc at jclark) | |
3381 | ||
3382 | * tbl/table.c (table::add_entry): Allow alphabetic text blocks. | |
3383 | (alphabetic_block_entry::alphabetic_block_entry, | |
3384 | alphabetic_block_entry::divert, alphabetic_block_entry::print): | |
3385 | New functions. | |
3386 | (block_entry::divert): Split off body into ... | |
3387 | (block_entry::do_divert): If the block is alphabetic, subtract 2n | |
3388 | from the line length; also update the span width to dl+2n, and the | |
3389 | alphabetic span width to dl. | |
3390 | ||
3391 | * driver/input.c (do_file): While reading argument to D command, | |
3392 | when expanding buffer, multiply szp by sizeof(int) rather than 2 | |
3393 | in the argument to memcpy. | |
3394 | ||
3395 | * tbl/table.c (compute_span_width): Add 2n rather than 1n to the | |
3396 | width of alphabetic columns. | |
3397 | ||
3398 | Fri Nov 16 06:34:27 1990 James Clark (jjc at jclark) | |
3399 | ||
3400 | * troff/node.c (lookup_family): Supply second argument to lookup. | |
3401 | ||
3402 | * troff/dictionary.c (dictionary::lookup): After an unsuccesful | |
3403 | search, return immediately if v is 0. | |
3404 | ||
3405 | * pic/troff.c: Define EQN_NO_EXTRA_SPACE_REG. | |
3406 | (troff_output::start_picture): Set this reg. | |
3407 | (troff_output::end_picture): Remove this reg | |
3408 | * eqn/box.c (box::extra_space): Don't produce `\x's if | |
3409 | EQN_NO_EXTRA_SPACE_REG is defined. | |
3410 | ||
3411 | * eqn/eqn.y: Allow just a PRIME to be a `simple'. | |
3412 | * eqn/text.c (split_text): Map ' to \(fm when it's the first | |
3413 | character. | |
3414 | ||
3415 | Thu Nov 15 10:35:06 1990 James Clark (jjc at jclark) | |
3416 | ||
3417 | * macros/tmac.e: Use font 3 instead of B in $c. Remove `bd' | |
3418 | requests. | |
3419 | ||
3420 | * troff/div.c (top_level_diversion::top_level_diversion): | |
3421 | Initialize page_number to 0. | |
3422 | ||
3423 | Wed Nov 14 21:41:58 1990 James Clark (jjc at jclark) | |
3424 | ||
3425 | * groff/troff (environment::environment(const environment *)): | |
3426 | Initialize name to e->name, rather than "anonymous". | |
3427 | ||
3428 | Sat Nov 10 01:59:37 1990 James Clark (jjc at jclark) | |
3429 | ||
3430 | * xditview/libXdvi/Dvi.c (ShowDvi): If eof is encountered, reset | |
3431 | requested_page. Split middle part into ... | |
3432 | (FindPage): New function. | |
3433 | (SetValues): If we don't yet know the last page, and the requested | |
3434 | page is greater than the current page, call FindPage. | |
3435 | Update the font_map_string before doing this. | |
3436 | ||
3437 | * xditview/tmac.X: Add definitions of \(sq, \(ga, \(dg and \(dd. | |
3438 | Translate \(lh and \(rh into left and right double arrows. | |
3439 | ||
3440 | * troff/node.c (class hyphen_inhibitor_node): New class. | |
3441 | (hyphen_inhibitor_node::hyphen_inhibitor_node, | |
3442 | hyphen_inhibitor_node::copy, hyphen_inhibitor_node::same, | |
3443 | hyphen_inhibitor_node::type, | |
3444 | hyphen_inhibitor_node::get_hyphenation_type): New functions. | |
3445 | (node::add_discretionary_hyphen): Use hyphen_inhibitor_node rather | |
3446 | than dbreak_node(0, 0) to represent a `\%' at the beginning of a | |
3447 | word. | |
3448 | ||
3449 | Fri Nov 9 16:05:38 1990 James Clark (jjc at jclark) | |
3450 | ||
3451 | * troff/node.h (dummy_node::get_hyphenation_type, | |
3452 | transparent_dummy_node::get_hyphenation_type): Declare them. | |
3453 | * troff/node.c: (dummy_node::get_hyphenation_type, | |
3454 | transparent_dummy_node::get_hyphenation_type): New functions. | |
3455 | ||
3456 | Wed Nov 7 10:09:06 1990 James Clark (jjc at jclark) | |
3457 | ||
3458 | * xditview/libXdvi/draw.c: If M_PI not defined after including | |
3459 | math.h, then define it. | |
3460 | ||
3461 | * xditview/Makefile: Add definition of AR. Pass it to the submake | |
3462 | in libXdvi. | |
3463 | * xditview/libXdvi/Makefile: Add definitions of AR and RANLIB. | |
3464 | ||
3465 | Tue Nov 6 10:14:27 1990 James Clark (jjc at jclark) | |
3466 | ||
3467 | * troff/dictionary.h (object_dictionary::alias): Declare return | |
3468 | value as int. | |
3469 | * troff/dictionary.c (object_dictionary::alias): Return non-zero | |
3470 | if the old name was defined. | |
3471 | * troff/input.c (alias_macro): Give a warning if the old name was | |
3472 | not defined. | |
3473 | * troff/reg.c (alias_reg): Likewise. | |
3474 | ||
3475 | Mon Nov 5 00:31:39 1990 James Clark (jjc at jclark) | |
3476 | ||
3477 | * troff/input.c (token::next): Delete implementation of \R. | |
3478 | ||
3479 | * macros/Makefile: Strip comments from tmac.e while installing it. | |
3480 | ||
3481 | * troff/input.c: New variable `nroff_mode'. | |
3482 | (troff_request, nroff_request): New functions. | |
3483 | (init_input_requests): Bind `troff' and `nroff' to troff_request | |
3484 | and nroff_request. | |
3485 | (do_if_request): Compute results of t and n conditions from | |
3486 | nroff_mode. | |
3487 | ||
3488 | * text/text.c (split_text): Fix typo in >=. | |
3489 | ||
3490 | * eqn/lex.c: Add definition of `==' to def_table. | |
3491 | ||
3492 | Fri Nov 2 02:49:09 1990 James Clark (jjc at jclark) | |
3493 | ||
3494 | * pic/tex.c (tex_output::start_picture): Change the definitions of | |
3495 | \graph and \graphtemp so that they work properly with Plain TeX. | |
3496 | ||
3497 | * pic/tex.c (tex_output::solid_arc): Ensure that the second angle | |
3498 | argument to `ar' is not less than the first. | |
3499 | ||
3500 | * pic/pic.y: Allow a comma between elements of the variable list | |
3501 | in the argument to `reset'. | |
3502 | ||
3503 | * pic/object.c (arc_object::arc_object): Fix computation of | |
3504 | radius. | |
3505 | ||
3506 | * eqn/main.c (main): Add exit(0). | |
3507 | ||
3508 | Thu Nov 1 02:03:50 1990 James Clark (jjc at jclark) | |
3509 | ||
3510 | * troff/div.c (begin_page): Test no_space_mode after doing the | |
3511 | break, but still push the page ejector cookie before doing the | |
3512 | break. Also set the next page number after doing the break. | |
3513 | ||
3514 | * xditview/xditview.c (NewFile): Don't set the title and icon name | |
3515 | if this is the first file and its name is `-'. | |
3516 | * groff/groff.c: Define a new device flag XT_OPTION. Set it for | |
3517 | the X75 and X100 devices. | |
3518 | (main): If a device has the XT_OPTION flag set and there's exactly | |
3519 | one file argument, pass the driver -xrm and -title options to set | |
3520 | the icon name and window title to the name of the file. | |
3521 | ||
3522 | * troff/env.c (environment_switch): If there was an argument but | |
3523 | it wasn't a valid number or name, then pop an environment but | |
3524 | don't give an error message on underflow. | |
3525 | ||
3526 | * troff/number.c (start_number): Correct spelling in error message. | |
3527 | ||
3528 | * troff/input.c (token::delimiter): Don't print an error message | |
3529 | if err is false. | |
3530 | ||
3531 | * xditview/libXdvi/parse.c (ParseInput): In case 'D', only call | |
3532 | ParseDrawFunction if dw->display_enable is true. | |
3533 | ||
3534 | Wed Oct 31 05:49:50 1990 James Clark (jjc at jclark) | |
3535 | ||
3536 | * pic/pic.y: Parse text positioning like normal attributes, so as | |
3537 | to allow `"text" at 0,0 ljust'. Don't allow `center' as a | |
3538 | positioning attribute. | |
3539 | ||
3540 | Mon Oct 29 22:50:38 1990 James Clark (jjc at jclark) | |
3541 | ||
3542 | * tbl/main.c (process_data): When in state START while reading a | |
3543 | text block, don't change to state MIDDLE if c is a newline. | |
3544 | ||
3545 | Sun Oct 28 21:59:56 1990 James Clark (jjc at jclark) | |
3546 | ||
3547 | * dvi/dvi.c (dvi_printer::begin_page): Rename `i' variable to `j' | |
3548 | so as to avoid shadowing parameter. | |
3549 | ||
3550 | Wed Oct 24 18:35:39 1990 James Clark (jjc at jclark) | |
3551 | ||
3552 | * tbl/table.c (trim_space): Deleted. | |
3553 | (table::add_entry): Don't call trim_space. | |
3554 | ||
3555 | Mon Oct 22 03:48:39 1990 James Clark (jjc at jclark) | |
3556 | ||
3557 | * VERSION: Change version to 0.6. | |
3558 | ||
3559 | * troff/number.c (parse_expr): Make == work. | |
3560 | ||
3561 | Sat Oct 20 11:28:17 1990 James Clark (jjc at jclark) | |
3562 | ||
3563 | * man/grog.man: New file. | |
3564 | * man/Makefile: Add grog.n to MAN1PAGES. | |
3565 | * etc/grog.sh: New file. | |
3566 | * etc/Makefile: Install grog.sh as grog. | |
3567 | ||
3568 | Fri Oct 19 11:17:15 1990 James Clark (jjc at jclark) | |
3569 | ||
3570 | * troff/input.c (token::next): Implement \E. | |
3571 | ||
3572 | Thu Oct 18 11:56:24 1990 James Clark (jjc at jclark) | |
3573 | ||
3574 | * xditview/tmac.X: Change font translations to match tmac.ps. | |
3575 | ||
3576 | * troff/input.c (non_empty_name_warning): Don't give a warning if | |
3577 | `\{' terminates the name. | |
3578 | ||
3579 | Tue Oct 16 10:04:23 1990 James Clark (jjc at jclark) | |
3580 | ||
3581 | * ps/devps/symbol.diff: New file. | |
3582 | * ps/devps/FontMakefile: Mention symbol.diff. | |
3583 | ||
3584 | Sun Oct 14 11:46:46 1990 James Clark (jjc at jclark) | |
3585 | ||
3586 | * troff/node.c (font_position): Use get_long_name to read the | |
3587 | external_name. | |
3588 | ||
3589 | * troff/env.c (environment_switch): If we get a number that's < 0 | |
3590 | or >= NENVIRONMENTS, treat it like a name. | |
3591 | Change NENVIRONMENTS to 10. | |
3592 | ||
3593 | * troff/groff.h: Remove definition of FONTS_MAX. | |
3594 | * troff/node.h (class font_family): Make map a pointer instead of | |
3595 | an array. Add a map_size member. Make it a class. Make nm const | |
3596 | and public. Make invalidate_fontno a friend. | |
3597 | * troff/node.c: Define font_table_size. Make font_info a pointer | |
3598 | rather than an array. | |
3599 | (class troff_output_file): Allocate font_position dynamically. Add | |
3600 | nfont_positions member. | |
3601 | (troff_output_file::set_font): Grow font_position if necessary. | |
3602 | (troff_output_file::~troff_output_file): Delete font_position. | |
3603 | (troff_output_file::troff_output_file): Allocate font_position. | |
3604 | (grow_font_table): New function. | |
3605 | (troff_output_file::really_begin_page, | |
3606 | troff_output_file:really_copy_page): Use nfont_positions rather | |
3607 | than FONTS_MAX. | |
3608 | (mount_font_no_translate, mount_style): Call grow_font_table if | |
3609 | necessary. | |
3610 | (font_family::font_family): Allocate map. | |
3611 | (font_family::make_definite): Grow map if necessary. Use | |
3612 | font_table_size instead of FONTS_MAX. | |
3613 | (font_family::~font_family): New function. | |
3614 | (invalidate_fontno): Use font_family::map_size. | |
3615 | (get_fontno, env_space_width, env_half_narrow_space_width, | |
3616 | env_narrow_space_width, symbol_fotno, is_good_fontno, | |
3617 | get_bold_fontno, make_glyph_node): Use font_table_size rather than | |
3618 | FONTS_MAX. | |
3619 | (next_available_font_position): Never return 0. | |
3620 | ||
3621 | Fri Oct 12 10:17:52 1990 James Clark (jjc at jclark) | |
3622 | ||
3623 | * ps/tmac.ps: Add font translations for compatibility with dpost. | |
3624 | ||
3625 | Thu Oct 11 12:09:03 1990 James Clark (jjc at jclark) | |
3626 | ||
3627 | * eqn/pile.c: Rename default_baseline_sep to baseline_sep. | |
3628 | Move BASELINE_SEP_FORMAT and COLUMN_WIDTH_FORMAT into pbox.h. | |
3629 | Move definitions baseline_sep, shift_down, column_sep, | |
3630 | matrix_side_sep into... | |
3631 | * eqn/box.c: Add them to param_table. | |
3632 | * eqn/pbox.h: Add declarations to pbox.h. | |
3633 | ||
3634 | * troff/input.c (set_string): Cast value to unsigned char *. | |
3635 | ||
3636 | * troff/token.h (process_input_stack): Declare it static before | |
3637 | declaring it a friend. | |
3638 | ||
3639 | Wed Oct 10 09:59:13 1990 James Clark (jjc at jclark) | |
3640 | ||
3641 | * dvi/devdvi/texex.map: Fix positions of extensible brace middle | |
3642 | and bottom. | |
3643 | * dvi/devdvi/EX: Regenerate. | |
3644 | ||
3645 | * troff/input.c (init_charset_table): Make ", ', ), ], *, \(dg | |
3646 | transparent. | |
3647 | ||
3648 | Tue Oct 9 08:34:02 1990 James Clark (jjc at jclark) | |
3649 | ||
3650 | * eqn/lex.c: In defaults_table, make definition of `dot' call | |
3651 | `dot_def'. Don't explicitly make it roman. Similarily for other | |
3652 | accents. | |
3653 | ||
3654 | * pic/lex.c (for_input::for_input): Add by_is_multiplicative | |
3655 | argument. | |
3656 | (for_input::get, for_input::peek): Use this. | |
3657 | (do_for): Add by_is_multiplicative argument. | |
3658 | * pic/pic.y: Change optional_by clause to allow '*' after `by'. | |
3659 | Change semantic value of optional_by to be a double plus a flag | |
3660 | saying whethet the by clause is multiplicative. | |
3661 | ||
3662 | * eqn/lex.c (get_delimited_text): Remember location of start of | |
3663 | definition. Improve error handling when EOF is encountered. | |
3664 | ||
3665 | * lib/font.h: Rename handle_x_command to | |
3666 | handle_unknown_font_command. | |
3667 | * lib/font.c (font::load): Call handle_unknown_font_command for | |
3668 | any unknown command in the font description file. Don't call | |
3669 | handle_x_command. Include the name of the command in the argv. | |
3670 | Improve message for unknown command after kernpairs or charset | |
3671 | command. | |
3672 | * ps/ps.c (ps_font::handle_x_command): Rename to | |
3673 | handle_unknown_font_command. Remove message about `x download' | |
3674 | command. Give error message for wrong number of arguments. | |
3675 | * ps/devps/afmtodit: Generate `encoding' instead of `x encoding'. | |
3676 | * dvi/dvi.c (dvi_font::handle_x_command): Rename to | |
3677 | handle_unknown_font_command. Give an error message for wrong | |
3678 | number of arguments. Rename design_size to designsize. | |
3679 | * dvi/tfmtodit.c (main): Generate `checksum' instead of `x | |
3680 | checksum', `designsize' instead of `design_size'. | |
3681 | ||
3682 | Mon Oct 8 00:38:55 1990 James Clark (jjc at jclark) | |
3683 | ||
3684 | * eqn/*.[chy]: Change underaccent to uaccent. | |
3685 | ||
3686 | * eqn/eqn.y: Add rule for underaccent. Declare UNDERACCENT token; | |
3687 | give it the same precedence as ACCENT. | |
3688 | * eqn/other.c (make_underaccent_box): New function. | |
3689 | * eqn/box.h: Declare it. | |
3690 | * eqn/lex.c: Add UNDERACCENT to token_table. Add utilde to | |
3691 | def_table. | |
3692 | ||
3693 | Sun Oct 7 11:25:16 1990 James Clark (jjc at jclark) | |
3694 | ||
3695 | * pic/pic.y (reset_all): New function. Called in rule for RESET. | |
3696 | (parse_init): Call reset_all. | |
3697 | (define_variable): When defining scale reset only those | |
3698 | pre-defined variables that are scaled. | |
3699 | (defaults_table): Add `scale' as non-scaled value. | |
3700 | ||
3701 | * pic/pic.y: Redo parsing of text adjustments: parse adjustments | |
3702 | together with the text; allow any number of positioning words; | |
3703 | allow center as a positioning word. | |
3704 | ||
3705 | * pic/object.c (output::compute_scale): Get picture maximum height | |
3706 | and width from variables called maxpswid and maxpsht. | |
3707 | * pic/pic.y: Add maxpswid and maxpsht to defaults_table. | |
3708 | ||
3709 | Sat Oct 6 10:16:56 1990 James Clark (jjc at jclark) | |
3710 | ||
3711 | * pic/object.c (object_spec::make_text): Multiply textht by number | |
3712 | of text items. | |
3713 | ||
3714 | * pic/pic.y: Allow `sprintf("string", expr,...)' wherever text can | |
3715 | occur. | |
3716 | (do_sprintf): New function. | |
3717 | (pic.gperf): Add sprintf token. | |
3718 | (text, sprintf): New rules. | |
3719 | ||
3720 | * pic/pic.y: `rand()' with no arguments returns a random number | |
3721 | in the range [0,1). | |
3722 | ||
3723 | * pic/pic.y: Allow a bare expression to be an attribute: change | |
3724 | precedences to support this. Change optional_ordinal rule to | |
3725 | optional_ordinal_last to avoid reduce/reduce conflict. | |
3726 | * pic/object.c (object_spec::object_spec): Initialize direction. | |
3727 | ||
3728 | * pic/pic.y: Implement ^ operator meaning exponentiation. | |
3729 | ||
3730 | * troff/node.h: Add default argument to mount_font. | |
3731 | * troff/node.c (font_position): Read an optional third argument | |
3732 | giving the external_name. | |
3733 | (mount_font): Add optional argument giving the external_name. | |
3734 | (mount_font_not_translate): Have additional argument giving | |
3735 | external name. Use this name to load the font. Pass both names | |
3736 | to font_info::font_info. | |
3737 | (font_info::font_info): Have additional argument giving | |
3738 | external_name. | |
3739 | (class tfont): New member external_name. | |
3740 | (font_info::get_tfont): Use external name to construct tfont_spec. | |
3741 | ||
3742 | Fri Oct 5 04:03:13 1990 James Clark (jjc at jclark) | |
3743 | ||
3744 | * eqn/lex.c (init_table): Add argument giving device. Define | |
3745 | name of device to be "1". | |
3746 | (do_ifdef): Counts as true if the argument has been defined with | |
3747 | `define'. | |
3748 | * eqn/main.c (main): Call init_table with device argument. Make | |
3749 | device local to main. | |
3750 | * eqn/eqn.h: Change declaration of init_table. Remove declaration | |
3751 | of device. | |
3752 | ||
3753 | * pic/lex.c (get_delimited): Allow text to be delimited by | |
3754 | matching {}s. Don't recognize ending delimiter within a string. | |
3755 | ||
3756 | * troff/input.c (get_delim_name): New function. | |
3757 | (token::next): Implement \C. | |
3758 | ||
3759 | * lib/font.c (font::load): Grok ---. Add an alias for each | |
3760 | character based on its code. | |
3761 | (font::get_code_width): Deleted. | |
3762 | * lib/font.h (class font): Declare font::number_to_index(). | |
3763 | Remove declaration of font::get_code_width. | |
3764 | * lib/nametoindex.c (font::name_to_index): Add 512 rather than 256 | |
3765 | to indices of named characters. | |
3766 | (font::number_to_index): New function. | |
3767 | * troff/input.c (font::number_to_index): New function. | |
3768 | (get_charinfo_by_number, charinfo::get_number, | |
3769 | charinfo::set_number): New functions. | |
3770 | (token::next): Turn \N into a TOKEN_NUMBERED_CHAR. | |
3771 | (token::process, token::description, token::get_char, | |
3772 | token::add_to_node_list, token::operator==): Handle | |
3773 | TOKEN_NUMBERED_CHAR. | |
3774 | * troff/charinfo.h: Declare get_charinfo_by_number, | |
3775 | charinfo::get_number, charinfo::set_number. Add NUMBERED flag to | |
3776 | charinfo class. | |
3777 | (charinfo::numbered): New function. | |
3778 | * troff/token.h: Add TOKEN_NUMBERED_CHAR. | |
3779 | * troff/env.h (class environment): Remove declaration of ... | |
3780 | * troff/env.c (environment::make_numbered_char_node): Deleted. | |
3781 | * troff/node.c (make_numbered_node): Deleted. | |
3782 | (class numbered_glyph_node): Remove. | |
3783 | (troff_output_file::put_char_width, troff_output_file::put_char): | |
3784 | Handle numbered chars. | |
3785 | (troff_output_file::numbered_char): Removed. | |
3786 | (tfont::get_code_width): Removed. | |
3787 | (make_glyph_node): Don't search special fonts for numbered | |
3788 | characters. | |
3789 | * troff/node.h: Remove declaration of make_numbered_node. | |
3790 | * driver/input.c (do_file): Handle N command. | |
3791 | * driver/printer.h: Add declaration of ... | |
3792 | * driver/printer.c (printer::set_numbered_char): New function. | |
3793 | * dvi/tfmtodit.c (main): Generate unnamed entries. | |
3794 | * ps/devps/afmtodit: Likewise. | |
3795 | * xditview/xtotroff.c (MapFont): Likewise. | |
3796 | * xditview/libXdvi/parse.c (ParseInput): Grok N command. | |
3797 | ||
3798 | * tbl/main.c (process_format): If multiple widths are specified | |
3799 | for a column but all the widths are the same, don't give an error | |
3800 | message. | |
3801 | ||
3802 | * tbl/table.c (table::do_row): If the current row is all lines and | |
3803 | the stuff doesn't contains a line, mark the top of the row after | |
3804 | printing stuff before the row. If the current row is not all | |
3805 | lines and the stuff doesn't contain a line, don't unnecessarily | |
3806 | mark the top of the row before printing the stuff. | |
3807 | ||
3808 | Mon Oct 1 11:42:00 1990 James Clark (jjc at jclark) | |
3809 | ||
3810 | * troff/groff.h: Remove MAX_PATH. | |
3811 | * troff/input.c (open_file): Dynamically allocate space for the | |
3812 | path. | |
3813 | (open_mac_file, process_macro_file): Corresponding changes. | |
3814 | ||
3815 | Sun Sep 23 18:56:26 1990 James Clark (jjc at jclark) | |
3816 | ||
3817 | * troff/node.h (class output_file): Make copy_file pure. Add | |
3818 | vspace method ifdef COLUMN. Add is_printing method. | |
3819 | * troff/node.c: Add class printing_reg. Add class | |
3820 | real_output_file. Derive other output_file classes from | |
3821 | real_output_file; in these classes rename begin_page to | |
3822 | really_begin_page, print_line to really_print_line, copy_file to | |
3823 | really_copy_file, transparent_char to really_transparent_char. | |
3824 | Move output_file::flush to real_output_file. Add printing member | |
3825 | to class output_file. | |
3826 | * troff/div.h: Remove printing member from top_level_diversion. | |
3827 | Add vspace member function to class diversion ifdef COLUMN. Add | |
3828 | some declarations ifdef COLUMN. | |
3829 | * troff/div.c (top_level_diversion::copy_file, | |
3830 | top_level_diversion::transparent_output, | |
3831 | top_level_diversion::output): Don't test printing member before | |
3832 | output. | |
3833 | * troff/input.c: Handle initial variable_space_request ifdef | |
3834 | COLUMN. | |
3835 | * troff/Makefile: Add column.c but comment it out. Add -DCOLUMN | |
3836 | but comment it out. | |
3837 | ||
3838 | Sat Sep 22 11:32:22 1990 James Clark (jjc at jclark) | |
3839 | ||
3840 | * troff/div.c (diversion::need): Make any space forced. If we | |
3841 | sprung a trap, set truncated_space to minus the distance to the | |
3842 | trap and set needed_space to the amount that was needed. | |
3843 | (top_level_diversion::space): A forced space turns no_space_mode | |
3844 | off. | |
3845 | (class constant_vunits_reg): New class. | |
3846 | (init_div_requests): Implement number registers .trunc and .ne | |
3847 | using constant_vunits_reg. | |
3848 | (class truncated_space_reg): Deleted. | |
3849 | ||
3850 | * troff/div.h: Don't have a no_space_mode member in diversion. | |
3851 | Instead have it in top_level_diversion. | |
3852 | * troff/div.c (diversion::diversion): Don't initialize | |
3853 | no_space_mode. | |
3854 | (top_level_diversion::top_level_diversion): Initialize | |
3855 | no_space_mode. | |
3856 | (no_space, restore_spacing): Do nothing if curdiv != topdiv. | |
3857 | (macro_diversion::output): Don't clear no_space_mode. | |
3858 | ||
3859 | * troff/input.c (diverted_space_node::reread): Don't call | |
3860 | environment::do_break. In fill mode, act like a blank line. | |
3861 | (diverted_copy_file_node::reread): Don't call | |
3862 | environment::do_break. | |
3863 | ||
3864 | * troff/div.c (blank_line): New function. | |
3865 | * troff/div.h: Declare it. | |
3866 | * troff/input.c (process_input_stack): Call it. | |
3867 | ||
3868 | * troff/div.c (truncated_space_reg::get_string): New function. | |
3869 | (init_div_requests): Bind to .trunc. | |
3870 | (space_request, top_level_diversion::space, | |
3871 | top_level_diversion::output, macro_diversion::space, | |
3872 | macro_diversion::output): Update truncated_space. | |
3873 | (macro_diversion::output): Redo calculations when trap sprung. | |
3874 | (macro_diversion::output, macro_diversion::space): No need for | |
3875 | trap_flag. | |
3876 | ||
3877 | * troff/div.c (top_level_diversion::output): Set nl_reg_contents | |
3878 | after truncating post line spacing. | |
3879 | ||
3880 | Fri Sep 21 11:27:25 1990 James Clark (jjc at jclark) | |
3881 | ||
3882 | * ps/devps/prologue (MF, SF): Make them work even if setfont is | |
3883 | defined as a procedure rather than as an operator. | |
3884 | ||
3885 | Thu Sep 20 12:55:05 1990 James Clark (jjc at jclark) | |
3886 | ||
3887 | * troff/div.c (macro_diversion::space): Ignore no_space_mode. | |
3888 | ||
3889 | Wed Sep 19 10:54:37 1990 James Clark (jjc at jclark) | |
3890 | ||
3891 | * troff/div.c (top_level_diversion::output): Merge | |
3892 | output_file::print_line and output_file::end_of_line member | |
3893 | functions. | |
3894 | * troff/div.h (class output_file): | |
3895 | * troff/node.c (troff_output_file::print_line, | |
3896 | troff_output_file::end_of_line, output_file::end_of_line, | |
3897 | ascii_output_file::print_line, suppress_output_file::print_line): | |
3898 | Corresponding changes. | |
3899 | ||
3900 | Tue Sep 18 11:31:47 1990 James Clark (jjc at jclark) | |
3901 | ||
3902 | * troff/input.c (token::next): Don't give a warning for `\.'. | |
3903 | ||
3904 | * troff/env.c (environment::get_center_lines): New function. | |
3905 | (init_env_requests): Bind number register .ce to it. | |
3906 | * troff/env.h: Declare it. | |
3907 | * tbl/table.c (table::init_output): Define reset macro to restore | |
3908 | .ce. If center option not given, store .ce in SAVED_CENTER_REG. | |
3909 | Then do .ce 0. | |
3910 | (table::print): If center option not given, then imply center | |
3911 | option if SAVED_CENTER_REG > 0. | |
3912 | ||
3913 | Mon Sep 17 09:19:19 1990 James Clark (jjc at jclark) | |
3914 | ||
3915 | * ps/devps/Makefile: Remove T from FONTS. Remove TSymbol.ps and | |
3916 | Troff.ps from DOWNLOAD. | |
3917 | ||
3918 | * troff/Makefile: Change comment in DEFINES to avoid confusing | |
3919 | System V make. | |
3920 | ||
3921 | * ps/ps.c (ps_printer::do_exec): Allow newlines within PostScript | |
3922 | code. Don't try to catch errors with stopped. | |
3923 | (check_line_lengths): New function. | |
3924 | * ps/devps/prologue (EXEC): Deleted. | |
3925 | (EBEGIN, EEND): New procedures. | |
3926 | ||
3927 | Sun Sep 16 14:51:15 1990 James Clark (jjc at jclark) | |
3928 | ||
3929 | * troff/input.c: Include request.h before node.h. | |
3930 | * troff/node.c: Likewise. | |
3931 | * troff/env.c: Likewise. | |
3932 | * troff/div.c: Likewise. | |
3933 | * troff/node.h (class special_node): Store argument as a macro | |
3934 | rather than a char *. | |
3935 | * troff/node.c (special_node::special_node, special_node::copy): | |
3936 | Grok this. | |
3937 | (special_node::~special_node): Deleted. | |
3938 | (special_node::tprint): Deleted. | |
3939 | (special_node::tprint_start, special_node::tprint_end, | |
3940 | special_node::tprint_char): New functions. | |
3941 | (troff_output_file::special): Deleted. | |
3942 | (troff_output_file::start_special, troff_output_file::end_special, | |
3943 | troff_output_file::special_char): New functions. | |
3944 | * troff/input.c (special_node::tprint): New function. | |
3945 | (do_special): Use macro not char *. | |
3946 | (do_transparent_macro): Deleted. | |
3947 | (token::next): Don't call do_transparent_macro. | |
3948 | ||
3949 | * troff/input.c (token::next): Add 'Y' case. | |
3950 | (do_transparent_macro): New function. | |
3951 | * troff/node.c (troff_output_file::special): Handle newlines with | |
3952 | argument using new continuation convention. | |
3953 | * driver/input.c (get_string): Cope with continuation convention. | |
3954 | (do_file): Don't call skip_line after calling get_string(1). | |
3955 | * ps/ps.c (ps_printer::special, ps_printer::do_import, | |
3956 | ps_printer::do_def, ps_printer::do_exec): Cope with newlines in | |
3957 | arg. | |
3958 | * xditview/libXdvi/parse.c (ParseInput): Ignore lines starting | |
3959 | with +. | |
3960 | ||
3961 | Sat Sep 15 19:00:10 1990 James Clark (jjc at jclark) | |
3962 | ||
3963 | * troff/input.c (asciify): By default, illegal input characters | |
3964 | should return empty string. | |
3965 | ||
3966 | * troff/input.c (copy_file): Handle first page transition like title. | |
3967 | (token::next, process_input_stack): Grok COPY_FILE_REQUEST. | |
3968 | ||
3969 | * troff/input.c (token::next): Improve error message for EOF after | |
3970 | escape character. | |
3971 | (input_char_description): New function. | |
3972 | (get_char_for_escape_name): Use input_char_description. | |
3973 | (token::next): Warn about unrecognized escape sequences. | |
3974 | (warning_table): Add WARN_ESCAPE. | |
3975 | * troff/groff.h: Declare WARN_ESCAPE. Change WARN_TOTAL | |
3976 | accordingly. | |
3977 | ||
3978 | * troff/token.h: Remove declaration of process_input_stack. | |
3979 | ||
3980 | * troff/input.c: Remove declaration of init_hyphen_requests. | |
3981 | * troff/request.h: Correct spelling in declaration of same. | |
3982 | ||
3983 | * troff/input.c (token::next): Check whether escape_char is 0. | |
3984 | ||
3985 | Fri Sep 14 12:09:25 1990 James Clark (jjc at jclark) | |
3986 | ||
3987 | * groff.c (main, usage, help): Implement -P and -L options. | |
3988 | * groff.sh: Likewise. | |
3989 | ||
3990 | * troff/input.c (token::next): Use some gotos to avoid code | |
3991 | duplication. | |
3992 | ||
3993 | * troff/input.c (get_long_name, get_name, read_long_ecsape_name): | |
3994 | Avoid calling symbol::symbol if name empty. | |
3995 | ||
3996 | Thu Sep 13 06:21:45 1990 James Clark (jjc at jclark) | |
3997 | ||
3998 | * troff/input.c (init_input_requests): Make \n(.x return the major | |
3999 | version number and \n(.y return the minor version number. | |
4000 | * troff/Makefile: Construct file majorminor.c defining | |
4001 | major_version and minor_version automatically from ../VERSION. | |
4002 | ||
4003 | * troff/node.c (class glyph_node): Make operator new and operator | |
4004 | delete public. | |
4005 | (class ligature_node): Similarily. | |
4006 | ||
4007 | * troff/input.c (operator==(const macro &, const macro &)): New | |
4008 | function. | |
4009 | (non_interpreted_node::same): Use this. | |
4010 | (string_iterator::string_iterator): Make macro& argument const. | |
4011 | ||
4012 | * troff/input.c (input_iterator::get): New function. Don't make | |
4013 | asciify_macro or class non_interpreted_node friends of class | |
4014 | input_iterator. | |
4015 | (non_interpreted_node::interpret): Use input_iterator::get. | |
4016 | (asciify_macro): Likewise. | |
4017 | ||
4018 | * troff/input.c (~token_node, ~string_iterator, ~arg_list, | |
4019 | ~non_interpreted_node): Deleted. | |
4020 | * troff/node.c: (~suppress_output_file, ~ascii_output_file): | |
4021 | Deleted. | |
4022 | ||
4023 | * troff/symbol.h: Make all symbol member functions const. | |
4024 | ||
4025 | * lib/strtol.c: New file. | |
4026 | * lib/Makefile: Add strtol.c. | |
4027 | * Makefile: Define STRTOL as strtol.o to include strtol in | |
4028 | libgroff.a. | |
4029 | ||
4030 | Wed Sep 12 10:00:49 1990 James Clark (jjc at jclark) | |
4031 | ||
4032 | * pic/troff.c (troff_output::simple_circle): Divide by scale. | |
4033 | ||
4034 | Tue Sep 11 14:17:16 1990 James Clark (jjc at jclark) | |
4035 | ||
4036 | * troff/input.c (do_special): Use input_level. | |
4037 | ||
4038 | * troff/token.h (TOKEN_BACKSPACE): New token. | |
4039 | (token::backspace): New function. | |
4040 | * troff/input.c (token::description, token::next, token::process): | |
4041 | Grok TOKEN_BACKSPACE. | |
4042 | (do_special): Turn TOKEN_BACKSPACE back into \b. | |
4043 | ||
4044 | * troff/token.h (token::leader): New function. | |
4045 | * troff/input.c (do_special): Turn TOKEN_LEADER back into \001. | |
4046 | ||
4047 | * troff/input.c (do_special): Turn TOKEN_TAB back into \t. | |
4048 | ||
4049 | * troff/input.c (do_special): Use token::description in error | |
4050 | message. | |
4051 | ||
4052 | Mon Sep 10 11:06:27 1990 James Clark (jjc at jclark) | |
4053 | ||
4054 | * troff/input.c (decode_args): Combine quoted and | |
4055 | quote_input_level variables. Make it a for (;;) loop. | |
4056 | ||
4057 | * troff/input.c (get_char_for_escape_name): Check for \001 and \b. | |
4058 | ||
4059 | * troff/input.c (read_long_escape_name): The test for whether to | |
4060 | expand buffer was off by 1. | |
4061 | (read_string): Similarily. | |
4062 | ||
4063 | Fri Sep 7 11:45:50 1990 James Clark (jjc at jclark) | |
4064 | ||
4065 | * troff/input.c: Use `const int' rather than `static const int'. | |
4066 | ||
4067 | * troff/div.h (diversion::copy_file): Declare as pure virtual. | |
4068 | (macro_diversion::copy_file): New function. | |
4069 | * troff/node.h: New class diverted_copy_file_node. | |
4070 | * troff/node.c: Implement it. | |
4071 | * troff/input.c (copy_file): Use diversion::copy_file. Handle | |
4072 | first page transition by pushing a diverted_copy_file_node. | |
4073 | * troff/input.c (token::next, process_input_stack): Don't handle | |
4074 | COPY_FILE_REQUEST. | |
4075 | ||
4076 | Thu Sep 6 13:29:10 1990 James Clark (jjc at jclark) | |
4077 | ||
4078 | * ps/ps.c (flush_sbuf): Remember to add sbuf_kern when checking | |
4079 | whether space widths need adjusting. | |
4080 | ||
4081 | * troff/charinfo.h: Generalize translated_to_space to | |
4082 | special_translation so as to allow translation to \&. | |
4083 | * troff/input.c (translate): Allow translation to \&. | |
4084 | (charinfo::*): Corresponding changes. | |
4085 | * troff/node.c (make_node, node::add_char): Corresponding changes. | |
4086 | * troff/node.h (dummy_node::dummy_node): Allow optional first | |
4087 | argument. | |
4088 | ||
4089 | * lib/lib.h: Make codes 0200 to 0237 illegal input characters. | |
4090 | * troff/token.h: Remove TOKEN_TITLE. Remove token::title. Add | |
4091 | TOKEN_REQUEST. | |
4092 | * troff/input.c (token::next): Turn a TITLE_REQUEST into a | |
4093 | TOKEN_REQUEST with an argument of TITLE_REQUEST. | |
4094 | (token::process): Grok that. | |
4095 | * troff/input.c (copy_file): Handle first page transition like | |
4096 | title by pushing a COPY_FILE_REQUEST cookie. | |
4097 | (token::next, process_input_stack): Grok that. | |
4098 | * troff/node.h (output_file::copy_file): Add x and y arguments. | |
4099 | Make it non-pure. | |
4100 | * troff/div.c (top_level_diversion::copy_file): Supply them. | |
4101 | * troff/node.c (troff_output_file::copy_file): Add x and y | |
4102 | arguments; moveto specified position. Invalidate font_position | |
4103 | array after copying file. | |
4104 | (output_file::copy_file): New function. | |
4105 | (suppressed_output_file::copy_file, ascii_output::copy_file): | |
4106 | Removed. | |
4107 | * troff/input.c (transparent_file): New function. | |
4108 | (init_input_requests): Bind to "trf". | |
4109 | (token::next): Handle TRANSPARENT_FILE_REQUEST cookie. | |
4110 | (process_input_stack): Likewise. | |
4111 | ||
4112 | * troff/Makefile: Add ../lib/lib.h to GROFF_H. | |
4113 | ||
4114 | * troff/node.c (init_node_requests): New number registers .kern | |
4115 | pointing to global_kern_mode, and .lg pointing to | |
4116 | global_ligature_mode. | |
4117 | ||
4118 | * troff/node.c (ligature): Don't change it if we get a bad | |
4119 | integer. | |
4120 | ||
4121 | * troff/input.c (do_define_string): Don't strip tabs. | |
4122 | ||
4123 | * troff/input.c (asciify_macro): Make the string_iterator auto. | |
4124 | ||
4125 | * troff/node.c (init_font_requests): Rename to... | |
4126 | (init_node_requests): | |
4127 | * troff/node.h: Change declaration. | |
4128 | * troff/input.c (main): Change call. | |
4129 | ||
4130 | * troff/input.c (node::reread, diverted_space_node::reread): New | |
4131 | methods. | |
4132 | (process_input_stack): Call reread rather than | |
4133 | get_diverted_space_node. | |
4134 | * troff/node.c (node::get_diverted_space_node, | |
4135 | diverted_space_node::get_diverted_space_node): Removed. | |
4136 | * troff/node.h: Declare reread methods instead of | |
4137 | get_diverted_space_node methods. Make `n' member private. | |
4138 | * troff/input.c: (token::diverted_space): Removed. | |
4139 | * troff/token.h: Removed declaration. | |
4140 | ||
4141 | ||
4142 | Tue Sep 4 00:48:04 1990 James Clark (jjc at jclark) | |
4143 | ||
4144 | * eqn/script.c (script_box::compute_metrics): Don't let | |
4145 | SUP_RAISE_FORMAT become negative. | |
4146 | ||
4147 | * tbl/table.c (table::do_row): Entries that don't end in the | |
4148 | this row shouldn't make the row non-blank. | |
4149 | ||
4150 | * tbl/table.c (table::make_columns_equal): Only set the width of | |
4151 | columns which are marked as equal. | |
4152 | ||
4153 | * tbl/main.c (process_data): Before issuing excess data error, | |
4154 | if last character was a newline unget it; then get it again after | |
4155 | the error. Also include the contents of the entry in the message. | |
4156 | ||
4157 | * groff.c: New file. | |
4158 | * Makefile: Build groff from groff.c. Make it possible to use | |
4159 | either groff.sh or groff.c as groff. | |
4160 | * Makefile.bd: Similarily. | |
4161 | ||
4162 | Mon Sep 3 09:39:49 1990 James Clark (jjc at jclark) | |
4163 | ||
4164 | * groff.sh: Don't delay expansion of $@ in assignment to files. | |
4165 | Remove occurrences of \". | |
4166 | ||
4167 | Sun Sep 2 09:56:59 1990 James Clark (jjc at jclark) | |
4168 | ||
4169 | * all Makefiles: Simplify and rearrange. | |
4170 | ||
4171 | * Makefile: Handle fmod like malloc. | |
4172 | * lib/Makefile: Similarily. | |
4173 | * lib/fmod.c: Remove #ifdef NEED_FMOD. | |
4174 | ||
4175 | * Makefile: Rename OPTIMISE to OPTIMIZE. | |
4176 | ||
4177 | * groff.sh: Remove assignment to PATH. | |
4178 | * Makefile: Remove SHPATH variable. | |
4179 | * Makefile.bd: Similarily. | |
4180 | ||
4181 | * groff.sh: Add -V option to print the pipeline instead of | |
4182 | executing it. | |
4183 | ||
4184 | Fri Aug 31 00:56:46 1990 James Clark (jjc at jclark) | |
4185 | ||
4186 | * lib/font.c: Split off file searching into ... | |
4187 | * lib/fontfile.c: New file. | |
4188 | ||
4189 | * lib/strerror.c (strerror): Use `Error %d' for unknown errors. | |
4190 | ||
4191 | Thu Aug 30 13:13:55 1990 James Clark (jjc at jclark) | |
4192 | ||
4193 | * tbl/table.c (table::do_hspan): Delete assertion that e != 0. | |
4194 | Also change misleading comment. | |
4195 | (table::do_vspan): Change similarily misleading comment. | |
4196 | * tbl/main.c (process_data): A format row with an explicit `s' | |
4197 | uses up a data line, even if all the other columns are `_' or `='. | |
4198 | ||
4199 | * troff/input.c (token::description): Fix description of | |
4200 | TOKEN_DUMMY and TOKEN_EMPTY. | |
4201 | ||
4202 | Wed Aug 29 04:12:08 1990 James Clark (jjc at jclark) | |
4203 | ||
4204 | * groff.sh: Fix description of -Z in help message. | |
4205 | ||
4206 | Tue Aug 28 07:28:33 1990 James Clark (jjc at jclark) | |
4207 | ||
4208 | * pic/object.c (object_spec::make_object): Allow negative and zero | |
4209 | line thicknesses. | |
4210 | * pic/pic.y: Give linethick default value of -1.0. | |
4211 | * pic/troff.c (troff_output::troff_output): Initialize | |
4212 | last_line_thickness to BAD_THICKNESS. | |
4213 | (troff_output::finish_picture): Set thickness to BAD_THICKNESS. | |
4214 | (troff_output::line_thickness): Canonicalize negative thicknesses | |
4215 | to RELATIVE_THICKNESS. | |
4216 | * pic/tex.c (tex_output::set_pen_size): Silently map negative line | |
4217 | thicknesses to DEFAULT_PEN_SIZE. Canonicalize negative pen sizes | |
4218 | to -1.0. | |
4219 | (tex_output::start_picture): Set pen_size to -2.0. | |
4220 | ||
4221 | * ps/ps.c (ps_printer::set_line_thickness): If line_thickness is | |
4222 | 0, then use 0 linewidth. | |
4223 | (ps_printer::ps_printer): Initialize line_thickness to -1. | |
4224 | ||
4225 | * pic/troff.c (troff_output::simple_ellipse): Divide by scale. | |
4226 | ||
4227 | * ps/devps/symbolchars: Remove `or'. | |
4228 | * ps/tmac.ps: Implement \(or with .char. | |
4229 | ||
4230 | * ps/devps/symbolchars: Move most characters into textmap. | |
4231 | * ps/devps/textmap: Add names for troff bracket characters. Remove | |
4232 | ul, ru, br, bv. | |
4233 | ||
4234 | * ps/devps/TSymbol.ps: Removed. | |
4235 | * ps/devps/FontMakefile: Make S from Symbol not TSymbol. | |
4236 | * ps/tmac.ps: Do with .char what TSymbol did. | |
4237 | * ps/devps/download: Remove TSymbol. | |
4238 | ||
4239 | * ps/devps/T: Removed. | |
4240 | * ps/devps/Troff.ps: Removed. | |
4241 | * ps/devps/Troff.afm: Removed. | |
4242 | * ps/tmac.ps: Implement \(ru, \(ul, and \(br with .char. | |
4243 | * ps/devps/download: Remove Troff. | |
4244 | * ps/devps/FontMakefile: Remove T target. | |
4245 | * ps/devps/DESC-A4: Remove T from font list. | |
4246 | * ps/devps/DESC-letter: Likewise. | |
4247 | ||
4248 | * troff/input.c (macro_to_node): Rename to ... | |
4249 | (charinfo_to_node): Don't pass mac argument. Temporarily remove the | |
4250 | character's definition while processing it. | |
4251 | * troff/node.c (node::add_char, make_node): Change calls to | |
4252 | macro_to_node accordingly. | |
4253 | ||
4254 | * troff/input.c (token::next): Translate \_ to \(ul. | |
4255 | ||
4256 | * tty/devascii/R.proto: Add `|'. | |
4257 | * tty/devlatin1/R.proto: Likewise. | |
4258 | ||
4259 | Mon Aug 27 11:25:41 1990 James Clark (jjc at jclark) | |
4260 | ||
4261 | * man: Put the version number in all the man pages. | |
4262 | ||
4263 | Sun Aug 26 11:40:05 1990 James Clark (jjc at jclark) | |
4264 | ||
4265 | * Makefile.bd: New file. | |
4266 | * README.bd: New file. | |
4267 | ||
4268 | * VERSION: New file. | |
4269 | * lib/version.c: Removed. | |
4270 | * lib/Makefile: Create version.c from ../VERSION. Remove version.c | |
4271 | in clean target. | |
4272 | ||
4273 | * troff/input.c (main): Get hyphen_file from GROFF_HYPHEN | |
4274 | environment variable. | |
4275 | ||
4276 | * all Makefiles: Split install target into install.bin for | |
4277 | binaries, and install.nobin for everything else. | |
4278 | * Makefile: Add bindist target. | |
4279 | ||
4280 | * man/afmtodit.man: New file. | |
4281 | * man/Makefile: Add afmtodit.n to MAN1PAGES. | |
4282 | * ps/devps/Makefile: Add textmap to DEVICEFILES. Install afmtodit | |
4283 | in BINDIR. | |
4284 | * ps/Makefile: Pass BINDIR to make install in devps. | |
4285 | ||
4286 | * ps/ps.c (ps_printer::set_char): Do nothing if the character is | |
4287 | the space character. | |
4288 | ||
4289 | * ps/devps/FontMakefile: Rename symbol.afm to tsymbol.afm. | |
4290 | ||
4291 | Sat Aug 25 15:39:03 1990 James Clark (jjc at jclark) | |
4292 | ||
4293 | * ps/ps.c: Redo font downloading. | |
4294 | * ps/devps/download: New file. | |
4295 | * ps/devps/Makefile: Add download to DEVICEFILES. | |
4296 | * ps/devps/afmtodit: Remove -d option. | |
4297 | * ps/devps/FontMakefile: Don't use -d option with afmtodit. | |
4298 | * ps/devps/symbosl.ps: Add %%DocumentFonts comment. | |
4299 | * ps/devps/zapfdr.ps: Likewise. | |
4300 | * ps/devps/TSymbol.ps: Likewise. | |
4301 | ||
4302 | Fri Aug 24 20:10:30 1990 James Clark (jjc at jclark) | |
4303 | ||
4304 | * groff.sh: Initialize dev to ${GROFF_TYPESETTER:-@DEVICE@}. | |
4305 | ||
4306 | Thu Aug 23 10:03:47 1990 James Clark (jjc at yquem) | |
4307 | ||
4308 | * ps/ps.c (ps_output::include_file): If BROKEN_SPOOLER is defined, | |
4309 | then strip the first line if it starts with %. | |
4310 | * Makefile: Add a comment about this. | |
4311 | ||
4312 | * man/tfmtodit.man: New file. | |
4313 | * man/Makefile: Add tfmtodit.n to MAN1PAGES. | |
4314 | * dvi/Makefile: Install tfmtodit in BINDIR. | |
4315 | ||
4316 | * dvi/tfmtodit.c (usage): Mention -v option. | |
4317 | ||
4318 | Wed Aug 22 09:56:36 1990 James Clark (jjc at yquem) | |
4319 | ||
4320 | * troff/node.c (troff_output_file::end_of_line): Call do_motion. | |
4321 | * troff/node.c (troff_output_file::transparent_char): Don't call | |
4322 | flush_tbuf. | |
4323 | ||
4324 | * eqn: Add check_tabs method to most box classes. | |
4325 | * eqn/box.c (box::top_level): Call check_tabs. | |
4326 | ||
4327 | * eqn/script.c (script_box::output): Use \Z. | |
4328 | * eqn/limit.c (limit_box::output): Use \Z. | |
4329 | ||
4330 | * eqn/box.c (box::top_level): Use itoa. | |
4331 | ||
4332 | Tue Aug 21 09:29:28 1990 James Clark (jjc at yquem) | |
4333 | ||
4334 | * dvi/tmac.dvi: Add font translations for CR, C, TT. | |
4335 | * dvi/devdvi/Makefile: Don't make links to CW. | |
4336 | ||
4337 | * ps/tmac.ps: Add font translations for C, CW, CO, CX, CD, H, HO, | |
4338 | HX, HD. | |
4339 | * xditview/tmac.X: Likewise. | |
4340 | ||
4341 | * troff/node.c: Add font translation feature. | |
4342 | (get_font_translation): New function. | |
4343 | (symbol_fontno): Translate the font name. | |
4344 | (mount_font_no_translate): Rename to mount_font to this. | |
4345 | (mount_font): New function. | |
4346 | (font_family::make_definite): Call mount_font_no_translate instead | |
4347 | of mount_font. | |
4348 | (mount_style): Translate the font name. | |
4349 | (font_translate): New function. | |
4350 | (init_font_requests): Bind "ftr" to font_translate. | |
4351 | ||
4352 | * ps/devps/prologue (SN): New procedure that rounds a position to | |
4353 | the nearest (pixel + (.25,.25)). | |
4354 | (DL): Use SN to round endpoints. | |
4355 | ||
4356 | * lib/version.c: Changed version to 0.5. | |
4357 | ||
4358 | Sat Aug 18 04:43:21 1990 James Clark (jjc at yquem) | |
4359 | ||
4360 | * Makefile: Move definition of PAGE to the very beginning, so that | |
4361 | people are less likely to miss it. | |
4362 | ||
4363 | Fri Aug 17 02:15:11 1990 James Clark (jjc at yquem) | |
4364 | ||
4365 | * man/Makefile: Don't need to sed out @UPCASE_PROG_PREFIX@. | |
4366 | ||
4367 | * troff/env.c (environment::choose_breakpoint): Make `can't find | |
4368 | breakpoint' error a warning of type WARN_BREAK. Change message to | |
4369 | `can't break line'. | |
4370 | * troff/groff.h: Declare WARN_BREAK with code 4; change WARN_INPUT to | |
4371 | code 040000. | |
4372 | * troff/input.c: Add WARN_BREAK to warning_table. Include | |
4373 | WARN_BREAK in DEFAULT_WARNING_MASK. | |
4374 | ||
4375 | * tty/tmac.tty: Add definition of \(+-. | |
4376 | ||
4377 | * groff.sh: Remove `--' option to set command. | |
4378 | ||
4379 | * dvi/devdvi/texsy.map: Remove duplicate md entry. | |
4380 | ||
4381 | * ps/devps/eqnchar: Better definition of cdot using md. | |
4382 | * dvi/devdvi/eqnchar: Likewise. | |
4383 | * xditview/devX100/eqnchar: Likewise. | |
4384 | * xditview/devX75/eqnchar: Likewise. | |
4385 | * eqn/lex.c: Add definition of cdot. | |
4386 | ||
4387 | Thu Aug 16 09:33:57 1990 James Clark (jjc at yquem) | |
4388 | ||
4389 | * troff/input.c (get_optional_char): New function. | |
4390 | * troff/input.c (set_page_character): Use get_optional_char(), | |
4391 | rather than has_arg() and tok.get_char(1). | |
4392 | * troff/env.c (tab_character, leader_character, hyphen_char, | |
4393 | field_characters): Likewise. | |
4394 | (margin_character): Likewise. Also always delete the | |
4395 | margin_character_node. | |
4396 | ||
4397 | * troff/input.c (token::get_char): Use token::description. | |
4398 | ||
4399 | * troff/input.c (has_arg): Don't skip over tab and \}. | |
4400 | * troff/number.c (start_number): Give a warning if the number | |
4401 | starts with \} (WARN_RIGHT_BRACE) or tab (WARN_TAB). | |
4402 | ||
4403 | Wed Aug 15 10:04:37 1990 James Clark (jjc at yquem) | |
4404 | ||
4405 | * troff/input.c (empty_name_warning, non_empty_name_warning): New | |
4406 | functions. | |
4407 | (get_name, get_long_name): Use these. Rename `warn' argument to | |
4408 | `required'. | |
4409 | ||
4410 | * troff/node.c (get_fontno): Test that the symbol is not null. | |
4411 | ||
4412 | * troff/input.c (token::description): New function. | |
4413 | * troff/number.c (parse_term): Use token::description in `numeric | |
4414 | expression expected' message. | |
4415 | * troff/groff.h: Add WARN_MISSING. | |
4416 | * troff/number.c (start_number): New function. | |
4417 | * troff/number.c (get_vunits, get_hunits, get_number, get_integer, | |
4418 | get_incr_number): Use start_number(). | |
4419 | * troff/input.c (DEFAULT_WARNING_MASK): Enable WARN_NUMBER by | |
4420 | default. | |
4421 | * troff/input.c (get_name, get_long_name): Use WARN_MISSING. | |
4422 | * troff/reg.c (alter_format): Use WARN_MISSING. Also use | |
4423 | token::descripion. | |
4424 | * troff/input.c (token::get_char): Use WARN_MISSING. | |
4425 | * troff/input.c (token::delimiter): Use token::description. | |
4426 | * troff/env.c (environment_switch): Back out Aug 3 change. | |
4427 | * troff/input.c (has_arg): Skip over \}s and tabs but give a | |
4428 | warning. | |
4429 | * troff/token.h (token::tab): New function. | |
4430 | * troff/node.c (get_fontno): Use tok.skip() rather than has_arg(). | |
4431 | * troff/reg.c (alter_format): Likewise. | |
4432 | * troff/node.c (bold_font): Use has_arg() rather than tok.skip(). | |
4433 | ||
4434 | Tue Aug 14 10:11:21 1990 James Clark (jjc at yquem) | |
4435 | ||
4436 | * troff (most files): Redo warnings. Divide warnings into various | |
4437 | categories; warning() has an additional first argument indicating | |
4438 | the category it falls into. | |
4439 | * troff/input.c (main): -w now takes an argument. New option -W. | |
4440 | (enable_warning, disable_warning): New functions. | |
4441 | ||
4442 | * ps/devps/afmtodit: Add -a option to lie about the italic angle. | |
4443 | * ps/devps/FontMakefile: Pretend TI has an angle of 7. | |
4444 | ||
4445 | Mon Aug 13 10:11:16 1990 James Clark (jjc at yquem) | |
4446 | ||
4447 | * ps/devps/eqnchar: Better definitions of dotdot, vec, dyad, inf. | |
4448 | * xditview/devX100/eqnchar: Likewise. Remove definition of dot. | |
4449 | * xditview/devX75/eqnchar: Likewise. | |
4450 | * dvi/devdvi/eqnchar: Better definitions of vec, dyad, dotdot. | |
4451 | ||
4452 | * eqn/other.c: When bar or over applies to a single character | |
4453 | don't produce an overline_box or an underline_box. Instead produce | |
4454 | an accent_box or an underaccent_box, with the accent a line | |
4455 | whose width is accent_width. New classes underaccent_box, | |
4456 | overline_char_box and underline_char_box. | |
4457 | * eqn/box.h: Move overline_box, underline_box, accent_box class | |
4458 | declarations into eqn/other.c. Add declarations of | |
4459 | make_underline_box, make_overline_box, make_accent_box. | |
4460 | * eqn/eqn.y: Call make_overline_box, make_underline_box | |
4461 | make_accent_box instead of constructors. | |
4462 | * eqn/pbox.h, eqn/box.c: Add accent_width parameter. | |
4463 | ||
4464 | * eqn/other.c: Add accent_box::~accent_box. | |
4465 | * eqn/box.h: Declare it. | |
4466 | ||
4467 | * groff.sh: With -Tps, use eqn -D. | |
4468 | ||
4469 | * eqn/other.c (overline_box::output): Use \Z. If draw_flag use \D | |
4470 | rather than \l. | |
4471 | (underline_box::output): Similarily. | |
4472 | (accent_box::output): Use \Z. | |
4473 | ||
4474 | * xditview/tmac.X: Add definitions of ~ and ^ (so that they are a | |
4475 | bit smaller.) | |
4476 | ||
4477 | Sun Aug 12 09:41:15 1990 James Clark (jjc at yquem) | |
4478 | ||
4479 | * troff/div.c (top_level_diversion::transparent_output(unsigned | |
4480 | char)): Use asciify. | |
4481 | * troff/input.c (asciify): Don't make it static. | |
4482 | * troff/token.h (asciify): Declare it. | |
4483 | ||
4484 | * troff/input.c (get_name, get_long_name, token::get_char, | |
4485 | token::delimiter): Add an extra default argument which says | |
4486 | whether a warning should be printed. | |
4487 | * troff: Pass a non-zero argument to one of these rather than | |
4488 | printing a warning directly. | |
4489 | ||
4490 | Sat Aug 11 09:02:21 1990 James Clark (jjc at yquem) | |
4491 | ||
4492 | * troff: Consistently use symbol::is_null. | |
4493 | ||
4494 | * troff/dictionary.h: Move some inline functions into | |
4495 | dictionary.c. | |
4496 | ||
4497 | * troff/request.h: Move inline functions into input.c. | |
4498 | (request_or_macro::invoke): Make it pure. | |
4499 | ||
4500 | * troff/input.c, troff/reg.h: New class `constant_int_reg'. | |
4501 | * troff/input.c (init_input_requests): Use class constant_int_reg. | |
4502 | (class compatible_reg): Deleted. | |
4503 | * troff/div.c (init_div_requests): Use class constant_int_reg. | |
4504 | (class last_post_line_extra_space_reg): Deleted. | |
4505 | ||
4506 | * troff/env.c (tab_character): Don't change the tab character if | |
4507 | we get an invalid argument. | |
4508 | (hyphen_char): Similarily. | |
4509 | ||
4510 | * troff/reg.c (alter_format): Check that nm is not null. | |
4511 | ||
4512 | * Makefile, groff.sh: Make it possible to customize the commands | |
4513 | used for printing PostScript and dvi files. Also make it possible | |
4514 | to customize the path used by groff.sh. | |
4515 | ||
4516 | * eqn/eqn.y: Make `left' right associative. | |
4517 | ||
4518 | Fri Aug 10 18:20:39 1990 James Clark (jjc at yquem) | |
4519 | ||
4520 | * pic/pic.h: Added definition of M_SQRT2 for those systems that | |
4521 | don't have it. | |
4522 | ||
4523 | * pic/pic.h: Removed definition of INT_MAX. | |
4524 | ||
4525 | * troff/node.c (italic_corrected_node::vertical_extent): Omit | |
4526 | `return'. | |
4527 | ||
4528 | * troff/input.c (token::next): Handle \R like \n. | |
4529 | ||
4530 | Tue Aug 7 09:46:33 1990 James Clark (jjc at yquem) | |
4531 | ||
4532 | * ps/tmac.pc (PSPIC): Simplify. | |
4533 | ||
4534 | * troff/env.c (tab_stops::to_string): | |
4535 | * pic/pic.y (object_type_name): | |
4536 | * pic/troff.c (simple_output::line): | |
4537 | * pic/tex.c (tex_output::spline): | |
4538 | * pic/object.c (object_spec::make_object): | |
4539 | * tbl/main.c (process_data): Add cases to switch statements to | |
4540 | avoid cfront warnings. (Some of these are spurious, since the | |
4541 | switch already has a default case.) | |
4542 | ||
4543 | * ps/tmac.ps (PSPIC): Reformatted. Prefix all local names with | |
4544 | `ps-'. Don't test systat; instead check number of arguments to | |
4545 | ps-bb. | |
4546 | ||
4547 | Mon Aug 6 00:13:07 1990 James Clark (jjc at yquem) | |
4548 | ||
4549 | * macros/tmac.e: Do not decrease the page offset by 0.5i. | |
4550 | ||
4551 | * ps/ps.c (ps_printer::ps_printer): Use mktemp instead of tempnam. | |
4552 | Unlink the file as soon as we have opened it, so that we don't | |
4553 | have to bother with signal handlers. | |
4554 | (handler): Deleted. | |
4555 | (fatal_error_exit): Deleted. | |
4556 | (main): Don't call signal. | |
4557 | ||
4558 | * dvi/tfmtodit.c: Add -k option so that kerns with the skewchar | |
4559 | can be ignored. | |
4560 | * dvi/devdvi/Makefile: Use the -k option with S and MI. | |
4561 | ||
4562 | * pic/pic.y: If there is a label, or an nth construction before | |
4563 | the first `.' in the argument to `with', ignore it and generate a | |
4564 | warning. | |
4565 | * pic/lex.c (lex_warning): New function. | |
4566 | ||
4567 | * tbl/table.c (table::init_output): In section keep and release | |
4568 | macro, use 0 indent when diverting and the correct indent when | |
4569 | rereading. | |
4570 | ||
4571 | * troff/input.c (interpolate_number_format): Do not interpolate | |
4572 | anything if the number register is not defined. | |
4573 | ||
4574 | * tbl/main.c (process_data): Don't add entry when col >= ncolumns. | |
4575 | ||
4576 | Sat Aug 4 08:12:05 1990 James Clark (jjc at yquem) | |
4577 | ||
4578 | * ps/devps/prologue (PICTURE): Set components of graphics state to | |
4579 | their default values. | |
4580 | ||
4581 | * ps/devps/text.enc: Add trademark | |
4582 | * ps/devps/textmap: Add names for club, spade, heart, diamond, | |
4583 | carriagereturn, suchthat. Use Upsilon1 rather than Upsilon. | |
4584 | * ps/devps/symbolchars: Add names for summation and product. | |
4585 | ||
4586 | * dvi/devdvi/texsy.map: Add names for club, spade, heart, diamond, | |
4587 | suchthat. Add pp. Add upper-case letters. | |
4588 | ||
4589 | * xditview/libXdvi/DviChar.c: Add names for club, spade, heart, | |
4590 | diamond, carriagereturn, suchthat. Use Upsilon1 rather than | |
4591 | Upsilon. | |
4592 | ||
4593 | * dvi/devdvi/texsy.map: Rename lA (left angle bracket) to la, and | |
4594 | rA (right angle bracket) to ra. Introduce names for double-headed | |
4595 | arrows and double-barred arrows: <>, va, lA, rA, hA, uA, dA, vA. | |
4596 | * ps/devps/textmap: Likewise for ps device. | |
4597 | * xditview/libXdvi/DviChar.c: Likewise for X100 and X75 devices. | |
4598 | * tty/devascii/R.proto: Rename lA to la and rA to ra. | |
4599 | * tty/devascii/R.proto: Likewise. | |
4600 | * tty/tmac.tty: Provide definitions for \(<>, \(lA, \(rA, \(hA, | |
4601 | \(uA, \(dA. | |
4602 | * eqn/delim.c: In delim_table, rename \(lA to \(la and \(rA to \(ra. | |
4603 | ||
4604 | * xditview/tmac.X: Add definitions for \(fi \(fl \(ff \(Fi \(Fl. | |
4605 | ||
4606 | * eqn/lex.c: Added definitions of `approx', `grad' and `del' to | |
4607 | def_table. | |
4608 | ||
4609 | Fri Aug 3 09:59:27 1990 James Clark (jjc at yquem) | |
4610 | ||
4611 | * troff/div.c (when_request): Use symbol::is_null rather than | |
4612 | has_arg to determine whether we have an argument. | |
4613 | (change_trap): Remove the trap if we get an invalid number. Give | |
4614 | an error if we don't get at least the macro name. | |
4615 | (diversion_trap): Remove trap if we get an invalid name or number. | |
4616 | ||
4617 | * troff/env.c (environment_switch): Pop if we get an invalid | |
4618 | symbol or numeric expression. | |
4619 | ||
4620 | * troff/input.c (do_define_macro): If EOF is encoutered while | |
4621 | defining the macro, do tok.next() before returning. | |
4622 | ||
4623 | * troff/token.h (has_arg): Move definition from here, to ... | |
4624 | * troff/input.c (has_arg): ... here | |
4625 | ||
4626 | * troff/env.c (space_size): Do nothing if we get an invalid argument. | |
4627 | * troff/input.c (shift): Likewise. | |
4628 | ||
4629 | * pic/lex.c (get_token_after_dot): Accept `.center' as a synonym | |
4630 | for `.c'. | |
4631 | ||
4632 | * pic/troff.c (troff_output::start_picture): Comment out calls to | |
4633 | `..'. | |
4634 | ||
4635 | * eqn/main.c (do_file): Subtract 1 from current_lineno if | |
4636 | interpret_lf_args succeeds. | |
4637 | ||
4638 | * eqn/main.c (do_file): Don't recognize delimiter if preceded by | |
4639 | \\. This avoids problems with \$N. | |
4640 | ||
4641 | * groff.sh: Pass -C to preprocessors. | |
4642 | ||
4643 | * lib/lf.c (interpret_lf_args): Be more flexible. | |
4644 | ||
4645 | * tbl/main.c (main): Add -C option. | |
4646 | (table_input::get): Do not recognize TE if followed by character | |
4647 | other than a space or newline unless -C option given. | |
4648 | (process_input_file): Likewise for lf, TS. | |
4649 | (process_data): Likewise for lf in text blocks. | |
4650 | ||
4651 | * eqn/main.c (main): Add -C option. | |
4652 | (do_file): Don't recognize EQ, EN or lf if followed by character | |
4653 | other than space or newline unless -C option given. | |
4654 | * eqn/lex.c (file_input::read_line): Similarily. | |
4655 | * eqn/eqn.h: Declare compatible_flag. | |
4656 | ||
4657 | * etc/soelim.c (main): Add -C option. | |
4658 | (interpret_lf_args): Use version in libgroff. | |
4659 | (do_file): | |
4660 | ||
4661 | * pic/main.c (main): Add -C option, which sets compatible_flag. | |
4662 | (top_input::get), (top_input::peek): If -C option not given, | |
4663 | do not recognize .PS/.PE/.PF/.lf if followed by a character | |
4664 | other than space or newline. | |
4665 | * pic/lex.c (file_input::read_line): Similarily. | |
4666 | * pic/pic.h: Add declaration of compatible_flag. | |
4667 | ||
4668 | Thu Aug 2 11:11:27 1990 James Clark (jjc at yquem) | |
4669 | ||
4670 | * ps/tmac.ps (PSPIC): Avoid use of `echo -n'. | |
4671 | ||
4672 | * troff/node.c, troff/node.h: Add `asciify' methods to classes | |
4673 | derived from node. New class space_char_hmotion_node. | |
4674 | * troff/input.c (asciify_macro): New function. | |
4675 | * troff/input.c (init_input_requests): New request `asciify' bound | |
4676 | to asciify_macro. | |
4677 | * macros/mm.diff: New file. | |
4678 | * Makefile: In install.mm target use `patch' to apply | |
4679 | macros/mm.diff. | |
4680 | ||
4681 | * troff/input.c (macro::print_size): Just print the size in bytes. | |
4682 | ||
4683 | * troff/div.c (return_request): Correct the argument | |
4684 | interpretation. | |
4685 | ||
4686 | Wed Aug 1 12:38:36 1990 James Clark (jjc at yquem) | |
4687 | ||
4688 | * troff/node.h (class composite_node): Add sz member. | |
4689 | * troff/node.c (composite_node::size): Return sz. | |
4690 | * troff/input.c (macro_to_node): Use the initial size in the | |
4691 | environment as the size of the composite_node. | |
4692 | ||
4693 | * troff/node.c (node::zero_width_tprint): Provide a reasonable | |
4694 | default. | |
4695 | ||
4696 | Tue Jul 31 10:07:10 1990 James Clark (jjc at yquem) | |
4697 | ||
4698 | * troff/div.c (change_trap): If we get a bad number expression, | |
4699 | do nothing. | |
4700 | ||
4701 | Mon Jul 30 10:30:49 1990 James Clark (jjc at yquem) | |
4702 | ||
4703 | * lib/matherr.c (matherr): Define this only if math.h defines | |
4704 | TLOSS. | |
4705 | ||
4706 | Sun Jul 29 10:34:27 1990 James Clark (jjc at yquem) | |
4707 | ||
4708 | * troff/div.c (macro_diversion::distance_to_next_trap): If there | |
4709 | no diversion trap return vunits(INT_MAX - vresolution). | |
4710 | ||
4711 | Sat Jul 28 14:28:14 1990 James Clark (jjc at yquem) | |
4712 | ||
4713 | * troff/input.c (do_zero_width): New implementation that doesn't | |
4714 | use a temporary environment. Use instead: | |
4715 | (token::add_to_node_list): New function. | |
4716 | * troff/env.c (environment::get_prev_char_height), | |
4717 | (environment::get_prev_char_height), | |
4718 | (environment::get_prev_char_skew): New functions. | |
4719 | (environment::get_prev_char): New function. | |
4720 | (environment::get_prev_char_width): Change to use get_prev_char. | |
4721 | (init_env_request): Implement new registers .cht, .cdp, .csk. | |
4722 | * eqn/sqrt.c (sqrt_box::output): Don't rely upon the argument to | |
4723 | \Z being processed in a separate environment. | |
4724 | ||
4725 | Fri Jul 27 10:21:25 1990 James Clark (jjc at yquem) | |
4726 | ||
4727 | * tbl/table.c: Removed TABLE_BOTTOM_REG. | |
4728 | ||
4729 | * tbl/table.c (table::init_output): In the section release macro, | |
4730 | give a warning message if the section won't fit on one page. | |
4731 | ||
4732 | * tbl/table.c (table::do_top): Emit table keep only if table is | |
4733 | boxed. | |
4734 | (table::do_bottom): Likewise for table release. | |
4735 | (table::table), (table::add_vertical_rule): Remove reference to | |
4736 | keep member. | |
4737 | * tbl/table.h: Remove keep member. | |
4738 | ||
4739 | * tbl/table.c: New register SUPPRESS_BOTTOM_REG. In | |
4740 | SECTION_RELEASE_MACRO, if there's not enough space before the next | |
4741 | trap to output the diversion, call T# ourselves, set | |
4742 | SUPPRESS_BOTTOM_REG to 1, spring the trap, then set | |
4743 | SUPPRESS_BOTTOM_REG back to 0. In T#, do nothing if | |
4744 | SUPPRESS_BOTTOM_REG is non-zero. In T#, always mark the current | |
4745 | vertical position and return to it before turning traps on again. | |
4746 | ||
4747 | Thu Jul 26 02:54:32 1990 James Clark (jjc at yquem) | |
4748 | ||
4749 | * troff/node.c, troff/node.h: In classes derived from node, | |
4750 | replace prev_char_width method by last_char_node method. | |
4751 | * troff/env.c (environment::get_prev_char_width): Use | |
4752 | node::last_char_node rather than node::get_prev_char_width. | |
4753 | ||
4754 | * Makefile: Added comment about -fno-inline on 68030-based | |
4755 | Apollos. | |
4756 | ||
4757 | * troff/reg.c (number_format_to_ascii), eqn/delim.c (DELIM_TABLE_SIZE), | |
4758 | tty/tty.c (tty_font::load_tty_font), dvi/tfmtodit.c (main): Cast | |
4759 | expressions using sizeof to int. | |
4760 | * dvi/dvi.c (dvi_font::handle_x_command): Avoid long->int warnings. | |
4761 | ||
4762 | * macros/tmac.e (TS): Don't move @f back past the current | |
4763 | position. | |
4764 | ||
4765 | Wed Jul 25 09:11:08 1990 James Clark (jjc at yquem) | |
4766 | ||
4767 | * ps/ps.c (main): Buffer stderr. | |
4768 | * dvi/dvi.c (main): Likewise. | |
4769 | * tty/tty.c (main): Likewise. | |
4770 | ||
4771 | * ps/ps.c (ps_printer::do_import): Improve error handling. | |
4772 | ||
4773 | * troff/input.c (abort_request): Use asciify. | |
4774 | ||
4775 | * driver/printer.h (printer::draw), driver/printer.c (printer::draw), | |
4776 | ps/ps.c (ps_printer::draw), dvi/dvi.c (dvi_printer::draw): Make | |
4777 | type of first argument int rather than char. This works around a | |
4778 | bug on the 68030 based Apollo using g++ 1.37.1. | |
4779 | ||
4780 | * tbl/table.h (class table): Add `keep' member. | |
4781 | * tbl/table.c (table::table): Initialize `keep'. | |
4782 | (table::add_vertical_rule): Set `keep' to 1. | |
4783 | (table::do_top): Only emit table keep macro is `keep' is non-zero. | |
4784 | (table::do_bottom): Likewise for table release macro. | |
4785 | (table::do_row): Emit section keep macro even if the row is 0. | |
4786 | ||
4787 | Tue Jul 24 08:35:07 1990 James Clark (jjc at yquem) | |
4788 | ||
4789 | * macros/tmac.e (@C): Preserve the font family across the change | |
4790 | in environments. | |
4791 | ||
4792 | Mon Jul 23 10:15:23 1990 James Clark (jjc at yquem) | |
4793 | ||
4794 | * lib/font.c: Initialize font::hor and font::vert to 1. | |
4795 | (font::load_desc): Check the values of font::hor and font::vert. | |
4796 | ||
4797 | * lib/lib.h: Added definition of INT_DIGITS. Fix it so that it can | |
4798 | be included in a C compilation. | |
4799 | (iftoa): Use INT_DIGITS. Include lib.h. | |
4800 | (itoa): Likewise. | |
4801 | (as_string): Likewise. | |
4802 | * tbl/table.c: Removed definition of INT_DIGITS. | |
4803 | * eqn/box.c (box::top_level): Use INT_DIGITS + 1 instead of 12. | |
4804 | * troff/input.c (input_input_requests): Likewise. | |
4805 | * ps/ps.c (make_encoding_name): Likewise. | |
4806 | (ps_printer::set_style): Likewise. | |
4807 | (ps_output::put_number): Use 1 + INT_DIGITS + 1 instead of 12. | |
4808 | ||
4809 | * tty/devascii/R.proto: Map fm onto '. | |
4810 | * tty/devlatin1/R.proto: Likewise. | |
4811 | ||
4812 | Sat Jul 21 12:45:07 1990 James Clark (jjc at yquem) | |
4813 | ||
4814 | * tbl/table.c: Use ' instead of DELIMITER_CHAR in places where the | |
4815 | argument to \w is at a different input level. | |
4816 | ||
4817 | * tbl/table.c (table::init_output): Define a new macro | |
4818 | REPEATED_VPT_MACRO, like vpt but if in a diversion also | |
4819 | transparently outputs itself. | |
4820 | (table::define_bottom_macro): Use REPEATED_VPT_MACRO instead of | |
4821 | vpt. | |
4822 | (table::do_row): Likewise. | |
4823 | ||
4824 | * tbl/table.c (vertical_rule::print): Prefix the .sp -1 line with | |
4825 | TRANSPARENT_STRING_NAME. | |
4826 | ||
4827 | * tbl/table.c (table::init_output): In the table release macro | |
4828 | print an error message and don't produce any output if after | |
4829 | issuing the need request the table still will not fit. Also | |
4830 | remove the diversion after bringing it back. | |
4831 | ||
4832 | * tbl/table.c (table::init_output): Define a new macro | |
4833 | REPEATED_MARK_MACRO, like mk but if in a diversion also | |
4834 | transparently outputs itself. | |
4835 | (table::do_row): Mark row_top_reg using REPEATED_MARK_MACRO. This | |
4836 | is necessary because .TH might not call .T#. | |
4837 | (table::do_top): Likewise TOP_REG. | |
4838 | (table::define_bottom_macro): If TOP_REG is no longer valid, use | |
4839 | #T - DOUBLE_LINE_SEP rather than #T. This is necessary because the | |
4840 | table header might contain just the two top rules. | |
4841 | ||
4842 | Fri Jul 20 10:51:42 1990 James Clark (jjc at yquem) | |
4843 | ||
4844 | * troff/div.c: Implement new request `ptr' to print all traps. | |
4845 | ||
4846 | * troff/env.c (init_env_requests): Implement `.tabs' reg with | |
4847 | init_string_env_reg. | |
4848 | * troff/env.c (class tab_reg): Deleted. | |
4849 | ||
4850 | Thu Jul 19 12:07:16 1990 James Clark (jjc at yquem) | |
4851 | ||
4852 | * troff/div.c: New number register .pn returns the number of the | |
4853 | next page as set by the pn request. | |
4854 | ||
4855 | * macros/tmac.an: Redid headers and footers. Number each manual | |
4856 | entry starting from 1 unless \nC is > 0, like Sun. Added an | |
4857 | optional 5th argument to .TH which specifies the manual name and | |
4858 | appears in the center of the header. Understand the X, P and D | |
4859 | registers like Sun. | |
4860 | ||
4861 | Wed Jul 18 10:23:31 1990 James Clark (jjc at yquem) | |
4862 | ||
4863 | * troff/env.c (init_env_requests): New number register `.lt' to | |
4864 | return the title length. | |
4865 | ||
4866 | * troff/node.h (class transparent_dummy_node): New class. | |
4867 | * troff/node.c (class transparent_dummy_node): Provide member | |
4868 | functions. | |
4869 | * troff/env.c (interrupt): Add a transparent_dummy_node, rather | |
4870 | than a dummy_node. | |
4871 | ||
4872 | * troff/input.c (token::next): New escape sequence \). | |
4873 | * troff/input.c (get_copy): Recognize \) in copy mode. | |
4874 | ||
4875 | * troff/input.c (input_stack::clear): New function. | |
4876 | * troff/input.c (exit_request): Use input_stack::clear. | |
4877 | ||
4878 | * troff/token.h: Removed TOKEN_NO_PRINT_CHAR. | |
4879 | * troff/input.c (token::process): Removed case TOKEN_NO_PRINT_CHAR. | |
4880 | ||
4881 | * troff/env.c: Move set_page_character to input.c. Move | |
4882 | page_character to input.c also. | |
4883 | * troff/env.c (title): Split off the reading of the parts of the | |
4884 | title into read_title_parts. | |
4885 | * troff/input.c (read_title_parts): New function. Check the | |
4886 | input_level when testing whether a token matches the delimiter. | |
4887 | ||
4888 | * troff/input.c (exit_request): New function. | |
4889 | * troff/input.c (init_input_requests): Bind ex request to | |
4890 | exit_request rather than exit_groff. | |
4891 | ||
4892 | * troff/input.c (exit_groff): Call tok.next() before | |
4893 | process_input_stack(). | |
4894 | ||
4895 | Mon Jul 16 09:47:23 1990 James Clark (jjc at yquem) | |
4896 | ||
4897 | * troff/env.c: ifdef widow control support on WIDOW_CONTROL. | |
4898 | * troff/env.h: ditto. | |
4899 | * troff/input.c: ditto. | |
4900 | ||
4901 | * troff/env.c (environment::is_empty): Test pending_lines. | |
4902 | ||
4903 | * troff/env.c (environment::have_pending_lines): Removed. | |
4904 | ||
4905 | * troff/input.c: Add request to flush pending lines from the | |
4906 | environment. | |
4907 | ||
4908 | * troff/env.c, troff/env.h: Add automatic widow control feature. | |
4909 | ||
4910 | * troff/input.c (exit_groff): Do process_input_stack() after | |
4911 | do_break() but before setting exit_flag to 2. | |
4912 | ||
4913 | * troff/input.c: Remove FLUSH_PENDING_LINES and | |
4914 | TOKEN_FLUSH_PENDING_LINES. Instead, flush pending lines from | |
4915 | environment after END_TRAP token seen, but only if there aren't | |
4916 | any more traps still unfinished. | |
4917 | * troff/token.h: Remove TOKEN_FLUSH_PENDING_LINES. | |
4918 | ||
4919 | Sun Jul 15 10:50:08 1990 James Clark (jjc at yquem) | |
4920 | ||
4921 | * troff/env.c: Rename the `retain_size' member of class | |
4922 | pending_output_line to `no_fill'. | |
4923 | ||
4924 | * troff/env.c (title): When the line is output, make the | |
4925 | retain_size argument !fill. | |
4926 | ||
4927 | * troff/node.h: Add `hyphenated' member to struct breakpoint. | |
4928 | * troff/node.c (space_node::get_breakpoints), | |
4929 | (dbreak_node::get_breakpoints): Fill this in. | |
4930 | * troff/env.c: Allow specification of maximum number of | |
4931 | consecutive hyphenated lines. | |
4932 | ||
4933 | * troff/env.c (environment::is_empty): Add test for !current_tab. | |
4934 | ||
4935 | Sat Jul 14 11:23:01 1990 James Clark (jjc at yquem) | |
4936 | ||
4937 | * troff/env.c (environment::hyphenate_line): Don't completely give | |
4938 | up if the word is not to be hyphenated; continue so that breaks | |
4939 | can be made at break_char_node's. | |
4940 | ||
4941 | * lib/lib.h: Only define INT_MAX if it's not already defined; | |
4942 | undef INT_MIN if it's already defined. | |
4943 | ||
4944 | * Makefile: Make it easy to define CFRONT_ANSI_BUG. | |
4945 | ||
4946 | * lib/lib.h: If CFRONT_ANSI_BUG is defined, cast INT_MIN to long. | |
4947 | This works around a bug in AT&T C++ 2.0 used with an ANSI C | |
4948 | compiler. | |
4949 | ||
4950 | * macros/tmac.an (an-header): Set no-space mode. | |
4951 | ||
4952 | * macros/tmac.an (TH): Start a new page if necessary. | |
4953 | ||
4954 | * Started using ChangeLog at version 0.4. | |
4955 | ||
4956 | Local Variables: | |
4957 | version-control: never | |
4958 | End: |