ChangeLog.118   [plain text]

Version 1.18.1 released

2002-10-08  Werner LEMBERG  <>

	* doc/, NEWS: Updated.

2002-10-07  Werner LEMBERG  <>

	* tmac/doc-common (Ss): Add final `.ns' (similar to `.Sh') to
	suppress additional whitespace after the header.

	* tmac/doc-ditroff, tmac/doc-nroff (Am): New string to be in sync
	with NetBSD.

	* src/preproc/grn/, tmac/, NEWS: Updated.

2002-10-07  Ruslan Ermilov  <>

	* tmac/doc-common(doc-volume-operating-system-ateol): New flag.
	(Dt): Use it to improve language localization (especially Russian
	and French).

2002-10-07  Daniel Senderowicz  <>

	* src/preproc/grn/gprint.h (BSPLINE, BEZIER): New macros.
	* src/preproc/grn/ (DBGetType): Parse spline and bezier
	drawing commands.
	* src/preproc/grn/ (drawwig): Add parameter to control
	curve type.
	Call `picurve' for BSPLINE.
	(HGPrintElt): Handle BSPLINE.
	* src/preproc/grn/README: Document it.

2002-10-03  Werner LEMBERG  <>

	* src/roff/troff/ (break_char_node::col): New variable.
	Updated constructor.
	(space_node::tprint, word_space_node::tprint): Call `fill_color'
	(space_node::space_node): Remove assertion.
	(break_char_node::add_self): Pass color argument to space node.
	* src/roff/troff/ (token::add_to_node_list, token::process):
	* src/roff/troff/ (environment::do_break,
	environment::add_padding): Ditto.

2002-10-02  Werner LEMBERG  <>

	Redesigning color support in troff.  Colors are no longer
	represented as separate nodes but are now part of glyph nodes and
	friends.  This fixes the current formatting misbehaviour due to the
	changes introduced on 2002-09-20.  Some extra code is necessary for
	proper grotty support: Without adding color variables to
	space-related nodes, the background color would be changed too late.

	* src/roff/troff/node.h, src/roff/troff/
	(glyph_color_node, fill_color_node): Removed.
	(node::get_glyph_color, node::get_fill_color): New virtual member
	(space_node::col): New variable.
	Updated constructors of space_node and derived classes accordingly.
	(hmotion_node::col): New variable.
	Updated constructors of hmotion_node and space_char_hmotion_node
	(vmotion_node::col): New variable.
	Updated constructor accordingly.
	(draw_node::gcol, draw_node::fcol): New variables.
	Updated constructor accordingly.
	(special_node::gcol, special_node::fcol): New variables.
	Updated constructors accordingly.
	(troff_output_file::put_char, troff_output_file::put_charwidth,
	troff_output_file::draw): Set glyph and fill color.
	(troff_output_file::start_special): Set glyph and fill color.
	Always set current font.
	(troff_output_file::fill_color, troff_output_file::glyph_color):
	Don't call `do_motion'.
	(glyph_node::gcol, glyph_node::fcol): New variables.
	Updated constructors of glyph_node and ligature_node accordingly.
	(glyph_node::get_glyph_color, glyph_node::get_fill_color): New
	member functions.
	node::add_discretionary_hyphen): Updated.
	(break_char_node::merge_self): Updated.
	(word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
	vmotion_node::tprint): Handle color.
	(make_glyph_node, make_node, node::add_char): Updated.

	* src/roff/troff/ (environment::space_newline,
	environment::space, environment::output_line, environment::do_break,
	environment::make_tab_node, environment::add_padding, title):
	(environment_switch, environment_copy): Don't add color nodes.

	* src/roff/troff/ (do_glyph_color, do_fill_color): Return
	(token::next): Updated.
	\m and \M now are as transparent as \s.
	(process_input_stack, token::add_to_node_list, token::process,
	read_draw_node): Updated.
	(charinfo_to_node_list): Don't add color nodes.

	* doc/groff.texinfo: Updated.

2002-09-27  Ruslan Ermilov  <>

	* tmac/doc-common (ds-operating-system-FreeBSD-4.*): New version

2002-09-27  Colin Watson  <>

	* src/roff/troff/ (bracket_node::copy): Check `list' != 0.

2002-09-23  Werner LEMBERG  <>

	* src/devices/grolbp/ Replace `300' with `font::res' where
	(linewidth_factor): New global variable.
	(lbp_printer::set_line_thickness): Fix case for size < 0, using
	(long_options): Add -w/--linewidth option.
	(usage): Updated.
	(main): Handle -w option to set linewidth_factor.
	(lbp_printer::lbp_printer): Initialize req_linethickness, not

	* src/devices/grolbp/, NEWS, doc/ Updated.

2002-09-22  Paco Andrés Verdú  <>

	Fixed a bug in the line thickness setting code.

	* src/devices/grolbp/ (lbp_printer::req_linethickness): New
	(lbp_printer::set_line_thickness): Pass environment as second
	Implement it actually.
	(lpb_printer::set_char, lbp_printer::draw): Use `req_linethickness'
	and `set_line_thickness, depending on the current font size.

2002-09-21  Werner LEMBERG  <>

	Some Debian patches.

	* src/roff/groff/pipeline.h (MAX_COMMANDS): Increase to 12.
	* src/roff/troff/ (bracket_node::copy): Initialize

2002-09-20  Werner LEMBERG  <>

	* configure: Regenerated with autoconf 2.54.

2002-09-20  Werner LEMBERG  <>

	* src/roff/troff/env.h (environment): Rename cur_glyph_color to
	Rename cur_fill_color to fill_color.
	* src/roff/troff/ Updated.

2002-09-20  Werner LEMBERG  <>

	* src/roff/troff/ (title): Copy color status after processing
	* src/roff/troff/ (charinfo_to_node_list): Emit glyph and
	fill color nodes to reset colors properly.

	* tmac/www.tmac (DC): Fix color handling.

	* src/preproc/pic/, doc/ Document some color issues.
	* doc/groff.texinfo: Fixing documentation of `tl' request.
	* doc/ Updated.

2002-09-19  Werner LEMBERG  <>

	* src/roff/troff/ (environent_switch, environment_copy):
	Emit glyph and fill color nodes to initialize colors properly.

2002-09-17  Colin Watson  <>

	* src/roff/troff/ (environment::set_glyph_color,
	environment::set_fill_color): Fix typo which prevented \m[] work

2002-09-17  Werner LEMBERG  <>

	Add left and right italic correction to non-slanted PS fonts.  This
	is an experimental feature to improve image rendering of grohtml.

	* font/devps/generate/Makefile (RFLAG): New variable, set to `-i 0'.
	({T,H,C,P,N,BM,A,HN}{R,B}, ZD, S, ZDR): Use it.
	* font/devps/*: All non-slanted fonts regenerated.
	* NEWS: Updated.

2002-09-16  Werner LEMBERG  <>

	Add a site-specific font directory.

	* (localfontdir, legacyfontdir): New variables.
	(fontpath): Use them.
	(MDEFINES, uninstall_dirs): Updated.
	* Makefile.comm (.man.n): Add `LOCALFONTDIR' and `LEGACYFONTDIR'.

	* src/roff/troff/, NEWS: Updated.
	* doc/groff.texinfo (Font Directories): New section.
	Other minor fixes.

	* src/devices/grodvi/, src/devices/grohtml/,
	src/devices/grolbp/, src/devices/grolj4/,
	src/preproc/grn/ Minor fixes.

	* src/devices/grohtml/ (html_printer::do_tab_ts):
	Remove unused variable.

2002-09-11  Werner LEMBERG  <>

	* doc/groff.texinfo, man/ Clarify argument of \N.
	* man/ Fix documentation of 'N'.

2002-09-09  Gaius Mulley  <>

	* doc/ (webpage.html): Depend on gnu.eps also.
	* src/roff/troff/ (indent): Emit html tag only if break_flag is
	* src/devices/grohtml/ (text_glob::is_br_ni): Removed.
	(text_glob::is_br, html_printer::lookahead_for_tables): Updated.
	(html_printer::do_tab_ts): Call `emit_table_header' with `FALSE'.
	* src/devices/grohtml/ (html_text::start_tag) <P_TAG,
	PRE_TAG>: Call `begin' with `FALSE'.

2002-09-09  Ralph Corderoy  <>

	* src/libs/libgroff/ (string::extract): Fix position of
	terminating null byte.

2002-09-08  Werner LEMBERG  <>

	Add global option `nospaces' to tbl so that leading and trailing
	spaces in data items are ignored.

	* src/libs/libgroff/ (string::remove_spaces): New member
	function to remove leading and trailing spaces.
	* src/include/stringclass.h: Updated.

	* src/preproc/tbl/table.h (table): Add flag `NOSPACES'.

	* src/preproc/tbl/ (process_options): Handle `nospaces'
	Fix typo in error messages.
	(process_data): Implement `nospaces' option.
	* src/preproc/tbl/, NEWS, doc/ Updated.

2002-09-07  Werner LEMBERG  <>

	* src/include/config.hin: Add `HAVE_ISATTY'.
	* src/libs/libgroff/ (xtmpfile_list): Drop `const' for
	`fname' member.
	* src/libs/libgroff/ Include `time.h'.
	* src/libs/libdriver/ (Char): Add `operator==' and
	`operator!=' for `char'.
	* doc/groff.texinfo: Replace @ifnottex block for top node with
	@ifhtml block.

2002-09-06  Werner LEMBERG  <>

	* doc/ (.texinfo.html): Add -I switch.
	* doc/groff.texinfo: Add @ifnottex block for top node to make
	translation to HTML work.

2002-09-05  Gaius Mulley  <>

	* src/preproc/html/ (LETTER_LENGTH): Removed.
	(get_papersize, determine_vertical_offset): Removed.
	(char_buffer::do_image): Always specify letter size.
	(main): Updated.
	(imageList::createPage): Use -dDEVICEHEIGHTPOINTS instead of

2002-09-05  Werner LEMBERG  <>

	* doc/groff.texinfo, tmac/ Improve documentation of
	default indentation.

2002-09-04  Gaius Mulley  <>

	* src/preproc/html/ (imageList::createPage): Use
	-sPAPERSIZE for gs.
	(generateImages): Clean up push-back buffer.

2002-09-04  Ralph Corderoy  <>

	* doc/groff.texinfo: Minor fixes.

2002-08-21  Gaius Mulley  <>

	* src/preproc/html/ (DEFAULT_LINE_LENGTH): New macro.
	(gsPaper): Removed.
	(determine_vertical_offset): Use LETTER_LENGTH.
	(createPage): Moved to ...
	(imageList::createPage): This.
	Call gs with -dDEVICEWIDTHPOINTS to avoid cropping.
	(imageList::getMaxX): New function.
	(createImage): Moved to ...
	(imageList::createImage): This.
	(imageList::createImages): New function.
	(generateImages): Read `maxx' directly.
	(scanArguments): Don't specify `gsPaper' for `-o'.
	(makeTempFiles): Call `xtmpfile' with the last argument set to

2002-08-24  Werner LEMBERG  <>

	* src/include/nonposix.h (mkdir, WAIT, creat) [_MSC_VER]: Define.
	(WAIT, _WAIT_CHILD) [!_MSC_VER]: Define.
	* src/preproc/html/ (waitForChild): Use WAIT.
	* src/preproc/html/ Include nonposix.h.
	* src/roff/groff/pipeline.c: Define strcasecmp and strncasecmp

2002-08-23  Werner LEMBERG  <>

	Use $(OBJEXT) for the object file extension.

	* Makefile.comm (.SUFFIXES): Add .obj.
	(.cc.obj, .c.obj): New implicit rules.
	* (OBJEXT): New variable, initialized from autoconf.
	* */Makefile.sub: s/.o/.$(OBJEXT)/.

2002-08-22  Werner LEMBERG  <>

	* INSTALL: Mention texinfo 4.2 as a prerequisite.

2002-08-21  Gaius Mulley  <>

	* src/devices/grohtml/ (colType): Make enum global to
	the file.
	(html_printer::update_min_max, html_printer::add_table_end): New
	(html_printer::lookahead_for_tables): Use them.
	Reset page offset correctly.
	(html_printer::~html_printer): Add creation of creator comment up.

2002-08-20  Werner LEMBERG  <>

	* tmac/an-old.tmac (T&): New dummy macro to avoid warning.
	* man/ Fix typos.
	* man/ Minor reordering.
	* contrib/eqn2graph/ (Tp): New macro.

2002-08-18  Gaius Mulley  <>

	Avoid endless loops while scanning for tables.

	* src/devices/grohtml/ (list::insert): Set
	(html_printer::next_horiz_pos): Add `text_glob' argument; update
	all callers.
	Return immediately if that argument is NULL.
	(html_printer::calc_nf): Don't test if `g' is NULL.
	(html_printer::lookahead_for_tables): Use
	Don't test if `g' is NULL.

2002-08-18  Gaius Mulley  <>

	A better fix, replacing fix 2002-08-15, for increasing SIZE.

	* src/devices/grohtml/ (char_block): Make `buffer'
	a pointer.
	(char_block::char_block): Allocate `buffer'.
	(char_buffer::add_string): Use it.

2002-08-15  Werner LEMBERG  <>

	* src/devices/grops/, src/devices/grolj4/,
	src/devices/grodvi/ Document default line thickness.

2002-08-15  Gaius Mulley  <>

	* src/devices/grohtml/ (char_block): Increase SIZE to

2002-08-14  Werner LEMBERG  <>

	* doc/ Updated.

2002-08-09  Werner LEMBERG  <>

	* src/roff/troff/ (node::add_char): Call `freeze_space' for
	unbreakable space.

2002-08-08  Aaron Campbell  <>

	* src/preproc/pic/ (object_spec::make_move): Fix typo
	(&& -> &).

2002-08-08  Werner LEMBERG  <>

	* src/roff/troff/ (read_rgb, read_cmy, read_cmyk): Call
	(read_gray): Ditto.
	Don't push back a space but a newline onto the stack.

2002-08-07  Gaius Mulley  <>

	Add fonts `CI', `CB', and `CBI' to grohtml which have been omitted

	* src/devices/grohtml/ (html_printer::end_font,
	html_printer::start_font): Handle them.
	* src/devices/grohtml/ (html_text::do_italic): Don't
	reset bold and tt.
	(html_text::do_bold): Don't reset italic and tt.
	(html_text::do_tt, html_text::do_pre): Don't reset bold and italic.
	* font/devhtml/DESC.proto: Add those fonts.
	* font/devhtml/Makefile.sub (PROTOFONTS): Updated.

2002-08-07  Werner LEMBERG  <>

	* MORE.STUFF: Added gpresent.

	* tmac/trace.tmac: Show nesting level by a corresponding amount of
	whitespace before printing the logging message.

2002-07-31  Colin Watson  <>

	* src/devices/grohtml/ (html_table::finish_row):
	Initialize `n' to zero.  This fixes a segfault on ARM.

2002-07-30  Werner LEMBERG  <>

	* doc/ Remove calls to .st and .sc which are undefined.

2002-07-29  Werner LEMBERG  <>

	* src/preproc/pic/pic.y (print_arg, relative_path): Add missing
	final semicolon.

2002-07-28  Colin Watson  <>

	* src/devices/grohtml/post-html (html_printer::troff_tag): Handle
	(html_printer::html_printer): Initialize `pointsize'.

2002-07-26  Werner LEMBERG  <>

	* doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Remove gnu.eps and
	(CLEANNOTSRCDIRADD): Add gnu.eps and gnu.png.
	(gnu.eps): Add -rle switch to pnmtops.
	(distfiles): Add gnu.eps and gnu.png.

2002-07-25  Petter Reinholdtsen  <>

	* src/libs/libdriver/ (Char): Add const to `operator=='.
	Add `operator!='.

2002-07-24  Werner LEMBERG  <>

	* doc/, doc/Makefile.sub (groff_bin_path): Don't use
	' \+' but '  *' for sed.
	(GROFF): Set GROFF_COMMAND_PREFIX to empty value.

2002-07-23  Werner LEMBERG  <>

	* doc/groff.texinfo: Document `papersize' keyword.
	* NEWS, man/ Updated.

2002-07-23  Colin Watson  <>

	Extend papersize keyword to accept more than a single entry.  The
	first valid will be used.

	* src/libs/libgroff/ (font::load_desc): Implement it.
	(font::scan_papersize): Really skip final newline.
	* src/preproc/html/ (get_papersize): Ditto.

2002-07-23  Werner LEMBERG  <>

	* Test for isatty.
	* configure: Regenerated.
	* src/include/posix.h: Check HAVE_ISATTY.
	* src/roff/troff/ [ISATTY_MISSING]: Removed.
	* src/utils/lookbib/ Include posix.h.
	Don't declare isatty.

2002-07-21  Werner LEMBERG  <>

	* NEWS: Add `output' request.

	* REVISION: Increased to 1.

Version 1.18.0 released

2002-07-19  Gaius Mulley  <>

	Allow internal glyph indices > 0xFF in grohtml for input characters.

	* src/devices/grohtml/ (to_unicode): Use `unsigned int'
	as parameter.
	(html_printer::add_to_sbuf): Use `unsigned int' as first parameter.
	Updated all callers.
	(html_printer::sbuf_continuation, html_printer::overstrike): Ditto.
	(html_printer): Updated.

2002-07-19  Werner LEMBERG  <>

	* font/devhtml/R.proto: Updated to HTML 4, adding many glyphs.
	* font/devutf8/R.proto: Adding some missing glyphs.
	* font/devutf8/NOTES: Updated.

	* tmac/dvi.tmac: Add more composite glyphs.
	* tmac/html.tmac: Updated.

	* man/ Add `sum' and `product' entities.

	* NEWS: Updated.

2002-07-18  Gaius Mulley  <>

	Improved table, tab, and indenting support.

	* src/roff/troff/ (file_iterator::suppress_newline_flag,
	string_iterator::suppress_newline_flag): Removed.  Updated all
	function which have used it.

	* src/roff/troff/ Include `input.h'.
	(environment::add_node): Accept 0 as parameter.
	(environment::add_html_tag): Add `force' parameter.
	Updated all callers.
	(environment::add_html_tag_tabs): Ditto.
	For the moment, support left-aligned tabs only.
	(environment::make_html_tag): New function.
	(fill, no_fill): Set .br html tag additionally.
	(environment::newline): Emit `eol.ce' or `eol' tag for html.
	(environment::add_html_tag_eol): Removed.
	(tab_stops::distance_to_next_tab): Add variant for handling
	(environment::distance_to_next_tab): Ditto.
	Updated all callers.
	(environment::handle_tab): Handle tabs for html.
	* src/roff/troff/env.h: Updated.

	* src/roff/troff/ Updated all callers of

	* src/devices/grohtml/,
	src/devices/grohtml/html-table.h: New files.

	* src/devices/grohtml/ (html_text): New members
	`blank_para' and `start_space'.
	(html_text::issue_tag): Don't emit TABLE_TAG.
	Handle indentation for PRE_TAG and P_TAG.
	(html_text::end_tag): Updated.
	(html_text::table_is_void, html_text::issue_table_begin,
	html_text::issue_table_end): Removed.
	(html_text::do_push): Simplified.
	[DEBUGGING]: Small fix.
	(html_text::push_para): Add new parameter for indentation; updated
	all callers.
	Handle PRE_TAG.
	(html_text::do_indent, html_text::do_table, html_text::done_table,
	html_text::is_in_table): Removed.
	(html_text::do_pre): Handle P_TAG also.
	(html_text::shutdown): Handle p->indent.
	(html_text::check_emit_text): Simplified.
	(html_text::do_emittext): Reset `blank_para'.
	(html_text::do_para): Add new parameter for indentation; updated
	all callers.
	(html_text::remove_indent): New function.
	(html_text::do_space): Handle verbatim text properly.
	(html_text::ever_emitted_text, html_text::starts_with_space,
	html_text::remove_para_align): New functions.
	(html_text::dump_stack_element, html_text::dump_stack): Updated.

	* src/devices/grohtml/html_text.h (HTML_TAG): Remove TABLE_TAG.

	* src/devices/grohtml/ Include html-table.h.
	(INDENTATION): Removed.
	(text_glob): Added many `is_<foo>' functions.
	Added table description `tab'.
	Added `get_arg',`get_tab_args', `remember_table', and `get_table'
	member functions.
	(list): Add `insert' and `move_to' member functions.
	(page): Add `insert_tag' member function.
	(page::dump_page) [DEBUG_TABLES]: Improved.
	(html_printer): Add `table' and `max_linelength' elements.
	Add many `do_<foo>', `insert_<foo>', `next_horiz_pos',
	`lookahead_for_tables', `shutdown_table', `calc_nf', `calc_po_in',
	`remove_tabs', `remove_courier_tabs'.
	(html_printer::emit_raw): Handle indentation.
	(html_printer::do_center, html_printer::write_header): Updated.
	(html_printer::is_courier_until_eol): Check for tag.
	(html_printer::do_linelength): Handle max_linelength.
	(html_printer::do_page_offset, html_printer::do_indentation): Handle
	(html_printer::do_tempindent): Updated.
	(html_printer::do_indentedparagraph): Removed.
	(html_printer::do_indent): Simplified.
	(html_printer::do_eol): Use `ever_emitted_text'.
	(html_printer::do_flush, html_printer::do_links): Don't call
	(html_printer::do_break): Handle end_tempindent.
	(html_printer::troff_tag): Get argument.
	Don't handle `.ip'.
	Handle `.tab-ts', `.tab-te', `.col', `tab', and `tab0' tags.
	(html_printer::flush_page): Call `lookahead_for_tables'.
	Don't call `done_table'.
	(html_printer::add_to_sbuf): Always call do_indent.

	* src/devices/grohtml/Makefile.sub: Updated.

	* tmac/an-old.tmac (TP): Don't handle html device specially.
	(an-do-tag-html): New function which will be used instead of
	`an-do-tag' if html device is used.

	* tmac/html.tmac: Call .po to pass default page offset to grohtml.

	* tmac/s.tmac (@IP): Don't handle html device specially.
	(@IP-html): New function which will be used instead of `@IP' if
	html device is used.

	* tmac/www.tmac (HTML-NS, HTML-TAG-NS): New auxiliary macros -- this
	is a hack which will eventually vanish again.
	(PIMG): Handle `-C' option correctly if not html.
	(HR): Use HTML-NS.

2002-07-17  Werner LEMBERG  <>

	* src/utils/afmtodit/ Don't use `-P-' for invoking perl.

2002-07-14  Eric S. Raymond  <>

	* contrib/pic2graph/pic2graph.*: Use convert(1).
	* contrib/eqn2graph/eqn2graph.*: Minor fixes.

2002-07-14  Bernd Warken  <>

	* tmac/ New file.
	* tmac/Makefile.sub: Updated.
	* NEWS: Updated.

2002-07-13  Werner LEMBERG  <>

	* src/roff/groff/ Add some cross references.

2002-07-12  Werner LEMBERG  <>

	* src/roff/troff/ (substring_request): Add warnings for
	string indices out of range.

2002-07-11  Werner LEMBERG  <>

	* font/devdvi/generate/ Fix typo (`(l' -> `/l').
	* font/devdvi/*EC: Regenerated.

2002-07-10  Bernd Warken  <>

	* man/ Updated and extended.

2002-07-10  Werner LEMBERG  <>

	* src/roff/troff/ (length_macro): Renamed to...
	(length_request): This.
	Move call of `' to the very end, otherwise the register
	value hasn't been updated yet.
	(init_input_requests): Updated.

2002-07-09  Werner LEMBERG  <>

	* src/roff/troff/ (substring_macro): Renamed to...
	(substring_request): This.
	(init_input_requests): Updated.
	* src/roff/troff/request.h: Updated.

2002-07-08  Robert D. Goulding  <goulding@Princeton.EDU>

	* src/roff/grog/ Fix typo.

2002-07-08  Werner LEMBERG  <>

	* win32-diffs: Updated.

	Handle `papersize' keyword properly in DESC.

	* src/libs/libgroff/ (font::scan_papersize): Fix argument
	Updated all callers.
	* src/libs/libgroff/ Add four more paper formats used by
	* src/include/paper.h: Updated.

	* src/devices/grolbp/ Remove unnecessary semicolons.
	Other minor C syntax fixes.
	(papersize, paperlength, paperwidth): Renamed to `user_*'.
	(lbp_printer): Add `papersize', `paperlength', and `paperwidth'
	(lbp_printer::lbp_printer): Pass three arguments.
	Set paper dimensions properly.
	(make_printer, main): Updated.
	(handle_unknown_desc_command): Fix error messages.
	(main): Handle papersize keyword in DESC properly.

	* src/devices/grolj4/ (paper_size): Renamed to
	(lbp_printer::lbp_printer): Pass an argument.
	Set paper_size properly.
	(handle_unknown_desc_command): Removed.
	(make_printer, main): Updated.
	* src/devices/grolj4/ Minor documentation fix.

	* man/, NEWS: Updated.

2002-07-07  Werner LEMBERG  <>

	Integrated eqn2graph, contributed by Eric S. Raymond.

	* contrib/eqn2graph/{Makefile.sub,,}: New
	*, NEWS: Updated.

2002-06-04  Werner LEMBERG  <>

	Changing the substring request to make it fit better with other
	string manipulation functions in other programming languages:
	Index 0 is now the first character in the string, and index -1
	indicates the last character.  Since this request didn't work
	properly anyway in the last release, it doesn't harm too much to
	change the syntax.

	* src/roff/troff/ (substring_macro): Use loops to get
	the real string length (ignoring COMPATIBLE_SAVE and
	Implement change described above.

	* man/, tmac/doc-common (doc-header), tmac/doc.tmac
	(doc-do-Bd-args, doc-do-Bl-args): Changed accordingly.

	* NEWS, doc/groff.texinfo, man/ Updated.

2002-06-03  Werner LEMBERG  <>

	Make .chop work with .de1 and friends.  COMPATIBLE_SAVE and
	COMPATIBLE_RESTORE are completely ignored.

	* src/roff/troff/ (char_list::set, char_list::get): New
	(macro): `length' field renamed to `len'.
	Added new field `empty_macro' (1 if macro is empty), to be used
	instead of checking `len'.
	Updated all callers.
	(macro::empty): Updated.
	(macro::length, macro::set, macro::get): New functions.
	(macro::append): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
	Set `empty_macro'.
	(chop_macro): Check and remove trailing COMPATIBLE_SAVE/
	* src/roff/troff/request.h: Updated.

	* doc/groff.texinfo: Document .chop's behaviour better.

2002-06-02  Werner LEMBERG  <>

	* doc/ Fix documentation for the addition of positions.

	* tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18.

2002-06-29  Werner LEMBERG  <>

	Implementation of string arguments of the form \*[foo arg1 arg2 ...]

	* src/roff/troff/ (have_string_arg): New global variable.
	(read_mode): New enumeration.
	(read_escape_name): Use it.  Update all calls.
	(read_long_escape_name): Use it.  Update all calls.
	Set have_string_arg if appropriate.
	(get_char_for_escape_name): Add parameter for handling space
	(interpolate_string_with_args, decode_string_args): New functions.
	(get_copy, token::next): Call it if necessary.
	(interpolate_string): Fix error message.

	* NEWS, doc/groff.texinfo, man/, man/
	Document it.

2002-06-24  Bernd Warken  <>

	* man/ Updated and extended.

2002-06-24  Werner LEMBERG  <>

	* doc/, src/preproc/pic/ Fix description of `:='.

2002-06-23  Werner LEMBERG  <>

	* doc/ Improve documentation of composite block objects.

2002-06-22  Werner LEMBERG  <>

	* src/roff/troff/ (init_registers): Add three registers
	`seconds', `minutes', and `hours' to hold the current time.

	* NEWS, doc/groff.texinfo, man/, man/

2002-06-20  Werner LEMBERG  <>

	Make \X accept both `\ ' and `\~', converting them to single space

	* src/roff/troff/token.h (token): Add TOKEN_UNSTRETCHABLE_SPACE.
	(token::unstretchable_space): New inline function.
	* src/roff/troff/ (token::next, token::delimiter,
	token::description, token::add_to_node_list, token::process): Handle
	(encode_char): Handle tok.stretchable_space and

	* NEWS, doc/groff.texinfo: Document it..

2002-06-19  Werner LEMBERG  <>

	* src/devices/grops/ (ps_printer::special): Fix error message.

	* src/devices/grotty/ (tty_printer::special): Add `sgr'
	keyword to enable/disable SGR output.
	(tty_printer::change_fill_color): New function.
	* NEWS, src/devices/grotty/ Document `sgr' special.

	* src/roff/troff/ (output_request): Add missing `'

2002-06-18  Werner LEMBERG  <>

	Add a `color' request and a `.color' register to control usage of

	* src/roff/troff/ (disable_color_flag): Replaced with...
	(color_flag): This (which is the inverse).
	(activate_color): New function.
	(main, init_input_requests): Updated.
	* src/roff/troff/troff.h, src/roff/troff/
	(troff_output_file::fill_color, troff_output_file::glyph_color):

	* NEWS, doc/groff.texinfo, man/, man/
	Document the changes.

2002-06-17  Colin Watson  <>

	Circumvent bug in autoconf 2.53 regarding top_builddir.

	* aclocal.m4 (GROFF_BUILDDIR): s/top_builddir/groff_top_builddir/.
	*, doc/
	* configure: Regenerated (with autoconf 2.53).

2002-06-17  Werner LEMBERG  <>

	* src/libs/libgroff/ (font::load_desc): Fix computation of
	`paperwidth' and `paperlength' for the `papersize' keyword.

2002-06-16  P. Alejandro Lopez-Valencia  <>

	* src/devices/grops/ Add info about Type 42 fonts.

2002-06-15  Gaius Mulley  <>

	* src/devices/grohtml/ (html_printer::emit_raw,
	html_printer::do_linelength, html_printer::do_pageoffset,
	html_printer::do_indentation, html_printer::do_tempindent,
	html_printer::do_break, html_printer::begin_page): Clear indented
	* tmac/html.tmac: Disable hyphenation.

2002-06-15  Werner LEMBERG  <>

	Don't produce HTML files if utility programs are missing.

	* (make_html, make_install_html): New variables.
	(MDEFINES): Updated.

	* aclocal.m4 (GROFF_HTML_PROGRAMS): New function to test for HTML
	utility programs.
	* Use it.
	* configure: Regenerated.

	* doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Move webpage.html to...
	(HTMLEXAMPLESFILES): This new variable.
	(all): Use `make_html'.
	(html): New target.
	(install_data): Use `make_install_html'.
	Move html stuff to...
	(install_html): This new target.
	(uninstall_sub): Updated.

2002-06-14  Bernd Warken  <>

	* src/roff/grog/Makefile.sub (grog): Renamed to...
	(grog.old): This.
	(grog): New rule to always install as grog.

2002-06-08  Bernd Warken  <>

	* src/roff/grog/ Fix typo.

2002-06-07  Werner LEMBERG  <>

	* doc/groff.texinfo: Add more info on .tr arguments.

2002-06-05  Werner LEMBERG  <>

	* NEWS, src/roff/grog/, doc/groff.texinfo: Updated.

	* aclocal.m4 (GROFF_MKSTEMP): Include unistd.h.
	* configure: Regenerated.

2002-06-05  Ralph Corderoy  <>

	* src/roff/troff/ (table_sizes): Add more values.

	* src/roff/grog/, src/roff/grog/ Recognize mom.

2002-06-04  Werner LEMBERG  <>

	* aclocal.m4 (GROFF_PAGE): Don't use `prefix' directly since it
	is not initialized at the time we need it in case `--prefix' hasn't
	been set.  Check for `ac_default_prefix' also.
	Test for `papersize' keyword also and generalize allowed whitespace.
	* configure: Regenerated.

	* font/devps/Makefile.sub (DESC): Use `papersize' instead of

	* src/libs/libgroff/Makefile.sub (version, revision): Replaced
	(src_version, src_revision): New variables to avoid overwriting
	from parent make process.
	( Updated.

	* src/preproc/html/ Include paper.h and font.h.
	(linebuf, linebufsize): New global variables.
	(sys_fatal): Use `fatal' to abort properly.
	(get_line): New function.
	(get_resolution): Use it.
	Improve error messages.
	(get_papersize): Check `papersize' also.
	Use `get_line'.
	Improve error messages.

2002-06-03  Werner LEMBERG  <>

	* Makefile.comm (CLEANNOTSRCDIRADD): New target for files which
	should be removed only if builddir is not srcdir.
	(mostlyclean): Handle `CLEANNOTSRCDIRADD'.
	(clean): Depend on `mostlyclean'.
	(distclean): Depend on `clean'.
	(realclean, extraclean): Depend on `distclean'.
	(, .y.o): Simplified.  The output files are no longer written
	to srcdir but to builddir.
	* (MDEFINES): Add `version' and `revision'.
	(uninstall_dirs): Fix order of directories.
	* doc/Makefile.sub (version, revision): Removed.
	(CLEANADD): Removed grnexmpl.g, groff, groff-*.
	(CLEANNOTSRCDIRADD): New target for grnexmpl.h, groff, groff-*.
	* src/preproc/eqn/Makefile.sub, src/preproc/pic/Makefile.sub,
	src/preproc/refer/Makefile.sub (YTABC, YTABH): Don't use `srcdir'
	as prefix.

	* doc/texinfo.tex (\authortt): New macro.
	(\shortcontt): Define.
	(\titlepage): Set \tt to \authortt while defining \authorfont.
	(\appendixbox): New macro.
	(\chapmacro, \appendixentry): Use \appendixbox to get even
	indentation for letters.
	(\summarycontents): Set \tt.
	(\internalpagesize): Add two arguments for real paper width and
	height as needed by pdfTeX.
	(\letterpaper, \smallbook, \afourpaper, \afivepaper, \afourlatex):
	(\tempdima, \tempdimb): New temporary dimensions.
	(\pagesizesyyy): Updated.

2002-06-02  Werner LEMBERG  <>

	Adding a new keyword `papersize' to the DESC file format (similar
	but not completely identical to grolbp's extension).  grops now has
	a -p command line option to override `papersize'.  Finally, grolbp
	has been adapted to the new syntax.

	* src/libs/libgroff/, src/include/paper.h: New files.  It
	defines and initializes the `papersizes[]' array with NUM_PAPERSIZES
	* src/libs/libgroff/Makefile.sub (OBJS): Add `paper.o'.
	(CCSRCS): Add `'.

	* src/include/font.h (font): Add `papersize' element.
	* src/libs/libgroff/ (font::unit_scale): New helper function.
	(font::scan_papersize): New function.
	(font::load_desc): Use it for handling `papersize' keyword.
	* src/libs/libgroff/ Initialize `font::papersize'.

	* src/devices/grops/ Include paper.h.
	(user_paper_length): New global variable.
	(ps_printer): Use paper length as initializer.
	(make_printer): Updated.
	(main): Handle new `-p' option.
	* src/devices/grops/ Updated.

	* src/devices/grolbp/ Include paper.h.
	(set_papersize): Use new `papersizes' array.
	(handle_unknown_desc_command): Don't handle `papersize'.
	(main): Use `font::scan_papersize' for handling `-p' option.
	* src/devices/grolbp/ Updated.

	* man/ Document `papersize'.
	* NEWS: Updated.

2002-05-30  Werner LEMBERG  <>

	* src/devices/grops/TODO: Updated.
	* src/devices/grops/ More info on paper formats.
	* man/ Document `paperheight' and `paperwidth'.

2002-05-29  Werner LEMBERG  <>

	* doc/Makefile.sub (CLEANADD): Add grnexmpl.g, groff, and groff-*
	to list only if srcdir != currdir.
	(distfiles): New target.

	* (EXTRADIRS): Add font/devlj4/generate.
	(NOMAKEDIRS): New variable.
	(DISTDIRS): Use it.

2002-05-26  Werner LEMBERG  <>

	Add .output request, similar to \! at top-level.

	* src/roff/troff/ (transparent): Remove unused declaration.
	(output_request): New function.
	(init_input_requests): Add it.
	* NEWS, doc/groff.texinfo, man/, man/
	Document it.

	(prepare_examples): Fix typo.
	* doc/groff.texinfo (@direntry): Fix it.

2002-05-25  Werner LEMBERG  <>

	Including the doc subdir into groff's Makefile system.

	* aclocal.m4 (GROFF_INSTALL_INFO): New function.
	* Use it.
	Generate `doc/Makefile'.
	* configure: Regenerated.

	* (infodir, INSTALL_INFO): New variables.
	(MDEFINES, uninstall_dirs): Updated.
	(OTHERDIRS): Add `doc'.
	* Makefile.comm (CLEANDIRADD): New variable.
	(mostlyclean): Use it.

	* doc/Makefile.sub, doc/ New files.
	* doc/Makefile: Removed.

	* NEWS, INSTALL: Updated.

2002-05-24  Werner LEMBERG  <>

	* doc/ Renamed to ...
	* doc/ This.
	Use `.NHR'.

2002-05-23  Werner LEMBERG  <>

	Integrating the `mom' macro package, contributed by Peter Schaffter

	* contrib/mom/*: New subdirectory tree.
	* (docdir, exampledir, htmldocdir): New variables to
	be used for documentation files.
	(MDEFINES, uninstall_dirs): Use them.
	(OTHERDIRS): Add contrib/mom.
	* Makefile.comm (.man.n): Add @DOCDIR@, @EXAMPLEDIR@, and
	* MANIFEST, NEWS: Updated.

2002-05-22  Gaius Mulley  <>

	Change syntax of \O: \O[0] suppresses output, \O[1] enables output
	if at outer level; at start-up we are at outer level.

	* src/roff/troff/ (do_suppress): Implement it.
	Simplify \O[3].

	Add option -p to show progress information.
	pre-grohtml will now render only one page at a time, reducing the
	size of needed disk resources enormously.

	* src/preproc/html/ (imagePageStem): Replaced with...
	(imagePageName): New global variable.
	(psPageName, show_progress, currentPageNo): New global variables.
	(html_system): Close saved stderr and stdout handles.
	(write_end_image): Accept a parameter to control \O escape.
	(write_start_image): Adapted to new \O meaning.
	(char_buffer::write_upto_newline): Updated.
	(createAllPages): Replaced with...
	(createPage): This new function to create a single page for images.
	It uses `psselect' from the psutils package.
	(removeAllPages): Removed.
	(createImage): Updated.
	Handle progress display.
	(char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Removed.
	(scanArguments): Add option -p.
	(makeTempFiles): Updated to create temp files for psPageName and
	(removeTempFiles): Removed.
	(main): Updated.

	* src/devices/grohtml/ (header_desc::write_headings,
	html_printer::write_header): Append `\0' to `buffer'.
	(html_printer::do_eol): Depend on `current_paragraph->emitted_text'.
	(main): Handle -p.
	* src/devices/grohtml/ (html_text::dump_stack_element):
	Handle `text_emitted'.
	(html_text::table_is_void): Slightly rewritten.
	(stop): New external symbol.
	(html_text::do_push) [DEBUGGING]: Use it and simplify.
	(html_text::shutdown): Call `dump_stack'.
	(html_text::do_space): Rewritten.
	* src/devices/grohtml/ Document -p and the need of

	* tmac/www.tmac (DC, HTML-DO-IMAGE, HTML-IMAGE-END): Updated to
	new \O syntax.
	Call \O[0] if `ps4html' is active.
	* tmac/s.tmac (@EQ, @EN): Handle html better.
	(@TS, TE): Ditto.
	* tmac/html.tmac: Don't use black for background colour.

	* src/roff/troff/ Include `div.h'.
	(troff_output_file::really_print_line): Don't use `is_on'.
	(troff_output_file::word_marker, troff_output_file::flush_tbuf
	troff_output_file::put_char_width, troff_output_file::put_char,
	troff_output_file::determine_line_limits, troff_output_file::draw,
	real_output_file::begin_page, glyph_color_node::tprintf,
	fill_color_node::tprint, hline_node::tprint, vline_node::tprint):
	Use `is_on'.
	(troff_output_file::really_on): Call `do_motion'.
	(suppress_node::tprint): Use `get_page_number' instead of `%'
	Call `reset_output_registers' conditionally on `is_on'.

	* doc/groff.texinfo: Document new syntax of \O.
	* NEWS, man/ Updated.

2002-05-22  Werner LEMBERG  <>

	* MORE.STUFF: Add info about David Frey's deroff implementation.

2002-05-16  Werner LEMBERG  <>

	Pic's `with' attribute now accepts positions.

	* src/preproc/pic/pic.y: Make `.', BOX, CIRCLE, ELLIPSE, ARC, LINE,
	ARROW, SPLINE, and `[' left-associative tokens to fix shift/reduce
	(object_spec): Add rule for `WITH' and `position'.
	(relative_path): Give `corner' the precedence of `CHOP'.
	* src/preproc/pic/object.h (path): New members `pos' and
	* src/preproc/pic/ Updated initializers of `path'.
	(path::follow): Handle `is_position'.

	* doc/ Completely updated grammar description.
	Many typographical improvements.

2002-05-15  Werner LEMBERG  <>

	* src/roff/troff/ Accept ^^x (char
	code of x in range 0-127) also.
	* doc/groff.texinfo, man/ Updated.

	Added keywords `north', `south', `east', and `west' for corners
	in pic.

	* src/preproc/pic/ (lookup_keyword): Add NORTH, SOUTH, EAST,
	and WEST.
	(yylex): Handle them.
	* src/preproc/pic/pic.y: Add tokens NORTH, SOUTH, EAST, and WEST.
	(corner): Handle them.

2002-05-14  Werner LEMBERG  <>

	* src/devices/grops/ Clarify handling of `download' file.

2002-05-11  Werner LEMBERG  <>

	Adding `warnscale' and `spreadwarn' requests, based on a patch from
	Jeffrey Friedl <>.

	* src/roff/troff/ (spread_limit, warn_scale,
	warn_scaling_indicator): New global variables.
	(warnscale_request, spreadwarn_requests): New functions.
	(main): Initialize `warn_scale' and `warn_scaling_indicator'.
	(init_input_requests): Updated.
	(error_type): Add `OUTPUT_WARNING'.
	(do_error): Handle it.
	(output_warning): New warning function which shows output location.
	* src/roff/troff/env.h (spread_limit): New external variable.
	* src/roff/troff/ (environment::choose_breakpoint): Use
	(distribute_space): Emit warning if added space is larger than
	(environment::possibly_break_line): Emit warning if a line can't
	be adjusted on both sides.

	* doc/groff.texinfo, man/, man/ Document it.

2002-05-08  Werner LEMBERG  <>

	* src/roff/troff/ (special_node::special_node): Use
	env_definite_font(curenv) instead of curenv->get_font().  Otherwise
	\X''\% crashes, for example.

	* doc/groff.texinfo: Document \! and \? used at top-level.

2002-05-06  Werner LEMBERG  <>

	* src/preproc/pic/ Fix some keyword syntax.
	Other minor typographical fixes.

	* src/roff/groff/ Fix typos.

2002-05-04  Werner LEMBERG  <>

	* src/roff/groff/ ([ShortOpt]): Renamed to...
	(ShortOpt[]): This to avoid problems with refer.

	* doc/ Fix typo.
	Fix pic grammar description.

	* tmac/an-old.tmac (ne): Use de1, not de.

2002-05-03  Werner LEMBERG  <>

	* doc/groff.texinfo: Finished separation of glyphs and characters.
	Don't use the string `Appendix' for appendix headers (both in
	the text and the table of contents).
	* man/, src/roff/troff/ Fix order of tmac

	Use registers LL and LT (similar to -ms) for controlling the
	length of title and line, respectively, in the -man and -mdoc
	macro packages.

	* tmac/doc-ditroff (doc-setup-page-layout), tmac/doc-nroff
	(doc-setup-page-layout): Use \n[LL] and \n[LT].
	* tmac/an-old.tmac: Set \n[LL] and \n[LT] if not defined.
	(TH): Use \n[LL].
	(an-header, an-p-footer): Use \n[LT].
	* NEWS, tmac/, tmac/,
	doc/groff.texinfo: Document it.

2002-05-02  Werner LEMBERG  <>

	* doc/fdl.texi: New file.
	* doc/groff.texinfo: Include it.
	Define and use @copying.
	Starting with separating glyph, symbol, and character.

2002-04-27  Werner LEMBERG  <>

	* (EXEEXT): Set it.
	* src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script

	* src/include/nonposix.h: Define GS_NAME.
	* src/preproc/html/ (createAllPages): Use GS_NAME.

	Some preliminary changes for EMX support under OS/2.

	* src/preproc/pic/ (main), src/roff/groff/pipeline.c: Add
	__EMX__ similar to __MSDOS__.
	* src/utils/indxbib/ (main) [__EMX__]: Use `unlink'.

2002-04-25  Werner LEMBERG  <>

	* doc/groff.texinfo: Integrated
	Some macro fixes.

2002-04-23  Werner LEMBERG  <>

	* man/ Minor fixes.

2002-04-23  Werner LEMBERG  <>

	* doc/groff.texinfo: Moving @cindex entries after @Def* to get
	correct page references.
	Fixed many index entries.

2002-04-23  Bernd Warken  <>

	* man/ Enlarged.

2002-04-22  Werner LEMBERG  <>

	* doc/groff.texinfo: More examples, other fixes.

2002-04-20  Werner LEMBERG  <>

	* src/roff/troff/ (pipe_output): Multiple calls to `pi'
	will now form a chain, e.g.

	  .pi foo
	  .pi bar

	is now the same as

	  .pi foo | bar

	This is for compatibility with plan 9's troff.

	* tmac/tty.tmac: Set default tab values to 0.8i to be compatible
	with UNIX troff.
	* NEWS: Updated.

	* doc/groff.texinfo: Add documentation of remaining requests and

2002-04-19  Werner LEMBERG  <>

	* doc/groff.texinfo: Add documentation of remaining escapes.

	* font/devdvi/generate/ Remove entry for `sr'.
	* font/devdvi/*TC: Regenerated.

2002-04-18  Werner LEMBERG  <>

	* src/roff/troff/ (token::next): Make \H behave consistently
	if not in compatibility mode, i.e., increment relative to the
	previous height.
	* doc/groff.texinfo: Updated accordingly.

2002-04-17  Werner LEMBERG  <>

	* doc/groff.texinfo: Document \\, \e, \E, \., and \c.

2002-04-16  Bernd Warken  <>

	* src/roff/groff/ Improve documentation of -P option.
	Other minor fixes.

2002-04-15  Werner LEMBERG  <>

	Add new escape \F to switch font family.

	* src/roff/troff/ (token::next): Handle \F.
	* src/roff/troff/ (environment::set_family): Handle
	`interrupted' flag.
	* NEWS, doc/groff.texinfo, man/, man/
	Document it.

2002-04-14  Werner LEMBERG  <>

	* tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of
	spaces in tags.

2002-04-13  Werner LEMBERG  <>

	Implement \f[] as an alternative to \fP.  Change \mP and \MP to
	\m[] and \M[], respectively.

	* src/roff/troff/ (EMPTY_SYMBOL): New global variable.
	(symbol::symbol): Handle NULL string and empty string differently.
	* src/roff/troff/symbol.h (symbol::is_empty): New inline function.
	* src/roff/troff/ (read_escape_name, read_long_escape_name):
	Add optional parameter.
	Updated calling functions.
	(get_copy, do_glyph_color, do_fill_color, token::next): Use
	* src/roff/troff/ (environment::set_font): Ditto.

	* src/preproc/pic/ (troff_output::set_fill,
	troff_output::reset_color: Updated.

	* tmac/www.tmac: Updated.

	* NEWS, man/, man/, doc/groff.texinfo,
	doc/, src/devices/grotty/, tmac/

	* tmac/Xps.tmac: Remove some redundant code.

	* tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac,
	tmac/dvi.tmac, man/, man/, man/,
	man/, src/roff/groff/ Replace \f[P] with

2002-04-13  Bernd Warken  <>

	* src/include/printer.h, src/libs/libdriver/
	(printer::change_fill_color): New member function.
	* src/libs/libdriver/ (parse_D_command): Use it.

2002-04-12  Werner LEMBERG  <>

	* doc/groff.texinfo: Completed pass on gtroff reference.

2002-04-11  Werner LEMBERG  <>

	* doc/groff.texinfo: More fixes.

2002-04-11  Bernd Warken  <>

	* src/include/color.h: Decorate with `const'.
	Use `size_t'.
	Include `stddef.h'.
	* src/libs/ Decorate with `const'.
	Use `size_t'.
	(color::color): Initialize members.
	* src/libs/libdriver/ (parse_D_command): Handle `f'
	command according to the documentation.

	* man/ Updated.
	Minor fixes.

2002-04-11  Gaius Mulley  <>

	* src/preproc/html/ (write_start_image): Remove
	redundant output.
	* tmac/www.tmac (DC, HTML-DO-IMAGE): Ditto.

	* src/devices/grohtml/ (page::add_and_encode): Using
	\C'hy' caused an assertion failure.

	* src/roff/troff/ (environment::environment): Initialize
	(environment::copy): Handle `ignore_next_eol' and `emitted_node'.

2002-04-10  Werner LEMBERG  <>

	* man/, man/, NEWS, doc/groff.texinfo:
	Document pvs request and .pvs register.

2002-04-09  Werner LEMBERG  <>

	* doc/groff.texinfo: Improve and fix documentation of diversions
	and environments.

2002-04-08  Werner LEMBERG  <>

	* doc/groff.texinfo: Fix documentation of drawing functions.
	Other minor fixes.

2002-04-07  Werner LEMBERG  <>

	* doc/groff.texinfo: Better documentation of double quotes as
	Other minor fixes.

2002-04-06  Werner LEMBERG  <>

	* man/ Document names of special characters better.
	* doc/groff.texinfo: Minor improvements.

	* tmac/lbp.tmac: Load latin1.tmac.
	* tmac/X.tmac, tmac/Xps.tmac: Load latin1.tmac or cp1047.tmac.

	* font/devX*/*: Regenerated (all chars > 0x80 removed).

2002-04-05  Werner LEMBERG  <>

	* tmac/tty.tmac: Don't use shc request.
	* tmac/latin1.tmac, tmac/cp1047.tmac: Translate soft hyphen to `\%'.
	* NEWS: Updated.

	* man/ Minor fixes.

	* font/devlbp/*: Remove all `charXXX' entities.

	* src/libs/libgroff/ (font::~font): Deallocate
	(font::load): Use `new' for allocating `special_device_coding'.
	* src/libs/libgroff/ (character_indexer::lookup_char):
	Removed unused member.

2002-04-05  Werner LEMBERG  <>

	* src/drivers/grops/ (skip_possible_newline): New function.
	resource_manager::do_begin_data): Use it.

	* doc/texinfo.tex: Updated to version 4.2.

	* src/roff/troff/token.h: Add TOKEN_ZERO_WIDTH_BREAK for `\:'.
	(token::zero_width_break): New inline function.
	* src/roff/troff/ (token::next): Use it.
	(token::description): Updated.
	(encode_char): Ignore `\%', `\&', `\)', and `\:'.
	(token::add_to_node_list, token::process): Use it.
	* NEWS, doc/groff.texinfo: Updated.

	* src/preproc/eqn/ (over_box::output): Fix typo.
	* tmac/tty.tmac: Add missing backslash.

2002-04-04  Tadziu Hoffmann  <>

	* src/preproc/eqn/ (set_script_size, box::top_level): Use
	`.ps' register instead of `.s' to handle fractional point sizes.
	* src/preproc/eqn/ (limit_box::compute_metrics,
	limit_box::output): Ditto.
	* src/preproc/eqn/ (size_box::compute_metrics,
	size_box::output): Ditto.
	* src/preproc/eqn/ (over_box::compute_metrics,
	over_box::output): Ditto.
	* src/preproc/eqn/ (script_box::compute_metrics,
	script_box::output): Ditto.
	* src/preproc/eqn/ (sqrt_box::compute_metrics,
	sqrt_box::output): Ditto.

2002-04-03  Michael Selway  <>

	* src/drivers/grops/ (resource_manager::do_begin_binary):
	Fix typo.

2002-04-03  Werner LEMBERG  <>

	* doc/ Reduce title size.
	* doc/groff.texinfo: Fix documentation of .t register.
	Fix handling of colon.
	Fix `\' vs. `\\'.

	* src/roff/troff/ (exit_troff): Emit LAST_PAGE_EJECTOR
	only if page length is positive to avoid a loop.

	* tmac/an-old.tmac (ne): Increase page length to avoid problems with

2002-04-02  P. Alejandro Lopez-Valencia  <>

	* src/include/nonposix.h, src/roff/groff/pipeline.c:

2002-03-28  Gaius Mulley  <>

	* doc/gnu.xpm: New image contributed by Emily Mulley.
	* doc/Makefile (gnu.eps, gnu.png): Use pnmdepth.
	(homepage.html): Be dependent on gnu.eps.
	* doc/ Updated to new image.

	* src/devices/grohtml/ (html_printer): New member
	(html_printer::flush_sbuf, html_printer::set_char): Set it.
	(html_printer::sbuf_continuation): Use it.

2002-03-28  Werner LEMBERG  <>

	* src/libs/libgroff/getopt.c: Updated to latest version.

	* tmac/README: More on hyphen.tex license.

2002-03-26  Larry Kollar  <>

	* doc/groff.texinfo: Add documentation of most missing requests.

2002-03-25  Werner LEMBERG  <>

	Add three glyphs `t+-', `tmu', and `tdi' which are textual variants
	of `+-', `mu', and `di', respectively.

	* font/devascii/R.proto, font/devutf8/R.proto,
	font/devlatin1/R.proto, font/devhtml/R.proto,
	font/devcp1047/R.proto, font/devlpb/*: Add them.
	* font/devps/generate/textmap: Ditto.
	* font/devps/*: Regenerated.
	* font/devlj4/generate/ Add them.
	* font/devlj4/*: Regenerated.
	* font/devdvi/generate/ Use them.
	* font/devdvi/generate/ Add them.
	* font/devdvi/*: Regenerated.
	* font/devX*/*: Regenerated.

	* tmac/latin1.tmac, tmac/cp1047.tmac, tmac/tty.tmac,
	tmac/tty-char.tmac: Updated.

	* NEWS, man/ Updated.

2002-03-24  Werner LEMBERG  <>

	* tmac/dvi.tmac, tmac/X.tmac, tmac/ps.tmac, tmac/html.tmac,
	tmac/lj4.tmac, tmac/tty.tmac: Replace most `.char' with `.fchar'.
	* tmac/ec.tmac: Remove `.rchar' calls (no longer necessary since
	we use `.fchar' in dvi.tmac.
	* tmac/dvi.tmac: Improve definition of \[Fo] and \[Fc].
	* tmac/Xps.tmac: Simplify some char definitions.
	Add definition for \[f/].
	* man/ Updated for new X.tmac.

	* tmac/README: New file.

2002-03-23  Phil Lobbes  <>

	* Makefile.comm (.y.o): New rule for make on Solaris 2.5.1 -- the
	internal .y.o rule took precendence over the rule, compiling
	the yacc files with gcc instead of g++.

2002-03-23  Werner LEMBERG  <>

	* tmac/dvi.tmac: Add replacement font for `CB'.

	* tmac/doc.tmac: s/request/macro/ in messages.
	(doc-generic-macro): Improve error message.
	* tmac/ Minor improvements.

2002-03-22  Werner LEMBERG  <>

	* doc/groff.texinfo: Document possible conflict between `tr' and
	`char' requests.

2002-03-21  Werner LEMBERG  <>

	Improve handling of hyphenation patterns.  It is now possible to
	use most of TeX's pattern files unmodified.  To make the process
	more flexible, a new request `hpfcode' has been added which
	provides a character code mapping for the `hpf' request.  See
	comment before hpf_getc() for more details.

	* src/roff/troff/ (insert_hyphenation, hpf_getc): New
	(read_patterns_file): Additional parameter for exception dictionary.
	Extended to recognize \pattern, \hyphenation, and \endinput.
	(do_hyphenation_patterns_file): Updated.
	* src/roff/troff/env.h (hpf_code_table): New extern.

	* src/roff/troff/ (hpf_code_table): New array.
	(init_hpf_code_table, hyphenation_patterns_file_code): New
	(hyphenation_code): Handle translation from `trin' correctly.
	(main, init_input_requests): Updated.
	(charinfo::set_translation): Handle hyphenation code also.

	* src/roff/troff/charinfo.h (charinfo::get_translation_input): New
	inline function.

	* src/roff/troff/ (WORD_MAX): Reduced to 256 since `unsigned
	char' is used for offsets in hyphenation exceptions.

	* tmac/ Replace with contents of unmodified `hyphen.tex'.

	* NEWS, man/, man/ Document it.

2002-03-20  Larry Kollar  <>

	* doc/groff.texinfo: Add documentation for `hpfa' and `trin'

2002-03-18  Werner LEMBERG  <>

	* tmac/html.tmac: Fix serious typo.

2002-03-17  Larry Kollar  <>

	* doc/groff.texinfo: Add documentation for `writec' request.

2002-03-17  Werner LEMBERG  <>

	Added request `hpfa' to append hyphenation patterns.

	* src/roff/troff/ (hyphen_trie::read_patterns_file): Add
	parameter `append'.
	(hyphenation_patterns_file): Renamed to...
	(do_hyphenation_patterns_file): This.
	(hyphenation_patterns_file, hyphenation_patterns_file_append): New
	(init_hyphen_requests): Updated.
	* NEWS, man/, man/ Document it.

2002-03-16  Werner LEMBERG  <>

	Added request `writec' in analogy to `tmc'.

	* src/roff/troff/ (write_request): Renamed to...
	(do_write_request): This.
	Added one parameter.
	(write_request, write_request_continue): New functions.
	(init_input_requests): Updated.
	* NEWS, man/, man/ Document it.

	* font/devdvi/ (sizes): Allow all sizes in the range
	* NEWS: Document it.

2002-03-15  Werner LEMBERG  <>

	* man/ Add writem request.

	Add request `trin' (translate input) to make `.asciify' work
	correctly.  This is necessary since `charXXX' entity names are no
	longer hardcoded in font definition files.

	* src/roff/troff/charinfo.h (charinfo): Add `asciify_code' and
	`translate_input' members.
	(charinfo::set_asciify_code, charinfo::get_asciify_code,
	charinfo::set_translation_input): New methods.
	(charinfo::set_translation): Add third argument.
	* src/roff/troff/ (charinfo:set_translation): Set
	(do_translate): Add second argument.
	(translate_input): New function.
	(init_input_requests): Updated.
	* src/roff/troff/ (glyph_node::asciify,
	composite_node::asciify): Use `get_asciify_code'.

	* tmac/cp1047.tmac, tmac/latin1.tmac: Use `trin'.

	* NEWS, man/, man/ Updated.

2002-03-14  Larry Kollar  <>

	* doc/groff.texinfo: Improve documentation of .RS and .RE.

2002-03-14  Werner LEMBERG  <>

	Add a new request `sizes' similar to the `sizes' command in DESC

	* src/roff/troff/ (override_sizes): New function.
	(init_env_requests): Use it.
	* src/roff/troff/token.h: Export `read_string'.
	* NEWS, man/, man/ Document it.

2002-03-12  Werner LEMBERG  <>

	* doc/groff.texinfo: More fixes for texinfo 4.1 and higher.

2002-03-10  Werner LEMBERG  <>

	* tmac/pspic.tmac: Add support for -Tdvi.
	* tmac/dvi.tmac: Include pspic.tmac.
	* src/devices/grodvi/ Document it.
	* NEWS: Updated.

	* font/devlj4/generate/Makefile: Fix URL of metric files.

2002-03-09  Werner LEMBERG  <>

	* PROBLEMS: The static constructor bug has been fixed in z/OS V1R3.

2002-03-09  Larry Kollar  <>

	* tmac/ Add documentation for RS and RE macros.

2002-03-08  Werner LEMBERG  <>

	* doc/groff.texinfo: Fixes for texinfo 4.1.

2002-03-07  Werner LEMBERG  <>

	* src/include/lib.h: Include getopt.h if groff-getopt.h can't be
	Handle CYGWIN properly.

2002-03-07  Paco Andrés Verdú  <>

	* font/devlbp/Makefile.sub (DEVFILES): Add some missing fonts.
	* tmac/lbp.tmac: Add some font translations.

2002-03-02  Werner LEMBERG  <>

	* font/devcp1047/R.proto, font/devlatin1/R.proto,
	font/devhtml/R.proto: Remove `charXXX'	entries.
	* tmac/tty.tmac, tmac/html.tmac: Load latin1.tmac or cp1047.tmac
	where appropriate.

	* font/devlj4/generate/ Remove `charXXX' entries.
	* font/devlj4/*: Regenerated all font definition files.
	* tmac/lj4.tmac: Load latin1.tmac.

	* src/utils/hpftodit/ (do_file): Partially undo change
	from 2000-06-17: LJ4 metric files are *not* text files.

	* tmac/troffrc, tmac/dvi.tmac, tmac/ps.tmac: Don't use .T string
	register to test for EBCDIC.

2002-03-01  Werner LEMBERG  <>

	* src/utils/afmtodit/ Skip comment lines in encoding
	files (as grops already does).
	* src/utils/afmtodit/ Document comment lines in map
	* src/devices/grops/ Document comment lines in encoding

	* tmac/cp1047.tmac: New file.
	* tmac/dvi.tmac, tmac/tty-char.tmac: Use it.
	* tmac/ps.tmac: Load latin1.tmac or cp1047.tmac.
	* tmac/Makefile.sub (NORMALFILES): Updated.

	* tmac/ec.tmac: Don't load latin1.tmac again.

	* font/devps/generate/lgreekmap, font/devps/generate/symbolchars,
	font/devps/generate/dingbats.rmap, font/devps/text.enc,
	font/devps/generate/Makefile (symbolmap): Add header comment.
	* font/devps/generate/textmap: Ditto.
	Remove `charXXX' entries.
	* font/devps/symbolmap: Regenerated.
	* font/devps/*: Regenerated all font definition files.

2002-02-28  Werner LEMBERG  <>

	Add color support to grodvi (for drawing colors are currently
	translated to gray values).

	* src/devices/grodvi/ (FILL_MAX): Removed.
	(dvi_printer): Add `cur_color' member.
	(dvi_printer::set_color): New function.
	(draw_dvi_printer): Remove `fill'.
	(draw_dvi_printer::fill_next): Pass environment as parameter.
	Update code for new color support translated to gray.
	(dvi_printer::set_char): Updated.
	(dvi_printer::begin_page, dvi_printer::end_page): Handle color
	changes crossing the page border.
	(dvi_printer::draw): Updated.
	Remove cases `f' and `F'.
	* tmac/dvi.tmac: Add color definitions.
	* NEWS, src/devices/grodvi/ Updated.

	* tmac/an-old.tmac (R): Make this a macro to emit a warning if
	used incorrectly.

	* aclocal.m4 (GROFF_NEED_DECLARATION): Use test similar to recent
	versions of autoconf.
	* configure: Updated.

	* doc/ Use `.blm'.
	* tmac/www.tmac (www-depth): New auxiliary variable.
	(www-pop-level): Don't issue HTML tag.
	(ULS, ULE, LI): Use absolute indentation.

	* src/devices/grops/ (ps_printer::begin_page,
	ps_printer::end_page): Switch forth and back to default color while
	starting a new page.

2002-02-27  Werner LEMBERG  <>

	Add EC and TC fonts to devdvi.

	* src/utils/tfmtodit/ Document patching of
	* font/devdvi/generate/ Renamed to...
	* font/devdvi/generate/ This.
	Remove entry for `aq'.
	* font/devdvi/generate/ New file.
	* font/devdvi/generate/Makefile (*EC, *TC): New creation rules for
	EC and TC fonts.
	(FONTS): Updated.
	* font/devdvi/*EC, font/devdvi/*TC: New font definition files.
	* font/devdvi/Makefile.sub (DEVFILES): Updated.
	* tmac/ec.tmac: New file.
	* tmac/Makefile.sub (NORMALFILES): Updated.
	* NEWS, src/devices/grodvi/ Updated.
	* man/ Check `ECFONTS' register.

	* font/devdvi/{TR,TI,TB,TBI,HR}: Fix `name' field.

2002-02-26  Werner LEMBERG  <>

	* font/devdvi/generate/*.map: Remove all `charXXX' entries.
	* font/devdvi/generate/ Add 'y and 'Y.
	* font/devdvi/*: Updated.
	* tmac/dvi.tmac: Formatting.

	Add font `HBI' for the dvi output.
	Add support for font families `T' and `H'.

	* font/devdvi/HBI: New file.
	* font/devdvi/B: Renamed to ...
	* font/devdvi/TB: This.
	* font/devdvi/BI: Renamed to ...
	* font/devdvi/TBI: This.
	* font/devdvi/I: Renamed to ...
	* font/devdvi/TI: This.
	* font/devdvi/R: Renamed to ...
	* font/devdvi/TR: This.
	* font/devdvi/H: Renamed to ...
	* font/devdvi/HR: This.
	* font/devdvi/Makefile.sub (DEVFILES): Updated.
	* font/devdvi/generate/Makefile (HBI): New rule.
	(FONTS): Updated.
	(R, I, B, BI, H): Renamed to ...
	(TR, TI, TB, TBI, HR): This, respectively.
	(srcdir): Fixed.
	* NEWS, src/devices/grodvi/ Updated.
	* font/devdvi/ Don't mount R, I, B, BI, and CWI.
	Add `styles' and `family' keywords.
	* tmac/dvi.tmac: Alias `H' to `HR'.
	Add some fspecial requests for italic fonts.
	Add TR and TI as special.
	Add support for `_' with font CWI.

	* src/roff/troff/ (parse_expr): Add missing `break' for
	operator `:'.  Until now, the expression `0:1' would return 2
	instead of 1.

2002-02-25  Werner LEMBERG  <>

	* man/ Added some missing PS glyph names (from the
	Adobe Glyph List).
	* font/devps/generate/textmap, font/devps/symbolmap: Add

	* doc/groff.texinfo: Minor additions and fixes.
	* man/ Remove documentation of fp request.  This
	is already covered in the original troff manual.
	Updated to be consistent with other doc files.
	* NEWS: Updated.

2002-02-24  Werner LEMBERG  <>

	* aclocal.m4 (GROFF_EBCDIC): Don't include `font/devutf8' in
	Define new variable OTHERDEVDIRS (containing `font/devlj4
	font/devlbp' if not EBCDIC).
	* (TTYDEVDIRS): Always include `font/devutf8'.
	(OTHERDEVDIRS): New variable.
	* configure: Regenerated.

	* NEWS, src/devices/grotty/ Updated.

2002-02-23  Werner LEMBERG  <>

	* src/roff/troff/ (do_overstrike, do_bracket,
	get_line_arg): Honour input level.

	Add new symbol `mc' corresponding to U+00B5 MICRO SIGN.

	* font/*/*: Implement it in all font files.
	* font/devps/generate/textmap, font/devps/generate/symbolchars,
	* font/devps/symbolmap: Updated.
	* font/devlj4/generate/ Updated.
	* font/devdvi/generate/CompileFonts (sizes): Add LaTeX sizes.
	* font/devdvi/generate/ Updated.

	* font/devutf8/R.proto: Remove all `charXXX' entries.
	* font/devutf8/NOTES: Updated.

	* font/devX*/*: Regenerated with xtotroff, using fonts from XFree86
	version 4.1.0.

	* tmac/latin1.tmac, tmac/psold.tmac, tmac/tty-char.tmac: Updated.

	* NEWS, man/ Updated.

2002-02-21  Phil Lobbes  <>

	* src/include/lib.h [HAVE_SNPRINTF]: Include stdarg.h.

2002-02-20  Ralph Corderoy  <>

	* src/roff/grog/ Fix computation of $refer.

2002-02-19  Werner LEMBERG  <>

	* src/include/lib.h [!HAVE_SNPRINTF]: Add declarations for
	`snprintf' and `vsnprintf'.

	* src/include/htmlindicate.h: Renamed to...
	* src/include/htmlhint.h: This.
	* src/include/Makefile.sub: Updated.
	* src/preproc/eqn/ Updated.

2002-02-18  Werner LEMBERG  <>

	* man/, man/, man/,
	man/, man/, src/roff/groff/,
	src/roff/troff/ Updated to latest changes in www.tmac.

	* win32-diffs: Updated.

2002-02-17  Werner LEMBERG  <>

	* doc/Makefile (clean): Add *.eps.
	(MEMACROS): Removed.
	(TFLAG): New variable.
	(TROFF): Use it.
	Add -ww.
	(GROFF): Use TFLAG, FFLAG, -U, -p, -e, -t, and -ww.
	(.me.dit): Fixed.
	(.ms.html, .ms.ascii,, homepage.html): Simplify.

	* tmac/www.tmac: Use dummy diversion while resetting and disabling
	* tmac/e.tmac: Inserted some more `\"' to remove warnings if used
	* src/roff/troff/ Fix order of parameter description.

	* NEWS: Updated.

2002-02-16  Gaius Mulley  <>

	Simplify image handling for grohtml.
	Fix <p> bug.

	* src/devices/grohtml/ (DEBUGGING): Don't undefine but
	comment out.
	(html_text::dump_stack): Don't emit newline while debugging.
	(html_text::do_push) [DEBUGGING]: Print more info.
	(html_text::check_emit_text): Fix handling of <p>.
	* src/devices/grohtml/html.h: Updated.
	* src/devices/grohtml/ (FPUTC, FPUTS, PUTC): New macros,
	replacing `fputc', `fputs', `putc'.  If DEBUGGING is defined, they
	send its data to stderr also.
	Update all callers.
	(simple_output::space_or_newline) [DEBUGGING]: Removed.
	* src/devices/grohtml/ (html_printer::do_links,
	html_printer::html_printer): Remove `DEBUGGING' conditionals.

	* src/include/html-strings.h (HTML_IMAGE_{CENTERED,LEFT,RIGHT,END}):
	* src/libs/libgroff/ (is_in_graphic_start,
	is_inline_image): Removed.
	(html_begin_suppress, html_end_suppress): Don't take a parameter.
	(graphic_start, graphic_end): Removed.
	* src/include/htmlindicate.h: Updated.
	* src/preproc/html/ (DEBUG_HTML): Removed.
	(macroset_template): New global variable.
	(makeFileName): Use `macroset_template'.
	(write_end_image): Don't take a parameter.
	Don't emit newline.
	(write_start_image: Don't emit newline.
	(char_buffer::write_upto_newline): Updated.
	(char_buffer::skip_to_newline): Renamed to ...
	(char_buffer::skip_until_newline): This.
	Fix code.
	(char_buffer::write_file_troff, char_buffer::write_file_html):
	(createAllPages, createImage) [DEBUGGING]: Handle `debug' flag.
	(removeAllPages): Remove `DEBUGGING' conditionals.
	(addRegDef, dump_args): New functions.
	(char_buffer::do_html, char_buffer::do_image): Handle
	`www-image-template' command line variable.
	Add more debugging code.
	(addps4html): Removed.
	(removeTempFiles) [DEBUGGING]: Handle `debug' flag.

	* src/preproc/eqn/ Include `ctype.h'.
	(suppress_html): Removed.
	(do_file): Updated.
	(inline_equation): Use `html_begin_suppress' and
	* src/preproc/pic/ Don't include `htmlindicate.h'.
	(troff_output::start_picture, troff_output::finish_picture):
	* src/preproc/tbl/ Don't include `htmlindicate.h'.
	(process_input_file): Updated.

	* src/roff/troff/ (page_number): Set page number only if the
	`ps4html' register isn't defined.
	* src/roff/troff/ (image_no): New external variable.
	(do_suppress): Use it.
	* src/roff/troff/node.h (suppress_node::image_id): New member.
	* src/roff/troff/ (image_no): Remove `static' keyword.
	(suppress_node::suppress_node): Initialize `image_id' member.
	(suppress_node::same): Handle `image_id' also.
	(suppress_node::copy): Updated.
	(last_image_id): New global variable.
	(suppress_node::tprint): Use it.

	* tmac/an-old.tmac (TS, TE, EQ, EN): Use HTML-IMAGE and
	* tmac/pspic.mac (PSPIC): Fix html support.
	* tmac/s.tmac (@EQ, @EN, @TS, TE, PS, PE): Ditto.
	* tmac/www.tmac (www-image-template): Set up.
	(HTMLINDEX): Renamed to...
	(HX): This.
	(BODYCOLOR): Renamed to...
	(BCL): This.
	(BACKGROUND): Renamed to...
	(BGIMG): This.
	(URL): Change order of parameters for consistency.
	(MAILTO): Renamed to...
	(MTO): This.
	(IMG, PIMG, MPIMG): This.
	(HTML-H-BEGIN, HTML-H-END): Renamed to...
	(HnS, HnE): This.
	(LINKS): Renamed to...
	(LK): This.
	(LINE): Renamed to...
	(HR): This.
	(NO-AUTO-RULE): Renamed to...
	(NHR): This.
	(HTML-TL): Renamed to...
	(HTL): This.
	(UL-BEGIN, UL-END): Renamed to...
	(ULS, ULE): This.
	(DROPCAP): Renamed to...
	(DC): This.
	(TS, TE, EQ, EN): Provide default definitions.
	(www-make-unique-name): Updated.
	* tmac/ Updated.

	* doc/Makefile (homepage.html): Add option -r to grohtml.
	Use shortened image name.
	* doc/groff.texinfo: Updated info on grohtml strings and macros.
	* doc/ Updated and extended.

2002-02-14  Werner LEMBERG  <>

	Don't use `CSI 39 m' and `CSI 49 m' but `CSI 0 m'.

	* src/devices/grotty/ (SGR_DEFAULT_COLOR,
	SGR_BACK_DEFAULT_COLOR): Replaced with ...
	(tty_printer::put_color): Use it.
	(ttr_printer::end_page): Simplify.

2002-02-13  Werner LEMBERG  <>

	* tmac/ Moved to...
	* man/ This place.
	* tmac/Makefile.sub, man/Makefile.sub: Updated.

2002-02-12  Werner LEMBERG  <>

	* src/libs/libgroff/Makefile.sub (snprintf.o): Don't use
	$(COMPILE.c) to not include groff's assert.h.

	* src/drivers/grotty/ (main): Add GROFF_NO_SGR environment
	* NEWS, src/drivers/grotty/ Document it.

2002-02-11  Werner LEMBERG  <>

	* src/libs/snprintf/snprintf.c: Updated to latest version

	* src/roff/grog/ (process): Fix handling of `.['.  We now
	test whether there is `.]' also.
	Don't check for spaces after `.['.
	* src/roff/grog/ Do the same.

2002-02-10  Werner LEMBERG  <>

	Illegal -> Invalid.

	* src/libs/libgroff/ Renamed to ...
	* src/libs/libgroff/ This.
	(illegal_char_table): Renamed to ...
	(invalid_char_table): This.
	* src/libs/libgroff/Makefile.sub: Updated.
	* win32-diffs: Updated.

	* doc/groff.texinfo, src/devices/grops/ (ps_get_line),
	src/libs/libdriver/ (fatal_command, parse_color_command,
	parse_x_command), src/libs/libgroff/ (text_file::next,
	font::load), src/preproc/eqn/ (read_line, main),
	src/preproc/eqn/ (file_input::read_line),
	src/preproc/pic/ (file_input::read_line,
	simple_file_input::get, simple_file_input::peek),
	src/preproc/pic/ (top_input::get, top_input::peek),
	src/preproc/pic/, src/preproc/refer/
	(input_stack::push_file), src/preproc/refer/ (do_file,
	do_bib), src/preproc/tbl/ (table_input::get),
	src/preproc/grn/, src/preproc/grn/ (interpret),
	src/roff/troff/ (file_iterator::fill, file_iterator::peek,
	do_zero_width, read_request, encode_char, ps_get_line,
	transparent_file, get_char_for_escape_name, transparent_translate,
	asciify, input_char_description, read_string, set_string),
	src/roff/troff/ (environment::add_html_tag),
	src/roff/troff/, tmac/e.tmac (`@(', `(f'): Do it.

	* src/include/lib.h: Updated.

	* src/preproc/eqn/ Removed.

	* NEWS: Updated.

	* src/preproc/grn/ (DBRead): Fix fscanf() fields.

2002-02-09  Werner LEMBERG  <>

	* doc/gnu.xpm: New image.
	* doc/Makefile (DOCS): Add
	Add rules for converting xpm->png and xpm->eps.
	Use `gnu.{xpm,eps}' as image names.
	* doc/ Updated.

2002-02-09  Gaius Mulley  <>

	* tmac/www.tmac (www-error): New macro, replacing calls to `@error'.
	(IMAGE): Change image position parameters to `-L', `-R', and `-C'.
	Remove calls to `B1' and `B2'
	(PNG-IMAGE): New macro for inclusion of images in PNG format.
	(www-left-ll-trap, www-left-po-trap, www-right-ll-trap): New
	auxiliary variables for MARGIN-PNG-IMAGE.
	(www-finish-left-po, www-finish-right-ll, www-finish-left-ll): New
	auxiliary macros for MARGIN-PNG-IMAGE.
	(MARGIN-PNG-IMAGE): New macro to put an image in PNG format into
	the margin.
	(www-heading-no): New auxiliary variable for HTML-H-{BEGIN,END}.
	(HTML-H-BEGIN, HTML-H-END): New macros to begin and end a heading.
	(DROPCAP): New macro to produce dropcap characters.
	(www-do-image): Renamed back to...
	Updated all callers.

	* doc/Makefile (gnubw.eps): Updated.
	* doc/ Updated.

2002-02-08  Werner LEMBERG  <>

	* doc/ Fixed typos (\(*tx -> \*(tx).
	Added `linethick' to table in section `Style Variables'.

2002-02-08  Gaius Mulley  <>

	* src/libs/libdriver/ (get_extended_arg): Fix conditional.

2002-02-07  Werner LEMBERG  <>

	Adding options -C (compatibility mode) and -c (grotty's old output
	scheme) to nroff.

	* src/roff/nroff/ Implement it.
	Remove `-Wall'.
	* NEWS, src/roff/nroff/ Updated.

	* PROBLEMS: Document bison 1.32 bug.

	Some fixes to make groff compile on z/OS 1.2 UNIX (was OS/390).

	* src/roff/troff/ (make_tfont): Define it earlier.
	* src/roff/troff/div.h: Add prototype for `end_diversions'.
	* src/roff/troff/ Add prototype for `process_input_stack'.
	* src/roff/troff/env.h: Add prototype for `title'.

	Adding EBCDIC support to grotty.

	* src/devices/grotty/ (CSI): New macro.
	(SGR_*, tty_printer::put_color): Use it.

2002-02-06  Werner LEMBERG  <>

	Implementing color support in grotty.  The new switch -c activates
	the old drawing scheme, disabling color at the same time.  The new
	switch `-i' selects italic instead of underlining (SGR only).

	* src/devices/grotty/ (putstring): New define instead of
	`fputs'.  Updated all callers.
	(old_drawing_scheme): New global variable.
	(COLOR_CHANGE): New enum value.
	(SGR_*): New defines containing color handling escape sequences.
	(glyph): New members `back_color_idx' and `fore_color_idx'.
	(glyph::order): Add COLOR_CHANGE.
	(tty_printer): New members `cur_fore_idx', `curr_back_idx',
	`is_underline', `is_bold', `cu_flag', `tty_colors'.
	New methods `make_underline', `make_bold', `color_to_idx',
	`change_color', `put_color'.
	(cu_flag): Moved into `tty_printer' class.
	(tty_printer::tty_printer): Initialize colors.
	(tty_printer::add_char, tty_printer::set_char, tty_printer::special,
	tty_printer::draw, tty_printer::end_page): Handle colors also.
	(main): Add options `-c' and `-i'.
	(usage): Updated.
	* NEWS, src/devices/grotty/ Updated.

	* src/include/errarg.h (errarg): Add support for `unsigned int'.
	* src/libs/libgroff/errarg.c: Implement it.

	* src/include/printer.h (printer): Add `change_color' method
	(currently used by grotty only).
	* src/libs/libdriver/ Implement it.
	* src/libs/libdriver/ (parse_D_command, do_file): Add
	call to `pr->change_color'.

	* src/roff/troff/ (troff_output_file::fill_color,
	troff_output_file::glyph_color): Call `do_motion'.

	* tmac/tty.tmac: Add color definitions.

	* src/roff/groff/ Minor fixes.

2002-02-05  Bernd Warken  <>

	* src/libs/libdriver/ Introduce `EnvInt' typedef and use
	it.  This is a preparation for future changes.

2002-02-05  Werner LEMBERG  <>

	* src/roff/troff/ (process_input_stack): Fix the case
	where leading spaces are followed by \f or \s; previously, an
	incorrect space width has been used.

	* doc/ (quoted_char): Fix argument.
	(comment): Define string.

2002-02-04  Larry Kollar  <>

	* doc/groff.texinfo: More fixes.

2002-02-04  Werner LEMBERG  <>

	* src/preproc/eqn/ (output_string): Don't use \\*[...].
	* src/preproc/eqn/ (do_file, inline_equation): Call
	`restore_compatibility' before `output_string' -- the LINE_STRING
	register now already contains proper switches from and to
	compatibility mode.

	* man/ Add Euro symbol.
	* man/ Improve documentation of `.am1' and `.as1'.
	* tmac/tty.tmac: Add `EUR' as replacement for `eu' and `Eu'.
	* doc/groff.texinfo (Defstr*): Print strings with full syntax.
	Other minor fixes.

	* doc/Makefile (.SUFFIXES, .texinfo.pdf, clean): Add support for
	(.texinfo.html): Add support for texinfo->html.

2002-02-03  Werner LEMBERG  <>

	Added three new requests `ds1', `as1', and `ami'.  The former two
	are equivalent to `ds' and `as' with the difference that
	compatibility mode is saved on entry, switched off during string
	expansion, and restored on exit.  The latter is the pendant to `dei'
	for `am'.

	(do_define_string): Use `define_mode' and `calling mode'.
	Insert COMPATIBLE_SAVE and COMPATIBLE_RESTORE at the beginning and
	end of string, respectively.
	(define_string, append_string): Use `calling_mode'.
	(define_nocomp_string, append_nocomp_string,
	define_string_indirect): New functions.
	(init_input_requests): Updated.
	* NEWS, man/, man/ Document it.

	* src/preproc/eqn/ (box::top_level, box::extra_space): Use
	`as1' for assigning LINE_STRING (this is `10' usually).  Sun's
	mm macro package accesses this string register directly.
	* src/preproc/eqn/ (inline_equation): Use `as1'.

	* tmac/trace.tmac: Trace calls to `am' also.  Make it work in
	compatibility mode.

2002-02-02  Larry Kollar  <>

	* doc/groff.texinfo, tmac/ More fixes.

2002-01-31  Werner LEMBERG  <>

	* tmac/an-old.tmac (I): Use \, and \/ to improve spacing.

2002-01-31  Bernd Warken  <>

	* src/devices/grolbp/ (main): Delete `pr'.
	* man/ Revised and updated.

2002-01-30  Bernd Warken  <>

	* src/libs/libdriver/ [USE_ENV_STACK]: New macro to comment
	out the unused `{' and `}' commands.  Undefined by default.
	(IntArray): Make `data' private.
	(IntArray::operator[], IntArray::get_data, IntArray::len): Use these
	new methods instead.
	(skip_line_D, skip_to_end_of_line): New functions.
	(get_D_fixed_args): Use `skip_line_D'.
	Changed to handle dummy odd arguments by ...
	(get_D_fixed_args_odd_dummy): This new function.
	(get_D_variable_args): Split some code into ...
	(get_possibly_integer_args): This new function.
	(send_draw): Use more `const'.
	(delete_current_env): New function.
	(position_to_end_of_args): Use `size_t'.
	(send_draw): Updated.
	(parse_D_command): Handle `c', `C', and `t' better.
	(do_file): Updated.

2002-01-29  Werner LEMBERG  <>

	* NEWS: Revised.
	* doc/groff.texinfo: Introduce @Def...List, @Def...Item, and
	@Def...ListEnd which replaces @Def...x.  This is necessary to get
	proper HTML output -- see the comment in the file for more
	Updated all calls.

2002-01-29  Gaius Mulley  <>

	Fixes to make color changes of 2002-01-21 work with grohtml.

	* src/devices/grohtml/ (style): Updated.
	(html_printer): Remove unused methods.
	(html_printer::do_font, html_printer::draw, html_printer::set_char,
	html_printer::special): Updated.
	* src/devices/grohtml/ (debugStack, turnDebug,
	html_text::dump_stack_element, html_text::dump_stack) [DEBUGGING]:
	Added some debugging code.
	(html_text::start_tag): Updated.
	(html_text::do_push): New method.
	(html_text::push_para): Call it.
	Add method for handling color.
	(html_text::do_color): Updated.
	(html_text::shutdown): Handle color.
	* src/devices/grohtml/html-text.h (tag_definition): New member

2002-01-28  Werner LEMBERG  <>

	* tmac/ps.tmac, tmac/html.tmac: Fix compatibility mode issues.

2002-01-27  Gaius Mulley  <>

	Add two switches -a and -g to control the antialiasing bits for
	text and graphics, respectively.

	* src/devices/grohtml/ (main): Dummy code for `-a' and
	* src/devices/grohtml/ Document them.
	* src/preproc/html/ (MIN_ALPHA_BITS, MAX_ALPHA_BITS):
	New macros.
	(textAlphaBits, graphicAlphaBits, antiAlias): New global variables.
	(setupAntiAlias): New function.
	(createAllPages): Updated.
	(scanArguments): Handle `-a' and `-g'.
	(main): Call `setupAntiAlias'.
	* NEWS: Updated.

2002-01-27  Werner LEMBERG  <>

	* doc/groff.texinfo (Def*): Call index function after deffn.

	* tmac/html.tmac: Call `nroff' request.

2002-01-26  Larry Kollar  <>

	* tmac/ Add some omissions.

2002-01-25  Larry Kollar  <>

	* tmac/ Typographical improvements.

2002-01-25  Werner LEMBERG  <>

	* doc/groff.texinfo: Updated version and copyright.
	* src/devices/grops/ Updated.

	* tmac/ Fix `ig' macro.

	* tmac/an-old.tmac (ne): Redefine `ne' request to be a no-op in
	nroff mode.
	Use `.ne' unconditionally everywhere.
	(TS): Only insert some vertical space.  Doing a page break is no
	longer necessary due to the redefinition of the `ne' request.

	* src/libs/libdriver/ (parse_D_command): Don't emit a
	warning for unknown subcommands but parse and pass them to the
	device driver.

2002-01-24  Werner LEMBERG  <>

	* tmac/, NEWS: Fix typos.

2002-01-21  Werner LEMBERG  <>

	Complete revision of color support:

	  Adapt programs to the new libdriver/

	  Color spaces are no longer converted to RGB but transferred as-is
	  in the troff intermediate output format.

	  Handle default color gracefully.  troff now supports a `default'
	  color (which can't be changed).

	  grops will now use the proper color space functions if available.

	  Update pic.

	Note that currently grohtml doesn't handle colors properly.  This
	has to be fixed.

	* src/libs/libgroff/itoa.c (UINT_DIGITS): New macro.
	(ui_to_a): New function.
	* src/include/lib.h: Updated.

	* src/include/color.h (color_scheme): Replace `NONE' with `DEFAULT'.
	(color): Simplified; removed all `double' members and methods.
	A new array `components' now holds the color parameters.
	(color::is_default, color::get_components): New methods.
	(color::operator==, color:operator!=): New.
	(Red, Green, Blue, Cyan, Magenta, Yellow, Black, Gray): New macros
	to make access to the `components' array more comprehensible.
	* src/libs/libgroff/ Implement new color support.
	(atoh): Small fixes.
	(color::read_encoding): Simplified for new troff intermediate color
	output format.
	(default_color): New global variable.

	* src/roff/troff/ (default_symbol): New global variable.
	(lookup_color): Use it.
	(default_black): Removed.
	(do_glyph_color, do_fill_color): Simplified.
	(define_color): Handle default color.
	Improve warnings.
	(do_if_request): Handle default color.
	* src/roff/troff/ (environment::environment): Initialize
	colors with `default_color'.
	* src/roff/troff/ (troff_output_file::put): Add method
	for `unsigned int'.
	(troff_output_file::hex): Removed.
	(troff_output_file::fill_color, troff_output_file::glyph_color):
	Updated to include/color.h and libdriver/

	* src/preproc/pic/ (draw_arrow): New parameter to set
	fill color properly (identically to the outline color).  \D'f...'
	doesn't work any more.
	All function calls to it updated.

	* src/devices/grohtml/ (html_printer::do_body, main):
	* src/devices/grohtml/ (html_text::issue_color_begin):

	* src/devices/grops/ (ps_output::put_color): New method.
	(ps_printer::sbuf_color): Make a real member instead of pointer.
	(ps_printer::fill_color, ps_printer::output_color): Removed.
	(ps_printer::ps_printer): Updated.
	(ps_printer::set_char): Ditto.
	(ps_printer::set_color): Use various color schemes.
	Use `put_color' method.
	(ps_printer::flush_sbuf): Don't set color.
	(ps_printer::fill_path): Take `environment' as parameter.
	Simplify color handling.
	(ps_printer::set_line_thickness): Renamed to ...
	(ps_printer::set_line_thickness_and_color): This (and updated).
	(ps_printer::set_color): Change second parameter from `complete'
	to `fill' which better describes what it does.
	(ps_printer::draw): Call `flush_sbuf' to output graphic commands
	and text in the right order.
	Remove branches for `f' and `F'; this is handled by
	* src/devices/grops/ps.h: Updated.
	* font/devps/prologue (FL): Redefined.
	({F,C}r,k,g: New color functions (with and without filling).

	* doc/, src/preproc/pic/ Small fixes.
	* man/, man/, man/,
	doc/groff.texinfo, NEWS: Updated.

2002-01-20  Bernd Warken  <>

	* src/libs/libdriver/ Completely rewritten.  See comments
	in this file for what has been changed.

2002-01-19  Werner LEMBERG  <>

	* test-groff: Fix GROFF_FONT_PATH.
	* tmac/andoc.tmac: Add dummy macros for equation support -- eqnrc
	is read before .TH or .Dd is parsed.

2002-01-18  Gaius Mulley  <>

	* src/libs/libgroff/ (check_output_arc_limits): Fix
	quadrant boundaries.

2002-01-18  Werner LEMBERG  <>

	* devices/grops/ Aargh!  Fix the fix of the incorrectly
	applied last patch.

2002-01-17  Ruslan Ermilov  <>

	* tmac/doc.common: Initialize %I register for the %I macro to
	avoid (harmless) warning.
	* tmac/doc.tmac (Bd): There is no reason to enforce -compact
	when in the SYNOPSIS section.

2002-01-17  Bruno Haible  <>

	* src/preproc/pic/ (get_token): Fix typo.

2002-01-17  Werner LEMBERG  <>

	* devices/grops/ Fix incorrectly applied last patch.

2002-01-17  Larry Kollar  <>

	* tmac/ Completely rewritten.

2002-01-16  Werner LEMBERG  <>

	* tmac/an-old.tmac (TS): Force break, inserting some vertical space.

2002-01-15  Gaius Mulley  <>

	* devices/grops/ (ps_printer::fill_path): Fix handling of
	fill colors.
	(ps_printer::draw): Ditto.

2002-01-14  Ruslan Ermilov  <>

	* tmac/ Minor fixes.

2002-01-13  Werner LEMBERG  <>

	* man/ Some fixes.

2002-01-13  Gaius Mulley  <>

	* doc/ Fix typos.

2002-01-12  Werner LEMBERG  <>

	* doc/groff.texinfo, doc/ More on a printable backslash.

2002-01-10  Werner LEMBERG  <>

	* font/devutf8/R.proto, font/devhtml/R.prot: Add `Eu' and `eu'
	* NEWS: Updated.

2002-01-09  Bernd Warken  <>

	* man/ Revised.
	* man/ Minor fixes.
	* src/roff/troff/ Some reordering.

2002-01-09  Werner LEMBERG  <>

	* tmac/an-old.tmac: Add dummy macros for equation support.

2002-01-07  Werner LEMBERG  <>

	doc/groff.texinfo: Fix documentation of glyph searching algorithm.

	* tmac/an-old.tmac: Revert change 2001-12-23.  This breaks too many
	man pages.
	* tmac/ Small improvements.

2002-01-07  Bernd Warken  <>

	* man/ Revised.

2002-01-06  Werner LEMBERG  <>

	* tmac/www.tmac: Remove extraneous backslash.

2002-01-06  Bernd Warken  <>

	* man/, src/roff/groff/, man/ Revised.

2002-01-05  Werner LEMBERG  <>

	Integrated groffer, contributed by Bernd Warken.

	* contrib/groffer/*: New.	
	*, NEWS: Updated.

2002-01-04  Werner LEMBERG  <>

	* doc/groff.texinfo: Added macros `@Defmpreg' and `@Defmpregx' for
	registers defined in macro packages.
	Revising the ms part.

2002-01-04  Larry Kollar  <>

	* doc/groff.texinfo: Add documentation for ms macros.

2002-01-02  Werner LEMBERG  <>

	First step in adding PS support for the Euro symbol.  `eu' is the
	official Euro logo, `Eu' is a font-specific glyph variant.

	* font/devps/text.enc: Add `Euro' at position 9.
	* font/devps/generate/textmap: Add `Euro' as symbol `Eu'.
	* font/devps/symbolmap: Regenerated.

	* NEWS: Updated.

2002-01-02  Bernd Warken  <>

	* man/ Revised.

2002-01-01  Bernd Warken  <>

	* src/roff/groff/ Completely rewritten.

2001-12-31  Werner LEMBERG  <>

	* doc/Makefile: Updated.

2001-12-30  Werner LEMBERG  <>

	* tmac/www.tmac: Make all names of internal macros/registers/strings
	lowercase, and prepend `www-'.
	Other minor changes.
	* src/roff/troff/ Add preprocessor string at BOF.

2001-12-30  Gaius Mulley  <>

	Implement option `-b' in grohtml to set the HTML background colour.

	* src/devices/grohtml/ (default_background): New global
	(html_printer::html_printer): Initialize `background' to
	(main): Implement option `-b'.
	(usage): Updated.
	* src/preproc/html/ (scanArguments): Add dummy handling
	of `-b' option.
	* src/devices/grohtml/ Updated.
	* doc/Makefile (.ms.html): Use `-b'.
	* tmac/html.tmac: Don't set background color.

	Add new grohtml tag `.html-tl'.

	* src/devices/grohtml/ (title_desc): Add `with_h1'
	member variable.
	(title_desc::title_desc): Updated.
	(html_printer::troff_tag): Handle `.html-tl'.
	(html_printer::write_title): Use `with_h1'.
	* tmac/www.tmac (www-end-nowhere): New auxiliary macro.
	(HTML-TL): New macro.

	Add support for unordered lists in HTML.

	* tmac/www.tmac (www-level): New auxiliary register.
	(www-level1, www-level2, www-level3): New auxiliary strings.
	(www-push-level, www-pop-level): New auxiliary macros
	(UL-BEGIN, UL-END, LI): User macros for unordered lists.


	* src/preproc/html/ (DEFAULT_IMAGE_RES): Increase to 100.
	(vertical_offset): Initialize with 0.
	(gsPaper): New global variable.
	(get_resolution): Scan for and return unsigned int.
	(get_papersize): New function to get paper length from devps/DESC.
	(determine_vertical_offset): New function.
	(createAllPages): Produce gray-level images and use proper page
	(createImage): Use `-quiet' option of pnmcrop.
	(addZ): Fix passing of `-Z'.
	(scanArguments): Fix handling of `-o'.
	(main): Call `determine_vertical_offset'.
	* src/devices/grohtml/ (html_printer::draw): Comment out
	code for `l'.

	* src/libs/libgroff/ (add_tmp_file): Fix buffer length.
	* src/roff/troff/ (troff_output_file::check_charinfo): Handle
	glyph descenders properly.

	* doc/ Include `gnubw.eps'.
	* doc/Makefile (gnubw.eps): New rule.
	(homepage.html): Depend on `gnubw.eps'.

2001-12-25  Werner LEMBERG  <>

	* src/roff/troff/ (default_black): Fix return value.

2001-12-24  Ruslan Ermilov  <>

	* tmac/doc-common (Dt): Change output of architecture strings.
	Do some syntax cleanup.
	* tmac/ Updated.

2001-12-23  Werner LEMBERG  <>

	Adding an `itc' request (input line trap accepting \c).

	* src/roff/troff/env.h (environment): New member
	Make `do_input_trap' a friend function instead of `input_trap'.
	* src/roff/troff/ (environment::environment,
	environment::copy): Updated.
	(environment::newline): Implement it.
	(do_input_trap): New function.
	(input_trap): Call `do_input_trap'.
	(input_trap_continued): New function.
	(init_env_requests): Updated.
	* src/roff/troff/TODO: Updated.

	* tmac/an-old.tmac (SH, SS, B, I, SM, SB, TP): Use `.itc' instead of

	* src/preproc/grn/ (DBRead): Really chop after 127 characters.

2001-12-22  Ruslan Ermilov  <>

	* tmac/doc-common, tmac/doc-syms: Small updates.

2001-12-22  Colin Watson  <>

	* tmac/an-old.tmac (an-p-footer): Set title length in environment 1.

2001-12-22  Bernd Warken  <>

	* MANIFEST: New file.

2001-12-22  Werner LEMBERG  <>

	* src/preproc/grn/ Updated.

2001-12-22  Solar Designer  <>

	* src/preproc/grn/ (MAXSTRING_S): New macro.
	(DBRead): Use it.

2001-12-19  Werner LEMBERG  <>

	Implement a fallback character request `.fchar'.

	* src/roff/troff/charinfo.h (charinfo): New flag `fallback'.
	(is_fallback): New inline function.
	* src/roff/troff/ (do_define_character): New function.
	(define_character): Call `do_define_character'.
	(define_fallback_character): New function.
	(init_input_requests): Add `fchar'.
	(charinfo::charinfo): Updated.
	(charinfo::set_macro): New argument to set `fallback' flag.
	* src/roff/troff/ (make_glyph_node, make_node,
	node::add_char): Check `fallback' flag.
	* NEWS, man/, man/groff_man: Updated.

2001-12-16  Werner LEMBERG  <>

	* groff.texinfo: Document exact search algorithm for glyphs.

2001-12-15  Werner LEMBERG  <>

	* Makefile.cpg, Makefile.ccpg, Add dummy file to
	the left side of $(MANPAGES) rule to make it always non-empty.

2001-12-14  Werner LEMBERG  <>

	* src/roff/troff/ (default_black): Define default color
	`black' if not yet defined.

2001-12-13  Werner LEMBERG  <>

	Implement new string-valued register `.fn' to return the current
	real (internal) font name.

	* (environment::get_font_name_string): New function.
	(init_env_requests): Add `.fn' register.
	* env.h (environment): Updated.
	* (font_info): Make `get_font_name' a friend.
	(get_font_name): New function.
	* node.h: Updated.

	* man/, man/, NEWS: Updated.

2001-12-12  Ralph Corderoy  <>

	* src/preproc/eqn/ (inline_equation): Fix typos.

2001-12-12  Werner LEMBERG  <>

	* tmac/, doc/groff.texinfo: There is no .R macro.

2001-12-10  Gaius Mulley  <>

	* man/ Adding documentation for \O.

2001-12-10  Werner LEMBERG  <>

	* src/preproc/html/ (TROFF_COMMAND): Removed.
	(scanArguments): Use PROG_PREFIX for the name of the troff binary.

2001-12-09  Werner LEMBERG  <>

	* man/ Revised.
	* src/roff/groff/ Replace man page references with a
	pointer to

2001-12-09  Bernd Warken  <>

	* man/ Completely rewritten.

2001-12-06  Ralph Corderoy  <>

	* src/preproc/eqn/ (inline_equation): Improve error message.

2001-12-05  Werner LEMBERG  <>

	* src/roff/troff/ (get_delim_file_name): Removed since no
	longer used.
	* src/devices/grohtml/ (html_printer::html_printer): Fix
	order of initializers.
	* NEWS: Updated.

2001-12-05  Gaius Mulley  <>

	* doc/groff.texinfo: Fix documentation of \O.

	* src/devices/grohtml/ (html_text::do_indent,
	html_text::do_table, html_text::do_emittext, html_text::do_para):
	Use `const' for first argument.
	(html_text::do_table): Use cast.
	* src/devices/grohtml/html-text.h: Updated.
	* src/devices/grohtml/ (simple_output::put_string): Add
	method for `const string &s'.
	* src/devices/grohtml/html.h: Updated.
	* src/devices/grohtml/ (MAX_STRING_LENGTH): Removed.
	(manufacture_headings): New global variable to handle `-h' option.
	(is_subsection): Removed.
	(char_buffer::add_string): Add `const' to first argument.
	Protect against invalid string argument.
	Add method for `const string &s'.
	(text_glob): Completely redesigned.
	(page): Use `const' for strings and remove string length variable.
	(page::add_html): Removed.
	(page::add_end_encode): New member function.
	(to_unicode): Moved upwards.
	(title_desc, header_desc): Updated.
	(header_desc::write_headings): Updated to new ANCHOR_TEMPLATE
	(html_printer::is_bold, html_printer::make_bold): New member
	(html_printer::end_of_line): Updated.
	(generate_img_src, html_printer::do_auto_image,
	html_printer::do_title, html_printer::write_header,
	html_printer::determine_header_level, html_printer::do_heading,
	html_printer::do_linelength, html_printer::do_pageoffset,
	html_printer::do_indentation, html_printer::do_tempindent,
	html_printer::do_indentedparagraph, html_printer::do_break,
	html_printer::flush_sbuf, get_html_translation,
	html_printer::begin_page, html_printer::special): Rewritten to get
	rid of static string length limit.
	(html_printer::troff_tag): Added `.no-auto-rule'.
	(html_printer::flush_globs): Small fix.
	(html_printer::determine_space): Don't compute `space_width'.
	(html_printer::translate_to_html): Renamed to ...
	(html_printer::emit_html): This (with updates).
	(html_printer::write_header): Implement `-h' option.
	(html_printer::draw): Remove commented-out code.  Handle `F'
	(html_printer::add_char_to_sbuf): Removed.
	(html_printer::add_to_sbuf): Rewritten.
	(html_printer::sbuf_continuation): Fixed.
	(html_printer::seen_backwards_escape, reverse,
	html_printer::remove_last_char_from_sbuf): Removed.
	(char_translate_to_html, str_translate_to_html): Removed.
	(html_printer::overstrike): New function member.
	(html_printer::set_char): Use it.
	(html_printer::do_body): New function member.
	(html_printer::~html_printer): Use it.
	(main): Handle `-h' option.
	(usage): Updated.
	* src/devices/grohtml/ Document -h switch.

	* src/preproc/html/ Include searchpath.h
	Replace `POSTSCRIPTRES' macro with `postscriptRes' variable.
	(get_resolution): New function.
	(checkImageDir): Use `0777' permissions in mkdir()
	(write_start_image): Rewritten to use `\O[5...]'.
	(createImage, generateImages): Updated.
	(main): Handle `F' and `h' options.
	Use `get_resolution'.

	* src/roff/troff/ (begin, end, image): Removed.
	(do_suppress): Take parameter.
	Handle modified syntax of `\O'.
	(token::next): Updated.
	(init_markup_requests): Removed.
	(main): Updated.

	* src/roff/troff/div.h: Add declaration for begin_page().

	* tmac/color-html.tmac: Removed.  Contents moved to...
	* tmac/html.tmac: Here.  Set background color.
	* tmac/color.tmac: Removed.  Contents moved to...
	* tmac/ps.tmac: Here.
	* tmac/www.tmac: Remove the title command when generating images
	for html.
	(NO_AUTO_RULE): New macro.
	(HTML_DO_IMAGE): Use revised `\O' escapes.
	* tmac/Makefile.sub, tmac/, tmac/troffrc: Updated.

2001-12-02  Werner LEMBERG  <>

	* tmac/ Fix typo.

2001-12-01  Colin Watson  <>

	* man/ Fix typo.

2001-11-29  Werner LEMBERG  <>

	* src/libs/libbib/map.c, src/utils/pfbtops/pfbtops.c: Include

	* src/roff/troff/ (read_draw_node): Emit error message if
	more than one argument to \D'f ...'.

	* tmac/Makefile.sub (NORMALFILES): Add lbp.tmac.

2001-11-28  Werner LEMBERG  <>

	* tmac/an-old.tmac, tmac/doc.tmac: Assure that the macro package is
	loaded only once.

	* tmac/ Minor cosmetic fix.

2001-11-27  Werner LEMBERG  <>

	* src/roff/groff/, tmac/,
	tmac/ s/mwww/www/.

2001-11-26  Werner LEMBERG  <>

	* aclocal.m4 (GROFF_MKSTEMP): Implement test using C++ linkage.
	* configure: Regenerated.
	* win32-diffs: Updated.

	* tmac/groff_mwww.tmac: Renamed to ...
	* tmac/groff_www.tmac: This.
	* tmac/mwww.tmac: Removed.
	* NEWS, tmac/Makefile.sub: Updated.

2001-11-21  Werner LEMBERG  <>

	* doc/groff.texinfo: Improve documentation of the `\v' escape.
	Fix explanation of `\D' and `rt'.

2001-11-20  Werner LEMBERG  <>

	* tmac/an-old.tmac (an-header): Set header length equal to page
	* doc/groff.texinfo: Improve documentation of `ne' request.  Other
	minor fixes.
	* NEWS: Small fix.

2001-11-19  Werner LEMBERG  <>

	* NEWS, man/Makefile.sub: Updated.

2001-11-19  Bernd Warken  <>

	* man/ New file.

2001-11-17  Werner LEMBERG  <>

	* man/ Renamed to ...
	* man/ This.  Updated.
	* man/Makefile.sub, src/roff/troff/, NEWS: Updated.

	* src/preproc/html/ Renamed to ...
	* src/preproc/html/ This.  Updated.
	* src/preproc/html/pushbackbuffer.h: Renamed to ...
	* src/preproc/html/pushback.h: This.
	* src/preproc/html/Makefile.sub, src/preproc/html/

	* src/libs/libgroff/ Renamed to ...
	* src/libs/libgroff/ This.
	* src/libs/libgroff/Makefile.sub: Updated.

	* tmac/an-old.tmac (an-end): Fix page length.

2001-11-16  Werner LEMBERG  <>

	* NEWS, man/, doc/groff.texinfo: Updated.
	* man/Makefile.sub: Include
	* VERSION: Set to 1.18.
	* REVISION: Set to 0.

2001-11-16  Bernd Warken  <>

	* src/roff/troff/ (do_define_macro): Allow whitespace before
	the second dot (or ending macro name) to end a macro.
	* doc/groff.texinfo: Doc fix.

2001-11-16  Ruslan Ermilov  <>

	* tmac/doc-common (doc-header): Handle very long document titles

2001-11-16  Werner LEMBERG  <>

	* tmac/doc.tmac (doc-do-Bl-args): Fix .substring requests.

2001-11-15  Werner LEMBERG  <>

	* src/roff/troff/ Revised and split into and...
	* man/ New file.
	* NEWS: Updated.

2001-11-13  Werner LEMBERG  <>

	* tmac/an-old.tmac (TS, TE): New macros for table support.

2001-11-12  Werner LEMBERG  <>

	* src/include/lib.h: Provide a fix for emx to not include

2001-10-27  Werner LEMBERG  <>

	* src/roff/troff/ (substring_macro): Fix computation of
	boundary values.

2001-10-20  Werner LEMBERG  <>

	Undo change from 2001-08-28.

	* src/roff/troff/ (have_input): New global variable.
	(token::next): Set `have_input' for \f, \H, \R, \s, and \S if not
	in compatibility mode.
	(process_input_stack): Use it.

2001-10-19  Ruslan Ermilov  <>

	* tmac/doc.tmac (doc-flag-recursion): Protect arguments against
	being handled as end-of-sentence characters,

2001-10-10  Gaius Mulley  <>

	* src/roff/troff/ (file_iterator): New members
	`suppress_newline_flag' and `seen_escape'.
	(file_iterator::next_file): Updated.
	(file_iterator::fill): Use it.
	(string_iterator): New member `suppress_newline_flag'.
	(string_iterator::fill): Set it.
	(get_color_element): Use MAX_COLOR_VAL.
	* src/roff/troff/ (environment): Remove `need_eol'.
	(no_fill): Don't set `env->ignore_next_eol'.
	(environment::newline): Handle `eol' tag properly.
	Emit `eol.ce'.
	(environment::add_html_tag): Set `env->ignore_next_eol'.
	Don't handle `.ce'.
	* src/roff/troff/env.h (environment): Updated.

	* src/devices/grohtml/ (text_glob::is_eol_ce): New
	member function.
	(html_printer::outstanding_eol): New member function.
	(html_printer::do_title): Use new functions.
	(html_printer::troff_tag): Test `id_eol_ce'.

2001-10-10  Werner LEMBERG  <>

	* tmac/color.tmac, tmac/color-html.tmac: Use `.do' to make those
	files work with -C also.

2001-10-05  Werner LEMBERG  <>

	* doc/ Minor fix.
	* src/preproc/html/ (scanArguments): Don't handle `-?'
	as a valid command line switch.
	* src/devices/grohtml/ (main): Ditto.
	(usage): Updated.
	* src/devices/grohtml/ Updated.
	* src/roff/groff/ (main): Pass `-v' to predriver also.

2001-10-04  Werner LEMBERG  <>

	Implementing color support in troff, pic, grops, and grohtml.  These
	changes are based on a major patch provided by Gaius Mulley

	New request: `defcolor', supporting rgb, cmy, cmyk, and gray
	definitions with both hex values and fractions.

	New escapes: \m and \M for drawing and background color,
	respectively.  This corresponds to the troff output commands `m'
	and `DF'.

	groff and troff accept command line switch `-c' to disable color
	output (which is automatically disabled in compatibility mode).

	New scaling indicator `f' for fractions (1f = 65536u).

	New conditional operator `m' to test for defined colors with `if'
	and `ie'.

	New keywords `color' (or `colour', `colored', `coloured'), `outline'
	(or `outlined'), and `shaded' added to pic.

	* src/include/color.h: New file.
	* src/include/driver.h: Include it.
	* src/include/printer.h: Include color.h.
	(environment): New members `col' and `fill'.
	(printer): Remove `adjust_arc_center' member function.
	* src/include/Makefile.sub: Updated.

	* src/libs/libdriver/ (do_file): Initialize `env.col' and
	Handle `m' and `DF' troff commands.
	* src/libs/libgroff/ New file.
	* src/libs/libgroff/Makefile.sub: Updated.

	* src/preproc/html/ (IMAGE_BORDER_PIXELS): Set to 2.
	(stop): Removed.
	(createImage): Fix computation of `y2'.
	Use `pnmcrop' also.
	(buffer::write_file_html): Remove calls to `stop'.

	* src/preproc/pic/common.h (common_output): New abstract function
	members `set_color', `reset_color', `get_last_filled', and
	* src/preproc/pic/object.h: Add `IS_SHADED' and `IS_OUTLINED'.
	(object_spec): Add members `shaded' and `outlined'.
	* src/preproc/pic/output.h (output): `command' is now abstract.
	New function members `set_color', `reset_color', `get_last_filled',
	and `get_outline_color'.
	* src/preproc/pic/ (lookup_keyword): Recognize `colo[u]r[ed]',
	`outline[d]', and `shaded'.
	* src/preproc/pic/ (output::command): Removed.
	(output::set_location):	Moved to output.h.
	(graphic_object): Add protected members `outline_color' and
	Add member functions `set_outline_color', `get_outline_color', and
	(closed_object): Add member function `set_fill_color'.
	Add member `color_fill'.
	(graphic_object::print_text): Use `out->set_color' and
	(box_object::print, ellipse_object::print, circle_object::print,
	line_object::print, spline_object::print, arc_object::print): Ditto.
	(object_spec::make_object): Implement `IS_OUTLINED' and `IS_SHADED'.
	* src/preproc/pic/pic.y: Add tokens `COLORED', `OUTLINED', and
	`SHADED', making them `%left'.
	Add rules `object_spec [SHADED|COLORED|OUTLINED] text'.
	* src/preproc/pic/ (tex_output): New dummy function members
	`set_color', `reset_color', `get_last_filled', and
	* src/preproc/pic/ (simple_output): New abstract function
	members `set_color', `reset_color', and `get_last_filled'.
	(simple_output::polygon, simple_output::circle,
	simple_output::ellipse): Use `get_last_filled'.
	(troff_output): New members `last_filled' and `last_outlined'.
	New function members `set_color', `reset_color', `get_last_filled',
	and `get_outline_color'.
	(troff_output::finish_picture): Use `reset_color'.
	(troff_output::set_fill): Test `last_filled'.
	* src/preproc/pic/ Updated.

	* src/roff/groff/ (main): Implement `-c' option.
	(synopsis, help): Updated.
	src/roff/groff/ Updated.

	* src/roff/troff/troff.h: Include color.h.
	(warning_type): Add WARN_COLOR.
	* src/roff/troff/env.h (environment): New members
	New member functions `get_{prev_,}{glyph,fill}_color'.
	* src/roff/troff/ Initialize and implement them.
	* src/roff/troff/ New global variable `disable_color_flag'.
	Replace `NULL' with `0' everywhere for consistency.
	(lookup_color, default_black, do_glyph_color, do_fill_color,
	get_color_element, read_rgb, read_cmy, read_cmyk, read_gray,
	define_color): New functions.
	(token::next): Implement \M and \m escapes.
	(do_if_request): Implement `m' operator.
	(usage): Updated.
	(main): Implement `-c' option.
	(init_markup_requests): Add `defcolor' request.
	(warning_table): Add `color' warning.
	* src/roff/troff/node.h (glyph_color_node, fill_color_node): New
	* src/roff/troff/ (troff_output_file): New members
	`current_{page,glyph}color'.  New member functions `put_hex',
	`glyph_color', and `fill_color'.
	(glyph_color_node::*, fill_color_node::*): Implement it.
	* src/roff/troff/ (SCALE_INDICATOR_CHARS): Add `f'.
	(parse_term): Add support for `f'.
	* src/roff/troff/ Updated.

	* src/devices/grodvi/ (draw_dvi_printer::draw): Add dummy
	entry for `F'.
	* src/devices/grolbp/ (lbp_printer::draw): Ditto.
	* src/devices/grolj4/ (lj4_printer::draw): Ditto.

	* src/devices/grohtml/html-text.h (HTML_TAG): Add COLOR_TAG.
	(tag_definition): Use `void *' for arg1.
	(html_text): New member functions `do_color' and `done_color'.
	Use `void *' for second parameter of `push_para' member function.
	New `push_para' member function with a single parameter.
	Use `char *' for parameter of `issue_table_begin' member funtion.
	New `issue_color_begin' member function.
	* src/devices/grohtml/ (html_text::end_tag): Handle
	(html_text::issue_color_begin): New function.
	(html_text::issue_table_begin): Use `char *' for parameter.
	(html_text::start_tag, html_text::shutdown,
	html_text::check_emit_text): Updated.
	(html_text::push_para): Use `void *' for second parameter.
	Add same function with only one parameter.
	(html_text::do_*): Updated.
	(html_text::do_color, html_text::done_color): New functions.
	* src/devices/grohtml/ (style): New member `col'.
	Mew member `style' with 6 parameters.
	(style::style, style::operator==): Updated.
	(html_printer::do_font): Use it.
	(html_printer::draw): Add dummy entry for `F'.
	(html_printer::set_char): Updated.
	* src/devices/grohtml/ Updated.

	* src/devices/grops/ (ps_output::put_float): Use `%g' to have
	trailing zeroes removed.
	(ps_printer): New members `sbuf_color', `fill_color', and
	Removed member `fill'.
	New member function `set_color'.
	(ps_printer::ps_printer, ps_printer::set_char): Updated.
	(ps_printer::flush_sbuf, ps_printer::set_line_thickness,
	ps_printer::fill_path, ps_printer::draw): Use `set_color'.

	* tmac/color-html.tmac, tmac/color.tmac: New files.
	* tmac/troffrc: Include them.
	* tmac/www.tmac (URL, FTP, MAILTO): Use blue color.
	* tmac/Makefile.sub: Updated.

	* NEWS, doc/groff.texinfo, doc/, man/,
	man/ Updated.
	* font/devps/ Define FC and CO functions.

2001-10-04  Gaius Mulley  <>

	Fix incorrect cropping of images and incorrect handling of special
	characters.  Fix handling of file names in \O.

	* src/include/geometry.h: New file.
	* src/libs/libgroff/ New file.
	* src/libs/libdriver/ (printer::adjust_arc_center): Moved
	to `'.
	* src/roff/troff/ (get_delim_file_name): Fixed problem with
	initial spaces.
	(do_suppress): Updated.
	* src/roff/troff/ Include geometry.h.
	(troff_output_file::flush_tbuf): Fixed parameters to
	(troff_output_file::check_charinfo): Ditto.
	(troff_output_file::determine_line_limits): Add support for `Da'
	and `Dl' commands.

	* src/devices/grohtml/ (str_translate_to_html):
	Add new parameter `is_special' to decode special characters from
	escape sequences.
	(html_printer::do_title, html_printer::do_heading,
	html_printer::translate_to_html, html_printer::special): Updated.

2001-10-03  Werner LEMBERG  <>

	* Makefile.sub (DISTCLEANFILES): Add stamp-h.
	Fix entry for config.h.
	* test-groff (GROFF_BIN_PATH): Add $builddir/roff/groff.
	* tmac/troffrc: Translate nonbreakable space character to `\~'.
	* src/preproc/eqn/ Document -d command line option.

2001-09-27  Werner LEMBERG  <>

	* man/ Use

	  .ev xxx

	instead of the old code (`.ad .hy' after the table) to suppress
	incorrect hyphenation for grohtml output.

2001-09-22  Werner LEMBERG  <>

	* man/, man/ Minor fixes.

2001-09-20  Werner LEMBERG  <>

	* PROBLEMS: Updated, reordered.  Improved EPS section (thanks to
	Arnold Robbins <>).

2001-09-09  Werner LEMBERG  <>

	* configure: Regenerated with autoconf 2.52.

	* doc/groff.texinfo: Complete revision of indices.

2001-09-07  Werner LEMBERG  <>

	* doc/Makefile (clean): Updated to delete all indices.

2001-09-05  Werner LEMBERG  <>

	* src/roff/troff/ Remove superfluous line.

	* tmac/s.tmac: Enable all warnings only if no -W or -w option is
	given on the command line (or rather, if only the default warnings
	are set).

2001-09-03  Werner LEMBERG  <>

	* man/, src/preproc/eqn/, tmac/ Don't
	use .ne for TTY devices.

2001-08-31  Werner LEMBERG  <>

	* src/roff/troff/token.h, src/roff/troff/

2001-08-28  Werner LEMBERG  <>

	* src/roff/troff/token.h (token_type): Add TOKEN_TRANSPARENT_ESCAPE.
	* src/roff/troff/ (token::next): Return
	TOKEN_TRANSPARENT_ESCAPE for \f, \H, \R, \s, and \S if not in
	compatibility mode.
	(token::description): Updated.
	(process_input_stack): Reset `bol' for TOKEN_TRANSPARENT_ESCAPE.
	(token::add_to_node_list, token::process): Ignore

2001-08-27  Werner LEMBERG  <>

	* tmac/an-old.tmac: Fix `S' string.

2001-08-26  Werner LEMBERG  <>

	* src/roff/troff/ Don't use .ne for TTY devices.

2001-08-25  Werner LEMBERG  <>

	* doc/ Replace `\\' with `\e' (and fixing some single
	Many other minor fixes.

	* Add message at end to inform how to compile
	* configure: Regenerated.

2001-08-24  Werner LEMBERG  <>

	* src/include/getopt.h, src/libs/libgroff/{getopt.c, getopt1.c}:
	Updated to latest version of libc.

2001-08-23  Werner LEMBERG  <>

	* Don't create subdirectories before AC_CONFIG_FILES.
	Autoconf 2.50 and newer can handle this.
	* configure: Regenerated.

2001-08-21  Werner LEMBERG  <>

	* doc/ Fix typo.
	* src/preproc/tbl/ Document case of global options.

2001-08-21  Gaius Mulley  <>

	* src/devices/grohtml/ (html_printer::end_font): Fix
	handling of `CR' font.

2001-08-20  Werner LEMBERG  <>

	Use a config.h file.

	* src/include/lib.h: Include config.h.
	* All C files: Ditto (if necessary).
	* All C++ source and header files: Include lib.h first (if

	* src/include/config.hin: New file (autogenerated by autoheader).
	* New file.
	* Updated.
	* aclocal.m4: Add third parameters to AC_DEFINE macros.
	(GROFF_ARRAY_DELETE): Simplified.
	* Makefile.sub (DISTCLEANFILES): Updated.
	Added targets for remaking config.status, config.hin, config.h,, and stamp-h.
	* configure: Regenerated.

2001-08-19  Werner LEMBERG  <>

	* NEWS: Updated.

2001-08-18  Sebastian Krahmer  <>

	* src/preproc/pic/pic.y (format_number): Use do_sprintf().
	(do_sprintf): Use snprintf().

2001-08-18  Werner LEMBERG  <>

	* src/libs/snprintf/*: Added an snprintf module written by Mark
	* src/libs/libgroff/Makefile.sub: Updated.
	* Add test for snprintf().
	* Updated.
	* configure: Regenerated.

	* src/preproc/html/ (make_message): Reactivate code which
	uses snprintf().

2001-08-14  Ruslan Ermilov  <>

	* tmac/doc.tmac (Ex): New implementation.
	* tmac/doc-common, tmac/ Updated.

2001-08-13  Ruslan Ermilov  <>

	* tmac/doc.tmac (Rv): Implement support for 0 or more than 1
	* tmac/ Updated.

2001-08-13  Werner LEMBERG  <>

	* src/preproc/tbl/ Minor documentation update.

2001-08-13  John David Anglin  <>

	* src/libs/libgroff/ Add prototype for gettimeofday().
	* Add declaration test for gettimeofday().
	* aclocal.m4: Include sys/time.h for gettimeofday declaration test.
	* configure: Regenerated.

2001-08-11  Werner LEMBERG  <>

	* aclocal.m4 (GROFF_MKSTEMP): Define HAVE_MKSTEMP.
	* Add declaration test for strcasecmp().
	* Updated.
	* configure: Regenerated.
	* src/include/lib.h [!HAVE_MKSTEMP]: Add prototype for mkstemp() --
	this is necessary because groff's is C++.
	Add declaration conditionally for strcasecmp().

2001-08-10  Werner LEMBERG  <>

	Integrated pic2graph, contributed by Eric S. Raymond.

	* contrib/pic2graph/{Makefile.sub,,}: New
	*, NEWS: Updated.

	* src/preproc/tbl/ Revised.

2001-08-09  Eric S. Raymond  <>

	* src/preproc/tbl/ Extended to cover all tbl features.

2001-08-09  Werner LEMBERG  <>

	* src/preproc/tbl/ (process_data): Fix recognition of .lf

2001-08-08  Paul Eggert  <>

	* Makefile.sub (configure): Depend on, not
	* INSTALL.gen: Upgrade to autoconf 2.52's INSTALL.

2001-08-07  Werner LEMBERG  <>

	* src/utils/afmtodit/, src/roff/groff/ Minor

2001-08-06  Werner LEMBERG  <>

	* src/roff/troff/ Improve documentation of -E option.

2001-07-28  Ralph Corderoy  <>

	* src/preproc/html/ (pushBackBuffer::readNumber):

2001-07-27  Werner LEMBERG  <>

	* src/preproc/refer/ Undo last change.
	* src/devices/grohtml/ Ditto.

2001-07-26  Werner LEMBERG  <>

	* src/preproc/refer/ Include `lib.h'.
	* src/devices/grohtml/ Ditto.

2001-07-25  Gaius Mulley  <>

	* aclocal.m4 (GROFF_PAGE): Add `AC_DEFINE(PAGEA4)'.
	* src/preproc/html/ Use it for DEFAULT_VERTICAL_OFFSET.
	* Comment updated.
	* configure: Regenerated.

2001-07-25  Werner LEMBERG  <>

	* src/preproc/pic/ Removed.
	* src/preproc/pic/pic_tab.h: Removed.
	* src/preproc/refer/ Removed.

	* doc/Makefile (.ms.html): Don't use a file name extension in
	argument to grohtml's -I option.
	* (dist): Remove CVS directories.
	Call `distfiles' target.

	* src/devices/grohtml/ Add information about valid
	versions of pnmtopng.
	* src/preproc/html/ (TRANSPARENT): Use `white' as colour
	name instead of number.

2001-07-24  Werner LEMBERG  <>

	* doc/groff.texinfo: Minor fixes.

2001-07-21  Gaius Mulley  <>

	* doc/Makefile (.ms.html): Put image files into a subdirectory.
	(clean): Updated.

2001-07-20  Werner LEMBERG  <>

	* src/libs/libgroff/ New file, defining get_tempname().
	* src/libs/libgroff/ New file.
	* src/libs/libgroff/ New file.
	* src/libs/libgroff/ [HAVE_MKSTEMP_PROTO]: Removed.
	(xtmpfile) [!HAVE_MKSTEMP]: Removed.
	* src/libs/libgroff/Makefile.sub: Updated.
	* src/include/lib.h: Add mksdir() prototype.
	* src/include/posix.h: Define S_IXUSR if not yet defined.

	* src/preproc/html/ (MAX_RETRIES): Removed.
	(createAllPages): Use mksdir() instead of current code.
	* src/utils/indxbib/ [HAVE_MKSTEMP_PROTO]: Removed.
	(main): [!HAVE_MKSTEMP]: Removed.

	* aclocal.m4 (GROFF_MKSTEMP): Updated to use new file.
	* Add tests for stdint.h, sys/time.h, and
	Call new GROFF_xxx macros.
	* configure: Regenerated.
	* Comments updated.

2001-07-20  Gaius Mulley  <>

	* src/preproc/html/ (scanArguments): Use getopt_long()
	instead of current code.
	* src/devices/grohtml/ (main): Handle `-d' option.
	* src/roff/groff/ (possible_command::insert_args): New
	(main): Use it for predriver handling instead of insert_arg().

2001-07-19  Werner LEMBERG  <>

	* doc/Makefile: Added GROFF_BIN_PATH to make it work with uninstalled
	groff also.

	* src/include/posix.h: Define S_IWUSR if not yet defined.

2001-07-18  Werner LEMBERG  <>

	* NEWS: Updated.

2001-07-18  Ruslan Ermilov  <>

	* tmac/ Document new -width and -column syntax.
	Some other minor fixes.
	* tmac/an-old.tmac: Add `AT' and `UC' macros.

2001-07-17  Gaius Mulley  <>

	Replace call to `troff' with `groff -Z' to make it aware of

	* src/preproc/html/ (TROFF_COMMAND): New macro.
	(troff_command, command_prefix): Removed.
	(alterDeviceTo): Use groff.
	(addZ): New function.
	(char_buffer::do_html): Use it.
	(scanArguments): Use TROFF_COMMAND.
	(findPrefix): Removed.
	(main): Updated.
	* src/roff/groff/ (main): Handle zflag for preprocessors.

2001-07-17  Eric S. Raymond  <>

	* doc/ Documentation fixes.

2001-07-17  Werner LEMBERG  <>

	Replace atexit() with global destructor.

	* src/libs/libgroff/ (xtmpfile_list): Add constructor.
	(xtmpfile_list_init): New global structure to deallocate
	xtmpfile_list on exit.  Its destructor inherits most code from
	(remove_tmp_files): Deleted.
	(add_tmp_file): Simplified.

2001-07-16  Werner LEMBERG  <>

	Replace strdup() with strsave().

	* src/devices/grolbp/ [!HAVE_STRDUP]: Removed.
	(set_papersize): Use strsave() and a_delete.
	(main): Use strsave().
	* src/preproc/html/ (make_message, createAllPages,
	removeAllPages): Use strsave() and a_delete.

	* Remove test for strdup.
	* Comment updated.
	* configure: Regenerated.

2001-07-15  Werner LEMBERG  <>

	* win32-diffs: Updated.

2001-07-14  Werner LEMBERG  <>

	* src/preproc/html/ (makeTempFiles): Activate new code,
	removing the old one.
	* src/utils/indxbib/ (main): Remove compiler warning.

2001-07-14  Ralph Corderoy  <>

	* src/libs/libgroff/ (xtmpfile): Fix guard for `namep'.

2001-07-12  Ruslan Ermilov  <>

	Merge -xwidth into -width.  Add -xwidth functionality to -column

	* tmac/doc.tmac (Bl): Add dummy doc-typeXXX and doc-spaceXXX to
	avoid warning.
	(doc-do-Bl-args): Merge -xwidth code with -width.  Test whether
	string immediately following a leading dot starts with a valid mdoc
	Add similar code to the -column branch.
	(doc-Bl-usage): Updated.
	* s/-xwidth/-width/.

2001-07-12  Gaius Mulley  <>

	* src/devices/grohtml/ (text_glob::is_br): Stop titles
	running into centered or non-formatted text.

2001-07-11  Werner LEMBERG  <>

	Introduce short and long prefixes to have the selection at run-time
	whether there is a 8+3 limit for names of temporary files.

	* src/libs/libgroff/ (TMPFILE_PREFIX): Replaced with...
	(tmpfile_prefix, tmpfile_prefix_len, use_short_prefix): New
	(temp_init): New global structure to initialize above three
	(xtmptemplate): Use two parameters for long and short prefix.
	Simplify code use above three variables.
	(xtmpfile): Use long and short prefixes as parameters.
	* src/include/lib.h: Updated.

	* src/preproc/html/ ({PAGE,PS,REGION}_TEMPLATE): Replace
	with ...
	(createAllPages, makeTempFiles): Updated.

2001-07-09  Werner LEMBERG  <>

	* REVISION: Increased to 3.

Local Variables:
version-control: never
coding: latin-1