Make -me macros ready for grohtml.
[s-roff.git] / ChangeLog
blob9bca97c76ddac181122e7a34c79a9d78c0108eae
1 2006-01-04  Gaius Mulley  <gaius@glam.ac.uk>
3         Make -me macros ready for grohtml.
5         * tmac/e.tmac: Load devtag.tmac.
6         (need_eo_h, need_eo_tl, need_tl): New registers.
7         (check_need_title, (x-html, )x-html, xp-html): New macros.
8         (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
9         b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
10         (bp): Rename to @b only if output device is not html.
12 2007-01-01  Werner LEMBERG  <wl@gnu.org>
14         * man/groff_font.man: Document empty lines.
16         * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
17         the very beginning of the output.
18         [!$opt_x]: Fix typo.
20         * font/devps/*: Regenerate font definition files.
22 2007-01-01  Werner LEMBERG  <wl@gnu.org>
24         * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
26         * font/devps/*: Regenerate font definition files.
28 2006-12-31  Werner LEMBERG  <wl@gnu.org>
30         * Makefile.in (oldfontdir): New variable.
31         (MDEFINES): Add $(oldfontdir).
32         (uninstall_dirs): Remove `current' link.
33         Remove $(oldfontdir).
35         * Makefile.comm (oldfontsubdir): New variable.
36         (install_dev): Install files collected in $(OLDDEVFILES) into
37         $(oldfontsubdir).
38         (uninstall_dev): Remove data in $(oldfontsubdir).
39         (.man.n): Handle @OLDFONTDIR@.
41         * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
42         src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
43         src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
44         Document GROFF_FONT_PATH.
46         * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
47         old font description files.
49         * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
50         variables.
52         * font/devps/old/*: New directory, holding the previous version
53         of the 35 Adobe core font description files.
55         * font/devps/*: Regenerated the 35 Adobe core fonts, using the
56         Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
58         * NEWS: Document font update.
60 2006-12-31  Werner LEMBERG  <wl@gnu.org>
62         * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
64         * Makefile.comm (fonts): New (empty) target.
65         * Makefile.in (TARGETS): Add `fonts'.
67         * MANIFEST: Add `chem'.
69         * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
70         can't be chained.
72 2006-12-26  Werner LEMBERG  <wl@gnu.org>
74         * src/preproc/grn/hdb.cpp: Include gprint.h later.  From NetBSD.
76 2006-12-19  Werner LEMBERG  <wl@gnu.org>
78         Add support for German.  For activation, simply use -mde or -mden
79         (for traditional and new orthgraphy, respectively) as the last
80         macro package.
82         * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
83         tmac/hyphenex.det: New files, partly taken from CTAN.
84         * LICENSES: Updated list of hyphenation patterns.
85         * man/groff_tmac.man: Mention de.tmac and den.tmac.
86         * NEWS: Updated.
88 2006-12-11  Werner LEMBERG  <wl@gnu.org>
90         Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
91         hosts).
93         * src/preproc/pic/lex.cpp (ARG1): Redefine.  Update all users.
94         (MAX_ARG): New macro.  Use it everywhere to replace hard-coded
95         limit of 9 arguments.
96         (process_body): Handle argument numbers with more than a single
97         digit.
98         (interpolate_macro_with_args): Protect against exceeding number of
99         arguments.
101         * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
103 2006-12-10  Werner LEMBERG  <wl@gnu.org>
105         * Makefile.in (site.exp, docheck): Commented out.  Not working
106         currently.
107         (check): Just emit dummy message.
109 2006-12-08  Werner LEMBERG  <wl@gnu.org>
111         During installation, create soft link from <version> to `current' in
112         <datadir>/groff.
114         * Makefile.comm (install): Renamed to...
115         (do_install): This.
116         (prefix_must_exist): Removed.  Code moved to Makefile.in.
118         * Makefile.in (TARGETS): Remove `install'.
120         (install): New target which first creates the directory given by
121         --prefix, then calling `make' to do the installation, and finishing
122         with the creation of the soft link.
124 2006-11-21  Werner LEMBERG  <wl@gnu.org>
126         * doc/Makefile.sub (uninstall_sub): Fix names for info files.
128 2006-11-18  Werner LEMBERG  <wl@gnu.org>
130         * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
131         information from Tom Van Vleck <thvv@multicians.org>.
133 2006-11-16  Werner LEMBERG  <wl@gnu.org>
135         * tmac/62bit.tmac: New macro package.
136         * tmac/Makefile.sub (NORMALFILES): Add it.
137         * NEWS: Document it.
139         * tmac/trace.tmac: Protect against being loaded again.
140         (nr): Always show result.
142         * doc/groff.texinfo (Input Encodings): Document latin-5.
144         * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
146 2006-11-13  Werner LEMBERG  <wl@gnu.org>
148         * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
149         on negative trap positions.
151 2006-11-10  Werner LEMBERG  <wl@gnu.org>
153         * Makefile.comm (.man.n): Handle @DATASUBDIR@.
155 2006-11-09  Werner LEMBERG  <wl@gnu.org>
157         * INSTALL: Move information about external installation from
158         INSTALL.gen into this file.
159         Updated.
161         * INSTALL.gen: Update to new version (from texinfo CVS).
163 2006-11-09  Bernd Warken
165         * INSTALL.gen: Extend the file by information on `external
166         installation'.  Reorder the installation instruction as `normal
167         installation'. 
169 2006-11-08  Werner LEMBERG  <wl@gnu.org>
171         * doc/Makefile.sub (install_data): Take care of proper paths while
172         installing info files.  Bug reported by Bernd Warken.
174 2006-11-06  Bernd Warken
176         * src/roff/grog/grog.pl: Rewrite.
177         - Call by `#! /usr/bin/env perl'.  That isn't replaced.
178         - Rename usage() to version().
179         - Use warnings.
180         - For `use strict', start all global variables with an upper case
181         character.  Use `my' for all variables.  Use several new variables.
182         - Add option `-h'.
183         - Add copyright to GPL and Emacs comment.
184         - Handle several `-m*' options.
185         - Fix handling of `-ms' and `-mm'.  Add .TL and .NH.
186         - Allow options after file names.
187         - Allow only one `-' parameter (standard input).
188         - Add option abbreviations.
189         - Expand the usage information.
190         - Add `chem'.
191         - Add single quote "'" as additional first character and allow
192         arbitrary space after the first character.
194         * src/roff/grog/grog.sh: Rewrite.
195         - Remove option `-e' of `sed'.
196         - Allow file names with space characters.
197         - Add option `-h'.
198         - Add copyright to GPL.
199         - Handle several `-m*' options.
200         - Fix handling of `-ms' and `-mm'.  Add .TL and .NH.
201         - Allow options after file names.
202         - Allow only one `-' parameter (standard input).
203         - Add option abbreviations.
204         - Expand the usage information.
205         - Add `chem'.
206         - Add single quote "'" as additional first character and allow
207         arbitrary space after the first character.
209         * src/roff/grog/Makefile.sub:
210         - Add copyright to GPL.
211         - Remove `grog:'.  Move `grog.old:' to `grog:' in order to have a
212         fair chance to choose between the shell version and the Perl
213         version of `grog'.  This is now again comparable to grog in groff
214         version 1.10.
216         * src/roff/grog/grog.man: Rewrite.
217         - Move the license to GPL.
218         - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
219         - Take over some setup and macros from `groffer'.
220         - Add information on options.
222 2006-10-28  Werner LEMBERG  <wl@gnu.org>
224         * tmac/trace.tmac: Improve tracing of `.nr'.
225         Trace `.substring' also.
227         * NEWS: Updated.
229 2006-10-28  Bernd Warken
231         * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
232         of groff development site, fix fonts.
234         * News: Add information on `chem' and `groffer'.
236 2006-10-26  Bernd Warken
238         * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
240 2006-10-26  Werner LEMBERG  <wl@gnu.org>
242         Add `\%^' escape to handle the parameters to a macro as a string
243         argument.
245         * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
247         * src/roff/troff/input.cpp (input_iterator, input_stack,
248         macro_iterator): Add `space_follows_arg' member function.
249         (macro_iterator::add_arg): Add parameter to set the `space_follows'
250         flag.
251         (arg_list): Add member `space_follows'.
252         Update constructor and all callers.
253         (decode_args): Store discarded double quotes.
254         (interpolate_args): Handle DOUBLE_QUOTE.
255         Add `\%^' escape.
256         (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
258         * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
260         * docs/groff.texinfo (Parameters), man/groff.man,
261         man/groff_diff.man, NEWS: Document it.
263 2006-10-24  Bernd Warken
265         * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
267 2006-10-24  Werner LEMBERG  <wl@gnu.org>
269         * tmac/groff_trace.man: Mention problem with `\\\\'.
271 2006-10-23  Werner LEMBERG  <wl@gnu.org>
273         * doc/groff.texinfo (Expressions): Improve documentation of `!'.
275         * tmac/trace.tmac (return): Don't call `substring'.
277 2006-09-10  Werner LEMBERG  <wl@gnu.org>
279         * src/roff/troff/input.cpp (read_size): Revert previous change
280         w.r.t. `\s-[-...]'.
282         * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
284 2006-09-09  Werner LEMBERG  <wl@gnu.org>
286         * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
287         behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
288         point size to 1).  Reported by Gunnar Ritter.
289         Also catch `\s-[-...]' and friends (causing an error).
291 2006-09-06  Werner LEMBERG  <wl@gnu.org>
293         * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
294         space only if there is no previous space.  This fixes a bug which
295         caused unwanted filling of the last line in a paragraph.  Thanks to
296         Gunnar Ritter for an analysis.
298 2006-09-03  Werner LEMBERG  <wl@gnu.org>
300         * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
301         Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
303 2006-09-01  Nick Stoughton  <nick@msbit.com>
304             Werner LEMBERG  <wl@gnu.org>
306         Add a request `pev' to print environment information (similar to
307         `pnr' and `ptr' to print number registers and traps).
309         * src/roff/troff/env.h (environment): Add member function print_env.
311         * src/roff/troff/env.cpp: (environment::print_env): New function to
312         print a given environment state.
313         (print_env): New global function to iterate through the
314         environments, printing each one.
315         (init_env_requests): Register `pev'.
317         * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
318         NEWS: Document `pev' request.
320 2006-09-01  Bernd Warken
322         * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
323         `-I' to `dir'.
325 2006-09-01  Werner LEMBERG  <wl@gnu.org>
327         * src/preproc/pic/main.cpp (usage): Add missing options.
329 2006-08-25  Werner LEMBERG  <wl@gnu.org>
331         * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
332         in file names.
334 2006-08-19  Werner LEMBERG  <wl@gnu.org>
336         * configure: Regenerated.
338 2006-08-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
340         * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
341         logic; it previously caused an `expr' syntax error, if no version of
342         `makinfo' was present.  Also, remove dependency on `makeinfo' in VPATH
343         builds, if an up to date `groff.info' is present in either `builddir'
344         or in `srcdir'.
346 2006-08-12  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
348         * font/devps/prologue.ps: Add BPhook.
350         * src/devices/grops/grops.man: Document BPHook.
351         Reorder some sections for better readability.
353 2006-08-12  Werner LEMBERG  <wl@gnu.org>
355         * src/include/lib.h (getlocale): New macro.
356         (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
357         suggested by Bruno.
359         * src/preproc/preconv/preconv.cpp (main): Use getlocale.
361 2006-08-11  Werner LEMBERG  <wl@gnu.org>
363         Add new flag to .cflags to enable hyphenation without looking at
364         hcode values.
366         * src/roff/troff/charinfo.h (charinfo): New enumeration value
367         `IGNORE_HCODES'.
368         New member function `ignore_hcodes'.
370         * src/roff/troff/node.cpp (break_char_node::add_self,
371         node::add_char): Updated.
373         * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
375 2006-08-09  Werner LEMBERG  <wl@gnu.org>
377         Support composite Unicode characters again.  Reported by Colin.
379         * font/devhtml/R.proto: Renamed to...
380         * font/devhtml/R.in: This.
382         * font/devutf8/R.proto: Renamed to...
383         * font/devutf8/R.in: This.
384         Add `charset' line.
386         * font/make-Rproto: New script.
387         * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
389 2006-07-26  Werner LEMBERG  <wl@gnu.org>
391         * README: Fix description of CVS access.  Reported by Joachim.
393 2006-07-11  Werner LEMBERG  <wl@gnu.org>
395         Add a request `.fzoom' and a number register `.zoom' to magnify
396         fonts.
398         * src/include/font.h (font): Add member variable `zoom'.
399         Add member functions `set_zoom' and `get_zoom'.
400         Remove `static' attribute from `scale' member function.
402         * src/libs/libgroff/font.cpp (font::font): Updated.
403         (scale_round): New version with three parameters to handle zoom
404         factor.
405         (font::scale, font::get_width): Handle zoom factor.
406         (font::set_zoom, font::get_zoom): New functions.
407         (font::load): Handle `zoom' while computing `space_width'.
409         * src/roff/troff/env.h: Declare `env_get_zoom'.
410         (environment): Add member function `get_zoom'.
412         * src/roff/troff/env.cpp (environment::get_zoom): New function.
413         (init_env_requests): Initialize `.zoom' register.
415         * src/roff/troff/node.cpp (font_info): New member functions
416         `set_zoom' and `get_zoom'.
417         (tfont): New member function `get_zoom'.
418         (env_get_zoom): New function.
419         (troff_output_file::set_font): Handle zoom factor.
420         (font_zoom_request): New function.
421         (init_node_requests): Initialize `fzoom' request.
423         * docs/groff.texinfo (Changing Fonts), man/groff.man,
424         man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
425         register.
427         * src/roff/troff/TODO: Updated.
429 2006-07-10  Werner LEMBERG  <wl@gnu.org>
431         * doc/groff.texinfo (Drawing Requests): Improve documentation of
432         \D'P ...'.
434 2006-07-02  Werner LEMBERG  <wl@gnu.org>
436         * man/groff_tmac.man: Document usage of .PSPIC within diversions.
438 2006-07-01  Werner LEMBERG  <wl@gnu.org>
440         * tmac/pspic.tmac: Make .PSPIC work for all devices.
441         Print image file name for devices which don't support PS image
442         inclusion.
443         Handle multiple inclusions.
444         Add lots of comments.
446         * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
447         pspic.tmac.
449         * tmac/troffrc: Load pspic.tmac.
451         * man/groff_tmac.man: Update .PSPIC documentation.
453         * NEWS: Updated.
455 2006-06-29  Werner LEMBERG  <wl@gnu.org>
457         * src/roff/troff/input.cpp (interpolate_macro):
458         s/probably/possibly/, as suggested by Keith.
460 2006-06-28  Werner LEMBERG  <wl@gnu.org>
462         Add support for \D'p...' to grotty.
464         * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
465         its code to...
466         (tty_printer::line): This function.
467         (tty_printer::draw): Rewritten; just call either draw_line or
468         draw_polygon.
469         (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
471         * src/devices/grotty/grotty.man, NEWS: Document it.
473 2006-06-27  Werner LEMBERG  <wl@gnu.org>
475         * src/preproc/refer/command.h (have_bibliography): New variable
476         declaration.
478         * src/preproc/refer/command.cpp (bibliography_command): Set
479         `have_bibliography'.
481         * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
482         (output_references): Emit warning only if `have_bibliography' is
483         set.
485 2006-06-15  Michail Vidiassov  <master@iaas.msu.ru>
487         * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
488         * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
489         and zapfdr.afm.
491 2006-06-15  Werner LEMBERG  <wl@gnu.org>
493         * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
494         macro (as suggested by Tadziu Hoffmann).
496 2006-06-12  Werner LEMBERG  <wl@gnu.org>
498         * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
499         macro (as suggested by Tadziu Hoffmann).
501 2006-06-05  Werner LEMBERG  <wl@gnu.org>
503         * tmac/strip.sed: Strip `\#' also.
505         * doc/groff.texinfo (Operators in Conditionals): Document usage of
506         \? for string comparison.
508 2006-06-04  Werner LEMBERG  <wl@gnu.org>
510         * doc/groff.texinfo: Add more index entries for copy-in mode.
511         (Changing Fonts) <.ft>: Document that a font definition file must
512         not be called `DESC'.
514 2006-05-31  Werner LEMBERG  <wl@gnu.org>
516         * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
517         here.
519         * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
520         (PROCESSEDEXAMPLEFILES): Here.
522 2006-05-30  Werner LEMBERG  <wl@gnu.org>
524         * src/libs/libgroff/font.cpp (font::load): Reject fonts called
525         `DESC'.
526         Reduce number of false positives for `.if F ...' conditionals.
527         Improve warning messages.
529 2006-05-29  Werner LEMBERG  <wl@gnu.org>
531         * tmac/Makefile.sub: Add copyright notice.
532         (NORMALFILES): Add man.tmac and ms.tmac.
533         (SPECIALFILES): Remove man.tmac and ms.tmac.
534         (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
535         (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
536         specially.
537         (stamp-sed): Don't handle man.tmac and ms.tmac.
538         Remove obsolete components in sed's regexp.
540         * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
542         * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
544 2006-05-28  Werner LEMBERG  <wl@gnu.org>
546         * doc/groff.texinfo (History): Correct death circumstances of Joe
547         Ossanna.
549 2006-05-27  Werner LEMBERG  <wl@gnu.org>
551         * tmac/an-old.tmac (an-do-tag): Simplify.
553 2006-05-26  Werner LEMBERG  <wl@gnu.org>
555         * tmac/an-old.tmac (an-do-tag): Make margin characters work.
556         (an-header, an-p-footer): Use named environment.
558         * src/roff/troff/env.cpp (environment::copy): Copy margin character
559         node.
561 2006-05-21  Werner LEMBERG  <wl@gnu.org>
563         * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
564         omissions.
566 2006-05-11  Keith Marshall  <keith.d.marshall@ntlworld.com>
568         * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
570 2006-05-10  Keith Marshall  <keith.d.marshall@ntlworld.com>
572         * src/roff/groff/groff.man: Update copyright notice.
573         Improved wording to describe effect of `-Z' option.
575 2006-05-06  Werner LEMBERG  <wl@gnu.org>
577         * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
578         Normalize handling of `"' in arguments.
579         (PIMG): Remove debug message.
580         Simplify code.
582 2006-05-05  Werner LEMBERG  <wl@gnu.org>
584         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
585         swallow character immediately after `\[...]'.
586         Simplify code.
588 2006-05-02  Gaius Mulley  <gaius@glam.ac.uk>
590         * tmac/www.tmac (PIMG): Fix the HTML device specific components.
592 2006-05-02  Larry Kollar  <kollar@alltel.net>
594         * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
595         option is missing.
597 2006-04-30  Michail Vidiassov  <master@iaas.msu.ru>
599         * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
600         information as a comment in output.
601         * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
603 2006-04-26  Werner LEMBERG  <wl@gnu.org>
605         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
606         Handle current_paragraph only if it is non-NULL.
608         * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
609         <'F'>): Use `get_extended_arg' to behave as documented.  Reported by
610         Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
613         Surround the (pseudo) file name for the .pso request with `<' and
614         `>'.
616         * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
617         second parameter to `really_put_filename' and `put_filename'.
618         (troff_output_file::really_put_filename): Emit `<' and `>' around
619         filename if second argument is set.
620         * src/roff/troff/node.h: Updated.
622         * src/roff/troff/input.cpp (file_iterator::file_iterator,
623         file_iterator::set_location): Update to changes in node.cpp.
625 2006-04-25  Tetsurou Okazaki  <okazaki@FreeBSD.org>
627         * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
628         preprocessor expression (I18N -> HAVE_ICONV).
629         (main): Fix handling of option `-h'.
630         Fix conditional preprocessor expression.
632 2006-04-04  Werner LEMBERG  <wl@gnu.org>
634         Implement new number register `.br' which is set to 1 if a macro has
635         been called as .foo and to 0 if called as 'bar.  This is useful for
636         -mtrace so that requests can be reliably traced too.
638         * src/roff/troff/input.cpp (input_iterator): Add virtual function
639         `get_break_flag'.
640         (macro_iterator): Add `with_break' member and `get_break_flag'
641         function.
642         Update constructors.
643         (input_stack): Add function `get_break_flag'.
644         (break_flag_reg): New number register class.
645         (input_init_requests): Register `.br'.
647         * src/roff/troff/TODO: Updated.
649         * tmac/trace.tmac: s/!!sp/!!!sp/.
650         Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
652         * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
653         NEWS: Document it.
655 2006-03-29  Werner LEMBERG  <wl@gnu.org>
657         * src/devices/grops/ps.cpp: s/must not/should not/ in warning
658         messages where appropriate.
660 2006-03-28  Werner LEMBERG  <wl@gnu.org>
662         * configure.ac: Call AC_PROG_EGREP.
663         * configure: Regenerated.
665         * Makefile.in (EGREP): New variable.
666         (MDEFINES): Add $(EGREP).
668         * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
669         (bug reported by Robert Goulding <Goulding.2@nd.edu>).
670         Use @EGREP@.
672         * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
674 2006-03-27  Werner LEMBERG  <wl@gnu.org>
676         Add two requests `.device' and `.devicem' which are equivalent to
677         `\X' and `\Y', respectively.
679         * src/roff/troff/input.cpp (device_request, device_macro_request):
680         New functions.
681         (init_input_requests): Register them.
683         * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
684         man/groff.man, NEWS: Document them.
686 2006-03-27  Gaius Mulley  <gaius@glam.ac.uk>
688         * src/roff/troff/input.cpp (encode_char): Emit special characters
689         for -Thtml as `\[...]'.
690         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
692         * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
694 2006-03-27  Werner LEMBERG  <wl@gnu.org>
696         * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
697         files.
699 2006-03-26  Werner LEMBERG  <wl@gnu.org>
701         * doc/groff.texinfo (Writing Macros): More documentation on
702         end-of-macro symbol of `.de'.
703         (Diversions): Minor addition to `.di' description.
705         * src/devices/grops/grops.man: Some clarifications regarding
706         insertion of PostScript snippets.
708 2006-03-25  Michail Vidiassov  <master@iaas.msu.ru>
710         Add rules to generate `symbolsl.afm'.
712         * fonts/devps/generate/zapfdr.sed,
713         fonts/devps/generate/symbolsl.awk: New files.
715         * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
716         variables.
717         (SS, clean): Updated.
718         (freeeuro.afm): Use $(srcdir).
719         (symbolsl.afm): New rule.
720         (zapfdr.afm): Use zapfdr.sed.
722 2006-03-22  Dwight Aplevich  <aplevich@uwaterloo.ca>
724         * src/preproc/pic/pic.y (expr <INT>): Fix code.
726 2006-03-22  Jörgen Grahn <jgrahn@algonet.se>
728         * tmac/sv.tmac: Add missing translations and activate support for
729         other macro packages.
731 2006-03-21  Francis GUDIN  <fgudin@nerim.net>
733         * tmac/doc-syms (Dx): New macro to identify DragonFly.
734         (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
735         doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
736         strings.
737         (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
738         doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
739         doc-operating-system-DragonFly-*): New operating system strings.
741         * tmac/groff_mdoc.man, NEWS: Document `Dx'.
743 2006-03-21  Werner LEMBERG  <wl@gnu.org>
745         * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
746         both DWB pic and dpic, make
748           right;
749           line then down;
751         equal to
753           right;
754           line right then down;
756         instead of
758           right;
759           line 0 then down;
761         * doc/pic.ms: Document this.
763 2006-03-20  Werner LEMBERG  <wl@gnu.org>
765         * doc/pic.ms: With permission of Eric Raymond, put it under the
766         GPL.
768         * NEWS: Updated.
770 2006-03-19  Werner LEMBERG  <wl@gnu.org>
772         * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
774         * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
775         attribute in combination with `with'.  Bug reported by Jennifer
776         Sayers <jenjen@mail.usyd.edu.au>.
778 2006-03-19  Miklos Somogyi  <msom@netspace.net.au>
780         * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
781         `.sp'.
783 2006-03-18  Werner LEMBERG  <wl@gnu.org>
785         * LICENSE: Renamed to...
786         * LICENSES: This.  Collect all licensing information in this file.
787         * tmac/README, src/libs/snprintf/README: Removed.
789         * src/devices/grops/grops.man: Add section how to install fonts.
791         * src/utils/xtotroff/xtotroff.c: Add GPL.
793 2006-03-17  Werner LEMBERG  <wl@gnu.org>
795         * Makefile.comm (.y.cpp): Fix #line arguments in output.
797 2006-03-13  Werner LEMBERG  <wl@gnu.org>
799         * src/preproc/tbl/tbl.man: Mention default length of text blocks.
801         * tmac/doc-common (Os): Add more Darwin versions.
802         * tmac/groff_mdoc.man: Document them.
804         * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
805         works with \N'...' also.
806         * man/groff_diff.man: Ditto.  Remove use of future tense where
807         possible.
809 2006-03-12  Michail Vidiassov  <master@iaas.msu.ru>
811         * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
812         fonts/devps/zapfdr.ps: Add `%%EndComments' line.
814 2006-03-10  Larry Kollar  <kollar@alltel.net>
816         * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
818 2006-03-10  Werner LEMBERG  <wl@gnu.org>
820         * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
821         ps_printer::do_mdef): Overlong lines now cause a warning message,
822         not an error.
824 2006-03-09  Werner LEMBERG  <wl@gnu.org>
826         * font/devps/generate/make-zapfdr: New script for generating
827         `zapfdr.ps'.
829 2006-03-08  Werner LEMBERG  <wl@gnu.org>
831         * doc/groff.css (pre): Fix `background-color' value.
833 2006-03-04  Larry Kollar  <kollar@alltel.net>
835         * tmac/groff_ms.man: Document PT, HD, and BT.
837 2006-03-04  Werner LEMBERG  <wl@gnu.org>
839         * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
840         for single-letter glyph names.
842 2006-03-02  Werner LEMBERG  <wl@gnu.org>
844         * tmac/sv.tmac: New file; currently holding only the Swedish strings
845         for -mm.
846         * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
847         from CTAN.
848         * tmac/README: Updated.
850 2006-02-27  Werner LEMBERG  <wl@gnu.org>
852         * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
853         * tmac/fr.tmac: Add French translations.
855         * tmac/composite.tmac: Add entry for `:'.
857 2006-02-26  Werner LEMBERG  <wl@gnu.org>
859         * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
860         (CLEANADD): Use it.
861         (install_html, uninstall_sub): Updated.
863 2006-02-26  Bruno Haible  <bruno@clisp.org>
865         Introduce Unicode fonts.
867         * font/devhtml/DESC.proto: Mark as unicode.
868         * font/devhtml/R.proto: Remove all charset entries that are already
869         in glyphuni.cpp.
870         * font/devutf8/DESC.proto: Mark as unicode.
871         * font/devutf8/R.proto: Remove all charset entries.
872         * src/include/font.h (font): New static field `is_unicode'.
873         Change order of fields.
874         * src/libs/libgroff/font.cpp: Include unicode.h.
875         (font::font): Update for changed order of fields.
876         (font::contains, font::get_width, font::get_height, font::get_depth,
877         font::get_italic_correction, font::get_left_italic_correction,
878         font::get_subscript_correction, font::get_character_type,
879         font::get_code, font::get_special_device_encoding): Handle both the
880         explicitly enumerated glyphs and use general code for Unicode fonts.
881         (font::load): Make the charset section optional when the font is
882         declared unicode.
883         (font::load_desc): Recognize the `unicode' attribute.
884         * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
886 2006-02-26  Claudio Fontana  <claudio@gnu.org>
888         * Makefile.in: Add comment about DESTDIR.
890         * Makefile.sub: Add DESTDIR to install and uninstall targets
891         to support staged installations.
892         * Makefile.comm: Likewise.
893         * doc/Makefile.sub: Likewise.
894         * contrib/eqn2graph/Makefile.sub: Likewise.
895         * contrib/gdiffmk/Makefile.sub: Likewise.
896         * contrib/grap2graph/Makefile.sub: Likewise.
897         * contrib/pic2graph/Makefile.sub: Likewise.
898         * src/devices/xditview/Makefile.sub: Likewise.
899         * src/preproc/eqn/Makefile.sub: Likewise.
900         * src/roff/grog/Makefile.sub: Likewise.
901         * src/roff/nroff/Makefile.sub: Likewise.
902         * src/utils/afmtodit/Makefile.sub: Likewise.
903         * src/utils/indxbib/Makefile.sub: Likewise.
904         * tmac/Makefile.sub: Likewise.
906 2006-02-24  Werner LEMBERG  <wl@gnu.org>
908         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
909         for \-.
910         Remove commented out entries for \' and \` (there are no such glyph
911         names).
913         * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
914         commented out entries for \' and \`.
917         * */*: s/legal/valid/ where appropriate.
919 2006-06-23  Werner LEMBERG  <wl@gnu.org>
921         * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
922         and \` entries.
924 2006-02-22  Werner LEMBERG  <wl@gnu.org>
926         Remove all remaining traces from the `shc' glyph.
928         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
929         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
930         entry for `shc'.
932         * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
933         entry with unnamed glyph.
935         * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
937         * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
938         specially.
940 2006-02-22  Bruno Haible  <bruno@clisp.org>
942         Concretize the `glyph' datatype.
944         * src/include/font.h (glyph): Remove class.
945         (glyph): Renamed from struct `glyphinfo'.
946         (glyph_to_index): New inline function.
947         (glyph_to_name): Make extern, not inline.
948         (glyph_to_number): Update.
949         (font): Use `glyph *' instead of `glyph'.
951         * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
952         `glyph'.  Make `name' field public.
953         (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
954         instead of `glyph'.
955         (glyph_to_name): Renamed from `glyph::glyph_name'.
957         * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
958         Use `glyph *' instead of `glyph'.
960         * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
961         `glyph *' instead of `glyph'.
962         (glyph_to_name): Renamed from `glyph::glyph_name'.
964         * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
965         and `glyph_to_index' instead of `glyph::glyph_index'.
967         * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
968         * src/libs/libdriver/printer.cpp: Likewise.
969         * src/devices/grodvi/dvi.cpp: Likewise.
970         * src/devices/grohtml/post-html.cpp: Likewise.
971         * src/devices/grolbp/lbp.cpp: Likewise.
972         * src/devices/grolj4/lj4.cpp: Likewise.
973         * src/devices/grops/ps.cpp: Likewise.
974         * src/devices/grotty/tty.cpp: Likewise.
976 2006-02-22  Werner LEMBERG  <wl@gnu.org>
978         * font/devdvi/generate/tc.map: Add `sr' glyph.
979         * font/devdvi/*TC: Regenerated.
981         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
982         for `sqrt'.
984 2006-02-21  Werner LEMBERG  <wl@gnu.org>
986         * man/groff_char.man: Explain `***' marker.
988 2006-02-17  Bruno Haible  <bruno@clisp.org>
990         * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
991         methods and fields from *_index to *_glyph.
992         (character_indexer::named_char_glyph): Test for `charNNN' name
993         here...
994         (name_to_glyph): ... not here.
996 2006-02-17  Bruno Haible  <bruno@clisp.org>
998         * src/include/font.h (name_to_glyph): Renamed from
999         font::name_to_index.
1000         (number_to_glyph): Renamed from font::number_to_index.
1001         (glyph_to_name): Renamed from font::index_to_name.
1002         (glyph_to_number): Renamed from font::index_to_number.
1003         * src/libs/libgroff/nametoindex.cpp: Likewise.
1004         * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1005         charinfo::get_index.
1007         * src/roff/troff/input.cpp: All callers changed.
1008         * src/roff/troff/node.cpp: Likewise.
1009         * src/libs/libgroff/font.cpp: Likewise.
1010         * src/devices/grops/ps.cpp: Likewise.
1011         * src/devices/grohtml/post-html.cpp: Likewise.
1012         * src/libs/libdriver/printer.cpp: Likewise.
1014 2006-02-17  Werner LEMBERG  <wl@gnu.org>
1016         * src/include/ptable.h, src/include/itable.h
1017         (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1018         of external symbol `next_ptable_size' (used by both header files).
1020 2006-02-15  Bruno Haible  <bruno@clisp.org>
1022         * src/include/font.h (glyphinfo): New class.
1023         (glyph): Change internal representation.
1024         Change constructor signature.
1025         New method glyph::glyph_number().
1026         (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1027         glyph::operator==, glyph::operator!=): Update.
1028         (font::index_to_name, font::index_to_number): New functions.
1030         * src/include/itable.h: New file, based on src/include/ptable.h.
1032         * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1033         (class charinfo): New class.
1034         (class character_indexer): Change table result type from `int' to
1035         `class charinfo'.
1036         Add table with integer key.
1037         (character_indexer::character_indexer): Update.
1038         (character_indexer::ascii_char_index): Update.
1039         (character_indexer::numbered_char_index): Use NULL as name, not a
1040         string starting with a space.
1041         (character_indexer::named_char_index): Update.
1042         (font::number_to_index, font::name_to_index): Remove no-op cast.
1043         (glyph::glyph_name): New method.
1044         * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1045         glyphinfo.
1046         (NUMBERED): Remove flag bit.
1047         (charinfo::numbered, charinfo::get_index): Update.
1049         * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1050         (charinfo::set_number, charinfo::get_number): Update.
1051         (glyph::glyph_name): New method.
1053 2006-02-15  Werner LEMBERG  <wl@gnu.org>
1055         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1056         entries for `>>', `<<', `*f', and `+f'.  Reported by Bruno.
1058 2006-02-13  Werner LEMBERG  <wl@gnu.org>
1060         * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1061         dvips.
1063 2006-02-11  Werner LEMBERG  <wl@gnu.org>
1065         * src/include/font.h: s/glyph_t/glyph/.
1066         Update all callers.
1068         * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1069         s/output_character_t/output_character/.
1071 2006-02-11  Bruno Haible  <bruno@clisp.org>
1073         New accessor method glyph_t::glyph_name().
1075         * src/include/ptable.h (declare_ptable): Add a return value to the
1076         `define' method, and declare a `lookupassoc' method.
1077         (implement_ptable): Return the stored key in `define'.  Implement
1078         lookupassoc.
1079         * src/include/font.h (glyph_t): Add `name' field.  Add an argument
1080         to the constructor.
1081         (glyph_t::glyph_name): New method.
1083         * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1084         return type of methods and field member type to glyph_t.
1085         (character_indexer::character_indexer): Update.
1086         (character_indexer::ascii_char_index): Allocate a name for the
1087         glyph.
1088         Return a glyph_t with name.
1089         (character_indexer::numbered_char_index): Return a glyph_t without a
1090         name.
1091         (character_indexer::named_char_index): Return a glyph_t with a name.
1092         (font::number_to_index, font::name_to_index): Update.
1094         * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1095         the glyph's name.
1097 2006-02-11  Bruno Haible  <bruno@clisp.org>
1099         * src/devices/grotty/tty.cpp (output_character_t): New type.
1100         (tty_printer::make_bold, tty_printer::add_char,
1101         tty_printer::put_char): Change argument type to output_character_t.
1102         (crossings): Change element type to output_character_t.
1104 2006-02-11  Bruno Haible  <bruno@clisp.org>
1106         Make the glyph data type abstract.
1108         * src/include/font.h (glyph_t): New class.
1109         (name_to_index, number_to_index): Change return type to glyph_t.
1110         (font::contains, font::get_width, font::get_height, font::get_depth,
1111         font::get_character_type, font::get_kern, font::get_skew,
1112         font::get_italic_correction, font::get_left_italic_correction,
1113         font::get_subscript_correction, font::get_code,
1114         font::get_special_device_encoding, font::add_entry,
1115         font::copy_entry, font::add_kern, font::hash_kern): Change argument
1116         type to glyph_t.
1118         * src/libs/libgroff/font.cpp (font_kern_list): Change members
1119         type and constructor argument types to glyph_t.
1120         (font::contains, font::get_width, font::get_height, font::get_depth,
1121         font::get_character_type, font::get_kern, font::get_skew,
1122         font::get_italic_correction, font::get_left_italic_correction,
1123         font::get_subscript_correction, font::get_code,
1124         font::get_special_device_encoding, font::add_entry,
1125         font::copy_entry, font::add_kern, font::hash_kern): Change argument
1126         type to glyph_t.
1127         (font::load): Use glyph_t variables.
1129         * src/libs/libgroff/nametoindex.cpp (name_to_index,
1130         number_to_index): Change return type to glyph_t.
1132         * src/roff/troff/charinfo.h (charinfo::index): Change type to
1133         glyph_t.
1134         (charinfo::get_index): Change return type to glyph_t.
1136         * src/roff/troff/env.cpp: Include font.h.
1138         * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1140         * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1141         (charinfo::charinfo): Update.
1142         (name_to_index, number_to_index): Change return type to glyph_t.
1144         * src/include/printer.h (printer::set_char_and_width): Change return
1145         type to glyph_t.
1147         * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1148         Change return type to glyph_t.
1150         * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1151         argument type to glyph_t.
1153         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1154         (html_printer::space_glyph): Renamed from space_char_index.
1155         (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1156         html_printer::overstrike, html_printer::set_char): Change argument
1157         type to glyph_t.
1158         (html_printer::set_char_and_width): Change return type to glyph_t.
1160         * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1161         argument type to glyph_t.
1163         * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1164         argument type to glyph_t.
1166         * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1167         space_char_index.
1168         (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1169         type to glyph_t.
1171         * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1172         argument type to glyph_t.
1174 2006-02-11  Bruno Haible  <bruno@clisp.org>
1176         * src/roff/troff/input.cpp (font::name_to_index): Never return a
1177         negative value.
1179         * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1180         font::name_to_index.
1182 2006-02-10  Werner LEMBERG  <wl@gnu.org>
1184         * doc/groff.texinfo (Assigning Formats): Number registers are always
1185         interpolated.
1186         Apply some rephrasing, contributed by Michael Burt.
1188 2006-02-07  Werner LEMBERG  <wl@gnu.org>
1190         * tmac/fr.tmac <ms>: Set `HY' register.
1192 2006-02-07  Werner LEMBERG  <wl@gnu.org>
1194         Add framework for simple adaptation of the main macro packages (mm,
1195         me, ms, mom) to different locales.  In particular, add support for
1196         French.  For activation, simply use `-mfr' as the last macro
1197         package.  This feature has been contributed by Fabrice Ménard
1198         <menard.fabrice@wanadoo.fr>.
1200         * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1201         New files.
1202         * tmac/README: Mention hyphen.fr.
1203         * man/groff_tmac.man: Mention fr.tmac.
1204         * NEWS: Updated.
1206 2006-01-27  Werner LEMBERG  <wl@gnu.org>
1208         * man/groff_font.man: Updated documentation of `entity_name' field.
1209         Avoid future tense.
1211 2006-01-27  Bruno Haible  <bruno@clisp.org>
1213         * font/devhtml/R.proto: Remove the entity names from the font's
1214         special_encoding_encoding column.
1215         * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1216         handling the entity names here.
1217         (get_html_translation): Use it.  Change return type to `const
1218         char *'.
1219         (page::add_and_encode): Update, removing a useless cast.
1221 2006-01-26  Werner LEMBERG  <wl@gnu.org>
1223         This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1225         * src/include/device.h: Add comments.
1226         * src/include/font.h: Add comments.
1227         * src/include/unicode.h: Likewise.
1228         * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1230 2006-01-26  Keith Marshall  <keith.d.marshall@ntlworld.com>
1232         Suppress `.st' request emission by `grn'.
1234         * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1235         (conv): Use it.
1237 2006-01-22  Werner LEMBERG  <wl@gnu.org>
1239         * install-sh: New version; taken from texinfo CVS.
1241 2006-01-21  Werner LEMBERG  <wl@gnu.org>
1243         * src/preproc/preconv/preconv.cpp (main): Set program_name.  Bug
1244         reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1246 2006-01-19  Bruno Haible  <bruno@clisp.org>
1248         Let `make -k install' install more files.
1250         * Makefile.in (MAKE_K_FLAG): New variable.  Use it everywhere where
1251         $(MAKE) and $(MDEFINES) are used.
1252         (CPROGDIRS): Remove $(XPROGDIRS).  Treat $(XPROGDIRS) like
1253         $(CPROGDIRS) everywhere.
1254         ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1255         on $(XPROGDIRS).
1256         ($(OTHERDIRS)): Likewise.
1259         * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1260         failure test for font::name_to_index -- it can never fail.
1262 2006-01-19  Werner LEMBERG  <wl@gnu.org>
1264         * src/devices/grops/grops.man: Fix section on creating EPS files.
1265         Don't use future time in manual.
1266         Other minor fixes.
1268 2006-01-15  Gaius Mulley  <gaius@glam.ac.uk>
1270         * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1271         various typographical URL attributes for non-HTML devices.
1273         * tmac/groff_www.man: Document LINKSTYLE.
1275 2006-01-11  Werner LEMBERG  <wl@gnu.org>
1277         * configure.ac: Test for getc_unlocked (needed for localcharset).
1278         * configure, src/include/config.hin: Regenerated.
1280         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1281         ENABLE_RELOCATABLE.
1283         * src/libs/libgroff/relocatable.h: New dummy header file for
1284         localcharset.c.
1286         * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1287         gnulib version.
1289 2006-01-10  Bruno Haible  <bruno@clisp.org>
1291         Work around unportability of nl_langinfo(CODESET).
1293         * m4/glibc21.m4: New file, from gnulib.
1294         * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1295         * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1296         * Makefile.in (HOST, GLIBC21): New variables.
1297         (MDEFINES): Pass them to subdirectories.
1298         * src/include/relocate.h (relocatep): Define with C linkage.
1299         * src/include/localcharset.h: New file, from gnulib.
1300         * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1301         modification for relocate().
1302         * src/libs/libgroff/config.charset: New file, from gnulib.
1303         * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1304         * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1305         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1306         (OBJS): Add localcharset.o.
1307         (CSRCS): Add localcharset.c.
1308         (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1309         (charset.alias): New rule.
1310         (PACKAGE): New variable.
1311         (ref-add.sed, ref-del.sed): New rules.
1312         (MKINSTALLDIRS): New variable.
1313         (install_data): Depend on install_charset_data.
1314         (install_charset_data): New rule for creating or updating
1315         charset.alias.
1316         (uninstall_sub): Depend on uninstall_charset_data.
1317         (uninstall_charset_data): New rule for uninstalling or updating
1318         charset.alias.
1319         * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1320         of <langinfo.h>.
1321         (main): Initialize default_encoding from locale_charset() instead of
1322         nl_langinfo(CODESET).
1324         * aclocal.m4, configure, src/include/config.hin: Regenerated.
1326 2006-01-10  Werner LEMBERG  <wl@gnu.org>
1328         * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1329         ICONV_CONST in call to iconv.  Reported by Robert Goulding.
1331 2006-01-07  Werner LEMBERG  <wl@gnu.org>
1333         * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1334         fontforge version.
1335         Bump font version to 001.001.
1337         * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1338         Call fontforge, not pfaedit.
1340         * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1342 2006-01-05  Ruslan Ermilov  <ru@FreeBSD.org>
1344         * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1345         * tmac/groff_mdoc.man: Updated.
1347 2006-01-05  Werner LEMBERG  <wl@gnu.org>
1349         * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1350         (raw_flag): New global variable.
1351         (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1352         Don't pass BOM to `conversion_utf8'.
1353         (usage): Updated.
1354         (main): Handle `-r' command line switch to set `raw_flag'.
1355         (get_BOM): Fix encodings in `BOM_table'.
1357         * src/preproc/preconv/preconv.man: New file.  Not complete yet.
1358         * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1360 2006-01-04  Werner LEMBERG  <wl@gnu.org>
1362         * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1363         Bruno, comment out most encodings to support only a small set of
1364         coding tags, thus reducing potential problems with legacy encodings
1365         and character sets in the future.
1366         Add many XEmacs coding tags (now commented out).
1367         Add `cp1047'.
1368         (check_encoding_tag): Renamed to...
1369         (check_coding_tag): This.
1370         (get_BOM): Return encoding as specified by BOM.
1371         Test for UTF32-LE too.
1372         (do_file): Don't check for coding tag if a BOM has been found.
1374 2006-01-03  Bruno Haible  <bruno@clisp.org>
1376         * m4/groff.m4: Renamed from aclocal.m4.
1377         * m4/codeset.m4: New file, from gnulib.
1378         * m4/iconv.m4: New file, from gnulib.
1379         * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1380         gnulib.
1381         * config.rpath: New file, from gnulib.
1382         * config.guess, config.sub: New files, from gnulib.
1383         * Makefile.sub (M4MACROS): New variable.
1384         (configure): Fix typo.
1385         (aclocal.m4): New rule.
1386         (stamp-h.in): Depend on aclocal.m4.
1387         * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1388         * Makefile.in (LIBICONV): New variable.
1389         (MDEFINES): Pass it to recursive makes.
1390         * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1391         HAVE_ICONV instead of I18N macro.
1392         * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1394         * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1396 2006-01-03  Werner LEMBERG  <wl@gnu.org>
1398         * doc/Makefile.in (webpage.html): Simplify.
1399         * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1400         * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1402 2006-01-01  Werner LEMBERG  <wl@gnu.org>
1404         * tmac/doc-common (Os): Add some Darwin versions.
1405         * tmac/groff_mdoc.man: Document them.
1407 2006-01-01  Bruno Haible  <bruno@clisp.org>
1409         * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1410         corrections:
1411           . Don't map ascii to latin-1.
1412           . Don't use IBMxxx encodings but cpxxx for portability.
1413           . Map cp932, cp936, cp949, cp950 to itself.
1414         (emacs2mime): Protect calls to strcasecmp.
1415         (conversion_iconv): Add missing call to iconv_close.
1416         (do_file): Emit error message in case of unsupported encoding.
1418 2005-12-31  Werner LEMBERG  <wl@gnu.org>
1420         Integrate preconv into the groff binary.  Changes based on a patch
1421         from Michail Vidiassov.
1423         * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1425         * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1426         (SOELIM_INDEX): Updated.
1427         (help, synopsis): Updated.
1428         (main): Add command line options `-k' and `-K enc' to select
1429         encoding.
1430         Add support for GROFF_ENCODING environment variable.
1432         * src/roff/groff/groff.man: Updated and revised.
1435         Start with autoconf support for preconv.
1437         * configure.ac: Call AC_C_BIGENDIAN.
1438         * configure, src/include/config.hin: Regenerated.
1440 2005-12-30  Werner LEMBERG  <wl@gnu.org>
1442         New preprocessor `preconv' to convert input encodings to something
1443         groff can understand.  Not yet integrated within groff.  Proper
1444         autoconf stuff is missing too.
1446         Tomohiro Kubota has written a first draft of this program, and some
1447         ideas have been reused (while almost no code has been taken
1448         actually).
1450         * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1451         New files.
1453         * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1454         (GROFF_BIN_PATH): Add preconv.
1456 2005-12-12  Werner LEMBERG  <wl@gnu.org>
1458         * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1459         In particular, don't use `\+' since it is a GNU sed extension.
1461         * configure: Regenerated.
1463 2005-12-09  Werner LEMBERG  <wl@gnu.org>
1465         * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp. 
1467         * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1468         4.1.0.
1471         * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1472         afmtodit.tables.
1474         * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1475         4.1.0 data.
1477         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1478         %AGL_to_unicode): Removed.  Replace it with a tag.
1480         * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1481         to replace tag with actual file contents.
1483 2005-12-08  Werner LEMBERG  <wl@gnu.org>
1485         The change 2005-06-20 can indeed cause problems, so we follow the
1486         advice by using marks.
1488         * font/devps/prologue.ps (PBEGIN): Use `mark'.
1489         (PEND): Use `cleartomark'.
1491 2005-12-07  Michail Vidiassov  <master@iaas.msu.ru>
1493         * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1494         glyphs which have kern values but aren't handled (glyph variants,
1495         for example).
1497 2005-12-02  Werner LEMBERG  <wl@gnu.org>
1499         * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1500         subfont index.  Reported by Michail Vidiassov <master@iaas.msu.ru>.
1502 2005-11-28  Gaius Mulley  <gaius@glam.ac.uk>
1504         * doc/Makefile.in: Separate rule for webpage.html so that extra
1505         command line options can be passed to grohtml.
1506         * doc/groff.css: Change all margins to 0%.
1507         * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1508         navigation is exploited.  Also update webpage to contain new
1509         sections on licenses, mailing lists, cvs/ftp access, groff
1510         dependencies, and bug reports.
1511         * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1512         * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1513         
1514 2005-11-25  Gaius Mulley  <gaius@glam.ac.uk>
1516         * src/devices/grohtml/post-html.cpp
1517         (html_printer::do_file_components): Add fputs calls to emit the
1518         head contents and shut down the head tag whenever a new file
1519         component is generated.
1521 2005-11-22  Gaius Mulley  <gaius@glam.ac.uk>
1523         * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1524         call to flush_text to flush any outstanding html tags on the
1525         paragraph stack.
1527 2005-11-18  Werner LEMBERG  <wl@gnu.org>
1529         * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1530         Announce makeinfo version.
1531         * configure: Regenerated.
1533 2005-11-18  Mike Frysinger <vapier@gentoo.org>
1535         * Makefile.in: Declare proper dependencies between make targets.
1537         * doc/Makefile.in: Rename groff info page to `groff.info'.
1538         * doc/Makefile.sub: Likewise.
1539         * doc/groff.texinfo: Likewise.
1541 2005-11-17  Peter O'Gorman  <mlists@thewrittenword.com>
1543         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1544         definition of __GETOPT_PREFIX to the beginning of file to ensure
1545         that it is defined even on platforms where getopt.h is already
1546         included by other header files.
1548 2005-11-10  Gaius Mulley  <gaius@glam.ac.uk>
1550         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1551         Reset font to NULL to ensure that a font block is recreated during
1552         the next paragraph.
1554 2005-11-04  Werner LEMBERG  <wl@gnu.org>
1556         * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1557         * configure: Regenerated.
1559 2005-10-27  Werner LEMBERG  <wl@gnu.org>
1561         * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1562         makeinfo 4.8 or newer is available.
1563         * configure.ac: Call GROFF_MAKEINFO.
1564         * configure: Regenerated.
1566         * Makefile.in (MAKEINFO): Use autoconf variable.
1567         (MDEFINES): Add MAKEINFO.
1569         * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1570         * doc/Makefile.sub (MAKEINFO): Remove.
1572 2005-10-26  Werner LEMBERG  <wl@gnu.org>
1574         * REVISION: Set to 3.
1576 2005-10-17  Werner LEMBERG  <wl@gnu.org>
1578         Mention $MANPAGER variable used with some `man' systems.
1580         * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1582 2005-09-13  Werner LEMBERG  <wl@gnu.org>
1584         * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1586 2005-09-04  Werner LEMBERG  <wl@gnu.org>
1588 Version 1.19.2 released
1589 =======================
1591         * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1593         * doc/webpage.ms: Updated.
1595         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1597 2005-09-04  Jörgen Grahn <jgrahn@algonet.se>
1599         * tmac/groff_ms.man: Document `PO' better.
1601 2005-09-03  Werner LEMBERG  <wl@gnu.org>
1603         * NEWS: Document grotty changes.
1605 2005-09-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
1607         Backward compatibility support for `man' program.
1609         * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1610         assignment, prior `.ll' request and then package defaults, in this
1611         specified order of decreasing priority.
1613         * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1614         altered `LL' register initialization priorities.
1616 2005-08-29  Gary W. Swearingen  <garys@opusnet.com>
1618         * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1619         section should look like.
1621 2005-08-29  Werner LEMBERG  <wl@gnu.org>
1623         * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1624         be abbreviated.
1626 2005-08-27  Bernd Warken
1628         * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1629         fixes.
1631 2005-08-11  Bernd Warken
1633         * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1635 2005-08-09  Bernd Warken
1637         * tmac/www.tmac (URL, MTO): Use bold series if color support is
1638         deactivated.
1640 2005-08-02  Bernd Warken
1642         * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1643         as argument to $(INSTALL_INFO).  The latter isn't portable.
1644         Remove $(HTMLEXAMPLEFILES) too.
1646         * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1647         $(datadir)/doc too.
1648         Suppress warning messages and return always true.
1650         * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1652 2005-07-02  Bernd Warken
1654         * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1655         * man/groff_out.man: More markup and minor improvements.
1656         * src/roff/groff/groff.man: Minor improvements.
1658 2005-06-28  Werner LEMBERG  <wl@gnu.org>
1660         * ChangeLog: Split off older entries into...
1661         * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1662         files.
1664 2005-06-26  Bernd Warken
1666         * src/devices/xditview/gxditview.man: More minor fixes.
1668 2005-06-24  Werner LEMBERG  <wl@gnu.org>
1670         * src/preproc/pic/troff.cpp (troff_output::set_fill,
1671         troff_output::set_color, troff_output::reset_color): Use .bcolor and
1672         .fcolor instead of \m and \M, respectively.
1674 2005-06-23  Bernd Warken
1676         * src/devices/xditview/gxditview.man: More minor fixes.
1677         * README: Formatting issues.
1678         Mention some problems with Debian.
1680 2005-06-23  Bernd Warken
1682         * src/devices/xditview/gxditview.man: Revised and improved.
1684 2005-06-22  Werner LEMBERG  <wl@gnu.org>
1686         Another round in fixing getopt problems.  Hopefully the last one!
1687         This time we use the getopt stuff from gnulib and define a prefix
1688         unconditionally so that there are no collisions with any other
1689         getopt implementations.  This is a slight waste of space in case
1690         we already use a GNU getopt implementation, but on
1691         the other hand it really simplifies life.
1693         * src/include/getopt.h: Use gnulib version.
1695         * src/include/getopt_int.h: Use gnulib version.
1697         * src/include/groff-getopt.h: Removed.  Obsolete now.
1699         * src/include/lib.h: Regarding getopt, don't handle any platform
1700         specially; just include getopt.h.
1701         (__GETOPT_PREFIX): Define (before getopt.h).
1703         * src/include/Makefile.sub (HDRS): Updated.
1705         * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1706         gnulib version.
1708         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1709         __GETOPT_PREFIX.
1711         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1712         (__GETOPT_PREFIX): Define (before getopt.h).
1714 2005-06-21  Werner LEMBERG  <wl@gnu.org>
1716         * src/include/lib.h: Provide a fix for Mac OS X to not include
1717         groff-getopt.h.
1719 2005-06-20  Denis M. Wilson  <dmw@oxytropis.plus.com>
1721         * font/devps/prologue.ps (EP): Dont' use `bind'.  Reason: Using
1722         `bind' to define a procedure which contains `showpage' means that an
1723         invocation of `showpage' may execute wrongly (the exact effect
1724         depending on the interpreter).  Not usually a problem except under
1725         transformations, such as combining pages.
1726         (PEND): Don't call `clear'.  Reason: Using `clear' in the definition
1727         of /PEND means that stack underflow will occur if the stack is
1728         deliberately non-empty before document inclusion.  If included
1729         files are found to be generally badly behaved, we could replace the
1730         `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1731         never found this necessary).
1733 2005-06-20  Jörgen Grahn  <jgrahn@algonet.se>
1735         * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1736         earlier to get correct error message.
1738 2005-06-16  Bernd Warken
1739         * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1741 2005-06-15  Werner LEMBERG  <wl@gnu.org>
1743         Another try to update getopt files.  This time we add a dummy
1744         gettext.h file to satisfy the dependency.
1746         * src/include/getopt.h, src/libs/libgroff/getopt.c,
1747         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1749         * src/include/getopt_int.h: New file (from GNU libc CVS).
1751         * src/include/gettext.h: Dummy file which just defines a gettext()
1752         macro.
1754         * src/include/groff-getopt.h: Updated.
1756         * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1759         * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1760         `const' keywords in return value.
1762         * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1763         Remove redundant variable `old'.
1764         (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1766         * src/preproc/tbl/main.cpp (process_table): Remove redundant
1767         variable `c'.
1770         Fix more friend name injection problems since modern C++ compilers
1771         fail otherwise.  We simply provide (global) declarations for all
1772         functions declared as friends.  This is not really necessary but
1773         doesn't harm.
1775         * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1776         peek_char, and get_location.
1778         * src/preproc/refer/ref.h: Provide declarations for
1779         compare_reference, same_reference, same_year, same_date,
1780         same_author_last_name, and same_author_name.
1782         * src/roff/troff/div.h: Provide declarations for do_divert and
1783         page_offset.
1785         * src/roff/troff/env.h: Provide declarations for title_length,
1786         space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1787         vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1788         indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1789         margin_character, no_number, number_lines, leader_character,
1790         tab_character, hyphenate_request, no_hyphenate,
1791         hyphen_line_max_request, hyphenation_space_request,
1792         hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1793         line_tabs_request, widow_control_request, and do_divert.
1795         * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1797         * src/roff/troff/node.cpp: Provide declarations for class
1798         tfont_spec.
1799         Provide declaration for make_tfont.
1801 2005-05-29  Werner LEMBERG  <wl@gnu.org>
1803         * doc/fdl.texi: Updated to version 1.2.  Reported by Bernd Warken.
1805 2005-05-28  Werner LEMBERG  <wl@gnu.org>
1807         * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1808         `--style'.
1810         * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1811         redundant semicolons.
1813         * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1814         src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1815         Define `MLIB'.  Some compilers need this for linking with libgroff.
1817 2005-05-27  Werner LEMBERG  <wl@gnu.org>
1819         * MANIFEST, README, doc/webpage.ms: Updated.
1821 2005-05-26  Werner LEMBERG  <wl@gnu.org>
1823         * All affected files: Update postal address of FSF.
1825 2005-05-25  Keith Marshall  <keith.d.marshall@ntlworld.com>
1826             Bernd Warken
1828         * README: More fixes.
1830         * README.CVS: Removed.  Its contents is now part of the README file.
1832 2005-05-21  Werner LEMBERG  <wl@gnu.org>
1834         * README: Updated.  Based on a patch from Bernd Warken.
1836 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1838         Miscellaneous script portability enhancements.
1840         * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1841         generated conftest.sh script, conforming to portability
1842         recommendation in autoconf docs.
1843         * configure: Likewise, for code generated by GROFF_CSH_HACK.
1844         * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1845         to portability recommendation in autoconf docs.
1846         * contrib/gdiffmk/gdiffmk.sh: Likewise.
1847         * contrib/gdiffmk/tests/runtests.in: Likewise.
1848         * contrib/grap2graph/grap2graph.sh: Likewise.
1849         * contrib/groffer/groffer.sh: Likewise.
1850         * contrib/mm/mmroff.pl: Likewise.
1851         * contrib/mom/momdoc/appendices.html: Likewise.
1852         * contrib/pic2graph/pic2graph.sh: Likewise.
1853         * font/devps/generate/afmname: Likewise.
1854         * src/devices/xditview/ad2c: Likewise.
1855         * src/preproc/eqn/neqn.sh: Likewise.
1856         * src/roff/grog/grog.pl: Likewise.
1857         * src/roff/grog/grog.sh: Likewise.
1858         * src/roff/nroff/nroff.sh: Likewise.
1859         * PROBLEMS: Likewise, in embedded script examples.
1861 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1863         Improve portability of `pdfroff' shell script.
1865         * arch/misc/shdeps.sh: Add space in shebang, conforming to
1866         portability guidelines in `autoconf' docs.
1867         (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1868         initialization code.  Used by contrib/pdfmark/pdfroff.sh's
1869         `searchpath' function.
1871 2005-05-14  Werner LEMBERG  <wl@gnu.org>
1873         * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1874         contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1875         needed for newer ImageMagick versions.
1877 2005-05-07  Werner LEMBERG  <wl@gnu.org>
1879         * src/preproc/refer/refer.man: Many small typographic fixes.
1881 2005-05-06  Jeff Conrad  <jeff_conrad@msn.com>
1883         * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1884         Use `char *' cast for a_delete.
1886 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1888         * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1889         src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1891 2005-05-03  Jeff Conrad  <jeff_conrad@msn.com>
1893         * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1894         `a_delete' for `const char *'.
1896 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1898         * src/devices/grohtml/post-html.cpp,
1899         src/devices/grohtml/html-table.cpp,
1900         src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1901         Replace malloc/free with new/delete/a_delete.
1903         * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1904         are prohibited with ANSI C++.
1905         (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1906         function has a variable number of arguments).
1908         * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1909         Simplify function and update all callers.
1911 2005-05-02  Werner LEMBERG  <wl@gnu.org>
1913         Undo getopt changes from 2005-04-30.  We don't want a dependency
1914         on gettext.
1916         * src/include/getopt_int.h: Removed.
1918         * src/include/getopt.h, src/include/groff-getopt.h,
1919         src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1920         src/libs/libgroff/getopt1.c: Revert to previous version.
1923         * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1925         * src/include/posix.h (F_OK): Define conditionally.
1927         * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1928         different variable name in second `for' loop to avoid MSVC compiler
1929         problem.
1931 2005-04-30  Werner LEMBERG  <wl@gnu.org>
1933         AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1935         * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1936         * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1937         * configure, src/include/config.hin: Regenerated.
1939         * PROBLEMS: Updated.
1942         Update getopt files.
1944         * src/include/getopt.h, src/libs/libgroff/getopt.c,
1945         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1947         * src/include/getopt_int.h: New file (from GNU libc CVS).
1949         * src/include/groff-getopt.h: Updated.
1951         * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1954         * font/devutf8/NOTES: Updated.
1956 2005-04-28  Werner LEMBERG  <wl@gnu.org>
1958         Bug fix for Win32 relocatable code.  Based on a patch from Keith
1959         Marshall.
1961         * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1962         also.
1964         * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1965         (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1967 2005-04-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
1969         Correct `gnu.eps' handling for build from distribution tarball, with
1970         separate source and build directories.
1972         * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1973         grnexmpl.g, groff.css and gnu.eps from source to build directory;
1974         generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1975         (prepare_examples): Make it depend on examples.stamp.
1976         (CLEANADD): Add examples.stamp.
1978 2005-04-27  Werner LEMBERG  <wl@gnu.org>
1980         Implement the rule
1982           position: `(' position `)'
1984         in pic.
1986         * src/preproc/pic/pic.y (position, position_not_place): Handle
1987         additional parentheses.
1989         * doc/pic.ms: Updated.
1991 2005-04-23  Larry Jones  <lawrence.jones@ugs.com>
1993         * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1995 2005-04-18  Werner LEMBERG  <wl@gnu.org>
1997         * src/roff/groff/pipeline.c: Don't include ctype.h.
1999 2005-04-13  Werner LEMBERG  <wl@gnu.org>
2001         * src/roff/nroff/nroff.man: Document option `-M'.
2003 2005-04-13  Bruce Lilly  <blilly@erols.com>
2005         * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2007 2005-04-01  Kees Zeelenberg  <kzlg@users.sourceforge.net>
2008             Werner LEMBERG  <wl@gnu.org>
2010         Add binary relocation support for Windows platforms.
2012         * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2014         * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2016         * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2017         (search_path::search_path, search_path::open_file_cautious): Use
2018         `relocate'.
2020         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2021         src/include/Makefile.sub (HDRS): Updated.
2023 2005-04-01  Werner LEMBERG  <wl@gnu.org>
2025         * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2026         strsave/a_delete.
2028         * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2030         * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2031         lib.h already does it.
2033         * src/libs/libgroff/maxpathname.cpp: New file, defining
2034         path_name_max.
2036         * src/include/lib.h: Add prototype for path_name_max.
2038         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2040         * src/include/nonposix.h (PATH_EXT): New macro.
2042 2005-03-28  Werner LEMBERG  <wl@gnu.org>
2044         Add support for double- and zero-width characters in grotty.
2046         * src/devices/grotty/tty.cpp (glyph): Add width.
2047         (tty_printer::make_underline, tty_printer::make_bold,
2048         tty_printer::add_character): Add parameter to pass character width.
2049         Update all callers.
2050         (tty_printer::end_page): Increase hpos by actual character width.
2052         * font/devutf8/R.proto: Specify zero width for non-spacing
2053         characters.
2055         * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2057         * Makefile.comm (extraclean): Remove more junk files.
2059 2005-03-25  Werner LEMBERG  <wl@gnu.org>
2061         * configure.ac: Undo change from 2005-03-24.
2062         * configure: Regenerated.
2064 2005-03-24  Werner LEMBERG  <wl@gnu.org>
2066         * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2067         (dist): Search Makefile while descending into $(EXTRADIRS).
2069         * doc/Makefile.in (.PHONY): Add.
2070         (clean): Don't remove *.png and *.eps.
2071         Don't handle *.gif.
2072         (realclean): Remove *.png and *.eps.
2073         (extraclean): Depend on distclean.
2075         * configure.ac: Add copyright.
2076         Handle contrib/pdfmark/Makefile.
2078         * configure: Regenerated.
2080 2005-03-18  Larry Kollar  <kollar@alltel.net>
2082         Add numbered and definition lists to www.tmac.
2084         * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2085         www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2086         auxiliary string registers.
2087         (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2088         www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2089         (www-level): Removed.
2090         (www-level1, www-level2, www-level3): Initialize to empty.
2091         (www-level0, www-level4, www-level5, www-level6, www-level7,
2092         www-level8, www-level9): New string registers.
2093         (www-push-li, www-pop-li): New macros.
2094         (www-push-level, www-pop-level): Renamed to...
2095         (www-push-ul-level, www-pop-ul-level): This.
2096         Updated.
2097         (www-push-ol-level, www-pop-ol-level): New macros.
2098         (ULS, ULE): Updated.
2099         (OLS, OLE, DLS, DLE): New user macros.
2100         (LI): Removed.  It is aliased to one of...
2101         (www-li-ul, www-li-ol, www-li-dl): New macros.
2103         * tmac/groff_www.man: Document new macros.
2105         * NEWS: Updated.
2107 2005-03-18  Werner LEMBERG  <wl@gnu.org>
2109         * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2110         doc-operating-system-NetBSD-2.0.2): New strings.
2112         * tmac/groff_mdoc.man: Updated.
2114 2005-03-17  Werner LEMBERG  <wl@gnu.org>
2116         * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2118 2005-03-17  Werner LEMBERG  <wl@gnu.org>
2120         * src/libs/libgroff/hypot.c: Renamed to...
2121         * src/libs/libgroff/hypot.cpp: This.  Updated to C++.
2123         * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2125         * src/include/lib.h: Updated.
2127 2005-03-16  Werner LEMBERG  <wl@gnu.org>
2129         Add workaround for broken hypot() on Interix.
2131         * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2133         * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2134         (CSRCS): Add `hypot.c'.
2136         * src/include/lib.h: Declare `groff_hypot'.
2138         * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2139         Use `groff_hypot'.
2141         * src/preproc/pic/pic.h: Don't declare `hypot'.
2143         * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2145 2005-03-15  Gaius Mulley  <gaius@glam.ac.uk>
2147         * src/devices/grohtml/post-html.cpp
2148         (html_printer::lookahead_for_tables): End .ce properly to avoid a
2149         segfault.
2151 2005-03-15  Werner LEMBERG  <wl@gnu.org>
2153         makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2155         * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2157         * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2159 2005-03-14  Werner LEMBERG  <wl@gnu.org>
2161         Add Cyrillic support to devutf8 and devhtml.
2163         * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2165         * tmac/unicode.tmac: New file.
2167         * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2169         * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2171         * NEWS: Updated.
2173 2005-03-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
2175         * src/libs/libdriver/printer.cpp (check_for_output_error): New
2176         function.  It has been introduced to catch peculiar error contexts
2177         on MS-Windows platforms.
2179 2005-02-28  Werner LEMBERG  <wl@gnu.org>
2181         * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2182         null pointer.
2184         * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2186         * configure: Regenerated.
2188         * NEWS: Updated.
2190 2005-02-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
2192         Integrate `pdfmark' into normal groff build system;
2193         install macro `pdfmark' packages, build and install `pdfroff',
2194         and PDF format documentation.
2196         * Makefile.comm: Add PDFDOCDIR.
2198         * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2199         pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2200         (unstall_dirs): Add pdfdocdir.
2202         * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2203         `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2204         (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2205         GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2206         (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2207         (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2208         set ALT_AWK_PROGS.
2209         (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2210         use of GROFF_AWK_PREFS.
2211         (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2212         and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2214         * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2215         Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2216         also by modified GROFF_HTML_PROGRAMS).
2218 2005-02-27  Gaius Mulley  <gaius@glam.ac.uk>
2220         * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2221         paragraph spacing.
2222         (html_text::done_para): Unset `start_space'.
2223         (html_text::remove_para_align): Call `retrieve_para_space' for the
2224         spacing.
2226         * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2227         `seen_space'.
2228         (html_printer::do_check_center): Emit vertical space if necessary.
2230         * src/roff/troff/env.cpp (environment_switch): Preserve
2231         `seen_space', `seen_eol', and `suppress_next_eol' while switching
2232         environments.
2234         * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2235         `is_special'.
2237 2005-02-20  Werner LEMBERG  <wl@gnu.org>
2239         * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2240         eqn.
2242 2005-02-17  Werner LEMBERG  <wl@gnu.org>
2244         * doc/pic.ms, man/groff.man: Fix typos.
2246         * doc/groff.texinfo: Fix typos.
2247         (\LEmacro): Get proper mathematical spacing.
2249 2005-02-16  Werner LEMBERG  <wl@gnu.org>
2251         * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2252         * configure: Regenerated with autoconf 2.59b.
2254 2005-02-16  Gaius Mulley  <gaius@glam.ac.uk>
2256         * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2257         html_printer::start_font): Fix handling of preformatted text.
2259 2005-02-15  Gaius Mulley  <gaius@glam.ac.uk>
2261         These patches modify the indentation implementation to use `<p
2262         style=margin-left: n%>'.  Many thanks to Peter and Larry for
2263         suggesting this solution.  Grohtml only uses tables for `.IP' and
2264         related tags when the first operand has a short width.
2266         Similarly, they modify all vertical space code.  By default, grohtml
2267         sets up a style sheet which uses no vertical space between `table',
2268         `pre', and `p' tags.  It forces spaces when it needs them using
2269         `style="margin-top: 1em"'.
2271         * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2272         (html_table::emit_table_header, html_table::emit_new_row):
2273         Rewritten.
2274         (html_table::set_space): New function.
2275         (html_indent::html_indent): Don't set `is_used'.
2276         (html_indent::begin): Rewritten.
2277         (html_indent::end): Remove code in function.
2279         * src/devices/grohtml/html-table.h: Updated.
2280         (html_table): Make `out' public.
2282         * src/devices/grohtml/html-text.cpp (html_text::html_text):
2283         Initialize `start_space' with FALSE.
2284         (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2285         (html_text::issue_tag): Add argument to handle space style.
2286         (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2287         (html_text::flush_text): Don't set `start_space'.
2288         (html_text::push_para): Don't set `p->really_issued'.
2289         (html_text::do_emittext): Updated.
2290         (html_text::do_para): Add paremeter to handle space.
2291         Update all callers.
2292         (html_text::retrieve_para_space): New function.
2294         * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2295         (tag_definition): Remove `really_issued'.
2296         (html_text): Updated.
2298         * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2299         `current_column' and `row_space'.
2300         Update constructor.
2301         (html_printer::emit_raw, html_printer::write_header,
2302         html_printer::do_indent, html_printer::do_check_center,
2303         html_printer::do_tab_ts): Handle vertical space.
2304         (html_printer:do_tab_te, html_printer::do_end_para): Call
2305         `remove_para_space'.
2306         (html_printer::do_col): Rewritten.
2307         (html_printer::flush_globs): Remove debugging code.
2308         (html_printer::is_line_start): New function.
2309         (html_printer::start_font): Use `is_line_start'.
2310         (html_printer::writeHeadMetaStyle): New function.
2311         (html_printer::do_file_components, html_printer::~html_printer):
2312         Call `writeHeadMetaStyle'.
2314         * tmac/www.tmac (www-handle-percent): New macro.
2315         (MPIMG): Handle percent values for width and height parameters.
2316         (DC): Updated.
2318         * tmac/groff_www.man: Updated.
2320 2005-02-14  Werner LEMBERG  <wl@gnu.org>
2322         * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2323         $psname and $italic_angle.
2324         Immediately restart file input loops if `split' returns an empty
2325         array.
2327 2005-02-13  Michail Vidiassov  <master@iaas.msu.ru>
2328             Werner LEMBERG  <wl@gnu.org>
2330         Update afmtodit to better support Unicode (Michail).
2331         Update afmtodit to use Perl 5 syntax (Werner).
2333         * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2334         `Getopts::Std'.
2335         Decorate variables with `my' where necessary.
2336         Use `defined' where necessary to avoid warnings.
2337         Don't use `do' for subroutine calls.
2338         Other minor syntax updates.
2339         Check for both `uXXXX[X[X]]' and `uniXXXX'.
2340         Handle glyph variants properly.
2341         (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2342         strings.
2344         * src/utils/afmtodit/afmtodit.man: Updated.
2346 2005-02-13  Werner LEMBERG  <wl@gnu.org>
2348         Make groff.texinfo work with texinfo 4.8.
2350         * doc/groff.texinfo (@Var): Use @r and @slanted.
2351         (@defdummy, @Def*): Use @c to avoid empty lines.
2352         (\angles): Replaced with...
2353         (\Langlemacro, \Ranglemacro): New TeX macros.
2354         (@Langlemacro, @Ranglemacro): New variables defined with @set.
2355         (@angles): Use @Langlemacro and @Ranglemacro.
2356         (\LE): Replaced with...
2357         (\LEmacro): New TeX macro.
2358         (@LEmacro): New variable defined with @set.
2359         (@LE): Use @LEmacro.
2360         (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2361         variables defined with @set.
2362         (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2363         (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2364         Update all callers.
2366         Other minor updates.
2368         * doc/texinfo.tex: Update to texinfo version 4.8.
2370         * README.CVS: Updated.
2372 2005-02-09  Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2374         * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2375         and `FAM' registers.
2377 2005-02-05  Werner LEMBERG  <wl@gnu.org>
2379         * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2380         tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2381         Update BSD license.
2383 2005-02-01  Werner LEMBERG  <wl@gnu.org>
2385         * src/roff/groff/groff.man: Add information about paper size.
2387 2005-01-25  Werner LEMBERG  <wl@gnu.org>
2389         * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale.  From
2390         NetBSD bin/29114.
2392 2005-01-22  Ruslan Ermilov  <ru@FreeBSD.org>
2394         * tmac/doc.tmac (Sm): Improved.  It didn't work properly in many
2395         cases.
2396         (Re): Emit a warning if called without `.Rs'.
2397         (doc-finish-reference): Use parameter for decreasing
2398         `doc-reference-count'.
2399         (doc-print-reference): Pass specific count parameters to
2400         `doc-finish-reference'.
2402 2005-01-21  Werner LEMBERG  <wl@gnu.org>
2404         * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2405         Reset pointers to zero after deallocation.  This fixes a crash
2406         if a driver is called with multiple input files.  Reported by
2407         Ken Chilton <ken@chiltonfamily.org>.
2409         * src/devices/grops/grops.man: Add more info on DSC.
2411 2005-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
2413         * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2414         Remove dead code.
2416 2005-01-17  Werner LEMBERG  <wl@gnu.org>
2418         * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2419         against division by zero.
2421 2005-01-13  Ruslan Ermilov  <ru@FreeBSD.org>
2423         * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2425 2004-12-19  Werner LEMBERG  <wl@gnu.org>
2427         * install-sh: New version; taken from texinfo CVS.
2429 2004-12-17  Werner LEMBERG  <wl@gnu.org>
2431         * tmac/devtag.tmac: Protect against loading twice.
2432         Protect agains compatibility mode.
2433         * tmac/www.tmac: Protect against loading twice.
2434         Load `devtag.tmac' before switching off compatibility mode.
2435         * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2437 2004-12-16  Mike Bianchi  <mbianchi@Foveal.com>
2439         * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2440         * configure: Updated.
2442 2004-12-15  Thomas Klausner  <wiz@netbsd.org>
2444         * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2446 2004-12-15  Werner LEMBERG  <wl@gnu.org>
2448         Make `test-groff' work again -- previously, wrong paths have been
2449         used.  Additionally, it can now be called from anywhere.
2451         * test-groff.in: Don't test for groff binary.  This is no longer
2452         necessary since the proper paths are determined by `configure'.
2453         (EXEEXT): Removed.  No longer used.
2454         (srcdir, builddir): Use values provided by the configure script.
2455         (XENVIRONMENT): Updated.
2457         * INSTALL: Updated.
2459 2004-12-14  Gaius Mulley  <gaius@glam.ac.uk>
2461         Make .tag and .taga work for all devices (but only grohtml actually
2462         handles them).
2464         * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2465         (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2466         html_printer::handle_assertion): Don't use hard-coded string
2467         lengths.
2468         (html_printer::lookahead_for_table): Reset `tbl' properly if
2469         necessary.
2470         (html_printer::devtag): New function, handling `devtag'.
2471         (html_printer::special): Don't handle `html-tag'.
2473         * src/include/printer.h, src/libs/libdriver/printer.cpp
2474         (printer::devtag): New virtual function.
2476         * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2477         `devtag'.
2479         * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2480         src/roff/troff/node.cpp: s/html-tag/devtag/.
2482         * src/roff/troff/input.cpp (tag, taga): Always call
2483         curenv->add_node.
2485         * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2486         macros instead of HTML-TAG*.
2488         * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2490         * tmac/www.tmac: Load devtag.tmac.
2491         Replace HTML-TAG* macros with DEVTAG* macros.
2492         (HTML, HTML-NS): Changed definitions.
2493         (URL): Use HTML-NS.
2494         (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2496         * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2498 2004-12-10  Werner LEMBERG  <wl@gnu.org>
2500         Import Mike's `gdiffmk' package.
2502         * contrib/gdiffmk/*: New files.
2503         * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2504         * NEWS: Updated.
2506 2004-12-08  Werner LEMBERG  <wl@gnu.org>
2508         Import Keith's `pdfmark' package.  Integration is very preliminary.
2510         * contrib/pdfmark/*: New files.
2511         * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2512         * NEWS: Updated.
2514 2004-12-07  Gaius Mulley  <gaius@glam.ac.uk>
2516         Fix a bug with title handling in HTML.
2518         * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2519         text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2520         length.
2521         (html_printer::handle_tag_within_title): New function.
2522         (html_printer::do_title): Use it.
2524         * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2525         (cov*tl-au-print): Emit `.eo.tl' tag.
2527 2004-12-05  Alejandro López-Valencia  <dradul@etb.net.co>
2529         * man/groff_char.man: Minor imrovements.
2531 2004-12-04  Werner LEMBERG  <wl@gnu.org>
2533         * src/preproc/eqn/eqn.man: Revised.
2535 2004-11-25  Werner LEMBERG  <wl@gnu.org>
2537         * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2538         groff source files.
2539         Include config.h.
2540         Include limits.h.
2541         Remove X_NOT_STDC_ENV conditional.
2542         (Version_string, program_name): New global variables.
2543         (groff_flag): Removed.
2544         (MapFont): Updated.
2545         (usage): Take a stream as argument.
2546         Use `program_name'.
2547         Update all callers.
2548         (main): Add `long_options' array for `--help' and `--version'.
2549         Make `-g' a dummy option.
2550         Handle `-v' and unknown options.
2551         Remove unused `position' variable.
2553         * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2554         (XLIBS): Add LIBGROFF.
2556         * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2557         New files.
2559         * src/devices/xditview/Dvi.c (default_font_map): Split into three
2560         parts to avoid compiler warning.
2561         (resources): Don't initialize with `default_font_map'.
2562         (ClassInitialize): Initialize first element of `resources'.
2564         * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2565         Removed.
2567         * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2568         src/utils/pfbtops/pfbtops.man: Revised, updated.
2570         * configure.ac: Generate src/utils/xtotroff/Makefile.
2571         * configure: Regenerated.
2573 2004-11-24  Werner LEMBERG  <wl@gnu.org>
2575         First fixes to get produce HTML.
2577         * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2578         attribute.
2580         * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2581         (HR, LI): Use `HTML</p>', not `HTML'.
2583         * doc/webpage.ms: Minor updates.
2585 2004-11-23  Larry Kollar  <kollar@alltel.net>
2587         Add option -S grohtml to determine the file split level.
2589         * src/devices/grohtml/post-html.cpp (split_level): New global
2590         variable.
2591         (html_header::determine_header_level): Use split_level.
2592         (main): Handle `-S' command line option.
2593         Sort options.
2595         * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2597         * src/devices/grohtml/grohtml.man: Document it.
2598         Sort options.
2600         * NEWS: Document it.
2602 2004-11-23  Y T  <doarhop@hotmail.com>
2604         * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2605         the volume and number refer entries.
2607 2004-11-22  Werner LEMBERG  <wl@gnu.org>
2609         * src/devices/grohtml/html-table.cpp
2610         (html_table::emit_table_header): Don't emit `cols' attribute which
2611         doesn't exist in HTML 4.0 and is thus invalid.
2613         * NEWS: More minor fixes and updates.
2615 2004-11-18  Werner LEMBERG  <wl@gnu.org>
2617         * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2618         (HTML</p>): Minor clean-up.
2620         * tmac/groff_www.man: Updated.
2622         * src/devices/grohtml/grohtml.man: Revised and updated.
2624         * NEWS: Updated.
2626 2004-11-18  Gaius Mulley  <gaius@glam.ac.uk>
2628         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2629         Fix space insertion.
2630         (html_printer::do_links): Fix rules generation around automatic
2631         heading links.
2633         * tmac/www.tmac (LK): Use HTML-TAG-NS.
2634         (HR): Simplify.
2635         No longer emit empty line for non-HTML devices.
2637 2004-11-17  Werner LEMBERG  <wl@gnu.org>
2639         * doc/Makefile.in (prepare_examples, webpage.html): Handle
2640         `groff.css'.
2642         * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2643         prepare_examples, webpage.html): Handle `groff.css'.
2645 2004-11-15  Werner LEMBERG  <wl@gnu.org>
2647         * NEWS, README, doc/webpage.ms: Updated.
2649         * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2651 2004-10-30  Gaius Mulley  <gaius@glam.ac.uk>
2653         * src/include/printer.h (printer): Remove virtual function
2654         `round_width'.
2655         Update all source files.
2657         * src/devices/grohtml/post-html.cpp (html_printer): New member
2658         function `round_width'.
2660 2004-10-20  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
2662         * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2663         column key letter suffix.
2665 2004-10-14  Werner LEMBERG  <wl@gnu.org>
2667         * Makefile.in (check): Depend on `site.exp' and `docheck'.
2668         (docheck): Run dejagnu's `runtest' if it exists.
2669         (site.exp): Create dejagnu configuration file.
2671         * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2673 2004-10-13  Werner LEMBERG  <wl@gnu.org>
2675         * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2676         src/devices/grohtml/post-html.cpp (make_val,
2677         html_printer::handle_state_assertion): Fix compiler warnings.
2679         * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2680         (diversion::diversion): Fix order of initializers.
2682         * src/roff/troff/div.h: Don't include `mtsm.h'.
2684         * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2685         (environment::environment): Fix order of initializers.
2686         (environment::make_tag, environment::construct_format_state): Fix
2687         compiler warnings.
2689         * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2690         (input_iterator::input_iterator, macro::macro): Fix order of
2691         initializers.
2693         * src/roff/troff/mtsm.cpp: Include only necessary header files.
2694         (state_set::add, state_set::val): Fix compiler warnings.
2696         * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2697         (bool_value_state, int_value_state, units_value_state,
2698         string_value_state): Remove comma after last element which causes
2699         an error with g++ 3.3.3.
2701         * src/roff/troff/node.cpp: Include `stringclass.h'.
2702         (hline_node::hline_node, vline_node::vline_node,
2703         space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2704         warnings.
2705         (zero_width_node::zero_width_node): Fix order of initializers.
2707         * src/roff/troff/node.h: Don't include `mtsm.h'.
2708         (hmotion_node): Fix compiler warnings.
2710         * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2712 2004-10-12  Gaius Mulley  <gaius@glam.ac.uk>
2714         * doc/groff.css: New file.
2716         * doc/webpage.ms: Use `groff.css'.
2717         Other small fixes.
2719         * tmac/an-old.tmac (need_eo_h): New number register.
2720         (TH): Emit `.eo.tl' tag after title.
2721         (SH): Set `need_eo_h'.
2722         (an-trap): Handle `need_eo_h'.
2723         (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2725         * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2726         (TL): Always start diversion.
2727         Updated.
2728         (@AI): Always call `par@reset'.
2729         (@AB): Update code for -Thtml.
2730         (cov*tl-au-print): Handle -Thtml.
2731         (par@reset): Handle `need_eo_tl', `need_eo_h'.
2732         (@IP): Simplified.
2733         (@IT-html): Removed.
2734         (@SH): Set `need_eo_h' for -Thtml.
2735         (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2736         Set `need_eo_tl'.
2737         (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2738         Set `need_eo_h' for -Thtml.
2739         (@EQ, @EN): Don't handle -Thtml specially.
2740         (par@load-init): Don't handle -Thtml specially.
2742         * tmac/www.tmac (www:paraspace): New macro.
2743         (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2744         (HTML</p>, HTML-TAG-NEXT): New macros.
2745         (HnE): Emit tag `.eo.h' instead of break.
2746         (HR): s/HTML-NS/HTML/.
2747         (www-end-nowhere): End diversion only if `www-html' not set.
2748         Emit `.eo.tl' tag.
2749         (ULS, ULE): s|HTML|HTML</p>|.
2750         (LI): Call `www:paraspace'.
2751         (HEAD): New macro.
2753 2004-10-11  Gaius Mulley  <gaius@glam.ac.uk>
2755         * src/roff/troff/request.h (macro): Make `p' public.
2756         New variable `is_a_diversion'.
2757         New member function `is_diversion'.
2760         * src/devices/grohtml/html.h (simple_output): New member function
2761         `force_nl'.
2763         * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2764         computation of `total'.
2765         (tabs::check_init): New function.
2766         (html_table::emit_table_header): Emit style data.
2767         (html_table::insert_column): Improved.
2769         * src/devices/grohtml/html-table.h: Updated.
2771         * src/devices/grohtml/html-text.cpp (html_text::html_text):
2772         Initialize `start_space' with TRUE.
2773         (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2774         cases.
2775         (html_text::flush_text): Set `start_space' flag.
2776         (html_text::uses_indent, html_text::remove_para_space,
2777         html_text::get_alignment): New functions.
2778         (html_text::push_para): Updated.
2779         (html_text::do_para): Check for empty argument.
2780         Don't set `space_emitted'.
2781         (html_text::do_space, html_text::emit_space): Updated.
2783         * src/devices/grohtml/html-text.h (tag_definition): New variable
2784         `really_issued'.
2785         (html_text): New member function `uses_indent', `remove_para_space',
2786         `get_alignment'.
2788         * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2789         function.
2790         (simple_output:nl): Always emit `\n'.
2792         * src/devices/grohtml/post-html.cpp: Include `string.h'.
2793         (BASE_POINT_SIZE): Removed.
2794         (base_point_size, head_info): New global variables.
2795         (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2796         `is_eo_h'.
2797         (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2798         tags, respectively.
2799         (page::add_and_encode): Pass additional parameter for tag flag.
2800         (assert_pos): New structure.
2801         (assert_state): New class.
2802         (html_printer): Remove `indentation', `prev_indent'.
2803         Add variables `troff_indent', `device_indent', `temp_indent'.
2804         Add variables `seen_indent', `next_indent', `seen_pageoffset',
2805         `next_pageoffset', `seen_linelenght', `next_linelength',
2806         `seen_center', `next_center', `seen_space', `seen_break', `as'.
2807         Add member functions `do_check_center', `do_space', `do_head',
2808         `get_troff_indent', `restore_troff_indent', `handle_assertion',
2809         `handle_state_assertion', `do_end_para', `set_char_and_width'.
2810         Change argument to `do_fill' to `char *'.
2811         Update constructor.
2812         (html_printer::emit_raw): Call `shutdown_table'.
2813         Use new functions.
2814         (html_printer::do_center): Simplified.
2815         (html_printer::do_title): Improved.
2816         (html_printer::write_header): Emit one more newline.
2817         Use new functions.
2818         (html_printer::do_heading, html_printer::do_indent,
2819         html_printer::do_eol, html_printer::do_tab_ts,
2820         html_printer::do_tab, html_printer::do_tab0,
2821         html_printer::calc_po_in, html_printer::next_horiz_pos,
2822         html_printer::remove_courier_tabs,
2823         html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2824         Updated.
2825         (html_printer::do_linelength, html_printer::do_pageoffset,
2826         html_printer::do_indentation, html_printer::do_tempindent,
2827         html_printer::do_tab_te): Simplified.
2828         (html_printer::do_pointsize): Check whether point size is really
2829         associated a `.tl' tag.
2830         (html_printer::do_break): Rewritten.
2831         (html_printer::troff_tag): Improved.
2832         (html_printer::flush_globs): Updated.
2833         (html_printer::lookahead_for_tables): Handle `is_br'.
2834         Use new functions.
2835         (html_printer::set_char): Check `sbuf_style.f'.
2836         (html_printer::write_navigation): Use string comparison.
2837         (html_printer::~html_printer): Emit `head_info'.
2838         (html_printer::special): Rewritten.
2839         (get_str, make_val): New functions.
2840         (main): New option `s' to set the base point size.
2842         * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2844 2004-10-10  Gaius Mulley  <gaius@glam.ac.uk>
2846         * src/roff/troff/node.cpp: New extern `debug_state'.
2847         Include `stringclass.h' and `mtsm.h'.
2848         Implement new classes and class members from `node.h'.
2849         (real_output_file): Make `fp' public.
2850         (troff_output_file): New variables `cur_div_level' and `tag_list'.
2851         Update constructors.
2852         (troff_output_file::really_print_line): Check whether we should push
2853         the current troff state and use the state at the start of the
2854         invocation of this diversion.
2855         (troff_output_file::add_to_tag_list): New member function.
2856         (node::add_char): Handle `glyph_comp_np'.
2858         * src/roff/troff/node.h: Include `mtsm.h'.
2859         (node): New variables `state', `push_state', `div_nest_level',
2860         `is_special'.  Update constructors, all descendants.
2861         Pass additional argument to `add_char' member function.
2862         New virtual member functions `is_tag', `debug_node',
2863         `debug_node_list'.  Update all descendants.
2864         (tag_node): New class for handling tags.
2865         (output_file): Add variable `state'.
2867 2004-10-09  Gaius Mulley  <gaius@glam.ac.uk>
2869         * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2870         providing a minimal troff state machine to emit meta tags for the
2871         post-grohtml device driver.
2873         * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2874         files.
2876 2004-10-09  Werner LEMBERG  <wl@gnu.org>
2878         * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2880 2004-10-06  Gaius Mulley  <gaius@glam.ac.uk>
2882         * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2884         * src/roff/troff/div.h: Include `mtsm.h'.
2885         (diversion): New variables `any_chars_added', `needs_push',
2886         `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2887         `saved_suppress_next_eol', `modified_tag'.
2888         New virtual member function `is_diversion'.  Update all descendants.
2890         * src/roff/troff/div.cpp (diversion::diversion,
2891         macro_diversion::macro_diversion): Updated.
2892         (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2893         `suppress_next_eol'.
2894         (top_level_diversion::space): Handle `curenv->seen_space'.
2895         (page_offset): Update tag handling.
2896         (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2898         * src/roff/troff/env.h (environment): Make `tabs' public.
2899         Remove `ignore_next_eol', `emitted_node'.
2900         Update `output_line', `output'.
2901         New variables `seen_space', `seen_eol', `suppress_next_eol',
2902         `seen_break'.
2903         New member functions `construct_state', `make_tag',
2904         `construct_format_state, `construct_new_line_state,
2905         `dump_troff_state'.
2906         Remove `add_html_tag', `make_html_tag'.
2908         * src/roff/troff/env.cpp: New externs `suppress_push',
2909         `get_diversion_state', `global_diverted_space'.
2910         (pending_output_line): New variable `was_centered'.
2911         Update constructor and all callers.
2912         (pending_output_line::output): Call `curenv->construct_format_state'.
2913         (environment::environment, environment::copy): Updated.
2914         (environment::output): Handle `was_centered'.
2915         (environment::add_char): Handle construct and diversion state.
2916         (environment::add_node): Handle construct state.
2917         (environment::newline): Handle `was_centered'.
2918         (environment::output_line): Updated.
2919         (environment::possibly_break_line): Updated.
2920         Update tag handling.
2921         (environment::add_html_tag): Replaced with...
2922         (environment::make_tag): New function.
2923         (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2924         (environment::dump_troff_state): New debugging function.
2925         (environment::construct_state, environment::construct_format_state,
2926         environment::construct_new_line_state): New functions.
2927         (environment::do_break): Updated.
2928         Handle `global_diverted_space'.
2929         (environment::handle_tag): Update tag handling.
2930         (point_size, fill, do_break_request): Don't call `add_html_tag'.
2931         (no_fill): Don't call `add_html_tag'.
2932         Set `suppress_next_eol'.
2933         (center, right_justify, line_length, indent, temporary_indent,
2934         set_tabs):
2935         Update tag handling.
2937         * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2938         (input_iterator): New variables `is_diversion', `diversion_state'.
2939         Update constructors.
2940         (input_stack): New member functions `get_div_level',
2941         `get_diversion_state', `check_end_diversion'.
2942         New variables `div_level', `diversion_state'.  Initialize them.
2943         (suppress_push, global_diverted_space): New global variables.
2944         (input_stack::finish_get, input_stack::finish_peek,
2945         input_stack::remove_boundary, input_stack::end_file,
2946         input_stack::clear, input_stack::pop_macro): Call
2947         `check_end_diversion'.
2948         (input_stack::push): Handle `div_level' and `diversion_state'.
2949         (get_diversion_state): New function.
2950         (diverted_space_node::reread): Handle `global_diverted_space'.
2951         (macro::macro): Update constructors.
2952         (macro::is_diversion): New function.
2953         (macro::operator=): Set `is_a_diversion'.
2954         (string_iterator): New member function `is_diversion'.
2955         (string_iterator::string_iterator): Update constructors.
2956         (string_iterator::fill): Set `div_nest_level'.
2957         (macro_iterator): New member function `is_diversion'.
2958         (do_if_request): Handle `suppress_push'.
2959         (tag, taga): New functions.
2960         (init_input_requests): Add `tag' and `taga' requests.
2962 2004-10-05  Gaius Mulley  <gaius@glam.ac.uk>
2964         * src/include/font.h (font): New member function
2965         `get_image_generator'.
2966         New variables `unscaled_charwidths' and `image_generator'.
2968         * src/libs/libgroff/font.cpp (font::get_width): Always return the
2969         character's unscaled width if `font::unscaled_charwidths' is set.
2970         (font::get_image_generator): New function.
2971         (font::load_desc): Check the `unscaled_charwidths' and
2972         `image_generator' keywords.
2974         * src/libs/libgroff/fontfile.cpp: Initialize
2975         `font::unscaled_charwidths' and `font::image_generator'.
2977         * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2979         * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2981         * man/groff_font.man: Document `unscaled_charwidths' and
2982         `image_generator'.
2984         * src/preproc/html/pre-html.cpp: Include `device.h'.
2985         (image_gen): New global variable.
2986         (imageList::createPage): Use `image_gen'.
2987         (main): Use `image_generator' keyword.
2989 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
2991         * tmac/html.tmac: Handle \[sqrtex].
2993 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
2995         * src/include/printer.h (printer): New virtual method `round_width'.
2997         * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2998         src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2999         src/devices/grotty/tty.cpp (printer::round_width): New function
3000         member.
3002         * src/devices/grohtml/post-html.cpp (printer::round_width): New
3003         function member.
3004         (html_printer::set_numbered_char): Use it.
3006 2004-10-03  Gaius Mulley  <gaius@glam.ac.uk>
3008         * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3010         * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3012         * configure: Regenerated.
3014         * Makefile.in (GHOSTSCRIPT): New variable.
3015         (MDEFINES): Add GHOSTSCRIPT.
3017 2004-10-03  Werner LEMBERG  <wl@gnu.org>
3019         * INSTALL.gen: Updated (taken from texinfo CVS).
3021 2004-09-28  Werner LEMBERG  <wl@gnu.org>
3023         * NEWS: Updated.
3025 2004-09-28  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3027         * tmac/groff_www.man: Revised and updated.
3029 2004-09-26  Werner LEMBERG  <wl@gnu.org>
3031         Fix \$@ and \$* to handle any number of arguments.
3033         * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3034         characters.
3036         * src/roff/troff/input.cpp (input_iterator::internal_level):
3037         Removed.
3038         (input_stack): New member functions `increase_level' and
3039         `decrease_level'.
3040         (input_stack::get_level): Don't use `internal_level'.
3041         (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3042         (end_quote_iterator): Completely removed.
3043         (interpolate_arg): Build string for \$@ and \$* which is then
3044         pushed onto the input stack.
3046 2004-09-23  Keith Marshall  <keith.d.marshall@ntlworld.com>
3048         * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3049         Registers): Document changes from 2004-09-19.
3051 2004-09-23  Werner LEMBERG  <wl@gnu.org>
3053         * tmac/an-old.tmac (ne): Using default scaling operator.
3055 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
3057         This change implements the following features:
3059         PORPHANS
3060           New numeric register: Defines number of lines following LP, PP,
3061           QP, IP or XP, which must be kept together, before any automatic
3062           page break.  If insufficient space remains on the current page, a
3063           page break is forced before the new paragraph begins.
3065         HORPHANS
3066           New numeric register: Sets number of lines of following paragraph
3067           which must be kept with a heading, defined by NH or SH, before any
3068           automatic page break.  If insufficient space remains on the
3069           current page, a page break is forced before the heading.
3071         GROWPS
3072           (Thanks to Joerg van den Hoff, for this idea).
3074           New numeric register: Sets the first level of heading (set with
3075           NH), which will keep the same point size as body text; e.g. if
3076           GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3077           point size specified by \n[PS], but .NH 2 and .NH 1 will have
3078           progressively larger point sizes, determined by \n[PSINCR] (see
3079           below).
3081         PSINCR
3082           New numeric register: Sets the point size increment for each level
3083           of heading, (set with NH), below the threshold level set by
3084           GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3085           then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3086           and all other levels will remain at 10pt, (because \n[PS] = 10).
3088         SH
3089           Existing macro now accepts a numeric argument, to make heading
3090           size match that of NH with same argument value, when the
3091           GROWPS/PSINCR feature is enabled.
3093         SN-DOT
3094           New string, set by NH macro, replaces the existing (undocumented)
3095           use of SN, to represent the assigned section number.
3097         SN-NO-DOT
3098           New string, set by NH macro, represents the assigned section
3099           number, but omits the terminal period (periods at intermediate
3100           levels are retained).
3102         SN
3103           String set by NH macro, originally undocumented, now implemented
3104           as an alias for SN-DOT (which reproduces original behaviour).
3106         * tmac/s.tmac (PORPHANS): New register.
3107         (par*start): Use it.
3108         (HORPHANS, GROWPS, PSINCR): New registers.
3109         (SH-NO-TAG, @SH): Use them.
3110         (@NH): Improved.
3112 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
3114         * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3115         Document the deletion of `Ds' and `De' macros.
3117 2004-09-10  Werner LEMBERG  <wl@gnu.org>
3119         In tbl, handle \a as an interpreted leader character if in
3120         compatibility mode.
3122         * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3123         LEADER_CHAR): New macros.
3124         (compatible_flag): New declaration.
3126         * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3127         LEADER_3, and LEADER_4 to `state'.
3128         (table_input::get): Handle `\a'.
3130         * src/preproc/tbl/table.cpp (PREFIX): Removed.
3131         (LEADER_REG): New macro.
3132         (table::init_output): Define LEADER_REG string register if in
3133         compatibility mode.
3135         * src/preproc/tbl/tbl.man: Document it.
3137 2004-08-18  Werner LEMBERG  <wl@gnu.org>
3139         * tmac/doc.tmac (An): Fix error message.
3141 2004-08-06  Werner LEMBERG  <wl@gnu.org>
3143         * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3144         file can't be opened.  UNIX tbl has the same behaviour.
3146 2004-08-05  Y T  <doarhop@hotmail.com>
3148         * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3149         (DBRead): If in compatibility mode, take into account the text
3150         when computing figure boundaries.
3152 2004-08-05  Werner LEMBERG  <wl@gnu.org>
3154         * src/preproc/soelim/soelim.man: Improved.  Based on suggestions
3155         from Tadziu Hoffmann.
3157 2004-08-03  Werner LEMBERG  <wl@gnu.org>
3159         * doc/meref.me: Document `_M' register.
3161 2004-08-03  Martin Husemann  <martin@duskware.de>
3163         Make hpftodit work correctly on big-endian systems.
3165         * src/utils/hpftodit/hpftodit.cpp (File): New method
3166         `get_uint32(char *)'.
3167         (entry): New member `orig_value'.
3168         (read_tags): Use new method.
3169         (output_font_name, read_and_output_pcltypeface, dump_ascii):
3170         Updated.
3172 2004-08-01  Werner LEMBERG  <wl@gnu.org>
3174         * tmac/s.tmac: Undo change 2003-06-29.  The proper macro definitions
3175         are already in X11's `macros.t' file.
3177 2004-08-01  Jeff Conrad  <jeff_conrad@msn.com>
3179         * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3180         Fix casting bug.
3181         (read_and_output_pcltypeface): Handle strings with length <= 4.
3183 2004-07-27  Egil Kvaleberg  <egil@kvaleberg.no>
3185         * tmac/s.tmac (pg@top): Don't save `PO' register.
3186         (pg*end-col, pg*end-page): Directly use `PO' register.
3188 2004-07-27  Werner LEMBERG  <wl@gnu.org>
3190         * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3192         * src/preproc/refer/refer.cpp (output_references): Check for
3193         empty hash table.
3194         * src/preproc/refer/refer.man: Improve documentation of
3195         `bibliography' command.
3197 2004-07-26  Werner LEMBERG  <wl@gnu.org>
3199         Add requests `fcolor' and `gcolor'.
3201         * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3202         New functions.
3203         (init_env_requests): Add `fcolor' and `gcolor'.
3205         * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3207         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3208         (Colors): Document new requests.
3210 2004-07-24  Werner LEMBERG  <wl@gnu.org>
3212         Add support for fractional point sizes in ms macros.  A value for
3213         PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3214         by 1000.  For example, `.nr PS 10250' sets the font size to 10.25p.
3216         * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3217         PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3219         * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3220         Registers), NEWS: Document it.
3222 2004-07-19  Werner LEMBERG  <wl@gnu.org>
3224         * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3225         Update constructor.
3226         (do_for, for_input::get, for_input::peek): Handle negative `by'.
3227         * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3229 2004-07-08  Thomas Klausner  <wiz@netbsd.org>
3231         * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3232         * tmac/groff_mdoc.man: Updated.
3234 2004-07-05  Werner LEMBERG  <wl@gnu.org>
3236         * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3237         documentation of `hcode'.
3239 2004-07-04  Sang Dae Yu  <sdyu@bh.knu.ac.kr>
3241         Improve appearance of arrows in pic.
3243         * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3244         arrow head thin.
3245         Use two line segments for drawing non-filled arrow head.
3246         (line_object::print, spline_object::print): Shorten line length to
3247         avoid arrow sticking.
3248         (arc_object::print): Take arrow direction into account.
3250 2004-07-03  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3252         * tmac/groff_www.man: Update documentation of .MPIMG.
3254 2004-07-03  Werner LEMBERG  <wl@gnu.org>
3256         * tmac/an-old.tmac (RI): Always start with font `R'.
3257         (RI, IR): Properly end with font `R'.
3259 2004-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3261         * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3262         src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3263         src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3264         Don't pass more than six arguments to .R, .I, .B, etc., for
3265         compatibility with traditional troff macros.
3267 2004-07-02  Werner LEMBERG  <wl@gnu.org>
3269         * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3270         s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3271         Update all users.
3272         (PUSH_COMP_MODE): New internal character constant.
3273         Update all users.
3275         * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3276         PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3277         (token::next, macro::append): Handle PUSH_COMP_MODE.
3278         (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3279         POP_GROFFCOMP after each of the decoded arguments to make them
3280         independent from the compatibility mode status.
3281         (comp_mode): Add `COMP_ENABLE'.
3282         (do_define_string, do_define_macro): Handle COMP_ENABLE.
3283         (define_string, append_string, define_macro, define_indirect_macro,
3284         append_macro, append_indirect_macro): Handle `compatible_flag'.
3285         (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3287         * man/groff_diff.man, doc/groff.texinfo: Updated.
3289 2004-07-01  Werner LEMBERG  <wl@gnu.org>
3291         * doc/groff.texinfo: Improve documentation of `hcode'.
3292         Use @documentencoding and convert document to latin-1; to do that
3293         make latin characters active and assign proper macros (within a
3294         @tex...@end tex environment).
3295         * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3296         * doc/Makefile.sub (groff): Ditto.
3298 2004-06-29  Werner LEMBERG  <wl@gnu.org>
3300         Implement two new conditional operators `F <name>' and `S <name>'
3301         which check whether <name> is a valid font or style, respectively.
3303         * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3304         (text_file::text_file): Updated.
3305         (text_file::error): Don't emit message if `silent' is set.
3306         (font::load_font): Add optional third argument (which is directly
3307         passed to `load'.
3308         (font::load): Add optional second argument to check the header of
3309         a font only, without emitting warning or error messages.
3310         * src/include/font.h (font): Updated.
3312         * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3313         conditionals.
3314         * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3315         fourth argument to check a font without mounting.
3316         (check_font, check_style): New functions.
3317         * src/roff/troff/node.h: Updated.
3319         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3320         Updated.
3322 2004-06-27  Werner LEMBERG  <wl@gnu.org>
3324         Implement new string-valued register `.sty' to return the current
3325         style name.
3327         * env.cpp (environment::get_style_name_string): New function.
3328         (init_env_requests): Add `.sty' register.
3329         * env.h (environment): Updated.
3330         * node.cpp (font_info): Make `get_style_name' a friend.
3331         (get_style_name): New function.
3332         * node.h: Updated.
3334         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3335         Updated.
3337 2004-06-15  Werner LEMBERG  <wl@gnu.org>
3339         * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3340         `nospaces' option.
3342 2004-06-10  Colin Percival  <colin.percival@wadham.ox.ac.uk>
3344         * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3345         and \n[mo] to avoid dependency on current date.
3347 2004-06-08  Werner LEMBERG  <wl@gnu.org>
3349         * Makefile.sub (install_data): New target.
3351 2004-06-04  Werner LEMBERG  <wl@gnu.org>
3353         * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3355 2004-06-03  Werner LEMBERG  <wl@gnu.org>
3357         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3358         order of libraries.
3359         (install_data): Add $(srcdir).
3361         * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3362         libraries.
3364 2004-06-02  Werner LEMBERG  <wl@gnu.org>
3366         * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3367         Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3368         Add test for Xmu library.
3369         (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3370         GROFF_APPRESDIR_DEFAULT): New macros.
3372         * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3373         and GROFF_APPRESDIR_DEFAULT.
3375         * configure: Regenerated.
3377         * Makefile.in (appresdir): New variable.
3378         (MDEFINES): Add appresdir.
3380         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3381         -Xt.
3382         (install_data, uninstall_sub): New targets to handle GXditview.ad.
3384         * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3385         `$(srcdir)/eign', not `eign'.
3387         * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3389         * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3390         src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3391         Protect (g)xditview with `\%' to avoid hyphenation.
3392         Other minor formatting.
3394 2004-06-01  Werner LEMBERG  <wl@gnu.org>
3396         Integrate gxditview into groff's standard directory hierarchy.
3398         * src/xditview/*: Moved to ...
3399         * src/devices/xditview/*: Here.
3400         Moved DviChar.h and XFontName.h to src/include.
3401         Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3402         Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3403         Moved xtotroff.c to new directory src/utils/xtotroff.
3404         Provide proper Makefile.sub files (reusing the stuff from
3405         Imakefile.in).
3406         DESC renamed to DESC.in.
3407         Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3408         Converted everything from K&R to ANSI C.
3409         Decorated with const where appropriate.
3410         Cast string constants with `String' and `char *' where appropriate.
3411         Made it compile with C++ (used as a C compiler).
3412         Removed other minor compiler warnings.
3414         * src/devices/xditview/device.c: Include config.h, string.h, and
3415         defs.h.
3416         Don't declare `exit', `strtok', `strchr', and `getenv'.
3417         (FONTPATH): Remove.
3419         * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3420         `XFormatFontName'.
3422         * src/devices/xditview/xditview.c: Include config.h.
3423         Include stdio.h earlier.
3424         Protect declaration of `popen' and `pclose' with
3425         NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3426         Replace `caddr_t' with `XtPointer'.
3427         (MakePromptFunc): New typedef.
3428         (DoPrint): Use RETSIGTYPE.
3429         (promptfunction): Change type to MakePromptFunc.
3430         (MakePrompt): Use MakePromptFunc for third argument.
3431         (xmalloc): Removed.
3433         * src/devices/xditview/ad2c: Add casts to `String'.
3435         * src/include/XFontName.h (XFontNameString): Don't use array
3436         notation.
3437         Add prototypes for `XParseFontName', `XFormatFontName',
3438         `XCompareFontName', and `XCopyFontName'.
3440         * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3441         `XFontName.h'.
3443         * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3444         Don't declare `XParseFontName' and `XFormatFontName'.
3445         (xmalloc): Removed.
3446         (main): Remove `optind' and `optarg'.
3448         * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3449         (to select programs which need X).
3450         Make XDEVIDIRS depend on `FORCE'.
3451         (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3452         X support).
3453         (MDEFINES): Updated.
3454         (LIBDIRS): Use XLIBDIRS.
3455         (CPROGDIRS): Use XPROGDIRS.
3456         (DEVDIRS): Remove font directories for gxditview.
3457         (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3458         (EXTRADIRS): Remove src/xditview.
3460         * Makefile.sub (DISCLEANFILES): Updated.
3462         * Makefile.comm (LIBXUTIL): New variable.
3463         (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3464         (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3466         * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3468         * aclocal.m4 (GROFF_X11): New function.
3470         * configure.ac: Call GROFF_X11.
3471         Don't create src/xditview/Imakefile.
3472         Don't emit notice how to build gxditview.
3474         * configure: Regenerated.
3476         * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3478 2004-05-28  Akihiro Sagawa  <sagawa@sohgoh.net>
3480         * Makefile.in (CPPFLAGS): Define.
3481         (MDEFINES): Add CPPFLAGS.
3483 2004-05-27  Werner LEMBERG  <wl@gnu.org>
3485         * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3487 2004-05-26  Niklas Edmundsson  <nikke@acc.umu.se>
3489         Fix problems with `friend name injections'.
3491         * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3492         make_script_box), src/roff/troff/div.h (end_diversions),
3493         src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3494         change 2004-04-08.
3496 2004-05-25  Bernd Warken  <bwarken@mayn.de>
3498         * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3500 2004-05-25  Werner LEMBERG  <wl@gnu.org>
3502         * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3503         src/libs/libgroff/color.cpp: Include lib.h.
3505 2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
3507         * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3508         through Forte 6u1, and for how to get GNU make on Solaris.
3510 2004-05-24  Werner LEMBERG  <wl@gnu.org>
3512         * PROBLEMS: Document problems with gcc 3.4.0 on Sun.  Reported
3513         by Paul Eggert.
3515 2004-05-15  Keith Marshall  <keith.d.marshall@ntlworld.com>
3517         * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3518         rule.
3520 2004-05-14  Werner LEMBERG  <wl@gnu.org>
3522         * REVISION: Set to 2.
3524         * aclocal.m4 (GROFF_STDINT_H): Removed.
3525         (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3527         * configure.ac: Updated.
3528         * configure, src/include/config.hin: Regenerated.
3530         * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3531         inttypes.h conditionally.
3533 2004-05-13  Werner LEMBERG  <wl@gnu.org>
3535 Version 1.19.1 released
3536 =======================
3538 2004-05-10  Stephen Gildea  <http://www.gildea.com/stephen>
3540         * src/preproc/refer/label.y (same_author_last_name,
3541         same_author_name): Handle empty sort keys.
3543 2004-05-10  Werner LEMBERG  <wl@gnu.org>
3545         * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3546         tmac/TODO: Updated.
3548         * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3549         doc-str-Lb-librt): Reset font.
3550         (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3551         Provide `doc-str-Lb' to reset font.
3552         * tmac/groff_mdoc.man: Updated.
3554 2004-05-08  Jan Schaumann  <jschauma@netmeister.org>
3556         * src/preproc/html/pre-html.cpp (make_message): Make it work for
3557         snprintf versions which don't conform to ANSI C 99 (this is,
3558         counting the string's trailing null byte in the return value).
3560 2004-05-07  Keith Marshall  <keith.d.marshall@ntlworld.com>
3562         * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3563         that all implementations of sprintf handle null pointers correctly.
3565 2004-05-04  Werner LEMBERG  <wl@gnu.org>
3567         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3568         Document `.U' register.
3570         * src/roff/troff/env.cpp (environment::mark_last_line)
3571         [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3573 2004-05-04  Larry Kollar  <kollar@alltel.net>
3575         New read-only register `.U'; it returns 1 in safer mode and 0
3576         otherwise.
3578         * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3579         register.
3581 2004-05-03  Werner LEMBERG  <wl@gnu.org>
3583         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3585 2004-04-17  Werner LEMBERG  <wl@gnu.org>
3587         * src/include/font.h (font): Use `int' for ch_index.
3588         * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3589         font::compact): Updated.
3591         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3592         warnings.
3594         * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3595         (hyphen_word): Fix compiler warnings.
3596         * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3597         `char'.
3598         Update all callers.
3599         (get_delim_number, get_line_arg): Change second argument type to
3600         `unsigned char'.
3601         (macro_header::copy, token::next, do_define_string,
3602         do_define_character, substring_request, asciify_macro,
3603         unformat_macro, read_size, non_interpreted_node::interpret,
3604         while_request, main: Fix compiler warnings.
3605         (read_color_draw_node): Initialize `col'.
3607         * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3608         `start_col' and `end_col' of type `int'.
3609         (vertical_rule): Make `col' of type `int'.
3611         * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3612         for EOF.
3614         * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3615         New arrays.
3616         (format_serial): Use them to remove dependency on ASCII.
3618         * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3619         compiler warning.
3620         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3621         Ditto.
3623         * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3624         compiler warnings.
3625         (glyph): Change type of `hpos' to `int'.
3627         * src/devices/lbp/lbp.cpp (strsep): Removed.  Unused.
3628         * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3630         * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3632         * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3634 2004-04-16  Werner LEMBERG  <wl@gnu.org>
3636         * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3637         src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3638         src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3639         `double' instead of `float' everywhere.
3640         * src/preproc/grn/main.cpp: Use `double' instead of `float'
3641         everywhere.
3642         (main): Add return value.
3643         * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3644         everywhere.
3645         Update all user functions.
3647         * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3648         src/preproc/eqn/box.h, src/preproc/pic/object.h,
3649         src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3650         src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3651         src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3652         src/roff/troff/input.cpp, src/roff/troff/request.h,
3653         src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3654         declarations.
3656         * src/utils/indxbib/signal.c: Include stdlib.h.
3658 2004-04-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
3660         * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3661         before the first page.
3663 2004-04-14  Thomas Klausner  <wiz@netbsd.org>
3665         * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3666         (doc-operating-system-*): Updated.
3667         * tmac/doc-syms (doc-str-St-*): Various small fixes.
3668         (doc-str-Lb-*): Add more library names.
3670 2004-04-10  Art Haas  <ahaas@airmail.net>
3672         * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3673         use anonymous type.
3675 2004-04-09  Art Haas  <ahaas@airmail.net>
3677         * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3679 2004-04-09  Keith Marshall  <keith.d.marshall@ntlworld.com>
3681         * arch/misc/shdeps.sh: Generate better comment for sed script.
3683 2004-04-08  Art Haas  <ahaas@airmail.net>
3685         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3686         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3687         src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3688         src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3689         (polyfill), src/preproc/grn/main.cpp (polyfill),
3690         src/preproc/refer/command.cpp (command_table),
3691         src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3692         gcc 3.5 doesn't like).
3694 2004-04-08  Werner LEMBERG  <wl@gnu.org>
3696         Removing many compiler warnings.  groff should now compile with
3697         a C++ compiler used for C files also.  [Simple variable renamings
3698         to avoid shadowing aren't logged in detail.]
3700         * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3701         (draw_dvi_printer::draw) ['c']: Enclose in block.
3703         * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3704         (page::add_line): Fix typos.
3705         * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3707         * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3708         Some local variable renamings.
3709         * src/devices/grolbp/lbp.h: Some local variable renamings.
3711         * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3712         variable renamings.
3714         * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3715         Remove redundant local variable declaration.
3716         * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3717         Don't use `caddr_t' but `void *'.
3718         Enclose functions with `extern "C"' for C++.
3720         * src/libs/libdriver/input.cpp (remember_filename,
3721         remember_source_filename): Use cast for string constant.
3723         * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3724         src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3725         src/libs/libgroff/geometry.cpp: Some local variable renamings.
3726         * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3727         style.
3728         Enclose functions with `extern "C"' for C++.
3729         * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3730         (needs_quoting): Return `int'.
3731         (quote_arg): Add proper casts to malloc and realloc.
3732         * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3733         various MS Windows environments.
3734         (spawnvp_wrapper): Add proper cast to malloc.
3736         * src/preproc/eqn/box.h: Remove redundant declarations of
3737         `make_script_box', `make_mark_box' and `make_lineup_box'.
3738         * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3739         * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3740         variable renamings.
3742         * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3743         * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3744         (dx, dy): Renamed functions to...
3745         (deltax, deltay): This.
3746         * src/preproc/grn/main.cpp: Some local variable renamings.
3747         (deffont): Add `const'.
3748         (initpic, conv): Use cast for string constant.
3750         * src/preproc/html/pre-html.cpp: Some local variable renamings.
3751         (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3752         (char_buffer::run_output_filter): Second argument is unused.
3753         * src/preproc/html/pushback.cpp: Some local variable renamings.
3755         * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3756         * src/preproc/pic/object.cpp: Some local variable renamings.
3758         * src/preproc/refer/label.y (lookup_label): Remove redundant
3759         declaration of local variable.
3761         * src/preproc/soelim.cpp: Remove redundant declaration of
3762         `interpret_lf_args'.
3764         * src/preproc/tbl/main.cpp: Some local variable renamings.
3766         * src/roff/groff/groff.cpp (main): Use cast for string constant.
3767         * src/roff/groff/pipeline.c: Enclose declarations of `error',
3768         `c_fatal', and `i_to_a' with `extern "C"' for C++.
3769         Don't use C++-style comments.
3771         * src/roff/troff/env.h: Remove redundant declaration of `title'.
3772         * src/roff/troff/node.h, src/roff/troff/env.cpp,
3773         src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3774         renamings.
3775         * src/roff/troff/div.h: Remove redundant declaration of
3776         `end_diversions'.
3777         * src/roff/troff/troff.h: Remove redundant declaration of
3778         `cleanup_and_exit'
3779         * src/roff/troff/input.cpp: Remove redundant declaration of
3780         `handle_first_page_transition' and `process_input_stack'.
3782         * src/utils/hpftodit.cpp: Some local variable renamings.
3784         * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3785         for C++.
3786         Don't define RETSIGTYPE.
3787         * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3789         * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3790         (error): Use `const' in argument.
3791         (main): Remove redundant declaration of `optind'.
3792         Move declaration of `Version_string' to top-level.
3794         * PROBLEMS: Document difficulties compiling signal.c if a C++
3795         compiler is used for C.
3797 2004-04-07  Werner LEMBERG  <wl@gnu.org>
3799         * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3801 2004-04-06  Keith Marshall  <keith.d.marshall@ntlworld.com>
3803         Make scripts like nroff.sh and neqn.sh portable across various
3804         (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3805         non-POSIX path separators.  The idea is to extend those scripts to
3806         decide at run-time (of the script) which path separator to use.
3808         * arch/misc/Makefile.sub: New file.
3809         * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3810         This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3811         a proper definition of the variable `GROFF_RUNTIME'.
3813         * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3814         (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3815         (PROGDEPDIRS): New variable.
3816         `FORCE' it.
3817         (PROGDIRS): Add PROGDEPDIRS.
3819         * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3820         Don't substitute @SEP@ and @BINDIR@.
3821         * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3822         (PATH): Use GROFF_RUNTIME.
3824         * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3825         Don't substitute @SEP@ and @BINDIR@.
3826         * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3827         (PATH): Use GROFF_RUNTIME.
3829 2004-04-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3831         * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3832         Cygwin which doesn't handle stderr correctly.
3834 2004-03-08  Werner LEMBERG  <wl@gnu.org>
3836         * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3837         against empty argument.  Problem reported by <cgd@broadcom.com>.
3839 2004-03-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3841         * Makefile.in (SEP): Replaced with...
3842         (RT_SEP, SH_SEP): Separators for the target platform's native path
3843         separator and the build environment, respectively.
3844         (fontpath, tmacpath): Use RT_SEP.
3845         (MDEFINES): Updated.
3847         * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3848         * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3849         * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3850         * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3852 2004-03-05  Werner LEMBERG  <wl@gnu.org>
3854         * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200.  This helps to
3855         reduce alignment problems with newer printers which use built-in
3856         TrueType fonts (instead of the older Intellifonts).  The ideal
3857         solution is to provide a second set of groff metric files, but this
3858         is extremely time-consuming to produce, given that HP's metric
3859         files are very rudimentary.
3861 2004-03-01  Werner LEMBERG  <wl@gnu.org>
3863         * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3864         s/operand/argument/ in error message.
3866 2004-03-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
3868         * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3869         is in use.
3871 2004-03-01  Antti Kantee  <pooka@netbsd.org>
3873         * tmac/s.tmac (XE): Fix error message.
3875 2004-02-27  Jeff Conrad  <jeff_conrad@msn.com>
3877         * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3878         New macros.
3880         * src/roff/groff/pipeline.c: Declare strcasecmp.
3881         (run_pipeline) [_WIN32]: Use function name variants which don't
3882         start with `_'.
3883         Fix stream handling.
3885 2004-02-27  Keith Marshall  <keith.d.marshall@ntlworld.com>
3887         * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3888         Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3889         for platforms which use the native Win32 runtime libraries.
3890         (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3892         * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3893         QUOTE_ARG_REALLOC_ERROR): Fix string.
3895         * src/preproc/html/pre-html.cpp: Remove declaration of
3896         `spawnvp_wrapper'.
3897         Don't use __MINGW32__.
3898         s/DEBUG_FILE/DEBUG_FILE_DIR/.
3899         (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3900         (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3901         (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3902         calls to `set_redirection' and `WAIT'.
3903         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3904         Fix calls to `set_redirection' and `save_and_redirect'.
3905         (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3906         to `set_redirection' and `save_and_redirect'.
3907         (usage): Fix message.
3908         (makeTempFiles, main): Use `DEBUG_FILE'.
3910 2004-02-21  Werner LEMBERG  <wl@gnu.org>
3912         * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3914 2004-02-21  Keith Marshall  <keith.d.marshall@ntlworld.com>
3916         * src/libs/libgroff/quotearg.c: New file, providing proper argument
3917         quoting for MSVC's spawn* and exec* functions.
3918         * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3919         spawnvp with proper quoting for MSVC.
3921         * src/libs/libgroff/assert.cpp (program_name),
3922         src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3923         * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3925         * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3927         * src/include/error.h (program_name): Declare as `extern "C"'.
3928         * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3930 2004-02-21  Jeff Conrad  <jeff_conrad@msn.com>
3932         * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3933         spawnvp_wrapper.
3934         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3936 2004-02-20  Jeff Conrad  <jeff_conrad@msn.com>
3938         * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3939         variable.
3940         (sbasename) [__MSDOS__ || ...]: New function.
3941         (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3942         generic algorithm.
3943         (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3944         (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3945         of XXX.
3946         Use STDOUT_FILENO instead of hardcoded file handle.
3947         (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3949 2004-02-19  Werner LEMBERG  <wl@gnu.org>
3951         * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3952         avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3954 2004-02-18  Werner LEMBERG  <wl@gnu.org>
3956         * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3957         new font and mapping files.
3959 2004-02-18  Jeff Conrad  <jeff_conrad@msn.com>
3960             Keith Marshall  <keith.d.marshall@ntlworld.com>
3962         * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3963         an input pipe.  This is needed for the MSVC compiler to make troff's
3964         `-o' option work.
3966         * src/roff/troff/div.cpp: Include nonposix.h.
3967         (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3969 2004-02-17  Werner LEMBERG  <wl@gnu.org>
3971         * font/devlj4/generate/special.awk: New script.
3972         * font/devlj4/generate/Makefile (S): Use special.awk.
3973         * font/devlj4/*: Regenerated, including the following new files:
3974         Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3975         MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3976         * NEWS: Document new lj4 fonts and revised hpftodit.
3978 2004-02-17  Paco Andrés Verdú  <pandres@dragonet.es>
3980         * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3982 2004-01-25  Werner LEMBERG  <wl@gnu.org>
3984         * src/libs/libgroff/progname.cpp: Replaced with...
3985         * src/libs/libgroff/progname.c: New file.
3986         * src/libs/libgroff/Makefile.sub: Updated accordingly.
3988 2004-01-17  Werner LEMBERG  <wl@gnu.org>
3990         * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3992 2004-01-16  Jeff Conrad  <jeff_conrad@msn.com>
3994         * font/devlj4/generate/wingdings.map,
3995         font/devlj4/generate/symbol.map: Include unnamed glyphs.
3996         Use groff glyph names where possible.
3997         * src/devices/grolj4/lj4_font.man: Minor updates.
3999 2004-01-13  Werner LEMBERG  <wl@gnu.org>
4001         * tmac/www.tmac (DC): Handle TTY devices.
4003         * doc/webpage.ms: Document viewCVS from ffii.org.
4004         * NEWS, README: Updated.
4006         * src/roff/groff/groff.man: Mention lj4_font man page.
4008         * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4009         variables.
4010         (FONTS): Add SYMBOL and WINGDINGS.
4011         (SYMBOL, WINGDINGS): New targets.
4013 2004-01-13  Jeff Conrad  <jeff_conrad@msn.com>
4015         * src/devices/grolj4/lj4_font.man: New man page.
4016         * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4017         * src/devices/grolj4.man: Mention lj4_font man page.
4019         * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4020         * src/utils/hpftodit/hpftodit.man: Document it.
4021         (CW): New macro.
4022         Remove details about fonts (which are now in lj4_font.man).
4024         * font/devlj4/generate/symbol.map,
4025         font/devlj4/generate/wingdings.map: New files.
4027 2004-01-12  Werner LEMBERG  <wl@gnu.org>
4029         * README: Mention ffii's viewcvs access.
4031 2004-01-09  Werner LEMBERG  <wl@gnu.org>
4033         * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4035 2004-01-09  Jeff Conrad  <jeff_conrad@msn.com>
4037         Revert most of the change from 2004-01-03 to better control used
4038         symbol sets.
4040         * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4041         (text_symbol_sets, special_symbol_sets): New arrays.
4042         (symbol_set_table): New global variable.
4043         (read_symbol_sets): Use search order given in the text_symbol_sets
4044         and special_symbol_sets arrays.  If command line flag -a is not
4045         given, search both arrays.
4046         (output_charset): Require x_height_tag only for command line flag -i.
4048 2004-01-06  Werner LEMBERG  <wl@gnu.org>
4050         Implement string-valued registers \n[.m] and \n[.M] to return the
4051         name of the current drawing and background color, respectively.
4053         * src/roff/troff/symbol.h: Moved to...
4054         * src/include/symbol.h: Here.
4055         Small fixes to make it work outside of the `troff' directory.
4056         * src/roff/troff/symbol.cpp: Moved to...
4057         * src/libs/libgroff/symbol.cpp: Here.
4058         Small fixes to make it work outside of the `troff' directory.
4060         * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4061         (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4062         Updated.
4064         * src/include/color.h: Include symbol.h.
4065         (color): Add new field `nm'.
4066         * src/libs/libgroff/color.cpp (color::color): Updated.
4068         * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4069         src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4070         src/roff/troff/reg.cpp: Don't include symbol.h.
4072         * src/roff/troff/env.cpp: Don't include symbol.h.
4073         (environment::get_glyph_color_string,
4074         environment_get_fill_color_string): New member functions.
4075         (init_env_requests): Handle `.m' and `.M' registers.
4076         * src/roff/troff/input.cpp: Don't include symbol.h.
4077         (default_symbol): Moved to symbol.cpp/symbol.h.
4078         (do_glyph_color, do_fill_color, define_color): Pass symbol name
4079         to color constructor.
4080         * src/roff/troff/env.h: Updated.
4082         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4083         Document new registers.
4085 2004-01-05  Werner LEMBERG  <wl@gnu.org>
4087         * src/roff/troff/node.cpp (space_node::get_breakpoints,
4088         space_node::nbreaks): Protect against zero `next' field.
4090 2004-01-03  Jeff Conrad  <jeff_conrad@msn.com>
4092         In hpftodit, use the symbol sets offered in the TFM.
4094         * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4095         (symbol_set, text_symbol_sets, special_symbol_sets,
4096         symbol_set_table): Removed.
4097         (get_printcode): Removed.
4098         (read_symbol_sets): Initialize `symbol_set' field with
4099         `NO_SYMBOL_SET'.
4100         Simplify code to just use the `kind' value.
4101         (output_charset): Improve output formatting.
4102         (dump_symbols): Simplified.
4104 2004-01-02  Werner LEMBERG  <wl@gnu.org>
4106         * font/devlj4/generate/text.map: Add more MSL numbers.
4108 2004-01-02  Jeff Conrad  <jeff_conrad@msn.com>
4110         * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4111         (text_symbol_sets): Add more symbol sets.
4112         (debug_flag): New static variable (moved from `main').
4113         (get_printcode, show_symset): New functions.
4114         (main): Remove `debug_flag'.
4115         (output_charset): Use `show_symset'.
4116         (dump_symbols):  Use `show_symset'.
4117         Print symsets for all glyphs.
4118         (read_map): Actually call `unicode_to_ucode_make' but this time
4119         correctly.
4121 2004-01-01  Werner LEMBERG  <wl@gnu.org>
4123         * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4124         Fix placement of comments.
4126 2004-01-01  Jeff Conrad  <jeff_conrad@msn.com>
4128         * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4129         option `-d' is given.
4130         (output_charset): Improve warning messages to give more information.
4131         (dump_symbols): Make information more precise.
4132         (usage): Updated.
4133         (read_map): Don't call unicode_to_ucode_name; the glyph names must
4134         appear as-is and shouldn't be decomposed.
4136 2003-12-31  Werner LEMBERG  <wl@gnu.org>
4138         * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4139         * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4140         (FONTS): Add TrueType font families Arial and Times New Roman.
4141         (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4142         * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4143         `fl'.
4145 2003-12-31  Jeff Conrad  <jeff_conrad@msn.com>
4147         * test-groff.in (SEP): Quote value.
4148         * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4149         `tem' to `char*' to avoid deallocation of a pointer to a constant
4150         object which some compilers don't like.
4152 2003-12-31  Werner LEMBERG  <wl@gnu.org>
4154         * font/devlj4/generate (text.map, special.map): Rewritten to work
4155         with the new hpftodit version.
4157 2003-12-30  Jeff Conrad  <jeff_conrad@msn.com>
4159         * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4160         set and 8bit character code for all glyphs also.
4162 2003-12-30  Werner LEMBERG  <wl@gnu.org>
4164         * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4166 2003-12-29  Werner LEMBERG  <wl@gnu.org>
4168         More fixes for MSVC compiler.
4170         * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4171         $(SEP).
4173         * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4174         STDERR_FILENO) [_MSC_VER]: Define conditionally.
4175         (getpid) [_MSC_VER]: Remove.
4176         Include direct.h and process.h conditionally.
4178         * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4179         parentheses for a_delete.
4181         * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4183         * test-groff: Replaced with...
4184         * test-groff.in: This new template to handle path separator
4185         properly.
4187         * configure.ac: Check for direct.h and process.h.
4188         Generate test-groff script.
4189         * configure, src/include/config.hin: Regenerated.
4191 2003-12-28  Werner LEMBERG  <wl@gnu.org>
4193         Add integral extension glyph.
4194         Add new option `-x' to afmtodit to suppress use of built-in AGL.
4196         * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4198         * font/devps/generate/textmap: Provide entry for `integralex' to
4199         override (old) PUA value of the AGL.
4200         * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4201         * font/devps/*: Regenerated.
4203         * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4204         * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4206 2003-12-27  Werner LEMBERG  <wl@gnu.org>
4208         Add forgotten `coproduct' symbol (already available for DVI).
4210         * font/devhtml/R.proto, font/devps/generate/textmap,
4211         font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4212         src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4213         U+2210 (\[coproduct]).
4215 2003-12-26  Jeff Conrad  <jeff_conrad@msn.com>
4217         hpftodit has been extended to handle TrueType metric files and
4218         more glyphs.  See hpftodit.man for more details.
4220         * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4221         ctype.h, and unicode.h.
4222         s/msl/charcode/ everywhere since we now handle Unicode values also.
4223         (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4224         Use it where appropriate.
4225         (MULTIPLIER): Replaced with...
4226         (multiplier): New global static variable.
4227         (scale): Updated.
4228         (tag_type): Add more TFM tags.
4229         (tag_name): New array.
4230         (ENUM_TYPE, FLOAT_TYPE): Removed.
4231         (BYTE_TYPE): New value assigned.
4232         (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4233         (text_symbol_sets, special_symbol_sets): Extended to cover more
4234         sets.
4235         (check_type): Add return value.
4236         (check_units): Add parameters to get ppi and upem values.
4237         Handle TrueType TFM data.
4238         (output_font_name): New function.
4239         (output_charset): Add parameter to handle TFM type.
4240         Handle TrueType TFMs also.
4241         (em_fract): New macro.
4242         (dump_tags): Be much more verbose and handle more tags.
4243         (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4244         (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4245         functions.
4246         (read_map): Add parameter to handle TFM type.
4247         Handle both MSL and Unicode mappings.
4248         (main): Add two new command line options `-a' and `-q'.
4249         Updated to make use of new functions.
4250         (usage): Updated.
4252         * src/utils/hpftodit/hpuni.cpp: New file.
4254         * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4255         Updated.
4257 2003-12-25  Werner LEMBERG  <wl@gnu.org>
4259         * src/include/nonposix.h (read) [_MSC_VER]: Define.
4261 2003-12-24  Werner LEMBERG  <wl@gnu.org>
4263         * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4264         by Michail Vidiassov <master@iaas.msu.ru>.
4266 2003-12-20  Werner LEMBERG  <wl@gnu.org>
4268         * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4269         and u0049_0307.
4270         Add missing latin-2 glyphs.
4271         * font/devutf8/R.proto: Add missing latin-2 glyphs.
4273         * tmac/troffrc: Load `composite.tmac' earlier.
4275         * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4276         u00{53,73}_0327, and u0049_0307.
4277         * tmac/X.tmac: Add u00{47,67}_0306.
4278         * tmac/tty-char.tmac: Use composite glyph names for readability.
4280         * NEWS: Updated.
4282         * src/include/unicode.h: Remove `extern' keywords.
4284 2003-12-20  Nilgün Belma Bugüner  <nilgun@superonline.com>
4286         * tmac/latin5.tmac: New file.
4288 2003-12-19  Werner LEMBERG  <wl@gnu.org>
4290         Add some glyphs needed for Turkish.
4292         * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4293         and u0049_0307.
4295         * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4296         * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4297         u00{53,73}_0327, and u0049_0307.
4299 2003-12-18  Werner LEMBERG  <wl@gnu.org>
4301         * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4302         from 2001-10-04.
4303         Remove trailing zeros.
4305 2003-12-17  Werner LEMBERG  <wl@gnu.org>
4307         Make \? transparent to end-of-sentence recognition.
4309         * src/roff/troff/input.cc (non_interpreted_node): Add
4310         `ends_sentence' member function.
4312 2003-12-16  Werner LEMBERG  <wl@gnu.org>
4314         * doc/groff.texinfo: Document `dt' request correctly.
4315         Other minor typographical improvements.
4317 2003-12-10  Michail Vidiassov  <master@iaas.msu.ru>
4319         * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4321 2003-12-10  Richard Stallman  <rms@gnu.org>
4323         * LICENSE: Better wording.
4325 2003-12-09  Werner LEMBERG  <wl@gnu.org>
4327         * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4328         * configure, NEWS: Updated.
4330 2003-12-08  Werner LEMBERG  <wl@gnu.org>
4332         * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4334 2003-12-07  Bernd Warken  <bwarken@mayn.de>
4336         * LICENSE: Updated.
4338 2003-12-07  Werner LEMBERG  <wl@gnu.org>
4340         * INSTALL: Improved.
4342 2003-12-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
4344         Use path separator character of target platform for compiled-in
4345         default paths.
4347         * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4348         * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4349         * configure: Regenerated.
4350         * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4352 2003-12-05  Werner LEMBERG  <wl@gnu.org>
4354         * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4355         Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4357 2003-12-04  Bernd Warken  <bwarken@mayn.de>
4359         * LICENSE: New file.
4361 2003-12-03  Werner LEMBERG  <wl@gnu.org>
4363         * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4364         ligatures present in AFM files since groff currently only
4365         understands some standard ligatures and nothing else.
4367 2003-12-03  Jeff Conrad  <jeff_conrad@msn.com>
4369         * src/roff/groff/groff.cpp (main): Don't run the spooler if
4370         option -v is given.
4372         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4373         messages.
4374         Close stdout copy.
4375         Don't use Unix wait flags.
4377 2003-12-02  Werner LEMBERG  <wl@gnu.org>
4379         * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4380         src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4381         src/roff/troff/uniuni.cpp: Moved to...
4382         * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4383         src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4384         src/libs/libgroff/uniuni.cpp: Here.
4386         * src/include/Makefile.sub.old (HDRS),
4387         src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4388         src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4390 2003-12-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
4392         * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4393         `DEBUG_FILE'.
4394         Updated all users.
4396 2003-12-01  Werner LEMBERG  <wl@gnu.org>
4398         * groff.texinfo: Document special behaviour of `.vs 0'.
4399         Improve documentation of `cflags' request.
4400         * NEWS: Updated.
4402 2003-11-29  Werner LEMBERG  <wl@gnu.org>
4404         * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4405         * font/devlj4/CORONET: Regenerated.
4407 2003-11-24  Werner LEMBERG  <wl@gnu.org>
4409         * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4410         if processing hyphenation patterns in traditional mode.
4411         Improve error messages.
4413 2003-11-20  Werner LEMBERG  <wl@gnu.org>
4415         * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4416         troff_output_file::put_char): Fix type of local variable `c'.
4418 2003-11-19  Werner LEMBERG  <wl@gnu.org>
4420         * src/roff/groff/pipeline.c (P): Removed.  Updated all function
4421         declarations.
4422         (i_to_a): Removed.  libgroff already provides this function.
4423         (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4425 2003-11-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
4427         * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4428         HAVE_DECL_SYS_LIST.
4430 2003-11-17  Werner LEMBERG  <wl@gnu.org>
4432         * COPYING: Use correct version.
4434 2003-11-11  Werner LEMBERG  <wl@gnu.org>
4436         LynxOS 4.0.0 doesn't declare vfprintf.
4438         * configure.ac: Check for vfprintf.
4439         * configure: Regenerated.
4440         * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4441         * src/include/config.hin: Regenerated.
4443 2003-11-10  Werner LEMBERG  <wl@gnu.org>
4445         LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4447         * configure.ac: Check for vsnprintf.
4448         * configure: Regenerated.
4449         * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4450         `HAVE_VSNPRINTF'.
4451         * src/include/config.hin: Regenerated.
4453 2003-11-09  Werner LEMBERG  <wl@gnu.org>
4455         * aclocal.m4: Updated syntax to autoconf 2.59.
4456         (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4457         Don't check for gsos2.
4458         (GROFF_SRCDIR, GROFF_BUILDDIR): Removed.  autoconf 2.59 provides
4459         working abs_top_srcdir and abs_top_builddir.
4461         * configure.ac: Updated syntax to autoconf 2.59.
4462         Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4463         Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4464         * configure: Regenerated.
4466         * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4467         s/@groff_top_builddir@/@abs_top_builddir@/.
4469         * src/roff/groff/pipeline.c (xstrsignal):
4470         s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4472 2003-11-07  Werner LEMBERG  <wl@gnu.org>
4474         * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4475         make start angle smaller than end angle to circumvent a bug in tpic
4476         handling of some versions of dvipdfm (and dvipdfmx).
4478 2003-10-30  Werner LEMBERG  <wl@gnu.org>
4480         * src/devices/grops/grops.man: Improve section on creating EPS.
4482 2003-10-29  Werner LEMBERG  <wl@gnu.org>
4484         * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4485         -P-pletter).
4487 2003-10-28  Werner LEMBERG  <wl@gnu.org>
4489         * doc/groff.texinfo: Fix documentation of `.if'.
4491 2003-10-27  Michail Vidiassov  <master@iaas.msu.ru>
4493         * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4494         the form `uniXXXX' also.
4496 2003-10-27  Werner LEMBERG  <wl@gnu.org>
4498         * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4499         contrib/pic2graph/pic2graph.sh: Implement secure management of
4500         temporary files.
4501         Pass `-P-pletter' to groff to avoid data outside of the converted
4502         area -- some versions of `convert' (for example 5.3.8) don't check
4503         the bounding box of the image but always use a fixed image size
4504         (letter paper format).
4505         * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4506         contrib/pic2graph/pic2graph.man: Updated.
4508         * src/roff/groff/groff.man: Document $TMP and $TEMP.
4510 2003-10-26  Werner LEMBERG  <wl@gnu.org>
4512         * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4513         troff_output::simple_ellipse, troff_output::simple_arc,
4514         troff_output::simple_line, troff_output::simple_spline,
4515         troff_output::simple_polygon): Insert a space before arguments.
4516         (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4517         latter doesn't produce a node, so the following `.sp -1' would do
4518         the wrong thing.
4519         Don't emit `.sp -1' after \M.  This also doesn't produce a token
4520         (and we don't have to care about compatibility mode).
4521         (troff_output::set_color, troff_output::reset_color): Don't emit
4522         `.sp -1' after \M and \m.
4524         * src/roff/troff/input.cpp (old_have_input): New global variable.
4525         (input_stack::get): Handle `old_have_input'.
4526         (process_input_stack) <token::TOKEN_NEWLINE>: Call
4527         `trapping_blank_line' depending on `old_have_input', not
4528         `have_input'.
4530 2003-10-20  Keith Marshall  <keith.d.marshall@ntlworld.com>
4532         * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4533         (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4534         default directory names for temporary files.
4535         [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4537         * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4538         [__MSDOS__] (run_pipeline): Honour environment variables.
4539         Don't use `tmpnam' but `tempnam' to work around messy
4540         implementation.
4542         * README.MinGW: New file.
4544 2003-10-16  Werner LEMBERG  <wl@gnu.org>
4546         * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4547         `(*t)->next' without testing validity of `*t'.
4548         (usage): Make it more readable.
4550 2003-10-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
4552         Make html device run under both MS-DOS and Win32.
4554         * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4555         MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4556         spawn or fork+exec has to be used, and whether parent must sleep
4557         until the child process terminates.  Used in
4558         `char_buffer::run_output_filter'.
4559         (copyofstdoutfd): Removed.
4560         (char_buffer): Replace `write_file_html' and `write_file_troff'
4561         member functions with `emit_troff_output' and `run_output_filter'.
4562         (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4563         macros.
4564         (replaceFd): Replaced with...
4565         (set_redirection): New auxiliary function.
4566         (waitForChild): Replaced with...
4567         (save_and_redirect): New auxiliary function for.
4569         (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4570         functions.
4572 2003-10-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
4574         * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4575         (GROFF_LIBC): New function.
4576         * configure.ac: Call GROFF_LIBC.
4577         Check for `kill'.
4578         * configure: Regenerated.
4580         * src/include/lib.h: Handle __MINGW32__.
4581         * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4582         Add macro for `pipe'.
4583         Define P_tmpdir.
4585         * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4586         correctly.
4588         * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4589         Implement.
4591 2003-10-13  Werner LEMBERG  <wl@gnu.org>
4593         Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4594         <chuq@chuq.com>.
4596         * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4597         directory.
4599 2003-10-12  Werner LEMBERG  <wl@gnu.org>
4601         * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4602         src/roff/troff/input.cc (usage): Updated.
4604         * NEWS, doc/groff.texinfo: Updated.
4606 2003-10-12  Peter Miller  <millerp@canb.auug.org.au>
4608         * src/libs/libgroff/searchpath.cpp
4609         (search_path::open_file_cautious): New function which also handles
4610         `-' as stdin and stdout depending on the access mode.
4611         * src/include/searchpath.h (search_path): Updated.
4613         * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4614         * src/devices/grops/ps.h: Include `searchpath.h'.
4615         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4616         Open resource file with `include_search_path.open_file_cautious'.
4617         * src/devices/grops/grops.man: Document new `-I' switch.
4619         * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4620         (main), src/devices/grolj4/lj4.cpp (main),
4621         src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4623         * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4624         Replaced with...
4625         (include_search_path): New global variable.
4626         (include_path_append): Removed.
4627         (main): Use `include_search_path.command_line_dir' to handle `-I'.
4628         (do_file): Simplify, using new
4629         `include_search_path.open_file_cautious'.
4631         * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4632         parameter.
4633         (main): Pass arguments to `-I' to both troff and devices.
4634         Improve handling of `-V'.
4635         * src/roff/groff/groff.man: Document changes to -I and -V.
4637         * src/roff/troff/input.cpp (include_search_path): New global
4638         variable.
4639         (next_file, source, ps_bbox_request, transparent_file,
4640         process_input_file): Use new
4641         `include_search_path.open_file_cautious'.
4642         (main) Handle `-I' switch.
4643         * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4644         Use new `include_search_path.open_file_cautious'.
4645         * src/roff/troff/node.h: New extern symbol `include_search_path'.
4646         * src/roff/troff/troff.man: Document new `-I' switch.
4648 2003-09-15  Ruslan Ermilov  <ru@FreeBSD.org>
4650         Support multiple calls of .Lb in LIBRARY section.
4652         * tmac/doc-common (doc-in-library-section): New register.
4653         (doc-section-library): New string.
4654         (Sh): Set `doc-in-library-section'.
4655         (Rd): Updated.
4656         * tmac/doc-syms (Lb): Insert breaks before and after arguments
4657         if in LIBRARY section.
4658         * tmac/doc.tmac (doc-save-global-vars): Updated.
4659         * NEWS, tmac/groff_mdoc.man: Updated.
4661 2003-09-14  Ruslan Ermilov  <ru@FreeBSD.org>
4663         * tmac/doc-common (doc-default-operating-system): New variable.
4664         (Os): Use it.
4666 2003-09-08  Werner LEMBERG  <wl@gnu.org>
4668         * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4670 2003-08-31  Werner LEMBERG  <wl@gnu.org>
4672         * contrib/mom/Makefile.sub: Fix last change to make it really work.
4673         * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4674         (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4675         $(DEVFILES) are not empty.
4676         * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4678 2003-08-26  Chuck Silvers  <chuq@chuq.com>
4680         * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4681         with parallel runs of `make'.
4683 2003-08-23  Stephen Gildea  <http://www.gildea.com/stephen>
4685         * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4686         insert SORT_SEP.  With certain combinations of sort specifications,
4687         refer sorted entries in the wrong order.  In particular, entries
4688         with a missing field should be be sorted before all entries that
4689         have that field, before refer looks to the next field.
4691 2003-08-23  Werner LEMBERG  <wl@gnu.org>
4693         * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4694         g++ linker is used.  Reported by Mark J. Reed
4695         <mark.reed@turner.com>.
4697 2003-08-16  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
4699         Add key character `x' to tbl which makes tbl call a user-defined
4700         macro on a table cell.
4702         * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4703         * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4704         `set_modifier' after printing the compatibility request.
4705         (set_modifier): Print call to `m->macro' if not empty.
4706         * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4707         `macro'.
4708         (process_format): Implement cases `x' and `X'.
4709         * src/preproc/tbl/tbl.man, NEWS: Updated.
4711 2003-08-15  Werner LEMBERG  <wl@gnu.org>
4713         * doc/groff.texinfo: Minor fixes.
4715 2003-08-09  Werner LEMBERG  <wl@gnu.org>
4717         * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4719 2003-08-07  Werner LEMBERG  <wl@gnu.org>
4721         * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4722         argument list to nothing if there is no file to match.  Use `ls' as
4723         a protection, similar to autoconf.
4725         * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4726         empty argument lists.
4728         * doc/groff.texinfo: Improve documentation how vertical spacing
4729         and line breaks interact.
4730         Other minor fixes.
4732         * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4734 2003-08-03  Werner LEMBERG  <wl@gnu.org>
4736         * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4737         EPS (using eps2eps or similar programs to compute the bounding box).
4739 2003-07-24  Werner LEMBERG  <wl@gnu.org>
4741         * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4742         * doc/texinfo.tex: Updated from texinfo 4.6.
4743         * README.CVS: From now on we need texinfo 4.6.
4745 2003-07-23  Werner LEMBERG  <wl@gnu.org>
4747         Add requests `dei1' and `ami1' for completeness.
4749         * src/roff/troff/input.cc (calling_mode): Remove
4750         CALLING_DISABLE_COMP.
4751         (comp_mode): New enumeration.
4752         (do_define_string, define_string, define_nocomp_string,
4753         append_string, append_nocomp_string): Updated.
4754         (do_define_macro): Add third parameter.
4755         (define_macro, define_nocomp_macro, define_indirect_macro,
4756         append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4757         (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4758         functions.
4759         (ignore): Updated.
4760         (init_input_requests): Add `dei1' and `ami1'.
4762         * tmac/trace.tmac: Handle de1 and am1.
4763         (de): Improve tracing message.
4764         (am): Add missing `do'.
4765         (return): Use de1.
4767         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4768         Document new requests.
4770 2003-07-22  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
4772         Add option -G to .MPIMG to insert a gap between text and the image.
4774         * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4775         www-finish-left-ll): Updated.
4776         (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4777         (MPIMG): Make option -L and -R optional.
4778         Implement option -G.
4780 2003-07-22  Gaius Mulley  <gaius@glam.ac.uk>
4782         * src/devices/grohtml/post-html.cpp
4783         (html_printer::do_file_components): Don't use `stdout' as lvalue
4784         since it can be a macro.
4786 2003-07-22  Werner LEMBERG  <wl@gnu.org>
4788         * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4789         the corresponding test in aclocal.m4.
4791 2003-07-21  Werner LEMBERG  <wl@gnu.org>
4793         * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4794         names but RGB values directly.  Otherwise pnmtopng depends on
4795         an external file `rgb.txt' which maps colour names to values.
4797 2003-07-20  Werner LEMBERG  <wl@gnu.org>
4799         * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4800         * configure, src/include/config.hin: Regenerated.
4802         * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4804 2003-07-19  Werner LEMBERG  <wl@gnu.org>
4806         * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4808 2003-07-18  Werner LEMBERG  <wl@gnu.org>
4810         * *.man: Switch to non-compatibility mode temporarily if GNU
4811         syntax extensions are used in the particular man page.
4813         * PROBLEMS: Add solutions for SGR problems.
4815 2003-07-17  Werner LEMBERG  <wl@gnu.org>
4817         Don't ignore grotty's command line options if \X'tty: sgr ...' is
4818         used to change the drawing scheme.
4820         * src/devives/grotty/tty.cpp (bold_flag_option,
4821         underline_flag_option, italic_flag_option, reverse_flag_option,
4822         bold_underline_mode_option): New global variables.
4823         (update_options): New function.
4824         (tty_printer::special): Call update_options.
4825         (main): Don't set xxx_flag but xxx_flag_option, then call
4826         update_options.
4828 2003-07-14  Werner LEMBERG  <wl@gnu.org>
4830         Make grotty emit proper Unicode box drawing characters for -Tutf8.
4832         * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4833         values.
4834         (hline_char, vline_char): New global variables.
4835         (tty_printer::tty_printer): Initialize them.
4836         (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4837         horizontal and vertical lines.
4838         (crossings): New global array.
4839         (tty_printer::end_page): Use it to determine the proper crossing
4840         character for -Tutf8.
4842 2003-07-12  Werner LEMBERG  <wl@gnu.org>
4844         * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4845         (HTMLDOCFILES): Revert to `pic.html'.
4846         (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4848 2003-07-11  Werner LEMBERG  <wl@gnu.org>
4850         * doc/pic.ms: Improve documentation of absolute coordinates.
4851         Document absolute positioning of pictures.
4853         * NEWS: Add new pic capability.
4855 2003-07-09  Hartmut Henkel  <hartmut_henkel@gmx.de>
4857         * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4858         Rewritten.
4860 2003-07-07  Werner LEMBERG  <wl@gnu.org>
4862         Implement support for dashed and dotted ellipses in pic.  Based on
4863         a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4865         * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4866         common_output::dashed_ellipse, common_output::dotted_ellipse): New
4867         functions.  Ellipse arcs are approximated with circle arcs.
4868         * src/preproc/pic/common.h (common_output): Updated.
4869         * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4870         functions.
4871         * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4873         * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4875 2003-07-06  Werner LEMBERG  <wl@gnu.org>
4877         Make grotty work on platforms which have unsigned char as the
4878         default for char.  Based on a patch by Thomas Klausner
4879         <wiz@netbsd.org>.
4881         * src/devices/grotty/tty.cpp (schar): New typedef.
4882         Updated calls to declare_ptable and implement_ptable.
4883         (glyph): Use schar for back_color_idx and fore_color_idx.
4884         (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4885         (tty_printer::tty_color, tty_printer::tty_printer,
4886         tty_printer::color_to_idx, tty_printer::put_color): Updated.
4888 2003-07-06  Ruslan Ermilov  <ru@FreeBSD.org>
4890         * src/roff/nroff/nroff.sh: Add option -d for completeness.
4891         * src/roff/nroff/nroff.man: Updated.
4893 2003-07-05  Werner LEMBERG  <wl@gnu.org>
4895         * NEWS, tmac/groff_www.man: Updated.
4896         * doc/Makefile.sub: Updated.
4898 2003-07-05  Gaius Mulley  <gaius@glam.ac.uk>
4900         Implement support for multiple HTML output files.
4902         * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4903         -j command line option.
4905         * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4906         global variables.
4907         (file): New fields `new_output_file', `require_links',
4908         `output_file_name'.
4909         (file::file): Updated.
4910         (files::set_file_name, files::set_links_required,
4911         files::are_links_required, files::is_new_output_file,
4912         files::file_name, files::next_file_name): New functions.
4913         (header_desc): New fields `no_of_level_one_headings',
4914         `header_filename'.
4915         (header_desc::header_desc): Updated.
4916         (header_desc::write_headings): Handle multiple files.
4917         (html_printer::write_header): Save file name in which header occurs.
4918         (html_printer::determine_header_level): Possibly split files on
4919         level one headings.
4920         (html_printer::do_links, html_printer::troff_tag): Updated.
4921         (html_printer::insert_split_file, html_printer::do_job_name,
4922         html_printer::emit_link, html_printer::write_navigation,
4923         html_printer::do_file_components): New functions.
4924         (html_printer::~html_printer): Handle multiple files.
4925         (main): Handle command line option `-j'.
4927         * src/devices/grohtml/grohtml.man: Updated.
4929         * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4930         which splits file.
4932         * tmac/www.tmac (JOBNAME): New macro.
4933         * tmac/s.tmac (SH-NO-TAG): New macro.
4934         (@SH): Call SH-NO-TAG.
4935         (@NH): Updated.
4937 2003-07-05  Ruslan Ermilov  <ru@FreeBSD.org>
4939         * tmac/groff_mdoc.man: Improve documentation of punctuation
4940         characters.
4942 2003-07-04  Ruslan Ermilov  <ru@FreeBSD.org>
4944         * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4946 2003-07-03  Werner LEMBERG  <wl@gnu.org>
4948         * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4950 2003-07-01  Ruslan Ermilov  <ru@FreeBSD.org>
4952         * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4953         after `/*' and `*/'.
4954         Fix spacing.
4955         (Fn, Fo): Reduce indentation in synopsis.
4957         * tmac/doc-common (doc-check-depth): New macro.
4958         (doc-end-macro, Sh, Ss): Use it.
4959         (Cd): Fix behaviour in synopsis.
4960         (In): Make it parsed and callable.
4961         If not in the synopsis, represent the C header file enclosed in
4962         angle brackets.
4963         (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4964         Use minus, not hyphen.
4966         * tmac/groff_mdoc.man: Updated.
4968 2003-07-01  Werner LEMBERG  <wl@gnu.org>
4970         Integrated grap2graph, contributed by Eric S. Raymond.
4972         * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4973         New files.
4974         * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4975         contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4977 2003-07-01  Colin Watson  <cjwatson@debian.org>
4979         * src/xditview/*.c: Add prototypes, fix return types, add includes.
4980         Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4982 2003-06-31  Ruslan Ermilov  <ru@FreeBSD.org>
4984         * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4986 2003-06-31  Werner LEMBERG  <wl@gnu.org>
4988         * doc/Makefile.sub (CLEANADD): Remove all files created by
4989         running `make groff.{pdf,dvi}'.
4991         * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4992         src/xditview also.
4994 2003-06-30  Werner LEMBERG  <wl@gnu.org>
4996         * Makefile.in (SHELL): Define as @SHELL@.
4997         (mkinstalldirs): Use $(SHELL).
4998         (MDEFINES): Add $(SHELL).
4999         * Makefile.comm (SHELL): Removed.
5001 2003-06-29  Werner LEMBERG  <wl@gnu.org>
5003         * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5004         The X11 documentation files use them.
5005         * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5007 2003-06-15  Robert Goulding  <goulding@Princeton.EDU>
5009         * tmac/e.tmac (@C): Handle .ad also.
5011 2003-06-12  Werner LEMBERG  <wl@gnu.org>
5013         * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5015         * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5016         Assign `n' even here.  It is possible to construct a node
5017         immediately following an escape character:
5019           .di xx
5020           \?\\\?a
5021           .br
5022           .di
5023           .xx
5025 2003-06-10  Werner LEMBERG  <wl@gnu.org>
5027         * README.WIN32: Removed.
5028         * MANIFEST: Updated.
5030 2003-06-07  Werner LEMBERG  <wl@gnu.org>
5032         * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5034 2003-06-05  Werner LEMBERG  <wl@gnu.org>
5036         * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5037         in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5039 2003-06-03  Werner LEMBERG  <wl@gnu.org>
5041         * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5042         is done by the calling function.
5044 2003-05-22  Ruslan Ermilov  <ru@FreeBSD.org>
5046         * tmac/X.tmac: Fix definition of `em'.
5048 2003-05-22  Werner LEMBERG  <wl@gnu.org>
5050         * src/roff/troff/input.cc (return_macro_request): Fix detection of
5051         argument.
5053 2003-05-18  Werner LEMBERG  <wl@gnu.org>
5055         * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5056         to make items work which consist only of a tag.
5058 2003-05-17  Werner LEMBERG  <wl@gnu.org>
5060         * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5061         aren't stretched in a tag (this can fail with unformatted boxes).
5062         Instead, insert a break and go back one line.
5064 2003-05-16  Werner LEMBERG  <wl@gnu.org>
5066         * src/roff/troff/input.cc (return_macro_request): If called with
5067         argument pop macro twice.  We need this to trace `return'.
5069         * tmac/trace.tmac: Handle `return'.
5070         Fix typos.
5072         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5073         Document.
5075 2003-05-15  Larry Kollar  <kollar@alltel.net>
5077         * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5078         registers `FPS', `FVS', and `FPD'.
5080 2003-05-15  Werner LEMBERG  <wl@gnu.org>
5082         * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5083         correctly.
5085 2003-05-03  Ruslan Ermilov  <ru@FreeBSD.org>
5087         * tmac/groff_mdoc.man: Slight improvements.
5089 2003-05-03  Werner LEMBERG  <wl@gnu.org>
5091         * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5092         `doc-header-space' after header line if register `cR' is set.
5094 2003-05-02  Werner LEMBERG  <wl@gnu.org>
5096         * TODO: Updated.
5098 2003-05-01  Ruslan Ermilov  <ru@FreeBSD.org>
5100         * tmac/doc-common (Nd): Use \[em].
5102 2003-05-01  Werner LEMBERG  <wl@gnu.org>
5104         * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5105         doc-footer-space): Initialize to 0.5i.
5106         (doc-setup-page-layout): Don't set doc-header-space and
5107         doc-footer-space.
5109 2003-04-30  Werner LEMBERG  <wl@gnu.org>
5111         * REVISION: Set to 1.
5113         * doc/pic.ms: Document possible problems with `figname'.
5115 2003-04-29  Werner LEMBERG  <wl@gnu.org>
5117 Version 1.19 released
5118 =====================
5120         * VERSION: Set to 1.19.
5121         * REVISION: Set to 0.
5122         * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5124         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5125         Define charset as `US-ASCII' in html output.
5127         * tmac/www.tmac (ULE): Add missing scaling indicator.
5129         * win32-diffs: Removed.
5131 2003-04-28  Werner LEMBERG  <wl@gnu.org>
5133         * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5134         `.da' and `.boxa'.
5135         Document how to insert discardable whitespace with `.ss'.
5137 2003-04-27  Werner LEMBERG  <wl@gnu.org>
5139         * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5140         work with plain TeX also.
5142         * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5144 2003-04-25  Gaius Mulley  <gaius@glam.ac.uk>
5146         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5147         Use a loose DTD.
5149 2003-04-24  Werner LEMBERG  <wl@gnu.org>
5151         * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5152         vbox with positive height and zero depth if in TeX mode.
5154         * NEWS: Document glyph name changes for grodvi and grolj4.
5156 2003-04-23  Werner LEMBERG  <wl@gnu.org>
5158         * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5159         * doc/pic.ms: Fixed.
5161 2003-04-21  Werner LEMBERG  <wl@gnu.org>
5163         HP-UX 10.20 has `snprintf' but it isn't declared.
5165         * configure.ac: Add declaration test for snprintf.
5166         * configure: Regenerated.
5167         * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5168         * src/include/config.hin: Regenerated.
5170 2003-04-19  Werner LEMBERG  <wl@gnu.org>
5172         Add keyword `figname' to pic, specifying the name of the picture
5173         box in TeX mode.  Based on a patch from William J Poser
5174         <wjposer@unagi.cis.upenn.edu>.
5176         * src/preproc/pic/pic.y: New token `FIGNAME'.
5177         (macro_name): New rule of type <str>.
5178         (placeless_element): Handle `FIGNAME'.
5179         * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5180         * src/preproc/pic/main.cpp (graphname): New global variable.
5181         (do_picture): Initialize `graphname'.
5182         * src/preproc/pic/pic.h: Updated.
5183         * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5184         `graphname'.
5185         Simplify TeX code.
5186         (tex_output::text): Beautify output.
5187         * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5188         `shaded' and `outlined' unconditionally.
5189         * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5190         Minor improvements.
5192         * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5193         greater is necessary.
5195 2003-04-17  Hartmut Henkel  <hartmut_henkel@gmx.de>
5197         Add option -r to soelim to avoid emission of `.lf' lines.
5198         Add option -t to produces TeX comment lines instead of `.lf' lines.
5200         * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5201         and `tex_flag'.
5202         (usage): Updated.
5203         (main): Handle `-r' and `-t'.
5204         (set_location): Handle `raw_flag' and `tex_flag'.
5205         * src/preproc/soelim/soelim.man, NEWS: Updated.
5207 2003-04-17  Werner LEMBERG  <wl@gnu.org>
5209         * tmac/hyphenex.sh: Replaced with...
5210         * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5211         nightmares.
5213         * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5214         if --quiet is used for the configure script.
5215         * configure: Regenerated.
5217 2003-04-16  Werner LEMBERG  <wl@gnu.org>
5219         * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5220         Add `const' to second argument.
5221         (html_printer::add_table_end): Add `const' to argument.
5222         * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5223         `const' to arguments.
5224         * src/devices/grohtml/html-text.h: Updated.
5226         * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5227         * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5228         argument.
5230         * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5231         cast for integer constant.
5233         * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5234         (writeNbytes): Add `const' to first argument.
5235         (writeString): Add `const' to argument.
5236         (char_buffer::can_see): Add `const' to third argument.
5237         * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5238         `const' to argument.
5239         * src/preproc/html/pushback.h: Updated.
5241         * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5242         (include_path_append): Add `const' to argument.
5243         (do_file): Updated.
5245         * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5246         for `value'.
5247         (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5248         * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5249         for `value'.
5250         (unicode_decompose_init::unicode_decompose_init): Updated.
5251         * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5252         for `value'.
5253         (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5254         * src/roff/troff/input.cc (process_startup_file): Add `const' to
5255         argument.
5257         * tmac/hyphenex.sh: Make script more portable by using a here
5258         document.
5260 2003-04-15  Werner LEMBERG  <wl@gnu.org>
5262         Renamed all `*.cc' files to `*.cpp'.
5263         Updated all configuration files, makefiles, and documentation.
5265 2003-04-14  Werner LEMBERG  <wl@gnu.org>
5267         * tmac/hyphenex.sh: Slight improvements.
5269 2003-04-13  Werner LEMBERG  <wl@gnu.org>
5271         * font/devascii/R.proto, font/devcp1037/R.proto,
5272         font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5273         character slots with unnamed glyphs.
5275         * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5276         (an-first): New global variable.
5277         (an-header): Emit vertical space between multiple man pages.
5279 2003-04-11  Werner LEMBERG  <wl@gnu.org>
5281         * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5282         values.
5284 2003-04-10  Werner LEMBERG  <wl@gnu.org>
5286         * PROBLEMS: Revised.
5288 2003-04-10  Bernd Warken  <bwarken@mayn.de>
5290         * doc/webpage.ms: Improved.
5292 2003-04-09  Werner LEMBERG  <wl@gnu.org>
5294         Add register \n[.height] which returns the value of \H.
5295         Add register \n[.slant] which returns the value of \S.
5297         * src/roff/troff/env.cc (init_env_requests): Implement.
5298         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5299         Document.
5301 2003-04-08  Werner LEMBERG  <wl@gnu.org>
5303         * tmac/html.tmac: Move some of the data into html-end.tmac.
5304         Remove most of the character translations for eqn since html fonts
5305         now cover those characters.
5306         Load www.tmac.
5307         * tmac/html-end.tmac: New file.
5308         * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5309         * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5310         * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5312 2003-04-07  Werner LEMBERG  <wl@gnu.org>
5314         * man/groff_out.man: Document negative values of `N' if -Thtml is
5315         used.
5317 2003-04-06  Werner LEMBERG  <wl@gnu.org>
5319         * Makefile.comm (depend.temp): Check location of YTABC.
5321 2003-04-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
5323         * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5324         binary path.
5325         (groff_bin_path): Rename to GROFF_BIN_PATH.
5326         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5327         * doc/Makefile.in (TROFFBIN): New variable for troff
5328         binary path.
5329         (GROFFBIN): New variable for groff binary path.
5330         (groff_bin_path): Rename to GROFF_BIN_PATH.
5331         (TROFF): Use TROFFBIN.
5332         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5333         * doc/Makefile.sub (GROFFBIN): New variable for groff
5334         binary path.
5335         (groff_bin_path): Rename to GROFF_BIN_PATH.
5336         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5338         * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5339         with INSTALL_SCRIPT.
5340         (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5341         * Makefile.dev (all): Depend on DEVSCRIPTS.
5342         (install_dev): Likewise.
5343         * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5344         scripts.
5345         * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5346         (DEVGENSCRIPTS): New variable to hold generated scripts.
5348 2003-04-05  Werner LEMBERG  <wl@gnu.org>
5350         * src/libs/libdriver/input.cc (IntArray::operator[],
5351         IntArray::get_data): Remove meaningless `const' in return value.
5353         * README.CVS: New file.
5355 2003-04-04  Werner LEMBERG  <wl@gnu.org>
5357         Check for stdint.h in C++, not in C.
5359         * aclocal.m4 (GROFF_STDINT_H): New function,
5360         * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5361         AC_CHECK_HEADERS.
5362         * configure, src/include/config.hin: Regenerated.
5363         * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5366         Fix handling of &nbsp; in grohtml.  To do this, troff emits `N'
5367         with a negative value, representing the width of the unbreakable
5368         space (only for -Thtml).  grohtml then converts this back to
5369         &nbsp; and uses the value of N as its width.
5371         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5372         unbreakable_space_node::tprint): Emit `N-<width>'.
5373         * src/include/printer.h (printer::set_numbered_char): Make it
5374         virtual.
5375         Make members `font_table' and `nfonts' protected instead of private.
5376         * src/devices/grohtml/post-html.cc
5377         (html_printer::set_numbered_char): New member function.
5380         * src/libs/libgroff/maxfilename.cc:
5381         s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5383         * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5384         emit word marker.
5386 2003-04-03  Sergey A. Osokin  <osa@freebsd.org.ru>
5388         * man/roff.man: Small fixes.
5390 2003-04-03  Werner LEMBERG  <wl@gnu.org>
5392         Make groff independent from locale's numeric settings.
5394         * configure.ac: Check for `setlocale'.
5395         * configure, src/include/config.hin: Regenerated.
5397         * src/include/lib.h: Handle HAVE_SETLOCALE.
5399         * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5400         (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5401         (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5404         * doc/groff.texinfo: Change dir category to `Typesetting'.
5405         (Man font macros): Mention that there is no space between arguments
5406         of .BI and friends.
5408         * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5409         (*printer::change_color, *printer::change_fill_color): Add missing
5410         `const'.
5412 2003-04-02  Werner LEMBERG  <wl@gnu.org>
5414         * src/devices/grohtml/html-table.cc (html_table::emit_col,
5415         html_table::is_gap): Compute table widths after converting border
5416         positions to avoid rounding errors.
5418 2003-04-01  Werner LEMBERG  <wl@gnu.org>
5420         * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5421         `space_emitted' properly.
5423 2003-03-31  Werner LEMBERG  <wl@gnu.org>
5425         * src/devices/grohtml/html-table.cc: Fix column width calculation.
5426         (html_table::set_linelength): Don't add 1.
5427         (html_table::add_indent): Don't subtract 1.
5429         * tmac/html.tmac: Set default page offset to zero.
5431 2003-03-30  Werner LEMBERG  <wl@gnu.org>
5433         Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
5435         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5436         unbreakable_space_node::tprint): New functions.
5437         (troff_output_file): Make space_char_hmotion_mode::tprint and
5438         unbreakable_space_node::tprint to friends.
5439         * src/roff/troff/node.h: Updated.
5441         * font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
5442         in the HTML standard).
5444 2003-03-29  Werner LEMBERG  <wl@gnu.org>
5446         * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5447         Otherwise, the following code
5449           .di xxx
5450           .ps 10
5451           a
5452           .br
5453           .di
5454           x\*[xxx]
5456         produces `x a' instead of `xa'.  This is a temporary fix, disabling
5457         font changes in diversions for -Thtml.
5459         * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5460         `HTML-TAG'.
5461         (an-do-tag-html): Merge with ...
5462         (an-do-tag): This macro.
5463         Change code slightly to circumvent grohtml bug.
5464         * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5466         * src/devices/grohtml/html-table.cc (html_table::emit_col,
5467         html_table::is_gap): Round `width' properly.
5469         * tmac/html.tmac: Provide some default layout parameters for
5470         grohtml.
5472         * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5473         command.
5475 2003-03-28  Werner LEMBERG  <wl@gnu.org>
5477         src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5479 2003-03-27  Werner LEMBERG  <wl@gnu.org>
5481         * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5482         defined.
5484 2003-03-20  Werner LEMBERG  <wl@gnu.org>
5486         * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5487         `.vs'.
5488         * doc/groff.texinfo: Updated.
5490 2003-03-19  Werner LEMBERG  <wl@gnu.org>
5492         * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5493         TOKEN_END_TRAP>: Reset `have_input'.
5495 2003-03-18  Werner LEMBERG  <wl@gnu.org>
5497         * src/roff/groff/groff.man: Mention groff_trace man page.
5499 2003-03-16  Werner LEMBERG  <wl@gnu.org>
5501         * Makefile.in (LIBEXT): New variable to indicate the file extension
5502         of library files.  Computed heuristically from $(OBJEXT).
5503         (MDEFINES): Add $(LIBEXT).
5504         * Makefile.lib, Makefile.comm: Use it.
5506         * src/utils/pfbtops/pfbtops.c (get_text): New function.  Split
5507         overlong lines into smaller chunks.
5508         (get_binary): New function.
5509         (main): Use them.
5510         * src/utils/pfbtops/pfbtops.man: Updated.
5512 2003-03-15  Colin Watson  <cjwatson@debian.org>
5514         * src/roff/groff/groff.man: Minor syntax fix.
5516 2003-03-14  Egil Kvaleberg  <egil@kvaleberg.no>
5518         * src/devices/grops/ps.cc (ps_printer::media_set,
5519         ps_printer::~ps_printer): Handle zero paper width and length.
5521 2003-03-13  Werner LEMBERG  <wl@gnu.org>
5523         Add options -p and -l to grodvi.
5525         * src/devices/grodvi/dvi.cc: Include paper.h.
5526         (landscape_flag, user_paper_length, user_paper_width): New global
5527         variables.
5528         (dvi_printer::begin_page): Emit `papersize' special.
5529         Set color after initialization of `cur_h' and `cur_v'.
5530         (main): Add options `-l' and `-p'.
5531         * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5532         * src/devices/grodvi/grodvi.man, NEWS: Updated.
5534         * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5536 2003-03-12  Werner LEMBERG  <wl@gnu.org>
5538         * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5539         * man/groff_tmac.man: This man page.
5540         * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5541         deprecated.
5543         * tmac/X.tmac: Don't load pspic.tmac.
5545 2003-03-11  Werner LEMBERG  <wl@gnu.org>
5547         Make variable `pr' local to libdriver/input.cc.  Based on a patch
5548         by Bernd Warken <bwarken@mayn.de>.
5550         * src/include/driver.h (pr): Removed.
5552         * src/libs/libdriver/input.cc (pr): New global variable.
5553         (do_file): Deallocate `pr'.
5554         * src/libs/libdriver/printer.cc (pr): Removed.
5556         * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5557         (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5558         (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5559         (main): Don't delete `pr'.
5561 2003-03-10  Werner LEMBERG  <wl@gnu.org>
5563         * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5564         * tmac/papersize.tmac: New file.
5565         * tmac/troffrc: Include `papersize.tmac'.
5566         * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5567         * tmac/an-old.tmac: Set LT to LL by default.
5569         * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5570         doc/groff.texinfo: Updated.
5572         * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5573         bug which caused all odd iso papers to have wrong dimensions.
5575         * src/devices/grops/ps.cc (user_paper_width): New global variable.
5576         (main) <'p'>: Set `user_paper_width' also.
5577         (ps_printer::media_width, ps_printer::media_height): Use values
5578         given with option `-p'.
5580 2003-03-09  Werner LEMBERG  <wl@gnu.org>
5582         * src/include/nonposix.h: Provide default for SET_BINARY.
5584         * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5585         src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5586         unconditionally.
5588         * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5589         (main): Treat \r\n as \n.
5591 2003-03-08  Werner LEMBERG  <wl@gnu.org>
5593         * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5594         * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5596 2003-03-07  Werner LEMBERG  <wl@gnu.org>
5598         Added support to access more than 256 glyphs in Type 1 fonts.
5600         * src/devices/grops/ps.cc (subencoding): New structure.
5601         (style): Add `sub' field.
5602         Updated all users.
5603         (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5604         Add `set_subencoding', `get_subfont' and `encode_subfont' member
5605         functions.
5606         Updated all users.
5607         (ps_printer::set_char): Use `set_subencoding'.
5608         (make_subencoding_name): New function.
5609         (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5610         (ps_printer::~ps_printer): Emit subencoding definitions.
5612         * src/devices/grops/psrm.cc (valid_input_table): New array to
5613         properly support EBCDIC.
5614         (white_space): Add `\f'.
5615         (ps_get_line): Change first argument to be of type `string &'.
5616         Updated all callers.
5617         This allows to get lines of arbitrary length.
5618         Use `valid_input_table'.
5619         Remove warning about non-conforming PS line length.  This seems
5620         not to be of great importance -- for example, dvips don't emit
5621         a warning either.
5622         (PS_LINE_MAX): Removed.
5623         (matches_comment): Change first argument to be of type `string &'.
5625         * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5627         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5628         %AGL_to_unicode, %default_ligatures): New hash tables.
5629         Read all map entries.
5630         Add unencoded characters.
5631         Check for default ligatures if there are no `L' entries.
5632         Print all kern entries.
5633         Print all characters in charset.
5634         * src/utils/afmtodit/afmtodit.man: Updated.
5636         * font/devps/*: Regerated all fonts.
5638         * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5639         of characters, just use `.trin'.  Otherwise the mapping depends
5640         on the font encoding.
5641         * tmac/ps.tmac: Add `fi' and `fl'.
5642         Improve `Fi' and `Fl'.
5643         * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5644         * tmac/Xps.tmac: Fix `em'.
5646         * NEWS: Updated.
5648 2003-03-04  Werner LEMBERG  <wl@gnu.org>
5650         * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5651         `have_input'.
5653 2003-03-03  Werner LEMBERG  <wl@gnu.org>
5655         * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5657         * font/devps/generate/textmap: Remove entry `similarequal'.
5658         * font/devps/symbolmap: Updated.
5660 2003-03-02  Werner LEMBERG  <wl@gnu.org>
5662         * src/libs/libgroff/font.cc (font::load): Fix error message for
5663         bad character type.
5665         * src/devices/grops/grops.man: Improve documentation of the -b
5666         flag.
5668         * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5669         `ascii' and `cp1047'.
5671 2003-03-01  Werner LEMBERG  <wl@gnu.org>
5673         Document composite glyphs and the `composite' request.
5675         * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5677 2003-02-28  Werner LEMBERG  <wl@gnu.org>
5679         * font/devdvi/generate/ec.map: Add some more Unicode entities.
5680         * font/devdvi/*EC: Updated.
5682         * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5683         * tmac/latin1 (latin1-tr): Undo any previous mapping.
5684         * tmac/troffrc: Load `composite.tmac'.
5685         * tmac/Makefile.sub (NORMALFILES): Updated.
5687         * doc/groff.texinfo (Input Encodings): New section.
5688         * NEWS: Updated.
5690 2003-02-27  Werner LEMBERG  <wl@gnu.org>
5692         * doc/texinfo.tex: New version 2003-02-11.06.
5694         * tmac/doc-common (Dt): Don't emit warning for unknown section.
5695         * tmac/groff_mdoc.man: Fix description of `Dt'.
5697 2003-02-26  Egil Kvaleberg  <egil@kvaleberg.no>
5699         * font/devps/prologue.ps: Fix for included Postscript that does
5700         a setpagedevice -- which is now safely ignored.
5702         * NEWS: Updated.
5704         * src/devices/grops/ps.cc: Now sets the page size in the generated
5705         document.  This is done in two ways: Via a %%-comment for gv and
5706         the like, and via a PageSize and setpagedevice for programs that
5707         understands Postscript proper, like ps2pdf.
5709         * src/devices/grops/ps.h: New broken-flag to avoid page size
5710         definition, if required.
5712         * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5714         * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5715         Not really necessary due to the fix in prologue.ps, but cleaner:
5716         Such information does not belong in an .eps file.
5718         * doc/Makefile.sub: See doc/Makefile.in.
5720 2003-02-26  Ralph Corderoy  <ralph@inputplus.co.uk>
5722         * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5723         instead of P1 since the latter is broken in some versions of netpbm.
5724         * configure: Updated.
5726 2003-02-26  Larry Kollar  <kollar@alltel.net>
5728         Make man pages more customizable.
5730         * tmac/an-old.tmac (FT): New register holding footer distance from
5731         bottom.
5732         (HF): New string holding the default heading font.
5733         (TH): Handle registers `IN' and `SN' set on the command line.
5734         Use `FT'.
5735         (PT, BT): New strings to customize header and footer lines.
5736         (an-header, an-footer): Use them.
5737         (SH, SS): Use `HF'.
5738         * tmac/groff_man.man: Document changes.
5740         * doc/groff.texinfo: Document man changes.
5741         Document Ultrix extensions of man.
5743 2003-02-26  Werner LEMBERG  <wl@gnu.org>
5745         * src/roff/troff/input.cc (do_width, do_if_request): Reset
5746         `have_input' after changing back to old environment.
5748         * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5749         function up to be defined before first call.  This is necessary to
5750         avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5752         * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5753         the default font directory also.  Based on a patch from James
5754         J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5755         * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5756         * src/utils/afmtodit/afmtodit.man: Document it.
5758         * NEWS: Updated.
5760         * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5762 2003-02-25  Gaius Mulley  <gaius@glam.ac.uk>
5764         * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5765         (GROFF_PNMTOPS_NOSETPAGE): New macro.
5766         * configure.ac: Use it.
5767         * configure: Regenerated.
5768         * Makefile.in: Updated.
5770         * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5771         (CLEANADD): Add www.tmac-sed.
5772         (pnmtops_nosetpage): Define default.
5773         (install_data): Handle www.tmac-sed and substitute
5774         @PNMTOPS_NOSETPAGE@.
5775         (stamp-sed): Add www.tmac.
5776         * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5777         It now breaks URLs at suitable places.
5778         (www:substring_ok): New register set by...
5779         (www:@test_substring): New macro.
5780         (www:error): New alias to www-error.
5781         (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5782         New macros.
5783         (URL): Use www:url_breaks.
5784         (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5785         (CDS, CDE): New macros.
5787 2003-02-25  Werner LEMBERG  <wl@gnu.org>
5789         * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5790         buffer overflow.
5792 2003-02-24  Werner LEMBERG  <wl@gnu.org>
5794         Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5795         can be negative also.
5797         * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5798         `int16'.
5799         (read_char_table): Avoid negative ascenders.
5800         (output_charset): Add cast.
5801         * font/devlj4/*: Regenerated.
5803         Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5804         possible.
5806         * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5807         * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5808         of `<>'.
5809         * font/devdvi/*: Regenerated.
5811         Map `la' and `ra' to U+27E8 and U+27E9.  These two characters have
5812         normal width, while the previously used characters (U+2329 and
5813         U+232A) are classified as wide due to canonical equivalence with the
5814         CJK punctuation characters U+3008 and U+3009.
5816         * font/devutf8/R.proto: Updated.
5817         * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5819         * man/groff_char.man: Simplify handling of table traps by
5820         introducing `start block' and `end block' macros.
5821         (Ns, Ne, 2s, 2e, Ds, De): New macros.
5822         (DL): Make it work with Unix troff also.
5823         Fix code values of `la' and `ra'.
5825         * tmac/dvi.tmac: Define `<>' for CW and CWI.
5827 2003-02-23  Gaius Mulley  <gaius@glam.ac.uk>
5829         * src/devices/grohtml/post-html.cc (element_list::~element_list):
5830         New destructor, fixing a major memory leak.
5832 2003-02-22  Werner LEMBERG  <wl@gnu.org>
5834         * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5835         to be in conformance with Unicode 3.0 and newer.
5837         * font/devlj4/generate/text.map: Add `Eu'.
5838         * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5839         * font/devlj4/S: Regenerated.
5841         * man/groff_char.man: Completely rewritten.
5843         * doc/groff.texinfo: Fix description of request and macro arguments.
5845 2003-02-20  Gaius Mulley  <gaius@glam.ac.uk>
5847         Valgrind fixes.
5849         * src/devices/grohtml/html-table.cc (html_table::~html_table):
5850         Deallocate `columns' list.
5851         * src/devices/grohtml/post-html.cc (char_block::~char_block):
5852         New destructor.
5853         (text_glob::text_glob_html, text_glob::text_glob_special,
5854         text_glob::text_glob_line, text_glob::text_glob_auto_image,
5855         text_glob::text_glob_tag): Avoid memory leaks.
5856         (text_glob::remember_table): Free memory before reassigning.
5858 2003-02-19  Werner LEMBERG  <wl@gnu.org>
5860         Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5861         alias `hbar'), the Planck constant over two pi.
5863         * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5864         `+e' for position 34.
5865         * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5866         `u2662' and `u2661'.
5867         * font/devdvi/{MI,S}: Regenerated.
5868         * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5869         * font/devlbp/*: Add `hbar' alias.
5870         * font/devlj4/generate/special.map: Ditto.
5871         * font/devlj4/S: Regenerated.
5872         * font/devps/generate/symbolchars: Add `+e'.
5873         * font/devps/generate/textmap: Fix PS name for `-h'.
5874         Add `hbar' alias.
5875         * font/devps/symbolmap: Regenerated.
5877         * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5879         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5880         `-h', `hbar'.
5881         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5882         `-h'.
5884         * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5885         `hbar'.
5886         * tmac/tty-char.tmac: Add `+e'.
5888 2003-02-17  Werner LEMBERG  <wl@gnu.org>
5890         Another round trying to really fix problems with `have_input'.
5892         * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5893         (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5895         * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5896         handling if both foreground and background colors are default.
5898         * doc/groff.texinfo (Debugging): Document .lf differences to
5899         AT&T troff.
5901 2003-02-16  Werner LEMBERG  <wl@gnu.org>
5903         * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5904         null-bytes in created string.
5906         * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5907         alias_macro, lookup_request): Improve warning messages.
5909         * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5910         not `strdup'.
5911         Free `last_image_filename'.
5913         * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5914         `buffer'.
5915         (imageList::createPage, imageList::createImage): Use `free', not
5916         `a_delete'.
5917         (imageItem::~imageItem): Free `imageName'.
5918         (addRegDef): Use `strsave', not `strdup'.
5919         (get_resolution): Free `pathp'.
5921 2003-02-15  Werner LEMBERG  <wl@gnu.org>
5923         * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5924         to `dummy'.
5926 2003-02-14  Werner LEMBERG  <wl@gnu.org>
5928         Add memory management for colors to deallocate unnamed colors
5929         properly.
5931         * src/include/color.h (color): New members `free_list' and `next'.
5932         New member functions `new' and `delete'.
5933         Add destructor.
5934         * src/libs/libgroff/color.cc: Implement it.
5936         * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5937         for array size of new operator.
5939         * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5940         redundant comparison.
5942         * src/roff/troff/input.cc (word_space_node::reread,
5943         hmotion_node::reread): Avoid warning about unused parameter.
5944         (reset_output_registers): Remove redundant parameter.
5945         (define_color): Undo change 2003-02-12.
5947         * src/roff/troff/reg.h: Updated.
5949         * src/roff/troff/node.cc (troff_output_file::really_print_line,
5950         output_file::put_filename, real_output_file::really_put_filename,
5951         ascii_output_file::really_print_line,
5952         break_char_node::get_hyphen_list): Avoid warning about unused
5953         parameter.
5954         (suppress_node::tprint): Updated.
5956         * configure.ac: Check declaration for rand() and srand().
5957         * configure: Regenerated.
5959         * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5960         conditionally.
5961         * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5962         and srand().
5964         * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5965         to avoid compiler warnings.
5967         * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5968         unused.
5970         * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5971         is unused.
5972         * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5973         (unused) parameter.
5974         Updated all callers.
5976         * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5977         is unused.
5978         * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5979         * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5981         * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5982         Parameter is unused.
5983         (html_printer::add_table_end): Define parameter conditionally.
5984         * src/devices/grohtml/output.cc (simple_output::special): Parameter
5985         is unused.
5987         * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5988         (lbp_printer::set_char): Last parameter is unused.
5990         * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5992 2003-02-13  Werner LEMBERG  <wl@gnu.org>
5994         New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5995         Make \D'f ...' move horizontally again for backwards compatibility.
5996         Replace it with \D'Fg ...' where appropriate to avoid dependency
5997         on horizontal resolution.
5999         * src/roff/troff/input.cc (do_get_long_name): New function.
6000         (get_long_name): Call it.
6002         (read_draw_node): Handle `\D'Fx ...' by calling ...
6003         (read_color_draw_node): New function.
6005         (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6006         `end'.
6007         Pass it to `do_get_long_name' which is used instead of
6008         `get_long_name'.
6010         * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6011         unnecessary value guard.
6012         (parse_D_command) <'f'>: Add horizontal shift.
6014         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6015         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6016         (FILL_MAX): Removed.
6018         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6019         Updated.
6021 2003-02-12  Werner LEMBERG  <wl@gnu.org>
6023         * src/roff/troff/input.cc (do_name_test, do_expr_test,
6024         do_zero_width): Push `\n' if closing delimiter is missing.
6026         (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6027         <'F'>: Make \F non-transparent at the beginning of line.
6028         (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6029         token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6030         `have_input'.
6032         (define_color): Free color in case of reassignment.
6034         * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6035         @DefescListEnd): Use @Var, not @var.
6036         Fix all calls.
6038         * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6040         * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6041         `shaded' and `outlined' arrays.
6042         (object_spec::object_spec): Initialize `shaded' and `outlined'.
6043         (graphic_object::set_fill_color, graphic_object::set_outline_color):
6044         Use strsave.
6045         (closed_object::set_fill_color): Ditto.
6046         * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6047         instead of strdup.
6048         (troff_output::reset_color): Use a_delete instead of free.
6049         * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6051 2003-02-11  Werner LEMBERG  <wl@gnu.org>
6053         * doc/groff.texinfo: Improve documentation of `ad'.
6054         Document that \D'f...' is dependent on the horizontal resolution.
6055         * man/groff_diff.man: Improve documentation of \D'f...'.
6057         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6058         compensating \h'...' for \D'f ...' since the latter no longer moves
6059         current position.
6060         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6062 2003-02-10  Werner LEMBERG  <wl@gnu.org>
6064         Improve error messages for `x F' (and `F') commands.
6066         * src/include/error.h: Add declaration for
6067         `current_source_filename'.
6068         * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6069         * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6070         parameter for source file string.
6071         Updated all callers.
6073         * src/libs/libdriver/input.cc: Add `current_source_filename'.
6074         (remember_source_filename): New function.
6075         (parse_x_command <'F'>, do_file <'F'>): Use it.
6077 2003-02-09  Werner LEMBERG  <wl@gnu.org>
6079         Make grotty not emit warnings about unknown colors more than
6080         necessary.
6082         * src/devices/grotty/tty.cc: Include `ptable.h'.
6083         (TTY_MAX_COLORS): Removed.
6084         (DEFAULT_COLOR_IDX): Defined to -1.
6085         (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6086         (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6087         Change `tty_colors' to be a ptable.
6088         First arg of `put_color' is now `char'.
6089         New functions `make_rgb_string' and `tty_color'.
6090         (tty_printer::tty_printer): Use `tty_color'.
6091         (tty_printer::color_to_idx): Return value is now `char'.
6092         Use `tty_color'.
6094         * src/include/color.h (color): Add `print_color' member function.
6095         * src/libs/libgroff/color.cc (color::print_color): Implement it.
6097 2003-02-08  Werner LEMBERG  <wl@gnu.org>
6099         Valgrind fixes.
6101         * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6102         encoding file.
6104         * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6105         assume that value has been allocated with `new[]', thus use
6106         `a_delete' for deallocation.
6108         * src/libs/libdriver/input.cc (get_integer_arg,
6109         get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6110         where appropriate.
6112         * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6113         * src/libs/libgroff/nametoindex.cc
6114         (character_indexer::named_char_index): Use `new <type>[1]'.
6116         * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6117         <type>[1]'.
6118         * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6119         (split_text): Use `a_delete'.
6121         * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6122         <type>[1]'.
6124         * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6125         harmless memory leak.
6126         (hyphen_trie::read_patterns_file): Initialize `buf'.
6127         * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6128         Initialize `current_fill_color'and `current_glyph_color'.
6129         * src/roff/troff/glyphuni.cc
6130         (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6131         * src/roff/troff/uniuni.cc
6132         (unicode_decompose_init::unicode_decompose_init): Ditto.
6133         * src/roff/troff/uniglyph.cc
6134         (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6136 2003-01-26  Werner LEMBERG  <wl@gnu.org>
6138         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6139         `access' before calling `unlink'.
6140         (do_file): Handle __EMX__.
6142         * src/include/nonposix.h: Handle __EMX__.
6144         * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6145         (fontpath,tmacpath): Use it.
6146         (MDEFINES): Add it.
6147         Sorted alphabetically.
6149         * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6150         @SEP@.
6151         * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6152         @SEP@.
6154 2003-01-27  Werner LEMBERG  <wl@gnu.org>
6156         * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6157         New files, copied from gnulib.
6158         * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6159         * configure.ac: Updated.
6160         * configure: Regenerated.
6162         * src/include/config.hin: Regenerated.
6163         * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6164         Don't define `strcasecmp' as `strcmp'.
6165         [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6166         Dont define `strncasecmp' as `strncmp'.
6168         * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6169         Removed.
6171 2003-01-26  Werner LEMBERG  <wl@gnu.org>
6173         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6174         s/unline/unlink/.
6176 2003-01-25  Werner LEMBERG  <wl@gnu.org>
6178         * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6180 2003-01-24  Werner LEMBERG  <wl@gnu.org>
6182         Add US-english hyphenation exceptions (converted from Barbara
6183         Beeton's hyphenation exception log reports which appear irregularly
6184         in TUGBoat).
6186         * tmac/hyphen.us: Updated to latest version.
6187         * tmac/README: Updated.
6188         * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6189         * tmac/troffrc: Load `hyphenex.us'.
6190         * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6191         * doc/groff.texinfo: Updated.
6193 2003-01-23  Werner LEMBERG  <wl@gnu.org>
6195         Improve hyphenation slightly.  This is a first step in redesigning
6196         the hyphenation algorithm to make it more flexible (e.g. allowing
6197         kerns and ligatures between the hyphenation character and the
6198         following character -- while not used normally in English, other
6199         languages like German would benefit).
6201         * src/roff/troff/env.cc (environment::hyphenate_line): Use
6202         assertion instead of if-clause.
6203         Let `get_hyphen_list' return the number of involved characters in
6204         the hyphenation pattern instead of computing it directly (which
6205         often yields too small values).
6206         * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6207         * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6208         parameter.
6210 2003-01-22  Werner LEMBERG  <wl@gnu.org>
6212         Fixing a bug which caused groff to hang if the hyphenation exception
6213         dictionary tried to grow.
6215         * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6216         hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6217         pointer to dictionary.
6219 2003-01-20  Werner LEMBERG  <wl@gnu.org>
6221         * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6222         negative left italic correction.
6223         * src/utils/afmtodit/afmtodit.man: Document it.
6225         * font/devps/generate/Makefile (RFLAG): Add `-m'.
6226         * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6227         S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6229         * NEWS: Updated.
6231 2003-01-16  Werner LEMBERG  <wl@gnu.org>
6233         * NEWS: Updated.
6235 2003-01-16  Jörgen Grahn  <jgrahn@algonet.se>
6237         * src/preproc/refer/refer.man: Mention REFER environment variable.
6239 2003-01-05  Werner LEMBERG  <wl@gnu.org>
6241         Similar to \[is], the square root glyph (\[sr]) and the square root
6242         extension glyph (\[radicalex]) are now text symbols.  The new
6243         mathematical versions are called \[sqrt] and \[sqrtex],
6244         respectively.
6246         * font/devX*/S: Regenerated.
6247         * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6248         * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6249         * font/devdvi/EX, font/devdvi/S: Regenerated.
6250         * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6251         * font/devlj4/generate/special.map: Add `sqrt'.
6252         * font/devlj4/S: Regenerated.
6253         * font/devps/generate/textmap: Add `sqrt'.
6254         * font/devps/S, font/devps/symbolmap: Regenerated.
6256         * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6257         SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6258         * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6259         overlap horizontally.
6261         * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6262         * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6263         Fix `radicalex'.
6265         * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6266         and `sqrtex' are overlapping glyphs.
6268 2003-01-04  Werner LEMBERG  <wl@gnu.org>
6270         * font/devdvi/generate/texsy.map: Add `is'.
6271         * font/devps/symbolmap: Regenerated.
6272         * font/devdvi/*TC, MI, S: Regenerated.
6274         * tmac/dvi.tmac: Remove `is'.
6276 2003-01-03  Werner LEMBERG  <wl@gnu.org>
6278         `is' is now a text symbol (only relevant for dvi).  The math variant
6279         can be accessed with `integral'.
6281         * font/devX*/S: Regenerated.
6282         * font/devdvi/generate/texex.map: Remove `is'.
6283         * font/devdvi/EX: Updated.
6284         * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6285         * font/devlj4/generate/special.map: Ditto.
6286         * font/devlj4/S: Regenerated.
6287         * font/devps/generate/textmap: Add `integral'.
6288         * font/devps/S: Regenerated.
6290         * tmac/dvi.tmac: Define `is'.
6292         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6294         * src/preproc/tbl/main.cc (process_format): Fix error message.
6296 2003-01-02  Werner LEMBERG  <wl@gnu.org>
6298         * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6299         * font/devps/textmap: Fix entries for `ne' and `nc'.
6300         * font/devps/symbolmap: Regenerated.
6302         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6303         src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6304         `38', `58', `78', `-+', `|=', `nc', `ne'.
6306         * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6307         Use `schar' for `aq'.
6308         * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6309         * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6310         * tmac/tty.tmac: Add `ne'.
6312         * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6313         for fallback glyphs.
6315 2002-12-29  Werner LEMBERG  <wl@gnu.org>
6317         Add glyph `|='.
6319         * font/devX*/*: Regenerated.
6320         * font/devdvi/generate/ec.map: Remove `eq'.
6321         * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6322         Assign `|=' to position 39.
6323         * font/devdvi/*EC, S: Regenerated.
6324         * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6325         * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6326         Assign `|=' to position 549.
6327         * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6328         `equalmath'.
6329         Add `uni2243' for `|='.
6331         * tmac/ec.tmac: Add `eq'.
6332         * tmac/dvi.tmac: Add `=~'.
6333         * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6334         `|='.
6336 2002-12-21  Werner LEMBERG  <wl@gnu.org>
6338         * font/devdvi/generate/tc.map: Remove `**'.
6339         * font/devdvi/*TC: Regenerated.
6340         * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6341         `78', `<<', `>>'.
6342         * font/devutf8/NOTES: Updated.
6344         * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6345         Don't give default parameter to `set_macro'.
6346         * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6347         instead of `set_macro'.
6348         (charinfo::setx_macro): Implement it.
6349         (charinfo::set_macro): Don't change `mode'.
6351         * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6352         * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6353         * tmac/dvi.tmac: Define `!=' with `.schar'.
6355 2002-12-20  Werner LEMBERG  <wl@gnu.org>
6357         * font/devX*/S: Regenerated.
6358         * font/devdvi/generate/ec.map: Remove `pl'.
6359         * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6360         * font/devdvi/*{TC,EC}: Regenerated.
6361         * font/devhtml/R.proto: Add `-+'.
6362         Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6363         * font/devlbp/*: Remove `or'.
6364         * font/devlj4/generate/special.map: Remove `or'.
6365         * font/devlj4/S: Regenerated.
6366         * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6367         `seveneighths', `threeeighths'.
6368         Remove `plusmath'.
6369         Replace `minusplus' with `uni2213'.
6370         * font/devps/symbolmap: Regenerated.
6371         * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6372         Add `-+'.
6374         * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6375         function.
6376         * src/roff/troff/node.cc (troff_output_file::put_char_width):
6377         Call glyph_color and fill_color even if tcommand_flag isn't set.
6378         (make_node, node::add_char): Check not ci->is_fallback but
6379         ci->is_normal.
6381         * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6382         * tmac/ec.tmac: Add .rchar entry for `f/'.
6383         Don't remove `12', `14', `34'.
6384         Define `pl' to be always roman.
6385         * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6386         Define `18', `38', `58', `78'.
6387         * tmac/tty.tmac: Add `-+'.
6388         * tmac/dvi.tmac: Define `f/'.
6389         (dvi-frac): Use `f/'.
6390         * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6391         Define `18', `38', `58', `78'.
6393 2002-12-15  Colin Watson  <cjwatson@debian.org>
6395         * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6397 2002-12-10  Werner LEMBERG  <wl@gnu.org>
6399         Add glyph `tno', a textual variant of `no'.
6401         * font/devX*/*: Regenerated.
6402         * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6403         * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6404         * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6405         * font/devdvi/*: Regenerated.
6406         * font/devlbp/*: Add `tno'.
6407         * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6408         * font/devlj4/*: Regenerated.
6409         * font/devps/generate/textmap: Replace `no' with `tno'.
6410         * font/devps/generate/symbolchars: Add `no'.
6411         * font/devps/*: Regenerated.
6413         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6415         * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6416         * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6418         * NEWS: Updated.
6420         * tmac/dvi.tmac: Replace most `\\' with `\E'.
6421         Add definition for `sd'.
6422         * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6424         * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6426 2002-12-08  Werner LEMBERG  <wl@gnu.org>
6428         * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6429         mode to avoid rounding errors.
6430         (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6432         * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6433         src/roff/troff/troff.man: Improve documentation of -T.
6435 2002-12-07  Jeff Conrad  <jeff_conrad@msn.com>
6437         * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6438         (run_pipeline) [_WIN32]: Provide working function without `fork'.
6440 2002-12-06  Werner LEMBERG  <wl@gnu.org>
6442         * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6443         glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6444         Scaling Euro.sansserif glyphs down to have the same height as
6445         digits.
6446         Removed unnecessary points; added some extrema.
6448         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6449         Regenerated.
6451 2002-12-04  Werner LEMBERG  <wl@gnu.org>
6453         * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6454         and `Euro.symbol.bold.slanted'.
6455         Improve some glyph offsets and widths.
6456         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6457         Regenerated.
6458         * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6459         typo.
6460         * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6461         direcory.
6463         * tmac/europs.tmac: Updated to new glyph indices.
6464         Use Euro.symbol for font familiy `A'.
6466         * doc/groff.texinfo: Minor improvements.
6468 2002-12-02  Werner LEMBERG  <wl@gnu.org>
6470         * font/devdvi/generate.tc.map: s/%O/%0/.
6471         * font/devdvi/*TC: Regenerated.
6473         * src/roff/troff/div.cc (init_div_requests): Sorted.
6475         * tmac/dvi.tmac: Remove `Ye'.
6476         * tmac/ec.tmac: Remove `Ye'.
6477         Add .rchar entry for `de'.
6479         * man/groff.man, man/groff_diff.man: Document register `.pe'.
6480         * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6481         * NEWS: Updated.
6483 2002-11-30  Werner LEMBERG  <wl@gnu.org>
6485         Add PS font for various Euro glyphs.
6487         * font/devps/generate/freeeuro.sfd: New master font file for
6488         pfaedit.
6489         * font/devps/generate/sfdtopfa.pe: New conversion script for
6490         pfaedit.
6491         * font/devps/generate/Makefile (FONTS): Add `EURO'.
6492         (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6493         * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6494         `freeeuro.sfd'.
6495         * font/devps/EURO: Generated from `freeeuro.afm'.
6496         * font/devps/download: Add `freeuro.pfa'.
6497         * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6498         `freeeuro.pfa'.
6500         * tmac/europs.tmac: New file.
6501         * tmac/ps.tmac: Include `europs.tmac'.
6502         * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6504 2002-11-29  Werner LEMBERG  <wl@gnu.org>
6506         * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6507         * font/devdvi/S: Regenerated.
6508         * font/devhtml/R.proto: Fix `CR' and `ci'.
6509         Add `OK'.
6510         * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6511         Remove `bs'.
6512         * font/devps/symbolmap: Regenerated.
6513         * font/devutf8/R.proto: Fix `CR' and `ci'.
6514         Add `OK'.
6515         * font/devutf8/NOTES: Updated.
6517         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6518         `ci'.
6519         Add `OK'.
6520         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6522         * tmac/dvi.tmac: Add `lh' and `rh'.
6523         * tmac/Xps.tmac: Fix `lh' and `rh'.
6524         * tmac/X.tmac: Add `OK'.
6525         * tmac/lj4.tmac: Ditto.
6527 2002-11-24  Werner LEMBERG  <wl@gnu.org>
6529         * font/devX*/S: Regenerated.
6530         * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6531         `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6532         * font/devdvi/generate/texsy.map: Remove `or' glyph.
6533         * font/devdvi/S: Regenerated.
6534         * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6535         `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6536         `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6537         `bracketleftbt', `bracketrighttp', `bracketrightex',
6538         `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6539         `braceex', `braceleftex', `bracerightex', `bracerighttp',
6540         `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6541         `rb', and `bv'.
6542         * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6543         * font/devutf8/NOTES: Updated.
6544         * font/devlj4/generate/special.map: Add glyph `braceex'.
6545         * font/devlj4/S: Regenerated.
6547         * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6549 2002-11-14  Werner LEMBERG  <wl@gnu.org>
6551         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6552         and `vA'.
6553         Fix code for `an'.
6554         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6556         * doc/texinfo.tex: New version from texinfo 4.3.
6557         * doc/groff.texinfo: Updated for texinfo 4.3.
6558         Use @tie{} where appropriate.
6559         * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6560         * font/devdvi/generate/tc.map: Remove `rn'.
6561         * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6562         * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6563         Fix code for `an'.
6564         * font/devX100/*, font/devX100-12/*, font/devX75/*,
6565         font/devX75-12/*: Regenerated.
6567         * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6568         Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6569         Improve definition of `an'.
6570         * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6571         `ru'.
6572         * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6573         * tmac/X.tmac: Add definition for `or'.
6574         * tmac/Xps.tmac: Undo change 2002-11-05.
6575         * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6577 2002-11-11  Werner LEMBERG  <wl@gnu.org>
6579         * src/roff/troff/node.cc (troff_output_file::put_char): Always
6580         call flush_tbuf.
6582 2002-11-10  Werner LEMBERG  <wl@gnu.org>
6584         Added three new requests `schar', `fschar', and `rfschar'.  `schar'
6585         defines a glyph which is searched after the check for fonts declared
6586         with `.special' (and before the check for all mounted special
6587         fonts).  `fschar' defines a glyph for a particular font which is
6588         searched after the check for fonts declared with `.fspecial' (and
6589         before the check for fonts declared with `.special').  `rfschar'
6590         removes glyphs defined with `fschar'.
6592         * src/roff/troff/token.h (char_mode): New enum.
6593         Declare do_define_character.
6594         * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6595         `mode'.
6596         (charinfo::is_fallback): Updated.
6597         (charinfo::is_special): New method.
6598         * src/roff/troff/input.cc (do_define_character): Add and use
6599         optional second parameter used as a prefix for font-specific glyph
6600         names.
6601         (define_character, define_fallback_character): Updated.
6602         (define_special_character): New function.
6603         (init_input_requests): Add `schar'.
6604         (charinfo::charinfo, charinfo::set_macro): Updated.
6605         * src/roff/troff/node.cc: Include `stringclass.h'.
6606         (make_glyph_node): Handle special glyphs defined with `.schar' and
6607         `.fschar'.
6608         (define_font_special_character, remove_font_special_character): New
6609         functions.
6610         (init_node_requests): Sorted.
6611         Add `fschar' and `rfschar'.
6612         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6613         Document new requests.
6615         * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6616         * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6618 2002-11-08  Werner LEMBERG  <wl@gnu.org>
6620         Added new font `SC' (cmtex10) to devdvi.
6622         * devdvi/generate/Makefile (FONTS): Add `SC'.
6623         (SC): New rule.
6624         * devdvi/generate/textex.map: New map file for cmtex.
6625         * devdvi/SC: New.
6626         * devdvi/Makefile.sub (DEVFILES): Updated.
6627         * tmac/dvi.tmac: Add fspecial entries for SC.
6628         Add `MI', `S' and `CW' to the `special' call.  Otherwise, `SC' is
6629         found before `S' since the font position of `SC' is lower due to the
6630         gaps in DESC's `font' line.
6631         * tmac/ec.tmac: Add a `special' call.
6632         * NEWS: Updated.
6634         * font/devhtml/R.proto: Remove double entry for `ti'.
6635         * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6636         * tmac/tty-char.tmac: Remove entry for `bq'.
6637         * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6638         * tmac/ec.tmac: Don't remove `aq' glyph.
6639         * tmac/X.tmac: Fix entry for `em'.
6640         Add entries for `fo' and `fc'.
6641         * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6643         * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6644         documentation of `special' and `fspecial' requests.
6646 2002-11-05  Werner LEMBERG  <wl@gnu.org>
6648         * font/devascii/R.proto, font/devcp1047/R.proto,
6649         font/devlatin1/R.proto: Remove entry for `.i'.
6650         * font/devdvi/generate/textt.map: Add entry for `ad'.
6651         * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6652         font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6653         We need this for getting kerning values to compose `/l' and `/L'.
6654         * font/devdvi: Regenerated font definition files for CM fonts.
6655         * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6656         * font/devutf8/R.proto: Ditto.
6657         Remove double entry for `ti'.
6659         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6660         for (groff) ligatures, `la', and `ra'.
6661         Add "'C", "'c", `IJ', and `ij'.
6662         Remove double entry for `ti'.
6663         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6664         double entries.
6665         Add "'C", "'c", `IJ', and `ij'.
6666         Fix entries for (groff) ligatures, `la', and `ra'.
6668         * tmac/ps.tmac (ps-achar): New macro.
6669         Define "'c" and "'C".
6670         * tmac/tty.tmac: Add entry for `.i'.
6671         * tmac/X.tmac (X-achar): New macro.
6672         Define "'c", "'C", and `:Y'.
6673         Add entries for `IJ' and `ij'.
6674         * tmac/Xps.tmac (Xps-achar): New macro.
6675         Define "'c" and "'C".
6676         Add entries for `IJ' and `ij'.
6677         * tmac/lbp.tmac (lbp-achar): New macro.
6678         Add fallback characters for all groff ligatures and many other
6679         glyphs.
6680         * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6681         Add entries for `/l' and `/L'.
6682         Define "'c" and "'C".
6683         Add entries for `IJ' and `ij'.
6685 2002-11-02  Larry Kollar  <kollar@alltel.net>
6687         * PROBLEMS: Document how to solve Mac OS X compilation problems.
6689 2002-11-02  Werner LEMBERG  <wl@gnu.org>
6691         Adding support for composite glyphs: \[xxx yyy ...] and the
6692         `composite' request.
6694         * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6695         to Unicode-based glyph names.
6696         * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6697         glyph names to groff glyph names.
6698         * src/roff/troff/uniuni.cc: New file for canonically decomposing
6699         Unicode-based glyph names.
6700         * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6701         for handling Unicode glyph names.
6702         * src/roff/troff/input.cc: Include unicode.h.
6703         (composite_glyph_name): New function.
6704         (token::next) <'['>: Handle Unicode glyph names and composite
6705         glyphs.
6706         (composite_dictionary): New dictionary for the `composite' request.
6707         (composite_request): Implement `composite' request.
6708         (init_input_requests): Add `composite'.
6709         Alphabetically sorted.
6710         * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6711         commented out).
6712         (init_env_requests): Alphabetically sorted.
6713         Removed `tas' and `tar' (already commented out).
6714         * src/roff/troff/Makefile.sub: Updated.
6716 2002-10-31  Ruslan Ermilov  <ru@FreeBSD.org>
6718         * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6719         of options.
6721 2002-10-29  Werner LEMBERG  <wl@gnu.org>
6723         Fix computation of .trunc register.  Additionally, its value (and
6724         the value of the .ne register) is now always set before entering the
6725         trap.
6727         * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6728         `needed_space' before calling `space'.
6729         (top_level_diversion::space): Remove special code for 'sp before the
6730         first page.
6731         Call `begin_page' with the discarded space as a parameter.
6732         (top_level_diversion::begin_page): Add optional parameter to set
6733         `truncated_space'.
6734         * src/roff/troff/div.h: Updated.
6736         * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6737         \n[.ne].
6739         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6740         (LP): Remove superfluous call to `br'.
6741         * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6742         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6744 2002-10-26  Werner LEMBERG  <wl@gnu.org>
6746         * tmac/doc-ditroff: Remove useless switch/variable -rC.
6747         (doc-setup-header): Don't set page register `%'.
6748         * tmac/doc-nroff: Remove variable `C'.
6749         (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6750         (doc-setup-header): Don't set page register `%'.
6751         Don't call `bp'.
6752         * tmac/doc-common (doc-header): Call `ns'.
6753         (doc-paragraph): Protect .sp with .br so that it survives traps
6754         possibly set by the user.
6755         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6757         * tmac/doc*: Replace ' with . for consistency if no effect.
6759 2002-10-26  Werner LEMBERG  <wl@gnu.org>
6761         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6762         so that it survives traps possibly set by the user.
6764         * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6765         (troff_output_file::set_font): Call flush_tbuf if necessary.
6766         (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6767         flush_tbuf and do_motion only if necessary.
6768         (troff_output_file::start_special,
6769         troff_output_file::put_char_width, troff_output_file::put_char,
6770         troff_output_file::draw): Updated.
6771         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6772         vmotion_node::tprint): Undo change 2002-10-23.
6774 2002-10-25  Werner LEMBERG  <wl@gnu.org>
6776         * tmac/www.tmac (DC): Fix case of overlapping images.
6778 2002-10-23  Werner LEMBERG  <wl@gnu.org>
6780         * src/roff/troff/node.cc (troff_output_file::fill_color,
6781         troff_output_file::glyph_color): Set current color before testing
6782         color_flag.
6783         (troff_output_file::put_char_width, troff_output_file::put_char,
6784         troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6785         before glyph_color.
6786         (troff_output_file::file_color, troff_output_file::glyph_color):
6787         Call do_motion.
6788         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6789         vmotion_node::tprint): Move first, then call fill_color.
6791 2002-10-20  Werner LEMBERG  <wl@gnu.org>
6793         * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6794         possible to use multiple main macro packages.
6796 2002-10-19  Werner LEMBERG  <wl@gnu.org>
6798         * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6799         (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6800         (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6801         is set.
6802         * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6803         `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6805 2002-10-16  Werner LEMBERG  <wl@gnu.org>
6807         * NEWS, doc/webpage.ms: Updated.
6809 2002-10-14  Werner LEMBERG  <wl@gnu.org>
6811         * src/roff/troff/node.cc (troff_output_file::put_char_width,
6812         troff_output_file::put_char, troff_output_file::fill_color,
6813         troff_output_file::glyph_color): Handle case where color pointer
6814         is null.
6816 2002-10-13  Ruslan Ermilov  <ru@FreeBSD.org>
6818         Add the new -r option to grotty.  It is similar to the -i option
6819         except it tells grotty(1) to use the `reverse video' attribute to
6820         render italic fonts.
6822         * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6823         (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6824         (tty_printer::make_underline, tty_printer::put_color,
6825         tty_printer::end_page): Use it.
6826         (main): Add -r switch.
6827         (usage): Updated.
6828         * src/devices/grotty/grotty.man: Document it.
6830 2002-10-11  Ruslan Ermilov  <ru@FreeBSD.org>
6832         * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6833         cast to `unsigned char' to properly read patterns with 8bit
6834         characters.
6836 2002-10-08  Werner LEMBERG  <wl@gnu.org>
6838         * REVISION: Increased to 2.
6840 Local Variables:
6841 version-control: never
6842 coding: latin-1
6843 End: