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

2001-07-07  Werner LEMBERG  <[email protected]>

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

2001-07-06  Ruslan Ermilov  <[email protected]>

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

2001-07-05  Ruslan Ermilov  <[email protected]>

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

2001-07-04  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

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

2001-07-02  Ruslan Ermilov  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

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

2001-06-27  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

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

2001-06-24  Werner LEMBERG  <[email protected]>

       * 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.  <[email protected]>

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

2001-06-20  Gaius Mulley  <[email protected]>

       * 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  <[email protected]>

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

2001-06-18  Gaius Mulley  <[email protected]>

       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  <[email protected]>

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

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

2001-06-14  Werner LEMBERG  <[email protected]>

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

2001-06-11  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

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

2001-06-08  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

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

2001-05-16  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       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
       <[email protected]>.

       * 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  <[email protected]>

       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  <[email protected]>

       * Makefile.in: Use $(mandir).

2001-05-06  Alexios Zavras  <[email protected]>

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

2001-05-05  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

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

2001-05-02  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

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

2001-04-27  Werner LEMBERG  <[email protected]>

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

2001-04-22  Werner LEMBERG  <[email protected]>

       * 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
       <[email protected]>.

2001-04-21  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       `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  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       * NEWS: Fixing typos.
       Updated.

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

2001-04-17  Werner LEMBERG  <[email protected]>

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

2001-04-16  Werner LEMBERG  <[email protected]>

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

2001-04-15  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

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

2001-04-13  Werner LEMBERG  <[email protected]>

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

2001-04-12  Gaius Mulley  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

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

2001-04-11  Blake McBride  <[email protected]>

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

2001-04-11  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

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

2001-04-10  Bruno Haible  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

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

2001-04-06  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

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

2001-04-06  Ruslan Ermilov  <[email protected]>

       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  <[email protected]>

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

2001-03-30  Ruslan Ermilov  <[email protected]>

       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  <[email protected]>

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

2001-03-28  Ruslan Ermilov  <[email protected]>

       * tmac/groff_mdoc.man: Many fixes.

2001-03-28  Werner LEMBERG  <[email protected]>

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

2001-03-27  Werner LEMBERG  <[email protected]>

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

2001-03-26  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

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

2001-03-24  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

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

2001-03-19  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       * 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/groohtml/html-text.h: Updated.

2001-03-16  Gaius Mulley  <[email protected]>

       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  <[email protected]>

       * mdate.sh: Make it POSIX compliant.

2001-03-09  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

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

2001-03-07  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

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

2001-02-26  David Leonard  <[email protected]>

       * doc/meref.me: Fixing some typos.

2001-02-16  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       * tmac/groff_tmac.man: Fix typo.

2001-02-16  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

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

2001-02-13  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

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

2001-02-04  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

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

2001-01-18  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

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

2001-01-12  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

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

2001-01-09  Bjarni Ingi G�slason  <[email protected]>

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

2001-01-08  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

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

2000-12-21  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

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

2000-12-13  Werner LEMBERG  <[email protected]>

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

2000-12-13  Ruslan Ermilov  <[email protected]>

       * 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  <[email protected]>

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

2000-12-06  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

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

2000-11-16  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       * doc/groff.texinfo: Fix typo.

2000-10-26  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       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  <[email protected]>

       * INSTALL: Add info about selecting paper format.

2000-09-21  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

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

2000-09-08  Werner LEMBERG  <[email protected]>

       * tmac/groff_mdoc.man: Fixing typo.

2000-09-02  Werner LEMBERG  <[email protected]>

       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  <[email protected]>

       * doc/groff.texinfo: Added some comments.

2000-08-30  Werner LEMBERG  <[email protected]>

       * src/roff/troff/TODO: Updated.

2000-08-25  Werner LEMBERG  <[email protected]>

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

2000-08-25  Eli Zaretskii  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

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

2000-08-22  Werner LEMBERG  <[email protected]>

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

2000-08-18  Werner LEMBERG  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

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

2000-08-07  Paul Eggert  <[email protected]>

       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  <[email protected]>

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

2000-08-06  Paul Eggert  <[email protected]>

       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  <[email protected]>

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

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