
Version 1.17.2 released
=======================

2001-07-07  Werner LEMBERG  <wl@gnu.org>

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

2001-07-06  Ruslan Ermilov  <ru@FreeBSD.org>

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

2001-07-05  Ruslan Ermilov  <ru@FreeBSD.org>

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

2001-07-04  Werner LEMBERG  <wl@gnu.org>

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

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

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

	* tmac/www.tmac: Fix typos.

2001-07-03  Werner LEMBERG  <wl@gnu.org>

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

2001-07-03  Gaius Mulley  <gaius@glam.ac.uk>

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

2001-07-02  Ruslan Ermilov  <ru@FreeBSD.org>

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

2001-07-02  Werner LEMBERG  <wl@gnu.org>

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

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

2001-06-29  Peter Marquardt  <wwwutz@molgen.mpg.de>

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

2001-06-27  Werner LEMBERG  <wl@gnu.org>

	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  <andras@cs.wits.ac.za>

	* aclocal.m4: Replace AC_LANG_SAVE + AC_LANG_CPLUSPLUS with
	AC_LANG_PUSH(C++) and AC_LANG_RESTORE with AC_LANG_POP(C++).
	* configure: Regenerated.

2001-06-25  Andras Salamon  <andras@cs.wits.ac.za>

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

2001-06-24  Werner LEMBERG  <wl@gnu.org>

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

Version 1.17.1 released
=======================

2001-06-21  Golubev I. N.  <gin@mo.msk.ru>

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

2001-06-20  Gaius Mulley  <gaius@glam.ac.uk>

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

2001-06-19  Gaius Mulley  <gaius@glam.ac.uk>

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

2001-06-18  Gaius Mulley  <gaius@glam.ac.uk>

	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/post-html.cc (main): Add options.
	(usage): Updated.
	* src/preproc/html/pre-html.cc: 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
	make_message().
	(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/input.cc (get_delim_file_name): New function to
	parse \O.
	(do_suppress): Updated to parse new syntax.
	* src/devices/grohtml/grohtml.man: Updated.
	* tmac/www.tmac: Updated to new syntax.

	* NEWS: Updated.

2001-06-15  Werner LEMBERG  <wl@gnu.org>

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

	* src/devices/grohtml/grohtml.man: Minor improvements.

2001-06-14  Werner LEMBERG  <wl@gnu.org>

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

2001-06-11  Werner LEMBERG  <wl@gnu.org>

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

2001-06-11  OKAZAKI Tetsurou  <okazaki@be.to>

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

2001-06-08  Werner LEMBERG  <wl@gnu.org>

	Updated to autoconf 2.50.

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

2001-05-18  Werner LEMBERG  <wl@gnu.org>

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

2001-05-17  Jeffrey Friedl  <jfriedl@yahoo-inc.com>

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

2001-05-16  Werner LEMBERG  <wl@gnu.org>

	* src/roff/troff/input.cc (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  <wl@gnu.org>

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

2001-05-07  Werner LEMBERG  <wl@gnu.org>

	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
	<hoffmann@usm.uni-muenchen.de>.

	* src/roff/troff/div.h (diversion): Add `no_space_mode' member.
	(top_level_diversion): Remove `no_space_mode' member.
	* src/roff/troff/div.cc (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/troff.man, man/groff.man, doc/groff.texinfo:
	Updated.

2001-05-06  Werner LEMBERG  <wl@gnu.org>

	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
	(COMPATIBLE_SAVE, COMPATIBLE_RESTORE).
	* src/roff/troff/input.cc (input_iterator): Added two member
	functions `save_compatible_flag' and `get_compatible_flag'.
	(input_stack): Ditto.
	(string_iterator): Ditto.  Also add private member
	`saved_compatible_flag'.
	(token::next): Use COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
	(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
	`calling_mode'.
	(define_nocomp_macro, append_nocomp_macro): New functions.
	(init_input_requests): Updated.
	(do_request): Rename local variable `saved_compatible_flag' to
	`old_compatible_flag'.
	* NEWS, src/roff/troff/troff.man, man/groff.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  <solar@openwall.com>

	* Makefile.in: Use $(mandir).

2001-05-06  Alexios Zavras  <zvr@pobox.com>

	* src/utils/afmtodit/afmtodit.pl: Fix serious typo.

2001-05-05  Werner LEMBERG  <wl@gnu.org>

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

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

2001-05-04  Werner LEMBERG  <wl@gnu.org>

	* src/roff/nroff/nroff.man: Improved documentation (especially
	locales).

2001-05-02  Werner LEMBERG  <wl@gnu.org>

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

	* src/roff/troff/env.cc (environment::do_break): Add parameter
	`spread'.
	(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/troff.man, man/groff.man: Document it.

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

2001-05-01  Werner LEMBERG  <wl@gnu.org>

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

2001-04-27  Werner LEMBERG  <wl@gnu.org>

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

2001-04-22  Werner LEMBERG  <wl@gnu.org>

	* 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
	<c.zeelenberg@hccnet.nl>.

2001-04-21  Werner LEMBERG  <wl@gnu.org>

	* configure.in: 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
	declarations.

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

2001-04-21  Albert Chin-A-Young  <china@thewrittenword.com>

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

2001-04-20  Bruce Lilly  <blilly@erols.com>

	`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/groff.cc
	(main), src/roff/troff/input.cc (main), src/preproc/tbl/main.cc
	(main), src/preproc/pic/main.cc (main), src/preproc/eqn/main.cc
	(main), src/preproc/grn/main.cc (main), src/preproc/html/pre-html.cc
	(scanArguments), src/preproc/refer/refer.cc (main),
	src/preproc/soelim/soelim.cc (main), src/devices/grotty/tty.cc
	(main), src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
	(main), src/devices/grohtml/post-html.cc (main),
	src/devices/grolbp/lbp.cc (main), src/utils/tfmtodit/tfmtodit.cc
	(main), src/utils/hpftodit/hpftodit.cc (main),
	src/utils/lookbib/lookbib.cc (main), src/utils/indxbib/indxbib.cc
	(main), src/utils/lkbib/lkbib.cc (main),
	src/utils/addftinfo/addftinfo.cc (main): Implement it.

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

2001-04-20  Werner LEMBERG  <wl@gnu.org>

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

2001-04-19  Werner LEMBERG  <wl@gnu.org>

	* src/preproc/html/pre-html.cc (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/addftinfo.cc (main): Fix compilation problem.

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

	* src/libs/libgroff/font.cc (font::load_desc): Fix compiler warning.
	* src/libs/libbib/index.cc (index_search_item_iterator::get_tag,
	index_search_item::search1): Ditto.
	* src/roff/troff/node.h (width_list): Reorder members.
	* src/roff/troff/input.cc (do_define_macro): Fix compiler warning.
	(lookup_warning): Ditto.
	(prepend_string): Commented out.
	* src/roff/troff/dictionary.cc (is_good_size): Fix compiler warning.
	* src/roff/troff/reg.cc (number_value_to_ascii): Ditto.
	* src/preproc/tbl/main.cc (process_format): Ditto.
	* src/preproc/pic/pic.y (define_variable, reset, reset_all): Fix
	compiler warnings.
	* src/preproc/pic/pic.cc: Updated.
	* src/preproc/eqn/lex.cc (init_table): Fix compiler warnings.
	* src/preproc/eqn/over.cc (over_box::compute_metrics): Ditto.
	* src/preproc/refer/command.cc (execute_command): Ditto.
	* src/preproc/refer/ref.cc (sortify_title, find_month): Ditto.
	* src/preproc/refer/token.cc (lookup_token): Ditto.
	* src/preproc/soelim/soelim.cc: Ditto.
	* src/preproc/html/pushbackbuffer.cc (ERROR): Ditto.
	(isHexDigit): Commented out.
	(pushBackBuffer::isString): Remove unused variable.
	* src/devices/grops/ps.cc (ps_printer::special): Fix compiler
	warning.
	* src/devices/grops/psrm.cc (resource_manager::lookup_font,
	resource_manager::read_resource_arg, read_one_of, parse_extensions):
	Ditto.
	* src/devices/grodvi/dvi.cc (dvi_printer::draw): Ditto.
	* src/devices/grolj4/lj4.cc (lj4_font::handle_unknown_font_command,
	lookup_paper_size): Ditto.
	* src/devices/grohtml/post-html.cc (is_subsection): Commented out.
	(text_glob, element_list): Reorder members.
	* src/devices/grohtml/html-text.cc (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/output.cc (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/lbp.cc (wp54charset, set_papersize): Remove
	compiler warnings.
	* src/utils/tfmtodit/tfmtodit.cc (tfm::load, gf::load, main): Ditto.
	* src/utils/hpftodit/hpftodit.cc (File::seek, read_symbol_sets,
	output_ligatures, output_charset, read_map): Ditto.
	* src/utils/lookbib/lookbib.cc (main): Ditto.
	* src/utils/indxbib/indxbib.cc (main, fwrite_or_die): Ditto.
	(do_file): Fix typo (`=' -> `==').
	* src/utils/lkbib/lkbib.cc (main): Remove compiler warning.
	* src/utils/addftinfo/addftinfo.cc (main): Ditto.

2001-04-18  Ruslan Ermilov  <ru@FreeBSD.org>

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

2001-04-18  Werner LEMBERG  <wl@gnu.org>

	* NEWS: Fixing typos.
	Updated.

Version 1.17 released
=====================

2001-04-17  Werner LEMBERG  <wl@gnu.org>

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

2001-04-16  Werner LEMBERG  <wl@gnu.org>

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

2001-04-15  Werner LEMBERG  <wl@gnu.org>

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

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

2001-04-14  Werner LEMBERG  <wl@gnu.org>

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

	* src/devices/grohtml-old/*: Removed.
	* font/devhtml-old/*: Removed.
	* src/libs/libgroff/htmlindicate.cc (graphic_start, graphic_end):
	Remove comments.
	* Makefile.in (CCPROGDIRS, DEVDIRS): Updated.
	* 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/tmpfile.cc (remove_tmp_files),
	src/libs/libgroff/htmlindicate.cc (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  <ru@FreeBSD.org>

	* src/roff/troff/troff.man: Fixing typos.

2001-04-13  Werner LEMBERG  <wl@gnu.org>

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

2001-04-12  Gaius Mulley  <gaius@glam.ac.uk>

	* src/devices/grohtml/grohtml.man: Updated manual page regarding
	simple anchor.
	* src/preproc/html/pre-html.cc (createImage): Fixed right hand
	cropping of images.
	(removeTempFiles): New function to tidy up temporary files.
	* src/preproc/html/pre-html.cc (main): Calls `removeTempFiles()'.
	Many fixes to do with the new inline suppress node and image regions
	are much tighter.
	* src/devices/grohtml/post-html.cc: 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'
	parameter.
	* src/preproc/eqn/main.cc: 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/main.cc: Changes to reflect additional
	`html_end_suppress' parameter.
	* src/roff/troff/env.cc: 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/input.cc (do_suppress): Handles extra suppress
	nodes \O3, \O4, \O5.  No longer use `output_low_mark_miny'.
	* src/roff/troff/node.cc (check_charinfo): New method.
	(troff_output_file::determine_line_limits): Alterations to limit
	checking.
	* tmac/www.tmac: Changes to reflect new suppress nodes.

2001-04-12  Bruno Haible  <haible@clisp.cons.org>

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

2001-04-12  Werner LEMBERG  <wl@gnu.org>

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

2001-04-11  Blake McBride  <blake@florida-software.com>

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

2001-04-11  Werner LEMBERG  <wl@gnu.org>

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

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

2001-04-10  Ruslan Ermilov  <ru@FreeBSD.org>

	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/groff_mdoc.man: Bump document date.
	Document `.Vt' under ``Variable Types''.
	Removed documentation for obsolete `.Or' macro.

2001-04-10  Werner LEMBERG  <wl@gnu.org>

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

2001-04-10  Bruno Haible  <haible@clisp.cons.org>

	* src/devices/grodvi/dvi.cc (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/devices/grohtml/post-html.cc (main): Accept --help and --version.
	Write --version output to stdout, not stderr.
	(usage): Add stream argument. Don't exit.
	* src/devices/grohtml-old/html.cc (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/devices/grolbp/lbp.cc (long_options): Use symbolic getopt.h
	constants.
	(usage): Add stream argument. Don't exit.
	(main): Write --help output to stdout, not stderr.
	* src/devices/grolj4/lj4.cc (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/devices/grops/ps.cc (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/devices/grotty/tty.cc (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/preproc/eqn/main.cc (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/preproc/grn/main.cc (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/preproc/html/pre-html.cc (usage): Add stream argument.
	(scanArguments): Accept --help and --version.
	* src/preproc/pic/main.cc (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/preproc/refer/refer.cc (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/preproc/soelim/soelim.cc (usage): Add stream argument. Don't
	exit.
	(main): Accept --help and --version.
	* src/preproc/tbl/main.cc (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/roff/groff/groff.cc (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/grog.pl: Accept --help and --version.
	(help): New sub.
	* src/roff/grog/grog.sh: Accept --help and --version.
	* src/roff/nroff/nroff.sh: Accept --help and --version.
	* src/roff/troff/input.cc (USAGE_EXIT_CODE): Remove macro.
	(usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/utils/addftinfo/addftinfo.cc (main): Accept --help and --version.
	(usage): New function with stream argument, doesn't exit.
	* src/utils/hpftodit/hpftodit.cc (main): Accept --help and --version.
	(usage): New function with stream argument, doesn't exit.
	* src/utils/indxbib/indxbib.cc (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.
	* src/utils/lkbib/lkbib.cc (usage): Add stream argument. Don't exit.
	(main): Accept --help and --version.
	* src/utils/lookbib/lookbib.cc (usage): Add stream argument. Don't
	exit.
	(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/tfmtodit.cc (main): Accept --help and --version.
	(usage): Add stream argument. Don't exit.

2001-04-10  Ruslan Ermilov  <ru@freebsd.org>

	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
	functions.
	(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
	`.rs'.
	(Fn, Fc): Add final `;' to output.
	(doc-save-global-vars, doc-restore-global-vars): Updated.
	* tmac/doc-common: Remove `Ex' register.
	Updated.
	* tmac/doc-ditroff, tmac/doc-nroff, tmac/doc-syms: Updated
	copyright.

2001-04-06  Ruslan Ermilov  <ru@freebsd.org>

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

2001-04-06  Werner LEMBERG  <wl@gnu.org>

	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'
	method.
	* src/libs/libdriver/printer.cc (printer::special): Updated.
	* src/libs/libdriver/input.cc (do_file): Handle `x u N'.

	* src/devices/dvi/dvi.cc (dvi_printer::special): Handle only
	specials of type `p'.
	* src/devices/grohtml/post-html.cc (html_printer::special): Ditto.
	* src/devices/grohtml-old/html.cc (html_printer::special): Ditto.
	* src/devices/grops/ps.cc (ps_printer::special): Ditto.
	* src/devices/grotty/tty.cc: 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/node.cc (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/env.cc (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/troff_out.man: Updated.

2001-04-06  Bruno Haible  <haible@clisp.cons.org>

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

2001-04-06  Ruslan Ermilov  <ru@freebsd.org>

	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-next-list-depth'.
	(doc-end-list, doc-end-column-list): Don't use
	`doc-increment-list-stack'.
	(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/groff_mdoc.man: Updated.
	* NEWS: Fix typo.

2001-04-02  Werner LEMBERG  <wl@gnu.org>

	* src/devices/grotty/grotty.man: Fix grammatical error.

2001-03-30  Ruslan Ermilov  <ru@freebsd.org>

	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/groff_mdoc.man: Many fixes and updates.

2001-03-29  Werner LEMBERG  <wl@gnu.org>

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

2001-03-28  Ruslan Ermilov  <ru@freebsd.org>

	* tmac/groff_mdoc.man: Many fixes.

2001-03-28  Werner LEMBERG  <wl@gnu.org>

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

2001-03-27  Werner LEMBERG  <wl@gnu.org>

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

2001-03-26  Werner LEMBERG  <wl@gnu.org>

	* 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  <ru@freebsd.org>

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

2001-03-24  Werner LEMBERG  <wl@gnu.org>

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

2001-03-23  Werner LEMBERG  <wl@gnu.org>

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

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

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

2001-03-23  Werner LEMBERG  <wl@gnu.org>

	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/groff_mdoc.samples.man: Replaced with ...
	* tmac/groff_mdoc.reference.man: New file, covering mdoc completely.
	* tmac/strip.sed: Updated.
	* tmac/Makefile.sub: Updated.
	* INSTALL: Updated.

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

2001-03-22  Werner LEMBERG  <wl@gnu.org>

	* 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  <wl@gnu.org>

	* 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  <wl@gnu.org>

	* 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  <wl@gnu.org>

	* 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  <kollar@alltel.net>

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

2001-03-19  Werner LEMBERG  <wl@gnu.org>

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

2001-03-19  Gaius Mulley  <gaius@glam.ac.uk>

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

	* src/devices/grohtml/post-html.cc (html_printer): New member
	`indent'.
	(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.cc (html_text::issue_table_begin):
	Add `<td width=...>' handling.
	(html_text::do_table): Add parameter.
	(html_text::do_indent): Updated.
	* src/devices/grohtml/html-text.h: Updated.

2001-03-16  Gaius Mulley  <gaius@glam.ac.uk>

	Introduced simple html tables to implement indentation.

	* src/devices/grohtml/html.h (word, word_list): New structures.
	(simple_output): Use it.
	* src/devices/grohtml/post-html.cc: 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
	conditionally.
	(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
	`linelength'.
	(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.cc (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/output.cc (word, word_list): Implement
	methods.
	(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/enc.cc (no_fill): Remove call to add_html_tag().
	* src/roff/troff/div.cc (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  <ru@freebsd.org>

	* mdate.sh: Make it POSIX compliant.

2001-03-09  Werner LEMBERG  <wl@gnu.org>

	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.cc (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/troff.man, man/groff.man: Document it.

2001-03-08  Werner LEMBERG  <wl@gnu.org>

	* src/roff/troff/input.cc (input_iterator::is_boundary): Minor
	cleanup.

2001-03-07  Werner LEMBERG  <wl@gnu.org>

	Make `\B' more rigid.

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

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

2001-03-04  Gaius Mulley  <gaius@glam.ac.uk>

	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/post-html.cc: 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/pre-html.cc (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/input.cc: 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  <bram@avontuur.org>

	* src/libs/libgroff/font.cc (font_widths_cache): Fixing syntax of
	constructor.

2001-02-26  David Leonard  <david.leonard@csee.uq.edu.au>

	* doc/meref.me: Fixing some typos.

2001-02-16  Werner LEMBERG  <wl@gnu.org>

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

2001-02-17  Ruslan Ermilov  <ru@FreeBSD.org>

	* tmac/groff_tmac.man: Fix typo.

2001-02-16  Werner LEMBERG  <wl@gnu.org>

	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
	anyway.

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

2001-02-15  Werner LEMBERG  <wl@gnu.org>

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

2001-02-13  Werner LEMBERG  <wl@gnu.org>

	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.cc (*node::asciify,
	asciify_reverse_node_list): Removed `unformat_only' flag and related
	code.
	(word_space_node::asciify, word_space_node::word_space_node): Use
	`orig_width'.
	(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/enc.cc (environment::space_newline): Use
	`width_list'.
	(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/input.cc (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'
	flag.

	* MORE.STUFF: Added more info about deroff.

2001-02-08  Werner LEMBERG  <wl@gnu.org>

	* 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
	`foo<ignore><ignore>bar'.

2001-02-05  Yoshiteru Kageyama  <yt-kage@cb3.so-net.ne.jp>

	* tmac/groff_tmac.man: Fix `BIR' macro.

2001-02-04  Werner LEMBERG  <wl@gnu.org>

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

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

	Handle `\~' similar to other comparable requests.

	* src/roff/troff/input.cc (process_input_stack): Remove now obsolete
	label.
	(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/env.cc (environment::space_newline,
	environment::space): Use it.
	(environment::possibly_break_line, environment::hyphenate_line):
	Implement it.
	* src/roff/troff/input.cc (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/node.cc (break_char_node::asciify): Don't asciify
	if `unformat_only' is active.

2001-01-30  Werner LEMBERG  <wl@gnu.org>

	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/env.cc (get_line_tabs): New function.
	(init_env_requests): Use it.
	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.

	* VERSION, REVISION: Changing to 1.17.0.

2001-01-28  Werner LEMBERG  <wl@gnu.org>

	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/input.cc (token::next, token::description,
	get_line_arg, token::add_to_node_list, token::process): Use it.

2001-01-27  Werner LEMBERG  <wl@gnu.org>

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

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

2001-01-25  Werner LEMBERG  <wl@gnu.org>

	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/env.cc (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/troff.man, man/groff.man, NEWS: Document it.  Other
	fixes.

2001-01-24  Werner LEMBERG  <wl@gnu.org>

	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/env.cc (init_env_requests): Add it.
	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.

2001-01-23  Gaius Mulley  <gaius@glam.ac.uk>

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

2001-01-23  Werner LEMBERG  <wl@gnu.org>

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

	* src/roff/troff/div.h (diversion): Add `saved_saved_indent' and
	`saved_target_text_length' members.
	* src/roff/troff/div.cc (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'.
	* env.cc (environment::make_tab_node): Set it.
	* node.cc (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
	characters).

	* input.cc (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.cc (*_node::asciify), asciify_reverse_node_list: Added
	parameter to control asciification process.
	* node.h (*_node::asciify): Ditto.
	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.

2001-01-20  Werner LEMBERG  <wl@gnu.org>

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

2001-01-18  Werner LEMBERG  <wl@gnu.org>

	* 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/grops.man: Updated.

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

	* test-groff: Updated.

2001-01-15  Gaius Mulley  <gaius@glam.ac.uk>

	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/groff_man.man
	* tmac/groff_markup.man: Updated and renamed to ...
	* tmac/groff_mwww.man: New file.
	* tmac/groff_tmac.man: 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.

	* Makefile.in, doc/Makefile: Updated.
	* doc/groff.texinfo: Added info about new `\O' escape.
	* doc/homepage.ms: 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.cc (printer::get_font_from_index): New
	method.
	* src/libs/libgroff/htmlindicate.cc (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/main.cc (do_file, main): Updated.
	* src/preproc/pic/troff.cc (troff_output::start_picture,
	troff_output::finish_picture): Updated.
	* src/preproc/tbl/main.cc (process_input_file): Updated.

	* src/roff/groff/groff.cc (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/env.cc (environment::environment): Add initializers
	for `need_eol' and `ignore_next_eol'.
	(environment::add_html_tag_eol, environment::add_html_tag_tabs): New
	functions.
	(point_size, fill, no_fill, center, right_justify, line_length,
	indent, temporary_indent, break_request, handle_tab): Use
	`add_html_tag()'.
	(set_tabs): Use `add_html_tag_tabs()'.
	(environment::add_html_tag): Updated.
	(environment::do_break): Updated.
	* src/roff/troff/div.cc (space_request, flush_output): Use
	`environment::add_html_tag()'.
	* src/roff/troff/input.cc: 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
	methods.
	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/node.cc:
	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):
	Updated.
	(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  <wl@gnu.org>

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

2001-01-12  Werner LEMBERG  <wl@gnu.org>

	* src/roff/troff/input.cc: 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/node.cc (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/env.cc (environment::space_newline,
	environment::space): Add code to initialize `num_spaces' (using the
	constructor of `word_space_node').
	* NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo:
	Document it.

2001-01-09  Werner LEMBERG  <wl@gnu.org>

	* man/groff_char.man: Use table header traps only conditionally.

2001-01-09  Bjarni Ingi Gíslason  <bjarniig@hi.is>

	* man/groff_char.man: Add `ý' and `Ý' to the `acute' group.

2001-01-08  Werner LEMBERG  <wl@gnu.org>

	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/div.cc (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/troff.man, man/groff.man: Document it.

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

2000-12-25  Werner LEMBERG  <wl@gnu.org>

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

2000-12-21  Werner LEMBERG  <wl@gnu.org>

	Ignore `ss' request if in compatibility mode.

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

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

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

2000-12-15  Ruslan Ermilov  <ru@FreeBSD.org>

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

2000-12-13  Werner LEMBERG  <wl@gnu.org>

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

2000-12-13  Ruslan Ermilov  <ru@FreeBSD.org>

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

	* src/preproc/eqn/neqn.man: New file.

	* src/preproc/tbl/table.cc (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  <wl@gnu.org>

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

2000-12-06  Werner LEMBERG  <wl@gnu.org>

	* 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/groff_man.man, doc/groff.texinfo, NEWS: Fix
	documentation of -rcR switch.

2000-12-03  Werner LEMBERG  <wl@gnu.org>

	* 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/groff_man.man, doc/groff.texinfo: Updated.

2000-12-02  Werner LEMBERG  <wl@gnu.org>

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

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

	Make `\~' usable in .tr request.

	* src/roff/troff/token.h (token_type): Add TOKEN_STRETCHABLE_SPACE.
	(token): Add stretchable_space().
	* src/roff/troff/input.cc (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.cc (node::add_char): Implement it.  Add code
	for stretchable space.
	* src/roff/troff/input.cc (token::add_to_node_list): Use it.
	(make_node): Add code for stretchable space.
	* src/roff/troff/env.cc (environment::add_char): Use it.
	* src/roff/troff/input.cc: Add ESCAPE_TILDE special character.
	(get_copy, token::next, transparent_translate, asciify): Use it.

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

2000-11-23  Werner LEMBERG  <wl@gnu.org>

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

2000-11-22  Werner LEMBERG  <wl@gnu.org>

	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/macropath.cc: Add `config_macro_path', change
	`macro_path'.
	* src/include/macropath.h: Add `config_macrp_path'.
	* src/libs/libgroff/fontfile.cc: Fix font path.
	* src/roff/troff/input.cc (process_startup_file): Use
	`config_macro_path'.
	(main): Select unsafe path if -U is given.

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

	* src/roff/troff/troff.man, man/roff.man, tmac/groff_tmac.man:
	Updated.

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

	* Makefile.in: Fix comments.

2000-11-17  Werner LEMBERG  <wl@gnu.org>

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

2000-11-16  Werner LEMBERG  <wl@gnu.org>

	* src/devices/grodvi/dvi.cc (main),
	src/devices/grohtml2/post-html.cc (main),
	src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
	(main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
	(main), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc
	(main), src/preproc/html2/pre-html.cc (main),
	src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main),
	src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc
	(main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc
	(main), src/utils/hpftodit/hpftodit.cc (main),
	src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc
	(main), src/utils/lookbib/lookbib.cc (main),
	src/utils/pfbtops/pfbtops.c (main), src/utils/tfmtodit/tfmtodit.cc
	(main): Use stdout for -v.
	* src/roff/groff/groff.cc (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/afmtodit.pl: Add -v switch.
	* src/utils/afmtodit/Makefile.sub (afmtodit): Use @VERSION@.
	* src/utils/afmtodit/afmtodit.man: Updated.

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

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

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

	* src/devices/grolbp/lbp.cc (main): Use Version_string instead of
	version_string.

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

2000-11-15  Werner LEMBERG  <wl@gnu.org>

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

	* src/devices/grodvi/dvi.cc (main),
	src/devices/grohtml2/post-html.cc (main),
	src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
	(main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
	(main) src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc
	(main), src/preproc/html2/pre-html.cc (main),
	src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main),
	src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc
	(main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc
	(main): Implement it.
	* NEWS: Updated.

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

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

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

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

2000-11-14  Werner LEMBERG  <wl@gnu.org>

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

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

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

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

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

2000-11-13  Werner LEMBERG  <wl@gnu.org>

	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.

	* Makefile.in (fontpath, tmacpath): Remove current directory.

	* src/libs/libgroff/searchpath.cc (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/macropath.cc, src/include/macropath.h: Add
	`safer_macro_path'.
	* src/libs/libgroff/fontfile.cc: Adjust `font_path'.

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

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

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

2000-11-12  Werner LEMBERG  <wl@gnu.org>

	* 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++.
	* configure.in: Fix typo in comment.
	* configure: Regenerated.

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

2000-11-08  Werner LEMBERG  <wl@gnu.org>

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

	* Makefile.in: Add $(libdir), $(libprogramdir), and $(systemtmacdir).
	(uninstall_dirs): Add $(libdir), $(libprogramdir), and
	$(systemtmacdir).
	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/roff.man, src/roff/troff/troff.man, src/roff/groff/groff.man,
	NEWS, doc/groff.texinfo: Updated and minor fixes.

	* Makefile.comm, Makefile.in: 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  <wl@gnu.org>

	* doc/groff.texinfo: Fix typo.

2000-10-26  Werner LEMBERG  <wl@gnu.org>

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

	* tmac/tmac.*: Moved to ...
	* tmac/*.tmac: this.
	* tmac/man.local: Fix comment.
	* tmac/groff_man.man, tmac/groff_markup.man, tmac/groff_mdoc.man,
	tmac/groff_me.man, tmac/groff_ms.man, tmac/groff_tmac.man: Updated.
	Added some `FILES' sections.  More use of @...@ directives.  Other
	minor updates.
	* arch/djgpp/README, font/devutf8/NOTES: Updated.
	* doc/homepage.ms, doc/groff.texinfo: Updated.
	* man/groff.man, man/roff.man: Updated.
	* src/devices/grodvi/grodvi.man, src/devices/grolbp/grolbp.man,
	src/devices/grolj4/grolj4.man, src/devices/grops/grops.man,
	src/devices/grotty/grotty.man: Updated.
	* src/preproc/pic/pic.man: Updated.
	* src/roff/grog/grog.pl, src/roff/grog/grog.sh: Use -mdoc-old
	instead of -mdoc.old.
	* src/roff/grog/grog.man: Document -mdoc and -mdoc-old.
	* src/roff/nroff/nroff.man: 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 (hyphen.us is now in
	the tmac subdirectory also).

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

	* README, PROBLEMS: Updated.

2000-10-25  Werner LEMBERG  <wl@gnu.org>

	Invert current behaviour: Search first FOOBAR.tmac, then
	tmac.FOOBAR.

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

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

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

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

2000-10-24  Werner LEMBERG  <wl@gnu.org>

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

	* Makefile.in: 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/roff.man, src/roff/troff/troff.man, 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  <wl@gnu.org>

	Move hyphen.us to tmac directory.

	* src/roff/troff/hyphen.us: Removed.
	* src/tmac/hyphen.us: 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
	programs.

	* Makefile.in, 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/roff.man, tmac/groff_tmac.man: Use @FONTPATH@, @FONTDIR@, and
	@MACRODIR@ instead of hard-coded directories.

2000-10-22  Werner LEMBERG  <wl@gnu.org>

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

	* gendefs.sh: 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/neqn.sh, src/roff/nroff/nroff.sh: Implement
	$GROFF_BIN_PATH.
	* src/roff/groff/groff.cc (main): Implement $GROFF_BIN_PATH and
	$GROFF_PATH__ (the latter for communication with troff).
	* src/roff/troff/input.cc (main): Use $GROFF_PATH__ for $PATH if
	set.
	* NEWS, src/roff/nroff/nroff.man, src/roff/groff/groff.man,
	doc/groff.texinfo: Document it.

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

2000-10-17  Gaius Mulley  <gaius@glam.ac.uk>

	* src/roff/troff/node.cc: 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/env.cc (environment::add_html_tag): Use output() +
	output_pending_lines() instead of output_line().
	* src/preproc/eqn/main.cc (do_file): Fix graphic_end().
	* src/preproc/html2/pre-html.cc (char_buffer::write_file_troff,
	createImage): Small fixes.
	
2000-10-14  Werner LEMBERG  <wl@gnu.org>

	Replace tmac.safer with a real secure solution.

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

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

2000-10-09  Werner LEMBERG  <wl@gnu.org>

	* src/libs/libbib/map.c, src/libs/libgroff/getcwd.c,
	src/libs/libgroff/strtol.c, src/preproc/html2/image.cc,
	src/preproc/html2/pre-html.cc, src/preproc/html2/pushbackbuffer.cc,
	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  <wl@gnu.org>

	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/input.cc (do_expr_test): Implement it.
	(token::next): Use it.
	* src/roff/troff/troff.man, NEWS, man/groff.man: Document it.

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

2000-10-06  Werner LEMBERG  <wl@gnu.org>

	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/input.cc (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
	disabled).

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

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

2000-09-22  Ricardo Soares Guimarães  <ricardo@conectiva.com.br>

	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/psrm.cc (resource_manager::output_prolog),
	src/devices/grops/ps.cc (main): Implement it.
	* src/devices/grops/grops.man, NEWS: Document it.

2000-09-22  Werner LEMBERG  <wl@gnu.org>

	* INSTALL: Add info about selecting paper format.

2000-09-21  Werner LEMBERG  <wl@gnu.org>

	* src/roff/troff/input.cc (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/lpb.cc, src/include/lib.h: Move strncasecmp()
	stuff from the former to the latter.

2000-09-11  Werner LEMBERG  <wl@gnu.org>

	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/input.cc (terminal1, terminal_continue,
	do_terminal): New functions.
	(init_input_requests): Use them.
	* src/roff/troff/troff.man, NEWS, man/groff.man: Updated.

2000-09-09  Werner LEMBERG  <wl@gnu.org>

	* tmac/groff_mdoc.samples.man: Small fixes.

2000-09-08  Werner LEMBERG  <wl@gnu.org>

	* tmac/groff_mdoc.man: Fixing typo.

2000-09-02  Werner LEMBERG  <wl@gnu.org>

	Implementing a .nop request which does nothing.

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

2000-09-01  Werner LEMBERG  <wl@gnu.org>

	* doc/groff.texinfo: Added some comments.

2000-08-30  Werner LEMBERG  <wl@gnu.org>

	* src/roff/troff/TODO: Updated.

2000-08-25  Werner LEMBERG  <wl@gnu.org>

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

2000-08-25  Eli Zaretskii  <eliz@is.elta.co.il>

	* 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  <wl@gnu.org>

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

2000-08-25  Eli Zaretskii  <eliz@is.elta.co.il>

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

2000-08-25  Werner LEMBERG  <wl@gnu.org>

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

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

	* test-groff: Updated.

2000-08-24  Gaius Mulley  <gaius@glam.ac.uk>

	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/div.cc (top_level_diversion::output): Use `width'
	parameter.
	* src/roff/troff/node.h, src/roff/troff/node.cc
	(troff_output_file::really_print_line,
	ascii_output_file::really_print_line,
	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/input.cc (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.

	* Makefile.in, tmac/Makefile.sub, tmac/eqnrc, tmac/troffrc-end:
	Updated.
	* src/include/htmlindicate.h, src/include/htmlindicate
	(html_begin_suppress, html_end_suppress): New functions.
	* src/preproc/tbl/main.cc: Use it.
	* src/roff/groff/groff.cc: Add support for html2 device (which will
	automatically invoke the html2 preprocessor).
	* src/roff/troff/input.cc (is_html2): New variable.
	* src/roff/troff/troff.h, src/roff/troff/env.h,
	src/roff/troff/env.cc (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  <wl@gnu.org>

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

2000-08-22  Werner LEMBERG  <wl@gnu.org>

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

2000-08-18  Werner LEMBERG  <wl@gnu.org>

	* configure.in: 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/lbp.cc: 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  <wl@gnu.org>

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

	* tmac/tmac.man.old: Remove unused number register.

	* tmac.doc: Minor documentation fix.

2000-08-07  Paul Eggert  <eggert@twinsun.com>

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

2000-08-07  Paul Eggert  <eggert@twinsun.com>

	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/tmpfile.cc (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  <tschmidt@micron.com>

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

2000-08-06  Paul Eggert  <eggert@twinsun.com>

	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 tmac.an.old.
	(stamp-wrap): Source tmac.andoc first when wrapping man macros,
	in case the system man macros don't define Dd or TH.

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

2000-08-06  Werner LEMBERG  <wl@gnu.org>

	* src/roff/troff/troff.man: Fixing typos.

Copyright 2000, 2001
  Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

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