diff options
Diffstat (limited to 'ChangeLog.119')
-rw-r--r-- | ChangeLog.119 | 5240 |
1 files changed, 5240 insertions, 0 deletions
diff --git a/ChangeLog.119 b/ChangeLog.119 new file mode 100644 index 0000000..2840368 --- /dev/null +++ b/ChangeLog.119 @@ -0,0 +1,5240 @@ + +Version 1.19.2 released +======================= + + * tmac/groff_ms.man, doc/groff.texinfo: Synchronize. + + * doc/webpage.ms: Updated. + + * install-sh, mkinstalldirs: New versions; taken from texinfo CVS. + +2005-09-04 Jörgen Grahn <jgrahn@algonet.se> + + * tmac/groff_ms.man: Document `PO' better. + +2005-09-03 Werner LEMBERG <wl@gnu.org> + + * NEWS: Document grotty changes. + +2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com> + + Backward compatibility support for `man' program. + + * tmac/an-old.tmac (LL): Initialize it to respect prior LL register + assignment, prior `.ll' request and then package defaults, in this + specified order of decreasing priority. + + * tmac/groff_man.man, doc/groff.texinfo (Man options): Document + altered `LL' register initialization priorities. + +2005-08-29 Gary W. Swearingen <garys@opusnet.com> + + * tmac/groff_mdoc.man: Go into more details how the `AUTHORS' + section should look like. + +2005-08-29 Werner LEMBERG <wl@gnu.org> + + * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't + be abbreviated. + +2005-08-27 Bernd Warken <groff-bernd.warken-72@web.de> + + * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor + fixes. + +2005-08-11 Bernd Warken <groff-bernd.warken-72@web.de> + + * tmac/www.tmac (URL, MTO): Handle empty \\$1 better. + +2005-08-09 Bernd Warken <groff-bernd.warken-72@web.de> + + * tmac/www.tmac (URL, MTO): Use bold series if color support is + deactivated. + +2005-08-02 Bernd Warken <groff-bernd.warken-72@web.de> + + * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete + as argument to $(INSTALL_INFO). The latter isn't portable. + Remove $(HTMLEXAMPLEFILES) too. + + * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and + $(datadir)/doc too. + Suppress warning messages and return always true. + + * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too. + +2005-07-02 Bernd Warken <groff-bernd.warken-72@web.de> + + * src/devices/xditview/gxditview.man: Change many `.I' to `.B'. + * man/groff_out.man: More markup and minor improvements. + * src/roff/groff/groff.man: Minor improvements. + +2005-06-28 Werner LEMBERG <wl@gnu.org> + + * ChangeLog: Split off older entries into... + * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New + files. + +2005-06-26 Bernd Warken <groff-bernd.warken-72@web.de> + + * src/devices/xditview/gxditview.man: More minor fixes. + +2005-06-24 Werner LEMBERG <wl@gnu.org> + + * src/preproc/pic/troff.cpp (troff_output::set_fill, + troff_output::set_color, troff_output::reset_color): Use .bcolor and + .fcolor instead of \m and \M, respectively. + +2005-06-23 Bernd Warken <groff-bernd.warken-72@web.de> + + * src/devices/xditview/gxditview.man: More minor fixes. + * README: Formatting issues. + Mention some problems with Debian. + +2005-06-23 Bernd Warken <groff-bernd.warken-72@web.de> + + * src/devices/xditview/gxditview.man: Revised and improved. + +2005-06-22 Werner LEMBERG <wl@gnu.org> + + Another round in fixing getopt problems. Hopefully the last one! + This time we use the getopt stuff from gnulib and define a prefix + unconditionally so that there are no collisions with any other + getopt implementations. This is a slight waste of space in case + we already use a GNU getopt implementation, but on + the other hand it really simplifies life. + + * src/include/getopt.h: Use gnulib version. + + * src/include/getopt_int.h: Use gnulib version. + + * src/include/groff-getopt.h: Removed. Obsolete now. + + * src/include/lib.h: Regarding getopt, don't handle any platform + specially; just include getopt.h. + (__GETOPT_PREFIX): Define (before getopt.h). + + * src/include/Makefile.sub (HDRS): Updated. + + * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use + gnulib version. + + * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set + __GETOPT_PREFIX. + + * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c + (__GETOPT_PREFIX): Define (before getopt.h). + +2005-06-21 Werner LEMBERG <wl@gnu.org> + + * src/include/lib.h: Provide a fix for Mac OS X to not include + groff-getopt.h. + +2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com> + + * font/devps/prologue.ps (EP): Don't use `bind'. Reason: Using + `bind' to define a procedure which contains `showpage' means that an + invocation of `showpage' may execute wrongly (the exact effect + depending on the interpreter). Not usually a problem except under + transformations, such as combining pages. + (PEND): Don't call `clear'. Reason: Using `clear' in the definition + of /PEND means that stack underflow will occur if the stack is + deliberately non-empty before document inclusion. If included + files are found to be generally badly behaved, we could replace the + `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've + never found this necessary). + +2005-06-20 Jörgen Grahn <jgrahn@algonet.se> + + * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero + earlier to get correct error message. + +2005-06-16 Bernd Warken <groff-bernd.warken-72@web.de> + * src/roff/nroff/nroff.sh: Add support for iso-8859-15. + +2005-06-15 Werner LEMBERG <wl@gnu.org> + + Another try to update getopt files. This time we add a dummy + gettext.h file to satisfy the dependency. + + * src/include/getopt.h, src/libs/libgroff/getopt.c, + src/libs/libgroff/getopt1.c: Updated from GNU libc CVS. + + * src/include/getopt_int.h: New file (from GNU libc CVS). + + * src/include/gettext.h: Dummy file which just defines a gettext() + macro. + + * src/include/groff-getopt.h: Updated. + + * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h. + + + * src/libs/libdriver/input.cpp (IntArray): Remove superfluous + `const' keywords in return value. + + * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer): + Remove redundant variable `old'. + (pushBackBuffer::skipToNewline): Remove redundant variable `ch'. + + * src/preproc/tbl/main.cpp (process_table): Remove redundant + variable `c'. + + + Fix more friend name injection problems since modern C++ compilers + fail otherwise. We simply provide (global) declarations for all + functions declared as friends. This is not really necessary but + doesn't harm. + + * src/preproc/eqn/lex.cpp: Provide declarations for get_char, + peek_char, and get_location. + + * src/preproc/refer/ref.h: Provide declarations for + compare_reference, same_reference, same_year, same_date, + same_author_last_name, and same_author_name. + + * src/roff/troff/div.h: Provide declarations for do_divert and + page_offset. + + * src/roff/troff/env.h: Provide declarations for title_length, + space_size, fill, no_fill, adjust, no_adjust, center, right_justify, + vertical_spacing, post_vertical_spacing, line_spacing, line_length, + indent, temporary_indent, do_underline, do_input_trap, set_tabs, + margin_character, no_number, number_lines, leader_character, + tab_character, hyphenate_request, no_hyphenate, + hyphen_line_max_request, hyphenation_space_request, + hyphenation_margin_request, line_width, tabs_save, tabs_restore, + line_tabs_request, widow_control_request, and do_divert. + + * src/roff/troff/input.cpp: Provide declaration for chop_macro. + + * src/roff/troff/node.cpp: Provide declarations for class + tfont_spec. + Provide declaration for make_tfont. + +2005-05-29 Werner LEMBERG <wl@gnu.org> + + * doc/fdl.texi: Updated to version 1.2. Reported by + Bernd Warken <groff-bernd.warken-72@web.de>. + +2005-05-28 Werner LEMBERG <wl@gnu.org> + + * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove + redundant semicolons. + + * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub, + src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub: + Define `MLIB'. Some compilers need this for linking with libgroff. + +2005-05-27 Werner LEMBERG <wl@gnu.org> + + * MANIFEST, README, doc/webpage.ms: Updated. + +2005-05-26 Werner LEMBERG <wl@gnu.org> + + * All affected files: Update postal address of FSF. + +2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com> + Bernd Warken <groff-bernd.warken-72@web.de> + + * README: More fixes. + + * README.CVS: Removed. Its contents is now part of the README file. + +2005-05-21 Werner LEMBERG <wl@gnu.org> + + * README: Updated. Based on a patch from + Bernd Warken <groff-bernd.warken-72@web.de>. + +2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com> + + Miscellaneous script portability enhancements. + + * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for + generated conftest.sh script, conforming to portability + recommendation in autoconf docs. + * configure: Likewise, for code generated by GROFF_CSH_HACK. + * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming + to portability recommendation in autoconf docs. + * contrib/grap2graph/grap2graph.sh: Likewise. + * contrib/pic2graph/pic2graph.sh: Likewise. + * font/devps/generate/afmname: Likewise. + * src/devices/xditview/ad2c: Likewise. + * src/preproc/eqn/neqn.sh: Likewise. + * src/roff/grog/grog.pl: Likewise. + * src/roff/grog/grog.sh: Likewise. + * src/roff/nroff/nroff.sh: Likewise. + * PROBLEMS: Likewise, in embedded script examples. + +2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com> + + Improve portability of `pdfroff' shell script. + + * arch/misc/shdeps.sh: Add space in shebang, conforming to + portability guidelines in `autoconf' docs. + (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR + initialization code. Used by contrib/pdfmark/pdfroff.sh's + `searchpath' function. + +2005-05-14 Werner LEMBERG <wl@gnu.org> + + * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh, + contrib/eqn2graph.sh: Add option `-trim' to `convert' which is + needed for newer ImageMagick versions. + +2005-05-07 Werner LEMBERG <wl@gnu.org> + + * src/preproc/refer/refer.man: Many small typographic fixes. + +2005-05-06 Jeff Conrad <jeff_conrad@msn.com> + + * src/devices/grohtml/post-html.cpp (assert_state::~assert_state): + Use `char *' cast for a_delete. + +2005-05-03 Werner LEMBERG <wl@gnu.org> + + * src/libs/libgroff/maxpathname.cpp: Include stdlib.h. + src/libs/libgroff/relocate.cpp: Use path_name_max everywhere. + +2005-05-03 Jeff Conrad <jeff_conrad@msn.com> + + * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using + `a_delete' for `const char *'. + +2005-05-03 Werner LEMBERG <wl@gnu.org> + + * src/devices/grohtml/post-html.cpp, + src/devices/grohtml/html-table.cpp, + src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp: + Replace malloc/free with new/delete/a_delete. + + * src/devices/grolbp/lbp.h: Remove superfluous semicolons which + are prohibited with ANSI C++. + (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the + function has a variable number of arguments). + + * src/preproc/grn/main.cpp (doinput): Change return type to `int'. + Simplify function and update all callers. + +2005-05-02 Werner LEMBERG <wl@gnu.org> + + Undo getopt changes from 2005-04-30. We don't want a dependency + on gettext. + + * src/include/getopt_int.h: Removed. + + * src/include/getopt.h, src/include/groff-getopt.h, + src/include/Makefile.sub, src/libs/libgroff/getopt.c, + src/libs/libgroff/getopt1.c: Revert to previous version. + + + * src/include/nonposix.h (access) [_MSC_VER]: New macro. + + * src/include/posix.h (F_OK): Define conditionally. + + * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use + different variable name in second `for' loop to avoid MSVC compiler + problem. + +2005-04-30 Werner LEMBERG <wl@gnu.org> + + AC_TYPE_SIGNAL from current autoconf can fail if CC=g++. + + * aclocal.m4 (GROFF_TYPE_SIGNAL): New function. + * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL. + * configure, src/include/config.hin: Regenerated. + + * PROBLEMS: Updated. + + + Update getopt files. + + * src/include/getopt.h, src/libs/libgroff/getopt.c, + src/libs/libgroff/getopt1.c: Updated from GNU libc CVS. + + * src/include/getopt_int.h: New file (from GNU libc CVS). + + * src/include/groff-getopt.h: Updated. + + * src/include/Makefile.sub (HDRS): Add getopt_int.h. + + + * font/devutf8/NOTES: Updated. + +2005-04-28 Werner LEMBERG <wl@gnu.org> + + Bug fix for Win32 relocatable code. Based on a patch from Keith + Marshall. + + * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH' + also. + + * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally. + (searchpath) [_WIN32]: Use `_fullpath', not `realpath'. + +2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com> + + Correct `gnu.eps' handling for build from distribution tarball, with + separate source and build directories. + + * doc/Makefile.sub: (examples.stamp): New target; forces copy of + grnexmpl.g, groff.css and gnu.eps from source to build directory; + generate gnu.eps from gnu.xpm if required; touch examples.stamp. + (prepare_examples): Make it depend on examples.stamp. + (CLEANADD): Add examples.stamp. + +2005-04-27 Werner LEMBERG <wl@gnu.org> + + Implement the rule + + position: `(' position `)' + + in pic. + + * src/preproc/pic/pic.y (position, position_not_place): Handle + additional parentheses. + + * doc/pic.ms: Updated. + +2005-04-23 Larry Jones <lawrence.jones@ugs.com> + + * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration. + +2005-04-18 Werner LEMBERG <wl@gnu.org> + + * src/roff/groff/pipeline.c: Don't include ctype.h. + +2005-04-13 Werner LEMBERG <wl@gnu.org> + + * src/roff/nroff/nroff.man: Document option `-M'. + +2005-04-13 Bruce Lilly <blilly@erols.com> + + * src/roff/nroff/nroff.sh: Make the script accept option `-M'. + +2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net> + Werner LEMBERG <wl@gnu.org> + + Add binary relocation support for Windows platforms. + + * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'. + + * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files. + + * src/libs/libgroff/searchpath.cpp: Handle `relocate'. + (search_path::search_path, search_path::open_file_cautious): Use + `relocate'. + + * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS), + src/include/Makefile.sub (HDRS): Updated. + +2005-04-01 Werner LEMBERG <wl@gnu.org> + + * src/devices/grohtml/post-html.cpp: Don't use strdup/free but + strsave/a_delete. + + * src/libs/libgroff/font.cpp: Replace strdup with strsave. + + * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since + lib.h already does it. + + * src/libs/libgroff/maxpathname.cpp: New file, defining + path_name_max. + + * src/include/lib.h: Add prototype for path_name_max. + + * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated. + + * src/include/nonposix.h (PATH_EXT): New macro. + +2005-03-28 Werner LEMBERG <wl@gnu.org> + + Add support for double- and zero-width characters in grotty. + + * src/devices/grotty/tty.cpp (glyph): Add width. + (tty_printer::make_underline, tty_printer::make_bold, + tty_printer::add_character): Add parameter to pass character width. + Update all callers. + (tty_printer::end_page): Increase hpos by actual character width. + + * font/devutf8/R.proto: Specify zero width for non-spacing + characters. + + * tmac/unicode.tmac: Remove definitions for non-spacing entities. + + * Makefile.comm (extraclean): Remove more junk files. + +2005-03-25 Werner LEMBERG <wl@gnu.org> + + * configure.ac: Undo change from 2005-03-24. + * configure: Regenerated. + +2005-03-24 Werner LEMBERG <wl@gnu.org> + + * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests. + (dist): Search Makefile while descending into $(EXTRADIRS). + + * doc/Makefile.in (.PHONY): Add. + (clean): Don't remove *.png and *.eps. + Don't handle *.gif. + (realclean): Remove *.png and *.eps. + (extraclean): Depend on distclean. + + * configure.ac: Add copyright. + Handle contrib/pdfmark/Makefile. + + * configure: Regenerated. + +2005-03-18 Larry Kollar <kollar@alltel.net> + + Add numbered and definition lists to www.tmac. + + * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3, + www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New + auxiliary string registers. + (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2, + www-ol-ctr3, www-dl-shift): New auxiliary number registers. + (www-level): Removed. + (www-level1, www-level2, www-level3): Initialize to empty. + (www-level0, www-level4, www-level5, www-level6, www-level7, + www-level8, www-level9): New string registers. + (www-push-li, www-pop-li): New macros. + (www-push-level, www-pop-level): Renamed to... + (www-push-ul-level, www-pop-ul-level): This. + Updated. + (www-push-ol-level, www-pop-ol-level): New macros. + (ULS, ULE): Updated. + (OLS, OLE, DLS, DLE): New user macros. + (LI): Removed. It is aliased to one of... + (www-li-ul, www-li-ol, www-li-dl): New macros. + + * tmac/groff_www.man: Document new macros. + + * NEWS: Updated. + +2005-03-18 Werner LEMBERG <wl@gnu.org> + + * tmac/doc-common (doc-operating-system-NetBSD-2.0.1, + doc-operating-system-NetBSD-2.0.2): New strings. + + * tmac/groff_mdoc.man: Updated. + +2005-03-17 Werner LEMBERG <wl@gnu.org> + + * doc/Makefile.sub (CLEANADD): Add `groff.html'. + +2005-03-17 Werner LEMBERG <wl@gnu.org> + + * src/libs/libgroff/hypot.c: Renamed to... + * src/libs/libgroff/hypot.cpp: This. Updated to C++. + + * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated. + + * src/include/lib.h: Updated. + +2005-03-16 Werner LEMBERG <wl@gnu.org> + + Add workaround for broken hypot() on Interix. + + * src/libs/libgroff/hypot.c: New wrapper file for `hypot'. + + * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'. + (CSRCS): Add `hypot.c'. + + * src/include/lib.h: Declare `groff_hypot'. + + * src/preproc/grn/hgraph.cpp: Don't declare `hypot'. + Use `groff_hypot'. + + * src/preproc/pic/pic.h: Don't declare `hypot'. + + * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'. + +2005-03-15 Gaius Mulley <gaius@glam.ac.uk> + + * src/devices/grohtml/post-html.cpp + (html_printer::lookahead_for_tables): End .ce properly to avoid a + segfault. + +2005-03-15 Werner LEMBERG <wl@gnu.org> + + makeinfo 4.8 doesn't produce good HTML output from groff.texinfo. + + * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output. + + * doc/Makefile.in (.texinfo.html): Call fixinfo.sh. + +2005-03-14 Werner LEMBERG <wl@gnu.org> + + Add Cyrillic support to devutf8 and devhtml. + + * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks. + + * tmac/unicode.tmac: New file. + + * tmac/tty.tmac: Include unicode.tmac if device is utf8. + + * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac. + + * NEWS: Updated. + +2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/libs/libdriver/printer.cpp (check_for_output_error): New + function. It has been introduced to catch peculiar error contexts + on MS-Windows platforms. + +2005-02-28 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.cpp (string_iterator::fill): Protect against + null pointer. + + * tmac/papersize.tmac: Convert `paper' string contents to lowercase. + + * configure: Regenerated. + + * NEWS: Updated. + +2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com> + + Integrate `pdfmark' into normal groff build system; + install macro `pdfmark' packages, build and install `pdfroff', + and PDF format documentation. + + * Makefile.comm: Add PDFDOCDIR. + + * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS, + pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables. + (unstall_dirs): Add pdfdocdir. + + * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support + `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS. + (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of + GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT. + (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up. + (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option, + set ALT_AWK_PROGS. + (GROFF_AWK_PATH): New function; support `--with-awk' option, force + use of GROFF_AWK_PREFS. + (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH + and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc. + + * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS. + Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and + also by modified GROFF_HTML_PROGRAMS). + +2005-02-27 Gaius Mulley <gaius@glam.ac.uk> + + * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve + paragraph spacing. + (html_text::done_para): Unset `start_space'. + (html_text::remove_para_align): Call `retrieve_para_space' for the + spacing. + + * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset + `seen_space'. + (html_printer::do_check_center): Emit vertical space if necessary. + + * src/roff/troff/env.cpp (environment_switch): Preserve + `seen_space', `seen_eol', and `suppress_next_eol' while switching + environments. + + * src/roff/troff/node.cpp (suppress_node::suppress_node): Set + `is_special'. + +2005-02-20 Werner LEMBERG <wl@gnu.org> + + * src/preproc/eqn/eqn.man, NEWS: Document various extensions of + eqn. + +2005-02-17 Werner LEMBERG <wl@gnu.org> + + * doc/pic.ms, man/groff.man: Fix typos. + + * doc/groff.texinfo: Fix typos. + (\LEmacro): Get proper mathematical spacing. + +2005-02-16 Werner LEMBERG <wl@gnu.org> + + * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message. + * configure: Regenerated with autoconf 2.59b. + +2005-02-16 Gaius Mulley <gaius@glam.ac.uk> + + * src/devices/grohtml/post-html.cpp (html_printer::is_line_start, + html_printer::start_font): Fix handling of preformatted text. + +2005-02-15 Gaius Mulley <gaius@glam.ac.uk> + + These patches modify the indentation implementation to use `<p + style=margin-left: n%>'. Many thanks to Peter and Larry for + suggesting this solution. Grohtml only uses tables for `.IP' and + related tags when the first operand has a short width. + + Similarly, they modify all vertical space code. By default, grohtml + sets up a style sheet which uses no vertical space between `table', + `pre', and `p' tags. It forces spaces when it needs them using + `style="margin-top: 1em"'. + + * src/devices/grohtml/html-table.cpp: Include `html-text.h'. + (html_table::emit_table_header, html_table::emit_new_row): + Rewritten. + (html_table::set_space): New function. + (html_indent::html_indent): Don't set `is_used'. + (html_indent::begin): Rewritten. + (html_indent::end): Remove code in function. + + * src/devices/grohtml/html-table.h: Updated. + (html_table): Make `out' public. + + * src/devices/grohtml/html-text.cpp (html_text::html_text): + Initialize `start_space' with FALSE. + (html_text::end_tag) <P_TAG, PRE_TAG>: Updated. + (html_text::issue_tag): Add argument to handle space style. + (html_text::start_tag) <P_TAG, PRE_TAG>: Updated. + (html_text::flush_text): Don't set `start_space'. + (html_text::push_para): Don't set `p->really_issued'. + (html_text::do_emittext): Updated. + (html_text::do_para): Add parameter to handle space. + Update all callers. + (html_text::retrieve_para_space): New function. + + * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro. + (tag_definition): Remove `really_issued'. + (html_text): Updated. + + * src/devices/grohtml/post-html.cpp (html_printer): Add variables + `current_column' and `row_space'. + Update constructor. + (html_printer::emit_raw, html_printer::write_header, + html_printer::do_indent, html_printer::do_check_center, + html_printer::do_tab_ts): Handle vertical space. + (html_printer:do_tab_te, html_printer::do_end_para): Call + `remove_para_space'. + (html_printer::do_col): Rewritten. + (html_printer::flush_globs): Remove debugging code. + (html_printer::is_line_start): New function. + (html_printer::start_font): Use `is_line_start'. + (html_printer::writeHeadMetaStyle): New function. + (html_printer::do_file_components, html_printer::~html_printer): + Call `writeHeadMetaStyle'. + + * tmac/www.tmac (www-handle-percent): New macro. + (MPIMG): Handle percent values for width and height parameters. + (DC): Updated. + + * tmac/groff_www.man: Updated. + +2005-02-14 Werner LEMBERG <wl@gnu.org> + + * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from + $psname and $italic_angle. + Immediately restart file input loops if `split' returns an empty + array. + +2005-02-13 Michail Vidiassov <master@iaas.msu.ru> + Werner LEMBERG <wl@gnu.org> + + Update afmtodit to better support Unicode (Michail). + Update afmtodit to use Perl 5 syntax (Werner). + + * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but + `Getopts::Std'. + Decorate variables with `my' where necessary. + Use `defined' where necessary to avoid warnings. + Don't use `do' for subroutine calls. + Other minor syntax updates. + Check for both `uXXXX[X[X]]' and `uniXXXX'. + Handle glyph variants properly. + (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in + strings. + + * src/utils/afmtodit/afmtodit.man: Updated. + +2005-02-13 Werner LEMBERG <wl@gnu.org> + + Make groff.texinfo work with texinfo 4.8. + + * doc/groff.texinfo (@Var): Use @r and @slanted. + (@defdummy, @Def*): Use @c to avoid empty lines. + (\angles): Replaced with... + (\Langlemacro, \Ranglemacro): New TeX macros. + (@Langlemacro, @Ranglemacro): New variables defined with @set. + (@angles): Use @Langlemacro and @Ranglemacro. + (\LE): Replaced with... + (\LEmacro): New TeX macro. + (@LEmacro): New variable defined with @set. + (@LE): Use @LEmacro. + (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New + variables defined with @set. + (@lparen, @rparen, @lbrack, @rbrack): Replaced with... + (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros. + Update all callers. + + Other minor updates. + + * doc/texinfo.tex: Update to texinfo version 4.8. + + * README.CVS: Updated. + +2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change) + + * doc/groff.texinfo (ms Document Control Registers): Document `HY' + and `FAM' registers. + +2005-02-05 Werner LEMBERG <wl@gnu.org> + + * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff, + tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac: + Update BSD license. + +2005-02-01 Werner LEMBERG <wl@gnu.org> + + * src/roff/groff/groff.man: Add information about paper size. + +2005-01-25 Werner LEMBERG <wl@gnu.org> + + * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From + NetBSD bin/29114. + +2005-01-22 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/doc.tmac (Sm): Improved. It didn't work properly in many + cases. + (Re): Emit a warning if called without `.Rs'. + (doc-finish-reference): Use parameter for decreasing + `doc-reference-count'. + (doc-print-reference): Pass specific count parameters to + `doc-finish-reference'. + +2005-01-21 Werner LEMBERG <wl@gnu.org> + + * src/libs/libdriver/input.cpp (delete_current_env, do_file): + Reset pointers to zero after deallocation. This fixes a crash + if a driver is called with multiple input files. Reported by + Ken Chilton <ken@chiltonfamily.org>. + + * src/devices/grops/grops.man: Add more info on DSC. + +2005-01-17 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header): + Remove dead code. + +2005-01-17 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/div.cpp (top_level_diversion::space): Protect + against division by zero. + +2005-01-13 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size. + +2004-12-19 Werner LEMBERG <wl@gnu.org> + + * install-sh: New version; taken from texinfo CVS. + +2004-12-17 Werner LEMBERG <wl@gnu.org> + + * tmac/devtag.tmac: Protect against loading twice. + Protect against compatibility mode. + * tmac/www.tmac: Protect against loading twice. + Load `devtag.tmac' before switching off compatibility mode. + * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'. + +2004-12-16 Mike Bianchi <mbianchi@Foveal.com> + + * configure.ac: Produce `contrib/gdiffmk/tests/runtests'. + * configure: Updated. + +2004-12-15 Thomas Klausner <wiz@netbsd.org> + + * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library. + +2004-12-15 Werner LEMBERG <wl@gnu.org> + + Make `test-groff' work again -- previously, wrong paths have been + used. Additionally, it can now be called from anywhere. + + * test-groff.in: Don't test for groff binary. This is no longer + necessary since the proper paths are determined by `configure'. + (EXEEXT): Removed. No longer used. + (srcdir, builddir): Use values provided by the configure script. + (XENVIRONMENT): Updated. + + * INSTALL: Updated. + +2004-12-14 Gaius Mulley <gaius@glam.ac.uk> + + Make .tag and .taga work for all devices (but only grohtml actually + handles them). + + * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/. + (text_glob::is_br, page::add_tag, html_printer::troff_tag, + html_printer::handle_assertion): Don't use hard-coded string + lengths. + (html_printer::lookahead_for_table): Reset `tbl' properly if + necessary. + (html_printer::devtag): New function, handling `devtag'. + (html_printer::special): Don't handle `html-tag'. + + * src/include/printer.h, src/libs/libdriver/printer.cpp + (printer::devtag): New virtual function. + + * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle + `devtag'. + + * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp, + src/roff/troff/node.cpp: s/html-tag/devtag/. + + * src/roff/troff/input.cpp (tag, taga): Always call + curenv->add_node. + + * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG* + macros instead of HTML-TAG*. + + * tmac/devtag.tmac: New file, defining the DEVTAG-* macros. + + * tmac/www.tmac: Load devtag.tmac. + Replace HTML-TAG* macros with DEVTAG* macros. + (HTML, HTML-NS): Changed definitions. + (URL): Use HTML-NS. + (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed. + + * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac. + +2004-12-10 Werner LEMBERG <wl@gnu.org> + + Import Mike's `gdiffmk' package. + + * contrib/gdiffmk/*: New files. + * Makefile.in (OTHERDIRS): Add contrib/gdiffmk. + * NEWS: Updated. + +2004-12-08 Werner LEMBERG <wl@gnu.org> + + Import Keith's `pdfmark' package. Integration is very preliminary. + + * contrib/pdfmark/*: New files. + * Makefile.in (OTHERDIRS): Add contrib/pdfmark. + * NEWS: Updated. + +2004-12-07 Gaius Mulley <gaius@glam.ac.uk> + + Fix a bug with title handling in HTML. + + * src/devices/grohtml/post-html.cpp (text_glob::is_nf, + text_glob::is_fi, text_glob::is_ce): Use strlen to compute string + length. + (html_printer::handle_tag_within_title): New function. + (html_printer::do_title): Use it. + + * tmac/s.tmac (TL): Don't set `need_eo_tl'. + (cov*tl-au-print): Emit `.eo.tl' tag. + +2004-12-05 Alejandro López-Valencia <dradul@etb.net.co> + + * man/groff_char.man: Minor imrovements. + +2004-12-04 Werner LEMBERG <wl@gnu.org> + + * src/preproc/eqn/eqn.man: Revised. + +2004-11-25 Werner LEMBERG <wl@gnu.org> + + * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other + groff source files. + Include config.h. + Include limits.h. + Remove X_NOT_STDC_ENV conditional. + (Version_string, program_name): New global variables. + (groff_flag): Removed. + (MapFont): Updated. + (usage): Take a stream as argument. + Use `program_name'. + Update all callers. + (main): Add `long_options' array for `--help' and `--version'. + Make `-g' a dummy option. + Handle `-v' and unknown options. + Remove unused `position' variable. + + * src/utils/xtotroff/Makefile.sub (MAN1): Define. + (XLIBS): Add LIBGROFF. + + * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in: + New files. + + * src/devices/xditview/Dvi.c (default_font_map): Split into three + parts to avoid compiler warning. + (resources): Don't initialize with `default_font_map'. + (ClassInitialize): Initialize first element of `resources'. + + * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts): + Removed. + + * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man, + src/utils/pfbtops/pfbtops.man: Revised, updated. + + * configure.ac: Generate src/utils/xtotroff/Makefile. + * configure: Regenerated. + +2004-11-24 Werner LEMBERG <wl@gnu.org> + + First fixes to get produce HTML. + + * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt' + attribute. + + * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute. + (HR, LI): Use `HTML</p>', not `HTML'. + + * doc/webpage.ms: Minor updates. + +2004-11-23 Larry Kollar <kollar@alltel.net> + + Add option -S grohtml to determine the file split level. + + * src/devices/grohtml/post-html.cpp (split_level): New global + variable. + (html_header::determine_header_level): Use split_level. + (main): Handle `-S' command line option. + Sort options. + + * src/preproc/html/pre-html.cpp (scanArguments): Updated. + + * src/devices/grohtml/grohtml.man: Document it. + Sort options. + + * NEWS: Document it. + +2004-11-23 Y T <doarhop@hotmail.com> + + * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling + the volume and number refer entries. + +2004-11-22 Werner LEMBERG <wl@gnu.org> + + * src/devices/grohtml/html-table.cpp + (html_table::emit_table_header): Don't emit `cols' attribute which + doesn't exist in HTML 4.0 and is thus invalid. + + * NEWS: More minor fixes and updates. + +2004-11-18 Werner LEMBERG <wl@gnu.org> + + * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified. + (HTML</p>): Minor clean-up. + + * tmac/groff_www.man: Updated. + + * src/devices/grohtml/grohtml.man: Revised and updated. + + * NEWS: Updated. + +2004-11-18 Gaius Mulley <gaius@glam.ac.uk> + + * src/devices/grohtml/post-html.cpp (html_printer::do_heading): + Fix space insertion. + (html_printer::do_links): Fix rules generation around automatic + heading links. + + * tmac/www.tmac (LK): Use HTML-TAG-NS. + (HR): Simplify. + No longer emit empty line for non-HTML devices. + +2004-11-17 Werner LEMBERG <wl@gnu.org> + + * doc/Makefile.in (prepare_examples, webpage.html): Handle + `groff.css'. + + * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD, + prepare_examples, webpage.html): Handle `groff.css'. + +2004-11-15 Werner LEMBERG <wl@gnu.org> + + * NEWS, README, doc/webpage.ms: Updated. + + * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups. + +2004-10-30 Gaius Mulley <gaius@glam.ac.uk> + + * src/include/printer.h (printer): Remove virtual function + `round_width'. + Update all source files. + + * src/devices/grohtml/post-html.cpp (html_printer): New member + function `round_width'. + +2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de> + + * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d' + column key letter suffix. + +2004-10-14 Werner LEMBERG <wl@gnu.org> + + * Makefile.in (check): Depend on `site.exp' and `docheck'. + (docheck): Run dejagnu's `runtest' if it exists. + (site.exp): Create dejagnu configuration file. + + * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu. + +2004-10-13 Werner LEMBERG <wl@gnu.org> + + * src/devices/grohtml/html-text.cpp (html_text_get_alignment), + src/devices/grohtml/post-html.cpp (make_val, + html_printer::handle_state_assertion): Fix compiler warnings. + + * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'. + (diversion::diversion): Fix order of initializers. + + * src/roff/troff/div.h: Don't include `mtsm.h'. + + * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'. + (environment::environment): Fix order of initializers. + (environment::make_tag, environment::construct_format_state): Fix + compiler warnings. + + * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'. + (input_iterator::input_iterator, macro::macro): Fix order of + initializers. + + * src/roff/troff/mtsm.cpp: Include only necessary header files. + (state_set::add, state_set::val): Fix compiler warnings. + + * src/roff/troff/mtsm.h: Don't include `stringclass.h'. + (bool_value_state, int_value_state, units_value_state, + string_value_state): Remove comma after last element which causes + an error with g++ 3.3.3. + + * src/roff/troff/node.cpp: Include `stringclass.h'. + (hline_node::hline_node, vline_node::vline_node, + space_char_hmotion_node, left_italic_corrected_node): Fix compiler + warnings. + (zero_width_node::zero_width_node): Fix order of initializers. + + * src/roff/troff/node.h: Don't include `mtsm.h'. + (hmotion_node): Fix compiler warnings. + + * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'. + +2004-10-12 Gaius Mulley <gaius@glam.ac.uk> + + * doc/groff.css: New file. + + * doc/webpage.ms: Use `groff.css'. + Other small fixes. + + * tmac/an-old.tmac (need_eo_h): New number register. + (TH): Emit `.eo.tl' tag after title. + (SH): Set `need_eo_h'. + (an-trap): Handle `need_eo_h'. + (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/. + + * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers. + (TL): Always start diversion. + Updated. + (@AI): Always call `par@reset'. + (@AB): Update code for -Thtml. + (cov*tl-au-print): Handle -Thtml. + (par@reset): Handle `need_eo_tl', `need_eo_h'. + (@IP): Simplified. + (@IT-html): Removed. + (@SH): Set `need_eo_h' for -Thtml. + (par@TL): s/HTML-TAG/HTMl-TAG-NS/. + Set `need_eo_tl'. + (@NH): s/HTML-TAG/HTMl-TAG-NS/. + Set `need_eo_h' for -Thtml. + (@EQ, @EN): Don't handle -Thtml specially. + (par@load-init): Don't handle -Thtml specially. + + * tmac/www.tmac (www:paraspace): New macro. + (HTML-NS, HTML-TAG-NS): Use new `tag' request. + (HTML</p>, HTML-TAG-NEXT): New macros. + (HnE): Emit tag `.eo.h' instead of break. + (HR): s/HTML-NS/HTML/. + (www-end-nowhere): End diversion only if `www-html' not set. + Emit `.eo.tl' tag. + (ULS, ULE): s|HTML|HTML</p>|. + (LI): Call `www:paraspace'. + (HEAD): New macro. + +2004-10-11 Gaius Mulley <gaius@glam.ac.uk> + + * src/roff/troff/request.h (macro): Make `p' public. + New variable `is_a_diversion'. + New member function `is_diversion'. + + + * src/devices/grohtml/html.h (simple_output): New member function + `force_nl'. + + * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix + computation of `total'. + (tabs::check_init): New function. + (html_table::emit_table_header): Emit style data. + (html_table::insert_column): Improved. + + * src/devices/grohtml/html-table.h: Updated. + + * src/devices/grohtml/html-text.cpp (html_text::html_text): + Initialize `start_space' with TRUE. + (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG' + cases. + (html_text::flush_text): Set `start_space' flag. + (html_text::uses_indent, html_text::remove_para_space, + html_text::get_alignment): New functions. + (html_text::push_para): Updated. + (html_text::do_para): Check for empty argument. + Don't set `space_emitted'. + (html_text::do_space, html_text::emit_space): Updated. + + * src/devices/grohtml/html-text.h (tag_definition): New variable + `really_issued'. + (html_text): New member function `uses_indent', `remove_para_space', + `get_alignment'. + + * src/devices/grohtml/output.cpp (simple_output::force_nl): New + function. + (simple_output:nl): Always emit `\n'. + + * src/devices/grohtml/post-html.cpp: Include `string.h'. + (BASE_POINT_SIZE): Removed. + (base_point_size, head_info): New global variables. + (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl', + `is_eo_h'. + (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1' + tags, respectively. + (page::add_and_encode): Pass additional parameter for tag flag. + (assert_pos): New structure. + (assert_state): New class. + (html_printer): Remove `indentation', `prev_indent'. + Add variables `troff_indent', `device_indent', `temp_indent'. + Add variables `seen_indent', `next_indent', `seen_pageoffset', + `next_pageoffset', `seen_linelenght', `next_linelength', + `seen_center', `next_center', `seen_space', `seen_break', `as'. + Add member functions `do_check_center', `do_space', `do_head', + `get_troff_indent', `restore_troff_indent', `handle_assertion', + `handle_state_assertion', `do_end_para', `set_char_and_width'. + Change argument to `do_fill' to `char *'. + Update constructor. + (html_printer::emit_raw): Call `shutdown_table'. + Use new functions. + (html_printer::do_center): Simplified. + (html_printer::do_title): Improved. + (html_printer::write_header): Emit one more newline. + Use new functions. + (html_printer::do_heading, html_printer::do_indent, + html_printer::do_eol, html_printer::do_tab_ts, + html_printer::do_tab, html_printer::do_tab0, + html_printer::calc_po_in, html_printer::next_horiz_pos, + html_printer::remove_courier_tabs, + html_printer::insert_tab0_foreach_tab, html_printer::begin_page): + Updated. + (html_printer::do_linelength, html_printer::do_pageoffset, + html_printer::do_indentation, html_printer::do_tempindent, + html_printer::do_tab_te): Simplified. + (html_printer::do_pointsize): Check whether point size is really + associated a `.tl' tag. + (html_printer::do_break): Rewritten. + (html_printer::troff_tag): Improved. + (html_printer::flush_globs): Updated. + (html_printer::lookahead_for_tables): Handle `is_br'. + Use new functions. + (html_printer::set_char): Check `sbuf_style.f'. + (html_printer::write_navigation): Use string comparison. + (html_printer::~html_printer): Emit `head_info'. + (html_printer::special): Rewritten. + (get_str, make_val): New functions. + (main): New option `s' to set the base point size. + + * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'. + +2004-10-10 Gaius Mulley <gaius@glam.ac.uk> + + * src/roff/troff/node.cpp: New extern `debug_state'. + Include `stringclass.h' and `mtsm.h'. + Implement new classes and class members from `node.h'. + (real_output_file): Make `fp' public. + (troff_output_file): New variables `cur_div_level' and `tag_list'. + Update constructors. + (troff_output_file::really_print_line): Check whether we should push + the current troff state and use the state at the start of the + invocation of this diversion. + (troff_output_file::add_to_tag_list): New member function. + (node::add_char): Handle `glyph_comp_np'. + + * src/roff/troff/node.h: Include `mtsm.h'. + (node): New variables `state', `push_state', `div_nest_level', + `is_special'. Update constructors, all descendants. + Pass additional argument to `add_char' member function. + New virtual member functions `is_tag', `debug_node', + `debug_node_list'. Update all descendants. + (tag_node): New class for handling tags. + (output_file): Add variable `state'. + +2004-10-09 Gaius Mulley <gaius@glam.ac.uk> + + * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files, + providing a minimal troff state machine to emit meta tags for the + post-grohtml device driver. + + * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new + files. + +2004-10-09 Werner LEMBERG <wl@gnu.org> + + * tmac/trace.tmac: Fix handling of `am' and `am1' calls. + +2004-10-06 Gaius Mulley <gaius@glam.ac.uk> + + * src/roff/troff/column.cpp (vjustify_node::copy): Updated. + + * src/roff/troff/div.h: Include `mtsm.h'. + (diversion): New variables `any_chars_added', `needs_push', + `saved_seen_break', `saved_seen_space', `saved_seen_eol', + `saved_suppress_next_eol', `modified_tag'. + New virtual member function `is_diversion'. Update all descendants. + + * src/roff/troff/div.cpp (diversion::diversion, + macro_diversion::macro_diversion): Updated. + (do_divert): Handle `seen_break', `seen_space', `seen_eol', + `suppress_next_eol'. + (top_level_diversion::space): Handle `curenv->seen_space'. + (page_offset): Update tag handling. + (space_request, blank_line, flush_output): Don't call `add_html_tag'. + + * src/roff/troff/env.h (environment): Make `tabs' public. + Remove `ignore_next_eol', `emitted_node'. + Update `output_line', `output'. + New variables `seen_space', `seen_eol', `suppress_next_eol', + `seen_break'. + New member functions `construct_state', `make_tag', + `construct_format_state, `construct_new_line_state, + `dump_troff_state'. + Remove `add_html_tag', `make_html_tag'. + + * src/roff/troff/env.cpp: New externs `suppress_push', + `get_diversion_state', `global_diverted_space'. + (pending_output_line): New variable `was_centered'. + Update constructor and all callers. + (pending_output_line::output): Call `curenv->construct_format_state'. + (environment::environment, environment::copy): Updated. + (environment::output): Handle `was_centered'. + (environment::add_char): Handle construct and diversion state. + (environment::add_node): Handle construct state. + (environment::newline): Handle `was_centered'. + (environment::output_line): Updated. + (environment::possibly_break_line): Updated. + Update tag handling. + (environment::add_html_tag): Replaced with... + (environment::make_tag): New function. + (environment::add_html_tag_tabs, environment::make_html_tag): Removed. + (environment::dump_troff_state): New debugging function. + (environment::construct_state, environment::construct_format_state, + environment::construct_new_line_state): New functions. + (environment::do_break): Updated. + Handle `global_diverted_space'. + (environment::handle_tag): Update tag handling. + (point_size, fill, do_break_request): Don't call `add_html_tag'. + (no_fill): Don't call `add_html_tag'. + Set `suppress_next_eol'. + (center, right_justify, line_length, indent, temporary_indent, + set_tabs): + Update tag handling. + + * src/roff/troff/input.cpp: Don't include `stringclass.h'. + (input_iterator): New variables `is_diversion', `diversion_state'. + Update constructors. + (input_stack): New member functions `get_div_level', + `get_diversion_state', `check_end_diversion'. + New variables `div_level', `diversion_state'. Initialize them. + (suppress_push, global_diverted_space): New global variables. + (input_stack::finish_get, input_stack::finish_peek, + input_stack::remove_boundary, input_stack::end_file, + input_stack::clear, input_stack::pop_macro): Call + `check_end_diversion'. + (input_stack::push): Handle `div_level' and `diversion_state'. + (get_diversion_state): New function. + (diverted_space_node::reread): Handle `global_diverted_space'. + (macro::macro): Update constructors. + (macro::is_diversion): New function. + (macro::operator=): Set `is_a_diversion'. + (string_iterator): New member function `is_diversion'. + (string_iterator::string_iterator): Update constructors. + (string_iterator::fill): Set `div_nest_level'. + (macro_iterator): New member function `is_diversion'. + (do_if_request): Handle `suppress_push'. + (tag, taga): New functions. + (init_input_requests): Add `tag' and `taga' requests. + +2004-10-05 Gaius Mulley <gaius@glam.ac.uk> + + * src/include/font.h (font): New member function + `get_image_generator'. + New variables `unscaled_charwidths' and `image_generator'. + + * src/libs/libgroff/font.cpp (font::get_width): Always return the + character's unscaled width if `font::unscaled_charwidths' is set. + (font::get_image_generator): New function. + (font::load_desc): Check the `unscaled_charwidths' and + `image_generator' keywords. + + * src/libs/libgroff/fontfile.cpp: Initialize + `font::unscaled_charwidths' and `font::image_generator'. + + * font/devhtml/DESC.proto: s/html/unscaled_charwidths/. + + * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword. + + * man/groff_font.man: Document `unscaled_charwidths' and + `image_generator'. + + * src/preproc/html/pre-html.cpp: Include `device.h'. + (image_gen): New global variable. + (imageList::createPage): Use `image_gen'. + (main): Use `image_generator' keyword. + +2004-10-04 Gaius Mulley <gaius@glam.ac.uk> + + * tmac/html.tmac: Handle \[sqrtex]. + +2004-10-04 Gaius Mulley <gaius@glam.ac.uk> + + * src/include/printer.h (printer): New virtual method `round_width'. + + * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp, + src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp, + src/devices/grotty/tty.cpp (printer::round_width): New function + member. + + * src/devices/grohtml/post-html.cpp (printer::round_width): New + function member. + (html_printer::set_numbered_char): Use it. + +2004-10-03 Gaius Mulley <gaius@glam.ac.uk> + + * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro. + + * configure.ac: Call GROFF_GHOSTSCRIPT_PATH. + + * configure: Regenerated. + + * Makefile.in (GHOSTSCRIPT): New variable. + (MDEFINES): Add GHOSTSCRIPT. + +2004-10-03 Werner LEMBERG <wl@gnu.org> + + * INSTALL.gen: Updated (taken from texinfo CVS). + +2004-09-28 Werner LEMBERG <wl@gnu.org> + + * NEWS: Updated. + +2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de> + + * tmac/groff_www.man: Revised and updated. + +2004-09-26 Werner LEMBERG <wl@gnu.org> + + Fix \$@ and \$* to handle any number of arguments. + + * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special + characters. + + * src/roff/troff/input.cpp (input_iterator::internal_level): + Removed. + (input_stack): New member functions `increase_level' and + `decrease_level'. + (input_stack::get_level): Don't use `internal_level'. + (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE. + (end_quote_iterator): Completely removed. + (interpolate_arg): Build string for \$@ and \$* which is then + pushed onto the input stack. + +2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com> + + * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control + Registers): Document changes from 2004-09-19. + +2004-09-23 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac (ne): Using default scaling operator. + +2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com> + + This change implements the following features: + + PORPHANS + New numeric register: Defines number of lines following LP, PP, + QP, IP or XP, which must be kept together, before any automatic + page break. If insufficient space remains on the current page, a + page break is forced before the new paragraph begins. + + HORPHANS + New numeric register: Sets number of lines of following paragraph + which must be kept with a heading, defined by NH or SH, before any + automatic page break. If insufficient space remains on the + current page, a page break is forced before the heading. + + GROWPS + (Thanks to Joerg van den Hoff, for this idea). + + New numeric register: Sets the first level of heading (set with + NH), which will keep the same point size as body text; e.g. if + GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the + point size specified by \n[PS], but .NH 2 and .NH 1 will have + progressively larger point sizes, determined by \n[PSINCR] (see + below). + + PSINCR + New numeric register: Sets the point size increment for each level + of heading, (set with NH), below the threshold level set by + GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p, + then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt, + and all other levels will remain at 10pt, (because \n[PS] = 10). + + SH + Existing macro now accepts a numeric argument, to make heading + size match that of NH with same argument value, when the + GROWPS/PSINCR feature is enabled. + + SN-DOT + New string, set by NH macro, replaces the existing (undocumented) + use of SN, to represent the assigned section number. + + SN-NO-DOT + New string, set by NH macro, represents the assigned section + number, but omits the terminal period (periods at intermediate + levels are retained). + + SN + String set by NH macro, originally undocumented, now implemented + as an alias for SN-DOT (which reproduces original behaviour). + + * tmac/s.tmac (PORPHANS): New register. + (par*start): Use it. + (HORPHANS, GROWPS, PSINCR): New registers. + (SH-NO-TAG, @SH): Use them. + (@NH): Improved. + +2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com> + + * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man: + Document the deletion of `Ds' and `De' macros. + +2004-09-10 Werner LEMBERG <wl@gnu.org> + + In tbl, handle \a as an interpreted leader character if in + compatibility mode. + + * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER, + LEADER_CHAR): New macros. + (compatible_flag): New declaration. + + * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2, + LEADER_3, and LEADER_4 to `state'. + (table_input::get): Handle `\a'. + + * src/preproc/tbl/table.cpp (PREFIX): Removed. + (LEADER_REG): New macro. + (table::init_output): Define LEADER_REG string register if in + compatibility mode. + + * src/preproc/tbl/tbl.man: Document it. + +2004-08-18 Werner LEMBERG <wl@gnu.org> + + * tmac/doc.tmac (An): Fix error message. + +2004-08-06 Werner LEMBERG <wl@gnu.org> + + * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a + file can't be opened. UNIX tbl has the same behaviour. + +2004-08-05 Y T <doarhop@hotmail.com> + + * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration. + (DBRead): If in compatibility mode, take into account the text + when computing figure boundaries. + +2004-08-05 Werner LEMBERG <wl@gnu.org> + + * src/preproc/soelim/soelim.man: Improved. Based on suggestions + from Tadziu Hoffmann. + +2004-08-03 Werner LEMBERG <wl@gnu.org> + + * doc/meref.me: Document `_M' register. + +2004-08-03 Martin Husemann <martin@duskware.de> + + Make hpftodit work correctly on big-endian systems. + + * src/utils/hpftodit/hpftodit.cpp (File): New method + `get_uint32(char *)'. + (entry): New member `orig_value'. + (read_tags): Use new method. + (output_font_name, read_and_output_pcltypeface, dump_ascii): + Updated. + +2004-08-01 Werner LEMBERG <wl@gnu.org> + + * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions + are already in X11's `macros.t' file. + +2004-08-01 Jeff Conrad <jeff_conrad@msn.com> + + * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii): + Fix casting bug. + (read_and_output_pcltypeface): Handle strings with length <= 4. + +2004-07-27 Egil Kvaleberg <egil@kvaleberg.no> + + * tmac/s.tmac (pg@top): Don't save `PO' register. + (pg*end-col, pg*end-page): Directly use `PO' register. + +2004-07-27 Werner LEMBERG <wl@gnu.org> + + * man/groff_tmac.man: Mention `trace' and `pic' macro packages. + + * src/preproc/refer/refer.cpp (output_references): Check for + empty hash table. + * src/preproc/refer/refer.man: Improve documentation of + `bibliography' command. + +2004-07-26 Werner LEMBERG <wl@gnu.org> + + Add requests `fcolor' and `gcolor'. + + * src/roff/troff/env.cpp (fill_color_change, glyph_color_change): + New functions. + (init_env_requests): Add `fcolor' and `gcolor'. + + * src/roff/troff/input.h: Export do_glyph_color and do_fill_color. + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo + (Colors): Document new requests. + +2004-07-24 Werner LEMBERG <wl@gnu.org> + + Add support for fractional point sizes in ms macros. A value for + PS, VS, FPS, and FVS greater than or equal to 1000 is always divided + by 1000. For example, `.nr PS 10250' sets the font size to 10.25p. + + * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL, + PX): Handle fractional point sizes for PS, VS, FPS, and FVS. + + * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control + Registers), NEWS: Document it. + +2004-07-19 Werner LEMBERG <wl@gnu.org> + + * src/preproc/pic/lex.cpp (for_input): Add member `from'. + Update constructor. + (do_for, for_input::get, for_input::peek): Handle negative `by'. + * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it. + +2004-07-08 Thomas Klausner <wiz@netbsd.org> + + * tmac/doc-syms (doc-str-St--p1003.1-2004): New string. + * tmac/groff_mdoc.man: Updated. + +2004-07-05 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo (Manipulating Hyphenation): Further improve + documentation of `hcode'. + +2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr> + + Improve appearance of arrows in pic. + + * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled + arrow head thin. + Use two line segments for drawing non-filled arrow head. + (line_object::print, spline_object::print): Shorten line length to + avoid arrow sticking. + (arc_object::print): Take arrow direction into account. + +2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de> + + * tmac/groff_www.man: Update documentation of .MPIMG. + +2004-07-03 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac (RI): Always start with font `R'. + (RI, IR): Properly end with font `R'. + +2004-07-02 Paul Eggert <eggert@cs.ucla.edu> + + * man/ditroff.man, man/groff_font.man, man/groff_out.man, + src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man, + src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man: + Don't pass more than six arguments to .R, .I, .B, etc., for + compatibility with traditional troff macros. + +2004-07-02 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/. + s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/. + Update all users. + (PUSH_COMP_MODE): New internal character constant. + Update all users. + + * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE, + PUSH_COMP_MODE, and POP_GROFFCOMP_MODE. + (token::next, macro::append): Handle PUSH_COMP_MODE. + (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and + POP_GROFFCOMP after each of the decoded arguments to make them + independent from the compatibility mode status. + (comp_mode): Add `COMP_ENABLE'. + (do_define_string, do_define_macro): Handle COMP_ENABLE. + (define_string, append_string, define_macro, define_indirect_macro, + append_macro, append_indirect_macro): Handle `compatible_flag'. + (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE. + + * man/groff_diff.man, doc/groff.texinfo: Updated. + +2004-07-01 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Improve documentation of `hcode'. + Use @documentencoding and convert document to latin-1; to do that + make latin characters active and assign proper macros (within a + @tex...@end tex environment). + * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding. + * doc/Makefile.sub (groff): Ditto. + +2004-06-29 Werner LEMBERG <wl@gnu.org> + + Implement two new conditional operators `F <name>' and `S <name>' + which check whether <name> is a valid font or style, respectively. + + * src/libs/libgroff/font.cpp (text_file): Add `silent' member. + (text_file::text_file): Updated. + (text_file::error): Don't emit message if `silent' is set. + (font::load_font): Add optional third argument (which is directly + passed to `load'. + (font::load): Add optional second argument to check the header of + a font only, without emitting warning or error messages. + * src/include/font.h (font): Updated. + + * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F' + conditionals. + * src/roff/troff/node.cpp (mount_font_no_translate): Add optional + fourth argument to check a font without mounting. + (check_font, check_style): New functions. + * src/roff/troff/node.h: Updated. + + * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo: + Updated. + +2004-06-27 Werner LEMBERG <wl@gnu.org> + + Implement new string-valued register `.sty' to return the current + style name. + + * env.cpp (environment::get_style_name_string): New function. + (init_env_requests): Add `.sty' register. + * env.h (environment): Updated. + * node.cpp (font_info): Make `get_style_name' a friend. + (get_style_name): New function. + * node.h: Updated. + + * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo: + Updated. + +2004-06-15 Werner LEMBERG <wl@gnu.org> + + * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle + `nospaces' option. + +2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk> + + * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo], + and \n[mo] to avoid dependency on current date. + +2004-06-08 Werner LEMBERG <wl@gnu.org> + + * Makefile.sub (install_data): New target. + +2004-06-04 Werner LEMBERG <wl@gnu.org> + + * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define. + +2004-06-03 Werner LEMBERG <wl@gnu.org> + + * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and + order of libraries. + (install_data): Add $(srcdir). + + * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of + libraries. + +2004-06-02 Werner LEMBERG <wl@gnu.org> + + * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/. + Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily. + Add test for Xmu library. + (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK, + GROFF_APPRESDIR_DEFAULT): New macros. + + * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK, + and GROFF_APPRESDIR_DEFAULT. + + * configure: Regenerated. + + * Makefile.in (appresdir): New variable. + (MDEFINES): Add appresdir. + + * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and + -Xt. + (install_data, uninstall_sub): New targets to handle GXditview.ad. + + * src/utils/indxbib/Makefiles.ub (install_data): Depend on + `$(srcdir)/eign', not `eign'. + + * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated. + + * man/groff_out.man, man/roff.man, src/devices/grops/grops.man, + src/devices/xditview/gxditview.man, src/roff/groff/groff.man: + Protect (g)xditview with `\%' to avoid hyphenation. + Other minor formatting. + +2004-06-01 Werner LEMBERG <wl@gnu.org> + + Integrate gxditview into groff's standard directory hierarchy. + + * src/xditview/*: Moved to ... + * src/devices/xditview/*: Here. + Moved DviChar.h and XFontName.h to src/include. + Moved DviChar.c and XFontName.c to new directory src/libs/libxutil. + Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c. + Moved xtotroff.c to new directory src/utils/xtotroff. + Provide proper Makefile.sub files (reusing the stuff from + Imakefile.in). + DESC renamed to DESC.in. + Removed GXDitview-ad.h, INSTALL, Imakefile.in. + Converted everything from K&R to ANSI C. + Decorated with const where appropriate. + Cast string constants with `String' and `char *' where appropriate. + Made it compile with C++ (used as a C compiler). + Removed other minor compiler warnings. + + * src/devices/xditview/device.c: Include config.h, string.h, and + defs.h. + Don't declare `exit', `strtok', `strchr', and `getenv'. + (FONTPATH): Remove. + + * src/devices/xditview/font.c: Don't declare `XParseFontName' and + `XFormatFontName'. + + * src/devices/xditview/xditview.c: Include config.h. + Include stdio.h earlier. + Protect declaration of `popen' and `pclose' with + NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE. + Replace `caddr_t' with `XtPointer'. + (MakePromptFunc): New typedef. + (DoPrint): Use RETSIGTYPE. + (promptfunction): Change type to MakePromptFunc. + (MakePrompt): Use MakePromptFunc for third argument. + (xmalloc): Removed. + + * src/devices/xditview/ad2c: Add casts to `String'. + + * src/include/XFontName.h (XFontNameString): Don't use array + notation. + Add prototypes for `XParseFontName', `XFormatFontName', + `XCompareFontName', and `XCopyFontName'. + + * src/include/Makefile.sub (HDRS): Add `DviChar.h' and + `XFontName.h'. + + * src/utils/xtotroff/xtotroff.c: Include getopt.h. + Don't declare `XParseFontName' and `XFormatFontName'. + (xmalloc): Removed. + (main): Remove `optind' and `optarg'. + + * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables + (to select programs which need X). + Make XDEVIDIRS depend on `FORCE'. + (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for + X support). + (MDEFINES): Updated. + (LIBDIRS): Use XLIBDIRS. + (CPROGDIRS): Use XPROGDIRS. + (DEVDIRS): Remove font directories for gxditview. + (ALLDIRS, DISTDIRS): Add XDEVDIRS. + (EXTRADIRS): Remove src/xditview. + + * Makefile.sub (DISCLEANFILES): Updated. + + * Makefile.comm (LIBXUTIL): New variable. + (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS. + (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS. + + * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS. + + * aclocal.m4 (GROFF_X11): New function. + + * configure.ac: Call GROFF_X11. + Don't create src/xditview/Imakefile. + Don't emit notice how to build gxditview. + + * configure: Regenerated. + + * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated. + +2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net> + + * Makefile.in (CPPFLAGS): Define. + (MDEFINES): Add CPPFLAGS. + +2004-05-27 Werner LEMBERG <wl@gnu.org> + + * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir). + +2004-05-26 Niklas Edmundsson <nikke@acc.umu.se> + + Fix problems with `friend name injections'. + + * src/preproc/eqn/box.h (make_mark_box, make_lineup_box, + make_script_box), src/roff/troff/div.h (end_diversions), + src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo + change 2004-04-08. + +2004-05-25 Bernd Warken <bwarken@mayn.de> + + * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'. + +2004-05-25 Werner LEMBERG <wl@gnu.org> + + * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp, + src/libs/libgroff/color.cpp: Include lib.h. + +2004-05-25 Paul Eggert <eggert@cs.ucla.edu> + + * PROBLEMS: Update documentation for problems with Sun C++ 5.0 + through Forte 6u1, and for how to get GNU make on Solaris. + +2004-05-24 Werner LEMBERG <wl@gnu.org> + + * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported + by Paul Eggert. + +2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com> + + * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit + rule. + +2004-05-14 Werner LEMBERG <wl@gnu.org> + + * REVISION: Set to 2. + + * aclocal.m4 (GROFF_STDINT_H): Removed. + (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H. + + * configure.ac: Updated. + * configure, src/include/config.hin: Regenerated. + + * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but + inttypes.h conditionally. + +2004-05-13 Werner LEMBERG <wl@gnu.org> + +Version 1.19.1 released +======================= + +2004-05-10 Stephen Gildea <http://www.gildea.com/stephen> + + * src/preproc/refer/label.y (same_author_last_name, + same_author_name): Handle empty sort keys. + +2004-05-10 Werner LEMBERG <wl@gnu.org> + + * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms, + tmac/TODO: Updated. + + * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread, + doc-str-Lb-librt): Reset font. + (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'. + Provide `doc-str-Lb' to reset font. + * tmac/groff_mdoc.man: Updated. + +2004-05-08 Jan Schaumann <jschauma@netmeister.org> + + * src/preproc/html/pre-html.cpp (make_message): Make it work for + snprintf versions which don't conform to ANSI C 99 (this is, + counting the string's trailing null byte in the return value). + +2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect + that all implementations of sprintf handle null pointers correctly. + +2004-05-04 Werner LEMBERG <wl@gnu.org> + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document `.U' register. + + * src/roff/troff/env.cpp (environment::mark_last_line) + [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers. + +2004-05-04 Larry Kollar <kollar@alltel.net> + + New read-only register `.U'; it returns 1 in safer mode and 0 + otherwise. + + * src/roff/troff/input.cpp (init_input_requests): Implement `.U' + register. + +2004-05-03 Werner LEMBERG <wl@gnu.org> + + * install-sh, mkinstalldirs: New versions; taken from texinfo CVS. + +2004-04-17 Werner LEMBERG <wl@gnu.org> + + * src/include/font.h (font): Use `int' for ch_index. + * src/libs/libgroff/font.cpp (font::alloc_ch_index, + font::compact): Updated. + + * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler + warnings. + + * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp + (hyphen_word): Fix compiler warnings. + * src/roff/troff/input.cpp (get_char_for_escape_name): Return + `char'. + Update all callers. + (get_delim_number, get_line_arg): Change second argument type to + `unsigned char'. + (macro_header::copy, token::next, do_define_string, + do_define_character, substring_request, asciify_macro, + unformat_macro, read_size, non_interpreted_node::interpret, + while_request, main: Fix compiler warnings. + (read_color_draw_node): Initialize `col'. + + * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make + `start_col' and `end_col' of type `int'. + (vertical_rule): Make `col' of type `int'. + + * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check + for EOF. + + * src/preproc/refer/label.y (uppercase_array, lowercase_array): + New arrays. + (format_serial): Use them to remove dependency on ASCII. + + * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix + compiler warning. + * src/devices/grops/psrm.cpp (resource_manager::supply_resource): + Ditto. + + * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix + compiler warnings. + (glyph): Change type of `hpos' to `int'. + + * src/devices/lbp/lbp.cpp (strsep): Removed. Unused. + * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings. + + * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings. + + * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning. + +2004-04-16 Werner LEMBERG <wl@gnu.org> + + * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h, + src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp, + src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use + `double' instead of `float' everywhere. + * src/preproc/grn/main.cpp: Use `double' instead of `float' + everywhere. + (main): Add return value. + * src/preproc/grn/hdb.cpp: Use `double' instead of `float' + everywhere. + Update all user functions. + + * src/include/search.h, src/include/ptable.h, src/include/printer.h, + src/preproc/eqn/box.h, src/preproc/pic/object.h, + src/preproc/refer/refer.h, src/preproc/tbl/table.h, + src/preproc/tbl/table.cpp, src/roff/troff/env.h, + src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h, + src/roff/troff/input.cpp, src/roff/troff/request.h, + src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward + declarations. + + * src/utils/indxbib/signal.c: Include stdlib.h. + +2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com> + + * tmac/s.tmac (@init, RP): Allow initialization of the PO register + before the first page. + +2004-04-14 Thomas Klausner <wiz@netbsd.org> + + * tmac/doc-common (doc-volume-as-*): Use lowercase names. + (doc-operating-system-*): Updated. + * tmac/doc-syms (doc-str-St-*): Various small fixes. + (doc-str-Lb-*): Add more library names. + +2004-04-10 Art Haas <ahaas@airmail.net> + + * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't + use anonymous type. + +2004-04-09 Art Haas <ahaas@airmail.net> + + * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type. + +2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com> + + * arch/misc/shdeps.sh: Generate better comment for sed script. + +2004-04-08 Art Haas <ahaas@airmail.net> + + * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list), + src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list), + src/libs/libgroff/uniuni.cpp (unicode_decompose_list), + src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp + (polyfill), src/preproc/grn/main.cpp (polyfill), + src/preproc/refer/command.cpp (command_table), + src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which + gcc 3.5 doesn't like). + +2004-04-08 Werner LEMBERG <wl@gnu.org> + + Removing many compiler warnings. groff should now compile with + a C++ compiler used for C files also. [Simple variable renamings + to avoid shadowing aren't logged in detail.] + + * src/devices/grodvi/dvi.cpp: Some local variable renamings. + (draw_dvi_printer::draw) ['c']: Enclose in block. + + * src/devices/grohtml/post-html.cpp: Some local variable renamings. + (page::add_line): Fix typos. + * src/devices/grohtml/html-text.cpp: Some local variable renamings. + + * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE. + Some local variable renamings. + * src/devices/grolbp/lbp.h: Some local variable renamings. + + * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local + variable renamings. + + * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag): + Remove redundant local variable declaration. + * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style. + Don't use `caddr_t' but `void *'. + Enclose functions with `extern "C"' for C++. + + * src/libs/libdriver/input.cpp (remember_filename, + remember_source_filename): Use cast for string constant. + + * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp, + src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp, + src/libs/libgroff/geometry.cpp: Some local variable renamings. + * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R + style. + Enclose functions with `extern "C"' for C++. + * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros. + (needs_quoting): Return `int'. + (quote_arg): Add proper casts to malloc and realloc. + * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and + various MS Windows environments. + (spawnvp_wrapper): Add proper cast to malloc. + + * src/preproc/eqn/box.h: Remove redundant declarations of + `make_script_box', `make_mark_box' and `make_lineup_box'. + * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'. + * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local + variable renamings. + + * src/preproc/grn/hpoint.cpp: Some local variable renamings. + * src/preproc/grn/hgraph.cpp: Some local variable renamings. + (dx, dy): Renamed functions to... + (deltax, deltay): This. + * src/preproc/grn/main.cpp: Some local variable renamings. + (deffont): Add `const'. + (initpic, conv): Use cast for string constant. + + * src/preproc/html/pre-html.cpp: Some local variable renamings. + (makeFileName, alterDeviceTo, addZ): Use cast for string constant. + (char_buffer::run_output_filter): Second argument is unused. + * src/preproc/html/pushback.cpp: Some local variable renamings. + + * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'. + * src/preproc/pic/object.cpp: Some local variable renamings. + + * src/preproc/refer/label.y (lookup_label): Remove redundant + declaration of local variable. + + * src/preproc/soelim.cpp: Remove redundant declaration of + `interpret_lf_args'. + + * src/preproc/tbl/main.cpp: Some local variable renamings. + + * src/roff/groff/groff.cpp (main): Use cast for string constant. + * src/roff/groff/pipeline.c: Enclose declarations of `error', + `c_fatal', and `i_to_a' with `extern "C"' for C++. + Don't use C++-style comments. + + * src/roff/troff/env.h: Remove redundant declaration of `title'. + * src/roff/troff/node.h, src/roff/troff/env.cpp, + src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable + renamings. + * src/roff/troff/div.h: Remove redundant declaration of + `end_diversions'. + * src/roff/troff/troff.h: Remove redundant declaration of + `cleanup_and_exit' + * src/roff/troff/input.cpp: Remove redundant declaration of + `handle_first_page_transition' and `process_input_stack'. + + * src/utils/hpftodit.cpp: Some local variable renamings. + + * src/utils/indxbib/signal.c: Enclose functions with `extern "C"' + for C++. + Don't define RETSIGTYPE. + * src/utils/indxbib/indxbib.cpp: Some local variable renamings. + + * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style. + (error): Use `const' in argument. + (main): Remove redundant declaration of `optind'. + Move declaration of `Version_string' to top-level. + + * PROBLEMS: Document difficulties compiling signal.c if a C++ + compiler is used for C. + +2004-04-07 Werner LEMBERG <wl@gnu.org> + + * Makefile.sub (DISTCLEANFILES): Add `test-groff'. + +2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com> + + Make scripts like nroff.sh and neqn.sh portable across various + (Unix-like) shell implementations from Cygwin, MSYS, etc., which use + non-POSIX path separators. The idea is to extend those scripts to + decide at run-time (of the script) which path separator to use. + + * arch/misc/Makefile.sub: New file. + * arch/misc/shdeps.sh: New file, generating OS dependency fixups. + This script handles @GROFF_BIN_PATH_SETUP@, replacing it with + a proper definition of the variable `GROFF_RUNTIME'. + + * Makefile.in (SH_DEPS_SED_SCRIPT): New variable. + (MDEFINES): Add SH_DEPS_SED_SCRIPT. + (PROGDEPDIRS): New variable. + `FORCE' it. + (PROGDIRS): Add PROGDEPDIRS. + + * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT. + Don't substitute @SEP@ and @BINDIR@. + * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@. + (PATH): Use GROFF_RUNTIME. + + * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT. + Don't substitute @SEP@ and @BINDIR@. + * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@. + (PATH): Use GROFF_RUNTIME. + +2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from + Cygwin which doesn't handle stderr correctly. + +2004-03-08 Werner LEMBERG <wl@gnu.org> + + * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops + against empty argument. Problem reported by <cgd@broadcom.com>. + +2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com> + + * Makefile.in (SEP): Replaced with... + (RT_SEP, SH_SEP): Separators for the target platform's native path + separator and the build environment, respectively. + (fontpath, tmacpath): Use RT_SEP. + (MDEFINES): Updated. + + * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP. + * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP. + * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP. + +2004-03-05 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to + reduce alignment problems with newer printers which use built-in + TrueType fonts (instead of the older Intellifonts). The ideal + solution is to provide a second set of groff metric files, but this + is extremely time-consuming to produce, given that HP's metric + files are very rudimentary. + +2004-03-01 Werner LEMBERG <wl@gnu.org> + + * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long. + s/operand/argument/ in error message. + +2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml + is in use. + +2004-03-01 Antti Kantee <pooka@netbsd.org> + + * tmac/s.tmac (XE): Fix error message. + +2004-02-27 Jeff Conrad <jeff_conrad@msn.com> + + * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]: + New macros. + + * src/roff/groff/pipeline.c: Declare strcasecmp. + (run_pipeline) [_WIN32]: Use function name variants which don't + start with `_'. + Fix stream handling. + +2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/include/nonposix.h: Fix declaration of `system_shell_name'. + Declare `spawnvp_wrapper' and macro definitions of spawnvp only + for platforms which use the native Win32 runtime libraries. + (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version. + + * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR, + QUOTE_ARG_REALLOC_ERROR): Fix string. + + * src/preproc/html/pre-html.cpp: Remove declaration of + `spawnvp_wrapper'. + Don't use __MINGW32__. + s/DEBUG_FILE/DEBUG_FILE_DIR/. + (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros. + (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros. + (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix + calls to `set_redirection' and `WAIT'. + [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'. + Fix calls to `set_redirection' and `save_and_redirect'. + (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls + to `set_redirection' and `save_and_redirect'. + (usage): Fix message. + (makeTempFiles, main): Use `DEBUG_FILE'. + +2004-02-21 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/troff.h (WARN_TOTAL): Fix value. + +2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/libs/libgroff/quotearg.c: New file, providing proper argument + quoting for MSVC's spawn* and exec* functions. + * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around + spawnvp with proper quoting for MSVC. + + * src/libs/libgroff/assert.cpp (program_name), + src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'. + * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated. + + * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'. + + * src/include/error.h (program_name): Declare as `extern "C"'. + * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp. + +2004-02-21 Jeff Conrad <jeff_conrad@msn.com> + + * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare + spawnvp_wrapper. + [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j. + +2004-02-20 Jeff Conrad <jeff_conrad@msn.com> + + * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global + variable. + (sbasename) [__MSDOS__ || ...]: New function. + (system_shell_name) [__MSDOS__ || ...]: Use a different, more + generic algorithm. + (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated. + (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead + of XXX. + Use STDOUT_FILENO instead of hardcoded file handle. + (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section. + +2004-02-19 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/div.cpp: Include nonposix.h after troff.h to + avoid warnings w.r.t. redefinition of P_tmpdir for some compilers. + +2004-02-18 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all + new font and mapping files. + +2004-02-18 Jeff Conrad <jeff_conrad@msn.com> + Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty + an input pipe. This is needed for the MSVC compiler to make troff's + `-o' option work. + + * src/roff/troff/div.cpp: Include nonposix.h. + (cleanup_and_exit): Call FLUSH_INPUT_PIPE. + +2004-02-17 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/generate/special.awk: New script. + * font/devlj4/generate/Makefile (S): Use special.awk. + * font/devlj4/*: Regenerated, including the following new files: + Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI), + MS Symbol (SYMBOL), Wingdings (WINGDINGS). + * NEWS: Document new lj4 fonts and revised hpftodit. + +2004-02-17 Paco Andrés Verdú <pandres@dragonet.es> + + * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string. + +2004-01-25 Werner LEMBERG <wl@gnu.org> + + * src/libs/libgroff/progname.cpp: Replaced with... + * src/libs/libgroff/progname.c: New file. + * src/libs/libgroff/Makefile.sub: Updated accordingly. + +2004-01-17 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm. + +2004-01-16 Jeff Conrad <jeff_conrad@msn.com> + + * font/devlj4/generate/wingdings.map, + font/devlj4/generate/symbol.map: Include unnamed glyphs. + Use groff glyph names where possible. + * src/devices/grolj4/lj4_font.man: Minor updates. + +2004-01-13 Werner LEMBERG <wl@gnu.org> + + * tmac/www.tmac (DC): Handle TTY devices. + + * doc/webpage.ms: Document viewCVS from ffii.org. + * NEWS, README: Updated. + + * src/roff/groff/groff.man: Mention lj4_font man page. + + * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New + variables. + (FONTS): Add SYMBOL and WINGDINGS. + (SYMBOL, WINGDINGS): New targets. + +2004-01-13 Jeff Conrad <jeff_conrad@msn.com> + + * src/devices/grolj4/lj4_font.man: New man page. + * src/devices/grolj4/Makefile.sub (MAN5): New variable. + * src/devices/grolj4.man: Mention lj4_font man page. + + * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments. + * src/utils/hpftodit/hpftodit.man: Document it. + (CW): New macro. + Remove details about fonts (which are now in lj4_font.man). + + * font/devlj4/generate/symbol.map, + font/devlj4/generate/wingdings.map: New files. + +2004-01-12 Werner LEMBERG <wl@gnu.org> + + * README: Mention ffii's viewcvs access. + +2004-01-09 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/generate/special.map: Map MSL 228 to U+221F. + +2004-01-09 Jeff Conrad <jeff_conrad@msn.com> + + Revert most of the change from 2004-01-03 to better control used + symbol sets. + + * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure. + (text_symbol_sets, special_symbol_sets): New arrays. + (symbol_set_table): New global variable. + (read_symbol_sets): Use search order given in the text_symbol_sets + and special_symbol_sets arrays. If command line flag -a is not + given, search both arrays. + (output_charset): Require x_height_tag only for command line flag -i. + +2004-01-06 Werner LEMBERG <wl@gnu.org> + + Implement string-valued registers \n[.m] and \n[.M] to return the + name of the current drawing and background color, respectively. + + * src/roff/troff/symbol.h: Moved to... + * src/include/symbol.h: Here. + Small fixes to make it work outside of the `troff' directory. + * src/roff/troff/symbol.cpp: Moved to... + * src/libs/libgroff/symbol.cpp: Here. + Small fixes to make it work outside of the `troff' directory. + + * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub + (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): + Updated. + + * src/include/color.h: Include symbol.h. + (color): Add new field `nm'. + * src/libs/libgroff/color.cpp (color::color): Updated. + + * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp, + src/roff/troff/node.cpp, src/roff/troff/number.cpp, + src/roff/troff/reg.cpp: Don't include symbol.h. + + * src/roff/troff/env.cpp: Don't include symbol.h. + (environment::get_glyph_color_string, + environment_get_fill_color_string): New member functions. + (init_env_requests): Handle `.m' and `.M' registers. + * src/roff/troff/input.cpp: Don't include symbol.h. + (default_symbol): Moved to symbol.cpp/symbol.h. + (do_glyph_color, do_fill_color, define_color): Pass symbol name + to color constructor. + * src/roff/troff/env.h: Updated. + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document new registers. + +2004-01-05 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/node.cpp (space_node::get_breakpoints, + space_node::nbreaks): Protect against zero `next' field. + +2004-01-03 Jeff Conrad <jeff_conrad@msn.com> + + In hpftodit, use the symbol sets offered in the TFM. + + * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant. + (symbol_set, text_symbol_sets, special_symbol_sets, + symbol_set_table): Removed. + (get_printcode): Removed. + (read_symbol_sets): Initialize `symbol_set' field with + `NO_SYMBOL_SET'. + Simplify code to just use the `kind' value. + (output_charset): Improve output formatting. + (dump_symbols): Simplified. + +2004-01-02 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/generate/text.map: Add more MSL numbers. + +2004-01-02 Jeff Conrad <jeff_conrad@msn.com> + + * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro. + (text_symbol_sets): Add more symbol sets. + (debug_flag): New static variable (moved from `main'). + (get_printcode, show_symset): New functions. + (main): Remove `debug_flag'. + (output_charset): Use `show_symset'. + (dump_symbols): Use `show_symset'. + Print symsets for all glyphs. + (read_map): Actually call `unicode_to_ucode_make' but this time + correctly. + +2004-01-01 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/generate/text.map, font/devlj4/generate/special.map: + Fix placement of comments. + +2004-01-01 Jeff Conrad <jeff_conrad@msn.com> + + * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if + option `-d' is given. + (output_charset): Improve warning messages to give more information. + (dump_symbols): Make information more precise. + (usage): Updated. + (read_map): Don't call unicode_to_ucode_name; the glyph names must + appear as-is and shouldn't be decomposed. + +2003-12-31 Werner LEMBERG <wl@gnu.org> + + * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag. + * font/devlj4/generate/Makefile (IFLAG): Updated to new units. + (FONTS): Add TrueType font families Arial and Times New Roman. + (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets. + * font/devlj4/generate/text.map: Fix Unicode values of `fi' and + `fl'. + +2003-12-31 Jeff Conrad <jeff_conrad@msn.com> + + * test-groff.in (SEP): Quote value. + * src/roff/troff/node.cpp (suppress_node::tprint): Change type of + `tem' to `char*' to avoid deallocation of a pointer to a constant + object which some compilers don't like. + +2003-12-31 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/generate (text.map, special.map): Rewritten to work + with the new hpftodit version. + +2003-12-30 Jeff Conrad <jeff_conrad@msn.com> + + * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol + set and 8bit character code for all glyphs also. + +2003-12-30 Werner LEMBERG <wl@gnu.org> + + * src/libs/libgroff/strcasecmp.c: Updated from gnulib. + +2003-12-29 Werner LEMBERG <wl@gnu.org> + + More fixes for MSVC compiler. + + * doc/Makefile.sub (GROFF_BIN_PATH): Use $(SEP). + + * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO, + STDERR_FILENO) [_MSC_VER]: Define conditionally. + (getpid) [_MSC_VER]: Remove. + Include direct.h and process.h conditionally. + + * src/roff/troff/node.cpp (suppress_node::tprint): Don't use + parentheses for a_delete. + + * src/utils/lookbib/lookbib.cpp: Include nonposix.h. + + * test-groff: Replaced with... + * test-groff.in: This new template to handle path separator + properly. + + * configure.ac: Check for direct.h and process.h. + Generate test-groff script. + * configure, src/include/config.hin: Regenerated. + +2003-12-28 Werner LEMBERG <wl@gnu.org> + + Add integral extension glyph. + Add new option `-x' to afmtodit to suppress use of built-in AGL. + + * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'. + + * font/devps/generate/textmap: Provide entry for `integralex' to + override (old) PUA value of the AGL. + * font/devps/generate/Makefile (SS): Add afmtodit option `-x'. + * font/devps/*: Regenerated. + + * src/utils/afmtodit/afmtodit.pl: Add option `-x'. + * src/utils/afmtodit/afmtodit.man, NEWS: Updated. + +2003-12-27 Werner LEMBERG <wl@gnu.org> + + Add forgotten `coproduct' symbol (already available for DVI). + + * font/devhtml/R.proto, font/devps/generate/textmap, + font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man, + src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add + U+2210 (\[coproduct]). + +2003-12-26 Jeff Conrad <jeff_conrad@msn.com> + + hpftodit has been extended to handle TrueType metric files and + more glyphs. See hpftodit.man for more details. + + * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h, + ctype.h, and unicode.h. + s/msl/charcode/ everywhere since we now handle Unicode values also. + (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros. + Use it where appropriate. + (MULTIPLIER): Replaced with... + (multiplier): New global static variable. + (scale): Updated. + (tag_type): Add more TFM tags. + (tag_name): New array. + (ENUM_TYPE, FLOAT_TYPE): Removed. + (BYTE_TYPE): New value assigned. + (ASCII_TYPE, RATIONAL_TYPE): New enumeration values. + (text_symbol_sets, special_symbol_sets): Extended to cover more + sets. + (check_type): Add return value. + (check_units): Add parameters to get ppi and upem values. + Handle TrueType TFM data. + (output_font_name): New function. + (output_charset): Add parameter to handle TFM type. + Handle TrueType TFMs also. + (em_fract): New macro. + (dump_tags): Be much more verbose and handle more tags. + (dump_ascii, dump_symbol_sets, dump_symbols): New functions. + (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New + functions. + (read_map): Add parameter to handle TFM type. + Handle both MSL and Unicode mappings. + (main): Add two new command line options `-a' and `-q'. + Updated to make use of new functions. + (usage): Updated. + + * src/utils/hpftodit/hpuni.cpp: New file. + + * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man: + Updated. + +2003-12-25 Werner LEMBERG <wl@gnu.org> + + * src/include/nonposix.h (read) [_MSC_VER]: Define. + +2003-12-24 Werner LEMBERG <wl@gnu.org> + + * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested + by Michail Vidiassov <master@iaas.msu.ru>. + +2003-12-20 Werner LEMBERG <wl@gnu.org> + + * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327, + and u0049_0307. + Add missing latin-2 glyphs. + * font/devutf8/R.proto: Add missing latin-2 glyphs. + + * tmac/troffrc: Load `composite.tmac' earlier. + + * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306, + u00{53,73}_0327, and u0049_0307. + * tmac/X.tmac: Add u00{47,67}_0306. + * tmac/tty-char.tmac: Use composite glyph names for readability. + + * NEWS: Updated. + + * src/include/unicode.h: Remove `extern' keywords. + +2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com> + + * tmac/latin5.tmac: New file. + +2003-12-19 Werner LEMBERG <wl@gnu.org> + + Add some glyphs needed for Turkish. + + * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327, + and u0049_0307. + + * tmac/composite.tmac: Add `,' as a synonym for `ac' accent. + * tmac/tty-char.tmac: Add representations for u00{47,67}_0306, + u00{53,73}_0327, and u0049_0307. + +2003-12-18 Werner LEMBERG <wl@gnu.org> + + * src/devices/grops/ps.cc (ps_output::put_float): Revert change + from 2001-10-04. + Remove trailing zeros. + +2003-12-17 Werner LEMBERG <wl@gnu.org> + + Make \? transparent to end-of-sentence recognition. + + * src/roff/troff/input.cc (non_interpreted_node): Add + `ends_sentence' member function. + +2003-12-16 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Document `dt' request correctly. + Other minor typographical improvements. + +2003-12-10 Michail Vidiassov <master@iaas.msu.ru> + + * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo. + +2003-12-10 Richard Stallman <rms@gnu.org> + + * LICENSE: Better wording. + +2003-12-09 Werner LEMBERG <wl@gnu.org> + + * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0. + * configure, NEWS: Updated. + +2003-12-08 Werner LEMBERG <wl@gnu.org> + + * FDL: Updated to version 1.2 (from www.gnu.org/copyleft). + +2003-12-07 Bernd Warken <bwarken@mayn.de> + + * LICENSE: Updated. + +2003-12-07 Werner LEMBERG <wl@gnu.org> + + * INSTALL: Improved. + +2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com> + + Use path separator character of target platform for compiled-in + default paths. + + * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro. + * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR. + * configure: Regenerated. + * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR. + +2003-12-05 Werner LEMBERG <wl@gnu.org> + + * src/include/nonposix.h (PATH_SEP_CHAR): New definition. + Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere. + +2003-12-04 Bernd Warken <bwarken@mayn.de> + + * LICENSE: New file. + +2003-12-03 Werner LEMBERG <wl@gnu.org> + + * src/utils/afmtodit/afmtodit.pl: Comment out code which handles + ligatures present in AFM files since groff currently only + understands some standard ligatures and nothing else. + +2003-12-03 Jeff Conrad <jeff_conrad@msn.com> + + * src/roff/groff/groff.cpp (main): Don't run the spooler if + option -v is given. + + * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error + messages. + Close stdout copy. + Don't use Unix wait flags. + +2003-12-02 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp, + src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp, + src/roff/troff/uniuni.cpp: Moved to... + * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp, + src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp, + src/libs/libgroff/uniuni.cpp: Here. + + * src/include/Makefile.sub.old (HDRS), + src/libs/libgroff/Makefile.sub (OBJS, CCSRCS), + src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated. + +2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to + `DEBUG_FILE'. + Updated all users. + +2003-12-01 Werner LEMBERG <wl@gnu.org> + + * groff.texinfo: Document special behaviour of `.vs 0'. + Improve documentation of `cflags' request. + * NEWS: Updated. + +2003-11-29 Werner LEMBERG <wl@gnu.org> + + * font/devlj4/generate/Makefile (CORONET): Use correct TFM. + * font/devlj4/CORONET: Regenerated. + +2003-11-24 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop + if processing hyphenation patterns in traditional mode. + Improve error messages. + +2003-11-20 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/node.cpp (troff_output_file::put_char_width, + troff_output_file::put_char): Fix type of local variable `c'. + +2003-11-19 Werner LEMBERG <wl@gnu.org> + + * src/roff/groff/pipeline.c (P): Removed. Updated all function + declarations. + (i_to_a): Removed. libgroff already provides this function. + (run_pipeline) [_WIN32]: Don't use itoa but i_to_a. + +2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/roff/groff/pipeline.c (xstrsignal): Fix usage of + HAVE_DECL_SYS_LIST. + +2003-11-17 Werner LEMBERG <wl@gnu.org> + + * COPYING: Use correct version. + +2003-11-11 Werner LEMBERG <wl@gnu.org> + + LynxOS 4.0.0 doesn't declare vfprintf. + + * configure.ac: Check for vfprintf. + * configure: Regenerated. + * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'. + * src/include/config.hin: Regenerated. + +2003-11-10 Werner LEMBERG <wl@gnu.org> + + LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf. + + * configure.ac: Check for vsnprintf. + * configure: Regenerated. + * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and + `HAVE_VSNPRINTF'. + * src/include/config.hin: Regenerated. + +2003-11-09 Werner LEMBERG <wl@gnu.org> + + * aclocal.m4: Updated syntax to autoconf 2.59. + (GROFF_HTML_PROGRAMS): Use AC_FOREACH. + Don't check for gsos2. + (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides + working abs_top_srcdir and abs_top_builddir. + + * configure.ac: Updated syntax to autoconf 2.59. + Don't call GROFF_SRCDIR and GROFF_BUILDDIR. + Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS. + * configure: Regenerated. + + * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/, + s/@groff_top_builddir@/@abs_top_builddir@/. + + * src/roff/groff/pipeline.c (xstrsignal): + s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/. + +2003-11-07 Werner LEMBERG <wl@gnu.org> + + * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always + make start angle smaller than end angle to circumvent a bug in tpic + handling of some versions of dvipdfm (and dvipdfmx). + +2003-10-30 Werner LEMBERG <wl@gnu.org> + + * src/devices/grops/grops.man: Improve section on creating EPS. + +2003-10-29 Werner LEMBERG <wl@gnu.org> + + * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter -> + -P-pletter). + +2003-10-28 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Fix documentation of `.if'. + +2003-10-27 Michail Vidiassov <master@iaas.msu.ru> + + * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of + the form `uniXXXX' also. + +2003-10-27 Werner LEMBERG <wl@gnu.org> + + * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh, + contrib/pic2graph/pic2graph.sh: Implement secure management of + temporary files. + Pass `-P-pletter' to groff to avoid data outside of the converted + area -- some versions of `convert' (for example 5.3.8) don't check + the bounding box of the image but always use a fixed image size + (letter paper format). + * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man, + contrib/pic2graph/pic2graph.man: Updated. + + * src/roff/groff/groff.man: Document $TMP and $TEMP. + +2003-10-26 Werner LEMBERG <wl@gnu.org> + + * src/preproc/pic/troff.cpp (troff_output::simple_circle, + troff_output::simple_ellipse, troff_output::simple_arc, + troff_output::simple_line, troff_output::simple_spline, + troff_output::simple_polygon): Insert a space before arguments. + (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the + latter doesn't produce a node, so the following `.sp -1' would do + the wrong thing. + Don't emit `.sp -1' after \M. This also doesn't produce a token + (and we don't have to care about compatibility mode). + (troff_output::set_color, troff_output::reset_color): Don't emit + `.sp -1' after \M and \m. + + * src/roff/troff/input.cpp (old_have_input): New global variable. + (input_stack::get): Handle `old_have_input'. + (process_input_stack) <token::TOKEN_NEWLINE>: Call + `trapping_blank_line' depending on `old_have_input', not + `have_input'. + +2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com> + + * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32] + (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing + default directory names for temporary files. + [__MSDOS__, _Win32] (temp_init::temp_init): Use them. + + * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h. + [__MSDOS__] (run_pipeline): Honour environment variables. + Don't use `tmpnam' but `tempnam' to work around messy + implementation. + + * README.MinGW: New file. + +2003-10-16 Werner LEMBERG <wl@gnu.org> + + * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use + `(*t)->next' without testing validity of `*t'. + (usage): Make it more readable. + +2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com> + + Make html device run under both MS-DOS and Win32. + + * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS, + MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether + spawn or fork+exec has to be used, and whether parent must sleep + until the child process terminates. Used in + `char_buffer::run_output_filter'. + (copyofstdoutfd): Removed. + (char_buffer): Replace `write_file_html' and `write_file_troff' + member functions with `emit_troff_output' and `run_output_filter'. + (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New + macros. + (replaceFd): Replaced with... + (set_redirection): New auxiliary function. + (waitForChild): Replaced with... + (save_and_redirect): New auxiliary function for. + + (char_buffer::do_html, char_buffer::do_image): Simplified, using new + functions. + +2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com> + + * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also. + (GROFF_LIBC): New function. + * configure.ac: Call GROFF_LIBC. + Check for `kill'. + * configure: Regenerated. + + * src/include/lib.h: Handle __MINGW32__. + * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__. + Add macro for `pipe'. + Define P_tmpdir. + + * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe' + correctly. + + * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]: + Implement. + +2003-10-12 Werner LEMBERG <wl@gnu.org> + + * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage), + src/roff/troff/input.cc (usage): Updated. + + * NEWS, doc/groff.texinfo: Updated. + +2003-10-12 Peter Miller <millerp@canb.auug.org.au> + + * src/libs/libgroff/searchpath.cpp + (search_path::open_file_cautious): New function which also handles + `-' as stdin and stdout depending on the access mode. + * src/include/searchpath.h (search_path): Updated. + + * src/devices/grops/ps.cpp (main): Handle new `-I' switch. + * src/devices/grops/ps.h: Include `searchpath.h'. + * src/devices/grops/psrm.cpp (resource_manager::supply_resource): + Open resource file with `include_search_path.open_file_cautious'. + * src/devices/grops/grops.man: Document new `-I' switch. + + * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp + (main), src/devices/grolj4/lj4.cpp (main), + src/devices/grotty/tty.cpp (main): Ignore new `-I' switch. + + * src/preproc/soelim/soelim.cpp (include_list_length, include_list): + Replaced with... + (include_search_path): New global variable. + (include_path_append): Removed. + (main): Use `include_search_path.command_line_dir' to handle `-I'. + (do_file): Simplify, using new + `include_search_path.open_file_cautious'. + + * src/roff/groff/groff.cpp (print_commands): Accept file handle as + parameter. + (main): Pass arguments to `-I' to both troff and devices. + Improve handling of `-V'. + * src/roff/groff/groff.man: Document changes to -I and -V. + + * src/roff/troff/input.cpp (include_search_path): New global + variable. + (next_file, source, ps_bbox_request, transparent_file, + process_input_file): Use new + `include_search_path.open_file_cautious'. + (main) Handle `-I' switch. + * src/roff/troff/node.cpp (troff_output_file::really_copy_file): + Use new `include_search_path.open_file_cautious'. + * src/roff/troff/node.h: New extern symbol `include_search_path'. + * src/roff/troff/troff.man: Document new `-I' switch. + +2003-09-15 Ruslan Ermilov <ru@FreeBSD.org> + + Support multiple calls of .Lb in LIBRARY section. + + * tmac/doc-common (doc-in-library-section): New register. + (doc-section-library): New string. + (Sh): Set `doc-in-library-section'. + (Rd): Updated. + * tmac/doc-syms (Lb): Insert breaks before and after arguments + if in LIBRARY section. + * tmac/doc.tmac (doc-save-global-vars): Updated. + * NEWS, tmac/groff_mdoc.man: Updated. + +2003-09-14 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/doc-common (doc-default-operating-system): New variable. + (Os): Use it. + +2003-09-08 Werner LEMBERG <wl@gnu.org> + + * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also. + +2003-08-31 Werner LEMBERG <wl@gnu.org> + + * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'. + (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and + $(DEVFILES) are not empty. + * Makefile.in: Use `test ... ||' in favor of `if test ...; then'. + +2003-08-23 Stephen Gildea <http://www.gildea.com/stephen> + + * src/preproc/refer/ref.cpp (reference::compute_sort_key): Always + insert SORT_SEP. With certain combinations of sort specifications, + refer sorted entries in the wrong order. In particular, entries + with a missing field should be sorted before all entries that + have that field, before refer looks to the next field. + +2003-08-23 Werner LEMBERG <wl@gnu.org> + + * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the + g++ linker is used. Reported by Mark J. Reed + <mark.reed@turner.com>. + +2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de> + + Add key character `x' to tbl which makes tbl call a user-defined + macro on a table cell. + + * src/preproc/tbl/table.h (entry_modifier): Add `macro'. + * src/preproc/tbl/table.cpp (block_entry::do_divert): Call + `set_modifier' after printing the compatibility request. + (set_modifier): Print call to `m->macro' if not empty. + * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle + `macro'. + (process_format): Implement cases `x' and `X'. + * src/preproc/tbl/tbl.man, NEWS: Updated. + +2003-08-15 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Minor fixes. + +2003-08-09 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac [cR]: Fix redefinition of `bp'. + +2003-08-07 Werner LEMBERG <wl@gnu.org> + + * doc/Makefile.sub: Not all shells expand wildcards in the `for' + argument list to nothing if there is no file to match. Use `ls' as + a protection, similar to autoconf. + + * Makefile.comm (install_dev, uninstall_dev): Protect `for' against + empty argument lists. + + * doc/groff.texinfo: Improve documentation how vertical spacing + and line breaks interact. + Other minor fixes. + + * tmac/www.tmac: Initialize `www-htmlimage-gap'. + +2003-08-03 Werner LEMBERG <wl@gnu.org> + + * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce + EPS (using eps2eps or similar programs to compute the bounding box). + +2003-07-24 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Use the new @/ command to avoid overlong lines. + * doc/texinfo.tex: Updated from texinfo 4.6. + * README.CVS: From now on we need texinfo 4.6. + +2003-07-23 Werner LEMBERG <wl@gnu.org> + + Add requests `dei1' and `ami1' for completeness. + + * src/roff/troff/input.cc (calling_mode): Remove + CALLING_DISABLE_COMP. + (comp_mode): New enumeration. + (do_define_string, define_string, define_nocomp_string, + append_string, append_nocomp_string): Updated. + (do_define_macro): Add third parameter. + (define_macro, define_nocomp_macro, define_indirect_macro, + append_macro, append_nocomp_macro, append_indirect_macro): Updated. + (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New + functions. + (ignore): Updated. + (init_input_requests): Add `dei1' and `ami1'. + + * tmac/trace.tmac: Handle de1 and am1. + (de): Improve tracing message. + (am): Add missing `do'. + (return): Use de1. + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document new requests. + +2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de> + + Add option -G to .MPIMG to insert a gap between text and the image. + + * tmac/www.tmac (www-finish-left-po, www-finish-right-ll, + www-finish-left-ll): Updated. + (www-image-just, www-image-gap, www-htmlimage-gap): New variables. + (MPIMG): Make option -L and -R optional. + Implement option -G. + +2003-07-22 Gaius Mulley <gaius@glam.ac.uk> + + * src/devices/grohtml/post-html.cpp + (html_printer::do_file_components): Don't use `stdout' as lvalue + since it can be a macro. + +2003-07-22 Werner LEMBERG <wl@gnu.org> + + * src/libs/libgroff/strerror.c: Include errno.h to be in sync with + the corresponding test in aclocal.m4. + +2003-07-21 Werner LEMBERG <wl@gnu.org> + + * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour + names but RGB values directly. Otherwise pnmtopng depends on + an external file `rgb.txt' which maps colour names to values. + +2003-07-20 Werner LEMBERG <wl@gnu.org> + + * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW. + * configure, src/include/config.hin: Regenerated. + + * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW. + +2003-07-19 Werner LEMBERG <wl@gnu.org> + + * PROBLEMS: Add solution for UTF-8 problem with hyphens. + +2003-07-18 Werner LEMBERG <wl@gnu.org> + + * *.man: Switch to non-compatibility mode temporarily if GNU + syntax extensions are used in the particular man page. + + * PROBLEMS: Add solutions for SGR problems. + +2003-07-17 Werner LEMBERG <wl@gnu.org> + + Don't ignore grotty's command line options if \X'tty: sgr ...' is + used to change the drawing scheme. + + * src/devives/grotty/tty.cpp (bold_flag_option, + underline_flag_option, italic_flag_option, reverse_flag_option, + bold_underline_mode_option): New global variables. + (update_options): New function. + (tty_printer::special): Call update_options. + (main): Don't set xxx_flag but xxx_flag_option, then call + update_options. + +2003-07-14 Werner LEMBERG <wl@gnu.org> + + Make grotty emit proper Unicode box drawing characters for -Tutf8. + + * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum + values. + (hline_char, vline_char): New global variables. + (tty_printer::tty_printer): Initialize them. + (tty_printer::draw): Emit START_LINE and END_LINE flags for both + horizontal and vertical lines. + (crossings): New global array. + (tty_printer::end_page): Use it to determine the proper crossing + character for -Tutf8. + +2003-07-12 Werner LEMBERG <wl@gnu.org> + + * doc/Makefilesub (HTMLDOCFILESALL): New macro. + (HTMLDOCFILES): Revert to `pic.html'. + (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL. + +2003-07-11 Werner LEMBERG <wl@gnu.org> + + * doc/pic.ms: Improve documentation of absolute coordinates. + Document absolute positioning of pictures. + + * NEWS: Add new pic capability. + +2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de> + + * src/libs/libgroff/geometry.cpp (check_output_arc_limits): + Rewritten. + +2003-07-07 Werner LEMBERG <wl@gnu.org> + + Implement support for dashed and dotted ellipses in pic. Based on + a patch from Hartmut Henkel <hartmut_henkel@gmx.de>. + + * src/preproc/pic/common.cpp (common_output::ellipse_arc, + common_output::dashed_ellipse, common_output::dotted_ellipse): New + functions. Ellipse arcs are approximated with circle arcs. + * src/preproc/pic/common.h (common_output): Updated. + * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse + functions. + * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto. + + * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated. + +2003-07-06 Werner LEMBERG <wl@gnu.org> + + Make grotty work on platforms which have unsigned char as the + default for char. Based on a patch by Thomas Klausner + <wiz@netbsd.org>. + + * src/devices/grotty/tty.cpp (schar): New typedef. + Updated calls to declare_ptable and implement_ptable. + (glyph): Use schar for back_color_idx and fore_color_idx. + (tty_printer): Use schar for curr_fore_idx and curr_back_idx. + (tty_printer::tty_color, tty_printer::tty_printer, + tty_printer::color_to_idx, tty_printer::put_color): Updated. + +2003-07-06 Ruslan Ermilov <ru@FreeBSD.org> + + * src/roff/nroff/nroff.sh: Add option -d for completeness. + * src/roff/nroff/nroff.man: Updated. + +2003-07-05 Werner LEMBERG <wl@gnu.org> + + * NEWS, tmac/groff_www.man: Updated. + * doc/Makefile.sub: Updated. + +2003-07-05 Gaius Mulley <gaius@glam.ac.uk> + + Implement support for multiple HTML output files. + + * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for + -j command line option. + + * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New + global variables. + (file): New fields `new_output_file', `require_links', + `output_file_name'. + (file::file): Updated. + (files::set_file_name, files::set_links_required, + files::are_links_required, files::is_new_output_file, + files::file_name, files::next_file_name): New functions. + (header_desc): New fields `no_of_level_one_headings', + `header_filename'. + (header_desc::header_desc): Updated. + (header_desc::write_headings): Handle multiple files. + (html_printer::write_header): Save file name in which header occurs. + (html_printer::determine_header_level): Possibly split files on + level one headings. + (html_printer::do_links, html_printer::troff_tag): Updated. + (html_printer::insert_split_file, html_printer::do_job_name, + html_printer::emit_link, html_printer::write_navigation, + html_printer::do_file_components): New functions. + (html_printer::~html_printer): Handle multiple files. + (main): Handle command line option `-j'. + + * src/devices/grohtml/grohtml.man: Updated. + + * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule + which splits file. + + * tmac/www.tmac (JOBNAME): New macro. + * tmac/s.tmac (SH-NO-TAG): New macro. + (@SH): Call SH-NO-TAG. + (@NH): Updated. + +2003-07-05 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/groff_mdoc.man: Improve documentation of punctuation + characters. + +2003-07-04 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/doc.tmac (Bd): Change to doc-Li-font later. + +2003-07-03 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines. + +2003-07-01 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma + after `/*' and `*/'. + Fix spacing. + (Fn, Fo): Reduce indentation in synopsis. + + * tmac/doc-common (doc-check-depth): New macro. + (doc-end-macro, Sh, Ss): Use it. + (Cd): Fix behaviour in synopsis. + (In): Make it parsed and callable. + If not in the synopsis, represent the C header file enclosed in + angle brackets. + (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0): + Use minus, not hyphen. + + * tmac/groff_mdoc.man: Updated. + +2003-07-01 Werner LEMBERG <wl@gnu.org> + + Integrated grap2graph, contributed by Eric S. Raymond. + + * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}: + New files. + * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man, + contrib/pic2graph.man, src/roff/groff/groff.man: Updated. + +2003-07-01 Colin Watson <cjwatson@debian.org> + + * src/xditview/*.c: Add prototypes, fix return types, add includes. + Based on work by Fumitoshi UKAI <ukai@debian.or.jp>. + +2003-06-31 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'. + +2003-06-31 Werner LEMBERG <wl@gnu.org> + + * doc/Makefile.sub (CLEANADD): Remove all files created by + running `make groff.{pdf,dvi}'. + + * Makefile.sub (DISTCLEANFILES): Remove all non-source files from + src/xditview also. + +2003-06-30 Werner LEMBERG <wl@gnu.org> + + * Makefile.in (SHELL): Define as @SHELL@. + (mkinstalldirs): Use $(SHELL). + (MDEFINES): Add $(SHELL). + * Makefile.comm (SHELL): Removed. + +2003-06-29 Werner LEMBERG <wl@gnu.org> + + * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively. + The X11 documentation files use them. + * tmac/groff_ms.man, doc/groff.texinfo: Document them. + +2003-06-15 Robert Goulding <goulding@Princeton.EDU> + + * tmac/e.tmac (@C): Handle .ad also. + +2003-06-12 Werner LEMBERG <wl@gnu.org> + + * src/preproc/tbl/tbl.man: Document formatting of text blocks. + + * src/roff/troff/input.cc (token::next) <handle_escape_char>: + Assign `n' even here. It is possible to construct a node + immediately following an escape character: + + .di xx + \?\\\?a + .br + .di + .xx + +2003-06-10 Werner LEMBERG <wl@gnu.org> + + * README.WIN32: Removed. + * MANIFEST: Updated. + +2003-06-07 Werner LEMBERG <wl@gnu.org> + + * src/roff/nroff/nroff.sh: Don't emit SGR for option -u. + +2003-06-05 Werner LEMBERG <wl@gnu.org> + + * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug + in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885). + +2003-06-03 Werner LEMBERG <wl@gnu.org> + + * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this + is done by the calling function. + +2003-05-22 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/X.tmac: Fix definition of `em'. + +2003-05-22 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.cc (return_macro_request): Fix detection of + argument. + +2003-05-18 Werner LEMBERG <wl@gnu.org> + + * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag + to make items work which consist only of a tag. + +2003-05-17 Werner LEMBERG <wl@gnu.org> + + * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces + aren't stretched in a tag (this can fail with unformatted boxes). + Instead, insert a break and go back one line. + +2003-05-16 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.cc (return_macro_request): If called with + argument pop macro twice. We need this to trace `return'. + + * tmac/trace.tmac: Handle `return'. + Fix typos. + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document. + +2003-05-15 Larry Kollar <kollar@alltel.net> + + * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of + registers `FPS', `FVS', and `FPD'. + +2003-05-15 Werner LEMBERG <wl@gnu.org> + + * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter + correctly. + +2003-05-03 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/groff_mdoc.man: Slight improvements. + +2003-05-03 Werner LEMBERG <wl@gnu.org> + + * tmac/doc-common (doc-header): Emit vertical space of 1v instead of + `doc-header-space' after header line if register `cR' is set. + +2003-05-02 Werner LEMBERG <wl@gnu.org> + + * TODO: Updated. + +2003-05-01 Ruslan Ermilov <ru@FreeBSD.org> + + * tmac/doc-common (Nd): Use \[em]. + +2003-05-01 Werner LEMBERG <wl@gnu.org> + + * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space, + doc-footer-space): Initialize to 0.5i. + (doc-setup-page-layout): Don't set doc-header-space and + doc-footer-space. + +2003-04-30 Werner LEMBERG <wl@gnu.org> + + * REVISION: Set to 1. + + * doc/pic.ms: Document possible problems with `figname'. + +2003-04-29 Werner LEMBERG <wl@gnu.org> + +Version 1.19 released +===================== + + * VERSION: Set to 1.19. + * REVISION: Set to 0. + * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated. + + * src/devices/grohtml/post-html.cpp (html_printer::~html_printer): + Define charset as `US-ASCII' in html output. + + * tmac/www.tmac (ULE): Add missing scaling indicator. + + * win32-diffs: Removed. + +2003-04-28 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Document `dn' and `dl' registers if used with + `.da' and `.boxa'. + Document how to insert discardable whitespace with `.ss'. + +2003-04-27 Werner LEMBERG <wl@gnu.org> + + * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code + work with plain TeX also. + + * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example. + +2003-04-25 Gaius Mulley <gaius@glam.ac.uk> + + * src/devices/grohtml/post-html.cpp (html_printer::~html_printer): + Use a loose DTD. + +2003-04-24 Werner LEMBERG <wl@gnu.org> + + * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a + vbox with positive height and zero depth if in TeX mode. + + * NEWS: Document glyph name changes for grodvi and grolj4. + +2003-04-23 Werner LEMBERG <wl@gnu.org> + + * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code. + * doc/pic.ms: Fixed. + +2003-04-21 Werner LEMBERG <wl@gnu.org> + + HP-UX 10.20 has `snprintf' but it isn't declared. + + * configure.ac: Add declaration test for snprintf. + * configure: Regenerated. + * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'. + * src/include/config.hin: Regenerated. + +2003-04-19 Werner LEMBERG <wl@gnu.org> + + Add keyword `figname' to pic, specifying the name of the picture + box in TeX mode. Based on a patch from William J Poser + <wjposer@unagi.cis.upenn.edu>. + + * src/preproc/pic/pic.y: New token `FIGNAME'. + (macro_name): New rule of type <str>. + (placeless_element): Handle `FIGNAME'. + * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'. + * src/preproc/pic/main.cpp (graphname): New global variable. + (do_picture): Initialize `graphname'. + * src/preproc/pic/pic.h: Updated. + * src/preproc/pic/tex.cpp (tex_output::start_picture): Use + `graphname'. + Simplify TeX code. + (tex_output::text): Beautify output. + * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate + `shaded' and `outlined' unconditionally. + * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated. + Minor improvements. + + * PROBLEMS, README.CVS: Mention that bison version 1.875b or + greater is necessary. + +2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de> + + Add option -r to soelim to avoid emission of `.lf' lines. + Add option -t to produces TeX comment lines instead of `.lf' lines. + + * src/preproc/soelim/soelim.cpp: New global variables `raw_flag' + and `tex_flag'. + (usage): Updated. + (main): Handle `-r' and `-t'. + (set_location): Handle `raw_flag' and `tex_flag'. + * src/preproc/soelim/soelim.man, NEWS: Updated. + +2003-04-17 Werner LEMBERG <wl@gnu.org> + + * tmac/hyphenex.sh: Replaced with... + * tmac/hyphenex.pl: This perl script to avoid sed compatibility + nightmares. + + * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message + if --quiet is used for the configure script. + * configure: Regenerated. + +2003-04-16 Werner LEMBERG <wl@gnu.org> + + * src/devices/grohtml/post-html.cpp (text_glob::text_glob): + Add `const' to second argument. + (html_printer::add_table_end): Add `const' to argument. + * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add + `const' to arguments. + * src/devices/grohtml/html-text.h: Updated. + + * src/devices/grolbp/charset.h (symset): Use `unsigned char'. + * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for + argument. + + * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use + cast for integer constant. + + * src/preproc/html/pre-html.cpp (image_device): Use `const'. + (writeNbytes): Add `const' to first argument. + (writeString): Add `const' to argument. + (char_buffer::can_see): Add `const' to third argument. + * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add + `const' to argument. + * src/preproc/html/pushback.h: Updated. + + * src/preproc/soelim/soelim.cpp (include_list): Add `const'. + (include_path_append): Add `const' to argument. + (do_file): Updated. + + * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const' + for `value'. + (unicode_to_glyph_init::unicode_to_glyph_init): Updated. + * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const' + for `value'. + (unicode_decompose_init::unicode_decompose_init): Updated. + * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const' + for `value'. + (glyph_to_unicode_init::glyph_to_unicode_init): Updated. + * src/roff/troff/input.cc (process_startup_file): Add `const' to + argument. + + * tmac/hyphenex.sh: Make script more portable by using a here + document. + +2003-04-15 Werner LEMBERG <wl@gnu.org> + + Renamed all `*.cc' files to `*.cpp'. + Updated all configuration files, makefiles, and documentation. + +2003-04-14 Werner LEMBERG <wl@gnu.org> + + * tmac/hyphenex.sh: Slight improvements. + +2003-04-13 Werner LEMBERG <wl@gnu.org> + + * font/devascii/R.proto, font/devcp1037/R.proto, + font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining + character slots with unnamed glyphs. + + * tmac/an-old.tmac: Fix hyphenation value if `cR' is active. + (an-first): New global variable. + (an-header): Emit vertical space between multiple man pages. + +2003-04-11 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo, man/groff_out.man: \S only accepts integer + values. + +2003-04-10 Werner LEMBERG <wl@gnu.org> + + * PROBLEMS: Revised. + +2003-04-10 Bernd Warken <bwarken@mayn.de> + + * doc/webpage.ms: Improved. + +2003-04-09 Werner LEMBERG <wl@gnu.org> + + Add register \n[.height] which returns the value of \H. + Add register \n[.slant] which returns the value of \S. + + * src/roff/troff/env.cc (init_env_requests): Implement. + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document. + +2003-04-08 Werner LEMBERG <wl@gnu.org> + + * tmac/html.tmac: Move some of the data into html-end.tmac. + Remove most of the character translations for eqn since html fonts + now cover those characters. + Load www.tmac. + * tmac/html-end.tmac: New file. + * tmac/troffrc: Load html.tmac not www.tmac for -Thtml. + * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml. + * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac. + +2003-04-07 Werner LEMBERG <wl@gnu.org> + + * man/groff_out.man: Document negative values of `N' if -Thtml is + used. + +2003-04-06 Werner LEMBERG <wl@gnu.org> + + * Makefile.comm (depend.temp): Check location of YTABC. + +2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * doc/Makefile.in (TROFFBIN): New variable for troff + binary path. + (GROFFBIN): New variable for groff binary path. + (groff_bin_path): Rename to GROFF_BIN_PATH. + (TROFF): Use TROFFBIN. + (GROFF): Use GROFFBIN and GROFF_BIN_PATH. + * doc/Makefile.sub (GROFFBIN): New variable for groff + binary path. + (groff_bin_path): Rename to GROFF_BIN_PATH. + (GROFF): Use GROFFBIN and GROFF_BIN_PATH. + + * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS + with INSTALL_SCRIPT. + (uninstall_dev): Uninstall scripts from DEVSCRIPTS. + * Makefile.dev (all): Depend on DEVSCRIPTS. + (install_dev): Likewise. + * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold + scripts. + * font/devps/Makefile.sub (DEVSCRIPTS): Likewise. + (DEVGENSCRIPTS): New variable to hold generated scripts. + +2003-04-05 Werner LEMBERG <wl@gnu.org> + + * src/libs/libdriver/input.cc (IntArray::operator[], + IntArray::get_data): Remove meaningless `const' in return value. + + * README.CVS: New file. + +2003-04-04 Werner LEMBERG <wl@gnu.org> + + Check for stdint.h in C++, not in C. + + * aclocal.m4 (GROFF_STDINT_H): New function, + * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of + AC_CHECK_HEADERS. + * configure, src/include/config.hin: Regenerated. + * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H. + + + Fix handling of in grohtml. To do this, troff emits `N' + with a negative value, representing the width of the unbreakable + space (only for -Thtml). grohtml then converts this back to + and uses the value of N as its width. + + * src/roff/troff/node.cc (space_char_hmotion_node::tprint, + unbreakable_space_node::tprint): Emit `N-<width>'. + * src/include/printer.h (printer::set_numbered_char): Make it + virtual. + Make members `font_table' and `nfonts' protected instead of private. + * src/devices/grohtml/post-html.cc + (html_printer::set_numbered_char): New member function. + + + * src/libs/libgroff/maxfilename.cc: + s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/. + + * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't + emit word marker. + +2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru> + + * man/roff.man: Small fixes. + +2003-04-03 Werner LEMBERG <wl@gnu.org> + + Make groff independent from locale's numeric settings. + + * configure.ac: Check for `setlocale'. + * configure, src/include/config.hin: Regenerated. + + * src/include/lib.h: Handle HAVE_SETLOCALE. + + * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc + (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc + (main), src/preproc/pic/main.cc (main): Call `setlocale'. + + + * doc/groff.texinfo: Change dir category to `Typesetting'. + (Man font macros): Mention that there is no space between arguments + of .BI and friends. + + * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc + (*printer::change_color, *printer::change_fill_color): Add missing + `const'. + +2003-04-02 Werner LEMBERG <wl@gnu.org> + + * src/devices/grohtml/html-table.cc (html_table::emit_col, + html_table::is_gap): Compute table widths after converting border + positions to avoid rounding errors. + +2003-04-01 Werner LEMBERG <wl@gnu.org> + + * src/devices/grohtml/html-text.cc (html_text::do_space): Handle + `space_emitted' properly. + +2003-03-31 Werner LEMBERG <wl@gnu.org> + + * src/devices/grohtml/html-table.cc: Fix column width calculation. + (html_table::set_linelength): Don't add 1. + (html_table::add_indent): Don't subtract 1. + + * tmac/html.tmac: Set default page offset to zero. + +2003-03-30 Werner LEMBERG <wl@gnu.org> + + Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used. + + * src/roff/troff/node.cc (space_char_hmotion_node::tprint, + unbreakable_space_node::tprint): New functions. + (troff_output_file): Make space_char_hmotion_mode::tprint and + unbreakable_space_node::tprint to friends. + * src/roff/troff/node.h: Updated. + + * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined + in the HTML standard). + +2003-03-29 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/env.cc (point_size): Fix emission of html tag. + Otherwise, the following code + + .di xxx + .ps 10 + a + .br + .di + x\*[xxx] + + produces `x a' instead of `xa'. This is a temporary fix, disabling + font changes in diversions for -Thtml. + + * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of + `HTML-TAG'. + (an-do-tag-html): Merge with ... + (an-do-tag): This macro. + Change code slightly to circumvent grohtml bug. + * tmac/troffrc-end: Define dummy for HTML-TAG-NS. + + * src/devices/grohtml/html-table.cc (html_table::emit_col, + html_table::is_gap): Round `width' properly. + + * tmac/html.tmac: Provide some default layout parameters for + grohtml. + + * font/devhtml/DESC.proto: Don't use discrete values for `sizes' + command. + +2003-03-28 Werner LEMBERG <wl@gnu.org> + + src/devices/grops/ps.cc (ps_printer::do_import): Fix error message. + +2003-03-27 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is + defined. + +2003-03-20 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/env.cc (vertical_spacing): Allow zero value for + `.vs'. + * doc/groff.texinfo: Updated. + +2003-03-19 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP, + TOKEN_END_TRAP>: Reset `have_input'. + +2003-03-18 Werner LEMBERG <wl@gnu.org> + + * src/roff/groff/groff.man: Mention groff_trace man page. + +2003-03-16 Werner LEMBERG <wl@gnu.org> + + * Makefile.in (LIBEXT): New variable to indicate the file extension + of library files. Computed heuristically from $(OBJEXT). + (MDEFINES): Add $(LIBEXT). + * Makefile.lib, Makefile.comm: Use it. + + * src/utils/pfbtops/pfbtops.c (get_text): New function. Split + overlong lines into smaller chunks. + (get_binary): New function. + (main): Use them. + * src/utils/pfbtops/pfbtops.man: Updated. + +2003-03-15 Colin Watson <cjwatson@debian.org> + + * src/roff/groff/groff.man: Minor syntax fix. + +2003-03-14 Egil Kvaleberg <egil@kvaleberg.no> + + * src/devices/grops/ps.cc (ps_printer::media_set, + ps_printer::~ps_printer): Handle zero paper width and length. + +2003-03-13 Werner LEMBERG <wl@gnu.org> + + Add options -p and -l to grodvi. + + * src/devices/grodvi/dvi.cc: Include paper.h. + (landscape_flag, user_paper_length, user_paper_width): New global + variables. + (dvi_printer::begin_page): Emit `papersize' special. + Set color after initialization of `cur_h' and `cur_v'. + (main): Add options `-l' and `-p'. + * font/devdvi/Makefile.sub (DESC): Set `papersize'. + * src/devices/grodvi/grodvi.man, NEWS: Updated. + + * src/devices/grops/psrm.cc (valid_input_table): Fixed. + +2003-03-12 Werner LEMBERG <wl@gnu.org> + + * src/devices/grops/grops.man: Move documentation of .PSPIC to... + * man/groff_tmac.man: This man page. + * man/groff_font.man: Declare `paperwidth' and `paperlength' as + deprecated. + + * tmac/X.tmac: Don't load pspic.tmac. + +2003-03-11 Werner LEMBERG <wl@gnu.org> + + Make variable `pr' local to libdriver/input.cc. Based on a patch + by Bernd Warken <bwarken@mayn.de>. + + * src/include/driver.h (pr): Removed. + + * src/libs/libdriver/input.cc (pr): New global variable. + (do_file): Deallocate `pr'. + * src/libs/libdriver/printer.cc (pr): Removed. + + * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/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): Don't delete `pr'. + +2003-03-10 Werner LEMBERG <wl@gnu.org> + + * tmac/a4.tmac, tmac/composite.tmac: Use `.do'. + * tmac/papersize.tmac: New file. + * tmac/troffrc: Include `papersize.tmac'. + * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'. + * tmac/an-old.tmac: Set LT to LL by default. + + * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man, + doc/groff.texinfo: Updated. + + * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarrassing + bug which caused all odd iso papers to have wrong dimensions. + + * src/devices/grops/ps.cc (user_paper_width): New global variable. + (main) <'p'>: Set `user_paper_width' also. + (ps_printer::media_width, ps_printer::media_height): Use values + given with option `-p'. + +2003-03-09 Werner LEMBERG <wl@gnu.org> + + * src/include/nonposix.h: Provide default for SET_BINARY. + + * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc, + src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY + unconditionally. + + * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally. + (main): Treat \r\n as \n. + +2003-03-08 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac: Use register `HY' to control hyphenation. + * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it. + +2003-03-07 Werner LEMBERG <wl@gnu.org> + + Added support to access more than 256 glyphs in Type 1 fonts. + + * src/devices/grops/ps.cc (subencoding): New structure. + (style): Add `sub' field. + Updated all users. + (ps_printer): Add `subencodings' and `next_subencoding_index' fields. + Add `set_subencoding', `get_subfont' and `encode_subfont' member + functions. + Updated all users. + (ps_printer::set_char): Use `set_subencoding'. + (make_subencoding_name): New function. + (ps_printer::set_style): Handle case where `sty.sub' is not zero. + (ps_printer::~ps_printer): Emit subencoding definitions. + + * src/devices/grops/psrm.cc (valid_input_table): New array to + properly support EBCDIC. + (white_space): Add `\f'. + (ps_get_line): Change first argument to be of type `string &'. + Updated all callers. + This allows to get lines of arbitrary length. + Use `valid_input_table'. + Remove warning about non-conforming PS line length. This seems + not to be of great importance -- for example, dvips don't emit + a warning either. + (PS_LINE_MAX): Removed. + (matches_comment): Change first argument to be of type `string &'. + + * src/devices/grops/grops.man, src/devices/grops/TODO: Updated. + + * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed, + %AGL_to_unicode, %default_ligatures): New hash tables. + Read all map entries. + Add unencoded characters. + Check for default ligatures if there are no `L' entries. + Print all kern entries. + Print all characters in charset. + * src/utils/afmtodit/afmtodit.man: Updated. + + * font/devps/*: Regerated all fonts. + + * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence + of characters, just use `.trin'. Otherwise the mapping depends + on the font encoding. + * tmac/ps.tmac: Add `fi' and `fl'. + Improve `Fi' and `Fl'. + * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'. + * tmac/Xps.tmac: Fix `em'. + + * NEWS: Updated. + +2003-03-04 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.cc (charinfo_to_node_list): Reset + `have_input'. + +2003-03-03 Werner LEMBERG <wl@gnu.org> + + * Makefile.sub (DISTCLEANFILES): Add gxditview._man. + + * font/devps/generate/textmap: Remove entry `similarequal'. + * font/devps/symbolmap: Updated. + +2003-03-02 Werner LEMBERG <wl@gnu.org> + + * src/libs/libgroff/font.cc (font::load): Fix error message for + bad character type. + + * src/devices/grops/grops.man: Improve documentation of the -b + flag. + + * tmac/tty.tmac: Load latin1.tmac for all TTY devices except + `ascii' and `cp1047'. + +2003-03-01 Werner LEMBERG <wl@gnu.org> + + Document composite glyphs and the `composite' request. + + * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it. + +2003-02-28 Werner LEMBERG <wl@gnu.org> + + * font/devdvi/generate/ec.map: Add some more Unicode entities. + * font/devdvi/*EC: Updated. + + * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files. + * tmac/latin1 (latin1-tr): Undo any previous mapping. + * tmac/troffrc: Load `composite.tmac'. + * tmac/Makefile.sub (NORMALFILES): Updated. + + * doc/groff.texinfo (Input Encodings): New section. + * NEWS: Updated. + +2003-02-27 Werner LEMBERG <wl@gnu.org> + + * doc/texinfo.tex: New version 2003-02-11.06. + + * tmac/doc-common (Dt): Don't emit warning for unknown section. + * tmac/groff_mdoc.man: Fix description of `Dt'. + +2003-02-26 Egil Kvaleberg <egil@kvaleberg.no> + + * font/devps/prologue.ps: Fix for included Postscript that does + a setpagedevice -- which is now safely ignored. + + * NEWS: Updated. + + * src/devices/grops/ps.cc: Now sets the page size in the generated + document. This is done in two ways: Via a %%-comment for gv and + the like, and via a PageSize and setpagedevice for programs that + understands Postscript proper, like ps2pdf. + + * src/devices/grops/ps.h: New broken-flag to avoid page size + definition, if required. + + * src/devices/grops/grops.man: New broken-flag 16 mentioned. + + * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@). + Not really necessary due to the fix in prologue.ps, but cleaner: + Such information does not belong in an .eps file. + + * doc/Makefile.sub: See doc/Makefile.in. + +2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk> + + * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing + instead of P1 since the latter is broken in some versions of netpbm. + * configure: Updated. + +2003-02-26 Larry Kollar <kollar@alltel.net> + + Make man pages more customizable. + + * tmac/an-old.tmac (FT): New register holding footer distance from + bottom. + (HF): New string holding the default heading font. + (TH): Handle registers `IN' and `SN' set on the command line. + Use `FT'. + (PT, BT): New strings to customize header and footer lines. + (an-header, an-footer): Use them. + (SH, SS): Use `HF'. + * tmac/groff_man.man: Document changes. + + * doc/groff.texinfo: Document man changes. + Document Ultrix extensions of man. + +2003-02-26 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.cc (do_width, do_if_request): Reset + `have_input' after changing back to old environment. + + * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move + function up to be defined before first call. This is necessary to + avoid a compilation problem with Sun's WorkShop 6 C++ compiler. + + * src/utils/afmtodit/afmtodit.pl: Make script search for files in + the default font directory also. Based on a patch from James + J. Ramsey <jjramsey_6x9eq42@yahoo.com>. + * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@. + * src/utils/afmtodit/afmtodit.man: Document it. + + * NEWS: Updated. + + * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes. + +2003-02-25 Gaius Mulley <gaius@glam.ac.uk> + + * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops. + (GROFF_PNMTOPS_NOSETPAGE): New macro. + * configure.ac: Use it. + * configure: Regenerated. + * Makefile.in: Updated. + + * tmac/Makefile.sub (NORMALFILES): Remove www.tmac. + (CLEANADD): Add www.tmac-sed. + (pnmtops_nosetpage): Define default. + (install_data): Handle www.tmac-sed and substitute + @PNMTOPS_NOSETPAGE@. + (stamp-sed): Add www.tmac. + * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken. + It now breaks URLs at suitable places. + (www:substring_ok): New register set by... + (www:@test_substring): New macro. + (www:error): New alias to www-error. + (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted): + New macros. + (URL): Use www:url_breaks. + (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@. + (CDS, CDE): New macros. + +2003-02-25 Werner LEMBERG <wl@gnu.org> + + * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid + buffer overflow. + +2003-02-24 Werner LEMBERG <wl@gnu.org> + + Contrary to the PCL5 Developer's Guide, the ascenders in TFM files + can be negative also. + + * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be + `int16'. + (read_char_table): Avoid negative ascenders. + (output_charset): Add cast. + * font/devlj4/*: Regenerated. + + Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where + possible. + + * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it. + * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead + of `<>'. + * font/devdvi/*: Regenerated. + + Map `la' and `ra' to U+27E8 and U+27E9. These two characters have + normal width, while the previously used characters (U+2329 and + U+232A) are classified as wide due to canonical equivalence with the + CJK punctuation characters U+3008 and U+3009. + + * font/devutf8/R.proto: Updated. + * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto. + + * man/groff_char.man: Simplify handling of table traps by + introducing `start block' and `end block' macros. + (Ns, Ne, 2s, 2e, Ds, De): New macros. + (DL): Make it work with Unix troff also. + Fix code values of `la' and `ra'. + + * tmac/dvi.tmac: Define `<>' for CW and CWI. + +2003-02-23 Gaius Mulley <gaius@glam.ac.uk> + + * src/devices/grohtml/post-html.cc (element_list::~element_list): + New destructor, fixing a major memory leak. + +2003-02-22 Werner LEMBERG <wl@gnu.org> + + * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f' + to be in conformance with Unicode 3.0 and newer. + + * font/devlj4/generate/text.map: Add `Eu'. + * font/devlj4/generate/special.map: Flip `*e' and `+e'. + * font/devlj4/S: Regenerated. + + * man/groff_char.man: Completely rewritten. + + * doc/groff.texinfo: Fix description of request and macro arguments. + +2003-02-20 Gaius Mulley <gaius@glam.ac.uk> + + Valgrind fixes. + + * src/devices/grohtml/html-table.cc (html_table::~html_table): + Deallocate `columns' list. + * src/devices/grohtml/post-html.cc (char_block::~char_block): + New destructor. + (text_glob::text_glob_html, text_glob::text_glob_special, + text_glob::text_glob_line, text_glob::text_glob_auto_image, + text_glob::text_glob_tag): Avoid memory leaks. + (text_glob::remember_table): Free memory before reassigning. + +2003-02-19 Werner LEMBERG <wl@gnu.org> + + Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the + alias `hbar'), the Planck constant over two pi. + + * font/devdvi/generate/texmi.map: Use `*e' for position 15 and + `+e' for position 34. + * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with + `u2662' and `u2661'. + * font/devdvi/{MI,S}: Regenerated. + * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'. + * font/devlbp/*: Add `hbar' alias. + * font/devlj4/generate/special.map: Ditto. + * font/devlj4/S: Regenerated. + * font/devps/generate/symbolchars: Add `+e'. + * font/devps/generate/textmap: Fix PS name for `-h'. + Add `hbar' alias. + * font/devps/symbolmap: Regenerated. + + * src/devices/grops/ps.cc (transform_fill): Removed since unused. + + * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e', + `-h', `hbar'. + * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e', + `-h'. + + * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and + `hbar'. + * tmac/tty-char.tmac: Add `+e'. + +2003-02-17 Werner LEMBERG <wl@gnu.org> + + Another round trying to really fix problems with `have_input'. + + * src/roff/troff/input.cc (input_stack::get): Handle `have_input'. + (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'. + + * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color + handling if both foreground and background colors are default. + + * doc/groff.texinfo (Debugging): Document .lf differences to + AT&T troff. + +2003-02-16 Werner LEMBERG <wl@gnu.org> + + * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid + null-bytes in created string. + + * src/roff/troff/input.cc (lookup_color, interpolate_macro, + alias_macro, lookup_request): Improve warning messages. + + * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave', + not `strdup'. + Free `last_image_filename'. + + * src/preproc/html/pre-html.cc (char_block::char_block): Initialize + `buffer'. + (imageList::createPage, imageList::createImage): Use `free', not + `a_delete'. + (imageItem::~imageItem): Free `imageName'. + (addRegDef): Use `strsave', not `strdup'. + (get_resolution): Free `pathp'. + +2003-02-15 Werner LEMBERG <wl@gnu.org> + + * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer + to `dummy'. + +2003-02-14 Werner LEMBERG <wl@gnu.org> + + Add memory management for colors to deallocate unnamed colors + properly. + + * src/include/color.h (color): New members `free_list' and `next'. + New member functions `new' and `delete'. + Add destructor. + * src/libs/libgroff/color.cc: Implement it. + + * src/libs/libgroff/font.cc (font::add_kern): Use integer cast + for array size of new operator. + + * src/libs/libdriver/input.cc (IntArray::operator[]): Remove + redundant comparison. + + * src/roff/troff/input.cc (word_space_node::reread, + hmotion_node::reread): Avoid warning about unused parameter. + (reset_output_registers): Remove redundant parameter. + (define_color): Undo change 2003-02-12. + + * src/roff/troff/reg.h: Updated. + + * src/roff/troff/node.cc (troff_output_file::really_print_line, + output_file::put_filename, real_output_file::really_put_filename, + ascii_output_file::really_print_line, + break_char_node::get_hyphen_list): Avoid warning about unused + parameter. + (suppress_node::tprint): Updated. + + * configure.ac: Check declaration for rand() and srand(). + * configure: Regenerated. + + * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand() + conditionally. + * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(), + and srand(). + + * src/preproc/eqn/delim.cc (delim_table): Add missing initializers + to avoid compiler warnings. + + * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is + unused. + + * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter + is unused. + * src/devices/grops/psrm.cc (skip_possible_newline): Remove first + (unused) parameter. + Updated all callers. + + * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter + is unused. + * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto. + * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto. + + * src/devices/grohtml/post-html.cc (html_printer::emit_line): + Parameter is unused. + (html_printer::add_table_end): Define parameter conditionally. + * src/devices/grohtml/output.cc (simple_output::special): Parameter + is unused. + + * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally. + (lbp_printer::set_char): Last parameter is unused. + + * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison. + +2003-02-13 Werner LEMBERG <wl@gnu.org> + + New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality. + Make \D'f ...' move horizontally again for backwards compatibility. + Replace it with \D'Fg ...' where appropriate to avoid dependency + on horizontal resolution. + + * src/roff/troff/input.cc (do_get_long_name): New function. + (get_long_name): Call it. + + (read_draw_node): Handle `\D'Fx ...' by calling ... + (read_color_draw_node): New function. + + (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument + `end'. + Pass it to `do_get_long_name' which is used instead of + `get_long_name'. + + * src/libs/libdriver/input.cc (color_from_Df_command): Remove + unnecessary value guard. + (parse_D_command) <'f'>: Add horizontal shift. + + * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'. + * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto. + (FILL_MAX): Removed. + + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Updated. + +2003-02-12 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.cc (do_name_test, do_expr_test, + do_zero_width): Push `\n' if closing delimiter is missing. + + (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'. + <'F'>: Make \F non-transparent at the beginning of line. + (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE, + token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle + `have_input'. + + (define_color): Free color in case of reassignment. + + * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem, + @DefescListEnd): Use @Var, not @var. + Fix all calls. + + * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo. + + * src/preproc/pic/object.cc (object_spec::~object_spec): Free + `shaded' and `outlined' arrays. + (object_spec::object_spec): Initialize `shaded' and `outlined'. + (graphic_object::set_fill_color, graphic_object::set_outline_color): + Use strsave. + (closed_object::set_fill_color): Ditto. + * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave + instead of strdup. + (troff_output::reset_color): Use a_delete instead of free. + * src/preproc/pic/main.cc (do_file): Free `out' in case of error. + +2003-02-11 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Improve documentation of `ad'. + Document that \D'f...' is dependent on the horizontal resolution. + * man/groff_diff.man: Improve documentation of \D'f...'. + + * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit + compensating \h'...' for \D'f ...' since the latter no longer moves + current position. + * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto. + +2003-02-10 Werner LEMBERG <wl@gnu.org> + + Improve error messages for `x F' (and `F') commands. + + * src/include/error.h: Add declaration for + `current_source_filename'. + * src/libs/libgroff/filename.cc: Add `current_source_filename'. + * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add + parameter for source file string. + Updated all callers. + + * src/libs/libdriver/input.cc: Add `current_source_filename'. + (remember_source_filename): New function. + (parse_x_command <'F'>, do_file <'F'>): Use it. + +2003-02-09 Werner LEMBERG <wl@gnu.org> + + Make grotty not emit warnings about unknown colors more than + necessary. + + * src/devices/grotty/tty.cc: Include `ptable.h'. + (TTY_MAX_COLORS): Removed. + (DEFAULT_COLOR_IDX): Defined to -1. + (glyph): Change `back_color_idx' and `fore_color_idx' to `char'. + (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'. + Change `tty_colors' to be a ptable. + First arg of `put_color' is now `char'. + New functions `make_rgb_string' and `tty_color'. + (tty_printer::tty_printer): Use `tty_color'. + (tty_printer::color_to_idx): Return value is now `char'. + Use `tty_color'. + + * src/include/color.h (color): Add `print_color' member function. + * src/libs/libgroff/color.cc (color::print_color): Implement it. + +2003-02-08 Werner LEMBERG <wl@gnu.org> + + Valgrind fixes. + + * src/devices/grops/ps.cc (ps_printer::define_encoding): Close + encoding file. + + * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always + assume that value has been allocated with `new[]', thus use + `a_delete' for deallocation. + + * src/libs/libdriver/input.cc (get_integer_arg, + get_possibly_int_args, parse_x_command, do_file): Use `a_delete' + where appropriate. + + * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define. + * src/libs/libgroff/nametoindex.cc + (character_indexer::named_char_index): Use `new <type>[1]'. + + * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new + <type>[1]'. + * src/preproc/eqn/text.cc (set_special_char_type): Ditto. + (split_text): Use `a_delete'. + + * src/preproc/pic/pic.y (define_label, define_variable): Use `new + <type>[1]'. + + * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid + harmless memory leak. + (hyphen_trie::read_patterns_file): Initialize `buf'. + * src/roff/troff/node.cc (troff_output_file::troff_output_file): + Initialize `current_fill_color'and `current_glyph_color'. + * src/roff/troff/glyphuni.cc + (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'. + * src/roff/troff/uniuni.cc + (unicode_decompose_init::unicode_decompose_init): Ditto. + * src/roff/troff/uniglyph.cc + (unicode_to_glyph_init::unicode_to_glyph_init): Ditto. + +2003-01-26 Werner LEMBERG <wl@gnu.org> + + * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with + `access' before calling `unlink'. + (do_file): Handle __EMX__. + + * src/include/nonposix.h: Handle __EMX__. + + * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@. + (fontpath,tmacpath): Use it. + (MDEFINES): Add it. + Sorted alphabetically. + + * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use + @SEP@. + * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle + @SEP@. + +2003-01-27 Werner LEMBERG <wl@gnu.org> + + * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c: + New files, copied from gnulib. + * src/libs/libgroff/Makefile.sub (CSRCS): Add them. + * configure.ac: Updated. + * configure: Regenerated. + + * src/include/config.hin: Regenerated. + * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'. + Don't define `strcasecmp' as `strcmp'. + [!HAVE_STRNCASECMP]: Declare `strncasecmp'. + Dont define `strncasecmp' as `strncmp'. + + * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]: + Removed. + +2003-01-26 Werner LEMBERG <wl@gnu.org> + + * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo: + s/unline/unlink/. + +2003-01-25 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo (Ligatures and Kerning): Mention limitations. + +2003-01-24 Werner LEMBERG <wl@gnu.org> + + Add US-english hyphenation exceptions (converted from Barbara + Beeton's hyphenation exception log reports which appear irregularly + in TUGBoat). + + * tmac/hyphen.us: Updated to latest version. + * tmac/README: Updated. + * tmac/hyphenex.us, tmac/hyphenex.sh: New files. + * tmac/troffrc: Load `hyphenex.us'. + * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'. + * doc/groff.texinfo: Updated. + +2003-01-23 Werner LEMBERG <wl@gnu.org> + + Improve hyphenation slightly. This is a first step in redesigning + the hyphenation algorithm to make it more flexible (e.g. allowing + kerns and ligatures between the hyphenation character and the + following character -- while not used normally in English, other + languages like German would benefit). + + * src/roff/troff/env.cc (environment::hyphenate_line): Use + assertion instead of if-clause. + Let `get_hyphen_list' return the number of involved characters in + the hyphenation pattern instead of computing it directly (which + often yields too small values). + * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter. + * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second + parameter. + +2003-01-22 Werner LEMBERG <wl@gnu.org> + + Fixing a bug which caused groff to hang if the hyphenation exception + dictionary tried to grow. + + * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation, + hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use + pointer to dictionary. + +2003-01-20 Werner LEMBERG <wl@gnu.org> + + * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress + negative left italic correction. + * src/utils/afmtodit/afmtodit.man: Document it. + + * font/devps/generate/Makefile (RFLAG): Add `-m'. + * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR, + S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'. + + * NEWS: Updated. + +2003-01-16 Werner LEMBERG <wl@gnu.org> + + * NEWS: Updated. + +2003-01-16 Jörgen Grahn <jgrahn@algonet.se> + + * src/preproc/refer/refer.man: Mention REFER environment variable. + +2003-01-05 Werner LEMBERG <wl@gnu.org> + + Similar to \[is], the square root glyph (\[sr]) and the square root + extension glyph (\[radicalex]) are now text symbols. The new + mathematical versions are called \[sqrt] and \[sqrtex], + respectively. + + * font/devX*/S: Regenerated. + * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'. + * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'. + * font/devdvi/EX, font/devdvi/S: Regenerated. + * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'. + * font/devlj4/generate/special.map: Add `sqrt'. + * font/devlj4/S: Regenerated. + * font/devps/generate/textmap: Add `sqrt'. + * font/devps/S, font/devps/symbolmap: Regenerated. + + * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR, + SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'. + * src/roff/troff/input.cc (init_charset_table): Make `sqrtex' + overlap horizontally. + + * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'. + * tmac/dvi.tmac: Add `sr', and `sqrtex'. + Fix `radicalex'. + + * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex' + and `sqrtex' are overlapping glyphs. + +2003-01-04 Werner LEMBERG <wl@gnu.org> + + * font/devdvi/generate/texsy.map: Add `is'. + * font/devps/symbolmap: Regenerated. + * font/devdvi/*TC, MI, S: Regenerated. + + * tmac/dvi.tmac: Remove `is'. + +2003-01-03 Werner LEMBERG <wl@gnu.org> + + `is' is now a text symbol (only relevant for dvi). The math variant + can be accessed with `integral'. + + * font/devX*/S: Regenerated. + * font/devdvi/generate/texex.map: Remove `is'. + * font/devdvi/EX: Updated. + * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'. + * font/devlj4/generate/special.map: Ditto. + * font/devlj4/S: Regenerated. + * font/devps/generate/textmap: Add `integral'. + * font/devps/S: Regenerated. + + * tmac/dvi.tmac: Define `is'. + + * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'. + + * src/preproc/tbl/main.cc (process_format): Fix error message. + +2003-01-02 Werner LEMBERG <wl@gnu.org> + + * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'. + * font/devps/textmap: Fix entries for `ne' and `nc'. + * font/devps/symbolmap: Regenerated. + + * src/roff/troff/glyphuni.cc (glyph_to_unicode_list), + src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18', + `38', `58', `78', `-+', `|=', `nc', `ne'. + + * tmac/dvi.tmac: Add `nm', `ne', `nc'. + Use `schar' for `aq'. + * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'. + * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'. + * tmac/tty.tmac: Add `ne'. + + * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro' + for fallback glyphs. + +2002-12-29 Werner LEMBERG <wl@gnu.org> + + Add glyph `|='. + + * font/devX*/*: Regenerated. + * font/devdvi/generate/ec.map: Remove `eq'. + * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'. + Assign `|=' to position 39. + * font/devdvi/*EC, S: Regenerated. + * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='. + * font/devlj4/generate/special.map: Make `~=' the same as `~~'. + Assign `|=' to position 549. + * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove + `equalmath'. + Add `uni2243' for `|='. + + * tmac/ec.tmac: Add `eq'. + * tmac/dvi.tmac: Add `=~'. + * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add + `|='. + +2002-12-21 Werner LEMBERG <wl@gnu.org> + + * font/devdvi/generate/tc.map: Remove `**'. + * font/devdvi/*TC: Regenerated. + * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58', + `78', `<<', `>>'. + * font/devutf8/NOTES: Updated. + + * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function. + Don't give default parameter to `set_macro'. + * src/roff/troff/input.cc (do_define_character): Use `setx_macro' + instead of `set_macro'. + (charinfo::setx_macro): Implement it. + (charinfo::set_macro): Don't change `mode'. + + * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'. + * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'. + * tmac/dvi.tmac: Define `!=' with `.schar'. + +2002-12-20 Werner LEMBERG <wl@gnu.org> + + * font/devX*/S: Regenerated. + * font/devdvi/generate/ec.map: Remove `pl'. + * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'. + * font/devdvi/*{TC,EC}: Regenerated. + * font/devhtml/R.proto: Add `-+'. + Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'. + * font/devlbp/*: Remove `or'. + * font/devlj4/generate/special.map: Remove `or'. + * font/devlj4/S: Regenerated. + * font/devps/generate/textmap: Add `fiveeighths', `oneeighth', + `seveneighths', `threeeighths'. + Remove `plusmath'. + Replace `minusplus' with `uni2213'. + * font/devps/symbolmap: Regenerated. + * font/devutf8/R.proto: Replace `shc' with unnamed glyph. + Add `-+'. + + * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline + function. + * src/roff/troff/node.cc (troff_output_file::put_char_width): + Call glyph_color and fill_color even if tcommand_flag isn't set. + (make_node, node::add_char): Check not ci->is_fallback but + ci->is_normal. + + * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'. + * tmac/ec.tmac: Add .rchar entry for `f/'. + Don't remove `12', `14', `34'. + Define `pl' to be always roman. + * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros. + Define `18', `38', `58', `78'. + * tmac/tty.tmac: Add `-+'. + * tmac/dvi.tmac: Define `f/'. + (dvi-frac): Use `f/'. + * tmac/X.tmac (X-frac, X-frac-mono): New macros. + Define `18', `38', `58', `78'. + +2002-12-15 Colin Watson <cjwatson@debian.org> + + * contrib/pic2graph/pic2graph.sh: Add missing `;;'. + +2002-12-10 Werner LEMBERG <wl@gnu.org> + + Add glyph `tno', a textual variant of `no'. + + * font/devX*/*: Regenerated. + * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'. + * font/devdvi/generate/{tc.map: Replace `no' with `tno'. + * font/devdvi/generated/{texsy,textex}.map: Add `tno'. + * font/devdvi/*: Regenerated. + * font/devlbp/*: Add `tno'. + * font/devlj4/generate/tex.map: Replace `no' with `tno'. + * font/devlj4/*: Regenerated. + * font/devps/generate/textmap: Replace `no' with `tno'. + * font/devps/generate/symbolchars: Add `no'. + * font/devps/*: Regenerated. + + * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'. + + * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'. + * tmac/tty-char.tmac: Add entry for `tno' and `3d'. + + * NEWS: Updated. + + * tmac/dvi.tmac: Replace most `\\' with `\E'. + Add definition for `sd'. + * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'. + + * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph. + +2002-12-08 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff + mode to avoid rounding errors. + (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'. + + * src/roff/groff/groff.man, src/roff/nroff/nroff.man, + src/roff/troff/troff.man: Improve documentation of -T. + +2002-12-07 Jeff Conrad <jeff_conrad@msn.com> + + * src/roff/groff/pipeline.c: Don't define `const' for _WIN32. + (run_pipeline) [_WIN32]: Provide working function without `fork'. + +2002-12-06 Werner LEMBERG <wl@gnu.org> + + * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol + glyphs compatible to Adobe's Euro fonts (scaling them down a bit). + Scaling Euro.sansserif glyphs down to have the same height as + digits. + Removed unnecessary points; added some extrema. + + * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa: + Regenerated. + +2002-12-04 Werner LEMBERG <wl@gnu.org> + + * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted' + and `Euro.symbol.bold.slanted'. + Improve some glyph offsets and widths. + * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa: + Regenerated. + * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix + typo. + * font/devps/generate/sfdtopfa.pe: Generate PFA in current + directory. + + * tmac/europs.tmac: Updated to new glyph indices. + Use Euro.symbol for font family `A'. + + * doc/groff.texinfo: Minor improvements. + +2002-12-02 Werner LEMBERG <wl@gnu.org> + + * font/devdvi/generate.tc.map: s/%O/%0/. + * font/devdvi/*TC: Regenerated. + + * src/roff/troff/div.cc (init_div_requests): Sorted. + + * tmac/dvi.tmac: Remove `Ye'. + * tmac/ec.tmac: Remove `Ye'. + Add .rchar entry for `de'. + + * man/groff.man, man/groff_diff.man: Document register `.pe'. + * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'. + * NEWS: Updated. + +2002-11-30 Werner LEMBERG <wl@gnu.org> + + Add PS font for various Euro glyphs. + + * font/devps/generate/freeeuro.sfd: New master font file for + pfaedit. + * font/devps/generate/sfdtopfa.pe: New conversion script for + pfaedit. + * font/devps/generate/Makefile (FONTS): Add `EURO'. + (EURO, freeeuro.afm, freeeuro.pfa): New rules. + * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from + `freeeuro.sfd'. + * font/devps/EURO: Generated from `freeeuro.afm'. + * font/devps/download: Add `freeuro.pfa'. + * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and + `freeeuro.pfa'. + + * tmac/europs.tmac: New file. + * tmac/ps.tmac: Include `europs.tmac'. + * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'. + +2002-11-29 Werner LEMBERG <wl@gnu.org> + + * font/devdvi/generate/texsy.map: Remove `lh' and `rh'. + * font/devdvi/S: Regenerated. + * font/devhtml/R.proto: Fix `CR' and `ci'. + Add `OK'. + * font/devps/generate/textmap: Fix `lh', `rh', and `sq'. + Remove `bs'. + * font/devps/symbolmap: Regenerated. + * font/devutf8/R.proto: Fix `CR' and `ci'. + Add `OK'. + * font/devutf8/NOTES: Updated. + + * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and + `ci'. + Add `OK'. + * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto. + + * tmac/dvi.tmac: Add `lh' and `rh'. + * tmac/Xps.tmac: Fix `lh' and `rh'. + * tmac/X.tmac: Add `OK'. + * tmac/lj4.tmac: Ditto. + +2002-11-24 Werner LEMBERG <wl@gnu.org> + + * font/devX*/S: Regenerated. + * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb', + `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'. + * font/devdvi/generate/texsy.map: Remove `or' glyph. + * font/devdvi/S: Regenerated. + * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs + `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp', + `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex', + `bracketleftbt', `bracketrighttp', `bracketrightex', + `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt', + `braceex', `braceleftex', `bracerightex', `bracerighttp', + `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk', + `rb', and `bv'. + * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto. + * font/devutf8/NOTES: Updated. + * font/devlj4/generate/special.map: Add glyph `braceex'. + * font/devlj4/S: Regenerated. + + * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'. + +2002-11-14 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va' + and `vA'. + Fix code for `an'. + * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto. + + * doc/texinfo.tex: New version from texinfo 4.3. + * doc/groff.texinfo: Updated for texinfo 4.3. + Use @tie{} where appropriate. + * font/devdvi/generate/ec.map: Don't include `or' and `bv'. + * font/devdvi/generate/tc.map: Remove `rn'. + * font/devdvi/*TC, font/devdvi/*EC: Regenerated. + * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'. + Fix code for `an'. + * font/devX100/*, font/devX100-12/*, font/devX75/*, + font/devX75-12/*: Regenerated. + + * tmac/dvi.tmac: Add special fonts `SA' and `SB'. + Use .char (again) for `br', `ul', `rn', `or', and `ru'. + Improve definition of `an'. + * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and + `ru'. + * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'. + * tmac/X.tmac: Add definition for `or'. + * tmac/Xps.tmac: Undo change 2002-11-05. + * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'. + +2002-11-11 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/node.cc (troff_output_file::put_char): Always + call flush_tbuf. + +2002-11-10 Werner LEMBERG <wl@gnu.org> + + Added three new requests `schar', `fschar', and `rfschar'. `schar' + defines a glyph which is searched after the check for fonts declared + with `.special' (and before the check for all mounted special + fonts). `fschar' defines a glyph for a particular font which is + searched after the check for fonts declared with `.fspecial' (and + before the check for fonts declared with `.special'). `rfschar' + removes glyphs defined with `fschar'. + + * src/roff/troff/token.h (char_mode): New enum. + Declare do_define_character. + * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with + `mode'. + (charinfo::is_fallback): Updated. + (charinfo::is_special): New method. + * src/roff/troff/input.cc (do_define_character): Add and use + optional second parameter used as a prefix for font-specific glyph + names. + (define_character, define_fallback_character): Updated. + (define_special_character): New function. + (init_input_requests): Add `schar'. + (charinfo::charinfo, charinfo::set_macro): Updated. + * src/roff/troff/node.cc: Include `stringclass.h'. + (make_glyph_node): Handle special glyphs defined with `.schar' and + `.fschar'. + (define_font_special_character, remove_font_special_character): New + functions. + (init_node_requests): Sorted. + Add `fschar' and `rfschar'. + * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: + Document new requests. + + * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'. + * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar'). + +2002-11-08 Werner LEMBERG <wl@gnu.org> + + Added new font `SC' (cmtex10) to devdvi. + + * devdvi/generate/Makefile (FONTS): Add `SC'. + (SC): New rule. + * devdvi/generate/textex.map: New map file for cmtex. + * devdvi/SC: New. + * devdvi/Makefile.sub (DEVFILES): Updated. + * tmac/dvi.tmac: Add fspecial entries for SC. + Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is + found before `S' since the font position of `SC' is lower due to the + gaps in DESC's `font' line. + * tmac/ec.tmac: Add a `special' call. + * NEWS: Updated. + + * font/devhtml/R.proto: Remove double entry for `ti'. + * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'. + * tmac/tty-char.tmac: Remove entry for `bq'. + * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'. + * tmac/ec.tmac: Don't remove `aq' glyph. + * tmac/X.tmac: Fix entry for `em'. + Add entries for `fo' and `fc'. + * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'. + + * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix + documentation of `special' and `fspecial' requests. + +2002-11-05 Werner LEMBERG <wl@gnu.org> + + * font/devascii/R.proto, font/devcp1047/R.proto, + font/devlatin1/R.proto: Remove entry for `.i'. + * font/devdvi/generate/textt.map: Add entry for `ad'. + * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map, + font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'. + We need this for getting kerning values to compose `/l' and `/L'. + * font/devdvi: Regenerated font definition files for CM fonts. + * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'. + * font/devutf8/R.proto: Ditto. + Remove double entry for `ti'. + + * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries + for (groff) ligatures, `la', and `ra'. + Add "'C", "'c", `IJ', and `ij'. + Remove double entry for `ti'. + * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all + double entries. + Add "'C", "'c", `IJ', and `ij'. + Fix entries for (groff) ligatures, `la', and `ra'. + + * tmac/ps.tmac (ps-achar): New macro. + Define "'c" and "'C". + * tmac/tty.tmac: Add entry for `.i'. + * tmac/X.tmac (X-achar): New macro. + Define "'c", "'C", and `:Y'. + Add entries for `IJ' and `ij'. + * tmac/Xps.tmac (Xps-achar): New macro. + Define "'c" and "'C". + Add entries for `IJ' and `ij'. + * tmac/lbp.tmac (lbp-achar): New macro. + Add fallback characters for all groff ligatures and many other + glyphs. + * tmac/dvi.tmac: Fix definitions of `_' and `ul'. + Add entries for `/l' and `/L'. + Define "'c" and "'C". + Add entries for `IJ' and `ij'. + +2002-11-02 Larry Kollar <kollar@alltel.net> + + * PROBLEMS: Document how to solve Mac OS X compilation problems. + +2002-11-02 Werner LEMBERG <wl@gnu.org> + + Adding support for composite glyphs: \[xxx yyy ...] and the + `composite' request. + + * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names + to Unicode-based glyph names. + * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based + glyph names to groff glyph names. + * src/roff/troff/uniuni.cc: New file for canonically decomposing + Unicode-based glyph names. + * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files + for handling Unicode glyph names. + * src/roff/troff/input.cc: Include unicode.h. + (composite_glyph_name): New function. + (token::next) <'['>: Handle Unicode glyph names and composite + glyphs. + (composite_dictionary): New dictionary for the `composite' request. + (composite_request): Implement `composite' request. + (init_input_requests): Add `composite'. + Alphabetically sorted. + * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already + commented out). + (init_env_requests): Alphabetically sorted. + Removed `tas' and `tar' (already commented out). + * src/roff/troff/Makefile.sub: Updated. + +2002-10-31 Ruslan Ermilov <ru@FreeBSD.org> + + * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description + of options. + +2002-10-29 Werner LEMBERG <wl@gnu.org> + + Fix computation of .trunc register. Additionally, its value (and + the value of the .ne register) is now always set before entering the + trap. + + * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and + `needed_space' before calling `space'. + (top_level_diversion::space): Remove special code for 'sp before the + first page. + Call `begin_page' with the discarded space as a parameter. + (top_level_diversion::begin_page): Add optional parameter to set + `truncated_space'. + * src/roff/troff/div.h: Updated. + + * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and + \n[.ne]. + + * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26. + (LP): Remove superfluous call to `br'. + * tmac/doc-common (doc-paragraph): Undo change 2002-10-26. + * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto. + +2002-10-26 Werner LEMBERG <wl@gnu.org> + + * tmac/doc-ditroff: Remove useless switch/variable -rC. + (doc-setup-header): Don't set page register `%'. + * tmac/doc-nroff: Remove variable `C'. + (doc-setup-page-layout): Set doc-header-space to .5i unconditionally. + (doc-setup-header): Don't set page register `%'. + Don't call `bp'. + * tmac/doc-common (doc-header): Call `ns'. + (doc-paragraph): Protect .sp with .br so that it survives traps + possibly set by the user. + * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto. + + * tmac/doc*: Replace ' with . for consistency if no effect. + +2002-10-26 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br + so that it survives traps possibly set by the user. + + * src/roff/troff/node.cc: Fix the changes from 2002-10-23. + (troff_output_file::set_font): Call flush_tbuf if necessary. + (troff_output_file::fill_color, troff_output_file::glyph_color): Call + flush_tbuf and do_motion only if necessary. + (troff_output_file::start_special, + troff_output_file::put_char_width, troff_output_file::put_char, + troff_output_file::draw): Updated. + (word_space_node::tprint, space_node::tprint, hmotion_node::tprint, + vmotion_node::tprint): Undo change 2002-10-23. + +2002-10-25 Werner LEMBERG <wl@gnu.org> + + * tmac/www.tmac (DC): Fix case of overlapping images. + +2002-10-23 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/node.cc (troff_output_file::fill_color, + troff_output_file::glyph_color): Set current color before testing + color_flag. + (troff_output_file::put_char_width, troff_output_file::put_char, + troff_output_file::draw): Don't call flush_tbuf and/or do_motion + before glyph_color. + (troff_output_file::file_color, troff_output_file::glyph_color): + Call do_motion. + (word_space_node::tprint, space_node::tprint, hmotion_node::tprint, + vmotion_node::tprint): Move first, then call fill_color. + +2002-10-20 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo, man/groff_tmac.man: Document that it is not + possible to use multiple main macro packages. + +2002-10-19 Werner LEMBERG <wl@gnu.org> + + * src/devices/grops/ps.cc (cmyk_flag): New global variable. + (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors. + (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag' + is set. + * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a + `where' construction since `cmyksetcolor' is a PS Level 2 operator. + +2002-10-16 Werner LEMBERG <wl@gnu.org> + + * NEWS, doc/webpage.ms: Updated. + +2002-10-14 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/node.cc (troff_output_file::put_char_width, + troff_output_file::put_char, troff_output_file::fill_color, + troff_output_file::glyph_color): Handle case where color pointer + is null. + +2002-10-13 Ruslan Ermilov <ru@FreeBSD.org> + + Add the new -r option to grotty. It is similar to the -i option + except it tells grotty(1) to use the `reverse video' attribute to + render italic fonts. + + * src/devices/grotty/tty.cc (reverse_flag): New global variable. + (SGR_REVERSE, SGR_NO_REVERSE): New macros. + (tty_printer::make_underline, tty_printer::put_color, + tty_printer::end_page): Use it. + (main): Add -r switch. + (usage): Updated. + * src/devices/grotty/grotty.man: Document it. + +2002-10-11 Ruslan Ermilov <ru@FreeBSD.org> + + * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add + cast to `unsigned char' to properly read patterns with 8bit + characters. + +2002-10-08 Werner LEMBERG <wl@gnu.org> + + * REVISION: Increased to 2. + +Copyright 2002-2005 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: +coding: latin-1 +fill-column: 72 +mode: change-log +version-control: never +End: +vim:set autoindent textwidth=72: |