2009-09-08 Werner LEMBERG [troff]: Fix hyphenation problem with kerned letters. Problem reported by Steve Izma . * src/roff/troff/node.cpp (kern_pair_node::add_discretionary_hyphen): Compute `tf' using the first node, `n1'. `n2' might be another kerning node, and the `get_tfont' member function isn't defined then. 2009-09-01 Michael Cain [pic] Fix a border case for arc computation. * src/preproc/pic/object.cpp (object_spec::make_arc): It can happen that test `radius < d' in the loop is satisfied, but the difference in the two values is on the order of 1e-10. If `radius' is small, doubling the value can lead to a fairly gross error. The original code appears to have been intended to deal with the situation when radius is orders of magnitude less than `d'. The replacement code simply assigns `radius' the smallest value that avoids problems with the floating point code further on in the routine. 2009-08-14 Roger Leigh * man/groff_char.man: Fix white heart and diamond unicode values. 2009-07-29 Werner LEMBERG * tmac/hyphen.fr: Fix typo which prevents hyphenation. Reported by Seb . 2009-06-25 Werner LEMBERG Make groff compile on Interix. Reported by Jay Krell . * configure.ac: Call AC_USE_SYTEM_EXTENSIONS. * src/include/lib.h [__INTERIX]: Define _ALL_SOURCE. * configure: Regenerated. 2009-05-29 Werner LEMBERG pic: Fix handling of nested positions. Reported by Doug McIlroy . * src/preproc/pic/pic.y: Split `expr' into `expr_lower_than' and `expr_not_lower_than' so that we can handle (1/3)<(1/2),baz> correctly. Without the patch, `(1/3)<(1/2)' is handled prematurely as a comparison. 2009-05-07 Werner LEMBERG Accept \0 and friends within \o. Reported by Doug McIlroy . * src/roff/troff/token.h (token): Add TOKEN_HORIZONTAL_SPACE enumeration value together with `horizontal_space' member function. Add `do_overstrike' as a friend. * src/roff/troff/input.cpp: Use TOKEN_HORIZONTAL_SPACE for \0, \|, \^, and \h. Update all affected places. (do_overstrike): Remove `static' attribute. Accept all escapes which produce a fixed horizontal space. 2009-04-24 Werner LEMBERG Use straight quotes where appropriate. Reported by Reuben Thomas . * man/groff.man: Do it. 2009-04-14 Werner LEMBERG Fix documentation of `em' request. Reported by Joachim Walsdorff . * doc/groff.texinfo (End-of-input Traps): Rewrite. 2009-04-10 Werner LEMBERG Fix a memory leak in troff for -Thtml. Reported by Urs Eggli . * src/roff/troff/node.h (node::~node): Move to... * src/roff/troff/node.cpp: Here. Free `state' and `push_state'. 2009-04-01 Werner LEMBERG * tmac/doc.tmac: Call `ec' before mapping characters. 2009-03-07 Werner LEMBERG Gunnar Florus Improve configuration. * configure.ac: Read `VERSION' and `REVISION' files to provide proper values for AC_INIT. * Makefile.in: Use `@datarootdir@' and `@docdir@' so that configure's `--datarootdir' and `--docdir' options are honoured. Documentation is now by default installed into something like `/usr/local/share/doc/groff-1.20.1'. * configure: Regenerated. 2009-02-21 Colin Watson Werner LEMBERG Add a new `file' warning category. * src/roff/troff/troff.h (warning_type): Add WARN_FILE. * src/roff/troff/input.cpp (DEFAULT_WARNING_MASK): Include WARN_FILE. (warning_table): Add `file' category. (macro_source): Convert error on missing macro file to a warning. * NEWS, doc/groff.texinfo (I/O, Warnings), man/groff_diff.man, src/roff/troff/troff.man: Document new warning category. 2009-02-18 Werner LEMBERG * doc/groff.texinfo: Improve documentation of `lsm' request. 2009-02-14 Werner LEMBERG Implement a leading spaces macro request, `lsm', in analogy to `blm'. Implement two new number registers, \n[lsn] and \n[lss], which hold the number of spaces and the horizontal space, respectively, which would be inserted if the macro registered by `lsm' wasn't called. * src/roff/troff/input.cpp (leading_spaces_macro_name, leading_spaces_number, leading_spaces_space): New global variables. (leading_spaces_macro): New function. (process_input_stack) : Handle `lsm'. (init_input_requests): Register `lsm', \n[lsn], and \n[lss]. * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo (Leading Spaces Traps): Document new requests and registers. 2009-02-10 Denis M. Wilson * man/groff.man: Document missing number registers (`$$', `.b', `.F', `.j', `.k', `.L', `.O', `.P', `.R', `opmaxx', `opmaxy', `opminx', `opminy'). * doc/groff.texinfo: Document missing `.R' register. Add `.U' to register index. 2009-01-19 Werner LEMBERG Fix incorrect grops color state before \X'...'. Problem reported by Miklos Somogyi . * src/devices/grops/ps.cpp (ps_printer::special): Check color state before doing a PS special and flush buffer. Update called functions. 2009-01-09 Werner LEMBERG Version 1.20.1 released ======================= `gnu.png' isn't needed any more. * doc/Makefile.in: Don't handle or create `gnu.png'. Update all affected targets. * doc/Makefile.sub: Don't handle or create `gnu.png'. Update alll affected targets. `gnu.eps' was missing in the tarball. Problem reported by Patrik Gräser. (PROCESSEDEXAMPLEFILES): Remove `gnu.eps'. (MOSTLYCLEANNOTSRCDIRADD): Fix names of info files. (install_data): Handle `gnu.eps' specially. * MORE.STUFF: Mention texi2html's troff backend. Mention http://groff.ffii.org/groff/contrib. * README: Mention `MORE.STUFF'. * NEWS, doc/webpage.ms, doc/groff.texinfo: Updated. 2009-01-08 Werner LEMBERG * */Makefile.* (CLEANADD, CLEANNOTSRCDIRADD, CLEANDIRADD): Renamed to... (MOSTLYCLEANADD, MOSTLYCLEANNOTSRCDIRADD, MOSTLYCLEANDIRADD): This. 2009-01-06 Werner LEMBERG Remove heuristics for LIBEXT. * configure.ac: Provide LIBEXT. * Makefile.in: Use it. * configure: Regenerated. 2009-01-05 Werner LEMBERG Version 1.20 released ===================== 2009-01-05 Werner LEMBERG * */*: Update FDL 1.1 to FDL 1.3. 2009-01-05 Werner LEMBERG * */*: Update copyright year. 2009-01-05 Werner LEMBERG * MANIFEST: Updated. 2009-01-05 Werner LEMBERG * doc/texinfo.tex (\key): Fix excessive whitespace. (\texinfoversion): Tag file as patched. 2009-01-05 Werner LEMBERG * tmac/s.tmac (@TS, TE, @EQ, @EN), tmac/an-old.tmac (TS, TE, EQ, EN), tmac/e.tmac (TS, TE, EQ, EN): Set line length to a large value if processed with -Thtml. 2009-01-04 Werner LEMBERG * tmac/www.tmac (TS, TE, EQ, EN): Set line length to a large value if processed with -Thtml to avoid warning messages (from code inserted by tbl, for example). 2009-01-04 Gunnar Florus * */*: Update GPL2 to GPL3. 2009-01-04 Werner LEMBERG * Makefile.in (dist): Don't use soft links but copy files to preserve the file's time stamps. * Makefile.sub (configure): Remove `autom4te.cache'. 2009-01-04 Werner LEMBERG * tmac/de.tmac: Fix German date strings. Reported by Axel Kielhorn. 2009-01-04 Werner LEMBERG * doc/texinfo.tex: Updated from `texinfo' CVS repository. * doc/txi-en.tex: New file from `texinfo' CVS repository. 2009-01-04 Werner LEMBERG * font/make-Rproto: Moved to... * font/util/make-Rproto: Here. * Makefile.in (NOMAKEDIRS): Add `m4', `font/devps/old', and `font/util'. 2009-01-04 Werner LEMBERG * src/roff/troff/TODO: Mention local variables. 2009-01-03 Werner LEMBERG * contrib/hdtbl/examples/col_rowspan_colors.roff, contrib/hdtbl/examples/color_boxes.roff, contrib/hdtbl/examples/color_nested_tables.roff, contrib/hdtbl/examples/color_table_cells.roff, contrib/hdtbl/examples/color_transitions.roff, contrib/hdtbl/examples/short_reference.roff: Minor improvements. 2009-01-03 Werner LEMBERG * doc/webpage.ms: Updated. 2009-01-03 Werner LEMBERG * NEWS, doc/groff.texinfo, font/devps/*, VERSION, REVISION: Prepare for version 1.20. 2009-01-03 Werner LEMBERG * src/preproc/tbl/table.cpp (table::compute_expand_width, table::compute_separation_factor): In warning messages, don't refer to pages but to input line numbers. 2009-01-03 Werner LEMBERG * tmac/groff_ms.man: Improve formatting of tables. 2009-01-03 Werner LEMBERG * tmac/www.tmac (www->): Handle XHTML. (HTML

): Handle non-HTML devices. (www:url_check_tag): Avoid warnings. 2009-01-03 Werner LEMBERG * tmac/an-old.tmac, tmac/doc.tmac: For -Tutf8, map \-, -, ', and ` conservatively to ASCII for the sake of easy cut and paste. 2009-01-03 Werner LEMBERG * NEWS: Mention hdtbl. 2009-01-02 Werner LEMBERG * tmac/groff_mdoc.man: Update OS version string listing. 2009-01-02 Werner LEMBERG * config.rpath, m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4, m4/lib-link.m4, m4/lib-prefix.m4, src/include/localcharset.h, src/libs/libgroff/config.charset, src/libs/libgroff/localcharset.c, src/libs/libgroff/ref-add.sin, src/libs/libgroff/ref-del.sin: Updated from `gnulib' git repository. * configure: Regenerated. 2009-01-02 Werner LEMBERG * tmac/ptx.tmac: New file. * NEWS, man/groff_tmac: man: Document it. 2008-12-30 Werner LEMBERG Fix more quoting issues. * tmac/www.tmac (BCL, BGIMG, PIMG, MPIMG, LNS): For the sake of XHTML, quote more arguments. (IMG): Fix quoting. 2008-12-30 Werner LEMBERG Fix quoting issues in www.tmac. * tmac/www.tmac (www:url_breaks_splitted): Renamed to... (www:url_breaks_split): This. (www->): New string to close tag singletons like or
. In XHTML mode (not implemented yet), this has to be changed from `>' to `/>'. (IMG): Don't use Use www->. (PIMG, MPIMG): Don't use Use www->. Fix doublequote issues. (HR): Don't use . Use www->. (LNS): Fix doublequote issues. 2008-12-24 Michail Vidiassov * tmac/doc-common: Add entries for Mac OS X and FreeBSD. 2008-12-22 Alexey Gladkov * contrib/groffer/perl/roff2.pl: Fix syntax error. 2008-12-15 Werner LEMBERG * NEWS: Mention `preconv'. 2008-11-12 Werner LEMBERG Implement `x' specifier for expanded columns. Contrary to old DWB tbl, more than a single `x' specifier can be used. At the same time, remove most of the code from change 2007-02-09 which collides with the new implementation. * src/preproc/tbl/main.cpp (format): Add `expand' array. (format::format, format::~format): Updated. (input_entry_format): Add `expand' field. (input_entry_format::input_entry_format): Updated. (input_entry_format::debug_print): Handle `expand'. (process_format): Handle `x' specifier. (process_data): Updated. * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): Remove. (EXPAND_REG): New macro. (table_entry::divert, block_entry::divert, alphabetic_block_entry::divert): Add parameter to control whether expanded columns shall be handled. (block_entry::do_width): Remove. (block_entry::do_divert): Add parameter to control whether expanded columns shall be handled. Treat expanded columns like columns with a minimum width. Remove `experimental' code. (table::table, table::~table, table::allocate): Updated. (table::set_expand_column): New function. (table::count_block_columns): Replace with... (table::count_expand_columns): This function. (table::divide_span): Handle expanded columns the same as equal columns. (table::sum_columns): Add parameter to control whether expanded columns shall be handled. (table::compute_available_block_width): Replace with... (table::compute_expand_width): This function. (table::compute_total_separation): New function, taking code from `compute_separation_factor'. (table::compute_separation_factor): Simpler code. The check for the `EXPAND' flag has been moved to the caller. (table::compute_widths): Add `top-level' changes to handle expanded blocks. * src/preproc/tbl/table.h (table): New field `total_separation'. Remove `blockflag' array. Add `expand' array. Update member function declarations. * src/preproc/tbl/tbl.man: Document `x' specifier. Expand documentation to cover all aspects of Lesk's tbl reference. * NEWS: Document `x' specifier. 2008-11-08 Werner LEMBERG * src/preproc/tbl/tbl.man: Restructuring. Improve text block documentation. 2008-11-07 Werner LEMBERG * src/preproc/tbl/table.cpp (table::compute_widths): Use default scaling operator for minimum width. Without this fix, `lw3' (or `lw(3)' would be handled as a column with a minimum width of 3u instead of 3n. 2008-11-05 Werner LEMBERG * tmac/doc-common (Dt): Start a new page if necessary and set up headers. * tmac/andoc.tmac (reload-doc): Simplify due to change in doc-common. * NEWS: Document it. 2008-10-18 Werner LEMBERG * src/preproc/tbl/main.cpp (process_format): Rename `x' and `X' to `m' and `M', respectively. Sort entries in `switch' block. * src/preproc/tbl/tbl.man: Updated. Sort key entries; other minor improvements. 2008-10-17 Werner LEMBERG * src/preproc/tbl/table.cpp (table::compute_available_block_width): New function. (table::compute_widths): Replace some code with new function (shifted to a more appropriate place). * src/preproc/tbl/table.h: Updated. 2008-10-16 Werner LEMBERG * tmac/doc-common (doc-operating-system-*), tmac/groff_mdoc.man: Add NetBSD 4.0.1. 2008-10-13 Werner LEMBERG * tmac/groff_mdoc.man: Update documentation on BSD-like OS string versions. 2008-10-10 Werner LEMBERG * man/roff.man, doc/groff.texinfo: Improve the history part. This is based on input from Tom Van Vleck . * src/preproc/eqn/sqrt.cpp (sqrt_box::compute_metrics): Assure that value of `rst' register is not zero, as can happen for the HTML output device. Otherwise, there are too many loops, and we get a stack overflow because of recursion. 2008-10-05 Stephen Gildea * src/preproc/ref/ref.cpp (reference::compute_sort_key): Do not insert SORT_SEP before the first field, so that sort_key has the same format as before the patch of 2003-08-23. 2008-10-04 Werner LEMBERG * tmac/doc-common (doc-operating-system-*): Update releases. * tmac/an-old.tmac (an-extra1, an-extra2, an-extra3): Initialize. * tmac/andoc.tmac: Rewritten, based on a preliminary version from Tadziu Hoffmann. It can now process multiple man pages with both man and mdoc formats intermixed. * NEWS, tmac/groff_man.man, tmac/groff_mdoc.man, man/groff_tmac.man: Document it. 2008-10-04 Werner LEMBERG * src/roff/troff/input.cpp (do_suppress): Make \O[3], \O[4], and \O[5] non-transparent w.r.t. beginning-of-line recognition (similar to the other \O variants). * tmac/www.tmac (TS, TE, EQ, EN): Don't use .als for setting up default macros. This causes endless loops (at least for TE). * doc/groff.texinfo: Improve documentation of `.als'. 2008-10-03 Werner LEMBERG * src/devices/grops/grops.man, src/roff/troff/troff.man, src/preproc/soelim/soelim.man: Correct documentation of -I switch. Reported by Larry Kollar. Other minor formatting issues. 2008-10-02 Werner LEMBERG * tmac/trace.tmac: Much improved. (trace-full): New register to be set on the command line; it controls whether number and string register assignments get traced also. (!!c): New macro for comments. (rm): New traced macro. (de, de1, am, am1): Use \\[xxx]\\ calling method to pass \$0 to `!!xxx'; this makes doc.tmac completely traceable. Trace call of .de and friends also. * tmac/groff_tmac.man, NEWS: Update. 2008-09-30 Werner LEMBERG Restore behaviour of \$0 if a macro is called with string syntax (problem caused by change on 2008-09-29). * src/roff/troff/input.cpp (input_iterator, input_stack, macro_iterator): Add `get_macro_name' member function. (interpolate_string): Use it. 2008-09-29 Werner LEMBERG Make \\*[xxx]\\ within a macro (with `xxx' a macro too) work as expected. Without the patch, .de aaa \\*[bbb]\\ . tm \\$* .. .de bbb . shift .. .aaa 1 2 3 prints `2 3' instead of `1 2 3'. * src/roff/troff/input.cpp (input_iterator, input_stack, macro_iterator): Add `get_arg_list' member function. (macro): Add `is_a_string', `is_string', and `clear_string_flag' members. Update constructors and operators. (arg_list): Add copy constructor. (macro_iterator): Add optional argument to constructor to indicate whether arguments shall be inherited from calling macro. (interpolate_string): If string argument is a macro, push a macro iterator on the stack. (do_define_macro): Call clear_string_flag if macro data contains a newline. * src/roff/troff/request.h: Updated. 2008-09-29 Eric S. Raymond * doc/pic.ms: Fold in documentation of pic2plot(1) capabilities. Improve the documentation of text objects. 2008-09-28 Eric S. Raymond * contrib/pic2graph, contrib/pic2graph.man, contrib/eqn2graph, contrib/eqn2graph.man: Tweak scripts to cope with incompatible changes in ImageMagick crop options. Document the bugs. 2008-09-28 Werner LEMBERG If a macro is called as a string, inherit value of \n[.br] from the caller. This is useful for `trace.tmac'. * src/roff/troff/input.cpp (string_iterator): New members `with_break' and `get_break_flag'. (string_iterator::string_iterator): Updated. * doc/groff.texinfo: Improve documentation of \$0 and string syntax calling of macros. Document behaviour of \n[.br] within strings. 2008-09-26 Werner LEMBERG * tmac/trace.tmac: Add copyright message. Use `.de1' where possible to make source code more readable. (so, mso, als, rn): Restore escape character before executing the request. (de, de1, am, am1): Trace `.foo' also if called as `\\[foo]'. 2008-09-24 Werner LEMBERG Fix incompatibility between `.de1' and `.do'. Without this change, the following snippet .de1 xx . tm \\n(.C .. .cp 1 .do xx prints 1 instead of 0. * src/roff/troff/input.cc (do_request): If a macro gets processed, call tok.next(). (interpolate_macro): Add optional argument. Update callers. (request::invoke): Add optional argument. (macro::invoke): Add optional argument to delay call of tok.next(). * src/roff/troff/request.h (request_or_macro): Add argument to `invoke' member. Update all derived classes. * doc/groff.texinfo: Improve documentation of .do request. 2008-09-09 Werner LEMBERG * tmac/an-old.tmac (FT): Initialize properly. Reported by Tadziu Hoffmann. 2008-09-06 Werner LEMBERG * tmac/doc-common (Dd, Os, Dt): Reset `doc-command-name' to make `.Nm' work properly if next manual page is printed. 2008-08-20 Werner LEMBERG * src/preproc/tbl/tbl.man: Document computation of element widths. 2008-08-20 Alexey Gladkov Werner LEMBERG Add default encoding option -D to preconv and groff. * src/preproc/preconv/preconv.cpp (default_encoding): Make it an array. Update all users. (main): Handle new option -D. (usage): Updated. * src/preproc/preconv/preconv.man: Updated. * src/roff/groff/groff.cpp (main): Handle new option -D. (synopsis, help): Updated. * src/roff/groff/groff.man: Updated. 2008-07-26 Werner LEMBERG * tmac/eqnrc (.EQ, .EN): Provide default definitions. Reported by Denis M. Wilson. * tmac/www.tmac (.EQ, .EN, .TS, .TE): Fix definitions. 2008-07-24 Denis M. Wilson New options -f and -k for afmtodit. * src/afmtodit/afmtodit.pl: New options `-f NAME' sets the internal name of the groff font. New option `-k' disables output of kerning data. * src/afmtodit/afmtodit.man, NEWS: Document new options. 2008-07-18 Werner LEMBERG * src/preproc/tbl/table.cpp (table::compute_separation_factor): Emit warning messages if table gets squeezed. (table::compute_widths): Fix computation of AVAILABLE_REG. Emit warning if table is wider than line length. * src/preproc/tbl/tbl.man: Minor improvements. 2008-05-02 Larry Jones * contrib/chem/Makefile.sub (README, examples/README): In makefiles, the `$<' macro is only guaranteed to be defined in inference rules, not in explicit target rules. Since there is only one input file in the places where it is used, the `$?' macro (which is guaranteed to be defined for both kinds of rules) is a suitable replacement. * hdtbl/examples/fonts_n.in, hdtbl/examples/fonts_n.in: Most versions of ls don't have a `--color' option. 2008-04-30 Larry Jones * Makefile.comm (depend.temp): Add `EXTRA_CCFLAGS'. 2008-04-29 Larry Jones * src/eqn/script.cpp (script_box::output): Portability fix. 2008-04-05 Dorai Sitaram Add better support for `.TAG #