]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/groff/ChangeLog.118
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / groff / ChangeLog.118
1
2 Version 1.18.1 released
3 =======================
4
5 2002-10-08  Werner LEMBERG  <wl@gnu.org>
6
7         * doc/webpage.ms, NEWS: Updated.
8
9 2002-10-07  Werner LEMBERG  <wl@gnu.org>
10
11         * tmac/doc-common (Ss): Add final `.ns' (similar to `.Sh') to
12         suppress additional whitespace after the header.
13
14         * tmac/doc-ditroff, tmac/doc-nroff (Am): New string to be in sync
15         with NetBSD.
16
17         * src/preproc/grn/grn.man, tmac/groff_mdoc.man, NEWS: Updated.
18
19 2002-10-07  Ruslan Ermilov  <ru@FreeBSD.org>
20
21         * tmac/doc-common(doc-volume-operating-system-ateol): New flag.
22         (Dt): Use it to improve language localization (especially Russian
23         and French).
24
25 2002-10-07  Daniel Senderowicz  <daniel@synchrods.com>
26
27         * src/preproc/grn/gprint.h (BSPLINE, BEZIER): New macros.
28         * src/preproc/grn/hdb.cc (DBGetType): Parse spline and bezier
29         drawing commands.
30         * src/preproc/grn/hgraph.cc (drawwig): Add parameter to control
31         curve type.
32         Call `picurve' for BSPLINE.
33         (HGPrintElt): Handle BSPLINE.
34         * src/preproc/grn/README: Document it.
35
36 2002-10-03  Werner LEMBERG  <wl@gnu.org>
37
38         * src/roff/troff/node.cc (break_char_node::col): New variable.
39         Updated constructor.
40         (space_node::tprint, word_space_node::tprint): Call `fill_color'
41         unconditionally.
42         (space_node::space_node): Remove assertion.
43         (break_char_node::add_self): Pass color argument to space node.
44         * src/roff/troff/input.cc (token::add_to_node_list, token::process):
45         Ditto.
46         * src/roff/troff/env.cc (environment::do_break,
47         environment::add_padding): Ditto.
48
49 2002-10-02  Werner LEMBERG  <wl@gnu.org>
50
51         Redesigning color support in troff.  Colors are no longer
52         represented as separate nodes but are now part of glyph nodes and
53         friends.  This fixes the current formatting misbehaviour due to the
54         changes introduced on 2002-09-20.  Some extra code is necessary for
55         proper grotty support: Without adding color variables to
56         space-related nodes, the background color would be changed too late.
57
58         * src/roff/troff/node.h, src/roff/troff/node.cc:
59         s/current_pagecolor/current_fill_color/.
60         s/current_glyphcolor/current_glyph_color/.
61         (glyph_color_node, fill_color_node): Removed.
62         (node::get_glyph_color, node::get_fill_color): New virtual member
63         functions.
64         (space_node::col): New variable.
65         Updated constructors of space_node and derived classes accordingly.
66         (hmotion_node::col): New variable.
67         Updated constructors of hmotion_node and space_char_hmotion_node
68         accordingly.
69         (vmotion_node::col): New variable.
70         Updated constructor accordingly.
71         (draw_node::gcol, draw_node::fcol): New variables.
72         Updated constructor accordingly.
73         (special_node::gcol, special_node::fcol): New variables.
74         Updated constructors accordingly.
75         (troff_output_file::put_char, troff_output_file::put_charwidth,
76         troff_output_file::draw): Set glyph and fill color.
77         (troff_output_file::start_special): Set glyph and fill color.
78         Always set current font.
79         (troff_output_file::fill_color, troff_output_file::glyph_color):
80         Don't call `do_motion'.
81         (glyph_node::gcol, glyph_node::fcol): New variables.
82         Updated constructors of glyph_node and ligature_node accordingly.
83         (glyph_node::get_glyph_color, glyph_node::get_fill_color): New
84         member functions.
85         (glyph_node::merge_glyph_node,
86         kern_pair_node::add_discretionary_hyphen,
87         node::add_discretionary_hyphen): Updated.
88         (break_char_node::merge_self): Updated.
89         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
90         vmotion_node::tprint): Handle color.
91         (make_glyph_node, make_node, node::add_char): Updated.
92
93         * src/roff/troff/env.cc (environment::space_newline,
94         environment::space, environment::output_line, environment::do_break,
95         environment::make_tab_node, environment::add_padding, title):
96         Updated.
97         (environment_switch, environment_copy): Don't add color nodes.
98
99         * src/roff/troff/input.cc (do_glyph_color, do_fill_color): Return
100         nothing.
101         (token::next): Updated.
102         \m and \M now are as transparent as \s.
103         (process_input_stack, token::add_to_node_list, token::process,
104         read_draw_node): Updated.
105         (charinfo_to_node_list): Don't add color nodes.
106
107         * doc/groff.texinfo: Updated.
108
109 2002-09-27  Ruslan Ermilov  <ru@FreeBSD.org>
110
111         * tmac/doc-common (ds-operating-system-FreeBSD-4.*): New version
112         strings.
113
114 2002-09-27  Colin Watson  <cjwatson@debian.org>
115
116         * src/roff/troff/node.cc (bracket_node::copy): Check `list' != 0.
117
118 2002-09-23  Werner LEMBERG  <wl@gnu.org>
119
120         * src/devices/grolbp/lbp.cc: Replace `300' with `font::res' where
121         appropriate.
122         (DEFAULT_LINEWIDTH_FACTOR): New macro.
123         (linewidth_factor): New global variable.
124         (lbp_printer::set_line_thickness): Fix case for size < 0, using
125         linewidth_factor.
126         (long_options): Add -w/--linewidth option.
127         (usage): Updated.
128         (main): Handle -w option to set linewidth_factor.
129         (lbp_printer::lbp_printer): Initialize req_linethickness, not
130         line_thickness.
131
132         * src/devices/grolbp/grolbp.man, NEWS, doc/webpage.ms: Updated.
133
134 2002-09-22  Paco Andrés Verdú  <pandres@dragonet.es>
135
136         Fixed a bug in the line thickness setting code.
137
138         * src/devices/grolbp/lbp.cc (lbp_printer::req_linethickness): New
139         variable.
140         (lbp_printer::set_line_thickness): Pass environment as second
141         parameter.
142         Implement it actually.
143         (lpb_printer::set_char, lbp_printer::draw): Use `req_linethickness'
144         and `set_line_thickness, depending on the current font size.
145
146 2002-09-21  Werner LEMBERG  <wl@gnu.org>
147
148         Some Debian patches.
149
150         * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase to 12.
151         * src/roff/troff/node.cc (bracket_node::copy): Initialize
152         `list->last'.
153
154 2002-09-20  Werner LEMBERG  <wl@gnu.org>
155
156         * configure: Regenerated with autoconf 2.54.
157
158 2002-09-20  Werner LEMBERG  <wl@gnu.org>
159
160         * src/roff/troff/env.h (environment): Rename cur_glyph_color to
161         glyph_color.
162         Rename cur_fill_color to fill_color.
163         * src/roff/troff/env.cc: Updated.
164
165 2002-09-20  Werner LEMBERG  <wl@gnu.org>
166
167         * src/roff/troff/env.cc (title): Copy color status after processing
168         title.
169         * src/roff/troff/input.cc (charinfo_to_node_list): Emit glyph and
170         fill color nodes to reset colors properly.
171
172         * tmac/www.tmac (DC): Fix color handling.
173
174         * src/preproc/pic/pic.man, doc/pic.ms: Document some color issues.
175         * doc/groff.texinfo: Fixing documentation of `tl' request.
176         * doc/webpage.ms: Updated.
177
178 2002-09-19  Werner LEMBERG  <wl@gnu.org>
179
180         * src/roff/troff/env.cc (environent_switch, environment_copy):
181         Emit glyph and fill color nodes to initialize colors properly.
182
183 2002-09-17  Colin Watson  <cjwatson@debian.org>
184
185         * src/roff/troff/env.cc (environment::set_glyph_color,
186         environment::set_fill_color): Fix typo which prevented \m[] work
187         correctly.
188
189 2002-09-17  Werner LEMBERG  <wl@gnu.org>
190
191         Add left and right italic correction to non-slanted PS fonts.  This
192         is an experimental feature to improve image rendering of grohtml.
193
194         * font/devps/generate/Makefile (RFLAG): New variable, set to `-i 0'.
195         ({T,H,C,P,N,BM,A,HN}{R,B}, ZD, S, ZDR): Use it.
196         * font/devps/*: All non-slanted fonts regenerated.
197         * NEWS: Updated.
198
199 2002-09-16  Werner LEMBERG  <wl@gnu.org>
200
201         Add a site-specific font directory.
202
203         * Makefile.in (localfontdir, legacyfontdir): New variables.
204         (fontpath): Use them.
205         (MDEFINES, uninstall_dirs): Updated.
206         * Makefile.comm (.man.n): Add `LOCALFONTDIR' and `LEGACYFONTDIR'.
207         Remove `FONTPATH' and `MACROPATH'.
208
209         * src/roff/troff/troff.man, NEWS: Updated.
210         * doc/groff.texinfo (Font Directories): New section.
211         Other minor fixes.
212
213         * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
214         src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
215         src/preproc/grn/grn.man: Minor fixes.
216
217         * src/devices/grohtml/post-html.cc (html_printer::do_tab_ts):
218         Remove unused variable.
219
220 2002-09-11  Werner LEMBERG  <wl@gnu.org>
221
222         * doc/groff.texinfo, man/groff_font.man: Clarify argument of \N.
223         * man/groff_out.man: Fix documentation of 'N'.
224
225 2002-09-09  Gaius Mulley  <gaius@glam.ac.uk>
226
227         * doc/Makefile.in (webpage.html): Depend on gnu.eps also.
228         * src/roff/troff/env.cc (indent): Emit html tag only if break_flag is
229         set.
230         * src/devices/grohtml/post-html.cc (text_glob::is_br_ni): Removed.
231         (text_glob::is_br, html_printer::lookahead_for_tables): Updated.
232         (html_printer::do_tab_ts): Call `emit_table_header' with `FALSE'.
233         * src/devices/grohtml/html-text.cc (html_text::start_tag) <P_TAG,
234         PRE_TAG>: Call `begin' with `FALSE'.
235
236 2002-09-09  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
237
238         * src/libs/libgroff/string.cc (string::extract): Fix position of
239         terminating null byte.
240
241 2002-09-08  Werner LEMBERG  <wl@gnu.org>
242
243         Add global option `nospaces' to tbl so that leading and trailing
244         spaces in data items are ignored.
245
246         * src/libs/libgroff/string.cc (string::remove_spaces): New member
247         function to remove leading and trailing spaces.
248         * src/include/stringclass.h: Updated.
249
250         * src/preproc/tbl/table.h (table): Add flag `NOSPACES'.
251
252         * src/preproc/tbl/main.cc (process_options): Handle `nospaces'
253         option.
254         Fix typo in error messages.
255         (process_data): Implement `nospaces' option.
256         * src/preproc/tbl/tbl.man, NEWS, doc/webpage.ms: Updated.
257
258 2002-09-07  Werner LEMBERG  <wl@gnu.org>
259
260         * src/include/config.hin: Add `HAVE_ISATTY'.
261         * src/libs/libgroff/tmpfile.cc (xtmpfile_list): Drop `const' for
262         `fname' member.
263         * src/libs/libgroff/tmpname.cc: Include `time.h'.
264         * src/libs/libdriver/input.cc (Char): Add `operator==' and
265         `operator!=' for `char'.
266         * doc/groff.texinfo: Replace @ifnottex block for top node with
267         @ifhtml block.
268
269 2002-09-06  Werner LEMBERG  <wl@gnu.org>
270
271         * doc/Makefile.in (.texinfo.html): Add -I switch.
272         * doc/groff.texinfo: Add @ifnottex block for top node to make
273         translation to HTML work.
274
275 2002-09-05  Gaius Mulley  <gaius@glam.ac.uk>
276
277         * src/preproc/html/pre-html.cc (LETTER_LENGTH): Removed.
278         (get_papersize, determine_vertical_offset): Removed.
279         (char_buffer::do_image): Always specify letter size.
280         (main): Updated.
281         (imageList::createPage): Use -dDEVICEHEIGHTPOINTS instead of
282         -sPAPERSIZE.
283
284 2002-09-05  Werner LEMBERG  <wl@gnu.org>
285
286         * doc/groff.texinfo, tmac/groff_man.man: Improve documentation of
287         default indentation.
288
289 2002-09-04  Gaius Mulley  <gaius@glam.ac.uk>
290
291         * src/preproc/html/pre-html.cc (imageList::createPage): Use
292         -sPAPERSIZE for gs.
293         (generateImages): Clean up push-back buffer.
294
295 2002-09-04  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
296
297         * doc/groff.texinfo: Minor fixes.
298
299 2002-08-21  Gaius Mulley  <gaius@glam.ac.uk>
300
301         * src/preproc/html/pre-html.cc (DEFAULT_LINE_LENGTH): New macro.
302         (MAX_WIDTH, A4_LENGTH, A4_OFFSET, LETTER_OFFSET): Removed.
303         (gsPaper): Removed.
304         (determine_vertical_offset): Use LETTER_LENGTH.
305         (createPage): Moved to ...
306         (imageList::createPage): This.
307         Call gs with -dDEVICEWIDTHPOINTS to avoid cropping.
308         (imageList::getMaxX): New function.
309         (createImage): Moved to ...
310         (imageList::createImage): This.
311         (imageList::createImages): New function.
312         (generateImages): Read `maxx' directly.
313         Updated.
314         (scanArguments): Don't specify `gsPaper' for `-o'.
315         (makeTempFiles): Call `xtmpfile' with the last argument set to
316         `TRUE'.
317
318 2002-08-24  Werner LEMBERG  <wl@gnu.org>
319
320         * src/include/nonposix.h (mkdir, WAIT, creat) [_MSC_VER]: Define.
321         (WAIT, _WAIT_CHILD) [!_MSC_VER]: Define.
322         * src/preproc/html/pre-html.cc (waitForChild): Use WAIT.
323         * src/preproc/html/pushback.cc: Include nonposix.h.
324         * src/roff/groff/pipeline.c: Define strcasecmp and strncasecmp
325         conditionally.
326
327 2002-08-23  Werner LEMBERG  <wl@gnu.org>
328
329         Use $(OBJEXT) for the object file extension.
330
331         * Makefile.comm (.SUFFIXES): Add .obj.
332         (.cc.obj, .c.obj): New implicit rules.
333         * Makefile.in (OBJEXT): New variable, initialized from autoconf.
334         (MDEFINES): Add EXEEXT and OBJEXT.
335         * */Makefile.sub: s/.o/.$(OBJEXT)/.
336
337 2002-08-22  Werner LEMBERG  <wl@gnu.org>
338
339         * INSTALL: Mention texinfo 4.2 as a prerequisite.
340
341 2002-08-21  Gaius Mulley  <gaius@glam.ac.uk>
342
343         * src/devices/grohtml/post-html.cc (colType): Make enum global to
344         the file.
345         (html_printer::update_min_max, html_printer::add_table_end): New
346         methods.
347         (html_printer::lookahead_for_tables): Use them.
348         Reset page offset correctly.
349         (html_printer::~html_printer): Add creation of creator comment up.
350
351 2002-08-20  Werner LEMBERG  <wl@gnu.org>
352
353         * tmac/an-old.tmac (T&): New dummy macro to avoid warning.
354         * man/groff_tmac.man: Fix typos.
355         * man/groff_font.man: Minor reordering.
356         * contrib/eqn2graph/eqn2graph.man (Tp): New macro.
357
358 2002-08-18  Gaius Mulley  <gaius@glam.ac.uk>
359
360         Avoid endless loops while scanning for tables.
361
362         * src/devices/grohtml/post-html.cc (list::insert): Set
363         ptr->right->left.
364         (html_printer::next_horiz_pos): Add `text_glob' argument; update
365         all callers.
366         Return immediately if that argument is NULL.
367         (html_printer::calc_nf): Don't test if `g' is NULL.
368         (html_printer::lookahead_for_tables): Use
369         `glyphs.move_right_get_data'.
370         Don't test if `g' is NULL.
371
372 2002-08-18  Gaius Mulley  <gaius@glam.ac.uk>
373
374         A better fix, replacing fix 2002-08-15, for increasing SIZE.
375
376         * src/devices/grohtml/post-html.cc (char_block): Make `buffer'
377         a pointer.
378         (char_block::char_block): Allocate `buffer'.
379         (char_buffer::add_string): Use it.
380
381 2002-08-15  Werner LEMBERG  <wl@gnu.org>
382
383         * src/devices/grops/grops.man, src/devices/grolj4/grolj4.man,
384         src/devices/grodvi/grodvi.man: Document default line thickness.
385
386 2002-08-15  Gaius Mulley  <gaius@glam.ac.uk>
387
388         * src/devices/grohtml/post-html.cc (char_block): Increase SIZE to
389         8192.
390
391 2002-08-14  Werner LEMBERG  <wl@gnu.org>
392
393         * doc/webpage.ms: Updated.
394
395 2002-08-09  Werner LEMBERG  <wl@gnu.org>
396
397         * src/roff/troff/node.cc (node::add_char): Call `freeze_space' for
398         unbreakable space.
399
400 2002-08-08  Aaron Campbell  <aaron@monkey.org>
401
402         * src/preproc/pic/object.cc (object_spec::make_move): Fix typo
403         (&& -> &).
404
405 2002-08-08  Werner LEMBERG  <wl@gnu.org>
406
407         * src/roff/troff/input.cc (read_rgb, read_cmy, read_cmyk): Call
408         tok.next().
409         (read_gray): Ditto.
410         Don't push back a space but a newline onto the stack.
411
412 2002-08-07  Gaius Mulley  <gaius@glam.ac.uk>
413
414         Add fonts `CI', `CB', and `CBI' to grohtml which have been omitted
415         inadvertently.
416
417         * src/devices/grohtml/post-html.cc (html_printer::end_font,
418         html_printer::start_font): Handle them.
419         * src/devices/grohtml/html-text.cc (html_text::do_italic): Don't
420         reset bold and tt.
421         (html_text::do_bold): Don't reset italic and tt.
422         (html_text::do_tt, html_text::do_pre): Don't reset bold and italic.
423         * font/devhtml/DESC.proto: Add those fonts.
424         * font/devhtml/Makefile.sub (PROTOFONTS): Updated.
425
426 2002-08-07  Werner LEMBERG  <wl@gnu.org>
427
428         * MORE.STUFF: Added gpresent.
429
430         * tmac/trace.tmac: Show nesting level by a corresponding amount of
431         whitespace before printing the logging message.
432
433 2002-07-31  Colin Watson  <cjwatson@debian.org>
434
435         * src/devices/grohtml/html-table.cc (html_table::finish_row):
436         Initialize `n' to zero.  This fixes a segfault on ARM.
437
438 2002-07-30  Werner LEMBERG  <wl@gnu.org>
439
440         * doc/grnexmpl.me: Remove calls to .st and .sc which are undefined.
441
442 2002-07-29  Werner LEMBERG  <wl@gnu.org>
443
444         * src/preproc/pic/pic.y (print_arg, relative_path): Add missing
445         final semicolon.
446
447 2002-07-28  Colin Watson  <cjwatson@debian.org>
448
449         * src/devices/grohtml/post-html (html_printer::troff_tag): Handle
450         `.ps'.
451         (html_printer::html_printer): Initialize `pointsize'.
452
453 2002-07-26  Werner LEMBERG  <wl@gnu.org>
454
455         * doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Remove gnu.eps and
456         gnu.png.
457         (CLEANNOTSRCDIRADD): Add gnu.eps and gnu.png.
458         (gnu.eps): Add -rle switch to pnmtops.
459         (distfiles): Add gnu.eps and gnu.png.
460
461 2002-07-25  Petter Reinholdtsen  <pere@hungry.com>
462
463         * src/libs/libdriver/input.cc (Char): Add const to `operator=='.
464         Add `operator!='.
465
466 2002-07-24  Werner LEMBERG  <wl@gnu.org>
467
468         * doc/Makefile.in, doc/Makefile.sub (groff_bin_path): Don't use
469         ' \+' but '  *' for sed.
470         (GROFF): Set GROFF_COMMAND_PREFIX to empty value.
471
472 2002-07-23  Werner LEMBERG  <wl@gnu.org>
473
474         * doc/groff.texinfo: Document `papersize' keyword.
475         * NEWS, man/groff_font.man: Updated.
476
477 2002-07-23  Colin Watson  <cjwatson@debian.org>
478
479         Extend papersize keyword to accept more than a single entry.  The
480         first valid will be used.
481
482         * src/libs/libgroff/font.cc (font::load_desc): Implement it.
483         (font::scan_papersize): Really skip final newline.
484         * src/preproc/html/pre-html.cc (get_papersize): Ditto.
485
486 2002-07-23  Werner LEMBERG  <wl@gnu.org>
487
488         * configure.ac: Test for isatty.
489         * configure: Regenerated.
490         * src/include/posix.h: Check HAVE_ISATTY.
491         * src/roff/troff/input.cc [ISATTY_MISSING]: Removed.
492         * src/utils/lookbib/lookbib.cc: Include posix.h.
493         Don't declare isatty.
494
495 2002-07-21  Werner LEMBERG  <wl@gnu.org>
496
497         * NEWS: Add `output' request.
498
499         * REVISION: Increased to 1.
500
501 Version 1.18.0 released
502 =======================
503
504 2002-07-19  Gaius Mulley  <gaius@glam.ac.uk>
505
506         Allow internal glyph indices > 0xFF in grohtml for input characters.
507
508         * src/devices/grohtml/post-html.cc (to_unicode): Use `unsigned int'
509         as parameter.
510         (html_printer::add_to_sbuf): Use `unsigned int' as first parameter.
511         Updated all callers.
512         (html_printer::sbuf_continuation, html_printer::overstrike): Ditto.
513         (html_printer): Updated.
514
515 2002-07-19  Werner LEMBERG  <wl@gnu.org>
516
517         * font/devhtml/R.proto: Updated to HTML 4, adding many glyphs.
518         * font/devutf8/R.proto: Adding some missing glyphs.
519         * font/devutf8/NOTES: Updated.
520
521         * tmac/dvi.tmac: Add more composite glyphs.
522         * tmac/html.tmac: Updated.
523
524         * man/groff_char.man: Add `sum' and `product' entities.
525
526         * NEWS: Updated.
527
528 2002-07-18  Gaius Mulley  <gaius@glam.ac.uk>
529
530         Improved table, tab, and indenting support.
531
532         * src/roff/troff/input.cc (file_iterator::suppress_newline_flag,
533         string_iterator::suppress_newline_flag): Removed.  Updated all
534         function which have used it.
535
536         * src/roff/troff/env.cc: Include `input.h'.
537         (environment::add_node): Accept 0 as parameter.
538         (environment::add_html_tag): Add `force' parameter.
539         Updated all callers.
540         (environment::add_html_tag_tabs): Ditto.
541         For the moment, support left-aligned tabs only.
542         (environment::make_html_tag): New function.
543         (fill, no_fill): Set .br html tag additionally.
544         (environment::newline): Emit `eol.ce' or `eol' tag for html.
545         (environment::add_html_tag_eol): Removed.
546         (tab_stops::distance_to_next_tab): Add variant for handling
547         nextpos'.
548         (environment::distance_to_next_tab): Ditto.
549         Updated all callers.
550         (environment::handle_tab): Handle tabs for html.
551         
552         * src/roff/troff/env.h: Updated.
553
554         * src/roff/troff/div.cc: Updated all callers of
555         `environment::add_html_tag'.
556
557         * src/devices/grohtml/html-table.cc,
558         src/devices/grohtml/html-table.h: New files.
559
560         * src/devices/grohtml/html-text.cc (html_text): New members
561         `blank_para' and `start_space'.
562         (html_text::issue_tag): Don't emit TABLE_TAG.
563         Handle indentation for PRE_TAG and P_TAG.
564         (html_text::end_tag): Updated.
565         (html_text::table_is_void, html_text::issue_table_begin,
566         html_text::issue_table_end): Removed.
567         (html_text::do_push): Simplified.
568         [DEBUGGING]: Small fix.
569         (html_text::push_para): Add new parameter for indentation; updated
570         all callers.
571         Handle PRE_TAG.
572         (html_text::do_indent, html_text::do_table, html_text::done_table,
573         html_text::is_in_table): Removed.
574         (html_text::do_pre): Handle P_TAG also.
575         (html_text::shutdown): Handle p->indent.
576         (html_text::check_emit_text): Simplified.
577         (html_text::do_emittext): Reset `blank_para'.
578         (html_text::do_para): Add new parameter for indentation; updated
579         all callers.
580         (html_text::remove_indent): New function.
581         (html_text::do_space): Handle verbatim text properly.
582         (html_text::ever_emitted_text, html_text::starts_with_space,
583         html_text::remove_para_align): New functions.
584         (html_text::dump_stack_element, html_text::dump_stack): Updated.
585
586         * src/devices/grohtml/html_text.h (HTML_TAG): Remove TABLE_TAG.
587         Updated.
588
589         * src/devices/grohtml/post-html.cc: Include html-table.h.
590         (INDENTATION): Removed.
591         (text_glob): Added many `is_<foo>' functions.
592         Added table description `tab'.
593         Added `get_arg',`get_tab_args', `remember_table', and `get_table'
594         member functions.
595         (list): Add `insert' and `move_to' member functions.
596         (page): Add `insert_tag' member function.
597         (page::dump_page) [DEBUG_TABLES]: Improved.
598         (html_printer): Add `table' and `max_linelength' elements.
599         Add many `do_<foo>', `insert_<foo>', `next_horiz_pos',
600         `lookahead_for_tables', `shutdown_table', `calc_nf', `calc_po_in',
601         `remove_tabs', `remove_courier_tabs'.
602         (html_printer::emit_raw): Handle indentation.
603         (html_printer::do_center, html_printer::write_header): Updated.
604         (html_printer::is_courier_until_eol): Check for tag.
605         (html_printer::do_linelength): Handle max_linelength.
606         (html_printer::do_page_offset, html_printer::do_indentation): Handle
607         fill_on.
608         (html_printer::do_tempindent): Updated.
609         (html_printer::do_indentedparagraph): Removed.
610         (html_printer::do_indent): Simplified.
611         (html_printer::do_eol): Use `ever_emitted_text'.
612         (html_printer::do_flush, html_printer::do_links): Don't call
613         done_table.
614         (html_printer::do_break): Handle end_tempindent.
615         (html_printer::troff_tag): Get argument.
616         Don't handle `.ip'.
617         Handle `.tab-ts', `.tab-te', `.col', `tab', and `tab0' tags.
618         (html_printer::flush_page): Call `lookahead_for_tables'.
619         Don't call `done_table'.
620         (html_printer::add_to_sbuf): Always call do_indent.
621
622         * src/devices/grohtml/Makefile.sub: Updated.
623
624         * tmac/an-old.tmac (TP): Don't handle html device specially.
625         (an-do-tag-html): New function which will be used instead of
626         `an-do-tag' if html device is used.
627
628         * tmac/html.tmac: Call .po to pass default page offset to grohtml.
629
630         * tmac/s.tmac (@IP): Don't handle html device specially.
631         (@IP-html): New function which will be used instead of `@IP' if
632         html device is used.
633
634         * tmac/www.tmac (HTML-NS, HTML-TAG-NS): New auxiliary macros -- this
635         is a hack which will eventually vanish again.
636         (PIMG): Handle `-C' option correctly if not html.
637         (HR): Use HTML-NS.
638
639 2002-07-17  Werner LEMBERG  <wl@gnu.org>
640
641         * src/utils/afmtodit/afmtodit.pl: Don't use `-P-' for invoking perl.
642
643 2002-07-14  Eric S. Raymond  <esr@thyrsus.com>
644
645         * contrib/pic2graph/pic2graph.*: Use convert(1).
646         * contrib/eqn2graph/eqn2graph.*: Minor fixes.
647
648 2002-07-14  Bernd Warken  <bwarken@mayn.de>
649
650         * tmac/groff_trace.man: New file.
651         * tmac/Makefile.sub: Updated.
652         * NEWS: Updated.
653
654 2002-07-13  Werner LEMBERG  <wl@gnu.org>
655
656         * src/roff/groff/groff.man: Add some cross references.
657
658 2002-07-12  Werner LEMBERG  <wl@gnu.org>
659
660         * src/roff/troff/input.cc (substring_request): Add warnings for
661         string indices out of range.
662
663 2002-07-11  Werner LEMBERG  <wl@gnu.org>
664
665         * font/devdvi/generate/ec.map: Fix typo (`(l' -> `/l').
666         * font/devdvi/*EC: Regenerated.
667
668 2002-07-10  Bernd Warken  <bwarken@mayn.de>
669
670         * man/groff_char.man: Updated and extended.
671
672 2002-07-10  Werner LEMBERG  <wl@gnu.org>
673
674         * src/roff/troff/input.cc (length_macro): Renamed to...
675         (length_request): This.
676         Move call of `tok.next()' to the very end, otherwise the register
677         value hasn't been updated yet.
678         (init_input_requests): Updated.
679
680 2002-07-09  Werner LEMBERG  <wl@gnu.org>
681
682         * src/roff/troff/input.cc (substring_macro): Renamed to...
683         (substring_request): This.
684         (init_input_requests): Updated.
685         * src/roff/troff/request.h: Updated.
686
687 2002-07-08  Robert D. Goulding  <goulding@Princeton.EDU>
688
689         * src/roff/grog/grog.sh: Fix typo.
690
691 2002-07-08  Werner LEMBERG  <wl@gnu.org>
692
693         * win32-diffs: Updated.
694
695         Handle `papersize' keyword properly in DESC.
696
697         * src/libs/libgroff/font.cc (font::scan_papersize): Fix argument
698         type.
699         Updated all callers.
700         * src/libs/libgroff/paper.cc: Add four more paper formats used by
701         grolj4.
702         * src/include/paper.h: Updated.
703
704         * src/devices/grolbp/lbp.cc: Remove unnecessary semicolons.
705         Other minor C syntax fixes.
706         (papersize, paperlength, paperwidth): Renamed to `user_*'.
707         (lbp_printer): Add `papersize', `paperlength', and `paperwidth'
708         members.
709         (lbp_printer::lbp_printer): Pass three arguments.
710         Set paper dimensions properly.
711         (make_printer, main): Updated.
712         (handle_unknown_desc_command): Fix error messages.
713         (main): Handle papersize keyword in DESC properly.
714
715         * src/devices/grolj4/lj4.cc (paper_size): Renamed to
716         `user_paper_size'.
717         (lbp_printer::lbp_printer): Pass an argument.
718         Set paper_size properly.
719         (handle_unknown_desc_command): Removed.
720         (make_printer, main): Updated.
721         * src/devices/grolj4/grolj4.man: Minor documentation fix.
722
723         * man/groff_font.man, NEWS: Updated.
724
725 2002-07-07  Werner LEMBERG  <wl@gnu.org>
726
727         Integrated eqn2graph, contributed by Eric S. Raymond.
728
729         * contrib/eqn2graph/{Makefile.sub, eqn2graph.sh, eqn2graph.man}: New
730         files.
731         * Makefile.in, NEWS: Updated.
732
733 2002-06-04  Werner LEMBERG  <wl@gnu.org>
734
735         Changing the substring request to make it fit better with other
736         string manipulation functions in other programming languages:
737         Index 0 is now the first character in the string, and index -1
738         indicates the last character.  Since this request didn't work
739         properly anyway in the last release, it doesn't harm too much to
740         change the syntax.
741
742         * src/roff/troff/input.cc (substring_macro): Use loops to get
743         the real string length (ignoring COMPATIBLE_SAVE and
744         COMPATIBLE_RESTORE) and offsets.
745         Implement change described above.
746
747         * man/groff_char.man, tmac/doc-common (doc-header), tmac/doc.tmac
748         (doc-do-Bd-args, doc-do-Bl-args): Changed accordingly.
749
750         * NEWS, doc/groff.texinfo, man/groff_diff.man: Updated.
751
752 2002-06-03  Werner LEMBERG  <wl@gnu.org>
753
754         Make .chop work with .de1 and friends.  COMPATIBLE_SAVE and
755         COMPATIBLE_RESTORE are completely ignored.
756
757         * src/roff/troff/input.cc (char_list::set, char_list::get): New
758         functions.
759         (macro): `length' field renamed to `len'.
760         Added new field `empty_macro' (1 if macro is empty), to be used
761         instead of checking `len'.
762         Updated all callers.
763         (macro::empty): Updated.
764         (macro::length, macro::set, macro::get): New functions.
765         (macro::append): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
766         Set `empty_macro'.
767         (chop_macro): Check and remove trailing COMPATIBLE_SAVE/
768         COMPATIBLE_RESTORE pairs.
769         (asciify): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
770         * src/roff/troff/request.h: Updated.
771
772         * doc/groff.texinfo: Document .chop's behaviour better.
773
774 2002-06-02  Werner LEMBERG  <wl@gnu.org>
775
776         * doc/pic.ms: Fix documentation for the addition of positions.
777
778         * tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18.
779
780 2002-06-29  Werner LEMBERG  <wl@gnu.org>
781
782         Implementation of string arguments of the form \*[foo arg1 arg2 ...]
783
784         * src/roff/troff/input.cc (have_string_arg): New global variable.
785         (read_mode): New enumeration.
786         (read_escape_name): Use it.  Update all calls.
787         (read_long_escape_name): Use it.  Update all calls.
788         Set have_string_arg if appropriate.
789         (get_char_for_escape_name): Add parameter for handling space
790         character.
791         (interpolate_string_with_args, decode_string_args): New functions.
792         (get_copy, token::next): Call it if necessary.
793         (interpolate_string): Fix error message.
794
795         * NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
796         Document it.
797
798 2002-06-24  Bernd Warken  <bwarken@mayn.de>
799
800         * man/groff_tmac.man: Updated and extended.
801
802 2002-06-24  Werner LEMBERG  <wl@gnu.org>
803
804         * doc/pic.ms, src/preproc/pic/pic.man: Fix description of `:='.
805
806 2002-06-23  Werner LEMBERG  <wl@gnu.org>
807
808         * doc/pic.ms: Improve documentation of composite block objects.
809
810 2002-06-22  Werner LEMBERG  <wl@gnu.org>
811
812         * src/roff/troff/input.cc (init_registers): Add three registers
813         `seconds', `minutes', and `hours' to hold the current time.
814
815         * NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
816         Updated.
817
818 2002-06-20  Werner LEMBERG  <wl@gnu.org>
819
820         Make \X accept both `\ ' and `\~', converting them to single space
821         characters.
822
823         * src/roff/troff/token.h (token): Add TOKEN_UNSTRETCHABLE_SPACE.
824         (token::unstretchable_space): New inline function.
825         * src/roff/troff/input.cc (token::next, token::delimiter,
826         token::description, token::add_to_node_list, token::process): Handle
827         TOKEN_UNSTRETCHABLE_NODE.
828         (encode_char): Handle tok.stretchable_space and
829         tok.unstretchable_space.
830
831         * NEWS, doc/groff.texinfo: Document it..
832
833 2002-06-19  Werner LEMBERG  <wl@gnu.org>
834
835         * src/devices/grops/ps.cc (ps_printer::special): Fix error message.
836
837         * src/devices/grotty/tty.cc (tty_printer::special): Add `sgr'
838         keyword to enable/disable SGR output.
839         (tty_printer::change_fill_color): New function.
840         * NEWS, src/devices/grotty/grotty.man: Document `sgr' special.
841
842         * src/roff/troff/input.cc (output_request): Add missing `tok.next()'
843         call.
844
845 2002-06-18  Werner LEMBERG  <wl@gnu.org>
846
847         Add a `color' request and a `.color' register to control usage of
848         colours.
849
850         * src/roff/troff/input.cc (disable_color_flag): Replaced with...
851         (color_flag): This (which is the inverse).
852         (activate_color): New function.
853         (main, init_input_requests): Updated.
854         * src/roff/troff/troff.h, src/roff/troff/node.cc
855         (troff_output_file::fill_color, troff_output_file::glyph_color):
856         Updated.
857
858         * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
859         Document the changes.
860
861 2002-06-17  Colin Watson  <cjwatson@debian.org>
862
863         Circumvent bug in autoconf 2.53 regarding top_builddir.
864
865         * aclocal.m4 (GROFF_BUILDDIR): s/top_builddir/groff_top_builddir/.
866         * Makefile.in, doc/Makefile.in:
867         s/@top_builddir@/@groff_top_builddir@/.
868         * configure: Regenerated (with autoconf 2.53).
869
870 2002-06-17  Werner LEMBERG  <wl@gnu.org>
871
872         * src/libs/libgroff/font.cc (font::load_desc): Fix computation of
873         `paperwidth' and `paperlength' for the `papersize' keyword.
874
875 2002-06-16  P. Alejandro Lopez-Valencia  <dradul@007mundo.com>
876
877         * src/devices/grops/grops.man: Add info about Type 42 fonts.
878
879 2002-06-15  Gaius Mulley  <gaius@glam.ac.uk>
880
881         * src/devices/grohtml/post-html.cc (html_printer::emit_raw,
882         html_printer::do_linelength, html_printer::do_pageoffset,
883         html_printer::do_indentation, html_printer::do_tempindent,
884         html_printer::do_break, html_printer::begin_page): Clear indented
885         text.
886         * tmac/html.tmac: Disable hyphenation.
887
888 2002-06-15  Werner LEMBERG  <wl@gnu.org>
889
890         Don't produce HTML files if utility programs are missing.
891
892         * Makefile.in (make_html, make_install_html): New variables.
893         (MDEFINES): Updated.
894
895         * aclocal.m4 (GROFF_HTML_PROGRAMS): New function to test for HTML
896         utility programs.
897         * configure.ac: Use it.
898         * configure: Regenerated.
899
900         * doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Move webpage.html to...
901         (HTMLEXAMPLESFILES): This new variable.
902         (EXAMPLESIMAGEFILES): Renamed to...
903         (HTMLEXAMPLEIMAGEFILES): This.
904         (CLEANADD): Add HTMLEXAMPLEFILES.
905         (all): Use `make_html'.
906         (html): New target.
907         (install_data): Use `make_install_html'.
908         Move html stuff to...
909         (install_html): This new target.
910         (uninstall_sub): Updated.
911
912 2002-06-14  Bernd Warken  <bwarken@mayn.de>
913
914         * src/roff/grog/Makefile.sub (grog): Renamed to...
915         (grog.old): This.
916         (grog): New rule to always install grog.sh as grog.
917
918 2002-06-08  Bernd Warken  <bwarken@mayn.de>
919
920         * src/roff/grog/grog.pl: Fix typo.
921
922 2002-06-07  Werner LEMBERG  <wl@gnu.org>
923
924         * doc/groff.texinfo: Add more info on .tr arguments.
925
926 2002-06-05  Werner LEMBERG  <wl@gnu.org>
927
928         * NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated.
929
930         * aclocal.m4 (GROFF_MKSTEMP): Include unistd.h.
931         * configure: Regenerated.
932
933 2002-06-05  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
934
935         * src/roff/troff/symbol.cc (table_sizes): Add more values.
936
937         * src/roff/grog/grog.pl, src/roff/grog/grog.sh: Recognize mom.
938
939 2002-06-04  Werner LEMBERG  <wl@gnu.org>
940
941         * aclocal.m4 (GROFF_PAGE): Don't use `prefix' directly since it
942         is not initialized at the time we need it in case `--prefix' hasn't
943         been set.  Check for `ac_default_prefix' also.
944         Test for `papersize' keyword also and generalize allowed whitespace.
945         * configure: Regenerated.
946
947         * font/devps/Makefile.sub (DESC): Use `papersize' instead of
948         `paperlength'.
949
950         * src/libs/libgroff/Makefile.sub (version, revision): Replaced
951         with...
952         (src_version, src_revision): New variables to avoid overwriting
953         from parent make process.
954         (version.cc): Updated.
955
956         * src/preproc/html/pre-html.cc: Include paper.h and font.h.
957         (linebuf, linebufsize): New global variables.
958         (sys_fatal): Use `fatal' to abort properly.
959         (get_line): New function.
960         (get_resolution): Use it.
961         Improve error messages.
962         (get_papersize): Check `papersize' also.
963         Use `get_line'.
964         Improve error messages.
965
966 2002-06-03  Werner LEMBERG  <wl@gnu.org>
967
968         * Makefile.comm (CLEANNOTSRCDIRADD): New target for files which
969         should be removed only if builddir is not srcdir.
970         (mostlyclean): Handle `CLEANNOTSRCDIRADD'.
971         (clean): Depend on `mostlyclean'.
972         (distclean): Depend on `clean'.
973         (realclean, extraclean): Depend on `distclean'.
974         (.y.cc, .y.o): Simplified.  The output files are no longer written
975         to srcdir but to builddir.
976         * Makefile.in (MDEFINES): Add `version' and `revision'.
977         (uninstall_dirs): Fix order of directories.
978         * doc/Makefile.sub (version, revision): Removed.
979         (CLEANADD): Removed grnexmpl.g, groff, groff-*.
980         Added `HTMLDOCFILES'.
981         (CLEANNOTSRCDIRADD): New target for grnexmpl.h, groff, groff-*.
982         * src/preproc/eqn/Makefile.sub, src/preproc/pic/Makefile.sub,
983         src/preproc/refer/Makefile.sub (YTABC, YTABH): Don't use `srcdir'
984         as prefix.
985
986         * doc/texinfo.tex (\authortt): New macro.
987         (\shortcontt): Define.
988         (\titlepage): Set \tt to \authortt while defining \authorfont.
989         (\appendixbox): New macro.
990         (\chapmacro, \appendixentry): Use \appendixbox to get even
991         indentation for letters.
992         (\summarycontents): Set \tt.
993         (\internalpagesize): Add two arguments for real paper width and
994         height as needed by pdfTeX.
995         (\letterpaper, \smallbook, \afourpaper, \afivepaper, \afourlatex):
996         Updated.
997         (\tempdima, \tempdimb): New temporary dimensions.
998         (\pagesizesyyy): Updated.
999
1000 2002-06-02  Werner LEMBERG  <wl@gnu.org>
1001
1002         Adding a new keyword `papersize' to the DESC file format (similar
1003         but not completely identical to grolbp's extension).  grops now has
1004         a -p command line option to override `papersize'.  Finally, grolbp
1005         has been adapted to the new syntax.
1006
1007         * src/libs/libgroff/paper.cc, src/include/paper.h: New files.  It
1008         defines and initializes the `papersizes[]' array with NUM_PAPERSIZES
1009         elements.
1010         * src/libs/libgroff/Makefile.sub (OBJS): Add `paper.o'.
1011         (CCSRCS): Add `paper.cc'.
1012
1013         * src/include/font.h (font): Add `papersize' element.
1014         * src/libs/libgroff/font.cc (font::unit_scale): New helper function.
1015         (font::scan_papersize): New function.
1016         (font::load_desc): Use it for handling `papersize' keyword.
1017         * src/libs/libgroff/fontfile.cc: Initialize `font::papersize'.
1018
1019         * src/devices/grops/ps.cc: Include paper.h.
1020         (user_paper_length): New global variable.
1021         (ps_printer): Use paper length as initializer.
1022         (make_printer): Updated.
1023         (main): Handle new `-p' option.
1024         * src/devices/grops/grops.man: Updated.
1025
1026         * src/devices/grolbp/lbp.cc: Include paper.h.
1027         s/papersizes/lbp_papersizes/.
1028         (set_papersize): Use new `papersizes' array.
1029         (handle_unknown_desc_command): Don't handle `papersize'.
1030         (main): Use `font::scan_papersize' for handling `-p' option.
1031         * src/devices/grolbp/grolbp.man: Updated.
1032
1033         * man/groff_font.man: Document `papersize'.
1034         * NEWS: Updated.
1035
1036 2002-05-30  Werner LEMBERG  <wl@gnu.org>
1037
1038         * src/devices/grops/TODO: Updated.
1039         * src/devices/grops/grops.man: More info on paper formats.
1040         * man/groff_font.man: Document `paperheight' and `paperwidth'.
1041
1042 2002-05-29  Werner LEMBERG  <wl@gnu.org>
1043
1044         * doc/Makefile.sub (CLEANADD): Add grnexmpl.g, groff, and groff-*
1045         to list only if srcdir != currdir.
1046         (distfiles): New target.
1047
1048         * Makefile.in (EXTRADIRS): Add font/devlj4/generate.
1049         (NOMAKEDIRS): New variable.
1050         (DISTDIRS): Use it.
1051
1052 2002-05-26  Werner LEMBERG  <wl@gnu.org>
1053
1054         Add .output request, similar to \! at top-level.
1055
1056         * src/roff/troff/input.cc (transparent): Remove unused declaration.
1057         (output_request): New function.
1058         (init_input_requests): Add it.
1059         Sorted.
1060         * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
1061         Document it.
1062
1063         * Makefile.in (MDEFINES): Add INSTALL_INFO.
1064         (prepare_examples): Fix typo.
1065         * doc/groff.texinfo (@direntry): Fix it.
1066
1067 2002-05-25  Werner LEMBERG  <wl@gnu.org>
1068
1069         Including the doc subdir into groff's Makefile system.
1070
1071         * aclocal.m4 (GROFF_INSTALL_INFO): New function.
1072         * configure.ac: Use it.
1073         Generate `doc/Makefile'.
1074         * configure: Regenerated.
1075
1076         * Makefile.in (infodir, INSTALL_INFO): New variables.
1077         (MDEFINES, uninstall_dirs): Updated.
1078         (OTHERDIRS): Add `doc'.
1079         * Makefile.comm (CLEANDIRADD): New variable.
1080         (mostlyclean): Use it.
1081
1082         * doc/Makefile.sub, doc/Makefile.in: New files.
1083         * doc/Makefile: Removed.
1084
1085         * NEWS, INSTALL: Updated.
1086
1087 2002-05-24  Werner LEMBERG  <wl@gnu.org>
1088
1089         * doc/homepage.ms: Renamed to ...
1090         * doc/webpage.ms: This.
1091         Use `.NHR'.
1092
1093 2002-05-23  Werner LEMBERG  <wl@gnu.org>
1094
1095         Integrating the `mom' macro package, contributed by Peter Schaffter
1096         <df191@ncf.ca>.
1097
1098         * contrib/mom/*: New subdirectory tree.
1099         * Makefile.in (docdir, exampledir, htmldocdir): New variables to
1100         be used for documentation files.
1101         (MDEFINES, uninstall_dirs): Use them.
1102         (OTHERDIRS): Add contrib/mom.
1103         * Makefile.comm (.man.n): Add @DOCDIR@, @EXAMPLEDIR@, and
1104         @HTMLDOCDIR@.
1105         * MANIFEST, NEWS: Updated.
1106
1107 2002-05-22  Gaius Mulley  <gaius@glam.ac.uk>
1108
1109         Change syntax of \O: \O[0] suppresses output, \O[1] enables output
1110         if at outer level; at start-up we are at outer level.
1111
1112         * src/roff/troff/input.cc (do_suppress): Implement it.
1113         Simplify \O[3].
1114
1115         Add option -p to show progress information.
1116         pre-grohtml will now render only one page at a time, reducing the
1117         size of needed disk resources enormously.
1118
1119         * src/preproc/html/pre-html.cc (imagePageStem): Replaced with...
1120         (imagePageName): New global variable.
1121         (psPageName, show_progress, currentPageNo): New global variables.
1122         (html_system): Close saved stderr and stdout handles.
1123         (write_end_image): Accept a parameter to control \O escape.
1124         (write_start_image): Adapted to new \O meaning.
1125         (char_buffer::write_upto_newline): Updated.
1126         (createAllPages): Replaced with...
1127         (createPage): This new function to create a single page for images.
1128         It uses `psselect' from the psutils package.
1129         (removeAllPages): Removed.
1130         (createImage): Updated.
1131         Handle progress display.
1132         (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Removed.
1133         (scanArguments): Add option -p.
1134         (makeTempFiles): Updated to create temp files for psPageName and
1135         imagePageName.
1136         (removeTempFiles): Removed.
1137         (main): Updated.
1138
1139         * src/devices/grohtml/post-html.cc (header_desc::write_headings,
1140         html_printer::write_header): Append `\0' to `buffer'.
1141         (html_printer::do_eol): Depend on `current_paragraph->emitted_text'.
1142         (main): Handle -p.
1143         * src/devices/grohtml/html-text.cc (html_text::dump_stack_element):
1144         Handle `text_emitted'.
1145         (html_text::table_is_void): Slightly rewritten.
1146         (stop): New external symbol.
1147         (html_text::do_push) [DEBUGGING]: Use it and simplify.
1148         (html_text::shutdown): Call `dump_stack'.
1149         (html_text::do_space): Rewritten.
1150         * src/devices/grohtml/grohtml.man: Document -p and the need of
1151         `psselect'.
1152
1153         * tmac/www.tmac (DC, HTML-DO-IMAGE, HTML-IMAGE-END): Updated to
1154         new \O syntax.
1155         Call \O[0] if `ps4html' is active.
1156         * tmac/s.tmac (@EQ, @EN): Handle html better.
1157         (@TS, TE): Ditto.
1158         * tmac/html.tmac: Don't use black for background colour.
1159
1160         * src/roff/troff/node.cc: Include `div.h'.
1161         (troff_output_file::really_print_line): Don't use `is_on'.
1162         (troff_output_file::word_marker, troff_output_file::flush_tbuf
1163         troff_output_file::check_charinfo,
1164         troff_output_file::put_char_width, troff_output_file::put_char,
1165         troff_output_file::determine_line_limits, troff_output_file::draw,
1166         real_output_file::begin_page, glyph_color_node::tprintf,
1167         fill_color_node::tprint, hline_node::tprint, vline_node::tprint):
1168         Use `is_on'.
1169         (troff_output_file::really_on): Call `do_motion'.
1170         (suppress_node::tprint): Use `get_page_number' instead of `%'
1171         register.
1172         Call `reset_output_registers' conditionally on `is_on'.
1173
1174         * doc/groff.texinfo: Document new syntax of \O.
1175         * NEWS, man/groff_diff.man: Updated.
1176
1177 2002-05-22  Werner LEMBERG  <wl@gnu.org>
1178
1179         * MORE.STUFF: Add info about David Frey's deroff implementation.
1180         Mention troff.org.
1181
1182 2002-05-16  Werner LEMBERG  <wl@gnu.org>
1183
1184         Pic's `with' attribute now accepts positions.
1185
1186         * src/preproc/pic/pic.y: Make `.', BOX, CIRCLE, ELLIPSE, ARC, LINE,
1187         ARROW, SPLINE, and `[' left-associative tokens to fix shift/reduce
1188         conflicts.
1189         (object_spec): Add rule for `WITH' and `position'.
1190         (relative_path): Give `corner' the precedence of `CHOP'.
1191         * src/preproc/pic/object.h (path): New members `pos' and
1192         `is_position'.
1193         * src/preproc/pic/object.cc: Updated initializers of `path'.
1194         (path::follow): Handle `is_position'.
1195
1196         * doc/pic.ms: Completely updated grammar description.
1197         Many typographical improvements.
1198
1199 2002-05-15  Werner LEMBERG  <wl@gnu.org>
1200
1201         * src/roff/troff/env.cc(hyphen_trie::hpf_getc): Accept ^^x (char
1202         code of x in range 0-127) also.
1203         * doc/groff.texinfo, man/groff_diff.man: Updated.
1204
1205         Added keywords `north', `south', `east', and `west' for corners
1206         in pic.
1207
1208         * src/preproc/pic/lex.cc (lookup_keyword): Add NORTH, SOUTH, EAST,
1209         and WEST.
1210         (yylex): Handle them.
1211         * src/preproc/pic/pic.y: Add tokens NORTH, SOUTH, EAST, and WEST.
1212         (corner): Handle them.
1213
1214 2002-05-14  Werner LEMBERG  <wl@gnu.org>
1215
1216         * src/devices/grops/grops.man: Clarify handling of `download' file.
1217
1218 2002-05-11  Werner LEMBERG  <wl@gnu.org>
1219
1220         Adding `warnscale' and `spreadwarn' requests, based on a patch from
1221         Jeffrey Friedl <jfriedl@yahoo.com>.
1222
1223         * src/roff/troff/input.cc (spread_limit, warn_scale,
1224         warn_scaling_indicator): New global variables.
1225         (warnscale_request, spreadwarn_requests): New functions.
1226         (main): Initialize `warn_scale' and `warn_scaling_indicator'.
1227         (init_input_requests): Updated.
1228         (error_type): Add `OUTPUT_WARNING'.
1229         (do_error): Handle it.
1230         (output_warning): New warning function which shows output location.
1231         * src/roff/troff/env.h (spread_limit): New external variable.
1232         * src/roff/troff/env.cc (environment::choose_breakpoint): Use
1233         `output_warning'.
1234         (distribute_space): Emit warning if added space is larger than
1235         `spread_limit'.
1236         (environment::possibly_break_line): Emit warning if a line can't
1237         be adjusted on both sides.
1238
1239         * doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it.
1240
1241 2002-05-08  Werner LEMBERG  <wl@gnu.org>
1242
1243         * src/roff/troff/node.cc (special_node::special_node): Use
1244         env_definite_font(curenv) instead of curenv->get_font().  Otherwise
1245         \X''\% crashes, for example.
1246
1247         * doc/groff.texinfo: Document \! and \? used at top-level.
1248
1249 2002-05-06  Werner LEMBERG  <wl@gnu.org>
1250
1251         * src/preproc/pic/pic.man: Fix some keyword syntax.
1252         Other minor typographical fixes.
1253
1254         * src/roff/groff/groff.man: Fix typos.
1255
1256 2002-05-04  Werner LEMBERG  <wl@gnu.org>
1257
1258         * src/roff/groff/groff.man ([ShortOpt]): Renamed to...
1259         (ShortOpt[]): This to avoid problems with refer.
1260
1261         * doc/pic.ms: Fix typo.
1262         Fix pic grammar description.
1263
1264         * tmac/an-old.tmac (ne): Use de1, not de.
1265
1266 2002-05-03  Werner LEMBERG  <wl@gnu.org>
1267
1268         * doc/groff.texinfo: Finished separation of glyphs and characters.
1269         Don't use the string `Appendix' for appendix headers (both in
1270         the text and the table of contents).
1271         * man/groff_tmac.man, src/roff/troff/troff.man: Fix order of tmac
1272         directories.
1273
1274         Use registers LL and LT (similar to -ms) for controlling the
1275         length of title and line, respectively, in the -man and -mdoc
1276         macro packages.
1277
1278         * tmac/doc-ditroff (doc-setup-page-layout), tmac/doc-nroff
1279         (doc-setup-page-layout): Use \n[LL] and \n[LT].
1280         * tmac/an-old.tmac: Set \n[LL] and \n[LT] if not defined.
1281         (TH): Use \n[LL].
1282         (an-header, an-p-footer): Use \n[LT].
1283         * NEWS, tmac/groff_man.man, tmac/groff_mdoc.man,
1284         doc/groff.texinfo: Document it.
1285
1286 2002-05-02  Werner LEMBERG  <wl@gnu.org>
1287
1288         * doc/fdl.texi: New file.
1289         * doc/groff.texinfo: Include it.
1290         Define and use @copying.
1291         Starting with separating glyph, symbol, and character.
1292
1293 2002-04-27  Werner LEMBERG  <wl@gnu.org>
1294
1295         * Makefile.in (EXEEXT): Set it.
1296         * src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script
1297         programs.
1298
1299         * src/include/nonposix.h: Define GS_NAME.
1300         * src/preproc/html/pre-html.cc (createAllPages): Use GS_NAME.
1301
1302         Some preliminary changes for EMX support under OS/2.
1303
1304         * src/preproc/pic/main.cc (main), src/roff/groff/pipeline.c: Add
1305         __EMX__ similar to __MSDOS__.
1306         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Use `unlink'.
1307
1308 2002-04-25  Werner LEMBERG  <wl@gnu.org>
1309
1310         * doc/groff.texinfo: Integrated groff_out.man.
1311         Some macro fixes.
1312
1313 2002-04-23  Werner LEMBERG  <wl@gnu.org>
1314
1315         * man/groff_out.man: Minor fixes.
1316
1317 2002-04-23  Werner LEMBERG  <wl@gnu.org>
1318
1319         * doc/groff.texinfo: Moving @cindex entries after @Def* to get
1320         correct page references.
1321         Fixed many index entries.
1322
1323 2002-04-23  Bernd Warken  <bwarken@mayn.de>
1324
1325         * man/roff.man: Enlarged.
1326
1327 2002-04-22  Werner LEMBERG  <wl@gnu.org>
1328
1329         * doc/groff.texinfo: More examples, other fixes.
1330
1331 2002-04-20  Werner LEMBERG  <wl@gnu.org>
1332
1333         * src/roff/troff/input.cc (pipe_output): Multiple calls to `pi'
1334         will now form a chain, e.g.
1335
1336           .pi foo
1337           .pi bar
1338
1339         is now the same as
1340
1341           .pi foo | bar
1342
1343         This is for compatibility with plan 9's troff.
1344
1345         * tmac/tty.tmac: Set default tab values to 0.8i to be compatible
1346         with UNIX troff.
1347         * NEWS: Updated.
1348
1349         * doc/groff.texinfo: Add documentation of remaining requests and
1350         registers.
1351
1352 2002-04-19  Werner LEMBERG  <wl@gnu.org>
1353
1354         * doc/groff.texinfo: Add documentation of remaining escapes.
1355
1356         * font/devdvi/generate/tc.map: Remove entry for `sr'.
1357         * font/devdvi/*TC: Regenerated.
1358
1359 2002-04-18  Werner LEMBERG  <wl@gnu.org>
1360
1361         * src/roff/troff/input.cc (token::next): Make \H behave consistently
1362         if not in compatibility mode, i.e., increment relative to the
1363         previous height.
1364         * doc/groff.texinfo: Updated accordingly.
1365
1366 2002-04-17  Werner LEMBERG  <wl@gnu.org>
1367
1368         * doc/groff.texinfo: Document \\, \e, \E, \., and \c.
1369
1370 2002-04-16  Bernd Warken  <bwarken@mayn.de>
1371
1372         * src/roff/groff/groff.man: Improve documentation of -P option.
1373         Other minor fixes.
1374
1375 2002-04-15  Werner LEMBERG  <wl@gnu.org>
1376
1377         Add new escape \F to switch font family.
1378
1379         * src/roff/troff/input.cc (token::next): Handle \F.
1380         * src/roff/troff/env.cc (environment::set_family): Handle
1381         `interrupted' flag.
1382         * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
1383         Document it.
1384
1385 2002-04-14  Werner LEMBERG  <wl@gnu.org>
1386
1387         * tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of
1388         spaces in tags.
1389
1390 2002-04-13  Werner LEMBERG  <wl@gnu.org>
1391
1392         Implement \f[] as an alternative to \fP.  Change \mP and \MP to
1393         \m[] and \M[], respectively.
1394
1395         * src/roff/troff/symbol.cc (EMPTY_SYMBOL): New global variable.
1396         (symbol::symbol): Handle NULL string and empty string differently.
1397         * src/roff/troff/symbol.h (symbol::is_empty): New inline function.
1398         * src/roff/troff/input.cc (read_escape_name, read_long_escape_name):
1399         Add optional parameter.
1400         Updated calling functions.
1401         (get_copy, do_glyph_color, do_fill_color, token::next): Use
1402         `symbol::is_empty'.
1403         * src/roff/troff/env.cc (environment::set_font): Ditto.
1404
1405         * src/preproc/pic/troff.cc (troff_output::set_fill,
1406         troff_output::reset_color: Updated.
1407
1408         * tmac/www.tmac: Updated.
1409
1410         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo,
1411         doc/homepage.ms, src/devices/grotty/grotty.man, tmac/groff_www.man:
1412         Updated.
1413
1414         * tmac/Xps.tmac: Remove some redundant code.
1415
1416         * tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac,
1417         tmac/dvi.tmac, man/roff.man, man/groff_out.man, man/groff.man,
1418         man/groff_diff.man, src/roff/groff/groff.man: Replace \f[P] with
1419         \f[].
1420
1421 2002-04-13  Bernd Warken  <bwarken@mayn.de>
1422
1423         * src/include/printer.h, src/libs/libdriver/printer.cc
1424         (printer::change_fill_color): New member function.
1425         * src/libs/libdriver/input.cc (parse_D_command): Use it.
1426
1427 2002-04-12  Werner LEMBERG  <wl@gnu.org>
1428
1429         * doc/groff.texinfo: Completed pass on gtroff reference.
1430
1431 2002-04-11  Werner LEMBERG  <wl@gnu.org>
1432
1433         * doc/groff.texinfo: More fixes.
1434
1435 2002-04-11  Bernd Warken  <bwarken@mayn.de>
1436
1437         * src/include/color.h: Decorate with `const'.
1438         Use `size_t'.
1439         Include `stddef.h'.
1440         * src/libs/libgroff.color.cc: Decorate with `const'.
1441         Use `size_t'.
1442         (color::color): Initialize members.
1443         * src/libs/libdriver/input.cc (parse_D_command): Handle `f'
1444         command according to the documentation.
1445
1446         * man/groff_out.man: Updated.
1447         Minor fixes.
1448
1449 2002-04-11  Gaius Mulley  <gaius@glam.ac.uk>
1450
1451         * src/preproc/html/pre-html.cc (write_start_image): Remove
1452         redundant output.
1453         * tmac/www.tmac (DC, HTML-DO-IMAGE): Ditto.
1454
1455         * src/devices/grohtml/post-html.cc (page::add_and_encode): Using
1456         \C'hy' caused an assertion failure.
1457
1458         * src/roff/troff/env.cc (environment::environment): Initialize
1459         `emitted_node'.
1460         (environment::copy): Handle `ignore_next_eol' and `emitted_node'.
1461
1462 2002-04-10  Werner LEMBERG  <wl@gnu.org>
1463
1464         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1465         Document pvs request and .pvs register.
1466
1467 2002-04-09  Werner LEMBERG  <wl@gnu.org>
1468
1469         * doc/groff.texinfo: Improve and fix documentation of diversions
1470         and environments.
1471
1472 2002-04-08  Werner LEMBERG  <wl@gnu.org>
1473
1474         * doc/groff.texinfo: Fix documentation of drawing functions.
1475         Other minor fixes.
1476
1477 2002-04-07  Werner LEMBERG  <wl@gnu.org>
1478
1479         * doc/groff.texinfo: Better documentation of double quotes as
1480         arguments.
1481         Other minor fixes.
1482
1483 2002-04-06  Werner LEMBERG  <wl@gnu.org>
1484
1485         * man/groff_font.man: Document names of special characters better.
1486         * doc/groff.texinfo: Minor improvements.
1487
1488         * tmac/lbp.tmac: Load latin1.tmac.
1489         * tmac/X.tmac, tmac/Xps.tmac: Load latin1.tmac or cp1047.tmac.
1490
1491         * font/devX*/*: Regenerated (all chars > 0x80 removed).
1492
1493 2002-04-05  Werner LEMBERG  <wl@gnu.org>
1494
1495         * tmac/tty.tmac: Don't use shc request.
1496         * tmac/latin1.tmac, tmac/cp1047.tmac: Translate soft hyphen to `\%'.
1497         * NEWS: Updated.
1498
1499         * man/groff_diff.man: Minor fixes.
1500
1501         * font/devlbp/*: Remove all `charXXX' entities.
1502
1503         * src/libs/libgroff/font.cc (font::~font): Deallocate
1504         `special_device_coding'.
1505         (font::load): Use `new' for allocating `special_device_coding'.
1506         * src/libs/libgroff/nametoindex.cc (character_indexer::lookup_char):
1507         Removed unused member.
1508
1509 2002-04-05  Werner LEMBERG  <wl@gnu.org>
1510
1511         * src/drivers/grops/psrm.cc (skip_possible_newline): New function.
1512         (resource_manager::do_begin_binary,
1513         resource_manager::do_begin_data): Use it.
1514
1515         * doc/texinfo.tex: Updated to version 4.2.
1516
1517         * src/roff/troff/token.h: Add TOKEN_ZERO_WIDTH_BREAK for `\:'.
1518         (token::zero_width_break): New inline function.
1519         * src/roff/troff/input.cc (token::next): Use it.
1520         (token::description): Updated.
1521         (encode_char): Ignore `\%', `\&', `\)', and `\:'.
1522         (token::add_to_node_list, token::process): Use it.
1523         * NEWS, doc/groff.texinfo: Updated.
1524
1525         * src/preproc/eqn/over.cc (over_box::output): Fix typo.
1526         * tmac/tty.tmac: Add missing backslash.
1527
1528 2002-04-04  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
1529
1530         * src/preproc/eqn/box.cc (set_script_size, box::top_level): Use
1531         `.ps' register instead of `.s' to handle fractional point sizes.
1532         * src/preproc/eqn/limit.cc (limit_box::compute_metrics,
1533         limit_box::output): Ditto.
1534         * src/preproc/eqn/other.cc (size_box::compute_metrics,
1535         size_box::output): Ditto.
1536         * src/preproc/eqn/over.cc (over_box::compute_metrics,
1537         over_box::output): Ditto.
1538         * src/preproc/eqn/script.cc (script_box::compute_metrics,
1539         script_box::output): Ditto.
1540         * src/preproc/eqn/sqrt.cc (sqrt_box::compute_metrics,
1541         sqrt_box::output): Ditto.
1542
1543 2002-04-03  Michael Selway  <mas@ssl.co.uk>
1544
1545         * src/drivers/grops/psrm.cc (resource_manager::do_begin_binary):
1546         Fix typo.
1547
1548 2002-04-03  Werner LEMBERG  <wl@gnu.org>
1549
1550         * doc/homepage.ms: Reduce title size.
1551         * doc/groff.texinfo: Fix documentation of .t register.
1552         Fix handling of colon.
1553         Fix `\' vs. `\\'.
1554
1555         * src/roff/troff/input.cc (exit_troff): Emit LAST_PAGE_EJECTOR
1556         only if page length is positive to avoid a loop.
1557
1558         * tmac/an-old.tmac (ne): Increase page length to avoid problems with
1559         tbl.
1560
1561 2002-04-02  P. Alejandro Lopez-Valencia  <dradul@yahoo.com>
1562
1563         * src/include/nonposix.h, src/roff/groff/pipeline.c:
1564         s/__CYGWIN32__/__CYGWIN__/.
1565
1566 2002-03-28  Gaius Mulley  <gaius@glam.ac.uk>
1567
1568         * doc/gnu.xpm: New image contributed by Emily Mulley.
1569         * doc/Makefile (gnu.eps, gnu.png): Use pnmdepth.
1570         (homepage.html): Be dependent on gnu.eps.
1571         * doc/homepage.ms: Updated to new image.
1572
1573         * src/devices/grohtml/post-html.cc (html_printer): New member
1574         `sbuf_prev_hpos'.
1575         (html_printer::flush_sbuf, html_printer::set_char): Set it.
1576         (html_printer::sbuf_continuation): Use it.
1577
1578 2002-03-28  Werner LEMBERG  <wl@gnu.org>
1579
1580         * src/libs/libgroff/getopt.c: Updated to latest version.
1581
1582         * tmac/README: More on hyphen.tex license.
1583
1584 2002-03-26  Larry Kollar  <kollar@alltel.net>
1585
1586         * doc/groff.texinfo: Add documentation of most missing requests.
1587
1588 2002-03-25  Werner LEMBERG  <wl@gnu.org>
1589
1590         Add three glyphs `t+-', `tmu', and `tdi' which are textual variants
1591         of `+-', `mu', and `di', respectively.
1592
1593         * font/devascii/R.proto, font/devutf8/R.proto,
1594         font/devlatin1/R.proto, font/devhtml/R.proto,
1595         font/devcp1047/R.proto, font/devlpb/*: Add them.
1596         * font/devps/generate/textmap: Ditto.
1597         * font/devps/*: Regenerated.
1598         * font/devlj4/generate/text.map: Add them.
1599         * font/devlj4/*: Regenerated.
1600         * font/devdvi/generate/tc.map: Use them.
1601         * font/devdvi/generate/texsy.map: Add them.
1602         * font/devdvi/*: Regenerated.
1603         * font/devX*/*: Regenerated.
1604
1605         * tmac/latin1.tmac, tmac/cp1047.tmac, tmac/tty.tmac,
1606         tmac/tty-char.tmac: Updated.
1607
1608         * NEWS, man/groff_char.man: Updated.
1609
1610 2002-03-24  Werner LEMBERG  <wl@gnu.org>
1611
1612         * tmac/dvi.tmac, tmac/X.tmac, tmac/ps.tmac, tmac/html.tmac,
1613         tmac/lj4.tmac, tmac/tty.tmac: Replace most `.char' with `.fchar'.
1614         * tmac/ec.tmac: Remove `.rchar' calls (no longer necessary since
1615         we use `.fchar' in dvi.tmac.
1616         * tmac/dvi.tmac: Improve definition of \[Fo] and \[Fc].
1617         * tmac/Xps.tmac: Simplify some char definitions.
1618         Add definition for \[f/].
1619         * man/groff_char.man: Updated for new X.tmac.
1620
1621         * tmac/README: New file.
1622
1623 2002-03-23  Phil Lobbes  <phil@perkpartners.com>
1624
1625         * Makefile.comm (.y.o): New rule for make on Solaris 2.5.1 -- the
1626         internal .y.o rule took precendence over the .y.cc rule, compiling
1627         the yacc files with gcc instead of g++.
1628
1629 2002-03-23  Werner LEMBERG  <wl@gnu.org>
1630
1631         * tmac/dvi.tmac: Add replacement font for `CB'.
1632
1633         * tmac/doc.tmac: s/request/macro/ in messages.
1634         (doc-generic-macro): Improve error message.
1635         * tmac/groff_mdoc.man: Minor improvements.
1636
1637 2002-03-22  Werner LEMBERG  <wl@gnu.org>
1638
1639         * doc/groff.texinfo: Document possible conflict between `tr' and
1640         `char' requests.
1641
1642 2002-03-21  Werner LEMBERG  <wl@gnu.org>
1643
1644         Improve handling of hyphenation patterns.  It is now possible to
1645         use most of TeX's pattern files unmodified.  To make the process
1646         more flexible, a new request `hpfcode' has been added which
1647         provides a character code mapping for the `hpf' request.  See
1648         comment before hpf_getc() for more details.
1649
1650         * src/roff/troff/env.cc (insert_hyphenation, hpf_getc): New
1651         functions.
1652         (read_patterns_file): Additional parameter for exception dictionary.
1653         Extended to recognize \pattern, \hyphenation, and \endinput.
1654         (do_hyphenation_patterns_file): Updated.
1655         * src/roff/troff/env.h (hpf_code_table): New extern.
1656
1657         * src/roff/troff/input.cc (hpf_code_table): New array.
1658         (init_hpf_code_table, hyphenation_patterns_file_code): New
1659         functions.
1660         (hyphenation_code): Handle translation from `trin' correctly.
1661         (main, init_input_requests): Updated.
1662         (charinfo::set_translation): Handle hyphenation code also.
1663
1664         * src/roff/troff/charinfo.h (charinfo::get_translation_input): New
1665         inline function.
1666
1667         * src/roff/troff/env.cc (WORD_MAX): Reduced to 256 since `unsigned
1668         char' is used for offsets in hyphenation exceptions.
1669
1670         * tmac/hyphen.us: Replace with contents of unmodified `hyphen.tex'.
1671
1672         * NEWS, man/groff_diff.man, man/groff.man: Document it.
1673
1674 2002-03-20  Larry Kollar  <kollar@alltel.net>
1675
1676         * doc/groff.texinfo: Add documentation for `hpfa' and `trin'
1677         requests.
1678
1679 2002-03-18  Werner LEMBERG  <wl@gnu.org>
1680
1681         * tmac/html.tmac: Fix serious typo.
1682
1683 2002-03-17  Larry Kollar  <kollar@alltel.net>
1684
1685         * doc/groff.texinfo: Add documentation for `writec' request.
1686
1687 2002-03-17  Werner LEMBERG  <wl@gnu.org>
1688
1689         Added request `hpfa' to append hyphenation patterns.
1690
1691         * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
1692         parameter `append'.
1693         (hyphenation_patterns_file): Renamed to...
1694         (do_hyphenation_patterns_file): This.
1695         (hyphenation_patterns_file, hyphenation_patterns_file_append): New
1696         functions.
1697         (init_hyphen_requests): Updated.
1698         * NEWS, man/groff.man, man/groff_diff.man: Document it.
1699
1700 2002-03-16  Werner LEMBERG  <wl@gnu.org>
1701
1702         Added request `writec' in analogy to `tmc'.
1703
1704         * src/roff/troff/input.cc (write_request): Renamed to...
1705         (do_write_request): This.
1706         Added one parameter.
1707         (write_request, write_request_continue): New functions.
1708         (init_input_requests): Updated.
1709         * NEWS, man/groff.man, man/groff_diff.man: Document it.
1710
1711         * font/devdvi/DESC.in (sizes): Allow all sizes in the range
1712         5-10000pt.
1713         * NEWS: Document it.
1714
1715 2002-03-15  Werner LEMBERG  <wl@gnu.org>
1716
1717         * man/groff.man: Add writem request.
1718
1719         Add request `trin' (translate input) to make `.asciify' work
1720         correctly.  This is necessary since `charXXX' entity names are no
1721         longer hardcoded in font definition files.
1722
1723         * src/roff/troff/charinfo.h (charinfo): Add `asciify_code' and
1724         `translate_input' members.
1725         (charinfo::set_asciify_code, charinfo::get_asciify_code,
1726         charinfo::set_translation_input): New methods.
1727         (charinfo::set_translation): Add third argument.
1728         * src/roff/troff/input.cc (charinfo:set_translation): Set
1729         `asciify_code'.
1730         (do_translate): Add second argument.
1731         (translate_input): New function.
1732         (init_input_requests): Updated.
1733         * src/roff/troff/node.cc (glyph_node::asciify,
1734         composite_node::asciify): Use `get_asciify_code'.
1735
1736         * tmac/cp1047.tmac, tmac/latin1.tmac: Use `trin'.
1737
1738         * NEWS, man/groff.man, man/groff_diff.man: Updated.
1739
1740 2002-03-14  Larry Kollar  <kollar@alltel.net>
1741
1742         * doc/groff.texinfo: Improve documentation of .RS and .RE.
1743
1744 2002-03-14  Werner LEMBERG  <wl@gnu.org>
1745
1746         Add a new request `sizes' similar to the `sizes' command in DESC
1747         files.
1748
1749         * src/roff/troff/env.cc (override_sizes): New function.
1750         (init_env_requests): Use it.
1751         * src/roff/troff/token.h: Export `read_string'.
1752         * NEWS, man/groff_diff.man, man/groff.man: Document it.
1753
1754 2002-03-12  Werner LEMBERG  <wl@gnu.org>
1755
1756         * doc/groff.texinfo: More fixes for texinfo 4.1 and higher.
1757
1758 2002-03-10  Werner LEMBERG  <wl@gnu.org>
1759
1760         * tmac/pspic.tmac: Add support for -Tdvi.
1761         * tmac/dvi.tmac: Include pspic.tmac.
1762         * src/devices/grodvi/grodvi.man: Document it.
1763         * NEWS: Updated.
1764
1765         * font/devlj4/generate/Makefile: Fix URL of metric files.
1766
1767 2002-03-09  Werner LEMBERG  <wl@gnu.org>
1768
1769         * PROBLEMS: The static constructor bug has been fixed in z/OS V1R3.
1770
1771 2002-03-09  Larry Kollar  <kollar@alltel.net>
1772
1773         * tmac/groff_ms.man: Add documentation for RS and RE macros.
1774
1775 2002-03-08  Werner LEMBERG  <wl@gnu.org>
1776
1777         * doc/groff.texinfo: Fixes for texinfo 4.1.
1778
1779 2002-03-07  Werner LEMBERG  <wl@gnu.org>
1780
1781         * src/include/lib.h: Include getopt.h if groff-getopt.h can't be
1782         included.
1783         Handle CYGWIN properly.
1784
1785 2002-03-07  Paco Andrés Verdú  <pandres@dragonet.es>
1786
1787         * font/devlbp/Makefile.sub (DEVFILES): Add some missing fonts.
1788         * tmac/lbp.tmac: Add some font translations.
1789
1790 2002-03-02  Werner LEMBERG  <wl@gnu.org>
1791
1792         * font/devcp1047/R.proto, font/devlatin1/R.proto,
1793         font/devhtml/R.proto: Remove `charXXX'  entries.
1794         * tmac/tty.tmac, tmac/html.tmac: Load latin1.tmac or cp1047.tmac
1795         where appropriate.
1796
1797         * font/devlj4/generate/text.map: Remove `charXXX' entries.
1798         * font/devlj4/*: Regenerated all font definition files.
1799         * tmac/lj4.tmac: Load latin1.tmac.
1800
1801         * src/utils/hpftodit/hpftodit.cc (do_file): Partially undo change
1802         from 2000-06-17: LJ4 metric files are *not* text files.
1803
1804         * tmac/troffrc, tmac/dvi.tmac, tmac/ps.tmac: Don't use .T string
1805         register to test for EBCDIC.
1806
1807 2002-03-01  Werner LEMBERG  <wl@gnu.org>
1808
1809         * src/utils/afmtodit/afmtodit.pl: Skip comment lines in encoding
1810         files (as grops already does).
1811         * src/utils/afmtodit/afmtodit.man: Document comment lines in map
1812         files.
1813         * src/devices/grops/grops.man: Document comment lines in encoding
1814         files.
1815
1816         * tmac/cp1047.tmac: New file.
1817         * tmac/dvi.tmac, tmac/tty-char.tmac: Use it.
1818         * tmac/ps.tmac: Load latin1.tmac or cp1047.tmac.
1819         * tmac/Makefile.sub (NORMALFILES): Updated.
1820
1821         * tmac/ec.tmac: Don't load latin1.tmac again.
1822
1823         * font/devps/generate/lgreekmap, font/devps/generate/symbolchars,
1824         font/devps/generate/dingbats.map,
1825         font/devps/generate/dingbats.rmap, font/devps/text.enc,
1826         font/devps/generate/Makefile (symbolmap): Add header comment.
1827         * font/devps/generate/textmap: Ditto.
1828         Remove `charXXX' entries.
1829         * font/devps/symbolmap: Regenerated.
1830         * font/devps/*: Regenerated all font definition files.
1831
1832 2002-02-28  Werner LEMBERG  <wl@gnu.org>
1833
1834         Add color support to grodvi (for drawing colors are currently
1835         translated to gray values).
1836
1837         * src/devices/grodvi/dvi.cc (FILL_MAX): Removed.
1838         (dvi_printer): Add `cur_color' member.
1839         (dvi_printer::set_color): New function.
1840         (draw_dvi_printer): Remove `fill'.
1841         (draw_dvi_printer::fill_next): Pass environment as parameter.
1842         Update code for new color support translated to gray.
1843         (dvi_printer::set_char): Updated.
1844         (dvi_printer::begin_page, dvi_printer::end_page): Handle color
1845         changes crossing the page border.
1846         (dvi_printer::draw): Updated.
1847         Remove cases `f' and `F'.
1848         * tmac/dvi.tmac: Add color definitions.
1849         * NEWS, src/devices/grodvi/grodvi.man: Updated.
1850
1851         * tmac/an-old.tmac (R): Make this a macro to emit a warning if
1852         used incorrectly.
1853
1854         * aclocal.m4 (GROFF_NEED_DECLARATION): Use test similar to recent
1855         versions of autoconf.
1856         * configure: Updated.
1857
1858         * doc/homepage.ms: Use `.blm'.
1859         * tmac/www.tmac (www-depth): New auxiliary variable.
1860         (www-pop-level): Don't issue HTML tag.
1861         (ULS, ULE, LI): Use absolute indentation.
1862
1863         * src/devices/grops/ps.cc (ps_printer::begin_page,
1864         ps_printer::end_page): Switch forth and back to default color while
1865         starting a new page.
1866
1867 2002-02-27  Werner LEMBERG  <wl@gnu.org>
1868
1869         Add EC and TC fonts to devdvi.
1870
1871         * src/utils/tfmtodit/tfmtodit.man: Document patching of exbase.mf.
1872         * font/devdvi/generate/cork.map: Renamed to...
1873         * font/devdvi/generate/ec.map: This.
1874         Remove entry for `aq'.
1875         * font/devdvi/generate/tc.map: New file.
1876         * font/devdvi/generate/Makefile (*EC, *TC): New creation rules for
1877         EC and TC fonts.
1878         (FONTS): Updated.
1879         * font/devdvi/*EC, font/devdvi/*TC: New font definition files.
1880         * font/devdvi/Makefile.sub (DEVFILES): Updated.
1881         * tmac/ec.tmac: New file.
1882         * tmac/Makefile.sub (NORMALFILES): Updated.
1883         * NEWS, src/devices/grodvi/grodvi.man: Updated.
1884         * man/groff_char.man: Check `ECFONTS' register.
1885
1886         * font/devdvi/{TR,TI,TB,TBI,HR}: Fix `name' field.
1887
1888 2002-02-26  Werner LEMBERG  <wl@gnu.org>
1889
1890         * font/devdvi/generate/*.map: Remove all `charXXX' entries.
1891         * font/devdvi/generate/cork.map: Add 'y and 'Y.
1892         * font/devdvi/*: Updated.
1893         * tmac/dvi.tmac: Formatting.
1894
1895         Add font `HBI' for the dvi output.
1896         Add support for font families `T' and `H'.
1897
1898         * font/devdvi/HBI: New file.
1899         * font/devdvi/B: Renamed to ...
1900         * font/devdvi/TB: This.
1901         * font/devdvi/BI: Renamed to ...
1902         * font/devdvi/TBI: This.
1903         * font/devdvi/I: Renamed to ...
1904         * font/devdvi/TI: This.
1905         * font/devdvi/R: Renamed to ...
1906         * font/devdvi/TR: This.
1907         * font/devdvi/H: Renamed to ...
1908         * font/devdvi/HR: This.
1909         * font/devdvi/Makefile.sub (DEVFILES): Updated.
1910         * font/devdvi/generate/Makefile (HBI): New rule.
1911         (FONTS): Updated.
1912         (R, I, B, BI, H): Renamed to ...
1913         (TR, TI, TB, TBI, HR): This, respectively.
1914         (srcdir): Fixed.
1915         * NEWS, src/devices/grodvi/grodvi.man: Updated.
1916         * font/devdvi/DESC.in: Don't mount R, I, B, BI, and CWI.
1917         Add `styles' and `family' keywords.
1918         * tmac/dvi.tmac: Alias `H' to `HR'.
1919         Add some fspecial requests for italic fonts.
1920         Add TR and TI as special.
1921         Add support for `_' with font CWI.
1922
1923         * src/roff/troff/number.cc (parse_expr): Add missing `break' for
1924         operator `:'.  Until now, the expression `0:1' would return 2
1925         instead of 1.
1926
1927 2002-02-25  Werner LEMBERG  <wl@gnu.org>
1928
1929         * man/groff_char.man: Added some missing PS glyph names (from the
1930         Adobe Glyph List).
1931         * font/devps/generate/textmap, font/devps/symbolmap: Add
1932         `arrowupdn'.
1933
1934         * doc/groff.texinfo: Minor additions and fixes.
1935         * man/groff_diff.man: Remove documentation of fp request.  This
1936         is already covered in the original troff manual.
1937         Updated to be consistent with other doc files.
1938         * NEWS: Updated.
1939
1940 2002-02-24  Werner LEMBERG  <wl@gnu.org>
1941
1942         * aclocal.m4 (GROFF_EBCDIC): Don't include `font/devutf8' in
1943         TTYDEVDIRS.
1944         Define new variable OTHERDEVDIRS (containing `font/devlj4
1945         font/devlbp' if not EBCDIC).
1946         * Makefile.in (TTYDEVDIRS): Always include `font/devutf8'.
1947         (OTHERDEVDIRS): New variable.
1948         (MDEFINES, DEVDIRS, ALLDIRS, DISTDIRS): Updated.
1949         * configure: Regenerated.
1950
1951         * NEWS, src/devices/grotty/grotty.man: Updated.
1952
1953 2002-02-23  Werner LEMBERG  <wl@gnu.org>
1954
1955         * src/roff/troff/input.cc (do_overstrike, do_bracket,
1956         get_line_arg): Honour input level.
1957
1958         Add new symbol `mc' corresponding to U+00B5 MICRO SIGN.
1959
1960         * font/*/*: Implement it in all font files.
1961         * font/devps/generate/textmap, font/devps/generate/symbolchars,
1962         * font/devps/symbolmap: Updated.
1963         * font/devlj4/generate/text.map: Updated.
1964         * font/devdvi/generate/CompileFonts (sizes): Add LaTeX sizes.
1965         * font/devdvi/generate/texmi.map: Updated.
1966
1967         * font/devutf8/R.proto: Remove all `charXXX' entries.
1968         * font/devutf8/NOTES: Updated.
1969
1970         * font/devX*/*: Regenerated with xtotroff, using fonts from XFree86
1971         version 4.1.0.
1972
1973         * tmac/latin1.tmac, tmac/psold.tmac, tmac/tty-char.tmac: Updated.
1974
1975         * NEWS, man/groff_char.man: Updated.
1976
1977 2002-02-21  Phil Lobbes  <phil@perkpartners.com>
1978
1979         * src/include/lib.h [HAVE_SNPRINTF]: Include stdarg.h.
1980
1981 2002-02-20  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
1982
1983         * src/roff/grog/grog.pl: Fix computation of $refer.
1984
1985 2002-02-19  Werner LEMBERG  <wl@gnu.org>
1986
1987         * src/include/lib.h [!HAVE_SNPRINTF]: Add declarations for
1988         `snprintf' and `vsnprintf'.
1989
1990         * src/include/htmlindicate.h: Renamed to...
1991         * src/include/htmlhint.h: This.
1992         * src/include/Makefile.sub: Updated.
1993         * src/preproc/eqn/main.cc: Updated.
1994
1995 2002-02-18  Werner LEMBERG  <wl@gnu.org>
1996
1997         * man/roff.man, man/groff_out.man, man/groff.man,
1998         man/groff_diff.man, man/ditroff.man, src/roff/groff/groff.man,
1999         src/roff/troff/troff.man: Updated to latest changes in www.tmac.
2000
2001         * win32-diffs: Updated.
2002
2003 2002-02-17  Werner LEMBERG  <wl@gnu.org>
2004
2005         * doc/Makefile (clean): Add *.eps.
2006         (MEMACROS): Removed.
2007         (TFLAG): New variable.
2008         (TROFF): Use it.
2009         Add -ww.
2010         (GROFF): Use TFLAG, FFLAG, -U, -p, -e, -t, and -ww.
2011         (.me.dit): Fixed.
2012         (.ms.html, .ms.ascii, .ms.ps, homepage.html): Simplify.
2013
2014         * tmac/www.tmac: Use dummy diversion while resetting and disabling
2015         `.tl'.
2016         * tmac/e.tmac: Inserted some more `\"' to remove warnings if used
2017         unstripped.
2018         * src/roff/troff/troff.man: Fix order of parameter description.
2019
2020         * NEWS: Updated.
2021
2022 2002-02-16  Gaius Mulley  <gaius@glam.ac.uk>
2023
2024         Simplify image handling for grohtml.
2025         Fix <p> bug.
2026
2027         * src/devices/grohtml/html-text.cc (DEBUGGING): Don't undefine but
2028         comment out.
2029         (html_text::dump_stack): Don't emit newline while debugging.
2030         (html_text::do_push) [DEBUGGING]: Print more info.
2031         (html_text::check_emit_text): Fix handling of <p>.
2032         * src/devices/grohtml/html.h: Updated.
2033         * src/devices/grohtml/output.cc (FPUTC, FPUTS, PUTC): New macros,
2034         replacing `fputc', `fputs', `putc'.  If DEBUGGING is defined, they
2035         send its data to stderr also.
2036         Update all callers.
2037         (simple_output::space_or_newline) [DEBUGGING]: Removed.
2038         * src/devices/grohtml/post-html.cc (html_printer::do_links,
2039         html_printer::html_printer): Remove `DEBUGGING' conditionals.
2040
2041         * src/include/html-strings.h (HTML_IMAGE_{CENTERED,LEFT,RIGHT,END}):
2042         Removed.
2043         * src/libs/libgroff/htmlhint.cc (is_in_graphic_start,
2044         is_inline_image): Removed.
2045         (html_begin_suppress, html_end_suppress): Don't take a parameter.
2046         (graphic_start, graphic_end): Removed.
2047         * src/include/htmlindicate.h: Updated.
2048         * src/preproc/html/pre-html.cc (DEBUG_HTML): Removed.
2049         (macroset_template): New global variable.
2050         (makeFileName): Use `macroset_template'.
2051         (write_end_image): Don't take a parameter.
2052         Don't emit newline.
2053         (write_start_image: Don't emit newline.
2054         (char_buffer::write_upto_newline): Updated.
2055         (char_buffer::skip_to_newline): Renamed to ...
2056         (char_buffer::skip_until_newline): This.
2057         Fix code.
2058         (char_buffer::write_file_troff, char_buffer::write_file_html):
2059         Simplified.
2060         (createAllPages, createImage) [DEBUGGING]: Handle `debug' flag.
2061         (removeAllPages): Remove `DEBUGGING' conditionals.
2062         (addRegDef, dump_args): New functions.
2063         (char_buffer::do_html, char_buffer::do_image): Handle
2064         `www-image-template' command line variable.
2065         Add more debugging code.
2066         (addps4html): Removed.
2067         (removeTempFiles) [DEBUGGING]: Handle `debug' flag.
2068
2069         * src/preproc/eqn/main.cc: Include `ctype.h'.
2070         (suppress_html): Removed.
2071         (do_file): Updated.
2072         (inline_equation): Use `html_begin_suppress' and
2073         `html_end_suppress'.
2074         * src/preproc/pic/troff.cc: Don't include `htmlindicate.h'.
2075         (troff_output::start_picture, troff_output::finish_picture):
2076         Updated.
2077         * src/preproc/tbl/main.cc: Don't include `htmlindicate.h'.
2078         (process_input_file): Updated.
2079
2080         * src/roff/troff/div.cc (page_number): Set page number only if the
2081         `ps4html' register isn't defined.
2082         * src/roff/troff/input.cc (image_no): New external variable.
2083         (do_suppress): Use it.
2084         * src/roff/troff/node.h (suppress_node::image_id): New member.
2085         * src/roff/troff/node.cc (image_no): Remove `static' keyword.
2086         (suppress_node::suppress_node): Initialize `image_id' member.
2087         (suppress_node::same): Handle `image_id' also.
2088         (suppress_node::copy): Updated.
2089         (last_image_id): New global variable.
2090         (suppress_node::tprint): Use it.
2091
2092         * tmac/an-old.tmac (TS, TE, EQ, EN): Use HTML-IMAGE and
2093         HTML-IMAGE-END.
2094         * tmac/pspic.mac (PSPIC): Fix html support.
2095         * tmac/s.tmac (@EQ, @EN, @TS, TE, PS, PE): Ditto.
2096         * tmac/www.tmac (www-image-template): Set up.
2097         (HTMLINDEX): Renamed to...
2098         (HX): This.
2099         (BODYCOLOR): Renamed to...
2100         (BCL): This.
2101         (BACKGROUND): Renamed to...
2102         (BGIMG): This.
2103         (URL): Change order of parameters for consistency.
2104         (MAILTO): Renamed to...
2105         (MTO): This.
2106         (IMAGE, PNG-IMAGE, MARGIN-PNG-IMAGE): Renamed to...
2107         (IMG, PIMG, MPIMG): This.
2108         (HTML-H-BEGIN, HTML-H-END): Renamed to...
2109         (HnS, HnE): This.
2110         (LINKS): Renamed to...
2111         (LK): This.
2112         (LINE): Renamed to...
2113         (HR): This.
2114         (NO-AUTO-RULE): Renamed to...
2115         (NHR): This.
2116         (HTML-TL): Renamed to...
2117         (HTL): This.
2118         (UL-BEGIN, UL-END): Renamed to...
2119         (ULS, ULE): This.
2120         (DROPCAP): Renamed to...
2121         (DC): This.
2122         (TS, TE, EQ, EN): Provide default definitions.
2123         (www-make-unique-name): Updated.
2124         (HTML-IMAGE-INLINE): Fix typo.
2125         * tmac/groff_www.man: Updated.
2126
2127         * doc/Makefile (homepage.html): Add option -r to grohtml.
2128         Use shortened image name.
2129         * doc/groff.texinfo: Updated info on grohtml strings and macros.
2130         * doc/homepage.ms: Updated and extended.
2131
2132 2002-02-14  Werner LEMBERG  <wl@gnu.org>
2133
2134         Don't use `CSI 39 m' and `CSI 49 m' but `CSI 0 m'.
2135
2136         * src/devices/grotty/tty.cc (SGR_DEFAULT_COLOR,
2137         SGR_BACK_DEFAULT_COLOR): Replaced with ...
2138         (tty_printer::put_color): Use it.
2139         (ttr_printer::end_page): Simplify.
2140
2141 2002-02-13  Werner LEMBERG  <wl@gnu.org>
2142
2143         * tmac/groff_tmac.man: Moved to...
2144         * man/groff_tmac.man: This place.
2145         * tmac/Makefile.sub, man/Makefile.sub: Updated.
2146
2147 2002-02-12  Werner LEMBERG  <wl@gnu.org>
2148
2149         * src/libs/libgroff/Makefile.sub (snprintf.o): Don't use
2150         $(COMPILE.c) to not include groff's assert.h.
2151
2152         * src/drivers/grotty/tty.cc (main): Add GROFF_NO_SGR environment
2153         variable.
2154         * NEWS, src/drivers/grotty/grotty.man: Document it.
2155
2156 2002-02-11  Werner LEMBERG  <wl@gnu.org>
2157
2158         * src/libs/snprintf/snprintf.c: Updated to latest version
2159         (2002-02-11).
2160
2161         * src/roff/grog/grog.pl (process): Fix handling of `.['.  We now
2162         test whether there is `.]' also.
2163         Don't check for spaces after `.['.
2164         * src/roff/grog/grog.sh: Do the same.
2165
2166 2002-02-10  Werner LEMBERG  <wl@gnu.org>
2167
2168         Illegal -> Invalid.
2169
2170         * src/libs/libgroff/illegal.cc: Renamed to ...
2171         * src/libs/libgroff/invalid.cc: This.
2172         (illegal_char_table): Renamed to ...
2173         (invalid_char_table): This.
2174         * src/libs/libgroff/Makefile.sub: Updated.
2175         * win32-diffs: Updated.
2176
2177         * doc/groff.texinfo, src/devices/grops/psrm.cc (ps_get_line),
2178         src/libs/libdriver/input.cc (fatal_command, parse_color_command,
2179         parse_x_command), src/libs/libgroff/font.cc (text_file::next,
2180         font::load), src/preproc/eqn/main.cc (read_line, main),
2181         src/preproc/eqn/lex.cc (file_input::read_line),
2182         src/preproc/pic/lex.cc (file_input::read_line,
2183         simple_file_input::get, simple_file_input::peek),
2184         src/preproc/pic/main.cc (top_input::get, top_input::peek),
2185         src/preproc/pic/pic.man, src/preproc/refer/main.cc
2186         (input_stack::push_file), src/preproc/refer/refer.cc (do_file,
2187         do_bib), src/preproc/tbl/main.cc (table_input::get),
2188         src/preproc/grn/grn.man, src/preproc/grn/main.cc (interpret),
2189         src/roff/troff/input.cc (file_iterator::fill, file_iterator::peek,
2190         do_zero_width, read_request, encode_char, ps_get_line,
2191         transparent_file, get_char_for_escape_name, transparent_translate,
2192         asciify, input_char_description, read_string, set_string),
2193         src/roff/troff/env.cc (environment::add_html_tag),
2194         src/roff/troff/troff.man, tmac/e.tmac (`@(', `(f'): Do it.
2195
2196         * src/include/lib.h: Updated.
2197
2198         * src/preproc/eqn/eqn.cc: Removed.
2199
2200         * NEWS: Updated.
2201
2202         * src/preproc/grn/hdb.cc (DBRead): Fix fscanf() fields.
2203
2204 2002-02-09  Werner LEMBERG  <wl@gnu.org>
2205
2206         * doc/gnu.xpm: New image.
2207         * doc/Makefile (DOCS): Add homepage.ps.
2208         Add rules for converting xpm->png and xpm->eps.
2209         Use `gnu.{xpm,eps}' as image names.
2210         * doc/homepage.ms: Updated.
2211
2212 2002-02-09  Gaius Mulley  <gaius@glam.ac.uk>
2213
2214         * tmac/www.tmac (www-error): New macro, replacing calls to `@error'.
2215         (IMAGE): Change image position parameters to `-L', `-R', and `-C'.
2216         Remove calls to `B1' and `B2'
2217         (PNG-IMAGE): New macro for inclusion of images in PNG format.
2218         (www-left-ll-trap, www-left-po-trap, www-right-ll-trap): New
2219         auxiliary variables for MARGIN-PNG-IMAGE.
2220         (www-finish-left-po, www-finish-right-ll, www-finish-left-ll): New
2221         auxiliary macros for MARGIN-PNG-IMAGE.
2222         (MARGIN-PNG-IMAGE): New macro to put an image in PNG format into
2223         the margin.
2224         (www-heading-no): New auxiliary variable for HTML-H-{BEGIN,END}.
2225         (HTML-H-BEGIN, HTML-H-END): New macros to begin and end a heading.
2226         (DROPCAP): New macro to produce dropcap characters.
2227         (www-do-image): Renamed back to...
2228         (HTML-DO-IMAGE): This.
2229         Updated all callers.
2230
2231         * doc/Makefile (gnubw.eps): Updated.
2232         * doc/homepage.ms: Updated.
2233
2234 2002-02-08  Werner LEMBERG  <wl@gnu.org>
2235
2236         * doc/pic.ms: Fixed typos (\(*tx -> \*(tx).
2237         Added `linethick' to table in section `Style Variables'.
2238
2239 2002-02-08  Gaius Mulley  <gaius@glam.ac.uk>
2240
2241         * src/libs/libdriver/input.cc (get_extended_arg): Fix conditional.
2242
2243 2002-02-07  Werner LEMBERG  <wl@gnu.org>
2244
2245         Adding options -C (compatibility mode) and -c (grotty's old output
2246         scheme) to nroff.
2247
2248         * src/roff/nroff/nroff.sh: Implement it.
2249         Remove `-Wall'.
2250         * NEWS, src/roff/nroff/nroff.man: Updated.
2251
2252         * PROBLEMS: Document bison 1.32 bug.
2253
2254         Some fixes to make groff compile on z/OS 1.2 UNIX (was OS/390).
2255
2256         * src/roff/troff/node.cc (make_tfont): Define it earlier.
2257         * src/roff/troff/div.h: Add prototype for `end_diversions'.
2258         * src/roff/troff/input.cc: Add prototype for `process_input_stack'.
2259         * src/roff/troff/env.h: Add prototype for `title'.
2260
2261         Adding EBCDIC support to grotty.
2262
2263         * src/devices/grotty/tty.cc (CSI): New macro.
2264         (SGR_*, tty_printer::put_color): Use it.
2265
2266 2002-02-06  Werner LEMBERG  <wl@gnu.org>
2267
2268         Implementing color support in grotty.  The new switch -c activates
2269         the old drawing scheme, disabling color at the same time.  The new
2270         switch `-i' selects italic instead of underlining (SGR only).
2271
2272         * src/devices/grotty/tty.cc (putstring): New define instead of
2273         `fputs'.  Updated all callers.
2274         (old_drawing_scheme): New global variable.
2275         (COLOR_CHANGE): New enum value.
2276         (SGR_*): New defines containing color handling escape sequences.
2277         (TTY_MAX_COLORS, DEFAULT_COLOR_IDX): New defines.
2278         (glyph): New members `back_color_idx' and `fore_color_idx'.
2279         (glyph::order): Add COLOR_CHANGE.
2280         (tty_printer): New members `cur_fore_idx', `curr_back_idx',
2281         `is_underline', `is_bold', `cu_flag', `tty_colors'.
2282         New methods `make_underline', `make_bold', `color_to_idx',
2283         `change_color', `put_color'.
2284         (cu_flag): Moved into `tty_printer' class.
2285         (tty_printer::tty_printer): Initialize colors.
2286         (tty_printer::add_char, tty_printer::set_char, tty_printer::special,
2287         tty_printer::draw, tty_printer::end_page): Handle colors also.
2288         (main): Add options `-c' and `-i'.
2289         (usage): Updated.
2290         * NEWS, src/devices/grotty/grotty.man: Updated.
2291
2292         * src/include/errarg.h (errarg): Add support for `unsigned int'.
2293         * src/libs/libgroff/errarg.c: Implement it.
2294
2295         * src/include/printer.h (printer): Add `change_color' method
2296         (currently used by grotty only).
2297         * src/libs/libdriver/printer.cc: Implement it.
2298         * src/libs/libdriver/input.cc (parse_D_command, do_file): Add
2299         call to `pr->change_color'.
2300
2301         * src/roff/troff/node.cc (troff_output_file::fill_color,
2302         troff_output_file::glyph_color): Call `do_motion'.
2303
2304         * tmac/tty.tmac: Add color definitions.
2305
2306         * src/roff/groff/groff.man: Minor fixes.
2307
2308 2002-02-05  Bernd Warken  <bwarken@mayn.de>
2309
2310         * src/libs/libdriver/input.cc: Introduce `EnvInt' typedef and use
2311         it.  This is a preparation for future changes.
2312
2313 2002-02-05  Werner LEMBERG  <wl@gnu.org>
2314
2315         * src/roff/troff/input.cc (process_input_stack): Fix the case
2316         where leading spaces are followed by \f or \s; previously, an
2317         incorrect space width has been used.
2318
2319         * doc/roff.man (quoted_char): Fix argument.
2320         (comment): Define string.
2321
2322 2002-02-04  Larry Kollar  <kollar@alltel.net>
2323
2324         * doc/groff.texinfo: More fixes.
2325
2326 2002-02-04  Werner LEMBERG  <wl@gnu.org>
2327
2328         * src/preproc/eqn/box.cc (output_string): Don't use \\*[...].
2329         * src/preproc/eqn/main.cc (do_file, inline_equation): Call
2330         `restore_compatibility' before `output_string' -- the LINE_STRING
2331         register now already contains proper switches from and to
2332         compatibility mode.
2333
2334         * man/groff_char.man: Add Euro symbol.
2335         * man/groff_diff.man: Improve documentation of `.am1' and `.as1'.
2336         * tmac/tty.tmac: Add `EUR' as replacement for `eu' and `Eu'.
2337         * doc/groff.texinfo (Defstr*): Print strings with full syntax.
2338         Other minor fixes.
2339
2340         * doc/Makefile (.SUFFIXES, .texinfo.pdf, clean): Add support for
2341         texinfo->pdf.
2342         (.texinfo.html): Add support for texinfo->html.
2343
2344 2002-02-03  Werner LEMBERG  <wl@gnu.org>
2345
2346         Added three new requests `ds1', `as1', and `ami'.  The former two
2347         are equivalent to `ds' and `as' with the difference that
2348         compatibility mode is saved on entry, switched off during string
2349         expansion, and restored on exit.  The latter is the pendant to `dei'
2350         for `am'.
2351
2352         (do_define_string): Use `define_mode' and `calling mode'.
2353         Insert COMPATIBLE_SAVE and COMPATIBLE_RESTORE at the beginning and
2354         end of string, respectively.
2355         (define_string, append_string): Use `calling_mode'.
2356         (define_nocomp_string, append_nocomp_string,
2357         define_string_indirect): New functions.
2358         (init_input_requests): Updated.
2359         * NEWS, man/groff_diff.man, man/groff.man: Document it.
2360
2361         * src/preproc/eqn/box.cc (box::top_level, box::extra_space): Use
2362         `as1' for assigning LINE_STRING (this is `10' usually).  Sun's
2363         mm macro package accesses this string register directly.
2364         * src/preproc/eqn/main.cc (inline_equation): Use `as1'.
2365
2366         * tmac/trace.tmac: Trace calls to `am' also.  Make it work in
2367         compatibility mode.
2368
2369 2002-02-02  Larry Kollar  <kollar@alltel.net>
2370
2371         * doc/groff.texinfo, tmac/groff_ms.man: More fixes.
2372
2373 2002-01-31  Werner LEMBERG  <wl@gnu.org>
2374
2375         * tmac/an-old.tmac (I): Use \, and \/ to improve spacing.
2376
2377 2002-01-31  Bernd Warken  <bwarken@mayn.de>
2378
2379         * src/devices/grolbp/lbp.cc (main): Delete `pr'.
2380         * man/groff_out.man: Revised and updated.
2381
2382 2002-01-30  Bernd Warken  <bwarken@mayn.de>
2383
2384         * src/libs/libdriver/input.cc [USE_ENV_STACK]: New macro to comment
2385         out the unused `{' and `}' commands.  Undefined by default.
2386         (IntArray): Make `data' private.
2387         (IntArray::operator[], IntArray::get_data, IntArray::len): Use these
2388         new methods instead.
2389         (skip_line_D, skip_to_end_of_line): New functions.
2390         (get_D_fixed_args): Use `skip_line_D'.
2391         Changed to handle dummy odd arguments by ...
2392         (get_D_fixed_args_odd_dummy): This new function.
2393         (get_D_variable_args): Split some code into ...
2394         (get_possibly_integer_args): This new function.
2395         (send_draw): Use more `const'.
2396         (delete_current_env): New function.
2397         (position_to_end_of_args): Use `size_t'.
2398         Updated.
2399         (send_draw): Updated.
2400         (parse_D_command): Handle `c', `C', and `t' better.
2401         Updated.
2402         (do_file): Updated.
2403
2404 2002-01-29  Werner LEMBERG  <wl@gnu.org>
2405
2406         * NEWS: Revised.
2407         * doc/groff.texinfo: Introduce @Def...List, @Def...Item, and
2408         @Def...ListEnd which replaces @Def...x.  This is necessary to get
2409         proper HTML output -- see the comment in the file for more
2410         information.
2411         Updated all calls.
2412
2413 2002-01-29  Gaius Mulley  <gaius@glam.ac.uk>
2414
2415         Fixes to make color changes of 2002-01-21 work with grohtml.
2416
2417         * src/devices/grohtml/post-html.cc (style): Updated.
2418         (html_printer): Remove unused methods.
2419         (html_printer::do_font, html_printer::draw, html_printer::set_char,
2420         html_printer::special): Updated.
2421         * src/devices/grohtml/html-text.cc (debugStack, turnDebug,
2422         html_text::dump_stack_element, html_text::dump_stack) [DEBUGGING]:
2423         Added some debugging code.
2424         (html_text::start_tag): Updated.
2425         (html_text::do_push): New method.
2426         (html_text::push_para): Call it.
2427         Add method for handling color.
2428         (html_text::do_color): Updated.
2429         (html_text::shutdown): Handle color.
2430         * src/devices/grohtml/html-text.h (tag_definition): New member
2431         `col'.
2432         Updated.
2433
2434 2002-01-28  Werner LEMBERG  <wl@gnu.org>
2435
2436         * tmac/ps.tmac, tmac/html.tmac: Fix compatibility mode issues.
2437
2438 2002-01-27  Gaius Mulley  <gaius@glam.ac.uk>
2439
2440         Add two switches -a and -g to control the antialiasing bits for
2441         text and graphics, respectively.
2442
2443         * src/devices/grohtml/post-html.cc (main): Dummy code for `-a' and
2444         `-g'.
2445         * src/devices/grohtml/grohtml.man: Document them.
2446         * src/preproc/html/pre-html.cc (MIN_ALPHA_BITS, MAX_ALPHA_BITS):
2447         New macros.
2448         (textAlphaBits, graphicAlphaBits, antiAlias): New global variables.
2449         (setupAntiAlias): New function.
2450         (createAllPages): Updated.
2451         (scanArguments): Handle `-a' and `-g'.
2452         (main): Call `setupAntiAlias'.
2453         * NEWS: Updated.
2454
2455 2002-01-27  Werner LEMBERG  <wl@gnu.org>
2456
2457         * doc/groff.texinfo (Def*): Call index function after deffn.
2458
2459         * tmac/html.tmac: Call `nroff' request.
2460
2461 2002-01-26  Larry Kollar  <kollar@alltel.net>
2462
2463         * tmac/groff_ms.man: Add some omissions.
2464
2465 2002-01-25  Larry Kollar  <kollar@alltel.net>
2466
2467         * tmac/groff_ms.man: Typographical improvements.
2468
2469 2002-01-25  Werner LEMBERG  <wl@gnu.org>
2470
2471         * doc/groff.texinfo: Updated version and copyright.
2472         * src/devices/grops/grops.man: Updated.
2473
2474         * tmac/groff_tmac.man: Fix `ig' macro.
2475
2476         * tmac/an-old.tmac (ne): Redefine `ne' request to be a no-op in
2477         nroff mode.
2478         Use `.ne' unconditionally everywhere.
2479         (TS): Only insert some vertical space.  Doing a page break is no
2480         longer necessary due to the redefinition of the `ne' request.
2481
2482         * src/libs/libdriver/input.cc (parse_D_command): Don't emit a
2483         warning for unknown subcommands but parse and pass them to the
2484         device driver.
2485
2486 2002-01-24  Werner LEMBERG  <wl@gnu.org>
2487
2488         * tmac/groff_www.man, NEWS: Fix typos.
2489
2490 2002-01-21  Werner LEMBERG  <wl@gnu.org>
2491
2492         Complete revision of color support:
2493
2494           Adapt programs to the new libdriver/input.cc.
2495
2496           Color spaces are no longer converted to RGB but transferred as-is
2497           in the troff intermediate output format.
2498
2499           Handle default color gracefully.  troff now supports a `default'
2500           color (which can't be changed).
2501
2502           grops will now use the proper color space functions if available.
2503
2504           Update pic.
2505
2506         Note that currently grohtml doesn't handle colors properly.  This
2507         has to be fixed.
2508
2509         * src/libs/libgroff/itoa.c (UINT_DIGITS): New macro.
2510         (ui_to_a): New function.
2511         * src/include/lib.h: Updated.
2512
2513         * src/include/color.h (color_scheme): Replace `NONE' with `DEFAULT'.
2514         (color): Simplified; removed all `double' members and methods.
2515         A new array `components' now holds the color parameters.
2516         (color::is_default, color::get_components): New methods.
2517         (color::operator==, color:operator!=): New.
2518         (Red, Green, Blue, Cyan, Magenta, Yellow, Black, Gray): New macros
2519         to make access to the `components' array more comprehensible.
2520         * src/libs/libgroff/color.cc: Implement new color support.
2521         (atoh): Small fixes.
2522         (color::read_encoding): Simplified for new troff intermediate color
2523         output format.
2524         (default_color): New global variable.
2525
2526         * src/roff/troff/input.cc (default_symbol): New global variable.
2527         (lookup_color): Use it.
2528         (default_black): Removed.
2529         (do_glyph_color, do_fill_color): Simplified.
2530         (define_color): Handle default color.
2531         Improve warnings.
2532         (do_if_request): Handle default color.
2533         * src/roff/troff/env.cc (environment::environment): Initialize
2534         colors with `default_color'.
2535         * src/roff/troff/node.cc (troff_output_file::put): Add method
2536         for `unsigned int'.
2537         (troff_output_file::hex): Removed.
2538         (troff_output_file::fill_color, troff_output_file::glyph_color):
2539         Updated to include/color.h and libdriver/input.cc.
2540
2541         * src/preproc/pic/object.cc (draw_arrow): New parameter to set
2542         fill color properly (identically to the outline color).  \D'f...'
2543         doesn't work any more.
2544         All function calls to it updated.
2545
2546         * src/devices/grohtml/post-html.cc (html_printer::do_body, main):
2547         Updated.
2548         * src/devices/grohtml/html-text.cc (html_text::issue_color_begin):
2549         Updated.
2550
2551         * src/devices/grops/ps.cc (ps_output::put_color): New method.
2552         (ps_printer::sbuf_color): Make a real member instead of pointer.
2553         (ps_printer::fill_color, ps_printer::output_color): Removed.
2554         (ps_printer::ps_printer): Updated.
2555         (ps_printer::set_char): Ditto.
2556         (ps_printer::set_color): Use various color schemes.
2557         Use `put_color' method.
2558         (ps_printer::flush_sbuf): Don't set color.
2559         (ps_printer::fill_path): Take `environment' as parameter.
2560         Simplify color handling.
2561         (ps_printer::set_line_thickness): Renamed to ...
2562         (ps_printer::set_line_thickness_and_color): This (and updated).
2563         (ps_printer::set_color): Change second parameter from `complete'
2564         to `fill' which better describes what it does.
2565         (ps_printer::draw): Call `flush_sbuf' to output graphic commands
2566         and text in the right order.
2567         Updated.
2568         Remove branches for `f' and `F'; this is handled by
2569         libdriver/input.cc.
2570         * src/devices/grops/ps.h: Updated.
2571         * font/devps/prologue (FL): Redefined.
2572         ({F,C}r,k,g: New color functions (with and without filling).
2573
2574         * doc/pic.ms, src/preproc/pic/pic.man: Small fixes.
2575         * man/groff_diff.man, man/groff.man, man/groff_out.man,
2576         doc/groff.texinfo, NEWS: Updated.
2577
2578 2002-01-20  Bernd Warken  <bwarken@mayn.de>
2579
2580         * src/libs/libdriver/input.cc: Completely rewritten.  See comments
2581         in this file for what has been changed.
2582
2583 2002-01-19  Werner LEMBERG  <wl@gnu.org>
2584
2585         * test-groff: Fix GROFF_FONT_PATH.
2586         * tmac/andoc.tmac: Add dummy macros for equation support -- eqnrc
2587         is read before .TH or .Dd is parsed.
2588
2589 2002-01-18  Gaius Mulley  <gaius@glam.ac.uk>
2590
2591         * src/libs/libgroff/geometry.cc (check_output_arc_limits): Fix
2592         quadrant boundaries.
2593
2594 2002-01-18  Werner LEMBERG  <wl@gnu.org>
2595
2596         * devices/grops/ps.cc: Aargh!  Fix the fix of the incorrectly
2597         applied last patch.
2598
2599 2002-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
2600
2601         * tmac/doc.common: Initialize %I register for the %I macro to
2602         avoid (harmless) warning.
2603         * tmac/doc.tmac (Bd): There is no reason to enforce -compact
2604         when in the SYNOPSIS section.
2605
2606 2002-01-17  Bruno Haible  <haible@clisp.cons.org>
2607
2608         * src/preproc/pic/lex.cc (get_token): Fix typo.
2609
2610 2002-01-17  Werner LEMBERG  <wl@gnu.org>
2611
2612         * devices/grops/ps.cc: Fix incorrectly applied last patch.
2613
2614 2002-01-17  Larry Kollar  <kollar@alltel.net>
2615
2616         * tmac/groff_ms.man: Completely rewritten.
2617
2618 2002-01-16  Werner LEMBERG  <wl@gnu.org>
2619
2620         * tmac/an-old.tmac (TS): Force break, inserting some vertical space.
2621
2622 2002-01-15  Gaius Mulley  <gaius@glam.ac.uk>
2623
2624         * devices/grops/ps.cc (ps_printer::fill_path): Fix handling of
2625         fill colors.
2626         (ps_printer::draw): Ditto.
2627
2628 2002-01-14  Ruslan Ermilov  <ru@FreeBSD.org>
2629
2630         * tmac/groff_mdoc.man: Minor fixes.
2631
2632 2002-01-13  Werner LEMBERG  <wl@gnu.org>
2633
2634         * man/groff_out.man: Some fixes.
2635
2636 2002-01-13  Gaius Mulley  <gaius@glam.ac.uk>
2637
2638         * doc/pic.ms: Fix typos.
2639
2640 2002-01-12  Werner LEMBERG  <wl@gnu.org>
2641
2642         * doc/groff.texinfo, doc/groff.man: More on a printable backslash.
2643
2644 2002-01-10  Werner LEMBERG  <wl@gnu.org>
2645
2646         * font/devutf8/R.proto, font/devhtml/R.prot: Add `Eu' and `eu'
2647         symbols.
2648         * NEWS: Updated.
2649
2650 2002-01-09  Bernd Warken  <bwarken@mayn.de>
2651
2652         * man/groff_out.man: Revised.
2653         * man/roff.man: Minor fixes.
2654         * src/roff/troff/troff.man: Some reordering.
2655
2656 2002-01-09  Werner LEMBERG  <wl@gnu.org>
2657
2658         * tmac/an-old.tmac: Add dummy macros for equation support.
2659
2660 2002-01-07  Werner LEMBERG  <wl@gnu.org>
2661
2662         doc/groff.texinfo: Fix documentation of glyph searching algorithm.
2663
2664         * tmac/an-old.tmac: Revert change 2001-12-23.  This breaks too many
2665         man pages.
2666         * tmac/groff_man.man: Small improvements.
2667
2668 2002-01-07  Bernd Warken  <bwarken@mayn.de>
2669
2670         * man/groff_diff.man: Revised.
2671
2672 2002-01-06  Werner LEMBERG  <wl@gnu.org>
2673
2674         * tmac/www.tmac: Remove extraneous backslash.
2675
2676 2002-01-06  Bernd Warken  <bwarken@mayn.de>
2677
2678         * man/ditroff.man, src/roff/groff/groff.man, man/groff.man: Revised.
2679
2680 2002-01-05  Werner LEMBERG  <wl@gnu.org>
2681
2682         Integrated groffer, contributed by Bernd Warken.
2683
2684         * contrib/groffer/*: New.       
2685         * Makefile.in, NEWS: Updated.
2686
2687 2002-01-04  Werner LEMBERG  <wl@gnu.org>
2688
2689         * doc/groff.texinfo: Added macros `@Defmpreg' and `@Defmpregx' for
2690         registers defined in macro packages.
2691         Revising the ms part.
2692
2693 2002-01-04  Larry Kollar  <kollar@alltel.net>
2694
2695         * doc/groff.texinfo: Add documentation for ms macros.
2696
2697 2002-01-02  Werner LEMBERG  <wl@gnu.org>
2698
2699         First step in adding PS support for the Euro symbol.  `eu' is the
2700         official Euro logo, `Eu' is a font-specific glyph variant.
2701
2702         * font/devps/text.enc: Add `Euro' at position 9.
2703         * font/devps/generate/textmap: Add `Euro' as symbol `Eu'.
2704         * font/devps/symbolmap: Regenerated.
2705
2706         * NEWS: Updated.
2707
2708 2002-01-02  Bernd Warken  <bwarken@mayn.de>
2709
2710         * man/roff.man: Revised.
2711
2712 2002-01-01  Bernd Warken  <bwarken@mayn.de>
2713
2714         * src/roff/groff/groff.man: Completely rewritten.
2715
2716 2001-12-31  Werner LEMBERG  <wl@gnu.org>
2717
2718         * doc/Makefile: Updated.
2719
2720 2001-12-30  Werner LEMBERG  <wl@gnu.org>
2721
2722         * tmac/www.tmac: Make all names of internal macros/registers/strings
2723         lowercase, and prepend `www-'.
2724         Other minor changes.
2725         * src/roff/troff/troff.man: Add preprocessor string at BOF.
2726
2727 2001-12-30  Gaius Mulley  <gaius@glam.ac.uk>
2728
2729         Implement option `-b' in grohtml to set the HTML background colour.
2730
2731         * src/devices/grohtml/post-html.cc (default_background): New global
2732         variable.
2733         (html_printer::html_printer): Initialize `background' to
2734         `default_background'.
2735         (main): Implement option `-b'.
2736         (usage): Updated.
2737         * src/preproc/html/pre-html.cc (scanArguments): Add dummy handling
2738         of `-b' option.
2739         * src/devices/grohtml/grohtml.man: Updated.
2740         * doc/Makefile (.ms.html): Use `-b'.
2741         * tmac/html.tmac: Don't set background color.
2742
2743         Add new grohtml tag `.html-tl'.
2744
2745         * src/devices/grohtml/post-html.cc (title_desc): Add `with_h1'
2746         member variable.
2747         (title_desc::title_desc): Updated.
2748         (html_printer::troff_tag): Handle `.html-tl'.
2749         (html_printer::write_title): Use `with_h1'.
2750         * tmac/www.tmac (www-end-nowhere): New auxiliary macro.
2751         (HTML-TL): New macro.
2752
2753         Add support for unordered lists in HTML.
2754
2755         * tmac/www.tmac (www-level): New auxiliary register.
2756         (www-level1, www-level2, www-level3): New auxiliary strings.
2757         (www-push-level, www-pop-level): New auxiliary macros
2758         (UL-BEGIN, UL-END, LI): User macros for unordered lists.
2759
2760         Miscellaneous.
2761
2762         * src/preproc/html/pre-html.cc (DEFAULT_IMAGE_RES): Increase to 100.
2763         (DEFAULT_VERTICAL_OFFSET): Removed.
2764         (IMAGE_BOARDER_PIXELS): Set to 0.
2765         (A4_LENGTH, A4_OFFSET, LETTER_LENGTH, LETTER_OFFSET): New macros.
2766         (vertical_offset): Initialize with 0.
2767         (gsPaper): New global variable.
2768         (get_resolution): Scan for and return unsigned int.
2769         (get_papersize): New function to get paper length from devps/DESC.
2770         (determine_vertical_offset): New function.
2771         (createAllPages): Produce gray-level images and use proper page
2772         length.
2773         (createImage): Use `-quiet' option of pnmcrop.
2774         (addZ): Fix passing of `-Z'.
2775         (scanArguments): Fix handling of `-o'.
2776         (main): Call `determine_vertical_offset'.
2777         * src/devices/grohtml/post-html.cc (html_printer::draw): Comment out
2778         code for `l'.
2779
2780         * src/libs/libgroff/tmpfile.cc (add_tmp_file): Fix buffer length.
2781         * src/roff/troff/node.cc (troff_output_file::check_charinfo): Handle
2782         glyph descenders properly.
2783
2784         * doc/homepage.ms: Include `gnubw.eps'.
2785         * doc/Makefile (gnubw.eps): New rule.
2786         (homepage.html): Depend on `gnubw.eps'.
2787
2788 2001-12-25  Werner LEMBERG  <wl@gnu.org>
2789
2790         * src/roff/troff/input.cc (default_black): Fix return value.
2791
2792 2001-12-24  Ruslan Ermilov  <ru@FreeBSD.org>
2793
2794         * tmac/doc-common (Dt): Change output of architecture strings.
2795         Do some syntax cleanup.
2796         * tmac/groff_mdoc.man: Updated.
2797
2798 2001-12-23  Werner LEMBERG  <wl@gnu.org>
2799
2800         Adding an `itc' request (input line trap accepting \c).
2801
2802         * src/roff/troff/env.h (environment): New member
2803         `continued_input_trap'.
2804         Make `do_input_trap' a friend function instead of `input_trap'.
2805         * src/roff/troff/env.cc (environment::environment,
2806         environment::copy): Updated.
2807         (environment::newline): Implement it.
2808         (do_input_trap): New function.
2809         (input_trap): Call `do_input_trap'.
2810         (input_trap_continued): New function.
2811         (init_env_requests): Updated.
2812         * src/roff/troff/TODO: Updated.
2813
2814         * tmac/an-old.tmac (SH, SS, B, I, SM, SB, TP): Use `.itc' instead of
2815         `.it'.
2816
2817         * src/preproc/grn/hdb.cc (DBRead): Really chop after 127 characters.
2818
2819 2001-12-22  Ruslan Ermilov  <ru@FreeBSD.org>
2820
2821         * tmac/doc-common, tmac/doc-syms: Small updates.
2822
2823 2001-12-22  Colin Watson  <cjwatson@debian.org>
2824
2825         * tmac/an-old.tmac (an-p-footer): Set title length in environment 1.
2826
2827 2001-12-22  Bernd Warken  <bwarken@mayn.de>
2828
2829         * MANIFEST: New file.
2830
2831 2001-12-22  Werner LEMBERG  <wl@gnu.org>
2832
2833         * src/preproc/grn/grn.man: Updated.
2834
2835 2001-12-22  Solar Designer  <solar@openwall.com>
2836
2837         * src/preproc/grn/hdb.cc (MAXSTRING_S): New macro.
2838         (DBRead): Use it.
2839
2840 2001-12-19  Werner LEMBERG  <wl@gnu.org>
2841
2842         Implement a fallback character request `.fchar'.
2843
2844         * src/roff/troff/charinfo.h (charinfo): New flag `fallback'.
2845         (is_fallback): New inline function.
2846         * src/roff/troff/input.cc (do_define_character): New function.
2847         (define_character): Call `do_define_character'.
2848         (define_fallback_character): New function.
2849         (init_input_requests): Add `fchar'.
2850         (charinfo::charinfo): Updated.
2851         (charinfo::set_macro): New argument to set `fallback' flag.
2852         * src/roff/troff/node.cc (make_glyph_node, make_node,
2853         node::add_char): Check `fallback' flag.
2854         * NEWS, man/groff_diff.man, man/groff_man: Updated.
2855
2856 2001-12-16  Werner LEMBERG  <wl@gnu.org>
2857
2858         * groff.texinfo: Document exact search algorithm for glyphs.
2859
2860 2001-12-15  Werner LEMBERG  <wl@gnu.org>
2861
2862         * Makefile.cpg, Makefile.ccpg, Makefile.man: Add dummy file to
2863         the left side of $(MANPAGES) rule to make it always non-empty.
2864
2865 2001-12-14  Werner LEMBERG  <wl@gnu.org>
2866
2867         * src/roff/troff/input.cc (default_black): Define default color
2868         `black' if not yet defined.
2869
2870 2001-12-13  Werner LEMBERG  <wl@gnu.org>
2871
2872         Implement new string-valued register `.fn' to return the current
2873         real (internal) font name.
2874
2875         * env.cc (environment::get_font_name_string): New function.
2876         (init_env_requests): Add `.fn' register.
2877         * env.h (environment): Updated.
2878         * node.cc (font_info): Make `get_font_name' a friend.
2879         (get_font_name): New function.
2880         * node.h: Updated.
2881
2882         * man/groff_diff.man, man/groff.man, NEWS: Updated.
2883
2884 2001-12-12  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
2885
2886         * src/preproc/eqn/main.cc (inline_equation): Fix typos.
2887
2888 2001-12-12  Werner LEMBERG  <wl@gnu.org>
2889
2890         * tmac/groff_man.man, doc/groff.texinfo: There is no .R macro.
2891
2892 2001-12-10  Gaius Mulley  <gaius@glam.ac.uk>
2893
2894         * man/groff_diff.man: Adding documentation for \O.
2895
2896 2001-12-10  Werner LEMBERG  <wl@gnu.org>
2897
2898         * src/preproc/html/pre-html.cc (TROFF_COMMAND): Removed.
2899         (scanArguments): Use PROG_PREFIX for the name of the troff binary.
2900
2901 2001-12-09  Werner LEMBERG  <wl@gnu.org>
2902
2903         * man/roff.man: Revised.
2904         * src/roff/groff/groff.man: Replace man page references with a
2905         pointer to roff.man.
2906
2907 2001-12-09  Bernd Warken  <bwarken@mayn.de>
2908
2909         * man/roff.man: Completely rewritten.
2910
2911 2001-12-06  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
2912
2913         * src/preproc/eqn/main.cc (inline_equation): Improve error message.
2914
2915 2001-12-05  Werner LEMBERG  <wl@gnu.org>
2916
2917         * src/roff/troff/input.cc (get_delim_file_name): Removed since no
2918         longer used.
2919         * src/devices/grohtml/post-html.cc (html_printer::html_printer): Fix
2920         order of initializers.
2921         * NEWS: Updated.
2922
2923 2001-12-05  Gaius Mulley  <gaius@glam.ac.uk>
2924
2925         * doc/groff.texinfo: Fix documentation of \O.
2926
2927         * src/devices/grohtml/html-text.cc (html_text::do_indent,
2928         html_text::do_table, html_text::do_emittext, html_text::do_para):
2929         Use `const' for first argument.
2930         (html_text::do_table): Use cast.
2931         * src/devices/grohtml/html-text.h: Updated.
2932         * src/devices/grohtml/output.cc (simple_output::put_string): Add
2933         method for `const string &s'.
2934         * src/devices/grohtml/html.h: Updated.
2935         * src/devices/grohtml/post-html.cc (MAX_STRING_LENGTH): Removed.
2936         (ANCHOR_TEMPLATE): Modified.
2937         (manufacture_headings): New global variable to handle `-h' option.
2938         (is_subsection): Removed.
2939         (char_buffer::add_string): Add `const' to first argument.
2940         Protect against invalid string argument.
2941         Add method for `const string &s'.
2942         (text_glob): Completely redesigned.
2943         (page): Use `const' for strings and remove string length variable.
2944         (page::add_html): Removed.
2945         (page::add_end_encode): New member function.
2946         (to_unicode): Moved upwards.
2947         (title_desc, header_desc): Updated.
2948         (header_desc::write_headings): Updated to new ANCHOR_TEMPLATE
2949         definition.
2950         (html_printer::is_bold, html_printer::make_bold): New member
2951         functions.
2952         (html_printer::end_of_line): Updated.
2953         (generate_img_src, html_printer::do_auto_image,
2954         html_printer::do_title, html_printer::write_header,
2955         html_printer::determine_header_level, html_printer::do_heading,
2956         html_printer::do_linelength, html_printer::do_pageoffset,
2957         html_printer::do_indentation, html_printer::do_tempindent,
2958         html_printer::do_indentedparagraph, html_printer::do_break,
2959         html_printer::flush_sbuf, get_html_translation,
2960         html_printer::begin_page, html_printer::special): Rewritten to get
2961         rid of static string length limit.
2962         (html_printer::troff_tag): Added `.no-auto-rule'.
2963         (html_printer::flush_globs): Small fix.
2964         (html_printer::determine_space): Don't compute `space_width'.
2965         (html_printer::translate_to_html): Renamed to ...
2966         (html_printer::emit_html): This (with updates).
2967         (html_printer::write_header): Implement `-h' option.
2968         (html_printer::draw): Remove commented-out code.  Handle `F'
2969         command.
2970         (html_printer::add_char_to_sbuf): Removed.
2971         (html_printer::add_to_sbuf): Rewritten.
2972         (html_printer::sbuf_continuation): Fixed.
2973         (html_printer::seen_backwards_escape, reverse,
2974         html_printer::remove_last_char_from_sbuf): Removed.
2975         (char_translate_to_html, str_translate_to_html): Removed.
2976         (html_printer::overstrike): New function member.
2977         (html_printer::set_char): Use it.
2978         (html_printer::do_body): New function member.
2979         (html_printer::~html_printer): Use it.
2980         (main): Handle `-h' option.
2981         (usage): Updated.
2982         * src/devices/grohtml/grohtml.man: Document -h switch.
2983
2984         * src/preproc/html/pre-html.cc: Include searchpath.h
2985         Replace `POSTSCRIPTRES' macro with `postscriptRes' variable.
2986         (get_resolution): New function.
2987         (checkImageDir): Use `0777' permissions in mkdir()
2988         (write_start_image): Rewritten to use `\O[5...]'.
2989         (createImage, generateImages): Updated.
2990         (main): Handle `F' and `h' options.
2991         Use `get_resolution'.
2992
2993         * src/roff/troff/input.cc (begin, end, image): Removed.
2994         (do_suppress): Take parameter.
2995         Handle modified syntax of `\O'.
2996         (token::next): Updated.
2997         (init_markup_requests): Removed.
2998         (main): Updated.
2999
3000         * src/roff/troff/div.h: Add declaration for begin_page().
3001
3002         * tmac/color-html.tmac: Removed.  Contents moved to...
3003         * tmac/html.tmac: Here.  Set background color.
3004         * tmac/color.tmac: Removed.  Contents moved to...
3005         * tmac/ps.tmac: Here.
3006         * tmac/www.tmac: Remove the title command when generating images
3007         for html.
3008         (NO_AUTO_RULE): New macro.
3009         (HTML_DO_IMAGE): Use revised `\O' escapes.
3010         * tmac/Makefile.sub, tmac/groff_www.man, tmac/troffrc: Updated.
3011
3012 2001-12-02  Werner LEMBERG  <wl@gnu.org>
3013
3014         * tmac/groff_mdoc.man: Fix typo.
3015
3016 2001-12-01  Colin Watson  <cjwatson@debian.org>
3017
3018         * man/roff.man: Fix typo.
3019
3020 2001-11-29  Werner LEMBERG  <wl@gnu.org>
3021
3022         * src/libs/libbib/map.c, src/utils/pfbtops/pfbtops.c: Include
3023         stdlib.h.
3024
3025         * src/roff/troff/input.cc (read_draw_node): Emit error message if
3026         more than one argument to \D'f ...'.
3027
3028         * tmac/Makefile.sub (NORMALFILES): Add lbp.tmac.
3029
3030 2001-11-28  Werner LEMBERG  <wl@gnu.org>
3031
3032         * tmac/an-old.tmac, tmac/doc.tmac: Assure that the macro package is
3033         loaded only once.
3034
3035         * tmac/groff_man.man: Minor cosmetic fix.
3036
3037 2001-11-27  Werner LEMBERG  <wl@gnu.org>
3038
3039         * src/roff/groff/groff.man, tmac/groff_tmac.man,
3040         tmac/groff_www.man: s/mwww/www/.
3041
3042 2001-11-26  Werner LEMBERG  <wl@gnu.org>
3043
3044         * aclocal.m4 (GROFF_MKSTEMP): Implement test using C++ linkage.
3045         * configure: Regenerated.
3046         * win32-diffs: Updated.
3047
3048         * tmac/groff_mwww.tmac: Renamed to ...
3049         * tmac/groff_www.tmac: This.
3050         * tmac/mwww.tmac: Removed.
3051         * NEWS, tmac/Makefile.sub: Updated.
3052
3053 2001-11-21  Werner LEMBERG  <wl@gnu.org>
3054
3055         * doc/groff.texinfo: Improve documentation of the `\v' escape.
3056         Fix explanation of `\D' and `rt'.
3057
3058 2001-11-20  Werner LEMBERG  <wl@gnu.org>
3059
3060         * tmac/an-old.tmac (an-header): Set header length equal to page
3061         width.
3062         * doc/groff.texinfo: Improve documentation of `ne' request.  Other
3063         minor fixes.
3064         * NEWS: Small fix.
3065
3066 2001-11-19  Werner LEMBERG  <wl@gnu.org>
3067
3068         * NEWS, man/Makefile.sub: Updated.
3069
3070 2001-11-19  Bernd Warken  <bwarken@mayn.de>
3071
3072         * man/ditroff.man: New file.
3073
3074 2001-11-17  Werner LEMBERG  <wl@gnu.org>
3075
3076         * man/groff_differences.man: Renamed to ...
3077         * man/groff_diff.man: This.  Updated.
3078         * man/Makefile.sub, src/roff/troff/troff.man, NEWS: Updated.
3079
3080         * src/preproc/html/pushbackbuffer.cc: Renamed to ...
3081         * src/preproc/html/pushback.cc: This.  Updated.
3082         * src/preproc/html/pushbackbuffer.h: Renamed to ...
3083         * src/preproc/html/pushback.h: This.
3084         * src/preproc/html/Makefile.sub, src/preproc/html/pre-html.cc:
3085         Updated.
3086
3087         * src/libs/libgroff/htmlindicate.cc: Renamed to ...
3088         * src/libs/libgroff/htmlhint.cc: This.
3089         * src/libs/libgroff/Makefile.sub: Updated.
3090
3091         * tmac/an-old.tmac (an-end): Fix page length.
3092
3093 2001-11-16  Werner LEMBERG  <wl@gnu.org>
3094
3095         * NEWS, man/groff_differences.man, doc/groff.texinfo: Updated.
3096         * man/Makefile.sub: Include groff_differences.man.
3097         * VERSION: Set to 1.18.
3098         * REVISION: Set to 0.
3099
3100 2001-11-16  Bernd Warken  <bwarken@mayn.de>
3101
3102         * src/roff/troff/input.cc (do_define_macro): Allow whitespace before
3103         the second dot (or ending macro name) to end a macro.
3104         * doc/groff.texinfo: Doc fix.
3105
3106 2001-11-16  Ruslan Ermilov  <ru@FreeBSD.org>
3107
3108         * tmac/doc-common (doc-header): Handle very long document titles
3109         better.
3110
3111 2001-11-16  Werner LEMBERG  <wl@gnu.org>
3112
3113         * tmac/doc.tmac (doc-do-Bl-args): Fix .substring requests.
3114
3115 2001-11-15  Werner LEMBERG  <wl@gnu.org>
3116
3117         * src/roff/troff/troff.man: Revised and split into troff.man and...
3118         * man/groff_differences.man: New file.
3119         * NEWS: Updated.
3120
3121 2001-11-13  Werner LEMBERG  <wl@gnu.org>
3122
3123         * tmac/an-old.tmac (TS, TE): New macros for table support.
3124
3125 2001-11-12  Werner LEMBERG  <wl@gnu.org>
3126
3127         * src/include/lib.h: Provide a fix for emx to not include
3128         groff-getopt.h.
3129
3130 2001-10-27  Werner LEMBERG  <wl@gnu.org>
3131
3132         * src/roff/troff/input.cc (substring_macro): Fix computation of
3133         boundary values.
3134
3135 2001-10-20  Werner LEMBERG  <wl@gnu.org>
3136
3137         Undo change from 2001-08-28.
3138
3139         * src/roff/troff/input.cc (have_input): New global variable.
3140         (token::next): Set `have_input' for \f, \H, \R, \s, and \S if not
3141         in compatibility mode.
3142         (process_input_stack): Use it.
3143
3144 2001-10-19  Ruslan Ermilov  <ru@FreeBSD.org>
3145
3146         * tmac/doc.tmac (doc-flag-recursion): Protect arguments against
3147         being handled as end-of-sentence characters,
3148
3149 2001-10-10  Gaius Mulley  <gaius@glam.ac.uk>
3150
3151         * src/roff/troff/input.cc (file_iterator): New members
3152         `suppress_newline_flag' and `seen_escape'.
3153         (file_iterator::next_file): Updated.
3154         (file_iterator::fill): Use it.
3155         (string_iterator): New member `suppress_newline_flag'.
3156         (string_iterator::fill): Set it.
3157         (get_color_element): Use MAX_COLOR_VAL.
3158         * src/roff/troff/env.cc (environment): Remove `need_eol'.
3159         (no_fill): Don't set `env->ignore_next_eol'.
3160         (environment::newline): Handle `eol' tag properly.
3161         Emit `eol.ce'.
3162         (environment::add_html_tag): Set `env->ignore_next_eol'.
3163         Don't handle `.ce'.
3164         * src/roff/troff/env.h (environment): Updated.
3165
3166         * src/devices/grohtml/post-html.cc (text_glob::is_eol_ce): New
3167         member function.
3168         (html_printer::outstanding_eol): New member function.
3169         (html_printer::do_title): Use new functions.
3170         (html_printer::troff_tag): Test `id_eol_ce'.
3171
3172 2001-10-10  Werner LEMBERG  <wl@gnu.org>
3173
3174         * tmac/color.tmac, tmac/color-html.tmac: Use `.do' to make those
3175         files work with -C also.
3176
3177 2001-10-05  Werner LEMBERG  <wl@gnu.org>
3178
3179         * doc/pic.ms: Minor fix.
3180         * src/preproc/html/pre-html.cc (scanArguments): Don't handle `-?'
3181         as a valid command line switch.
3182         * src/devices/grohtml/post-html.cc (main): Ditto.
3183         (usage): Updated.
3184         * src/devices/grohtml/grohtml.man: Updated.
3185         * src/roff/groff/groff.cc (main): Pass `-v' to predriver also.
3186
3187 2001-10-04  Werner LEMBERG  <wl@gnu.org>
3188
3189         Implementing color support in troff, pic, grops, and grohtml.  These
3190         changes are based on a major patch provided by Gaius Mulley
3191         <gaius@glam.ac.uk>.
3192
3193         New request: `defcolor', supporting rgb, cmy, cmyk, and gray
3194         definitions with both hex values and fractions.
3195
3196         New escapes: \m and \M for drawing and background color,
3197         respectively.  This corresponds to the troff output commands `m'
3198         and `DF'.
3199
3200         groff and troff accept command line switch `-c' to disable color
3201         output (which is automatically disabled in compatibility mode).
3202
3203         New scaling indicator `f' for fractions (1f = 65536u).
3204
3205         New conditional operator `m' to test for defined colors with `if'
3206         and `ie'.
3207
3208         New keywords `color' (or `colour', `colored', `coloured'), `outline'
3209         (or `outlined'), and `shaded' added to pic.
3210
3211         * src/include/color.h: New file.
3212         * src/include/driver.h: Include it.
3213         * src/include/printer.h: Include color.h.
3214         (environment): New members `col' and `fill'.
3215         (printer): Remove `adjust_arc_center' member function.
3216         * src/include/Makefile.sub: Updated.
3217
3218         * src/libs/libdriver/input.cc (do_file): Initialize `env.col' and
3219         `env.fill'.
3220         Handle `m' and `DF' troff commands.
3221         * src/libs/libgroff/color.cc: New file.
3222         * src/libs/libgroff/Makefile.sub: Updated.
3223
3224         * src/preproc/html/pre-html.cc (IMAGE_BORDER_PIXELS): Set to 2.
3225         (stop): Removed.
3226         (createImage): Fix computation of `y2'.
3227         Use `pnmcrop' also.
3228         (buffer::write_file_html): Remove calls to `stop'.
3229
3230         * src/preproc/pic/common.h (common_output): New abstract function
3231         members `set_color', `reset_color', `get_last_filled', and
3232         `get_outline_color'.
3233         * src/preproc/pic/object.h: Add `IS_SHADED' and `IS_OUTLINED'.
3234         (object_spec): Add members `shaded' and `outlined'.
3235         * src/preproc/pic/output.h (output): `command' is now abstract.
3236         New function members `set_color', `reset_color', `get_last_filled',
3237         and `get_outline_color'.
3238         * src/preproc/pic/lex.cc (lookup_keyword): Recognize `colo[u]r[ed]',
3239         `outline[d]', and `shaded'.
3240         * src/preproc/pic/object.cc (output::command): Removed.
3241         (output::set_location): Moved to output.h.
3242         (graphic_object): Add protected members `outline_color' and
3243         `color_fill'.
3244         Add member functions `set_outline_color', `get_outline_color', and
3245         `set_fill_color'.
3246         (closed_object): Add member function `set_fill_color'.
3247         Add member `color_fill'.
3248         (graphic_object::print_text): Use `out->set_color' and
3249         `out->reset_color'.
3250         (box_object::print, ellipse_object::print, circle_object::print,
3251         line_object::print, spline_object::print, arc_object::print): Ditto.
3252         (object_spec::make_object): Implement `IS_OUTLINED' and `IS_SHADED'.
3253         * src/preproc/pic/pic.y: Add tokens `COLORED', `OUTLINED', and
3254         `SHADED', making them `%left'.
3255         Add rules `object_spec [SHADED|COLORED|OUTLINED] text'.
3256         * src/preproc/pic/tex.cc (tex_output): New dummy function members
3257         `set_color', `reset_color', `get_last_filled', and
3258         `get_outline_color'.
3259         * src/preproc/pic/troff.cc (simple_output): New abstract function
3260         members `set_color', `reset_color', and `get_last_filled'.
3261         (simple_output::polygon, simple_output::circle,
3262         simple_output::ellipse): Use `get_last_filled'.
3263         (troff_output): New members `last_filled' and `last_outlined'.
3264         New function members `set_color', `reset_color', `get_last_filled',
3265         and `get_outline_color'.
3266         (troff_output::finish_picture): Use `reset_color'.
3267         (troff_output::set_fill): Test `last_filled'.
3268         * src/preproc/pic/pic.man: Updated.
3269
3270         * src/roff/groff/groff.cc (main): Implement `-c' option.
3271         (synopsis, help): Updated.
3272         src/roff/groff/groff.man: Updated.
3273
3274         * src/roff/troff/troff.h: Include color.h.
3275         (warning_type): Add WARN_COLOR.
3276         * src/roff/troff/env.h (environment): New members
3277         `{cur,prev}_{glyph,fill}_color'.
3278         New member functions `get_{prev_,}{glyph,fill}_color'.
3279         * src/roff/troff/env.cc: Initialize and implement them.
3280         * src/roff/troff/input.cc: New global variable `disable_color_flag'.
3281         Replace `NULL' with `0' everywhere for consistency.
3282         (lookup_color, default_black, do_glyph_color, do_fill_color,
3283         get_color_element, read_rgb, read_cmy, read_cmyk, read_gray,
3284         define_color): New functions.
3285         (token::next): Implement \M and \m escapes.
3286         (do_if_request): Implement `m' operator.
3287         (usage): Updated.
3288         (main): Implement `-c' option.
3289         (init_markup_requests): Add `defcolor' request.
3290         (warning_table): Add `color' warning.
3291         * src/roff/troff/node.h (glyph_color_node, fill_color_node): New
3292         classes.
3293         * src/roff/troff/node.cc (troff_output_file): New members
3294         `current_{page,glyph}color'.  New member functions `put_hex',
3295         `glyph_color', and `fill_color'.
3296         (glyph_color_node::*, fill_color_node::*): Implement it.
3297         * src/roff/troff/number.cc (SCALE_INDICATOR_CHARS): Add `f'.
3298         (parse_term): Add support for `f'.
3299         * src/roff/troff/troff.man: Updated.
3300
3301         * src/devices/grodvi/dvi.cc (draw_dvi_printer::draw): Add dummy
3302         entry for `F'.
3303         * src/devices/grolbp/lbp.cc (lbp_printer::draw): Ditto.
3304         * src/devices/grolj4/lj4.cc (lj4_printer::draw): Ditto.
3305
3306         * src/devices/grohtml/html-text.h (HTML_TAG): Add COLOR_TAG.
3307         (tag_definition): Use `void *' for arg1.
3308         (html_text): New member functions `do_color' and `done_color'.
3309         Use `void *' for second parameter of `push_para' member function.
3310         New `push_para' member function with a single parameter.
3311         Use `char *' for parameter of `issue_table_begin' member funtion.
3312         New `issue_color_begin' member function.
3313         * src/devices/grohtml/html-text.cc (html_text::end_tag): Handle
3314         COLOR_TAG.
3315         (html_text::issue_color_begin): New function.
3316         (html_text::issue_table_begin): Use `char *' for parameter.
3317         (html_text::start_tag, html_text::shutdown,
3318         html_text::check_emit_text): Updated.
3319         (html_text::push_para): Use `void *' for second parameter.
3320         Add same function with only one parameter.
3321         (html_text::do_*): Updated.
3322         (html_text::do_color, html_text::done_color): New functions.
3323         * src/devices/grohtml/post-html.cc (style): New member `col'.
3324         Mew member `style' with 6 parameters.
3325         (style::style, style::operator==): Updated.
3326         (html_printer::do_font): Use it.
3327         (html_printer::draw): Add dummy entry for `F'.
3328         (html_printer::set_char): Updated.
3329         * src/devices/grohtml/grohtml.man: Updated.
3330
3331         * src/devices/grops/ps.cc (ps_output::put_float): Use `%g' to have
3332         trailing zeroes removed.
3333         (ps_printer): New members `sbuf_color', `fill_color', and
3334         `output_color'.
3335         Removed member `fill'.
3336         New member function `set_color'.
3337         (ps_printer::ps_printer, ps_printer::set_char): Updated.
3338         (ps_printer::flush_sbuf, ps_printer::set_line_thickness,
3339         ps_printer::fill_path, ps_printer::draw): Use `set_color'.
3340
3341         * tmac/color-html.tmac, tmac/color.tmac: New files.
3342         * tmac/troffrc: Include them.
3343         * tmac/www.tmac (URL, FTP, MAILTO): Use blue color.
3344         * tmac/Makefile.sub: Updated.
3345
3346         * NEWS, doc/groff.texinfo, doc/pic.ms, man/groff_out.man,
3347         man/groff.man: Updated.
3348         * font/devps/prologue.ps: Define FC and CO functions.
3349
3350 2001-10-04  Gaius Mulley  <gaius@glam.ac.uk>
3351
3352         Fix incorrect cropping of images and incorrect handling of special
3353         characters.  Fix handling of file names in \O.
3354
3355         * src/include/geometry.h: New file.
3356         * src/libs/libgroff/geometry.cc: New file.
3357         * src/libs/libdriver/printer.cc (printer::adjust_arc_center): Moved
3358         to `geometry.cc'.
3359         * src/roff/troff/input.cc (get_delim_file_name): Fixed problem with
3360         initial spaces.
3361         (do_suppress): Updated.
3362         * src/roff/troff/node.cc: Include geometry.h.
3363         (troff_output_file::flush_tbuf): Fixed parameters to
3364         `check_output_limits'.
3365         (troff_output_file::check_charinfo): Ditto.
3366         (troff_output_file::determine_line_limits): Add support for `Da'
3367         and `Dl' commands.
3368
3369         * src/devices/grohtml/post-html.cc (str_translate_to_html):
3370         Add new parameter `is_special' to decode special characters from
3371         escape sequences.
3372         (html_printer::do_title, html_printer::do_heading,
3373         html_printer::do_indentedparagraph,
3374         html_printer::translate_to_html, html_printer::special): Updated.
3375
3376 2001-10-03  Werner LEMBERG  <wl@gnu.org>
3377
3378         * Makefile.sub (DISTCLEANFILES): Add stamp-h.
3379         Fix entry for config.h.
3380         * test-groff (GROFF_BIN_PATH): Add $builddir/roff/groff.
3381         * tmac/troffrc: Translate nonbreakable space character to `\~'.
3382         * src/preproc/eqn/eqn.man: Document -d command line option.
3383
3384 2001-09-27  Werner LEMBERG  <wl@gnu.org>
3385
3386         * man/groff.man: Use
3387
3388           .ev xxx
3389           .na
3390           .nh
3391           <table>
3392           .ev
3393
3394         instead of the old code (`.ad .hy' after the table) to suppress
3395         incorrect hyphenation for grohtml output.
3396
3397 2001-09-22  Werner LEMBERG  <wl@gnu.org>
3398
3399         * man/groff_font.man, man/groff_out.man: Minor fixes.
3400
3401 2001-09-20  Werner LEMBERG  <wl@gnu.org>
3402
3403         * PROBLEMS: Updated, reordered.  Improved EPS section (thanks to
3404         Arnold Robbins <arnold@skeeve.com>).
3405
3406 2001-09-09  Werner LEMBERG  <wl@gnu.org>
3407
3408         * configure: Regenerated with autoconf 2.52.
3409
3410         * doc/groff.texinfo: Complete revision of indices.
3411
3412 2001-09-07  Werner LEMBERG  <wl@gnu.org>
3413
3414         * doc/Makefile (clean): Updated to delete all indices.
3415
3416 2001-09-05  Werner LEMBERG  <wl@gnu.org>
3417
3418         * src/roff/troff/troff.man: Remove superfluous line.
3419
3420         * tmac/s.tmac: Enable all warnings only if no -W or -w option is
3421         given on the command line (or rather, if only the default warnings
3422         are set).
3423
3424 2001-09-03  Werner LEMBERG  <wl@gnu.org>
3425
3426         * man/groff.man, src/preproc/eqn/eqn.man, tmac/groff_mdoc.man: Don't
3427         use .ne for TTY devices.
3428
3429 2001-08-31  Werner LEMBERG  <wl@gnu.org>
3430
3431         * src/roff/troff/token.h, src/roff/troff/input.cc:
3432         s/TOKEN_TRANSPARENT_ESCAPE/TOKEN_OPAQUE_ESCAPE/.
3433
3434 2001-08-28  Werner LEMBERG  <wl@gnu.org>
3435
3436         * src/roff/troff/token.h (token_type): Add TOKEN_TRANSPARENT_ESCAPE.
3437         * src/roff/troff/input.cc (token::next): Return
3438         TOKEN_TRANSPARENT_ESCAPE for \f, \H, \R, \s, and \S if not in
3439         compatibility mode.
3440         (token::description): Updated.
3441         (process_input_stack): Reset `bol' for TOKEN_TRANSPARENT_ESCAPE.
3442         (token::add_to_node_list, token::process): Ignore
3443         TOKEN_TRANSPARENT_ESCAPE.
3444
3445 2001-08-27  Werner LEMBERG  <wl@gnu.org>
3446
3447         * tmac/an-old.tmac: Fix `S' string.
3448
3449 2001-08-26  Werner LEMBERG  <wl@gnu.org>
3450
3451         * src/roff/troff/troff.man: Don't use .ne for TTY devices.
3452
3453 2001-08-25  Werner LEMBERG  <wl@gnu.org>
3454
3455         * doc/pic.ms: Replace `\\' with `\e' (and fixing some single
3456         backslashes).
3457         Many other minor fixes.
3458
3459         * configure.ac: Add message at end to inform how to compile
3460         xditview.
3461         * configure: Regenerated.
3462
3463 2001-08-24  Werner LEMBERG  <wl@gnu.org>
3464
3465         * src/include/getopt.h, src/libs/libgroff/{getopt.c, getopt1.c}:
3466         Updated to latest version of libc.
3467
3468 2001-08-23  Werner LEMBERG  <wl@gnu.org>
3469
3470         * configure.ac: Don't create subdirectories before AC_CONFIG_FILES.
3471         Autoconf 2.50 and newer can handle this.
3472         * configure: Regenerated.
3473
3474 2001-08-21  Werner LEMBERG  <wl@gnu.org>
3475
3476         * doc/pic.ms: Fix typo.
3477         * src/preproc/tbl/tbl.man: Document case of global options.
3478
3479 2001-08-21  Gaius Mulley  <gaius@glam.ac.uk>
3480
3481         * src/devices/grohtml/post-html.cc (html_printer::end_font): Fix
3482         handling of `CR' font.
3483
3484 2001-08-20  Werner LEMBERG  <wl@gnu.org>
3485
3486         Use a config.h file.
3487
3488         * src/include/lib.h: Include config.h.
3489         * All C files: Ditto (if necessary).
3490         * All C++ source and header files: Include lib.h first (if
3491         necessary).
3492
3493         * src/include/config.hin: New file (autogenerated by autoheader).
3494         * stamp-h.in: New file.
3495         * configure.ac: Updated.
3496         * aclocal.m4: Add third parameters to AC_DEFINE macros.
3497         (GROFF_ARRAY_DELETE): Simplified.
3498         * Makefile.sub (DISTCLEANFILES): Updated.
3499         Added targets for remaking config.status, config.hin, config.h,
3500         stamp-h.in, and stamp-h.
3501         * configure: Regenerated.
3502
3503 2001-08-19  Werner LEMBERG  <wl@gnu.org>
3504
3505         * NEWS: Updated.
3506
3507 2001-08-18  Sebastian Krahmer  <krahmer@suse.de>
3508
3509         * src/preproc/pic/pic.y (format_number): Use do_sprintf().
3510         (do_sprintf): Use snprintf().
3511
3512 2001-08-18  Werner LEMBERG  <wl@gnu.org>
3513
3514         * src/libs/snprintf/*: Added an snprintf module written by Mark
3515         Martinec.
3516         * src/libs/libgroff/Makefile.sub: Updated.
3517         * configure.ac: Add test for snprintf().
3518         * Makefile.in: Updated.
3519         * configure: Regenerated.
3520
3521         * src/preproc/html/pre-html.cc (make_message): Reactivate code which
3522         uses snprintf().
3523
3524 2001-08-14  Ruslan Ermilov  <ru@FreeBSD.org>
3525
3526         * tmac/doc.tmac (Ex): New implementation.
3527         * tmac/doc-common, tmac/groff_tmac.man: Updated.
3528
3529 2001-08-13  Ruslan Ermilov  <ru@FreeBSD.org>
3530
3531         * tmac/doc.tmac (Rv): Implement support for 0 or more than 1
3532         argument.
3533         * tmac/groff_tmac.man: Updated.
3534
3535 2001-08-13  Werner LEMBERG  <wl@gnu.org>
3536
3537         * src/preproc/tbl/tbl.man: Minor documentation update.
3538
3539 2001-08-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3540
3541         * src/libs/libgroff/tmpname.cc: Add prototype for gettimeofday().
3542         * configure.ac: Add declaration test for gettimeofday().
3543         * Makefile.in: Document NEED_DECLARATION_GETTIMEOFDAY defines.
3544         * aclocal.m4: Include sys/time.h for gettimeofday declaration test.
3545         * configure: Regenerated.
3546
3547 2001-08-11  Werner LEMBERG  <wl@gnu.org>
3548
3549         * aclocal.m4 (GROFF_MKSTEMP): Define HAVE_MKSTEMP.
3550         * configure.ac: Add declaration test for strcasecmp().
3551         * Makefile.in: Updated.
3552         * configure: Regenerated.
3553         * src/include/lib.h [!HAVE_MKSTEMP]: Add prototype for mkstemp() --
3554         this is necessary because groff's mkstemp.cc is C++.
3555         Add declaration conditionally for strcasecmp().
3556
3557 2001-08-10  Werner LEMBERG  <wl@gnu.org>
3558
3559         Integrated pic2graph, contributed by Eric S. Raymond.
3560
3561         * contrib/pic2graph/{Makefile.sub, pic2graph.sh, pic2graph.man}: New
3562         files.
3563         * Makefile.in, NEWS: Updated.
3564
3565         * src/preproc/tbl/tbl.man: Revised.
3566
3567 2001-08-09  Eric S. Raymond  <esr@thyrsus.com>
3568
3569         * src/preproc/tbl/tbl.man: Extended to cover all tbl features.
3570
3571 2001-08-09  Werner LEMBERG  <wl@gnu.org>
3572
3573         * src/preproc/tbl/main.cc (process_data): Fix recognition of .lf
3574         requests.
3575
3576 2001-08-08  Paul Eggert  <eggert@twinsun.com>
3577
3578         * Makefile.sub (configure): Depend on configure.ac, not
3579         configure.in.
3580         * INSTALL.gen: Upgrade to autoconf 2.52's INSTALL.
3581
3582 2001-08-07  Werner LEMBERG  <wl@gnu.org>
3583
3584         * src/utils/afmtodit/afmtodit.man, src/roff/groff/groff.man: Minor
3585         fixes.
3586
3587 2001-08-06  Werner LEMBERG  <wl@gnu.org>
3588
3589         * src/roff/troff/troff.man: Improve documentation of -E option.
3590
3591 2001-07-28  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
3592
3593         * src/preproc/html/pushbackbuffer.cc (pushBackBuffer::readNumber):
3594         Simplified.
3595
3596 2001-07-27  Werner LEMBERG  <wl@gnu.org>
3597
3598         * src/preproc/refer/refer.cc: Undo last change.
3599         * src/devices/grohtml/post-html.cc: Ditto.
3600
3601 2001-07-26  Werner LEMBERG  <wl@gnu.org>
3602
3603         * src/preproc/refer/refer.cc: Include `lib.h'.
3604         * src/devices/grohtml/post-html.cc: Ditto.
3605
3606 2001-07-25  Gaius Mulley  <gaius@glam.ac.uk>
3607
3608         * aclocal.m4 (GROFF_PAGE): Add `AC_DEFINE(PAGEA4)'.
3609         * src/preproc/html/pre-html.cc: Use it for DEFAULT_VERTICAL_OFFSET.
3610         * Makefile.in: Comment updated.
3611         * configure: Regenerated.
3612
3613 2001-07-25  Werner LEMBERG  <wl@gnu.org>
3614
3615         * src/preproc/pic/pic.cc: Removed.
3616         * src/preproc/pic/pic_tab.h: Removed.
3617         * src/preproc/refer/label.cc: Removed.
3618
3619         * doc/Makefile (.ms.html): Don't use a file name extension in
3620         argument to grohtml's -I option.
3621         * Makefile.in (dist): Remove CVS directories.
3622         Call `distfiles' target.
3623
3624         * src/devices/grohtml/grohtml.man: Add information about valid
3625         versions of pnmtopng.
3626         * src/preproc/html/pre-html.cc (TRANSPARENT): Use `white' as colour
3627         name instead of number.
3628
3629 2001-07-24  Werner LEMBERG  <wl@gnu.org>
3630
3631         * doc/groff.texinfo: Minor fixes.
3632
3633 2001-07-21  Gaius Mulley  <gaius@glam.ac.uk>
3634
3635         * doc/Makefile (.ms.html): Put image files into a subdirectory.
3636         (clean): Updated.
3637
3638 2001-07-20  Werner LEMBERG  <wl@gnu.org>
3639
3640         * src/libs/libgroff/tmpname.cc: New file, defining get_tempname().
3641         * src/libs/libgroff/mkstemp.cc: New file.
3642         * src/libs/libgroff/mksdir.cc: New file.
3643         * src/libs/libgroff/tmpfile.cc [HAVE_MKSTEMP_PROTO]: Removed.
3644         (xtmpfile) [!HAVE_MKSTEMP]: Removed.
3645         * src/libs/libgroff/Makefile.sub: Updated.
3646         * src/include/lib.h: Add mksdir() prototype.
3647         * src/include/posix.h: Define S_IXUSR if not yet defined.
3648
3649         * src/preproc/html/pre-html.cc (MAX_RETRIES): Removed.
3650         (createAllPages): Use mksdir() instead of current code.
3651         * src/utils/indxbib/indxbib.cc [HAVE_MKSTEMP_PROTO]: Removed.
3652         (main): [!HAVE_MKSTEMP]: Removed.
3653
3654         * aclocal.m4 (GROFF_MKSTEMP): Updated to use new mkstemp.cc file.
3655         (GROFF_INTTYPES_H, GROFF_UNSIGNED_LONG_LONG, GROFF_UINTMAX_T): New
3656         macros.
3657         * configure.ac: Add tests for stdint.h, sys/time.h, and
3658         gettimeofday().
3659         Call new GROFF_xxx macros.
3660         * configure: Regenerated.
3661         * Makefile.in: Comments updated.
3662
3663 2001-07-20  Gaius Mulley  <gaius@glam.ac.uk>
3664
3665         * src/preproc/html/pre-html.cc (scanArguments): Use getopt_long()
3666         instead of current code.
3667         * src/devices/grohtml/post-html.cc (main): Handle `-d' option.
3668         * src/roff/groff/groff.cc (possible_command::insert_args): New
3669         function.
3670         (main): Use it for predriver handling instead of insert_arg().
3671
3672 2001-07-19  Werner LEMBERG  <wl@gnu.org>
3673
3674         * doc/Makefile: Added GROFF_BIN_PATH to make it work with uninstalled
3675         groff also.
3676
3677         * src/include/posix.h: Define S_IWUSR if not yet defined.
3678
3679 2001-07-18  Werner LEMBERG  <wl@gnu.org>
3680
3681         * NEWS: Updated.
3682
3683 2001-07-18  Ruslan Ermilov  <ru@FreeBSD.org>
3684
3685         * tmac/groff_mdoc.man: Document new -width and -column syntax.
3686         Some other minor fixes.
3687         * tmac/an-old.tmac: Add `AT' and `UC' macros.
3688
3689 2001-07-17  Gaius Mulley  <gaius@glam.ac.uk>
3690
3691         Replace call to `troff' with `groff -Z' to make it aware of
3692         GROFF_BIN_PATH.
3693
3694         * src/preproc/html/pre-html.cc (TROFF_COMMAND): New macro.
3695         (troff_command, command_prefix): Removed.
3696         (alterDeviceTo): Use groff.
3697         (addZ): New function.
3698         (char_buffer::do_html): Use it.
3699         (scanArguments): Use TROFF_COMMAND.
3700         (findPrefix): Removed.
3701         (main): Updated.
3702         * src/roff/groff/groff.cc (main): Handle zflag for preprocessors.
3703
3704 2001-07-17  Eric S. Raymond  <esr@snark.thyrsus.com>
3705
3706         * doc/pic.ms: Documentation fixes.
3707
3708 2001-07-17  Werner LEMBERG  <wl@gnu.org>
3709
3710         Replace atexit() with global destructor.
3711
3712         * src/libs/libgroff/tmpfile.cc (xtmpfile_list): Add constructor.
3713         (xtmpfile_list_init): New global structure to deallocate
3714         xtmpfile_list on exit.  Its destructor inherits most code from
3715         remove_tmp_files().
3716         (remove_tmp_files): Deleted.
3717         (add_tmp_file): Simplified.
3718
3719 2001-07-16  Werner LEMBERG  <wl@gnu.org>
3720
3721         Replace strdup() with strsave().
3722
3723         * src/devices/grolbp/lbp.cc [!HAVE_STRDUP]: Removed.
3724         (set_papersize): Use strsave() and a_delete.
3725         (main): Use strsave().
3726         * src/preproc/html/pre-html.cc (make_message, createAllPages,
3727         removeAllPages): Use strsave() and a_delete.
3728
3729         * configure.ac: Remove test for strdup.
3730         * Makefile.in: Comment updated.
3731         * configure: Regenerated.
3732
3733 2001-07-15  Werner LEMBERG  <wl@gnu.org>
3734
3735         * win32-diffs: Updated.
3736
3737 2001-07-14  Werner LEMBERG  <wl@gnu.org>
3738
3739         * src/preproc/html/pre-html.cc (makeTempFiles): Activate new code,
3740         removing the old one.
3741         * src/utils/indxbib/indxbib.cc (main): Remove compiler warning.
3742
3743 2001-07-14  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
3744
3745         * src/libs/libgroff/tmpfile.cc (xtmpfile): Fix guard for `namep'.
3746
3747 2001-07-12  Ruslan Ermilov  <ru@FreeBSD.org>
3748
3749         Merge -xwidth into -width.  Add -xwidth functionality to -column
3750         also.
3751
3752         * tmac/doc.tmac (Bl): Add dummy doc-typeXXX and doc-spaceXXX to
3753         avoid warning.
3754         (doc-do-Bl-args): Merge -xwidth code with -width.  Test whether
3755         string immediately following a leading dot starts with a valid mdoc
3756         argument.
3757         Add similar code to the -column branch.
3758         (doc-Bl-usage): Updated.
3759         * groff_mdoc.man: s/-xwidth/-width/.
3760
3761 2001-07-12  Gaius Mulley  <gaius@glam.ac.uk>
3762
3763         * src/devices/grohtml/post-html.cc (text_glob::is_br): Stop titles
3764         running into centered or non-formatted text.
3765
3766 2001-07-11  Werner LEMBERG  <wl@gnu.org>
3767
3768         Introduce short and long prefixes to have the selection at run-time
3769         whether there is a 8+3 limit for names of temporary files.
3770
3771         * src/libs/libgroff/tmpfile.cc (TMPFILE_PREFIX): Replaced with...
3772         (TMPFILE_PREFIX_SHORT, TMPFILE_PREFIX_LONG): This.
3773         (tmpfile_prefix, tmpfile_prefix_len, use_short_prefix): New
3774         variables.
3775         (temp_init): New global structure to initialize above three
3776         variables.
3777         (xtmptemplate): Use two parameters for long and short prefix.
3778         Simplify code use above three variables.
3779         (xtmpfile): Use long and short prefixes as parameters.
3780         * src/include/lib.h: Updated.
3781
3782         * src/preproc/html/pre-html.cc ({PAGE,PS,REGION}_TEMPLATE): Replace
3783         with ...
3784         ({PAGE,PS,REGION}_TEMPLATE_{SHORT,LONG}): This.
3785         (createAllPages, makeTempFiles): Updated.
3786
3787 2001-07-09  Werner LEMBERG  <wl@gnu.org>
3788
3789         * REVISION: Increased to 3.
3790
3791 Local Variables:
3792 version-control: never
3793 coding: latin-1
3794 End: