Updating Back-Cover Text.
[s-roff.git] / ChangeLog.118
blob2de22a3af3be8e97505eab184806cfd57455d762
2 Version 1.18.1 released
3 =======================
5 2002-10-08  Werner LEMBERG  <wl@gnu.org>
7         * doc/webpage.ms, NEWS: Updated.
9 2002-10-07  Werner LEMBERG  <wl@gnu.org>
11         * tmac/doc-common (Ss): Add final `.ns' (similar to `.Sh') to
12         suppress additional whitespace after the header.
14         * tmac/doc-ditroff, tmac/doc-nroff (Am): New string to be in sync
15         with NetBSD.
17         * src/preproc/grn/grn.man, tmac/groff_mdoc.man, NEWS: Updated.
19 2002-10-07  Ruslan Ermilov  <ru@FreeBSD.org>
21         * tmac/doc-common(doc-volume-operating-system-ateol): New flag.
22         (Dt): Use it to improve language localization (especially Russian
23         and French).
25 2002-10-07  Daniel Senderowicz  <daniel@synchrods.com>
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.
36 2002-10-03  Werner LEMBERG  <wl@gnu.org>
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.
49 2002-10-02  Werner LEMBERG  <wl@gnu.org>
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.
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.
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.
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.
107         * doc/groff.texinfo: Updated.
109 2002-09-27  Ruslan Ermilov  <ru@FreeBSD.org>
111         * tmac/doc-common (ds-operating-system-FreeBSD-4.*): New version
112         strings.
114 2002-09-27  Colin Watson  <cjwatson@debian.org>
116         * src/roff/troff/node.cc (bracket_node::copy): Check `list' != 0.
118 2002-09-23  Werner LEMBERG  <wl@gnu.org>
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.
132         * src/devices/grolbp/grolbp.man, NEWS, doc/webpage.ms: Updated.
134 2002-09-22  Paco Andrés Verdú  <pandres@dragonet.es>
136         Fixed a bug in the line thickness setting code.
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.
146 2002-09-21  Werner LEMBERG  <wl@gnu.org>
148         Some Debian patches.
150         * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase to 12.
151         * src/roff/troff/node.cc (bracket_node::copy): Initialize
152         `list->last'.
154 2002-09-20  Werner LEMBERG  <wl@gnu.org>
156         * configure: Regenerated with autoconf 2.54.
158 2002-09-20  Werner LEMBERG  <wl@gnu.org>
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.
165 2002-09-20  Werner LEMBERG  <wl@gnu.org>
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.
172         * tmac/www.tmac (DC): Fix color handling.
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.
178 2002-09-19  Werner LEMBERG  <wl@gnu.org>
180         * src/roff/troff/env.cc (environent_switch, environment_copy):
181         Emit glyph and fill color nodes to initialize colors properly.
183 2002-09-17  Colin Watson  <cjwatson@debian.org>
185         * src/roff/troff/env.cc (environment::set_glyph_color,
186         environment::set_fill_color): Fix typo which prevented \m[] work
187         correctly.
189 2002-09-17  Werner LEMBERG  <wl@gnu.org>
191         Add left and right italic correction to non-slanted PS fonts.  This
192         is an experimental feature to improve image rendering of grohtml.
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.
199 2002-09-16  Werner LEMBERG  <wl@gnu.org>
201         Add a site-specific font directory.
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'.
209         * src/roff/troff/troff.man, NEWS: Updated.
210         * doc/groff.texinfo (Font Directories): New section.
211         Other minor fixes.
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.
217         * src/devices/grohtml/post-html.cc (html_printer::do_tab_ts):
218         Remove unused variable.
220 2002-09-11  Werner LEMBERG  <wl@gnu.org>
222         * doc/groff.texinfo, man/groff_font.man: Clarify argument of \N.
223         * man/groff_out.man: Fix documentation of 'N'.
225 2002-09-09  Gaius Mulley  <gaius@glam.ac.uk>
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'.
236 2002-09-09  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
238         * src/libs/libgroff/string.cc (string::extract): Fix position of
239         terminating null byte.
241 2002-09-08  Werner LEMBERG  <wl@gnu.org>
243         Add global option `nospaces' to tbl so that leading and trailing
244         spaces in data items are ignored.
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.
250         * src/preproc/tbl/table.h (table): Add flag `NOSPACES'.
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.
258 2002-09-07  Werner LEMBERG  <wl@gnu.org>
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.
269 2002-09-06  Werner LEMBERG  <wl@gnu.org>
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.
275 2002-09-05  Gaius Mulley  <gaius@glam.ac.uk>
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.
284 2002-09-05  Werner LEMBERG  <wl@gnu.org>
286         * doc/groff.texinfo, tmac/groff_man.man: Improve documentation of
287         default indentation.
289 2002-09-04  Gaius Mulley  <gaius@glam.ac.uk>
291         * src/preproc/html/pre-html.cc (imageList::createPage): Use
292         -sPAPERSIZE for gs.
293         (generateImages): Clean up push-back buffer.
295 2002-09-04  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
297         * doc/groff.texinfo: Minor fixes.
299 2002-08-21  Gaius Mulley  <gaius@glam.ac.uk>
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'.
318 2002-08-24  Werner LEMBERG  <wl@gnu.org>
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.
327 2002-08-23  Werner LEMBERG  <wl@gnu.org>
329         Use $(OBJEXT) for the object file extension.
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)/.
337 2002-08-22  Werner LEMBERG  <wl@gnu.org>
339         * INSTALL: Mention texinfo 4.2 as a prerequisite.
341 2002-08-21  Gaius Mulley  <gaius@glam.ac.uk>
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.
351 2002-08-20  Werner LEMBERG  <wl@gnu.org>
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.
358 2002-08-18  Gaius Mulley  <gaius@glam.ac.uk>
360         Avoid endless loops while scanning for tables.
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.
372 2002-08-18  Gaius Mulley  <gaius@glam.ac.uk>
374         A better fix, replacing fix 2002-08-15, for increasing SIZE.
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.
381 2002-08-15  Werner LEMBERG  <wl@gnu.org>
383         * src/devices/grops/grops.man, src/devices/grolj4/grolj4.man,
384         src/devices/grodvi/grodvi.man: Document default line thickness.
386 2002-08-15  Gaius Mulley  <gaius@glam.ac.uk>
388         * src/devices/grohtml/post-html.cc (char_block): Increase SIZE to
389         8192.
391 2002-08-14  Werner LEMBERG  <wl@gnu.org>
393         * doc/webpage.ms: Updated.
395 2002-08-09  Werner LEMBERG  <wl@gnu.org>
397         * src/roff/troff/node.cc (node::add_char): Call `freeze_space' for
398         unbreakable space.
400 2002-08-08  Aaron Campbell  <aaron@monkey.org>
402         * src/preproc/pic/object.cc (object_spec::make_move): Fix typo
403         (&& -> &).
405 2002-08-08  Werner LEMBERG  <wl@gnu.org>
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.
412 2002-08-07  Gaius Mulley  <gaius@glam.ac.uk>
414         Add fonts `CI', `CB', and `CBI' to grohtml which have been omitted
415         inadvertently.
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.
426 2002-08-07  Werner LEMBERG  <wl@gnu.org>
428         * MORE.STUFF: Added gpresent.
430         * tmac/trace.tmac: Show nesting level by a corresponding amount of
431         whitespace before printing the logging message.
433 2002-07-31  Colin Watson  <cjwatson@debian.org>
435         * src/devices/grohtml/html-table.cc (html_table::finish_row):
436         Initialize `n' to zero.  This fixes a segfault on ARM.
438 2002-07-30  Werner LEMBERG  <wl@gnu.org>
440         * doc/grnexmpl.me: Remove calls to .st and .sc which are undefined.
442 2002-07-29  Werner LEMBERG  <wl@gnu.org>
444         * src/preproc/pic/pic.y (print_arg, relative_path): Add missing
445         final semicolon.
447 2002-07-28  Colin Watson  <cjwatson@debian.org>
449         * src/devices/grohtml/post-html (html_printer::troff_tag): Handle
450         `.ps'.
451         (html_printer::html_printer): Initialize `pointsize'.
453 2002-07-26  Werner LEMBERG  <wl@gnu.org>
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.
461 2002-07-25  Petter Reinholdtsen  <pere@hungry.com>
463         * src/libs/libdriver/input.cc (Char): Add const to `operator=='.
464         Add `operator!='.
466 2002-07-24  Werner LEMBERG  <wl@gnu.org>
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.
472 2002-07-23  Werner LEMBERG  <wl@gnu.org>
474         * doc/groff.texinfo: Document `papersize' keyword.
475         * NEWS, man/groff_font.man: Updated.
477 2002-07-23  Colin Watson  <cjwatson@debian.org>
479         Extend papersize keyword to accept more than a single entry.  The
480         first valid will be used.
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.
486 2002-07-23  Werner LEMBERG  <wl@gnu.org>
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.
495 2002-07-21  Werner LEMBERG  <wl@gnu.org>
497         * NEWS: Add `output' request.
499         * REVISION: Increased to 1.
501 Version 1.18.0 released
502 =======================
504 2002-07-19  Gaius Mulley  <gaius@glam.ac.uk>
506         Allow internal glyph indices > 0xFF in grohtml for input characters.
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.
515 2002-07-19  Werner LEMBERG  <wl@gnu.org>
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.
521         * tmac/dvi.tmac: Add more composite glyphs.
522         * tmac/html.tmac: Updated.
524         * man/groff_char.man: Add `sum' and `product' entities.
526         * NEWS: Updated.
528 2002-07-18  Gaius Mulley  <gaius@glam.ac.uk>
530         Improved table, tab, and indenting support.
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.
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.
554         * src/roff/troff/div.cc: Updated all callers of
555         `environment::add_html_tag'.
557         * src/devices/grohtml/html-table.cc,
558         src/devices/grohtml/html-table.h: New files.
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.
586         * src/devices/grohtml/html_text.h (HTML_TAG): Remove TABLE_TAG.
587         Updated.
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.
622         * src/devices/grohtml/Makefile.sub: Updated.
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.
628         * tmac/html.tmac: Call .po to pass default page offset to grohtml.
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.
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.
639 2002-07-17  Werner LEMBERG  <wl@gnu.org>
641         * src/utils/afmtodit/afmtodit.pl: Don't use `-P-' for invoking perl.
643 2002-07-14  Eric S. Raymond  <esr@thyrsus.com>
645         * contrib/pic2graph/pic2graph.*: Use convert(1).
646         * contrib/eqn2graph/eqn2graph.*: Minor fixes.
648 2002-07-14  Bernd Warken  <bwarken@mayn.de>
650         * tmac/groff_trace.man: New file.
651         * tmac/Makefile.sub: Updated.
652         * NEWS: Updated.
654 2002-07-13  Werner LEMBERG  <wl@gnu.org>
656         * src/roff/groff/groff.man: Add some cross references.
658 2002-07-12  Werner LEMBERG  <wl@gnu.org>
660         * src/roff/troff/input.cc (substring_request): Add warnings for
661         string indices out of range.
663 2002-07-11  Werner LEMBERG  <wl@gnu.org>
665         * font/devdvi/generate/ec.map: Fix typo (`(l' -> `/l').
666         * font/devdvi/*EC: Regenerated.
668 2002-07-10  Bernd Warken  <bwarken@mayn.de>
670         * man/groff_char.man: Updated and extended.
672 2002-07-10  Werner LEMBERG  <wl@gnu.org>
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.
680 2002-07-09  Werner LEMBERG  <wl@gnu.org>
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.
687 2002-07-08  Robert D. Goulding  <goulding@Princeton.EDU>
689         * src/roff/grog/grog.sh: Fix typo.
691 2002-07-08  Werner LEMBERG  <wl@gnu.org>
693         * win32-diffs: Updated.
695         Handle `papersize' keyword properly in DESC.
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.
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.
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.
723         * man/groff_font.man, NEWS: Updated.
725 2002-07-07  Werner LEMBERG  <wl@gnu.org>
727         Integrated eqn2graph, contributed by Eric S. Raymond.
729         * contrib/eqn2graph/{Makefile.sub, eqn2graph.sh, eqn2graph.man}: New
730         files.
731         * Makefile.in, NEWS: Updated.
733 2002-06-04  Werner LEMBERG  <wl@gnu.org>
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.
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.
747         * man/groff_char.man, tmac/doc-common (doc-header), tmac/doc.tmac
748         (doc-do-Bd-args, doc-do-Bl-args): Changed accordingly.
750         * NEWS, doc/groff.texinfo, man/groff_diff.man: Updated.
752 2002-06-03  Werner LEMBERG  <wl@gnu.org>
754         Make .chop work with .de1 and friends.  COMPATIBLE_SAVE and
755         COMPATIBLE_RESTORE are completely ignored.
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.
772         * doc/groff.texinfo: Document .chop's behaviour better.
774 2002-06-02  Werner LEMBERG  <wl@gnu.org>
776         * doc/pic.ms: Fix documentation for the addition of positions.
778         * tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18.
780 2002-06-29  Werner LEMBERG  <wl@gnu.org>
782         Implementation of string arguments of the form \*[foo arg1 arg2 ...]
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.
795         * NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
796         Document it.
798 2002-06-24  Bernd Warken  <bwarken@mayn.de>
800         * man/groff_tmac.man: Updated and extended.
802 2002-06-24  Werner LEMBERG  <wl@gnu.org>
804         * doc/pic.ms, src/preproc/pic/pic.man: Fix description of `:='.
806 2002-06-23  Werner LEMBERG  <wl@gnu.org>
808         * doc/pic.ms: Improve documentation of composite block objects.
810 2002-06-22  Werner LEMBERG  <wl@gnu.org>
812         * src/roff/troff/input.cc (init_registers): Add three registers
813         `seconds', `minutes', and `hours' to hold the current time.
815         * NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
816         Updated.
818 2002-06-20  Werner LEMBERG  <wl@gnu.org>
820         Make \X accept both `\ ' and `\~', converting them to single space
821         characters.
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.
831         * NEWS, doc/groff.texinfo: Document it..
833 2002-06-19  Werner LEMBERG  <wl@gnu.org>
835         * src/devices/grops/ps.cc (ps_printer::special): Fix error message.
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.
842         * src/roff/troff/input.cc (output_request): Add missing `tok.next()'
843         call.
845 2002-06-18  Werner LEMBERG  <wl@gnu.org>
847         Add a `color' request and a `.color' register to control usage of
848         colours.
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.
858         * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
859         Document the changes.
861 2002-06-17  Colin Watson  <cjwatson@debian.org>
863         Circumvent bug in autoconf 2.53 regarding top_builddir.
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).
870 2002-06-17  Werner LEMBERG  <wl@gnu.org>
872         * src/libs/libgroff/font.cc (font::load_desc): Fix computation of
873         `paperwidth' and `paperlength' for the `papersize' keyword.
875 2002-06-16  P. Alejandro Lopez-Valencia  <dradul@007mundo.com>
877         * src/devices/grops/grops.man: Add info about Type 42 fonts.
879 2002-06-15  Gaius Mulley  <gaius@glam.ac.uk>
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.
888 2002-06-15  Werner LEMBERG  <wl@gnu.org>
890         Don't produce HTML files if utility programs are missing.
892         * Makefile.in (make_html, make_install_html): New variables.
893         (MDEFINES): Updated.
895         * aclocal.m4 (GROFF_HTML_PROGRAMS): New function to test for HTML
896         utility programs.
897         * configure.ac: Use it.
898         * configure: Regenerated.
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.
912 2002-06-14  Bernd Warken  <bwarken@mayn.de>
914         * src/roff/grog/Makefile.sub (grog): Renamed to...
915         (grog.old): This.
916         (grog): New rule to always install grog.sh as grog.
918 2002-06-08  Bernd Warken  <bwarken@mayn.de>
920         * src/roff/grog/grog.pl: Fix typo.
922 2002-06-07  Werner LEMBERG  <wl@gnu.org>
924         * doc/groff.texinfo: Add more info on .tr arguments.
926 2002-06-05  Werner LEMBERG  <wl@gnu.org>
928         * NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated.
930         * aclocal.m4 (GROFF_MKSTEMP): Include unistd.h.
931         * configure: Regenerated.
933 2002-06-05  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
935         * src/roff/troff/symbol.cc (table_sizes): Add more values.
937         * src/roff/grog/grog.pl, src/roff/grog/grog.sh: Recognize mom.
939 2002-06-04  Werner LEMBERG  <wl@gnu.org>
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.
947         * font/devps/Makefile.sub (DESC): Use `papersize' instead of
948         `paperlength'.
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.
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.
966 2002-06-03  Werner LEMBERG  <wl@gnu.org>
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.
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.
1000 2002-06-02  Werner LEMBERG  <wl@gnu.org>
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.
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'.
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'.
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.
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.
1033         * man/groff_font.man: Document `papersize'.
1034         * NEWS: Updated.
1036 2002-05-30  Werner LEMBERG  <wl@gnu.org>
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'.
1042 2002-05-29  Werner LEMBERG  <wl@gnu.org>
1044         * doc/Makefile.sub (CLEANADD): Add grnexmpl.g, groff, and groff-*
1045         to list only if srcdir != currdir.
1046         (distfiles): New target.
1048         * Makefile.in (EXTRADIRS): Add font/devlj4/generate.
1049         (NOMAKEDIRS): New variable.
1050         (DISTDIRS): Use it.
1052 2002-05-26  Werner LEMBERG  <wl@gnu.org>
1054         Add .output request, similar to \! at top-level.
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.
1063         * Makefile.in (MDEFINES): Add INSTALL_INFO.
1064         (prepare_examples): Fix typo.
1065         * doc/groff.texinfo (@direntry): Fix it.
1067 2002-05-25  Werner LEMBERG  <wl@gnu.org>
1069         Including the doc subdir into groff's Makefile system.
1071         * aclocal.m4 (GROFF_INSTALL_INFO): New function.
1072         * configure.ac: Use it.
1073         Generate `doc/Makefile'.
1074         * configure: Regenerated.
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.
1082         * doc/Makefile.sub, doc/Makefile.in: New files.
1083         * doc/Makefile: Removed.
1085         * NEWS, INSTALL: Updated.
1087 2002-05-24  Werner LEMBERG  <wl@gnu.org>
1089         * doc/homepage.ms: Renamed to ...
1090         * doc/webpage.ms: This.
1091         Use `.NHR'.
1093 2002-05-23  Werner LEMBERG  <wl@gnu.org>
1095         Integrating the `mom' macro package, contributed by Peter Schaffter
1096         <df191@ncf.ca>.
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.
1107 2002-05-22  Gaius Mulley  <gaius@glam.ac.uk>
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.
1112         * src/roff/troff/input.cc (do_suppress): Implement it.
1113         Simplify \O[3].
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.
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.
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'.
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.
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'.
1174         * doc/groff.texinfo: Document new syntax of \O.
1175         * NEWS, man/groff_diff.man: Updated.
1177 2002-05-22  Werner LEMBERG  <wl@gnu.org>
1179         * MORE.STUFF: Add info about David Frey's deroff implementation.
1180         Mention troff.org.
1182 2002-05-16  Werner LEMBERG  <wl@gnu.org>
1184         Pic's `with' attribute now accepts positions.
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'.
1196         * doc/pic.ms: Completely updated grammar description.
1197         Many typographical improvements.
1199 2002-05-15  Werner LEMBERG  <wl@gnu.org>
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.
1205         Added keywords `north', `south', `east', and `west' for corners
1206         in pic.
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.
1214 2002-05-14  Werner LEMBERG  <wl@gnu.org>
1216         * src/devices/grops/grops.man: Clarify handling of `download' file.
1218 2002-05-11  Werner LEMBERG  <wl@gnu.org>
1220         Adding `warnscale' and `spreadwarn' requests, based on a patch from
1221         Jeffrey Friedl <jfriedl@yahoo.com>.
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.
1239         * doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it.
1241 2002-05-08  Werner LEMBERG  <wl@gnu.org>
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.
1247         * doc/groff.texinfo: Document \! and \? used at top-level.
1249 2002-05-06  Werner LEMBERG  <wl@gnu.org>
1251         * src/preproc/pic/pic.man: Fix some keyword syntax.
1252         Other minor typographical fixes.
1254         * src/roff/groff/groff.man: Fix typos.
1256 2002-05-04  Werner LEMBERG  <wl@gnu.org>
1258         * src/roff/groff/groff.man ([ShortOpt]): Renamed to...
1259         (ShortOpt[]): This to avoid problems with refer.
1261         * doc/pic.ms: Fix typo.
1262         Fix pic grammar description.
1264         * tmac/an-old.tmac (ne): Use de1, not de.
1266 2002-05-03  Werner LEMBERG  <wl@gnu.org>
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.
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.
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.
1286 2002-05-02  Werner LEMBERG  <wl@gnu.org>
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.
1293 2002-04-27  Werner LEMBERG  <wl@gnu.org>
1295         * Makefile.in (EXEEXT): Set it.
1296         * src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script
1297         programs.
1299         * src/include/nonposix.h: Define GS_NAME.
1300         * src/preproc/html/pre-html.cc (createAllPages): Use GS_NAME.
1302         Some preliminary changes for EMX support under OS/2.
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'.
1308 2002-04-25  Werner LEMBERG  <wl@gnu.org>
1310         * doc/groff.texinfo: Integrated groff_out.man.
1311         Some macro fixes.
1313 2002-04-23  Werner LEMBERG  <wl@gnu.org>
1315         * man/groff_out.man: Minor fixes.
1317 2002-04-23  Werner LEMBERG  <wl@gnu.org>
1319         * doc/groff.texinfo: Moving @cindex entries after @Def* to get
1320         correct page references.
1321         Fixed many index entries.
1323 2002-04-23  Bernd Warken  <bwarken@mayn.de>
1325         * man/roff.man: Enlarged.
1327 2002-04-22  Werner LEMBERG  <wl@gnu.org>
1329         * doc/groff.texinfo: More examples, other fixes.
1331 2002-04-20  Werner LEMBERG  <wl@gnu.org>
1333         * src/roff/troff/input.cc (pipe_output): Multiple calls to `pi'
1334         will now form a chain, e.g.
1336           .pi foo
1337           .pi bar
1339         is now the same as
1341           .pi foo | bar
1343         This is for compatibility with plan 9's troff.
1345         * tmac/tty.tmac: Set default tab values to 0.8i to be compatible
1346         with UNIX troff.
1347         * NEWS: Updated.
1349         * doc/groff.texinfo: Add documentation of remaining requests and
1350         registers.
1352 2002-04-19  Werner LEMBERG  <wl@gnu.org>
1354         * doc/groff.texinfo: Add documentation of remaining escapes.
1356         * font/devdvi/generate/tc.map: Remove entry for `sr'.
1357         * font/devdvi/*TC: Regenerated.
1359 2002-04-18  Werner LEMBERG  <wl@gnu.org>
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.
1366 2002-04-17  Werner LEMBERG  <wl@gnu.org>
1368         * doc/groff.texinfo: Document \\, \e, \E, \., and \c.
1370 2002-04-16  Bernd Warken  <bwarken@mayn.de>
1372         * src/roff/groff/groff.man: Improve documentation of -P option.
1373         Other minor fixes.
1375 2002-04-15  Werner LEMBERG  <wl@gnu.org>
1377         Add new escape \F to switch font family.
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.
1385 2002-04-14  Werner LEMBERG  <wl@gnu.org>
1387         * tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of
1388         spaces in tags.
1390 2002-04-13  Werner LEMBERG  <wl@gnu.org>
1392         Implement \f[] as an alternative to \fP.  Change \mP and \MP to
1393         \m[] and \M[], respectively.
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.
1405         * src/preproc/pic/troff.cc (troff_output::set_fill,
1406         troff_output::reset_color: Updated.
1408         * tmac/www.tmac: Updated.
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.
1414         * tmac/Xps.tmac: Remove some redundant code.
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[].
1421 2002-04-13  Bernd Warken  <bwarken@mayn.de>
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.
1427 2002-04-12  Werner LEMBERG  <wl@gnu.org>
1429         * doc/groff.texinfo: Completed pass on gtroff reference.
1431 2002-04-11  Werner LEMBERG  <wl@gnu.org>
1433         * doc/groff.texinfo: More fixes.
1435 2002-04-11  Bernd Warken  <bwarken@mayn.de>
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.
1446         * man/groff_out.man: Updated.
1447         Minor fixes.
1449 2002-04-11  Gaius Mulley  <gaius@glam.ac.uk>
1451         * src/preproc/html/pre-html.cc (write_start_image): Remove
1452         redundant output.
1453         * tmac/www.tmac (DC, HTML-DO-IMAGE): Ditto.
1455         * src/devices/grohtml/post-html.cc (page::add_and_encode): Using
1456         \C'hy' caused an assertion failure.
1458         * src/roff/troff/env.cc (environment::environment): Initialize
1459         `emitted_node'.
1460         (environment::copy): Handle `ignore_next_eol' and `emitted_node'.
1462 2002-04-10  Werner LEMBERG  <wl@gnu.org>
1464         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1465         Document pvs request and .pvs register.
1467 2002-04-09  Werner LEMBERG  <wl@gnu.org>
1469         * doc/groff.texinfo: Improve and fix documentation of diversions
1470         and environments.
1472 2002-04-08  Werner LEMBERG  <wl@gnu.org>
1474         * doc/groff.texinfo: Fix documentation of drawing functions.
1475         Other minor fixes.
1477 2002-04-07  Werner LEMBERG  <wl@gnu.org>
1479         * doc/groff.texinfo: Better documentation of double quotes as
1480         arguments.
1481         Other minor fixes.
1483 2002-04-06  Werner LEMBERG  <wl@gnu.org>
1485         * man/groff_font.man: Document names of special characters better.
1486         * doc/groff.texinfo: Minor improvements.
1488         * tmac/lbp.tmac: Load latin1.tmac.
1489         * tmac/X.tmac, tmac/Xps.tmac: Load latin1.tmac or cp1047.tmac.
1491         * font/devX*/*: Regenerated (all chars > 0x80 removed).
1493 2002-04-05  Werner LEMBERG  <wl@gnu.org>
1495         * tmac/tty.tmac: Don't use shc request.
1496         * tmac/latin1.tmac, tmac/cp1047.tmac: Translate soft hyphen to `\%'.
1497         * NEWS: Updated.
1499         * man/groff_diff.man: Minor fixes.
1501         * font/devlbp/*: Remove all `charXXX' entities.
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.
1509 2002-04-05  Werner LEMBERG  <wl@gnu.org>
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.
1515         * doc/texinfo.tex: Updated to version 4.2.
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.
1525         * src/preproc/eqn/over.cc (over_box::output): Fix typo.
1526         * tmac/tty.tmac: Add missing backslash.
1528 2002-04-04  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
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.
1543 2002-04-03  Michael Selway  <mas@ssl.co.uk>
1545         * src/drivers/grops/psrm.cc (resource_manager::do_begin_binary):
1546         Fix typo.
1548 2002-04-03  Werner LEMBERG  <wl@gnu.org>
1550         * doc/homepage.ms: Reduce title size.
1551         * doc/groff.texinfo: Fix documentation of .t register.
1552         Fix handling of colon.
1553         Fix `\' vs. `\\'.
1555         * src/roff/troff/input.cc (exit_troff): Emit LAST_PAGE_EJECTOR
1556         only if page length is positive to avoid a loop.
1558         * tmac/an-old.tmac (ne): Increase page length to avoid problems with
1559         tbl.
1561 2002-04-02  P. Alejandro Lopez-Valencia  <dradul@yahoo.com>
1563         * src/include/nonposix.h, src/roff/groff/pipeline.c:
1564         s/__CYGWIN32__/__CYGWIN__/.
1566 2002-03-28  Gaius Mulley  <gaius@glam.ac.uk>
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.
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.
1578 2002-03-28  Werner LEMBERG  <wl@gnu.org>
1580         * src/libs/libgroff/getopt.c: Updated to latest version.
1582         * tmac/README: More on hyphen.tex license.
1584 2002-03-26  Larry Kollar  <kollar@alltel.net>
1586         * doc/groff.texinfo: Add documentation of most missing requests.
1588 2002-03-25  Werner LEMBERG  <wl@gnu.org>
1590         Add three glyphs `t+-', `tmu', and `tdi' which are textual variants
1591         of `+-', `mu', and `di', respectively.
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.
1605         * tmac/latin1.tmac, tmac/cp1047.tmac, tmac/tty.tmac,
1606         tmac/tty-char.tmac: Updated.
1608         * NEWS, man/groff_char.man: Updated.
1610 2002-03-24  Werner LEMBERG  <wl@gnu.org>
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.
1621         * tmac/README: New file.
1623 2002-03-23  Phil Lobbes  <phil@perkpartners.com>
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++.
1629 2002-03-23  Werner LEMBERG  <wl@gnu.org>
1631         * tmac/dvi.tmac: Add replacement font for `CB'.
1633         * tmac/doc.tmac: s/request/macro/ in messages.
1634         (doc-generic-macro): Improve error message.
1635         * tmac/groff_mdoc.man: Minor improvements.
1637 2002-03-22  Werner LEMBERG  <wl@gnu.org>
1639         * doc/groff.texinfo: Document possible conflict between `tr' and
1640         `char' requests.
1642 2002-03-21  Werner LEMBERG  <wl@gnu.org>
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.
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.
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.
1664         * src/roff/troff/charinfo.h (charinfo::get_translation_input): New
1665         inline function.
1667         * src/roff/troff/env.cc (WORD_MAX): Reduced to 256 since `unsigned
1668         char' is used for offsets in hyphenation exceptions.
1670         * tmac/hyphen.us: Replace with contents of unmodified `hyphen.tex'.
1672         * NEWS, man/groff_diff.man, man/groff.man: Document it.
1674 2002-03-20  Larry Kollar  <kollar@alltel.net>
1676         * doc/groff.texinfo: Add documentation for `hpfa' and `trin'
1677         requests.
1679 2002-03-18  Werner LEMBERG  <wl@gnu.org>
1681         * tmac/html.tmac: Fix serious typo.
1683 2002-03-17  Larry Kollar  <kollar@alltel.net>
1685         * doc/groff.texinfo: Add documentation for `writec' request.
1687 2002-03-17  Werner LEMBERG  <wl@gnu.org>
1689         Added request `hpfa' to append hyphenation patterns.
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.
1700 2002-03-16  Werner LEMBERG  <wl@gnu.org>
1702         Added request `writec' in analogy to `tmc'.
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.
1711         * font/devdvi/DESC.in (sizes): Allow all sizes in the range
1712         5-10000pt.
1713         * NEWS: Document it.
1715 2002-03-15  Werner LEMBERG  <wl@gnu.org>
1717         * man/groff.man: Add writem request.
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.
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'.
1736         * tmac/cp1047.tmac, tmac/latin1.tmac: Use `trin'.
1738         * NEWS, man/groff.man, man/groff_diff.man: Updated.
1740 2002-03-14  Larry Kollar  <kollar@alltel.net>
1742         * doc/groff.texinfo: Improve documentation of .RS and .RE.
1744 2002-03-14  Werner LEMBERG  <wl@gnu.org>
1746         Add a new request `sizes' similar to the `sizes' command in DESC
1747         files.
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.
1754 2002-03-12  Werner LEMBERG  <wl@gnu.org>
1756         * doc/groff.texinfo: More fixes for texinfo 4.1 and higher.
1758 2002-03-10  Werner LEMBERG  <wl@gnu.org>
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.
1765         * font/devlj4/generate/Makefile: Fix URL of metric files.
1767 2002-03-09  Werner LEMBERG  <wl@gnu.org>
1769         * PROBLEMS: The static constructor bug has been fixed in z/OS V1R3.
1771 2002-03-09  Larry Kollar  <kollar@alltel.net>
1773         * tmac/groff_ms.man: Add documentation for RS and RE macros.
1775 2002-03-08  Werner LEMBERG  <wl@gnu.org>
1777         * doc/groff.texinfo: Fixes for texinfo 4.1.
1779 2002-03-07  Werner LEMBERG  <wl@gnu.org>
1781         * src/include/lib.h: Include getopt.h if groff-getopt.h can't be
1782         included.
1783         Handle CYGWIN properly.
1785 2002-03-07  Paco Andrés Verdú  <pandres@dragonet.es>
1787         * font/devlbp/Makefile.sub (DEVFILES): Add some missing fonts.
1788         * tmac/lbp.tmac: Add some font translations.
1790 2002-03-02  Werner LEMBERG  <wl@gnu.org>
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.
1797         * font/devlj4/generate/text.map: Remove `charXXX' entries.
1798         * font/devlj4/*: Regenerated all font definition files.
1799         * tmac/lj4.tmac: Load latin1.tmac.
1801         * src/utils/hpftodit/hpftodit.cc (do_file): Partially undo change
1802         from 2000-06-17: LJ4 metric files are *not* text files.
1804         * tmac/troffrc, tmac/dvi.tmac, tmac/ps.tmac: Don't use .T string
1805         register to test for EBCDIC.
1807 2002-03-01  Werner LEMBERG  <wl@gnu.org>
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.
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.
1821         * tmac/ec.tmac: Don't load latin1.tmac again.
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.
1832 2002-02-28  Werner LEMBERG  <wl@gnu.org>
1834         Add color support to grodvi (for drawing colors are currently
1835         translated to gray values).
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.
1851         * tmac/an-old.tmac (R): Make this a macro to emit a warning if
1852         used incorrectly.
1854         * aclocal.m4 (GROFF_NEED_DECLARATION): Use test similar to recent
1855         versions of autoconf.
1856         * configure: Updated.
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.
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.
1867 2002-02-27  Werner LEMBERG  <wl@gnu.org>
1869         Add EC and TC fonts to devdvi.
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.
1886         * font/devdvi/{TR,TI,TB,TBI,HR}: Fix `name' field.
1888 2002-02-26  Werner LEMBERG  <wl@gnu.org>
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.
1895         Add font `HBI' for the dvi output.
1896         Add support for font families `T' and `H'.
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.
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.
1927 2002-02-25  Werner LEMBERG  <wl@gnu.org>
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'.
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.
1940 2002-02-24  Werner LEMBERG  <wl@gnu.org>
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.
1951         * NEWS, src/devices/grotty/grotty.man: Updated.
1953 2002-02-23  Werner LEMBERG  <wl@gnu.org>
1955         * src/roff/troff/input.cc (do_overstrike, do_bracket,
1956         get_line_arg): Honour input level.
1958         Add new symbol `mc' corresponding to U+00B5 MICRO SIGN.
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.
1967         * font/devutf8/R.proto: Remove all `charXXX' entries.
1968         * font/devutf8/NOTES: Updated.
1970         * font/devX*/*: Regenerated with xtotroff, using fonts from XFree86
1971         version 4.1.0.
1973         * tmac/latin1.tmac, tmac/psold.tmac, tmac/tty-char.tmac: Updated.
1975         * NEWS, man/groff_char.man: Updated.
1977 2002-02-21  Phil Lobbes  <phil@perkpartners.com>
1979         * src/include/lib.h [HAVE_SNPRINTF]: Include stdarg.h.
1981 2002-02-20  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
1983         * src/roff/grog/grog.pl: Fix computation of $refer.
1985 2002-02-19  Werner LEMBERG  <wl@gnu.org>
1987         * src/include/lib.h [!HAVE_SNPRINTF]: Add declarations for
1988         `snprintf' and `vsnprintf'.
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.
1995 2002-02-18  Werner LEMBERG  <wl@gnu.org>
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.
2001         * win32-diffs: Updated.
2003 2002-02-17  Werner LEMBERG  <wl@gnu.org>
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.
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.
2020         * NEWS: Updated.
2022 2002-02-16  Gaius Mulley  <gaius@glam.ac.uk>
2024         Simplify image handling for grohtml.
2025         Fix <p> bug.
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.
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.
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.
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.
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.
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.
2132 2002-02-14  Werner LEMBERG  <wl@gnu.org>
2134         Don't use `CSI 39 m' and `CSI 49 m' but `CSI 0 m'.
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.
2141 2002-02-13  Werner LEMBERG  <wl@gnu.org>
2143         * tmac/groff_tmac.man: Moved to...
2144         * man/groff_tmac.man: This place.
2145         * tmac/Makefile.sub, man/Makefile.sub: Updated.
2147 2002-02-12  Werner LEMBERG  <wl@gnu.org>
2149         * src/libs/libgroff/Makefile.sub (snprintf.o): Don't use
2150         $(COMPILE.c) to not include groff's assert.h.
2152         * src/drivers/grotty/tty.cc (main): Add GROFF_NO_SGR environment
2153         variable.
2154         * NEWS, src/drivers/grotty/grotty.man: Document it.
2156 2002-02-11  Werner LEMBERG  <wl@gnu.org>
2158         * src/libs/snprintf/snprintf.c: Updated to latest version
2159         (2002-02-11).
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.
2166 2002-02-10  Werner LEMBERG  <wl@gnu.org>
2168         Illegal -> Invalid.
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.
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.
2196         * src/include/lib.h: Updated.
2198         * src/preproc/eqn/eqn.cc: Removed.
2200         * NEWS: Updated.
2202         * src/preproc/grn/hdb.cc (DBRead): Fix fscanf() fields.
2204 2002-02-09  Werner LEMBERG  <wl@gnu.org>
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.
2212 2002-02-09  Gaius Mulley  <gaius@glam.ac.uk>
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.
2231         * doc/Makefile (gnubw.eps): Updated.
2232         * doc/homepage.ms: Updated.
2234 2002-02-08  Werner LEMBERG  <wl@gnu.org>
2236         * doc/pic.ms: Fixed typos (\(*tx -> \*(tx).
2237         Added `linethick' to table in section `Style Variables'.
2239 2002-02-08  Gaius Mulley  <gaius@glam.ac.uk>
2241         * src/libs/libdriver/input.cc (get_extended_arg): Fix conditional.
2243 2002-02-07  Werner LEMBERG  <wl@gnu.org>
2245         Adding options -C (compatibility mode) and -c (grotty's old output
2246         scheme) to nroff.
2248         * src/roff/nroff/nroff.sh: Implement it.
2249         Remove `-Wall'.
2250         * NEWS, src/roff/nroff/nroff.man: Updated.
2252         * PROBLEMS: Document bison 1.32 bug.
2254         Some fixes to make groff compile on z/OS 1.2 UNIX (was OS/390).
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'.
2261         Adding EBCDIC support to grotty.
2263         * src/devices/grotty/tty.cc (CSI): New macro.
2264         (SGR_*, tty_printer::put_color): Use it.
2266 2002-02-06  Werner LEMBERG  <wl@gnu.org>
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).
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.
2292         * src/include/errarg.h (errarg): Add support for `unsigned int'.
2293         * src/libs/libgroff/errarg.c: Implement it.
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'.
2301         * src/roff/troff/node.cc (troff_output_file::fill_color,
2302         troff_output_file::glyph_color): Call `do_motion'.
2304         * tmac/tty.tmac: Add color definitions.
2306         * src/roff/groff/groff.man: Minor fixes.
2308 2002-02-05  Bernd Warken  <bwarken@mayn.de>
2310         * src/libs/libdriver/input.cc: Introduce `EnvInt' typedef and use
2311         it.  This is a preparation for future changes.
2313 2002-02-05  Werner LEMBERG  <wl@gnu.org>
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.
2319         * doc/roff.man (quoted_char): Fix argument.
2320         (comment): Define string.
2322 2002-02-04  Larry Kollar  <kollar@alltel.net>
2324         * doc/groff.texinfo: More fixes.
2326 2002-02-04  Werner LEMBERG  <wl@gnu.org>
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.
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.
2340         * doc/Makefile (.SUFFIXES, .texinfo.pdf, clean): Add support for
2341         texinfo->pdf.
2342         (.texinfo.html): Add support for texinfo->html.
2344 2002-02-03  Werner LEMBERG  <wl@gnu.org>
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'.
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.
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'.
2366         * tmac/trace.tmac: Trace calls to `am' also.  Make it work in
2367         compatibility mode.
2369 2002-02-02  Larry Kollar  <kollar@alltel.net>
2371         * doc/groff.texinfo, tmac/groff_ms.man: More fixes.
2373 2002-01-31  Werner LEMBERG  <wl@gnu.org>
2375         * tmac/an-old.tmac (I): Use \, and \/ to improve spacing.
2377 2002-01-31  Bernd Warken  <bwarken@mayn.de>
2379         * src/devices/grolbp/lbp.cc (main): Delete `pr'.
2380         * man/groff_out.man: Revised and updated.
2382 2002-01-30  Bernd Warken  <bwarken@mayn.de>
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.
2404 2002-01-29  Werner LEMBERG  <wl@gnu.org>
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.
2413 2002-01-29  Gaius Mulley  <gaius@glam.ac.uk>
2415         Fixes to make color changes of 2002-01-21 work with grohtml.
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.
2434 2002-01-28  Werner LEMBERG  <wl@gnu.org>
2436         * tmac/ps.tmac, tmac/html.tmac: Fix compatibility mode issues.
2438 2002-01-27  Gaius Mulley  <gaius@glam.ac.uk>
2440         Add two switches -a and -g to control the antialiasing bits for
2441         text and graphics, respectively.
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.
2455 2002-01-27  Werner LEMBERG  <wl@gnu.org>
2457         * doc/groff.texinfo (Def*): Call index function after deffn.
2459         * tmac/html.tmac: Call `nroff' request.
2461 2002-01-26  Larry Kollar  <kollar@alltel.net>
2463         * tmac/groff_ms.man: Add some omissions.
2465 2002-01-25  Larry Kollar  <kollar@alltel.net>
2467         * tmac/groff_ms.man: Typographical improvements.
2469 2002-01-25  Werner LEMBERG  <wl@gnu.org>
2471         * doc/groff.texinfo: Updated version and copyright.
2472         * src/devices/grops/grops.man: Updated.
2474         * tmac/groff_tmac.man: Fix `ig' macro.
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.
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.
2486 2002-01-24  Werner LEMBERG  <wl@gnu.org>
2488         * tmac/groff_www.man, NEWS: Fix typos.
2490 2002-01-21  Werner LEMBERG  <wl@gnu.org>
2492         Complete revision of color support:
2494           Adapt programs to the new libdriver/input.cc.
2496           Color spaces are no longer converted to RGB but transferred as-is
2497           in the troff intermediate output format.
2499           Handle default color gracefully.  troff now supports a `default'
2500           color (which can't be changed).
2502           grops will now use the proper color space functions if available.
2504           Update pic.
2506         Note that currently grohtml doesn't handle colors properly.  This
2507         has to be fixed.
2509         * src/libs/libgroff/itoa.c (UINT_DIGITS): New macro.
2510         (ui_to_a): New function.
2511         * src/include/lib.h: Updated.
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.
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.
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.
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.
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).
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.
2578 2002-01-20  Bernd Warken  <bwarken@mayn.de>
2580         * src/libs/libdriver/input.cc: Completely rewritten.  See comments
2581         in this file for what has been changed.
2583 2002-01-19  Werner LEMBERG  <wl@gnu.org>
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.
2589 2002-01-18  Gaius Mulley  <gaius@glam.ac.uk>
2591         * src/libs/libgroff/geometry.cc (check_output_arc_limits): Fix
2592         quadrant boundaries.
2594 2002-01-18  Werner LEMBERG  <wl@gnu.org>
2596         * devices/grops/ps.cc: Aargh!  Fix the fix of the incorrectly
2597         applied last patch.
2599 2002-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
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.
2606 2002-01-17  Bruno Haible  <haible@clisp.cons.org>
2608         * src/preproc/pic/lex.cc (get_token): Fix typo.
2610 2002-01-17  Werner LEMBERG  <wl@gnu.org>
2612         * devices/grops/ps.cc: Fix incorrectly applied last patch.
2614 2002-01-17  Larry Kollar  <kollar@alltel.net>
2616         * tmac/groff_ms.man: Completely rewritten.
2618 2002-01-16  Werner LEMBERG  <wl@gnu.org>
2620         * tmac/an-old.tmac (TS): Force break, inserting some vertical space.
2622 2002-01-15  Gaius Mulley  <gaius@glam.ac.uk>
2624         * devices/grops/ps.cc (ps_printer::fill_path): Fix handling of
2625         fill colors.
2626         (ps_printer::draw): Ditto.
2628 2002-01-14  Ruslan Ermilov  <ru@FreeBSD.org>
2630         * tmac/groff_mdoc.man: Minor fixes.
2632 2002-01-13  Werner LEMBERG  <wl@gnu.org>
2634         * man/groff_out.man: Some fixes.
2636 2002-01-13  Gaius Mulley  <gaius@glam.ac.uk>
2638         * doc/pic.ms: Fix typos.
2640 2002-01-12  Werner LEMBERG  <wl@gnu.org>
2642         * doc/groff.texinfo, doc/groff.man: More on a printable backslash.
2644 2002-01-10  Werner LEMBERG  <wl@gnu.org>
2646         * font/devutf8/R.proto, font/devhtml/R.prot: Add `Eu' and `eu'
2647         symbols.
2648         * NEWS: Updated.
2650 2002-01-09  Bernd Warken  <bwarken@mayn.de>
2652         * man/groff_out.man: Revised.
2653         * man/roff.man: Minor fixes.
2654         * src/roff/troff/troff.man: Some reordering.
2656 2002-01-09  Werner LEMBERG  <wl@gnu.org>
2658         * tmac/an-old.tmac: Add dummy macros for equation support.
2660 2002-01-07  Werner LEMBERG  <wl@gnu.org>
2662         doc/groff.texinfo: Fix documentation of glyph searching algorithm.
2664         * tmac/an-old.tmac: Revert change 2001-12-23.  This breaks too many
2665         man pages.
2666         * tmac/groff_man.man: Small improvements.
2668 2002-01-07  Bernd Warken  <bwarken@mayn.de>
2670         * man/groff_diff.man: Revised.
2672 2002-01-06  Werner LEMBERG  <wl@gnu.org>
2674         * tmac/www.tmac: Remove extraneous backslash.
2676 2002-01-06  Bernd Warken  <bwarken@mayn.de>
2678         * man/ditroff.man, src/roff/groff/groff.man, man/groff.man: Revised.
2680 2002-01-05  Werner LEMBERG  <wl@gnu.org>
2682         Integrated groffer, contributed by Bernd Warken.
2684         * contrib/groffer/*: New.       
2685         * Makefile.in, NEWS: Updated.
2687 2002-01-04  Werner LEMBERG  <wl@gnu.org>
2689         * doc/groff.texinfo: Added macros `@Defmpreg' and `@Defmpregx' for
2690         registers defined in macro packages.
2691         Revising the ms part.
2693 2002-01-04  Larry Kollar  <kollar@alltel.net>
2695         * doc/groff.texinfo: Add documentation for ms macros.
2697 2002-01-02  Werner LEMBERG  <wl@gnu.org>
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.
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.
2706         * NEWS: Updated.
2708 2002-01-02  Bernd Warken  <bwarken@mayn.de>
2710         * man/roff.man: Revised.
2712 2002-01-01  Bernd Warken  <bwarken@mayn.de>
2714         * src/roff/groff/groff.man: Completely rewritten.
2716 2001-12-31  Werner LEMBERG  <wl@gnu.org>
2718         * doc/Makefile: Updated.
2720 2001-12-30  Werner LEMBERG  <wl@gnu.org>
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.
2727 2001-12-30  Gaius Mulley  <gaius@glam.ac.uk>
2729         Implement option `-b' in grohtml to set the HTML background colour.
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.
2743         Add new grohtml tag `.html-tl'.
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.
2753         Add support for unordered lists in HTML.
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.
2760         Miscellaneous.
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'.
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.
2784         * doc/homepage.ms: Include `gnubw.eps'.
2785         * doc/Makefile (gnubw.eps): New rule.
2786         (homepage.html): Depend on `gnubw.eps'.
2788 2001-12-25  Werner LEMBERG  <wl@gnu.org>
2790         * src/roff/troff/input.cc (default_black): Fix return value.
2792 2001-12-24  Ruslan Ermilov  <ru@FreeBSD.org>
2794         * tmac/doc-common (Dt): Change output of architecture strings.
2795         Do some syntax cleanup.
2796         * tmac/groff_mdoc.man: Updated.
2798 2001-12-23  Werner LEMBERG  <wl@gnu.org>
2800         Adding an `itc' request (input line trap accepting \c).
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.
2814         * tmac/an-old.tmac (SH, SS, B, I, SM, SB, TP): Use `.itc' instead of
2815         `.it'.
2817         * src/preproc/grn/hdb.cc (DBRead): Really chop after 127 characters.
2819 2001-12-22  Ruslan Ermilov  <ru@FreeBSD.org>
2821         * tmac/doc-common, tmac/doc-syms: Small updates.
2823 2001-12-22  Colin Watson  <cjwatson@debian.org>
2825         * tmac/an-old.tmac (an-p-footer): Set title length in environment 1.
2827 2001-12-22  Bernd Warken  <bwarken@mayn.de>
2829         * MANIFEST: New file.
2831 2001-12-22  Werner LEMBERG  <wl@gnu.org>
2833         * src/preproc/grn/grn.man: Updated.
2835 2001-12-22  Solar Designer  <solar@openwall.com>
2837         * src/preproc/grn/hdb.cc (MAXSTRING_S): New macro.
2838         (DBRead): Use it.
2840 2001-12-19  Werner LEMBERG  <wl@gnu.org>
2842         Implement a fallback character request `.fchar'.
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.
2856 2001-12-16  Werner LEMBERG  <wl@gnu.org>
2858         * groff.texinfo: Document exact search algorithm for glyphs.
2860 2001-12-15  Werner LEMBERG  <wl@gnu.org>
2862         * Makefile.cpg, Makefile.ccpg, Makefile.man: Add dummy file to
2863         the left side of $(MANPAGES) rule to make it always non-empty.
2865 2001-12-14  Werner LEMBERG  <wl@gnu.org>
2867         * src/roff/troff/input.cc (default_black): Define default color
2868         `black' if not yet defined.
2870 2001-12-13  Werner LEMBERG  <wl@gnu.org>
2872         Implement new string-valued register `.fn' to return the current
2873         real (internal) font name.
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.
2882         * man/groff_diff.man, man/groff.man, NEWS: Updated.
2884 2001-12-12  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
2886         * src/preproc/eqn/main.cc (inline_equation): Fix typos.
2888 2001-12-12  Werner LEMBERG  <wl@gnu.org>
2890         * tmac/groff_man.man, doc/groff.texinfo: There is no .R macro.
2892 2001-12-10  Gaius Mulley  <gaius@glam.ac.uk>
2894         * man/groff_diff.man: Adding documentation for \O.
2896 2001-12-10  Werner LEMBERG  <wl@gnu.org>
2898         * src/preproc/html/pre-html.cc (TROFF_COMMAND): Removed.
2899         (scanArguments): Use PROG_PREFIX for the name of the troff binary.
2901 2001-12-09  Werner LEMBERG  <wl@gnu.org>
2903         * man/roff.man: Revised.
2904         * src/roff/groff/groff.man: Replace man page references with a
2905         pointer to roff.man.
2907 2001-12-09  Bernd Warken  <bwarken@mayn.de>
2909         * man/roff.man: Completely rewritten.
2911 2001-12-06  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
2913         * src/preproc/eqn/main.cc (inline_equation): Improve error message.
2915 2001-12-05  Werner LEMBERG  <wl@gnu.org>
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.
2923 2001-12-05  Gaius Mulley  <gaius@glam.ac.uk>
2925         * doc/groff.texinfo: Fix documentation of \O.
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.
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'.
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.
3000         * src/roff/troff/div.h: Add declaration for begin_page().
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.
3012 2001-12-02  Werner LEMBERG  <wl@gnu.org>
3014         * tmac/groff_mdoc.man: Fix typo.
3016 2001-12-01  Colin Watson  <cjwatson@debian.org>
3018         * man/roff.man: Fix typo.
3020 2001-11-29  Werner LEMBERG  <wl@gnu.org>
3022         * src/libs/libbib/map.c, src/utils/pfbtops/pfbtops.c: Include
3023         stdlib.h.
3025         * src/roff/troff/input.cc (read_draw_node): Emit error message if
3026         more than one argument to \D'f ...'.
3028         * tmac/Makefile.sub (NORMALFILES): Add lbp.tmac.
3030 2001-11-28  Werner LEMBERG  <wl@gnu.org>
3032         * tmac/an-old.tmac, tmac/doc.tmac: Assure that the macro package is
3033         loaded only once.
3035         * tmac/groff_man.man: Minor cosmetic fix.
3037 2001-11-27  Werner LEMBERG  <wl@gnu.org>
3039         * src/roff/groff/groff.man, tmac/groff_tmac.man,
3040         tmac/groff_www.man: s/mwww/www/.
3042 2001-11-26  Werner LEMBERG  <wl@gnu.org>
3044         * aclocal.m4 (GROFF_MKSTEMP): Implement test using C++ linkage.
3045         * configure: Regenerated.
3046         * win32-diffs: Updated.
3048         * tmac/groff_mwww.tmac: Renamed to ...
3049         * tmac/groff_www.tmac: This.
3050         * tmac/mwww.tmac: Removed.
3051         * NEWS, tmac/Makefile.sub: Updated.
3053 2001-11-21  Werner LEMBERG  <wl@gnu.org>
3055         * doc/groff.texinfo: Improve documentation of the `\v' escape.
3056         Fix explanation of `\D' and `rt'.
3058 2001-11-20  Werner LEMBERG  <wl@gnu.org>
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.
3066 2001-11-19  Werner LEMBERG  <wl@gnu.org>
3068         * NEWS, man/Makefile.sub: Updated.
3070 2001-11-19  Bernd Warken  <bwarken@mayn.de>
3072         * man/ditroff.man: New file.
3074 2001-11-17  Werner LEMBERG  <wl@gnu.org>
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.
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.
3087         * src/libs/libgroff/htmlindicate.cc: Renamed to ...
3088         * src/libs/libgroff/htmlhint.cc: This.
3089         * src/libs/libgroff/Makefile.sub: Updated.
3091         * tmac/an-old.tmac (an-end): Fix page length.
3093 2001-11-16  Werner LEMBERG  <wl@gnu.org>
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.
3100 2001-11-16  Bernd Warken  <bwarken@mayn.de>
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.
3106 2001-11-16  Ruslan Ermilov  <ru@FreeBSD.org>
3108         * tmac/doc-common (doc-header): Handle very long document titles
3109         better.
3111 2001-11-16  Werner LEMBERG  <wl@gnu.org>
3113         * tmac/doc.tmac (doc-do-Bl-args): Fix .substring requests.
3115 2001-11-15  Werner LEMBERG  <wl@gnu.org>
3117         * src/roff/troff/troff.man: Revised and split into troff.man and...
3118         * man/groff_differences.man: New file.
3119         * NEWS: Updated.
3121 2001-11-13  Werner LEMBERG  <wl@gnu.org>
3123         * tmac/an-old.tmac (TS, TE): New macros for table support.
3125 2001-11-12  Werner LEMBERG  <wl@gnu.org>
3127         * src/include/lib.h: Provide a fix for emx to not include
3128         groff-getopt.h.
3130 2001-10-27  Werner LEMBERG  <wl@gnu.org>
3132         * src/roff/troff/input.cc (substring_macro): Fix computation of
3133         boundary values.
3135 2001-10-20  Werner LEMBERG  <wl@gnu.org>
3137         Undo change from 2001-08-28.
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.
3144 2001-10-19  Ruslan Ermilov  <ru@FreeBSD.org>
3146         * tmac/doc.tmac (doc-flag-recursion): Protect arguments against
3147         being handled as end-of-sentence characters,
3149 2001-10-10  Gaius Mulley  <gaius@glam.ac.uk>
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.
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'.
3172 2001-10-10  Werner LEMBERG  <wl@gnu.org>
3174         * tmac/color.tmac, tmac/color-html.tmac: Use `.do' to make those
3175         files work with -C also.
3177 2001-10-05  Werner LEMBERG  <wl@gnu.org>
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.
3187 2001-10-04  Werner LEMBERG  <wl@gnu.org>
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>.
3193         New request: `defcolor', supporting rgb, cmy, cmyk, and gray
3194         definitions with both hex values and fractions.
3196         New escapes: \m and \M for drawing and background color,
3197         respectively.  This corresponds to the troff output commands `m'
3198         and `DF'.
3200         groff and troff accept command line switch `-c' to disable color
3201         output (which is automatically disabled in compatibility mode).
3203         New scaling indicator `f' for fractions (1f = 65536u).
3205         New conditional operator `m' to test for defined colors with `if'
3206         and `ie'.
3208         New keywords `color' (or `colour', `colored', `coloured'), `outline'
3209         (or `outlined'), and `shaded' added to pic.
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.
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.
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'.
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.
3270         * src/roff/groff/groff.cc (main): Implement `-c' option.
3271         (synopsis, help): Updated.
3272         src/roff/groff/groff.man: Updated.
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.
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.
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.
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'.
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.
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.
3350 2001-10-04  Gaius Mulley  <gaius@glam.ac.uk>
3352         Fix incorrect cropping of images and incorrect handling of special
3353         characters.  Fix handling of file names in \O.
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.
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.
3376 2001-10-03  Werner LEMBERG  <wl@gnu.org>
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.
3384 2001-09-27  Werner LEMBERG  <wl@gnu.org>
3386         * man/groff.man: Use
3388           .ev xxx
3389           .na
3390           .nh
3391           <table>
3392           .ev
3394         instead of the old code (`.ad .hy' after the table) to suppress
3395         incorrect hyphenation for grohtml output.
3397 2001-09-22  Werner LEMBERG  <wl@gnu.org>
3399         * man/groff_font.man, man/groff_out.man: Minor fixes.
3401 2001-09-20  Werner LEMBERG  <wl@gnu.org>
3403         * PROBLEMS: Updated, reordered.  Improved EPS section (thanks to
3404         Arnold Robbins <arnold@skeeve.com>).
3406 2001-09-09  Werner LEMBERG  <wl@gnu.org>
3408         * configure: Regenerated with autoconf 2.52.
3410         * doc/groff.texinfo: Complete revision of indices.
3412 2001-09-07  Werner LEMBERG  <wl@gnu.org>
3414         * doc/Makefile (clean): Updated to delete all indices.
3416 2001-09-05  Werner LEMBERG  <wl@gnu.org>
3418         * src/roff/troff/troff.man: Remove superfluous line.
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).
3424 2001-09-03  Werner LEMBERG  <wl@gnu.org>
3426         * man/groff.man, src/preproc/eqn/eqn.man, tmac/groff_mdoc.man: Don't
3427         use .ne for TTY devices.
3429 2001-08-31  Werner LEMBERG  <wl@gnu.org>
3431         * src/roff/troff/token.h, src/roff/troff/input.cc:
3432         s/TOKEN_TRANSPARENT_ESCAPE/TOKEN_OPAQUE_ESCAPE/.
3434 2001-08-28  Werner LEMBERG  <wl@gnu.org>
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.
3445 2001-08-27  Werner LEMBERG  <wl@gnu.org>
3447         * tmac/an-old.tmac: Fix `S' string.
3449 2001-08-26  Werner LEMBERG  <wl@gnu.org>
3451         * src/roff/troff/troff.man: Don't use .ne for TTY devices.
3453 2001-08-25  Werner LEMBERG  <wl@gnu.org>
3455         * doc/pic.ms: Replace `\\' with `\e' (and fixing some single
3456         backslashes).
3457         Many other minor fixes.
3459         * configure.ac: Add message at end to inform how to compile
3460         xditview.
3461         * configure: Regenerated.
3463 2001-08-24  Werner LEMBERG  <wl@gnu.org>
3465         * src/include/getopt.h, src/libs/libgroff/{getopt.c, getopt1.c}:
3466         Updated to latest version of libc.
3468 2001-08-23  Werner LEMBERG  <wl@gnu.org>
3470         * configure.ac: Don't create subdirectories before AC_CONFIG_FILES.
3471         Autoconf 2.50 and newer can handle this.
3472         * configure: Regenerated.
3474 2001-08-21  Werner LEMBERG  <wl@gnu.org>
3476         * doc/pic.ms: Fix typo.
3477         * src/preproc/tbl/tbl.man: Document case of global options.
3479 2001-08-21  Gaius Mulley  <gaius@glam.ac.uk>
3481         * src/devices/grohtml/post-html.cc (html_printer::end_font): Fix
3482         handling of `CR' font.
3484 2001-08-20  Werner LEMBERG  <wl@gnu.org>
3486         Use a config.h file.
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).
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.
3503 2001-08-19  Werner LEMBERG  <wl@gnu.org>
3505         * NEWS: Updated.
3507 2001-08-18  Sebastian Krahmer  <krahmer@suse.de>
3509         * src/preproc/pic/pic.y (format_number): Use do_sprintf().
3510         (do_sprintf): Use snprintf().
3512 2001-08-18  Werner LEMBERG  <wl@gnu.org>
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.
3521         * src/preproc/html/pre-html.cc (make_message): Reactivate code which
3522         uses snprintf().
3524 2001-08-14  Ruslan Ermilov  <ru@FreeBSD.org>
3526         * tmac/doc.tmac (Ex): New implementation.
3527         * tmac/doc-common, tmac/groff_tmac.man: Updated.
3529 2001-08-13  Ruslan Ermilov  <ru@FreeBSD.org>
3531         * tmac/doc.tmac (Rv): Implement support for 0 or more than 1
3532         argument.
3533         * tmac/groff_tmac.man: Updated.
3535 2001-08-13  Werner LEMBERG  <wl@gnu.org>
3537         * src/preproc/tbl/tbl.man: Minor documentation update.
3539 2001-08-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
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.
3547 2001-08-11  Werner LEMBERG  <wl@gnu.org>
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().
3557 2001-08-10  Werner LEMBERG  <wl@gnu.org>
3559         Integrated pic2graph, contributed by Eric S. Raymond.
3561         * contrib/pic2graph/{Makefile.sub, pic2graph.sh, pic2graph.man}: New
3562         files.
3563         * Makefile.in, NEWS: Updated.
3565         * src/preproc/tbl/tbl.man: Revised.
3567 2001-08-09  Eric S. Raymond  <esr@thyrsus.com>
3569         * src/preproc/tbl/tbl.man: Extended to cover all tbl features.
3571 2001-08-09  Werner LEMBERG  <wl@gnu.org>
3573         * src/preproc/tbl/main.cc (process_data): Fix recognition of .lf
3574         requests.
3576 2001-08-08  Paul Eggert  <eggert@twinsun.com>
3578         * Makefile.sub (configure): Depend on configure.ac, not
3579         configure.in.
3580         * INSTALL.gen: Upgrade to autoconf 2.52's INSTALL.
3582 2001-08-07  Werner LEMBERG  <wl@gnu.org>
3584         * src/utils/afmtodit/afmtodit.man, src/roff/groff/groff.man: Minor
3585         fixes.
3587 2001-08-06  Werner LEMBERG  <wl@gnu.org>
3589         * src/roff/troff/troff.man: Improve documentation of -E option.
3591 2001-07-28  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
3593         * src/preproc/html/pushbackbuffer.cc (pushBackBuffer::readNumber):
3594         Simplified.
3596 2001-07-27  Werner LEMBERG  <wl@gnu.org>
3598         * src/preproc/refer/refer.cc: Undo last change.
3599         * src/devices/grohtml/post-html.cc: Ditto.
3601 2001-07-26  Werner LEMBERG  <wl@gnu.org>
3603         * src/preproc/refer/refer.cc: Include `lib.h'.
3604         * src/devices/grohtml/post-html.cc: Ditto.
3606 2001-07-25  Gaius Mulley  <gaius@glam.ac.uk>
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.
3613 2001-07-25  Werner LEMBERG  <wl@gnu.org>
3615         * src/preproc/pic/pic.cc: Removed.
3616         * src/preproc/pic/pic_tab.h: Removed.
3617         * src/preproc/refer/label.cc: Removed.
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.
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.
3629 2001-07-24  Werner LEMBERG  <wl@gnu.org>
3631         * doc/groff.texinfo: Minor fixes.
3633 2001-07-21  Gaius Mulley  <gaius@glam.ac.uk>
3635         * doc/Makefile (.ms.html): Put image files into a subdirectory.
3636         (clean): Updated.
3638 2001-07-20  Werner LEMBERG  <wl@gnu.org>
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.
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.
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.
3663 2001-07-20  Gaius Mulley  <gaius@glam.ac.uk>
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().
3672 2001-07-19  Werner LEMBERG  <wl@gnu.org>
3674         * doc/Makefile: Added GROFF_BIN_PATH to make it work with uninstalled
3675         groff also.
3677         * src/include/posix.h: Define S_IWUSR if not yet defined.
3679 2001-07-18  Werner LEMBERG  <wl@gnu.org>
3681         * NEWS: Updated.
3683 2001-07-18  Ruslan Ermilov  <ru@FreeBSD.org>
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.
3689 2001-07-17  Gaius Mulley  <gaius@glam.ac.uk>
3691         Replace call to `troff' with `groff -Z' to make it aware of
3692         GROFF_BIN_PATH.
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.
3704 2001-07-17  Eric S. Raymond  <esr@snark.thyrsus.com>
3706         * doc/pic.ms: Documentation fixes.
3708 2001-07-17  Werner LEMBERG  <wl@gnu.org>
3710         Replace atexit() with global destructor.
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.
3719 2001-07-16  Werner LEMBERG  <wl@gnu.org>
3721         Replace strdup() with strsave().
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.
3729         * configure.ac: Remove test for strdup.
3730         * Makefile.in: Comment updated.
3731         * configure: Regenerated.
3733 2001-07-15  Werner LEMBERG  <wl@gnu.org>
3735         * win32-diffs: Updated.
3737 2001-07-14  Werner LEMBERG  <wl@gnu.org>
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.
3743 2001-07-14  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
3745         * src/libs/libgroff/tmpfile.cc (xtmpfile): Fix guard for `namep'.
3747 2001-07-12  Ruslan Ermilov  <ru@FreeBSD.org>
3749         Merge -xwidth into -width.  Add -xwidth functionality to -column
3750         also.
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/.
3761 2001-07-12  Gaius Mulley  <gaius@glam.ac.uk>
3763         * src/devices/grohtml/post-html.cc (text_glob::is_br): Stop titles
3764         running into centered or non-formatted text.
3766 2001-07-11  Werner LEMBERG  <wl@gnu.org>
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.
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.
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.
3787 2001-07-09  Werner LEMBERG  <wl@gnu.org>
3789         * REVISION: Increased to 3.
3791 Copyright 2001, 2002
3792   Free Software Foundation, Inc.
3794 Copying and distribution of this file, with or without modification,
3795 are permitted in any medium without royalty provided the copyright
3796 notice and this notice are preserved.
3798 Local Variables:
3799 version-control: never
3800 coding: latin-1
3801 End: