ChangeLog.117   [plain text]

Version 1.17.2 released

2001-07-07  Werner LEMBERG  <>

	* src/utils/indxbib/ (main): Change type of `name_max'
	to size_t.

2001-07-06  Ruslan Ermilov  <>

	* tmac/doc.tmac (Rv): Make `Rv' really not parseable.
	Fix synopsis.
	* tmac/ Fix synopsis.

2001-07-05  Ruslan Ermilov  <>

	* tmac/doc.tmac (doc-inset-list, doc-hang-list, doc-ohang-list):
	Restore `doc-Pa-font'.

2001-07-04  Werner LEMBERG  <>

	* src/utils/indxbib/dirnamemax.c: Moved to ...
	* src/libs/libgroff/ Here.
	Add copyright.
	* src/include/lib.h: Add file_name_max.
	* src/utils/indxbib/ Updated.
	* src/utils/indxbib/Makefile.sub, src/libs/libgroff/Makefile.sub:

	* src/libs/libgroff/ (TMPFILE_PREFIX) [__MSDOS__]: Define
	as empty.
	(xtmpfile) [_MSC_VER]: Removed -- MSVC has mktemp().

	* src/preproc/html/ (PAGE_TEMPLATE, PS_TEMPLATE,
	REGION_TEMPLATE): New macros.
	(createAllPages, makeTempFiles): Use them.
	Include `nonposix.h'.
	(html_system): New function.
	(createAllPages, createImage): Use it.

	* tmac/www.tmac: Fix typos.

2001-07-03  Werner LEMBERG  <>

	* tmac/www.tmac: Disable hyphenation in normal text only if output
	device is html.
	(URL, FTP, MAILTO): Disable hyphenation of actual URL with `\%'.
	* tmac/, NEWS: Updated.

2001-07-03  Gaius Mulley  <>

	* tmac/www.tmac (.IMAGE): Add fourth parameter to specify vertical
	image location.

2001-07-02  Ruslan Ermilov  <>

	* tmac/doc-common, tmac/doc.tmac (doc-display-ft-stack,
	doc-display-ps-stack): Implement font and font size stack for

2001-07-02  Werner LEMBERG  <>

	* REVISION: Increased to 2.
	* src/roff/troff/ (read_size): Fix special case `\s[0]'.

	* src/groff/grog/ (process): Handle `Oo' and `Oc' not at the
	beginning of a line.
	* src/groff/grog/ Ditto.

2001-06-29  Peter Marquardt  <>

	* src/preproc/eqn/ Put `export' keyword in a new line to
	make it portable.

2001-06-27  Werner LEMBERG  <>

	Fix problems with preprocessor string for `man' program.

	* *.man: Don't use `s' in preprocessor string --  it doesn't exist.
	Updated/added copyright.
	Moved Emacs's local variable to identify nroff mode to the end of
	the file; add local variable if missing.

2001-06-26  Andras Salamon  <>

	* aclocal.m4: Replace AC_LANG_SAVE + AC_LANG_CPLUSPLUS with
	* configure: Regenerated.

2001-06-25  Andras Salamon  <>

	* aclocal.m4 (GROFF_PAGE): Fix page detection code.
	* configure: Regenerated.

2001-06-24  Werner LEMBERG  <>

	* doc/ Don't include arkup.tmac (which no longer exists)
	but www.tmac.
	* doc/ Fix typos.

Version 1.17.1 released

2001-06-21  Golubev I. N.  <>

	* aclocal.m4 (GROFF_NEED_DECLARATION): Fix inclusion of strings.h.
	* configure: Updated.

2001-06-20  Gaius Mulley  <>

	* src/roff/preproc/html/ (make_message): Fix incorrect
	image names.
	* src/roff/troff/ (blank_line): Add html tag.

2001-06-19  Gaius Mulley  <>

	* src/roff/troff/ (do_suppress): Fix typo.

2001-06-18  Gaius Mulley  <>

	Added two new options (-D and -I) to specify image names and a
	subdirectory to place the images in.

	Change syntax from \\Ox to \\O[x].

	* src/devices/grohtml/ (main): Add options.
	(usage): Updated.
	* src/preproc/html/ Include `stdarg.h'.
	Use `NULL' instead of `0' for null string pointers.
	(MAX_RETRIES): New macro.
	(lengthOfintToStr, intToStr, make_message): New functions.
	(makeFileName): Make function static.
	Implement -D and -I options.
	(checkImageDir): New function.
	(write_end_image, write_start_image): Use new syntax of \O.
	(createAllPages, removeAllPages): Implement -D and -I options.  Use
	(createImage): Use make_message().
	(addps4html): Add guard for malloc().
	(usage, scanArguments): Updated.
	(makeTempFiles): Use mkstemp().
	(removeTempFiles): Use unlink().
	(findPrefix): Add guard for malloc().
	(main): Updated.
	* src/roff/troff/ (get_delim_file_name): New function to
	parse \O.
	(do_suppress): Updated to parse new syntax.
	* src/devices/grohtml/ Updated.
	* tmac/www.tmac: Updated to new syntax.

	* NEWS: Updated.

2001-06-15  Werner LEMBERG  <>

	* src/roff/grog/Makefile.sub: Remove NAMEPREFIX.

	* src/devices/grohtml/ Minor improvements.

2001-06-14  Werner LEMBERG  <>

	* src/preproc/html/Makefile.sub: Remove NAMEPREFIX.

2001-06-11  Werner LEMBERG  <>

	* man/, mann/ Use '\" instead of .\" in the first
	line to specify preprocessor options -- mandb 2.3.1 only recognizes
	the former.
	* src/preproc/grn/ Add proper '\" string.

2001-06-11  OKAZAKI Tetsurou  <>

	* test-groff: Don't use PATH but GROFF_BIN_PATH.

2001-06-08  Werner LEMBERG  <>

	Updated to autoconf 2.50.

	* Renamed to...
	* This.
	* aclocal.m4 (AC_OUTPUT_MAKE_DEFS): Removed.
	(GROFF_OS390): Updated.
	* configure: Regenerated.

2001-05-18  Werner LEMBERG  <>

	* src/roff/troff/env.c, src/roff/troff/env.h,
	src/roff/troff/, src/roff/troff/ Undo `ss' change
	from 2000-12-21.

2001-05-17  Jeffrey Friedl  <>

	* src/roff/troff/ (read_size): Fix special case `\s0'.

2001-05-16  Werner LEMBERG  <>

	* src/roff/troff/ (read_size): Emit warning if value becomes
	less than or equal zero; set it to 1 then.
	* src/roff/troff/node.h (node::node): Initialize `last'.

2001-05-08  Werner LEMBERG  <>

	* tmac/an-old.tmac: Make predefined strings work in compatibility
	Add troff version guard.
	* tmac/doc.tmac: Simplify version guard.

2001-05-07  Werner LEMBERG  <>

	The .ns and .rs requests are now honoured not only in the top-level
	but in all diversions (similar to UNIX troff).

	This change is based on a patch from Tadziu Hoffmann

	* src/roff/troff/div.h (diversion): Add `no_space_mode' member.
	(top_level_diversion): Remove `no_space_mode' member.
	* src/roff/troff/ (diversion::diversion,
	top_level_diversion::top_level_diversion): Updated.
	(macro_diversion::output): Reset `no_space_mode'.
	(no_space, restore_spacing): Use `curdiv' unconditionally.
	(space_request, blank_line): Check `curdiv->no_space_mode'.
	(no_space_mode_reg::get_value, no_space_mode_reg::get_string): Use
	`curdiv' unconditionally.
	* NEWS, src/roff/troff/, man/, doc/groff.texinfo:

2001-05-06  Werner LEMBERG  <>

	Added two new requests `de1' and `am1' which are similar to `de' and
	`am' with the difference that compatibility mode is saved on entry,
	switched off during macro execution, and restored on exit.

	* src/roff/troff/input.h: Added two new special characters
	* src/roff/troff/ (input_iterator): Added two member
	functions `save_compatible_flag' and `get_compatible_flag'.
	(input_stack): Ditto.
	(string_iterator): Ditto.  Also add private member
	(calling_mode): New enumeration.
	(do_define_macro): Use it.  Insert COMPATIBLE_SAVE and
	COMPATIBLE_RESTORE at the beginning and end of macro, respectively.
	(define_macro, define_indirect_macro, append_macro, ignore): Use
	(define_nocomp_macro, append_nocomp_macro): New functions.
	(init_input_requests): Updated.
	(do_request): Rename local variable `saved_compatible_flag' to
	* NEWS, src/roff/troff/, man/ Document it.

	* tmac/an-old.tmac: Use `de1' instead of `de' request for all
	public and trap-invoked macros.  As a consequence, the man macros
	work in compatibility mode also.

2001-05-06  Solar Designer  <>

	* Use $(mandir).

2001-05-06  Alexios Zavras  <>

	* src/utils/afmtodit/ Fix serious typo.

2001-05-05  Werner LEMBERG  <>

	Added `.ns' number register: Returns 1 in no-space mode (if in
	top-level diversion), 0 otherwise.

	* src/roff/troff/ (no_space_mode_reg): New class.
	(init_div_requests): Updated.
	* NEWS, src/roff/troff/, man/, doc/groff.texinfo:
	Document it.

2001-05-04  Werner LEMBERG  <>

	* src/roff/nroff/ Improved documentation (especially

2001-05-02  Werner LEMBERG  <>

	Added `brp' request: This is \p as a request.

	* src/roff/troff/ (environment::do_break): Add parameter
	(do_break_request): New function (was `break_request').
	(break_request): Calls `do_break_request'.
	(break_spread_request): New; calls `do_break_request'.
	(init_env_requests): Updated.
	* src/roff/troff/env.h: Updated.
	* NEWS, src/roff/troff/, man/ Document it.

	* REVISION: Increased to 1.
	* win32-diffs: Updated.

2001-05-01  Werner LEMBERG  <>

	* tmac/an-old.tmac: Fix minor compatibility mode issue.
	* tmac/troffrc-end: Make it really work in compatibility mode.

2001-04-27  Werner LEMBERG  <>

	* src/utils/lkbib/ Switch inclusion order of stdio.h and

2001-04-22  Werner LEMBERG  <>

	* src/libs/libgroff/getopt.c, src/include/getopt.h: Updating to
	latest versions from glibc CVS archive.

	* MORE.STUFF: Updated, using a patch from Kees Zeelenberg

2001-04-21  Werner LEMBERG  <>

	* Move check for mkstemp() to...
	* aclocal.m4 (GROFF_MKSTEMP): This new function.
	* configure: Regenerated.

	* src/include/groff-getopt.h: Don't use variable names in

	* src/devices/grohtml/html-chars.h: Removed.  It isn't used.
	* src/devices/grohtml/Makefile.sub,
	src/devices/grohtml/ Updated.

2001-04-21  Albert Chin-A-Young  <>

	* Add special check for mkstemp().
	* src/libs/libgroff/ Use it.
	* src/utils/indxbib/ Ditto.
	* src/utils/pfbtops/pfbtops.c (main): Don't use C++ comment style.
	* src/devices/grolbp/lbp.h (lbpprintf, lbpputs, vdmprintf): Use

2001-04-20  Bruce Lilly  <>

	`Version_string' as C++ object was not visible to linker from C
	object files.
	Add `const' to `Version_string'.

	* src/utils/pfbtops/pfbtops.c (main), src/roff/groff/
	(main), src/roff/troff/ (main), src/preproc/tbl/
	(main), src/preproc/pic/ (main), src/preproc/eqn/
	(main), src/preproc/grn/ (main), src/preproc/html/
	(scanArguments), src/preproc/refer/ (main),
	src/preproc/soelim/ (main), src/devices/grotty/
	(main), src/devices/grodvi/ (main), src/devices/grolj4/
	(main), src/devices/grohtml/ (main),
	src/devices/grolbp/ (main), src/utils/tfmtodit/
	(main), src/utils/hpftodit/ (main),
	src/utils/lookbib/ (main), src/utils/indxbib/
	(main), src/utils/lkbib/ (main),
	src/utils/addftinfo/ (main): Implement it.

	* src/roff/groff/pipeline.c: Add _UWIN.
	* src/include/nonposix.h: Ditto.

2001-04-20  Werner LEMBERG  <>

	* src/include/lib.h: Use HAVE_STRERROR.
	* src/roff/groff/pipeline.c: Ditto.
	* src/preproc/html/ Remove declaration of `strerror'.
	* src/libs/libgroff/Makefile.sub ( Add `extern "C"'.
	* src/utils/pfbtops/pfbtops.c: Add copyright notice.
	* win32-diffs: Updated.
	* src/utils/hpftodit/ (read_map): Fix compiler warning.

2001-04-19  Werner LEMBERG  <>

	* src/preproc/html/ (scanArguments): Use `troff_command'
	instead of hardwired `"troff"'.
	(char_buffer::read_file): Remove unused variables.
	(char_buffer::write_file_troff): Ditto.
	(char_buffer::write_file_html): Ditto.
	(generateImages): Ditto.
	(abs): Removed.
	* src/utils/addftinfo/ (main): Fix compilation problem.

	* src/include/lib.h: Don't include `groff-getopt.h' for UWIN.

	* src/libs/libgroff/ (font::load_desc): Fix compiler warning.
	* src/libs/libbib/ (index_search_item_iterator::get_tag,
	index_search_item::search1): Ditto.
	* src/roff/troff/node.h (width_list): Reorder members.
	* src/roff/troff/ (do_define_macro): Fix compiler warning.
	(lookup_warning): Ditto.
	(prepend_string): Commented out.
	* src/roff/troff/ (is_good_size): Fix compiler warning.
	* src/roff/troff/ (number_value_to_ascii): Ditto.
	* src/preproc/tbl/ (process_format): Ditto.
	* src/preproc/pic/pic.y (define_variable, reset, reset_all): Fix
	compiler warnings.
	* src/preproc/pic/ Updated.
	* src/preproc/eqn/ (init_table): Fix compiler warnings.
	* src/preproc/eqn/ (over_box::compute_metrics): Ditto.
	* src/preproc/refer/ (execute_command): Ditto.
	* src/preproc/refer/ (sortify_title, find_month): Ditto.
	* src/preproc/refer/ (lookup_token): Ditto.
	* src/preproc/soelim/ Ditto.
	* src/preproc/html/ (ERROR): Ditto.
	(isHexDigit): Commented out.
	(pushBackBuffer::isString): Remove unused variable.
	* src/devices/grops/ (ps_printer::special): Fix compiler
	* src/devices/grops/ (resource_manager::lookup_font,
	resource_manager::read_resource_arg, read_one_of, parse_extensions):
	* src/devices/grodvi/ (dvi_printer::draw): Ditto.
	* src/devices/grolj4/ (lj4_font::handle_unknown_font_command,
	lookup_paper_size): Ditto.
	* src/devices/grohtml/ (is_subsection): Commented out.
	(text_glob, element_list): Reorder members.
	* src/devices/grohtml/ (html_text::do_pre): Remove
	compiler warning.
	* src/devices/grohtml/html-text.h (html_text::emit_space): Change
	return value to `void'.
	* src/devices/grohtml/ (word_list::word_list): Fix order
	of initializers.
	* src/devices/grohtml/html.h (simple_output::check_newline,
	simple_output::space_or_newline, simple_output::enable_newlines):
	Add return value.
	* src/devices/grolbp/ (wp54charset, set_papersize): Remove
	compiler warnings.
	* src/utils/tfmtodit/ (tfm::load, gf::load, main): Ditto.
	* src/utils/hpftodit/ (File::seek, read_symbol_sets,
	output_ligatures, output_charset, read_map): Ditto.
	* src/utils/lookbib/ (main): Ditto.
	* src/utils/indxbib/ (main, fwrite_or_die): Ditto.
	(do_file): Fix typo (`=' -> `==').
	* src/utils/lkbib/ (main): Remove compiler warning.
	* src/utils/addftinfo/ (main): Ditto.

2001-04-18  Ruslan Ermilov  <>

	* src/roff/nroff/ Adding -p (pic) and -t (tbl) options.
	Fix usage of GROFF_BIN_PATH.
	* src/roff/nroff/ Updated.

2001-04-18  Werner LEMBERG  <>

	* NEWS: Fixing typos.

Version 1.17 released

2001-04-17  Werner LEMBERG  <>

	* tmac/Makefile.sub (install-data): mdoc.local-s is in current
	directory, not in $(srcdir).

2001-04-16  Werner LEMBERG  <>

	* doc/groff.texinfo: More info on conditionals.

2001-04-15  Werner LEMBERG  <>

	* doc/groff.texinfo: Added some info about groff internals.

	* src/roff/troff/ (make_glyph_node): Emit warning message
	about missing special character only if the name is non-null.

2001-04-14  Werner LEMBERG  <>

	Removing the grohtml-old device driver which is now obsolete.

	* src/devices/grohtml-old/*: Removed.
	* font/devhtml-old/*: Removed.
	* src/libs/libgroff/ (graphic_start, graphic_end):
	Remove comments.
	* test-groff (PATH): Updated.
	* tmac/Makefile.sub (NORMALFILES): Updated.
	* tmac/an-old.tmac: Remove special code for html-old device.
	Replace `html-or-html-old' register with `an-html'.
	* tmac/eqnrc: Updated.
	* tmac/html-old.tmac: Removed.
	* tmac/troffrc, tmac/troffrc-end: Updated.
	* tmac/www.tmac: Remove special code for html-old device.
	Replace `html-or-html-old' register with `www-html'.

	* src/libs/libgroff/ (remove_tmp_files),
	src/libs/libgroff/ (graphic_end),
	include/htmlindicate.h, src/preproc/grn/*.cc,
	src/roff/groff/env.{cc,h}: Remove `void' parameter if used as a
	single argument for consistency with rest of source code.

	* aclocal.m4, tmac/an-old.tmac: Fix copyright.

2001-04-13  Ruslan Ermilov  <>

	* src/roff/troff/ Fixing typos.

2001-04-13  Werner LEMBERG  <>

	* doc/ Fixing many font switches.
	* doc/groff.texinfo: Fixes, additions.
	* MORE.STUFF: Updated.

2001-04-12  Gaius Mulley  <>

	* src/devices/grohtml/ Updated manual page regarding
	simple anchor.
	* src/preproc/html/ (createImage): Fixed right hand
	cropping of images.
	(removeTempFiles): New function to tidy up temporary files.
	* src/preproc/html/ (main): Calls `removeTempFiles()'.
	Many fixes to do with the new inline suppress node and image regions
	are much tighter.
	* src/devices/grohtml/ New method `is_auto_img'.
	(generate_img_src): New function.
	(html_printer::do_auto_image): Utilizes it.
	(do_heading, do_title): Include inline images within their contents.
	(html_printer::begin_page): Tidied up comments that are issued to
	the html output file.
	(html_printer::do_fill): Fixed so that `.nf' works with fonts other
	than courier.
	(text_glob::is_br): New method used by do_heading.
	* tmac/s.tmac: If -Thtml then emit $1 in .IP rather than its
	equivalent diversion.
	* src/include/html-strings.h: Altered image tags to reflect the
	inline image node.
	* src/include/htmlindicate.h (html_end_suppress): Added `is_inline'
	* src/preproc/eqn/ Will suppress generation of image tags if
	it is already inside a pic image.  Only emit tags if the argument
	`-Tps:html' is present.
	* src/preproc/tbl/ Changes to reflect additional
	`html_end_suppress' parameter.
	* src/roff/troff/ Only emit eol tag if a node has been
	emitted since the last eol tag was written.
	* src/roff/troff/env.h: New boolean `emitted_node'.
	* src/roff/troff/ (do_suppress): Handles extra suppress
	nodes \O3, \O4, \O5.  No longer use `output_low_mark_miny'.
	* src/roff/troff/ (check_charinfo): New method.
	(troff_output_file::determine_line_limits): Alterations to limit
	* tmac/www.tmac: Changes to reflect new suppress nodes.

2001-04-12  Bruno Haible  <>

	* src/devices/grohtml/ (html_printer::add_to_sbuf):
	Escape the html_glyph in the buffer.
	(str_translate_to_html): Output the unescaped escaped_char.
	* src/devices/grohtml/ (issue_table_begin): Set
	`frame=void', not `frame=none'.  Add `border=0'.

2001-04-12  Werner LEMBERG  <>

	* PROBLEMS: Add some words on how to avoid wrapper macros.

2001-04-11  Blake McBride  <>

	* src/include/nonposix.h (fileno) [_MSC_VER]: Removed.

2001-04-11  Werner LEMBERG  <>

	* font/devlbp/Makefile.sub (CLEANADD): Set it.
	* tmac/Makefile.sub (CLEANADD): Add tmac.local-s.
	* (dist): Don't remove src/xditview/Imakefile, but ...
	* Makefile.sub (DISTCLEANFILES): Here.

	* libs/libgroff/ Include `nonposix.h'.
	* win32-diffs: Updated.

2001-04-10  Ruslan Ermilov  <>

	Added skeleton macro for defunct macros.

	Updated documentation.

	When inside displays, an empty input line warning should be
	suppressed.  If another macro call is put inside a display,
	all subsequent empty lines found in that display caused a
	warning to be emitted.

	* tmac/doc.tmac (doc-defunct-macro): New macro.
	(Db, Ds, Ex, Or, Sf): Reimplemented using this macro.
	(doc-restore-global-vars): Fixed typo.
	(doc-empty-line): Check the `doc-display-depth' register to
	determine whether we are inside display or not.

	* tmac/doc-common: Removed `Or' and `Sf' registers.
	Moved obsolete `Ds' macro to doc.tmac.

	* tmac/ Bump document date.
	Document `.Vt' under ``Variable Types''.
	Removed documentation for obsolete `.Or' macro.

2001-04-10  Werner LEMBERG  <>

	* NEWS: Updated.
	* doc/groff.texinfo: Many fixes, additions, clarifications, etc.

2001-04-10  Bruno Haible  <>

	* src/devices/grodvi/ (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/devices/grohtml/ (main): Accept --help and --version.
	Write --version output to stdout, not stderr.
	(usage): Add stream argument. Don't exit.
	* src/devices/grohtml-old/ (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/devices/grolbp/ (long_options): Use symbolic getopt.h
	(usage): Add stream argument. Don't exit.
	(main): Write --help output to stdout, not stderr.
	* src/devices/grolj4/ (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/devices/grops/ (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/devices/grotty/ (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/preproc/eqn/ (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/preproc/grn/ (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/preproc/html/ (usage): Add stream argument.
	(scanArguments): Accept --help and --version.
	* src/preproc/pic/ (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/preproc/refer/ (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/preproc/soelim/ (usage): Add stream argument. Don't
	(main): Accept --help and --version.
	* src/preproc/tbl/ (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/roff/groff/ (main): Accept --help and --version.
	(synopsis): Add stream argument.
	(help): Write --help output to stdout, not stderr.
	(usage): Add stream argument. Don't exit.
	* src/roff/grog/ Accept --help and --version.
	(help): New sub.
	* src/roff/grog/ Accept --help and --version.
	* src/roff/nroff/ Accept --help and --version.
	* src/roff/troff/ (USAGE_EXIT_CODE): Remove macro.
	(usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/utils/addftinfo/ (main): Accept --help and --version.
	(usage): New function with stream argument, doesn't exit.
	* src/utils/hpftodit/ (main): Accept --help and --version.
	(usage): New function with stream argument, doesn't exit.
	* src/utils/indxbib/ (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/utils/lkbib/ (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/utils/lookbib/ (usage): Add stream argument. Don't
	(main): Accept --help and --version.
	* src/utils/pfbtops/pfbtops.c (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/utils/tfmtodit/ (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.

2001-04-10  Ruslan Ermilov  <>

	Fix indentation in SYNOPSIS.

	Updated to include changes of latest BSD mdoc version (basically,
	the only change is that `.Fn' and `.Fc' put a final semicolon after
	a function declaration in the SYNOPSIS section).

	* tmac/doc.tmac (doc-in-synopsis-count): Replaced with ...
	(doc-in-synopsis-section): New variable.  Updated all related
	(doc-indent-synopsis-active): New register.
	(Nd, Fn, Fo): Use it.
	(Cd): It requires manipulation of \n[doc-indent-synopsis] so that
	`.Cd' with long argument line produces indented wrapped lines.
	Also, the misplaced `.nop \*[doc-Nm-font]\c'' caused extra
	undesirable line break to be output.
	(doc-do-func-decl, Nm, Vt, Fn, Fo): Remove extraneous calls to
	(Fn, Fc): Add final `;' to output.
	(doc-save-global-vars, doc-restore-global-vars): Updated.
	* tmac/doc-common: Remove `Ex' register.
	* tmac/doc-ditroff, tmac/doc-nroff, tmac/doc-syms: Updated

2001-04-06  Ruslan Ermilov  <>

	* tmac/doc.tmac (Cd): Simplify code.
	* tmac/ Document some behaviour of `Cd' request.

2001-04-06  Werner LEMBERG  <>

	Implement continuous underlining for nroff mode.  To do that, a new
	request in the ditroff language has been added: `x u N' (N is 0
	or 1).

	\X and \Y are now transparent to end-of-sentence recognition.

	* src/include/printer.h (printer): Add `type' parameter to `special'
	* src/libs/libdriver/ (printer::special): Updated.
	* src/libs/libdriver/ (do_file): Handle `x u N'.

	* src/devices/dvi/ (dvi_printer::special): Handle only
	specials of type `p'.
	* src/devices/grohtml/ (html_printer::special): Ditto.
	* src/devices/grohtml-old/ (html_printer::special): Ditto.
	* src/devices/grops/ (ps_printer::special): Ditto.
	* src/devices/grotty/ Add new enum CU_MODE.
	(glyph::order): New method.
	(tty_printer::add_char): Use it.
	(tty_printer::special): New method.
	(tty_printer::end_page): Implement it.

	* src/roff/troff/node.h (special_node): Add `no_init_string' member.
	* src/roff/troff/ (special_node::special_node): Add parameter
	to set `no_init_string'.
	(special_node::tprint_start): Use it.
	(special_node::same, special_node::copy): Updated.
	(special_node::ends_sentence): New method.
	(troff_output_file::start_special): Add parameter to include
	inititialization of special conditionally.

	* src/roff/troff/env.h (environment): New member `underline_spaces'.
	* src/roff/troff/ (do_underline_special): New function.
	(environment::set_font): Use it.
	(do_underline): Use it.  This was `underline()'.
	(underline): Call `do_underline()'.
	(continuous_underline): New function which calls `do_underline()'.
	(environment::newline): Use `do_underline_special()'.
	(init_env_requests): Updated.

	* NEWS, man/ Updated.

2001-04-06  Bruno Haible  <>

	* font/devutf8/R.proto: Fix code of 'shc'.

2001-04-06  Ruslan Ermilov  <>

	Many fixes.  Diag lists can now be nested also; additionally,
	`-compact' and `-offset' are supported.

	* tmac/doc.tmac (doc-have-indent): Replaced with ...
	(doc-list-have-indent-stackXXX): A new register stack.
	(doc-have-diag-list): Removed.
	(Bl): Use `doc-list-have-indent-stackXXX'.
	(El): Updated.
	(doc-diag-list): Use `doc-compact-list-stackXXX'.
	(doc-tag-list): Use `doc-list-have-indent-stackXXX'.
	(doc-set-vertical-and-indent): Ditto.
	(doc-next-list-depth): Removed.
	(doc-increment-list-stack): Updated.
	(doc-decrement-list-stack): Use `doc-list-depth' instead of
	(doc-end-list, doc-end-column-list): Don't use
	(doc-set-column-tab): Don't use `doc-list-offset-stackXXX'.
	(doc-save-global-vars, doc-restore-global-vars): Updated.
	* tmac/doc-common: Updated.
	* tmac/ Updated.
	* NEWS: Fix typo.

2001-04-02  Werner LEMBERG  <>

	* src/devices/grotty/ Fix grammatical error.

2001-03-30  Ruslan Ermilov  <>

	Remove .Ld from mdoc package; replace it with special handling of

	* tmac/doc-common: Remove `Ld' register.
	Uncomment `doc-volume-ds-*' strings.
	Remove `doc-operating-system-default'.
	(Os): Updated.
	* tmac/doc-syms (Ld): Removed.
	* tmac/doc.tmac (doc-parse-args, doc-parse-arg-vector): Handle
	`...' specially.
	* NEWS: Updated.

	* tmac/ Many fixes and updates.

2001-03-29  Werner LEMBERG  <>

	* tmac/troffrc-end: Protect data with `.do'.  Reported by T. Kurt
	Bond <>.
	* tmac/www.tmac: Save compatibility mode.

2001-03-28  Ruslan Ermilov  <>

	* tmac/ Many fixes.

2001-03-28  Werner LEMBERG  <>

	* src/preproc/soelim/ Document that `.<whitespace>so'
	isn't recognized.

2001-03-27  Werner LEMBERG  <>

	* tmac/an-old.tmac (TP, an-do-tag): Reduce line length while in
	diversion.  This fixes overlong tags.

2001-03-26  Werner LEMBERG  <>

	* doc/groff.texinfo: Fixed and improved documentation of fonts.
	* tmac/doc-syms: Fix error messages.
	* tmac/an-old.tmac: Remove incorrect double backslashes.

2001-03-24  Ruslan Ermilov  <>

	* tmac/Makefile.sub: Strip mdoc.local also
	* tmac/strip.sed: Fixed.

2001-03-24  Werner LEMBERG  <>

	* tmac/doc-nroff, tmac/doc-ditroff: Implement -rSxx switch for
	selecting the font size.
	* tmac/, NEWS: Document it.

2001-03-23  Werner LEMBERG  <>

	* src/roff/troff/ (save_vertical_space): Add default argument
	to `sv' request.
	* src/roff/troff/ (family_change): Make `.fam' accept no
	argument to restore previous font family.
	* src/roff/troff/, man/, NEWS: Updated.

	* doc/groff.texinfo: More fixes and additions (mainly for font
	manipulating commands).

	* tmac/ Small updates and renamed to ...
	* tmac/ This.  The quick reference has been removed.
	* tmac/Makefile.sub, NEWS: Updated.

2001-03-23  Werner LEMBERG  <>

	Replaced mdoc implementation.  The new version is `state of the
	art', using almost all new features of groff 1.17 -- it won't run
	with older versions.

	* tmac/doc.tmac: Completely rewritten.
	* tmac/doc-common: Ditto.
	* tmac/doc-nroff: Ditto.
	* tmac/doc-ditroff: Ditto.
	* tmac/doc-syms: Ditto.
	* tmac/mdoc.local: New file.
	* tmac/ Replaced with ...
	* tmac/ New file, covering mdoc completely.
	* tmac/strip.sed: Updated.
	* tmac/Makefile.sub: Updated.
	* INSTALL: Updated.

	* tmac/ Add `man.local' to the FILES section.

2001-03-22  Werner LEMBERG  <>

	* doc/groff.texinfo: Added many @noindent.
	Replaced @end_Example -> @endExample.
	Added info whether registers are r/o.
	Many other additions and fixes.

2001-03-21  Werner LEMBERG  <>

	* doc/groff.texinfo: Added macro @Var (and some hacks due to bugs
	in makeinfo of texinfo 4.0) to be used in @Def* macros.
	Improved @Def* macros: Now the exact syntax of request, register,
	and escapes is shown.
	Added macros for parentheses and brackets to be used in @Def*.
	Many fixes and improvements of the documentation.

2001-03-20  Werner LEMBERG  <>

	* doc/groff.texinfo: Added new index: `st' (for strings).
	Added macros @Defstr(x).
	Added macro @Example (adding @group).
	Other minor improvements.

2001-03-19  Werner LEMBERG  <>

	* doc/groff.texinfo: Added two new indices: `es' (for escapes) and
	`rq' for requests.  `fn' is no longer used.
	Added macros @Defreq(x), @Defreg(x), and @Defesc(x).
	Removed @Deffn(x).

	* tmac/an-old.tmac (an-p-footer): If `cR' is set, replace page
	number with name of man page.

2001-03-19  Larry Kollar  <>

	* doc/groff.texinfo: Complete revision.  Added many @Deffn to gain

2001-03-19  Werner LEMBERG  <>

	* man/ Document `prepro', `postpro', and `print'.
	* src/roff/groff/ Improve documentation of `-l' and `-L'.
	* src/devices/grohtml/ Fixing typos.

2001-03-19  Gaius Mulley  <>

	* tmac/s.tmac (@IP): Pass `.ip' html tag.
	* tmac/ Remove .LINE macro
	* tmac/www.tmac (LINE): Add `.ti'.

	* src/devices/grohtml/ (html_printer): New member
	(html_printer::emit_raw): Use it.
	(html_printer::do_linelength): Ditto.
	(html_printer::do_pageoffset): Ditto.
	(html_printer::do_indentation): Ditto.
	(html_printer::do_tempindent): Ditto.
	(html_printer::do_break): Ditto.
	(html_printer::begin_page): Ditto.
	(html_printer::do_indentedparagraph): New function.
	(html_printer::troff_tag): Handle `.ip'.
	* src/devices/grohtml/ (html_text::issue_table_begin):
	Add `<td width=...>' handling.
	(html_text::do_table): Add parameter.
	(html_text::do_indent): Updated.
	* src/devices/groohtml/html-text.h: Updated.

2001-03-16  Gaius Mulley  <>

	Introduced simple html tables to implement indentation.

	* src/devices/grohtml/html.h (word, word_list): New structures.
	(simple_output): Use it.
	* src/devices/grohtml/ Add `INDENTATION'.
	(html_printer): Improve indentation handling.
	(html_printer::emit_raw): Set `in_table' element.  Handle
	indentation if set.
	(html_printer::write_header): Move conditional downwards.
	Don't allow whitespace in tags.
	(html_printer::do_linelength): Handle line length and indentation
	(html_printer::do_pageoffset): Handle indentation conditionally.
	(html_printer::do_indentation): Ditto.
	(html_printer::do_tempindent): New function member.
	(html_printer::do_fill): Take care of indentation.
	(html_printer::do_flush): Finish table.
	(html_printer::do_links): Ditto.
	(html_printer::do_break): New function for handling `.br' and `.ti'.
	(html_printer::troff_tag): Use it.
	Handle `.ti'.
	(html_printer::flush_globs): Fix.
	(html_printer::flush_page): Finish table.
	(html_printer::html_printer): Fix error message.  Set up
	(html_printer::add_to_sbuf): Remove special handling of character
	code 255.
	(to_unicode): Remove `stop()'.
	(html_printer::write_title): Cleanup.
	(html_printer::begin_page): Use `put_string()'.  Handle indentation.
	(html_printer::~html_printer): Flush text and end the line.
	Use `put_string()'.
	* src/devices/grohtml/html_text.h: Add more *_TAG enum values.
	* src/devices/grohtml/ (html_text::end_tag): Fix
	emission of tags.
	(html_text::start_tag): Disable newlines.
	(html_text::table_is_void): New function.
	(html_text::issue_table_begin): Ditto.
	(html_text::issue_table_end): Ditto.
	(html_text::push_para): Better table handling.
	(html_text::do_indent): New function.
	(html_text::do_table): Ditto.
	(html_text::done_table): Ditto.
	(html_text::do_tt): Handle PRE_TAG.
	(html_text::is_in_table): New function.
	(html_text::check_emit_text): Handle tables.
	(html_text::do_emittext): Use `nl()'.
	(html_text::do_para): Handle table.
	(html_text::remove_def): New function.
	* src/devices/grohtml/ (word, word_list): Implement
	(simple_output::end_line): Flush last word.
	(simple_output::simple_comment): Ditto.
	(simple_output::begin_comment): Recoded.
	(simple_output::end_comment): Ditto.
	(simple_output::comment_arg): Removed.
	(simple_output::check_newline): Improve test and flush last word.
	(simple_output::space_or_newline): Improved.
	(simple_output::write_newline): Replaced with...
	(simple_output::nl): This.
	(simple_output::put_raw_char): Flush last word.
	(simple_output::check_space): Removed.
	(simple_output::put_translated_string): Ditto.
	(simple_output::put_string): Simplified.
	(simple_output::put_number): Updated.
	(simple_output::put_float): Ditto.
	(simple_output::put_symbol): Removed.
	(simple_output::enable_newlines): Add `check_newline()'.
	(simple_output::flush_last_word): New function.

	* src/roff/troff/ (no_fill): Remove call to add_html_tag().
	* src/roff/troff/ (page_offset): Add call to add_html_tag().

	* tmac/s.tmac (@PP, @IP): Add html conditional code.
	* tmac/an-old.tmac (TP): Ditto.

2001-03-09  Ruslan Ermilov  <>

	* Make it POSIX compliant.

2001-03-09  Werner LEMBERG  <>

	Added the `return' request to end a macro immediately.  It simply
	pops iterators from the input stack until a macro iterator is found.

	* src/roff/troff/ (input_iterator::is_macro,
	macro_iterator::is_macro): New member.
	(input_return_boundary): New class to signal an immediate return
	to while_request().
	(input_stack::add_return_boundary, input_stack::is_return_boundary):
	New functions.
	(input_stack::clear): Use it.
	(input_stack::pop_macro): New function.
	(while_request): Use `is_return_boundary()'.
	(return_macro_request): New function.
	(init_input_requests): Use it.

	* src/roff/troff/TODO: Updated.
	* NEWS, src/roff/troff/, man/ Document it.

2001-03-08  Werner LEMBERG  <>

	* src/roff/troff/ (input_iterator::is_boundary): Minor

2001-03-07  Werner LEMBERG  <>

	Make `\B' more rigid.

	* src/roff/troff/ (parse_expr, parse_term): Add `rigid'
	(get_number_rigidly): New function.
	* src/roff/troff/ (do_expr_test): Use it.
	* src/roff/troff/token.h: Updated.

	* src/roff/troff/request.h: Fix typo (init_html_request ->

2001-03-04  Gaius Mulley  <>

	Fixed grohtml handling of any named glyph for glyph indexes < 0x80.
	Cosmetic changes to `.html-begin', `.html-end', `.html-image' which
	are now `.begin', `.end', `.image'.

	* src/devices/grohtml/ Adding UNICODE_DESC_START.
	(html_printer::add_to_sbuf): Changing type of `code' parameter.
	Use add_char_to_sbuf().
	(to_unicode): New function.
	(char_translate_to_html): Changing type of `ch' parameter.
	Use `to_unicode()'.
	(html_printer::~html_printer): Comment out doctype string.
	* src/preproc/html/ (write_end_image): Use `.end'
	instead of `.html-end'.
	(write_start_image): Use `.begin' and `.image' instead of
	`.html-begin' and `.html-image'.
	* src/roff/troff/ Rename `html_level' to `begin_level'.
	(html_begin): Renamed to ...
	(begin): This.
	(html_end): Renamed to ...
	(end): This.
	(html_image): Renamed to ...
	(image): This.
	(init_html_requests): Renamed to ...
	(init_markup_requests): This.
	* tmac/www.tmac: Updated.

2001-02-28  Bram  <>

	* src/libs/libgroff/ (font_widths_cache): Fixing syntax of

2001-02-26  David Leonard  <>

	* doc/ Fixing some typos.

2001-02-16  Werner LEMBERG  <>

	* src/roff/troff/ (space_node::get_hyphenation_type): New
	method.  Return `HYPHEN_MIDDLE' if it was `\:'.
	* src/roff/troff/node.h: Updated.

2001-02-17  Ruslan Ermilov  <>

	* tmac/ Fix typo.

2001-02-16  Werner LEMBERG  <>

	Fixing a bug which prevented proper end-of-sentence recognition
	between an `unformatted' box and the following text.  As a
	consequence, vertical line distances are no longer preserved in
	boxes after a call to `.unformat' -- because boxes aren't
	line-oriented (contrary to diversions), this doesn't make sense

	* src/roff/troff/ (*node::set_unformat_flag): Add return
	(vertical_size_node::set_unformat_flag): New method.
	* src/roff/troff/node.hh: Updated.
	* src/roff/troff/ (word_space_node::reread,
	hmotion_node::reread): Reset `unformat' flag after usage.
	(unformat_macro): Append only if `set_unformat_flag()' returns
	* src/roff/troff/ Updated.

2001-02-15  Werner LEMBERG  <>

	* src/roff/troff/, NEWS, man/ Improved
	documentation of `asciify' and `unformat' requests.

2001-02-13  Werner LEMBERG  <>

	Redesigned the `unformat' request.  It is no longer connected with
	`asciify' but rather uses new `reread()' methods if the `unformat'
	flag is set.  Additionally, the handling of space characters after
	unformatting has been fixed so that they retain their width.

	* src/roff/troff/node.h (width_list): New structure to store
	original widths of spaces.
	(node): Added `unformat' member.
	Replaced `num_spaces' variable with `orig_width' list.
	* src/roff/troff/ (*node::asciify,
	asciify_reverse_node_list): Removed `unformat_only' flag and related
	(word_space_node::asciify, word_space_node::word_space_node): Use
	(word_space_node::~word_space_node): New destructor.
	(word_space_node::copy): Updated to handle `orig_width'.
	(hmotion_node::copy, unbreakable_space_node::copy): Updated.
	(*node::merge_space): Update `orig_width' list if necessary.
	(*node::set_unformat_flag): New methods to set the `unformat' flag.
	* src/roff/troff/ (environment::space_newline): Use
	(environment::space): Added method to handle space width and
	sentence space width as parameters.  Use `width_list'.
	(environment::make_tab_node): Updated.
	* src/roff/troff/env.h: Updated.
	* src/roff/troff/ (word_space_node::reread,
	unbreakable_space_node::reread, hmotion_node::reread): New methods
	to handle nodes specially if `unformat' flag is set.
	(do_asciify_macro): Renamed back to ...
	(asciify_macro): This.
	(unformat_macro): New implementation to simply set the `unformat'

	* MORE.STUFF: Added more info about deroff.

2001-02-08  Werner LEMBERG  <>

	* src/roff/troff/node.h (unbreakable_space_node, hmotion_node,
	space_char_hmotion_node, overstrike_node): Add `get_hyphen_list()'
	and `add_self()' methods to avoid hyphenation.  For example, the
	hyphen list for `foo\0\0bar' was `foobar', causing insertion of a
	soft hyphen after `foo'.  Now the hyphen list is correctly

2001-02-05  Yoshiteru Kageyama  <>

	* tmac/ Fix `BIR' macro.

2001-02-04  Werner LEMBERG  <>

	A new escape sequence `\:', inserting a zero-width break point.

	* src/roff/troff/input.h: Adding `ESCAPE_COLON'.
	* src/roff/troff/ (get_copy, token::next, asciify):
	Implement it.
	* src/roff/troff/node.h (node): Add `is_escape_colon()' virtual
	(space_node): Add `was_escape_colon' member.  Add `is_escape_colon()'
	and `asciify()' methods.
	* src/roff/troff/ (space_node::space_node): Updated.
	(space_node::asciify): Handle `was_escape_colon'.
	* NEWS, src/roff/troff/, man/ Document it.

	Handle `\~' similar to other comparable requests.

	* src/roff/troff/ (process_input_stack): Remove now obsolete
	(token::next): Move creation of an unbreakable_space_node to...
	(token::add_to_node_list): Here.

	Fix a bug which sometimes prevented hyphenation of words connected
	with `\~' or `\ ' (and other escape sequences handled as
	TOKEN_NODE).  This also fixes a hyphenation problem with boxes
	(after a call to the `unformat' request).

	* src/roff/troff/env.h (environment::possibly_break_line,
	environment::hyphenate_line): Introducing `start_here' parameter.
	* src/roff/troff/ (environment::space_newline,
	environment::space): Use it.
	(environment::possibly_break_line, environment::hyphenate_line):
	Implement it.
	* src/roff/troff/ (process_input_stack): Use it.
	* src/roff/troff/node.h (unbreakable_space_node, hmotion_node,
	space_char_hmotion_node, overstrike_node): Add
	`get_hyphenation_type()' method.
	* src/roff/troff/ (break_char_node::asciify): Don't asciify
	if `unformat_only' is active.

2001-01-30  Werner LEMBERG  <>

	Implemented new read-only number register `.linetabs' which
	returns 1 if in line-tabs mode, 0 otherwise.

	* src/roff/troff/env.h (environment): Add get_line_tabs() member.
	* src/roff/troff/ (get_line_tabs): New function.
	(init_env_requests): Use it.
	* NEWS, src/roff/troff/, man/ Document it.

	* VERSION, REVISION: Changing to 1.17.0.

2001-01-28  Werner LEMBERG  <>

	Fixed a bug which prevented hyphenation of words which are finished
	with `\)'.

	* src/roff/troff/token.h (token): Add enum type
	`TOKEN_TRANSPARENT_DUMMY' and method `transparent_dummy()'.
	* src/roff/troff/ (token::next, token::description,
	get_line_arg, token::add_to_node_list, token::process): Use it.

2001-01-27  Werner LEMBERG  <>

	* src/roff/troff/div.h (diversion): Add `saved_prev_line_interrupted'.
	* src/roff/troff/ (do_divert): Use it.

	* src/roff/troff/ (asciify): Add ESCAPE_RIGHT_PARENTHESIS.

2001-01-25  Werner LEMBERG  <>

	Adding the `linetabs' request.  If set, tab distances are not
	computed relative to the input line but relative to the output line.

	* src/roff/troff/env.h (environment): New member `line_tabs'.
	* src/roff/troff/ (line_tabs_request): Implement request.
	(environment::environment, environment::copy): Updated.
	(environment::distance_to_next_tab): Use `line_tabs'.
	(init_env_requests): Register request.
	* src/roff/troff/, man/, NEWS: Document it.  Other

2001-01-24  Werner LEMBERG  <>

	Introducing a new read-only register `.int' which is set to a
	positive value if the last output line is interrupted (i.e., if it
	contains `\c').

	* src/roff/troff/ (init_env_requests): Add it.
	* NEWS, src/roff/troff/, man/ Document it.

2001-01-23  Gaius Mulley  <>

	* tmac/mwww.tmac: Call `www.tmac', not `arkup.tmac'.
	* src/preproc/html/ (findPrefix): New function which
	generates the troff executable name via the system prefix.
	* src/preproc/eqn/ Modified warning message.

2001-01-23  Werner LEMBERG  <>

	troff's `box' and `boxa' requests didn't preserve temporary

	* src/roff/troff/div.h (diversion): Add `saved_saved_indent' and
	`saved_target_text_length' members.
	* src/roff/troff/ (do_divert): Use them.

	Tabs (but not yet leaders and fields) are now handled correctly by
	`asciify' request.

	* node.h (hmotion_node): Add field `was_tab'.
	* (environment::make_tab_node): Set it.
	* (hmotion_node::copy, hmotion_node::asciify): Use it.

	Added new request `unformat' which will, contrary to `asciify',
	preserve font information after unformatting (i.e., only nodes
	dealing with horizontal space are converted back to input

	* (asciify_macro): Renamed to ...
	(do_asciify_macro): this, having a new parameter `unformat_only'.
	(asciify_macro, unformat_macro): New; using do_asciify_macro.
	(init_input_requests): Added `unformat'.
	* (*_node::asciify), asciify_reverse_node_list: Added
	parameter to control asciification process.
	* node.h (*_node::asciify): Ditto.
	* NEWS, src/roff/troff/, man/ Document it.

2001-01-20  Werner LEMBERG  <>

	* doc/groff.texinfo: Minor improvement of `.in' documentation.

2001-01-18  Werner LEMBERG  <>

	* tmac/ps.tmac: Remove call of psold.tmac.
	* tmac/psold.tmac: Comment updated.
	* tmac/psnew.tmac: Removed since no longer needed.
	* tmac/Makefile.sub, NEWS, src/devices/grops/ Updated.

	* font/devutf8/R.proto: Adding `shc' glyph.
	* font/devutf8/NOTES: Updated.

	* test-groff: Updated.

2001-01-15  Gaius Mulley  <>

	First cut of the new html device driver.  Changes to pre-html and
	the new grohtml are too numerous to be documented here.

	Stuff related to `html' has been renamed to `html-old' and `html2'
	stuff has been renamed to `html' (including directories).  The new
	html device driver is therefore invoked as `-Thtml'.

	Added new `\O' escape to suppress output (needed by html driver).

	Added functions and code to pass info about input-level commands
	(`.in', `.fl', etc.) to html driver.

	Three new functions (.html-begin, .html-end, and .html-image) for
	better html handling: `html-begin' will execute the remaining line
	if at the outermost nesting level, increasing an internal counter.
	`html-end' does the same but decreases the internal counter.
	`html_image' puts its arguments into a special node (suppress_node)
	to define an image region.

	The `output' request has been removed.

	* tmac/html-tags.tmac: Removed.
	* tmac/arkup.tmac: Updated and renamed to ...
	* tmac/www.tmac: New file.
	* tmac/markup.tmac Updated and renamed to ...
	* tmac/mwww.tmac: New file.
	* tmac/Makefile.sub: Updated.
	* tmac/an-old.tmac: Updated.
	* tmac/eqnrc: Updated.
	* tmac/
	* tmac/ Updated and renamed to ...
	* tmac/ New file.
	* tmac/ Updated.
	* tmac/html-old.tmac: Updated and Renamed from html.tmac.
	* tmac/html.tmac: Updated and renamed from html2.tmac.
	* tmac/pspic.tmac: Updated html support.
	* tmac/s.tmac: Added html output support.
	* tmac/troffrc, tmac/troffrc-end: Updated.

	*, doc/Makefile: Updated.
	* doc/groff.texinfo: Added info about new `\O' escape.
	* doc/ Use `MAILTO' macro.

	* font/devhtml/DESC.proto: Add `C' font.
	* font/devhtml/Makefile.sub: Updated.
	* font/devhtml/R.proto: Minor fixes.
	* font/devhtml-old/Makefile.sub: Updated.

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

	* src/libs/libdriver/ (printer::get_font_from_index): New
	* src/libs/libgroff/ (html_begin_suppress,
	graphic_start): Add `inline' parameter.  Update.
	(html_end_suppress, graphic_end): Update.

	* src/include/html-strings.h: New file.
	* src/include/htmlindicate.h: Comments updated.
	* src/include/printer.h: Updated.

	* src/preproc/eqn/ (do_file, main): Updated.
	* src/preproc/pic/ (troff_output::start_picture,
	troff_output::finish_picture): Updated.
	* src/preproc/tbl/ (process_input_file): Updated.

	* src/roff/groff/ (main): Updated.
	Pass device arguments to predrivers also.
	Use `ps' device for `eqn' preprocessor if `-Thtml' is given.
	* src/roff/troff/env.h (environment): Updated.
	New elements `need_eol' and `ignore_next_eol' (for html output).
	* src/roff/troff/ (environment::environment): Add initializers
	for `need_eol' and `ignore_next_eol'.
	(environment::add_html_tag_eol, environment::add_html_tag_tabs): New
	(point_size, fill, no_fill, center, right_justify, line_length,
	indent, temporary_indent, break_request, handle_tab): Use
	(set_tabs): Use `add_html_tag_tabs()'.
	(environment::add_html_tag): Updated.
	(environment::do_break): Updated.
	* src/roff/troff/ (space_request, flush_output): Use
	* src/roff/troff/ Updated.
	New variable `html_level' to indicate nested `html-begin' requests.
	(file_iterator::fill): Use `environment::add_html_tag_eol()'.
	(non_interpreted_char_node, token_node, non_interpreted_node): Add
	`force_tprint()' method.
	(token::next): Handle `\O'.
	(do_suppress): Implement it.
	(html_begin, html_end, html_image): New functions.
	(init_output_requests): Renamed to ...
	(init_html_requests): this.
	(main): Use it.
	(macro::append_str, macro::append_unsigned, macro::append_int): New
	New variable `output_low_mark_miny' to limit minimal value of y.
	(reset_output_registers): Use it.
	(output_request): Removed.
	(get_output_registers): New function.
	* src/roff/troff/node.h (node): Make `force_tprint()' virtual.
	(*_node): Added `force_tprint()' if necessary.
	(special_node): New elements `tf' and `get_tfont()'.
	(suppress_node): New class.
	* src/roff/troff/
	New global variables `image_no' and `suppress_start_page'.
	(real_output_file): New method `is_on()'.
	(troff_output_file): New method `start_special(tfont)'.
	(troff_output_file::really_print_line): Use `tprint' conditionally.
	(real_output_file::print_line): Updated.
	(real_output_file::on): Updated.
	(*_node): Added `force_tprint()'.
	(special_node::special_node): Initializer updated.
	(special_node::same, special_node::copy, special_node::tprint_start):
	(get_reg_int, get_reg_str): New functions.
	(suppress_node::*): New methods.
	New global variables last_position, last_image_filename;
	(min): New inline function.
	* src/roff/troff/reg.h, src/roff/troff/request.h,
	src/roff/troff/troff.h: Updated.

2001-01-13  Werner LEMBERG  <>

	* NEWS, src/roff/troff/, doc/groff.texinfo: Fix
	documentation of `asciify' request.

2001-01-12  Werner LEMBERG  <>

	* src/roff/troff/ Move definition of special characters
	like `ESCAPE_TILDE' to ...
	* src/roff/troff/input.h: New file.
	* src/roff/troff/Makefile.sub (HDRS): Add it.

	Extending the .asciify request to `unformat' space characters also.

	* src/roff/troff/node.h (word_space_node): Add `num_spaces' element
	to count input space characters.
	Update constructors to take care of it.
	* src/roff/troff/ (space_char_hmotion_node::asciify): Use
	`ESCAPE_SPACE' instead of normal space.
	(word_space_node::asciify): New method.
	(unbreakable_space_node::asciify): New method.
	(word_space_node::merge_space): New method.
	* src/roff/troff/ (environment::space_newline,
	environment::space): Add code to initialize `num_spaces' (using the
	constructor of `word_space_node').
	* NEWS, src/roff/troff/, man/, doc/groff.texinfo:
	Document it.

2001-01-09  Werner LEMBERG  <>

	* man/ Use table header traps only conditionally.

2001-01-09  Bjarni Ingi GŪslason  <>

	* man/ Add `ż' and `›' to the `acute' group.

2001-01-08  Werner LEMBERG  <>

	Introducing the `box' and `boxa' requests which are similar to
	`di' resp. `da' but omitting a partially filled line (which is
	restored after ending the diversion).

	* src/roff/troff/div.h (diversion): Add elements to save partially
	filled line.
	* src/roff/troff/ (do_divert): Add parameter `boxing' to save
	partially filled line.
	(divert, divert_append): Updated.
	(box, box_append): New functions.
	(init_div_requests): Use them.
	* src/roff/troff/env.h (environment): do_divert() is now a friend.
	* NEWS, src/roff/troff/, man/ Document it.

	* doc/groff.texinfo: Fix documentation of `lf' request.

2000-12-25  Werner LEMBERG  <>

	* src/roff/troff/, NEWS: Document `writem' request.

2000-12-21  Werner LEMBERG  <>

	Ignore `ss' request if in compatibility mode.

	* src/roff/troff/ Make `compatible_flag' non-static.
	* src/roff/troff/env.h: Added extern `compatible_flag' declaration.
	* src/roff/troff/ (space_size): Use it.

	* doc/groff.texinfo, src/roff/troff/ Fix documentation of
	`ss' request in nroff mode.

	* tmac/an-old.tmac: Fixed some serious bugs introduced with latest

2000-12-15  Ruslan Ermilov  <>

	* tmac/troffrc, tmac/troffrc-end: Convert tmac.* to *.tmac.

2000-12-13  Werner LEMBERG  <>

	* src/preproc/eqn/Makefile.sub (MAN1): Added
	* src/preproc/eqn/ Small fixes and additions.

2000-12-13  Ruslan Ermilov  <>

	* src/utils/addftinfo/, src/devices/grops/
	Fixing typo.

	* src/preproc/eqn/ New file.

	* src/preproc/tbl/ (table::print): Fix `indent cannot be
	negative' warning.

	* tmac/e.tmac: Add `T&' macro.
	Fix `indent cannot be negative' warning.
	* tmac/s.tmac: Fix `indent cannot be negative' warning.

2000-12-07  Werner LEMBERG  <>

	* src/include/lib.h: Replaced __ALPHA with __alpha symbol.

2000-12-06  Werner LEMBERG  <>

	* PROBLEMS: Added info about adding -lPW on HP-UX to satisfy the
	`alloca' symbol .

	* MORE.STUFF: Added info about deroff for djgpp.

	* tmac/an-old.tmac, tmac/, doc/groff.texinfo, NEWS: Fix
	documentation of -rcR switch.

2000-12-03  Werner LEMBERG  <>

	* tmac/an-old.tmac: Implementing the -rcR switch (similar to mdoc);
	if -rcR=1 (which is now the default in nroff mode), a single, very
	long page is created instead of multiple pages: All `ne' and `wh'
	requests are put into conditionals; a new macro `an-end' is added to
	be called with `em'.

	Some other minor cleanups.

	* NEWS, tmac/, doc/groff.texinfo: Updated.

2000-12-02  Werner LEMBERG  <>

	Fixing a bug which prevented hyphenation in words followed
	immediately by a TOKEN_NODE (e.g. `\ ', `\~', etc.).

	* src/roff/troff/ (process_input_stack <token::TOKEN_NODE>):
	Adding possibly_break_line().
	* src/roff/troff/env.h (environment): Make possibly_break_line()

	Make `\~' usable in .tr request.

	* src/roff/troff/token.h (token_type): Add TOKEN_STRETCHABLE_SPACE.
	(token): Add stretchable_space().
	* src/roff/troff/ (token::next, token::delimiter,
	token::description, process_input_stack, do_translate,
	add_to_node_list, token::process): Use it.
	* src/roff/troff/node.h (node): Add fourth parameter to add_char()
	for adjusting the space.
	* src/roff/troff/ (node::add_char): Implement it.  Add code
	for stretchable space.
	* src/roff/troff/ (token::add_to_node_list): Use it.
	(make_node): Add code for stretchable space.
	* src/roff/troff/ (environment::add_char): Use it.
	* src/roff/troff/ Add ESCAPE_TILDE special character.
	(get_copy, token::next, transparent_translate, asciify): Use it.

	* NEWS, src/roff/troff/, src/roff/troff/TODO,
	doc/groff.texinfo: Updated.
	* man/ Small reorderings.

2000-11-23  Werner LEMBERG  <>

	* NEWS: Fixes.
	* src/preproc/eqn/ (main): Use `config_macro_path' for -M
	* src/roff/troff/ (main): Add `config_macro_path' and
	`safer_macro_path' to -M option.
	* src/roff/troff/ Fixes.

2000-11-22  Werner LEMBERG  <>

	Use safer path (except for config files) if -U isn't specified.  Add
	a special macro path (without home and current directory) for config
	files.  Add home directory to unsafe path for consistency.  Don't
	include the home directory in the font path.

	* src/libs/libgroff/ Add `config_macro_path', change
	* src/include/macropath.h: Add `config_macrp_path'.
	* src/libs/libgroff/ Fix font path.
	* src/roff/troff/ (process_startup_file): Use
	(main): Select unsafe path if -U is given.

	* src/preproc/eqn/ (main): Fixing search path for
	configuration file.
	* src/preproc/eqn/ Updated.

	* src/roff/troff/, man/, tmac/

	* src/preproc/grn/, src/devices/grodvi/,
	src/devices/grohtml/, src/devices/grolbp/,
	src/devices/grolj4/, src/devices/grops/,
	src/devices/grotty/ Updated.

	* Fix comments.

2000-11-17  Werner LEMBERG  <>

	* tmac/safer.tmac: Empty file added (again) for compatibility
	* tmac/Makefile.sub: Updated.

2000-11-16  Werner LEMBERG  <>

	* src/devices/grodvi/ (main),
	src/devices/grohtml2/ (main),
	src/devices/grolbp/ (main), src/devices/grolj4/
	(main), src/devices/grops/ (main), src/devices/grotty/
	(main), src/preproc/eqn/ (main), src/preproc/grn/
	(main), src/preproc/html2/ (main),
	src/preproc/pic/ (main), src/preproc/refer/ (main),
	src/preproc/soelim/ (main), src/preproc/tbl/
	(main), src/roff/groff/ (main), src/roff/troff/
	(main), src/utils/hpftodit/ (main),
	src/utils/indxbib/ (main), src/utils/lkbib/
	(main), src/utils/lookbib/ (main),
	src/utils/pfbtops/pfbtops.c (main), src/utils/tfmtodit/
	(main): Use stdout for -v.
	* src/roff/groff/ (run_commands),
	src/roff/groff/pipeline.c (run_pipeline): New parameter `no_pipe'
	to make direct printing to stdout possible.
	* src/roff/groff/pipeline.h: Updated.

	* src/utils/afmtodit/ Add -v switch.
	* src/utils/afmtodit/Makefile.sub (afmtodit): Use @VERSION@.
	* src/utils/afmtodit/ Updated.

	* src/utils/addftinfo/ (main): Add -v switch.
	(version): New function.
	(usage): Updated.
	* src/utils/addftinfo/ Updated.

	* src/devices/*/*, src/preproc/*/*, src/roff/*/*, src/utils/*/*:
	Fixing copyright dates.

	* src/preproc/eqn/ Adding GROFF_BIN_PATH to path instead of
	replacing it.

	* src/devices/grolbp/ (main): Use Version_string instead of

	* src/roff/nroff/Makefile.sub (nroff): Fix use of @VERSION@.

2000-11-15  Werner LEMBERG  <>

	In all programs, make -v return immediately with exit status 0 to
	be compliant with the GNU standard.

	* src/devices/grodvi/ (main),
	src/devices/grohtml2/ (main),
	src/devices/grolbp/ (main), src/devices/grolj4/
	(main), src/devices/grops/ (main), src/devices/grotty/
	(main) src/preproc/eqn/ (main), src/preproc/grn/
	(main), src/preproc/html2/ (main),
	src/preproc/pic/ (main), src/preproc/refer/ (main),
	src/preproc/soelim/ (main), src/preproc/tbl/
	(main), src/roff/groff/ (main), src/roff/troff/
	(main): Implement it.
	* NEWS: Updated.

	* src/roff/groff/ (main): Add copyright notice.  Add refer
	and postprocessors to the -v option.

	* src/roff/grog/ Implement -v.
	* src/roff/grog/Makefile.sub (grog): Use @VERSION@.
	* src/roff/grog/, doc/groff.texinfo: Updated.

	* src/roff/nroff/ Implement -v.
	* src/roff/nroff/Makefile.sub (nroff): Use @VERSION@.
	* src/roff/nroff/ Updated.
	* src/preproc/eqn/ (main): Fix comment typo.

	* MORE.STUFF: Added info about djgpp port of grap.

2000-11-14  Werner LEMBERG  <>

	* src/roff/grog/grog.{pl,sh}: Implemented -C switch for compatibility
	mode (or rather, implemented non-compatibility mode).
	* NEWS, src/roff/grog/, doc/groff.texinfo: Updated.

	* src/roff/groff/ (main): Add BIN_PATH to PATH instead of
	replacing it -- we don't find gxditview otherwise.
	* NEWS, src/roff/groff/, doc/groff.texinfo: Updated.

	* src/preproc/pic/depend: Removed.  Unnecessary.

	Implemented dummy keyword `solid' in pic for compatibility with
	AT&T pic.

	* (lookup_keyword): Added `solid'.
	* pic.y: Added SOLID with dummy rule.
	*, pic_tab.h: Regenerated.
	* doc/ Updated.

2000-11-13  Werner LEMBERG  <>

	For security reasons, don't use the current directory but the home
	directory while searching and scanning troffrc and troffrc-end.
	Similarly, replace the current directory with the home directory
	in the font path.

	* (fontpath, tmacpath): Remove current directory.

	* src/libs/libgroff/ (search_path::search_path): Add
	two parameters `add_home' and `add_current'.
	(search_path::~search_path, search_path::command_line_dir,
	search_path::open_file): Remove tests for `dirs' being zero.
	* src/include/searchpath.h: Adjust.
	* src/libs/libgroff/, src/include/macropath.h: Add
	* src/libs/libgroff/ Adjust `font_path'.

	* src/roff/troff/troff.h: Add `searchpath.h' and `mac_path'.
	* src/roff/troff/ Use `mac_path', initialized with
	(process_startup_file): Set `mac_path' to `safer_macro_path'.
	* src/roff/troff/ Use `mac_path'.

	* src/preproc/eqn/ (main): Use `safer_macro_path'.

	* NEWS, man/, src/roff/troff/,
	src/roff/groff/, tmac/, arch/djgpp/README:

2000-11-12  Werner LEMBERG  <>

	* src/include/lib.h: Don't include groff-getopt.h for OSF/1.

	* aclocal.m4 (GROFF_SYS_ERRLIST): Do test in C, not in C++.
	* Fix typo in comment.
	* configure: Regenerated.

	* src/libs/libgroff/*, src/include/*, src/roff/troff/*: Fixing
	copyright dates.

2000-11-08  Werner LEMBERG  <>

	Add system tmac directory (/usr/local/lib/groff/site-tmac).

	* Add $(libdir), $(libprogramdir), and $(systemtmacdir).
	(uninstall_dirs): Add $(libdir), $(libprogramdir), and
	Use @libdir@.
	* Makefile.comm (.man.n): Add @SYSTEMMACRODIR@.
	* tmac/Makefile.sub (install_data): Create
	$(systemtmacdir) and $(localtmacdir).
	(uninstall_sub): Use $(systemtmacdir) for wrapper macros.
	* man/, src/roff/troff/, src/roff/groff/,
	NEWS, doc/groff.texinfo: Updated and minor fixes.

	* Makefile.comm, Added tmac_{s,an}_prefix stuff again.
	* tmac/Makefile.sub: Added `wrap' stuff again, but installing into
	$(systemtmacdir) since the wrapper files are platform-dependent.

2000-11-01  Werner LEMBERG  <>

	* doc/groff.texinfo: Fix typo.

2000-10-26  Werner LEMBERG  <>

	Convert macros `tmac.XXX' to `XXX.tmac'.  Special cases:
	  tmac.doc.old -> doc-old.tmac  -> an-old.tmac

	* tmac/tmac.*: Moved to ...
	* tmac/*.tmac: this.
	* tmac/man.local: Fix comment.
	* tmac/, tmac/, tmac/,
	tmac/, tmac/, tmac/ Updated.
	Added some `FILES' sections.  More use of @...@ directives.  Other
	minor updates.
	* arch/djgpp/README, font/devutf8/NOTES: Updated.
	* doc/, doc/groff.texinfo: Updated.
	* man/, man/ Updated.
	* src/devices/grodvi/, src/devices/grolbp/,
	src/devices/grolj4/, src/devices/grops/,
	src/devices/grotty/ Updated.
	* src/preproc/pic/ Updated.
	* src/roff/grog/, src/roff/grog/ Use -mdoc-old
	instead of -mdoc.old.
	* src/roff/grog/ Document -mdoc and -mdoc-old.
	* src/roff/nroff/ Updated.
	* NEWS: Updated.

	* tmac/fixmacros.sed, tmac/strip.sed: Add explanatory comment.

	* tmac/mm.diff: Removed -- it has no use now since the mm package
	is part of groff.

	* tmac/*: Removed trailing spaces.

	* arch/djgpp/t-groff.bat: Fix GROFF_TMAC_PATH ( is now in
	the tmac subdirectory also).

	* Makefile.comm, Remove tmac_{s,an}_prefix stuff.
	* tmac/Makefile.sub: Adapted to new macro names; removed `wrap'
	stuff since it is no longer needed.


2000-10-25  Werner LEMBERG  <>

	Invert current behaviour: Search first FOOBAR.tmac, then

	* src/roff/troff/ Introduce MACRO_POSTFIX.
	(open_mac_file, macro_source): Implement it.
	* src/roff/troff/, tmac/, man/,
	doc/groff.texinfo, NEWS: Document it.

	* src/roff/nroff/, src/roff/groff/, man/
	Small documentation improvements.

	* test-groff: Fix GROFF_TMAC_PATH ( is now in the tmac
	subdirectory also).

	* font/devps/Makefile.sub: Fix rules for dingbats.*map.

2000-10-24  Werner LEMBERG  <>

	Add local tmac directory (groff/site-tmac).

	* Add $(localtmacdir).
	(uninstall_dirs): Add $(localtmacdir).
	* Makefile.comm (.man.n): Add @LOCALMACRODIR@.
	* tmac/Makefile.sub (install_data, uninstall_sub): Handle man.local
	in $(localtmacdir).  Create $(localtmacdir).
	* man/, src/roff/troff/, NEWS, doc/groff.texinfo:
	Updated and minor fixes.

	Rename font/devps/generate/dingbats[r]map to dingbats.[r]map.

	* font/devps/generate/Makefile.sub, arch/djgpp/README: Adjust.

2000-10-23  Werner LEMBERG  <>

	Move to tmac directory.

	* src/roff/troff/ Removed.
	* src/tmac/ Added.
	* src/roff/troff/Makefile.sub, tmac/Makefile.sub: Updated.

	Change installation structure for data files from .../groff/... to
	.../groff/<version><revision>/... to be conform with other GNU

	*, Makefile.comm, src/utils/indxbib/Makefile.sub,
	doc/Makefile: Implement it.
	* aclocal.m4 (GROFF_PAGE): Add test for new directory structure.
	* configure: Updated.
	* arch/djgpp/README, font/devutf8/NOTES: Use it.
	* NEWS: Document it.
	* man/, tmac/ Use @FONTPATH@, @FONTDIR@, and
	@MACRODIR@ instead of hard-coded directories.

2000-10-22  Werner LEMBERG  <>

	Implement $GROFF_BIN_PATH environment variable (which defaults to
	$bindir) used for child programs of groff and similar wrappers.

	* Improve documentation.
	* Makefile.comm (,man.n), src/include/Makefile.sub (defs.h),
	src/preproc/eqn/Makefile.sub (neqn),
	src/roff/nroff/Makefile.sub (nroff): Add $(bindir).
	* src/preproc/eqn/, src/roff/nroff/ Implement
	* src/roff/groff/ (main): Implement $GROFF_BIN_PATH and
	$GROFF_PATH__ (the latter for communication with troff).
	* src/roff/troff/ (main): Use $GROFF_PATH__ for $PATH if
	* NEWS, src/roff/nroff/, src/roff/groff/,
	doc/groff.texinfo: Document it.

	* doc/groff.texinfo: Improve documentation of troff's -a option.

2000-10-17  Gaius Mulley  <>

	* src/roff/troff/ Fixed calculation of opminx and fixed
	non-intrusive eol marker.
	(troff_output_file::determine_line_limits): New function.
	(troff_output_file::draw): Use it.
	* src/roff/troff/ (environment::add_html_tag): Use output() +
	output_pending_lines() instead of output_line().
	* src/preproc/eqn/ (do_file): Fix graphic_end().
	* src/preproc/html2/ (char_buffer::write_file_troff,
	createImage): Small fixes.
2000-10-14  Werner LEMBERG  <>

	Replace tmac.safer with a real secure solution.

	* src/roff/troff/ (open_request, opena_request, pipe_source,
	system_request, pipe_output): Disable requests if in safer mode.
	* src/roff/groff/ (main): Remove reference to tmac.safer.
	* tmac/tmac.safer, tmac/ Removed.
	* tmac/Makefile.sub, NEWS, man/, tmac/,
	doc/groff.texinfo, src/roff/groff/,
	src/roff/troff/, arch/djgpp/README: Updated.

	* src/devices/grops/ (main), src/devices/grops/
	(resource_manager::output_prolog): Replace setenv() with putenv().

2000-10-09  Werner LEMBERG  <>

	* src/libs/libbib/map.c, src/libs/libgroff/getcwd.c,
	src/libs/libgroff/strtol.c, src/preproc/html2/,
	src/preproc/html2/, src/preproc/html2/,
	src/roff/groff/pipeline.c: Removing `#ifndef errno' to avoid
	compilation errors with some compilers.  It seems that this code
	is no longer necessary -- if yes, it is easy to add some #ifdef's
	for that particular old-fashioned compiler.

	* MORE.STUFF: Added info about Meta-tbl.

	* doc/groff.texinfo: Added more info about `.if "..."..."'.

2000-10-07  Werner LEMBERG  <>

	Adding a new escape sequence \B'...': If the string between
	the delimiters is a valid numeric expression, return the character
	`1', and `0' otherwise.  This is an analogon to \A.

	* src/roff/troff/ (do_expr_test): Implement it.
	(token::next): Use it.
	* src/roff/troff/, NEWS, man/ Document it.

	* tmac/tmac.trace: Made independent from escape character.

2000-10-06  Werner LEMBERG  <>

	Adding a new request .dei: define indirect.  The first and second
	parameter of .dei are taken from string registers instead directly;
	this very special request is needed to make tmac.trace independent
	from the escape character (which might even be disabled).

	* src/roff/troff/ (do_define_macro): Implement it.
	(define_macro_indirect): New function.
	(init_input_requests): Use it.

	Adding two requests .ecs and .ecr: Save and restore the escape
	character.  These two requests are needed to make tmac.trace
	independent from the escape character (which might even be

	* src/roff/troff/ (save_escape_char, restore_escape_char):
	Implement it.
	(init_input_requests): Use it.

	* src/roff/troff/, NEWS, man/ Updated.

2000-09-22  Ricardo Soares Guimar„es  <>

	Adding a new option -P and new environment variable GROPS_PROLOGUE
	to grops, selecting a different prologue file (minor modifications
	by WL).

	* src/devices/grops/ (resource_manager::output_prolog),
	src/devices/grops/ (main): Implement it.
	* src/devices/grops/, NEWS: Document it.

2000-09-22  Werner LEMBERG  <>

	* INSTALL: Add info about selecting paper format.

2000-09-21  Werner LEMBERG  <>

	* src/roff/troff/ (main): Fixing compiler warning.
	* src/include/{driver.h, lib.h}: Move inclusion of string.h and
	strings.h from the former to the latter.
	* src/devices/grolbp/, src/include/lib.h: Move strncasecmp()
	stuff from the former to the latter.

2000-09-11  Werner LEMBERG  <>

	Implementing two new requests .tm1 and .tmc: The former is similar
	to .tm but can output leading spaces; its syntax is similar to
	defining a string, i.e., a `"' can be used to mark the beginning of
	the string to be written to stderr: `.tm1 " test'.  The latter is
	similar to .tm1 but doesn't write out a final newline character.

	* src/roff/troff/ (terminal1, terminal_continue,
	do_terminal): New functions.
	(init_input_requests): Use them.
	* src/roff/troff/, NEWS, man/ Updated.

2000-09-09  Werner LEMBERG  <>

	* tmac/ Small fixes.

2000-09-08  Werner LEMBERG  <>

	* tmac/ Fixing typo.

2000-09-02  Werner LEMBERG  <>

	Implementing a .nop request which does nothing.

	* src/roff/troff/ (nop_request): New function.
	(init_input_requests): Use it.
	* src/roff/troff/, NEWS, man/ Updated.

2000-09-01  Werner LEMBERG  <>

	* doc/groff.texinfo: Added some comments.

2000-08-30  Werner LEMBERG  <>

	* src/roff/troff/TODO: Updated.

2000-08-25  Werner LEMBERG  <>

	* doc/groff.texinfo: Fix comment how to compile the DVI file.

2000-08-25  Eli Zaretskii  <>

	* font/devps/generate/Makefile (SHELL): Define explicitly to
	"/bin/sh", for non-Unix platforms.
	(extraclean): Use a more portable "" quoting instead of a
	backslash (which doesn't work on DOS/Windows).
	* font/devlj4/generate/Makefile (extraclean): Ditto.

	* font/devdvi/generate/Makefile (extraclean): Ditto.

2000-08-25  Werner LEMBERG  <>

	* NEWS, doc/groff.texinfo, tmac/, man/,
	src/roff/troff/ Document Eli's latest changes.

2000-08-25  Eli Zaretskii  <>

	* src/roff/troff/ (open_mac_file, macro_source): Support
	macro file names of the form NAME.tmac as well as tmac.NAME.

2000-08-25  Werner LEMBERG  <>

	* src/include/posix.h: Remove definition of FILENAME_MAX.

	* src/preproc/html2/pre-html.h, Add return type to
	`sys_fatal' and `stop' function().

	* test-groff: Updated.

2000-08-24  Gaius Mulley  <>

	Added the new troff command .output <arg> to suppress output (while
	still obeying motion) and also the opminx, opminy, opmaxx, opmaxy
	registers (for passing the output dimensions to the output device).

	* src/roff/troff/ (top_level_diversion::output): Use `width'
	* src/roff/troff/node.h, src/roff/troff/
	supress_output_file::really_print_line): Use `width' parameter.
	(troff_output_file::really_on, troff_output_file::really_off,
	output_file::on, output_file::off, real_output_file::on,
	real_output_file::off, real_output_file::really_on,
	real_output_file::really_off): New functions.
	(real_output_file:public output_file): New variable `output_on'.
	(real_output_file::begin_page, real_output_file::copy_file,
	real_output_file::transparent_char, real_output_file::print_line):
	Use it.
	(real_output_file::print_line): Use check_output_limits.
	* src/roff/troff/reg.h, src/roff/troff/request.h,
	src/roff/troff/ (assign_registers): New function to remove
	two `goto's.
	(do_ps_file): Use it.
	(check_output_limits, reset_output_registers, output_request,
	init_output_requests): New functions.
	(init_input_requests): Updated.

	Added new grohtml2 device and html2 preprocessor (coding
	not yet finished) which will eventually replace grohtml.

	*, tmac/Makefile.sub, tmac/eqnrc, tmac/troffrc-end:
	* src/include/htmlindicate.h, src/include/htmlindicate
	(html_begin_suppress, html_end_suppress): New functions.
	* src/preproc/tbl/ Use it.
	* src/roff/groff/ Add support for html2 device (which will
	automatically invoke the html2 preprocessor).
	* src/roff/troff/ (is_html2): New variable.
	* src/roff/troff/troff.h, src/roff/troff/env.h,
	src/roff/troff/ (environment::add_html_tag): New function
	(uses `is_html2').
	(environment::do_break): Use it.
	* font/devhtml2/*: New files.
	* src/devices/grohtml2: New device.
	* src/preproc/html2: New preprocessor.
	* tmac/tmac.html-tags, tmac/tmac.html2: New files.

2000-08-23  Werner LEMBERG  <>

	* src/devices/grolbp/ Same workaround for sinix as for AIX.

2000-08-22  Werner LEMBERG  <>

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

2000-08-18  Werner LEMBERG  <>

	* Don't provide an empty value for SH_SCRIPT_SED_CMD
	since some non-GNU sed programs can't handle null regexps.
	* configure, src/preproc/eqn/Makefile.sub,
	src/roff/grog/Makefile.sub, src/roff/nroff/Makefile.sub: Updated.

	* src/devices/grolbp/ Add an AIX workaround for an autoconf
	bug (string.h and strings.h are both needed according to latest
	POSIX standard).

	* MORE.STUFF: Added info about unroff and troffcvt.

2000-08-08  Werner LEMBERG  <>

	* tmac/tmac.a4: Will now work with ms macros also; -ma4 should be
	used before -ms.

	* tmac/ Remove unused number register.

	* tmac.doc: Minor documentation fix.

2000-08-07  Paul Eggert  <>

	* src/roff/groff/pipeline.c (is_system_shell):
	Fix typo: "monocased_shell" no longer exists.

2000-08-07  Paul Eggert  <>

	Remove FILENAME_MAX limits.

	* src/roff/groff/pipeline.c (is_system_shell): Do not assume
	that the argument length is less than FILENAME_MAX.
	* src/libs/libgroff/ (add_tmp_file): Likewise.
	Use struct hack to allocate and free file name.
	(struct xtmpfile_list): fname is now part of the structure,
	not a pointer to another string.

2000-08-07  Tom Schmidt  <>

	* src/include/posix.h: Add a default value for FILENAME_MAX.

2000-08-06  Paul Eggert  <>

	Add support for new BSD-style man pages (with ".Dd" instead of
	".TH"), so that "groff -man" understands both styles, even
	when running "groff -man" on a host whose system man page
	macros don't support ".Dd".

	* tmac/Makefile.sub (NORMALFILES): Add
	(stamp-wrap): Source tmac.andoc first when wrapping man macros,
	in case the system man macros don't define Dd or TH.

	* tmac/ Renamed from tmac/
	* tmac/ New one-line file.
	* tmac/tmac.andoc (TH): Adjust to the file renaming.

2000-08-06  Werner LEMBERG  <>

	* src/roff/troff/ Fixing typos.

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