* tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
[s-roff.git] / ChangeLog
blob1efd26553ffae6cd07abf94bf176f4bbdc4b1a07
1 2007-01-30  Werner LEMBERG  <wl@gnu.org>
3         * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
4         (\n[mH]): New register (set if grohtml is used).
5         (\n[SY]): Rename to \n[mS].
6         (\n[a]): Rename to \n[mA].
7         (\n[i]): Rename to \n[mI].
8         (mU): New auxiliary input trap macro.
9         (UR, UE): Replace stub with real definition.
10         (URL): Remove.
11         (MT, ME): New macros.
12         (MTO): Remove.
13         (EX, EE): Don't insert vertical space.
14         Use a register to store (and restore) the current font.
16         * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
17         on patches from Eric Raymond.
18         Fix URL addresses.
19         * contrib/pdfmark/pdfroff.man: Updated.
21 2007-01-22  Gaius Mulley  <gaius@glam.ac.uk>
23         * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
25 2007-01-22  Werner LEMBERG  <wl@gnu.org>
27         * tmac/an-ext.tmac: Protect against being sourced twice.
28         (URL, EE): Use always two backslashes.
29         (MTO): New macro.
31 2007-01-21  Werner LEMBERG  <wl@gnu.org>
33         * contrib/pdfmark/pdfroff.man: Revised, based on a patch from Eric
34         Raymond.  It now uses the new macros from an-ext.tmac.  This is the
35         first of a series of man patches which Eric has contributed.
37 2007-01-16  Werner LEMBERG  <wl@gnu.org>
39         * tmac/an-ext.tmac: Remove code for grodvi.
40         (SY): Fix typos.
41         Don't insert empty line.
42         (URL, TQ): Fix typos.
44 2007-01-14  Werner LEMBERG  <wl@gnu.org>
46         * tmac/an-ext.tmac: New file, containing extension macros
47         for -man.  See discussion on the groff mailing list for
48         background information.
49         * tmac/an-old.tmac: Load an-ext.tmac.
50         Decorate .ds and as with comment escapes where appropriate.
51         * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
53 2007-01-05  Werner LEMBERG  <wl@gnu.org>
55         * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
57 2007-01-04  Gaius Mulley  <gaius@glam.ac.uk>
59         Make -me macros ready for grohtml.
61         * tmac/e.tmac: Load devtag.tmac.
62         (need_eo_h, need_eo_tl, need_tl): New registers.
63         (check_need_title, (x-html, )x-html, xp-html): New macros.
64         (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
65         b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
66         (bp): Rename to @b only if output device is not html.
68 2007-01-01  Werner LEMBERG  <wl@gnu.org>
70         * man/groff_font.man: Document empty lines.
72         * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
73         the very beginning of the output.
74         [!$opt_x]: Fix typo.
76         * font/devps/*: Regenerate font definition files.
78 2007-01-01  Werner LEMBERG  <wl@gnu.org>
80         * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
82         * font/devps/*: Regenerate font definition files.
84 2006-12-31  Werner LEMBERG  <wl@gnu.org>
86         * Makefile.in (oldfontdir): New variable.
87         (MDEFINES): Add $(oldfontdir).
88         (uninstall_dirs): Remove `current' link.
89         Remove $(oldfontdir).
91         * Makefile.comm (oldfontsubdir): New variable.
92         (install_dev): Install files collected in $(OLDDEVFILES) into
93         $(oldfontsubdir).
94         (uninstall_dev): Remove data in $(oldfontsubdir).
95         (.man.n): Handle @OLDFONTDIR@.
97         * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
98         src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
99         src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
100         Document GROFF_FONT_PATH.
102         * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
103         old font description files.
105         * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
106         variables.
108         * font/devps/old/*: New directory, holding the previous version
109         of the 35 Adobe core font description files.
111         * font/devps/*: Regenerated the 35 Adobe core fonts, using the
112         Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
114         * NEWS: Document font update.
116 2006-12-31  Werner LEMBERG  <wl@gnu.org>
118         * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
120         * Makefile.comm (fonts): New (empty) target.
121         * Makefile.in (TARGETS): Add `fonts'.
123         * MANIFEST: Add `chem'.
125         * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
126         can't be chained.
128 2006-12-26  Werner LEMBERG  <wl@gnu.org>
130         * src/preproc/grn/hdb.cpp: Include gprint.h later.  From NetBSD.
132 2006-12-19  Werner LEMBERG  <wl@gnu.org>
134         Add support for German.  For activation, simply use -mde or -mden
135         (for traditional and new orthgraphy, respectively) as the last
136         macro package.
138         * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
139         tmac/hyphenex.det: New files, partly taken from CTAN.
140         * LICENSES: Updated list of hyphenation patterns.
141         * man/groff_tmac.man: Mention de.tmac and den.tmac.
142         * NEWS: Updated.
144 2006-12-11  Werner LEMBERG  <wl@gnu.org>
146         Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
147         hosts).
149         * src/preproc/pic/lex.cpp (ARG1): Redefine.  Update all users.
150         (MAX_ARG): New macro.  Use it everywhere to replace hard-coded
151         limit of 9 arguments.
152         (process_body): Handle argument numbers with more than a single
153         digit.
154         (interpolate_macro_with_args): Protect against exceeding number of
155         arguments.
157         * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
159 2006-12-10  Werner LEMBERG  <wl@gnu.org>
161         * Makefile.in (site.exp, docheck): Commented out.  Not working
162         currently.
163         (check): Just emit dummy message.
165 2006-12-08  Werner LEMBERG  <wl@gnu.org>
167         During installation, create soft link from <version> to `current' in
168         <datadir>/groff.
170         * Makefile.comm (install): Renamed to...
171         (do_install): This.
172         (prefix_must_exist): Removed.  Code moved to Makefile.in.
174         * Makefile.in (TARGETS): Remove `install'.
176         (install): New target which first creates the directory given by
177         --prefix, then calling `make' to do the installation, and finishing
178         with the creation of the soft link.
180 2006-11-21  Werner LEMBERG  <wl@gnu.org>
182         * doc/Makefile.sub (uninstall_sub): Fix names for info files.
184 2006-11-18  Werner LEMBERG  <wl@gnu.org>
186         * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
187         information from Tom Van Vleck <thvv@multicians.org>.
189 2006-11-16  Werner LEMBERG  <wl@gnu.org>
191         * tmac/62bit.tmac: New macro package.
192         * tmac/Makefile.sub (NORMALFILES): Add it.
193         * NEWS: Document it.
195         * tmac/trace.tmac: Protect against being loaded again.
196         (nr): Always show result.
198         * doc/groff.texinfo (Input Encodings): Document latin-5.
200         * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
202 2006-11-13  Werner LEMBERG  <wl@gnu.org>
204         * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
205         on negative trap positions.
207 2006-11-10  Werner LEMBERG  <wl@gnu.org>
209         * Makefile.comm (.man.n): Handle @DATASUBDIR@.
211 2006-11-09  Werner LEMBERG  <wl@gnu.org>
213         * INSTALL: Move information about external installation from
214         INSTALL.gen into this file.
215         Updated.
217         * INSTALL.gen: Update to new version (from texinfo CVS).
219 2006-11-09  Bernd Warken
221         * INSTALL.gen: Extend the file by information on `external
222         installation'.  Reorder the installation instruction as `normal
223         installation'. 
225 2006-11-08  Werner LEMBERG  <wl@gnu.org>
227         * doc/Makefile.sub (install_data): Take care of proper paths while
228         installing info files.  Bug reported by Bernd Warken.
230 2006-11-06  Bernd Warken
232         * src/roff/grog/grog.pl: Rewrite.
233         - Call by `#! /usr/bin/env perl'.  That isn't replaced.
234         - Rename usage() to version().
235         - Use warnings.
236         - For `use strict', start all global variables with an upper case
237         character.  Use `my' for all variables.  Use several new variables.
238         - Add option `-h'.
239         - Add copyright to GPL and Emacs comment.
240         - Handle several `-m*' options.
241         - Fix handling of `-ms' and `-mm'.  Add .TL and .NH.
242         - Allow options after file names.
243         - Allow only one `-' parameter (standard input).
244         - Add option abbreviations.
245         - Expand the usage information.
246         - Add `chem'.
247         - Add single quote "'" as additional first character and allow
248         arbitrary space after the first character.
250         * src/roff/grog/grog.sh: Rewrite.
251         - Remove option `-e' of `sed'.
252         - Allow file names with space characters.
253         - Add option `-h'.
254         - Add copyright to GPL.
255         - Handle several `-m*' options.
256         - Fix handling of `-ms' and `-mm'.  Add .TL and .NH.
257         - Allow options after file names.
258         - Allow only one `-' parameter (standard input).
259         - Add option abbreviations.
260         - Expand the usage information.
261         - Add `chem'.
262         - Add single quote "'" as additional first character and allow
263         arbitrary space after the first character.
265         * src/roff/grog/Makefile.sub:
266         - Add copyright to GPL.
267         - Remove `grog:'.  Move `grog.old:' to `grog:' in order to have a
268         fair chance to choose between the shell version and the Perl
269         version of `grog'.  This is now again comparable to grog in groff
270         version 1.10.
272         * src/roff/grog/grog.man: Rewrite.
273         - Move the license to GPL.
274         - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
275         - Take over some setup and macros from `groffer'.
276         - Add information on options.
278 2006-10-28  Werner LEMBERG  <wl@gnu.org>
280         * tmac/trace.tmac: Improve tracing of `.nr'.
281         Trace `.substring' also.
283         * NEWS: Updated.
285 2006-10-28  Bernd Warken
287         * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
288         of groff development site, fix fonts.
290         * News: Add information on `chem' and `groffer'.
292 2006-10-26  Bernd Warken
294         * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
296 2006-10-26  Werner LEMBERG  <wl@gnu.org>
298         Add `\%^' escape to handle the parameters to a macro as a string
299         argument.
301         * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
303         * src/roff/troff/input.cpp (input_iterator, input_stack,
304         macro_iterator): Add `space_follows_arg' member function.
305         (macro_iterator::add_arg): Add parameter to set the `space_follows'
306         flag.
307         (arg_list): Add member `space_follows'.
308         Update constructor and all callers.
309         (decode_args): Store discarded double quotes.
310         (interpolate_args): Handle DOUBLE_QUOTE.
311         Add `\%^' escape.
312         (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
314         * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
316         * docs/groff.texinfo (Parameters), man/groff.man,
317         man/groff_diff.man, NEWS: Document it.
319 2006-10-24  Bernd Warken
321         * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
323 2006-10-24  Werner LEMBERG  <wl@gnu.org>
325         * tmac/groff_trace.man: Mention problem with `\\\\'.
327 2006-10-23  Werner LEMBERG  <wl@gnu.org>
329         * doc/groff.texinfo (Expressions): Improve documentation of `!'.
331         * tmac/trace.tmac (return): Don't call `substring'.
333 2006-09-10  Werner LEMBERG  <wl@gnu.org>
335         * src/roff/troff/input.cpp (read_size): Revert previous change
336         w.r.t. `\s-[-...]'.
338         * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
340 2006-09-09  Werner LEMBERG  <wl@gnu.org>
342         * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
343         behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
344         point size to 1).  Reported by Gunnar Ritter.
345         Also catch `\s-[-...]' and friends (causing an error).
347 2006-09-06  Werner LEMBERG  <wl@gnu.org>
349         * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
350         space only if there is no previous space.  This fixes a bug which
351         caused unwanted filling of the last line in a paragraph.  Thanks to
352         Gunnar Ritter for an analysis.
354 2006-09-03  Werner LEMBERG  <wl@gnu.org>
356         * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
357         Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
359 2006-09-01  Nick Stoughton  <nick@msbit.com>
360             Werner LEMBERG  <wl@gnu.org>
362         Add a request `pev' to print environment information (similar to
363         `pnr' and `ptr' to print number registers and traps).
365         * src/roff/troff/env.h (environment): Add member function print_env.
367         * src/roff/troff/env.cpp: (environment::print_env): New function to
368         print a given environment state.
369         (print_env): New global function to iterate through the
370         environments, printing each one.
371         (init_env_requests): Register `pev'.
373         * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
374         NEWS: Document `pev' request.
376 2006-09-01  Bernd Warken
378         * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
379         `-I' to `dir'.
381 2006-09-01  Werner LEMBERG  <wl@gnu.org>
383         * src/preproc/pic/main.cpp (usage): Add missing options.
385 2006-08-25  Werner LEMBERG  <wl@gnu.org>
387         * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
388         in file names.
390 2006-08-19  Werner LEMBERG  <wl@gnu.org>
392         * configure: Regenerated.
394 2006-08-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
396         * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
397         logic; it previously caused an `expr' syntax error, if no version of
398         `makinfo' was present.  Also, remove dependency on `makeinfo' in VPATH
399         builds, if an up to date `groff.info' is present in either `builddir'
400         or in `srcdir'.
402 2006-08-12  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
404         * font/devps/prologue.ps: Add BPhook.
406         * src/devices/grops/grops.man: Document BPHook.
407         Reorder some sections for better readability.
409 2006-08-12  Werner LEMBERG  <wl@gnu.org>
411         * src/include/lib.h (getlocale): New macro.
412         (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
413         suggested by Bruno.
415         * src/preproc/preconv/preconv.cpp (main): Use getlocale.
417 2006-08-11  Werner LEMBERG  <wl@gnu.org>
419         Add new flag to .cflags to enable hyphenation without looking at
420         hcode values.
422         * src/roff/troff/charinfo.h (charinfo): New enumeration value
423         `IGNORE_HCODES'.
424         New member function `ignore_hcodes'.
426         * src/roff/troff/node.cpp (break_char_node::add_self,
427         node::add_char): Updated.
429         * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
431 2006-08-09  Werner LEMBERG  <wl@gnu.org>
433         Support composite Unicode characters again.  Reported by Colin.
435         * font/devhtml/R.proto: Renamed to...
436         * font/devhtml/R.in: This.
438         * font/devutf8/R.proto: Renamed to...
439         * font/devutf8/R.in: This.
440         Add `charset' line.
442         * font/make-Rproto: New script.
443         * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
445 2006-07-26  Werner LEMBERG  <wl@gnu.org>
447         * README: Fix description of CVS access.  Reported by Joachim.
449 2006-07-11  Werner LEMBERG  <wl@gnu.org>
451         Add a request `.fzoom' and a number register `.zoom' to magnify
452         fonts.
454         * src/include/font.h (font): Add member variable `zoom'.
455         Add member functions `set_zoom' and `get_zoom'.
456         Remove `static' attribute from `scale' member function.
458         * src/libs/libgroff/font.cpp (font::font): Updated.
459         (scale_round): New version with three parameters to handle zoom
460         factor.
461         (font::scale, font::get_width): Handle zoom factor.
462         (font::set_zoom, font::get_zoom): New functions.
463         (font::load): Handle `zoom' while computing `space_width'.
465         * src/roff/troff/env.h: Declare `env_get_zoom'.
466         (environment): Add member function `get_zoom'.
468         * src/roff/troff/env.cpp (environment::get_zoom): New function.
469         (init_env_requests): Initialize `.zoom' register.
471         * src/roff/troff/node.cpp (font_info): New member functions
472         `set_zoom' and `get_zoom'.
473         (tfont): New member function `get_zoom'.
474         (env_get_zoom): New function.
475         (troff_output_file::set_font): Handle zoom factor.
476         (font_zoom_request): New function.
477         (init_node_requests): Initialize `fzoom' request.
479         * docs/groff.texinfo (Changing Fonts), man/groff.man,
480         man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
481         register.
483         * src/roff/troff/TODO: Updated.
485 2006-07-10  Werner LEMBERG  <wl@gnu.org>
487         * doc/groff.texinfo (Drawing Requests): Improve documentation of
488         \D'P ...'.
490 2006-07-02  Werner LEMBERG  <wl@gnu.org>
492         * man/groff_tmac.man: Document usage of .PSPIC within diversions.
494 2006-07-01  Werner LEMBERG  <wl@gnu.org>
496         * tmac/pspic.tmac: Make .PSPIC work for all devices.
497         Print image file name for devices which don't support PS image
498         inclusion.
499         Handle multiple inclusions.
500         Add lots of comments.
502         * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
503         pspic.tmac.
505         * tmac/troffrc: Load pspic.tmac.
507         * man/groff_tmac.man: Update .PSPIC documentation.
509         * NEWS: Updated.
511 2006-06-29  Werner LEMBERG  <wl@gnu.org>
513         * src/roff/troff/input.cpp (interpolate_macro):
514         s/probably/possibly/, as suggested by Keith.
516 2006-06-28  Werner LEMBERG  <wl@gnu.org>
518         Add support for \D'p...' to grotty.
520         * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
521         its code to...
522         (tty_printer::line): This function.
523         (tty_printer::draw): Rewritten; just call either draw_line or
524         draw_polygon.
525         (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
527         * src/devices/grotty/grotty.man, NEWS: Document it.
529 2006-06-27  Werner LEMBERG  <wl@gnu.org>
531         * src/preproc/refer/command.h (have_bibliography): New variable
532         declaration.
534         * src/preproc/refer/command.cpp (bibliography_command): Set
535         `have_bibliography'.
537         * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
538         (output_references): Emit warning only if `have_bibliography' is
539         set.
541 2006-06-15  Michail Vidiassov  <master@iaas.msu.ru>
543         * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
544         * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
545         and zapfdr.afm.
547 2006-06-15  Werner LEMBERG  <wl@gnu.org>
549         * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
550         macro (as suggested by Tadziu Hoffmann).
552 2006-06-12  Werner LEMBERG  <wl@gnu.org>
554         * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
555         macro (as suggested by Tadziu Hoffmann).
557 2006-06-05  Werner LEMBERG  <wl@gnu.org>
559         * tmac/strip.sed: Strip `\#' also.
561         * doc/groff.texinfo (Operators in Conditionals): Document usage of
562         \? for string comparison.
564 2006-06-04  Werner LEMBERG  <wl@gnu.org>
566         * doc/groff.texinfo: Add more index entries for copy-in mode.
567         (Changing Fonts) <.ft>: Document that a font definition file must
568         not be called `DESC'.
570 2006-05-31  Werner LEMBERG  <wl@gnu.org>
572         * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
573         here.
575         * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
576         (PROCESSEDEXAMPLEFILES): Here.
578 2006-05-30  Werner LEMBERG  <wl@gnu.org>
580         * src/libs/libgroff/font.cpp (font::load): Reject fonts called
581         `DESC'.
582         Reduce number of false positives for `.if F ...' conditionals.
583         Improve warning messages.
585 2006-05-29  Werner LEMBERG  <wl@gnu.org>
587         * tmac/Makefile.sub: Add copyright notice.
588         (NORMALFILES): Add man.tmac and ms.tmac.
589         (SPECIALFILES): Remove man.tmac and ms.tmac.
590         (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
591         (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
592         specially.
593         (stamp-sed): Don't handle man.tmac and ms.tmac.
594         Remove obsolete components in sed's regexp.
596         * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
598         * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
600 2006-05-28  Werner LEMBERG  <wl@gnu.org>
602         * doc/groff.texinfo (History): Correct death circumstances of Joe
603         Ossanna.
605 2006-05-27  Werner LEMBERG  <wl@gnu.org>
607         * tmac/an-old.tmac (an-do-tag): Simplify.
609 2006-05-26  Werner LEMBERG  <wl@gnu.org>
611         * tmac/an-old.tmac (an-do-tag): Make margin characters work.
612         (an-header, an-p-footer): Use named environment.
614         * src/roff/troff/env.cpp (environment::copy): Copy margin character
615         node.
617 2006-05-21  Werner LEMBERG  <wl@gnu.org>
619         * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
620         omissions.
622 2006-05-11  Keith Marshall  <keith.d.marshall@ntlworld.com>
624         * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
626 2006-05-10  Keith Marshall  <keith.d.marshall@ntlworld.com>
628         * src/roff/groff/groff.man: Update copyright notice.
629         Improved wording to describe effect of `-Z' option.
631 2006-05-06  Werner LEMBERG  <wl@gnu.org>
633         * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
634         Normalize handling of `"' in arguments.
635         (PIMG): Remove debug message.
636         Simplify code.
638 2006-05-05  Werner LEMBERG  <wl@gnu.org>
640         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
641         swallow character immediately after `\[...]'.
642         Simplify code.
644 2006-05-02  Gaius Mulley  <gaius@glam.ac.uk>
646         * tmac/www.tmac (PIMG): Fix the HTML device specific components.
648 2006-05-02  Larry Kollar  <kollar@alltel.net>
650         * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
651         option is missing.
653 2006-04-30  Michail Vidiassov  <master@iaas.msu.ru>
655         * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
656         information as a comment in output.
657         * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
659 2006-04-26  Werner LEMBERG  <wl@gnu.org>
661         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
662         Handle current_paragraph only if it is non-NULL.
664         * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
665         <'F'>): Use `get_extended_arg' to behave as documented.  Reported by
666         Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
669         Surround the (pseudo) file name for the .pso request with `<' and
670         `>'.
672         * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
673         second parameter to `really_put_filename' and `put_filename'.
674         (troff_output_file::really_put_filename): Emit `<' and `>' around
675         filename if second argument is set.
676         * src/roff/troff/node.h: Updated.
678         * src/roff/troff/input.cpp (file_iterator::file_iterator,
679         file_iterator::set_location): Update to changes in node.cpp.
681 2006-04-25  Tetsurou Okazaki  <okazaki@FreeBSD.org>
683         * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
684         preprocessor expression (I18N -> HAVE_ICONV).
685         (main): Fix handling of option `-h'.
686         Fix conditional preprocessor expression.
688 2006-04-04  Werner LEMBERG  <wl@gnu.org>
690         Implement new number register `.br' which is set to 1 if a macro has
691         been called as .foo and to 0 if called as 'bar.  This is useful for
692         -mtrace so that requests can be reliably traced too.
694         * src/roff/troff/input.cpp (input_iterator): Add virtual function
695         `get_break_flag'.
696         (macro_iterator): Add `with_break' member and `get_break_flag'
697         function.
698         Update constructors.
699         (input_stack): Add function `get_break_flag'.
700         (break_flag_reg): New number register class.
701         (input_init_requests): Register `.br'.
703         * src/roff/troff/TODO: Updated.
705         * tmac/trace.tmac: s/!!sp/!!!sp/.
706         Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
708         * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
709         NEWS: Document it.
711 2006-03-29  Werner LEMBERG  <wl@gnu.org>
713         * src/devices/grops/ps.cpp: s/must not/should not/ in warning
714         messages where appropriate.
716 2006-03-28  Werner LEMBERG  <wl@gnu.org>
718         * configure.ac: Call AC_PROG_EGREP.
719         * configure: Regenerated.
721         * Makefile.in (EGREP): New variable.
722         (MDEFINES): Add $(EGREP).
724         * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
725         (bug reported by Robert Goulding <Goulding.2@nd.edu>).
726         Use @EGREP@.
728         * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
730 2006-03-27  Werner LEMBERG  <wl@gnu.org>
732         Add two requests `.device' and `.devicem' which are equivalent to
733         `\X' and `\Y', respectively.
735         * src/roff/troff/input.cpp (device_request, device_macro_request):
736         New functions.
737         (init_input_requests): Register them.
739         * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
740         man/groff.man, NEWS: Document them.
742 2006-03-27  Gaius Mulley  <gaius@glam.ac.uk>
744         * src/roff/troff/input.cpp (encode_char): Emit special characters
745         for -Thtml as `\[...]'.
746         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
748         * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
750 2006-03-27  Werner LEMBERG  <wl@gnu.org>
752         * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
753         files.
755 2006-03-26  Werner LEMBERG  <wl@gnu.org>
757         * doc/groff.texinfo (Writing Macros): More documentation on
758         end-of-macro symbol of `.de'.
759         (Diversions): Minor addition to `.di' description.
761         * src/devices/grops/grops.man: Some clarifications regarding
762         insertion of PostScript snippets.
764 2006-03-25  Michail Vidiassov  <master@iaas.msu.ru>
766         Add rules to generate `symbolsl.afm'.
768         * fonts/devps/generate/zapfdr.sed,
769         fonts/devps/generate/symbolsl.awk: New files.
771         * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
772         variables.
773         (SS, clean): Updated.
774         (freeeuro.afm): Use $(srcdir).
775         (symbolsl.afm): New rule.
776         (zapfdr.afm): Use zapfdr.sed.
778 2006-03-22  Dwight Aplevich  <aplevich@uwaterloo.ca>
780         * src/preproc/pic/pic.y (expr <INT>): Fix code.
782 2006-03-22  Jörgen Grahn <jgrahn@algonet.se>
784         * tmac/sv.tmac: Add missing translations and activate support for
785         other macro packages.
787 2006-03-21  Francis GUDIN  <fgudin@nerim.net>
789         * tmac/doc-syms (Dx): New macro to identify DragonFly.
790         (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
791         doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
792         strings.
793         (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
794         doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
795         doc-operating-system-DragonFly-*): New operating system strings.
797         * tmac/groff_mdoc.man, NEWS: Document `Dx'.
799 2006-03-21  Werner LEMBERG  <wl@gnu.org>
801         * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
802         both DWB pic and dpic, make
804           right;
805           line then down;
807         equal to
809           right;
810           line right then down;
812         instead of
814           right;
815           line 0 then down;
817         * doc/pic.ms: Document this.
819 2006-03-20  Werner LEMBERG  <wl@gnu.org>
821         * doc/pic.ms: With permission of Eric Raymond, put it under the
822         GPL.
824         * NEWS: Updated.
826 2006-03-19  Werner LEMBERG  <wl@gnu.org>
828         * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
830         * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
831         attribute in combination with `with'.  Bug reported by Jennifer
832         Sayers <jenjen@mail.usyd.edu.au>.
834 2006-03-19  Miklos Somogyi  <msom@netspace.net.au>
836         * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
837         `.sp'.
839 2006-03-18  Werner LEMBERG  <wl@gnu.org>
841         * LICENSE: Renamed to...
842         * LICENSES: This.  Collect all licensing information in this file.
843         * tmac/README, src/libs/snprintf/README: Removed.
845         * src/devices/grops/grops.man: Add section how to install fonts.
847         * src/utils/xtotroff/xtotroff.c: Add GPL.
849 2006-03-17  Werner LEMBERG  <wl@gnu.org>
851         * Makefile.comm (.y.cpp): Fix #line arguments in output.
853 2006-03-13  Werner LEMBERG  <wl@gnu.org>
855         * src/preproc/tbl/tbl.man: Mention default length of text blocks.
857         * tmac/doc-common (Os): Add more Darwin versions.
858         * tmac/groff_mdoc.man: Document them.
860         * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
861         works with \N'...' also.
862         * man/groff_diff.man: Ditto.  Remove use of future tense where
863         possible.
865 2006-03-12  Michail Vidiassov  <master@iaas.msu.ru>
867         * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
868         fonts/devps/zapfdr.ps: Add `%%EndComments' line.
870 2006-03-10  Larry Kollar  <kollar@alltel.net>
872         * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
874 2006-03-10  Werner LEMBERG  <wl@gnu.org>
876         * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
877         ps_printer::do_mdef): Overlong lines now cause a warning message,
878         not an error.
880 2006-03-09  Werner LEMBERG  <wl@gnu.org>
882         * font/devps/generate/make-zapfdr: New script for generating
883         `zapfdr.ps'.
885 2006-03-08  Werner LEMBERG  <wl@gnu.org>
887         * doc/groff.css (pre): Fix `background-color' value.
889 2006-03-04  Larry Kollar  <kollar@alltel.net>
891         * tmac/groff_ms.man: Document PT, HD, and BT.
893 2006-03-04  Werner LEMBERG  <wl@gnu.org>
895         * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
896         for single-letter glyph names.
898 2006-03-02  Werner LEMBERG  <wl@gnu.org>
900         * tmac/sv.tmac: New file; currently holding only the Swedish strings
901         for -mm.
902         * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
903         from CTAN.
904         * tmac/README: Updated.
906 2006-02-27  Werner LEMBERG  <wl@gnu.org>
908         * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
909         * tmac/fr.tmac: Add French translations.
911         * tmac/composite.tmac: Add entry for `:'.
913 2006-02-26  Werner LEMBERG  <wl@gnu.org>
915         * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
916         (CLEANADD): Use it.
917         (install_html, uninstall_sub): Updated.
919 2006-02-26  Bruno Haible  <bruno@clisp.org>
921         Introduce Unicode fonts.
923         * font/devhtml/DESC.proto: Mark as unicode.
924         * font/devhtml/R.proto: Remove all charset entries that are already
925         in glyphuni.cpp.
926         * font/devutf8/DESC.proto: Mark as unicode.
927         * font/devutf8/R.proto: Remove all charset entries.
928         * src/include/font.h (font): New static field `is_unicode'.
929         Change order of fields.
930         * src/libs/libgroff/font.cpp: Include unicode.h.
931         (font::font): Update for changed order of fields.
932         (font::contains, font::get_width, font::get_height, font::get_depth,
933         font::get_italic_correction, font::get_left_italic_correction,
934         font::get_subscript_correction, font::get_character_type,
935         font::get_code, font::get_special_device_encoding): Handle both the
936         explicitly enumerated glyphs and use general code for Unicode fonts.
937         (font::load): Make the charset section optional when the font is
938         declared unicode.
939         (font::load_desc): Recognize the `unicode' attribute.
940         * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
942 2006-02-26  Claudio Fontana  <claudio@gnu.org>
944         * Makefile.in: Add comment about DESTDIR.
946         * Makefile.sub: Add DESTDIR to install and uninstall targets
947         to support staged installations.
948         * Makefile.comm: Likewise.
949         * doc/Makefile.sub: Likewise.
950         * contrib/eqn2graph/Makefile.sub: Likewise.
951         * contrib/gdiffmk/Makefile.sub: Likewise.
952         * contrib/grap2graph/Makefile.sub: Likewise.
953         * contrib/pic2graph/Makefile.sub: Likewise.
954         * src/devices/xditview/Makefile.sub: Likewise.
955         * src/preproc/eqn/Makefile.sub: Likewise.
956         * src/roff/grog/Makefile.sub: Likewise.
957         * src/roff/nroff/Makefile.sub: Likewise.
958         * src/utils/afmtodit/Makefile.sub: Likewise.
959         * src/utils/indxbib/Makefile.sub: Likewise.
960         * tmac/Makefile.sub: Likewise.
962 2006-02-24  Werner LEMBERG  <wl@gnu.org>
964         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
965         for \-.
966         Remove commented out entries for \' and \` (there are no such glyph
967         names).
969         * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
970         commented out entries for \' and \`.
973         * */*: s/legal/valid/ where appropriate.
975 2006-06-23  Werner LEMBERG  <wl@gnu.org>
977         * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
978         and \` entries.
980 2006-02-22  Werner LEMBERG  <wl@gnu.org>
982         Remove all remaining traces from the `shc' glyph.
984         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
985         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
986         entry for `shc'.
988         * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
989         entry with unnamed glyph.
991         * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
993         * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
994         specially.
996 2006-02-22  Bruno Haible  <bruno@clisp.org>
998         Concretize the `glyph' datatype.
1000         * src/include/font.h (glyph): Remove class.
1001         (glyph): Renamed from struct `glyphinfo'.
1002         (glyph_to_index): New inline function.
1003         (glyph_to_name): Make extern, not inline.
1004         (glyph_to_number): Update.
1005         (font): Use `glyph *' instead of `glyph'.
1007         * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
1008         `glyph'.  Make `name' field public.
1009         (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
1010         instead of `glyph'.
1011         (glyph_to_name): Renamed from `glyph::glyph_name'.
1013         * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
1014         Use `glyph *' instead of `glyph'.
1016         * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
1017         `glyph *' instead of `glyph'.
1018         (glyph_to_name): Renamed from `glyph::glyph_name'.
1020         * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
1021         and `glyph_to_index' instead of `glyph::glyph_index'.
1023         * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
1024         * src/libs/libdriver/printer.cpp: Likewise.
1025         * src/devices/grodvi/dvi.cpp: Likewise.
1026         * src/devices/grohtml/post-html.cpp: Likewise.
1027         * src/devices/grolbp/lbp.cpp: Likewise.
1028         * src/devices/grolj4/lj4.cpp: Likewise.
1029         * src/devices/grops/ps.cpp: Likewise.
1030         * src/devices/grotty/tty.cpp: Likewise.
1032 2006-02-22  Werner LEMBERG  <wl@gnu.org>
1034         * font/devdvi/generate/tc.map: Add `sr' glyph.
1035         * font/devdvi/*TC: Regenerated.
1037         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1038         for `sqrt'.
1040 2006-02-21  Werner LEMBERG  <wl@gnu.org>
1042         * man/groff_char.man: Explain `***' marker.
1044 2006-02-17  Bruno Haible  <bruno@clisp.org>
1046         * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
1047         methods and fields from *_index to *_glyph.
1048         (character_indexer::named_char_glyph): Test for `charNNN' name
1049         here...
1050         (name_to_glyph): ... not here.
1052 2006-02-17  Bruno Haible  <bruno@clisp.org>
1054         * src/include/font.h (name_to_glyph): Renamed from
1055         font::name_to_index.
1056         (number_to_glyph): Renamed from font::number_to_index.
1057         (glyph_to_name): Renamed from font::index_to_name.
1058         (glyph_to_number): Renamed from font::index_to_number.
1059         * src/libs/libgroff/nametoindex.cpp: Likewise.
1060         * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1061         charinfo::get_index.
1063         * src/roff/troff/input.cpp: All callers changed.
1064         * src/roff/troff/node.cpp: Likewise.
1065         * src/libs/libgroff/font.cpp: Likewise.
1066         * src/devices/grops/ps.cpp: Likewise.
1067         * src/devices/grohtml/post-html.cpp: Likewise.
1068         * src/libs/libdriver/printer.cpp: Likewise.
1070 2006-02-17  Werner LEMBERG  <wl@gnu.org>
1072         * src/include/ptable.h, src/include/itable.h
1073         (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1074         of external symbol `next_ptable_size' (used by both header files).
1076 2006-02-15  Bruno Haible  <bruno@clisp.org>
1078         * src/include/font.h (glyphinfo): New class.
1079         (glyph): Change internal representation.
1080         Change constructor signature.
1081         New method glyph::glyph_number().
1082         (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1083         glyph::operator==, glyph::operator!=): Update.
1084         (font::index_to_name, font::index_to_number): New functions.
1086         * src/include/itable.h: New file, based on src/include/ptable.h.
1088         * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1089         (class charinfo): New class.
1090         (class character_indexer): Change table result type from `int' to
1091         `class charinfo'.
1092         Add table with integer key.
1093         (character_indexer::character_indexer): Update.
1094         (character_indexer::ascii_char_index): Update.
1095         (character_indexer::numbered_char_index): Use NULL as name, not a
1096         string starting with a space.
1097         (character_indexer::named_char_index): Update.
1098         (font::number_to_index, font::name_to_index): Remove no-op cast.
1099         (glyph::glyph_name): New method.
1100         * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1101         glyphinfo.
1102         (NUMBERED): Remove flag bit.
1103         (charinfo::numbered, charinfo::get_index): Update.
1105         * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1106         (charinfo::set_number, charinfo::get_number): Update.
1107         (glyph::glyph_name): New method.
1109 2006-02-15  Werner LEMBERG  <wl@gnu.org>
1111         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1112         entries for `>>', `<<', `*f', and `+f'.  Reported by Bruno.
1114 2006-02-13  Werner LEMBERG  <wl@gnu.org>
1116         * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1117         dvips.
1119 2006-02-11  Werner LEMBERG  <wl@gnu.org>
1121         * src/include/font.h: s/glyph_t/glyph/.
1122         Update all callers.
1124         * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1125         s/output_character_t/output_character/.
1127 2006-02-11  Bruno Haible  <bruno@clisp.org>
1129         New accessor method glyph_t::glyph_name().
1131         * src/include/ptable.h (declare_ptable): Add a return value to the
1132         `define' method, and declare a `lookupassoc' method.
1133         (implement_ptable): Return the stored key in `define'.  Implement
1134         lookupassoc.
1135         * src/include/font.h (glyph_t): Add `name' field.  Add an argument
1136         to the constructor.
1137         (glyph_t::glyph_name): New method.
1139         * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1140         return type of methods and field member type to glyph_t.
1141         (character_indexer::character_indexer): Update.
1142         (character_indexer::ascii_char_index): Allocate a name for the
1143         glyph.
1144         Return a glyph_t with name.
1145         (character_indexer::numbered_char_index): Return a glyph_t without a
1146         name.
1147         (character_indexer::named_char_index): Return a glyph_t with a name.
1148         (font::number_to_index, font::name_to_index): Update.
1150         * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1151         the glyph's name.
1153 2006-02-11  Bruno Haible  <bruno@clisp.org>
1155         * src/devices/grotty/tty.cpp (output_character_t): New type.
1156         (tty_printer::make_bold, tty_printer::add_char,
1157         tty_printer::put_char): Change argument type to output_character_t.
1158         (crossings): Change element type to output_character_t.
1160 2006-02-11  Bruno Haible  <bruno@clisp.org>
1162         Make the glyph data type abstract.
1164         * src/include/font.h (glyph_t): New class.
1165         (name_to_index, number_to_index): Change return type to glyph_t.
1166         (font::contains, font::get_width, font::get_height, font::get_depth,
1167         font::get_character_type, font::get_kern, font::get_skew,
1168         font::get_italic_correction, font::get_left_italic_correction,
1169         font::get_subscript_correction, font::get_code,
1170         font::get_special_device_encoding, font::add_entry,
1171         font::copy_entry, font::add_kern, font::hash_kern): Change argument
1172         type to glyph_t.
1174         * src/libs/libgroff/font.cpp (font_kern_list): Change members
1175         type and constructor argument types to glyph_t.
1176         (font::contains, font::get_width, font::get_height, font::get_depth,
1177         font::get_character_type, font::get_kern, font::get_skew,
1178         font::get_italic_correction, font::get_left_italic_correction,
1179         font::get_subscript_correction, font::get_code,
1180         font::get_special_device_encoding, font::add_entry,
1181         font::copy_entry, font::add_kern, font::hash_kern): Change argument
1182         type to glyph_t.
1183         (font::load): Use glyph_t variables.
1185         * src/libs/libgroff/nametoindex.cpp (name_to_index,
1186         number_to_index): Change return type to glyph_t.
1188         * src/roff/troff/charinfo.h (charinfo::index): Change type to
1189         glyph_t.
1190         (charinfo::get_index): Change return type to glyph_t.
1192         * src/roff/troff/env.cpp: Include font.h.
1194         * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1196         * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1197         (charinfo::charinfo): Update.
1198         (name_to_index, number_to_index): Change return type to glyph_t.
1200         * src/include/printer.h (printer::set_char_and_width): Change return
1201         type to glyph_t.
1203         * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1204         Change return type to glyph_t.
1206         * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1207         argument type to glyph_t.
1209         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1210         (html_printer::space_glyph): Renamed from space_char_index.
1211         (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1212         html_printer::overstrike, html_printer::set_char): Change argument
1213         type to glyph_t.
1214         (html_printer::set_char_and_width): Change return type to glyph_t.
1216         * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1217         argument type to glyph_t.
1219         * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1220         argument type to glyph_t.
1222         * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1223         space_char_index.
1224         (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1225         type to glyph_t.
1227         * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1228         argument type to glyph_t.
1230 2006-02-11  Bruno Haible  <bruno@clisp.org>
1232         * src/roff/troff/input.cpp (font::name_to_index): Never return a
1233         negative value.
1235         * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1236         font::name_to_index.
1238 2006-02-10  Werner LEMBERG  <wl@gnu.org>
1240         * doc/groff.texinfo (Assigning Formats): Number registers are always
1241         interpolated.
1242         Apply some rephrasing, contributed by Michael Burt.
1244 2006-02-07  Werner LEMBERG  <wl@gnu.org>
1246         * tmac/fr.tmac <ms>: Set `HY' register.
1248 2006-02-07  Werner LEMBERG  <wl@gnu.org>
1250         Add framework for simple adaptation of the main macro packages (mm,
1251         me, ms, mom) to different locales.  In particular, add support for
1252         French.  For activation, simply use `-mfr' as the last macro
1253         package.  This feature has been contributed by Fabrice Ménard
1254         <menard.fabrice@wanadoo.fr>.
1256         * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1257         New files.
1258         * tmac/README: Mention hyphen.fr.
1259         * man/groff_tmac.man: Mention fr.tmac.
1260         * NEWS: Updated.
1262 2006-01-27  Werner LEMBERG  <wl@gnu.org>
1264         * man/groff_font.man: Updated documentation of `entity_name' field.
1265         Avoid future tense.
1267 2006-01-27  Bruno Haible  <bruno@clisp.org>
1269         * font/devhtml/R.proto: Remove the entity names from the font's
1270         special_encoding_encoding column.
1271         * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1272         handling the entity names here.
1273         (get_html_translation): Use it.  Change return type to `const
1274         char *'.
1275         (page::add_and_encode): Update, removing a useless cast.
1277 2006-01-26  Werner LEMBERG  <wl@gnu.org>
1279         This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1281         * src/include/device.h: Add comments.
1282         * src/include/font.h: Add comments.
1283         * src/include/unicode.h: Likewise.
1284         * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1286 2006-01-26  Keith Marshall  <keith.d.marshall@ntlworld.com>
1288         Suppress `.st' request emission by `grn'.
1290         * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1291         (conv): Use it.
1293 2006-01-22  Werner LEMBERG  <wl@gnu.org>
1295         * install-sh: New version; taken from texinfo CVS.
1297 2006-01-21  Werner LEMBERG  <wl@gnu.org>
1299         * src/preproc/preconv/preconv.cpp (main): Set program_name.  Bug
1300         reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1302 2006-01-19  Bruno Haible  <bruno@clisp.org>
1304         Let `make -k install' install more files.
1306         * Makefile.in (MAKE_K_FLAG): New variable.  Use it everywhere where
1307         $(MAKE) and $(MDEFINES) are used.
1308         (CPROGDIRS): Remove $(XPROGDIRS).  Treat $(XPROGDIRS) like
1309         $(CPROGDIRS) everywhere.
1310         ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1311         on $(XPROGDIRS).
1312         ($(OTHERDIRS)): Likewise.
1315         * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1316         failure test for font::name_to_index -- it can never fail.
1318 2006-01-19  Werner LEMBERG  <wl@gnu.org>
1320         * src/devices/grops/grops.man: Fix section on creating EPS files.
1321         Don't use future time in manual.
1322         Other minor fixes.
1324 2006-01-15  Gaius Mulley  <gaius@glam.ac.uk>
1326         * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1327         various typographical URL attributes for non-HTML devices.
1329         * tmac/groff_www.man: Document LINKSTYLE.
1331 2006-01-11  Werner LEMBERG  <wl@gnu.org>
1333         * configure.ac: Test for getc_unlocked (needed for localcharset).
1334         * configure, src/include/config.hin: Regenerated.
1336         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1337         ENABLE_RELOCATABLE.
1339         * src/libs/libgroff/relocatable.h: New dummy header file for
1340         localcharset.c.
1342         * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1343         gnulib version.
1345 2006-01-10  Bruno Haible  <bruno@clisp.org>
1347         Work around unportability of nl_langinfo(CODESET).
1349         * m4/glibc21.m4: New file, from gnulib.
1350         * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1351         * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1352         * Makefile.in (HOST, GLIBC21): New variables.
1353         (MDEFINES): Pass them to subdirectories.
1354         * src/include/relocate.h (relocatep): Define with C linkage.
1355         * src/include/localcharset.h: New file, from gnulib.
1356         * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1357         modification for relocate().
1358         * src/libs/libgroff/config.charset: New file, from gnulib.
1359         * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1360         * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1361         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1362         (OBJS): Add localcharset.o.
1363         (CSRCS): Add localcharset.c.
1364         (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1365         (charset.alias): New rule.
1366         (PACKAGE): New variable.
1367         (ref-add.sed, ref-del.sed): New rules.
1368         (MKINSTALLDIRS): New variable.
1369         (install_data): Depend on install_charset_data.
1370         (install_charset_data): New rule for creating or updating
1371         charset.alias.
1372         (uninstall_sub): Depend on uninstall_charset_data.
1373         (uninstall_charset_data): New rule for uninstalling or updating
1374         charset.alias.
1375         * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1376         of <langinfo.h>.
1377         (main): Initialize default_encoding from locale_charset() instead of
1378         nl_langinfo(CODESET).
1380         * aclocal.m4, configure, src/include/config.hin: Regenerated.
1382 2006-01-10  Werner LEMBERG  <wl@gnu.org>
1384         * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1385         ICONV_CONST in call to iconv.  Reported by Robert Goulding.
1387 2006-01-07  Werner LEMBERG  <wl@gnu.org>
1389         * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1390         fontforge version.
1391         Bump font version to 001.001.
1393         * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1394         Call fontforge, not pfaedit.
1396         * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1398 2006-01-05  Ruslan Ermilov  <ru@FreeBSD.org>
1400         * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1401         * tmac/groff_mdoc.man: Updated.
1403 2006-01-05  Werner LEMBERG  <wl@gnu.org>
1405         * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1406         (raw_flag): New global variable.
1407         (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1408         Don't pass BOM to `conversion_utf8'.
1409         (usage): Updated.
1410         (main): Handle `-r' command line switch to set `raw_flag'.
1411         (get_BOM): Fix encodings in `BOM_table'.
1413         * src/preproc/preconv/preconv.man: New file.  Not complete yet.
1414         * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1416 2006-01-04  Werner LEMBERG  <wl@gnu.org>
1418         * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1419         Bruno, comment out most encodings to support only a small set of
1420         coding tags, thus reducing potential problems with legacy encodings
1421         and character sets in the future.
1422         Add many XEmacs coding tags (now commented out).
1423         Add `cp1047'.
1424         (check_encoding_tag): Renamed to...
1425         (check_coding_tag): This.
1426         (get_BOM): Return encoding as specified by BOM.
1427         Test for UTF32-LE too.
1428         (do_file): Don't check for coding tag if a BOM has been found.
1430 2006-01-03  Bruno Haible  <bruno@clisp.org>
1432         * m4/groff.m4: Renamed from aclocal.m4.
1433         * m4/codeset.m4: New file, from gnulib.
1434         * m4/iconv.m4: New file, from gnulib.
1435         * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1436         gnulib.
1437         * config.rpath: New file, from gnulib.
1438         * config.guess, config.sub: New files, from gnulib.
1439         * Makefile.sub (M4MACROS): New variable.
1440         (configure): Fix typo.
1441         (aclocal.m4): New rule.
1442         (stamp-h.in): Depend on aclocal.m4.
1443         * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1444         * Makefile.in (LIBICONV): New variable.
1445         (MDEFINES): Pass it to recursive makes.
1446         * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1447         HAVE_ICONV instead of I18N macro.
1448         * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1450         * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1452 2006-01-03  Werner LEMBERG  <wl@gnu.org>
1454         * doc/Makefile.in (webpage.html): Simplify.
1455         * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1456         * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1458 2006-01-01  Werner LEMBERG  <wl@gnu.org>
1460         * tmac/doc-common (Os): Add some Darwin versions.
1461         * tmac/groff_mdoc.man: Document them.
1463 2006-01-01  Bruno Haible  <bruno@clisp.org>
1465         * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1466         corrections:
1467           . Don't map ascii to latin-1.
1468           . Don't use IBMxxx encodings but cpxxx for portability.
1469           . Map cp932, cp936, cp949, cp950 to itself.
1470         (emacs2mime): Protect calls to strcasecmp.
1471         (conversion_iconv): Add missing call to iconv_close.
1472         (do_file): Emit error message in case of unsupported encoding.
1474 2005-12-31  Werner LEMBERG  <wl@gnu.org>
1476         Integrate preconv into the groff binary.  Changes based on a patch
1477         from Michail Vidiassov.
1479         * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1481         * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1482         (SOELIM_INDEX): Updated.
1483         (help, synopsis): Updated.
1484         (main): Add command line options `-k' and `-K enc' to select
1485         encoding.
1486         Add support for GROFF_ENCODING environment variable.
1488         * src/roff/groff/groff.man: Updated and revised.
1491         Start with autoconf support for preconv.
1493         * configure.ac: Call AC_C_BIGENDIAN.
1494         * configure, src/include/config.hin: Regenerated.
1496 2005-12-30  Werner LEMBERG  <wl@gnu.org>
1498         New preprocessor `preconv' to convert input encodings to something
1499         groff can understand.  Not yet integrated within groff.  Proper
1500         autoconf stuff is missing too.
1502         Tomohiro Kubota has written a first draft of this program, and some
1503         ideas have been reused (while almost no code has been taken
1504         actually).
1506         * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1507         New files.
1509         * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1510         (GROFF_BIN_PATH): Add preconv.
1512 2005-12-12  Werner LEMBERG  <wl@gnu.org>
1514         * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1515         In particular, don't use `\+' since it is a GNU sed extension.
1517         * configure: Regenerated.
1519 2005-12-09  Werner LEMBERG  <wl@gnu.org>
1521         * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp. 
1523         * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1524         4.1.0.
1527         * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1528         afmtodit.tables.
1530         * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1531         4.1.0 data.
1533         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1534         %AGL_to_unicode): Removed.  Replace it with a tag.
1536         * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1537         to replace tag with actual file contents.
1539 2005-12-08  Werner LEMBERG  <wl@gnu.org>
1541         The change 2005-06-20 can indeed cause problems, so we follow the
1542         advice by using marks.
1544         * font/devps/prologue.ps (PBEGIN): Use `mark'.
1545         (PEND): Use `cleartomark'.
1547 2005-12-07  Michail Vidiassov  <master@iaas.msu.ru>
1549         * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1550         glyphs which have kern values but aren't handled (glyph variants,
1551         for example).
1553 2005-12-02  Werner LEMBERG  <wl@gnu.org>
1555         * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1556         subfont index.  Reported by Michail Vidiassov <master@iaas.msu.ru>.
1558 2005-11-28  Gaius Mulley  <gaius@glam.ac.uk>
1560         * doc/Makefile.in: Separate rule for webpage.html so that extra
1561         command line options can be passed to grohtml.
1562         * doc/groff.css: Change all margins to 0%.
1563         * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1564         navigation is exploited.  Also update webpage to contain new
1565         sections on licenses, mailing lists, cvs/ftp access, groff
1566         dependencies, and bug reports.
1567         * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1568         * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1569         
1570 2005-11-25  Gaius Mulley  <gaius@glam.ac.uk>
1572         * src/devices/grohtml/post-html.cpp
1573         (html_printer::do_file_components): Add fputs calls to emit the
1574         head contents and shut down the head tag whenever a new file
1575         component is generated.
1577 2005-11-22  Gaius Mulley  <gaius@glam.ac.uk>
1579         * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1580         call to flush_text to flush any outstanding html tags on the
1581         paragraph stack.
1583 2005-11-18  Werner LEMBERG  <wl@gnu.org>
1585         * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1586         Announce makeinfo version.
1587         * configure: Regenerated.
1589 2005-11-18  Mike Frysinger <vapier@gentoo.org>
1591         * Makefile.in: Declare proper dependencies between make targets.
1593         * doc/Makefile.in: Rename groff info page to `groff.info'.
1594         * doc/Makefile.sub: Likewise.
1595         * doc/groff.texinfo: Likewise.
1597 2005-11-17  Peter O'Gorman  <mlists@thewrittenword.com>
1599         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1600         definition of __GETOPT_PREFIX to the beginning of file to ensure
1601         that it is defined even on platforms where getopt.h is already
1602         included by other header files.
1604 2005-11-10  Gaius Mulley  <gaius@glam.ac.uk>
1606         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1607         Reset font to NULL to ensure that a font block is recreated during
1608         the next paragraph.
1610 2005-11-04  Werner LEMBERG  <wl@gnu.org>
1612         * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1613         * configure: Regenerated.
1615 2005-10-27  Werner LEMBERG  <wl@gnu.org>
1617         * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1618         makeinfo 4.8 or newer is available.
1619         * configure.ac: Call GROFF_MAKEINFO.
1620         * configure: Regenerated.
1622         * Makefile.in (MAKEINFO): Use autoconf variable.
1623         (MDEFINES): Add MAKEINFO.
1625         * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1626         * doc/Makefile.sub (MAKEINFO): Remove.
1628 2005-10-26  Werner LEMBERG  <wl@gnu.org>
1630         * REVISION: Set to 3.
1632 2005-10-17  Werner LEMBERG  <wl@gnu.org>
1634         Mention $MANPAGER variable used with some `man' systems.
1636         * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1638 2005-09-13  Werner LEMBERG  <wl@gnu.org>
1640         * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1642 2005-09-04  Werner LEMBERG  <wl@gnu.org>
1644 Version 1.19.2 released
1645 =======================
1647         * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1649         * doc/webpage.ms: Updated.
1651         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1653 2005-09-04  Jörgen Grahn <jgrahn@algonet.se>
1655         * tmac/groff_ms.man: Document `PO' better.
1657 2005-09-03  Werner LEMBERG  <wl@gnu.org>
1659         * NEWS: Document grotty changes.
1661 2005-09-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
1663         Backward compatibility support for `man' program.
1665         * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1666         assignment, prior `.ll' request and then package defaults, in this
1667         specified order of decreasing priority.
1669         * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1670         altered `LL' register initialization priorities.
1672 2005-08-29  Gary W. Swearingen  <garys@opusnet.com>
1674         * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1675         section should look like.
1677 2005-08-29  Werner LEMBERG  <wl@gnu.org>
1679         * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1680         be abbreviated.
1682 2005-08-27  Bernd Warken
1684         * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1685         fixes.
1687 2005-08-11  Bernd Warken
1689         * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1691 2005-08-09  Bernd Warken
1693         * tmac/www.tmac (URL, MTO): Use bold series if color support is
1694         deactivated.
1696 2005-08-02  Bernd Warken
1698         * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1699         as argument to $(INSTALL_INFO).  The latter isn't portable.
1700         Remove $(HTMLEXAMPLEFILES) too.
1702         * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1703         $(datadir)/doc too.
1704         Suppress warning messages and return always true.
1706         * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1708 2005-07-02  Bernd Warken
1710         * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1711         * man/groff_out.man: More markup and minor improvements.
1712         * src/roff/groff/groff.man: Minor improvements.
1714 2005-06-28  Werner LEMBERG  <wl@gnu.org>
1716         * ChangeLog: Split off older entries into...
1717         * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1718         files.
1720 2005-06-26  Bernd Warken
1722         * src/devices/xditview/gxditview.man: More minor fixes.
1724 2005-06-24  Werner LEMBERG  <wl@gnu.org>
1726         * src/preproc/pic/troff.cpp (troff_output::set_fill,
1727         troff_output::set_color, troff_output::reset_color): Use .bcolor and
1728         .fcolor instead of \m and \M, respectively.
1730 2005-06-23  Bernd Warken
1732         * src/devices/xditview/gxditview.man: More minor fixes.
1733         * README: Formatting issues.
1734         Mention some problems with Debian.
1736 2005-06-23  Bernd Warken
1738         * src/devices/xditview/gxditview.man: Revised and improved.
1740 2005-06-22  Werner LEMBERG  <wl@gnu.org>
1742         Another round in fixing getopt problems.  Hopefully the last one!
1743         This time we use the getopt stuff from gnulib and define a prefix
1744         unconditionally so that there are no collisions with any other
1745         getopt implementations.  This is a slight waste of space in case
1746         we already use a GNU getopt implementation, but on
1747         the other hand it really simplifies life.
1749         * src/include/getopt.h: Use gnulib version.
1751         * src/include/getopt_int.h: Use gnulib version.
1753         * src/include/groff-getopt.h: Removed.  Obsolete now.
1755         * src/include/lib.h: Regarding getopt, don't handle any platform
1756         specially; just include getopt.h.
1757         (__GETOPT_PREFIX): Define (before getopt.h).
1759         * src/include/Makefile.sub (HDRS): Updated.
1761         * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1762         gnulib version.
1764         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1765         __GETOPT_PREFIX.
1767         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1768         (__GETOPT_PREFIX): Define (before getopt.h).
1770 2005-06-21  Werner LEMBERG  <wl@gnu.org>
1772         * src/include/lib.h: Provide a fix for Mac OS X to not include
1773         groff-getopt.h.
1775 2005-06-20  Denis M. Wilson  <dmw@oxytropis.plus.com>
1777         * font/devps/prologue.ps (EP): Dont' use `bind'.  Reason: Using
1778         `bind' to define a procedure which contains `showpage' means that an
1779         invocation of `showpage' may execute wrongly (the exact effect
1780         depending on the interpreter).  Not usually a problem except under
1781         transformations, such as combining pages.
1782         (PEND): Don't call `clear'.  Reason: Using `clear' in the definition
1783         of /PEND means that stack underflow will occur if the stack is
1784         deliberately non-empty before document inclusion.  If included
1785         files are found to be generally badly behaved, we could replace the
1786         `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1787         never found this necessary).
1789 2005-06-20  Jörgen Grahn  <jgrahn@algonet.se>
1791         * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1792         earlier to get correct error message.
1794 2005-06-16  Bernd Warken
1795         * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1797 2005-06-15  Werner LEMBERG  <wl@gnu.org>
1799         Another try to update getopt files.  This time we add a dummy
1800         gettext.h file to satisfy the dependency.
1802         * src/include/getopt.h, src/libs/libgroff/getopt.c,
1803         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1805         * src/include/getopt_int.h: New file (from GNU libc CVS).
1807         * src/include/gettext.h: Dummy file which just defines a gettext()
1808         macro.
1810         * src/include/groff-getopt.h: Updated.
1812         * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1815         * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1816         `const' keywords in return value.
1818         * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1819         Remove redundant variable `old'.
1820         (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1822         * src/preproc/tbl/main.cpp (process_table): Remove redundant
1823         variable `c'.
1826         Fix more friend name injection problems since modern C++ compilers
1827         fail otherwise.  We simply provide (global) declarations for all
1828         functions declared as friends.  This is not really necessary but
1829         doesn't harm.
1831         * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1832         peek_char, and get_location.
1834         * src/preproc/refer/ref.h: Provide declarations for
1835         compare_reference, same_reference, same_year, same_date,
1836         same_author_last_name, and same_author_name.
1838         * src/roff/troff/div.h: Provide declarations for do_divert and
1839         page_offset.
1841         * src/roff/troff/env.h: Provide declarations for title_length,
1842         space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1843         vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1844         indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1845         margin_character, no_number, number_lines, leader_character,
1846         tab_character, hyphenate_request, no_hyphenate,
1847         hyphen_line_max_request, hyphenation_space_request,
1848         hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1849         line_tabs_request, widow_control_request, and do_divert.
1851         * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1853         * src/roff/troff/node.cpp: Provide declarations for class
1854         tfont_spec.
1855         Provide declaration for make_tfont.
1857 2005-05-29  Werner LEMBERG  <wl@gnu.org>
1859         * doc/fdl.texi: Updated to version 1.2.  Reported by Bernd Warken.
1861 2005-05-28  Werner LEMBERG  <wl@gnu.org>
1863         * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1864         `--style'.
1866         * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1867         redundant semicolons.
1869         * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1870         src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1871         Define `MLIB'.  Some compilers need this for linking with libgroff.
1873 2005-05-27  Werner LEMBERG  <wl@gnu.org>
1875         * MANIFEST, README, doc/webpage.ms: Updated.
1877 2005-05-26  Werner LEMBERG  <wl@gnu.org>
1879         * All affected files: Update postal address of FSF.
1881 2005-05-25  Keith Marshall  <keith.d.marshall@ntlworld.com>
1882             Bernd Warken
1884         * README: More fixes.
1886         * README.CVS: Removed.  Its contents is now part of the README file.
1888 2005-05-21  Werner LEMBERG  <wl@gnu.org>
1890         * README: Updated.  Based on a patch from Bernd Warken.
1892 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1894         Miscellaneous script portability enhancements.
1896         * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1897         generated conftest.sh script, conforming to portability
1898         recommendation in autoconf docs.
1899         * configure: Likewise, for code generated by GROFF_CSH_HACK.
1900         * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1901         to portability recommendation in autoconf docs.
1902         * contrib/gdiffmk/gdiffmk.sh: Likewise.
1903         * contrib/gdiffmk/tests/runtests.in: Likewise.
1904         * contrib/grap2graph/grap2graph.sh: Likewise.
1905         * contrib/groffer/groffer.sh: Likewise.
1906         * contrib/mm/mmroff.pl: Likewise.
1907         * contrib/mom/momdoc/appendices.html: Likewise.
1908         * contrib/pic2graph/pic2graph.sh: Likewise.
1909         * font/devps/generate/afmname: Likewise.
1910         * src/devices/xditview/ad2c: Likewise.
1911         * src/preproc/eqn/neqn.sh: Likewise.
1912         * src/roff/grog/grog.pl: Likewise.
1913         * src/roff/grog/grog.sh: Likewise.
1914         * src/roff/nroff/nroff.sh: Likewise.
1915         * PROBLEMS: Likewise, in embedded script examples.
1917 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1919         Improve portability of `pdfroff' shell script.
1921         * arch/misc/shdeps.sh: Add space in shebang, conforming to
1922         portability guidelines in `autoconf' docs.
1923         (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1924         initialization code.  Used by contrib/pdfmark/pdfroff.sh's
1925         `searchpath' function.
1927 2005-05-14  Werner LEMBERG  <wl@gnu.org>
1929         * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1930         contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1931         needed for newer ImageMagick versions.
1933 2005-05-07  Werner LEMBERG  <wl@gnu.org>
1935         * src/preproc/refer/refer.man: Many small typographic fixes.
1937 2005-05-06  Jeff Conrad  <jeff_conrad@msn.com>
1939         * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1940         Use `char *' cast for a_delete.
1942 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1944         * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1945         src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1947 2005-05-03  Jeff Conrad  <jeff_conrad@msn.com>
1949         * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1950         `a_delete' for `const char *'.
1952 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1954         * src/devices/grohtml/post-html.cpp,
1955         src/devices/grohtml/html-table.cpp,
1956         src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1957         Replace malloc/free with new/delete/a_delete.
1959         * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1960         are prohibited with ANSI C++.
1961         (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1962         function has a variable number of arguments).
1964         * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1965         Simplify function and update all callers.
1967 2005-05-02  Werner LEMBERG  <wl@gnu.org>
1969         Undo getopt changes from 2005-04-30.  We don't want a dependency
1970         on gettext.
1972         * src/include/getopt_int.h: Removed.
1974         * src/include/getopt.h, src/include/groff-getopt.h,
1975         src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1976         src/libs/libgroff/getopt1.c: Revert to previous version.
1979         * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1981         * src/include/posix.h (F_OK): Define conditionally.
1983         * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1984         different variable name in second `for' loop to avoid MSVC compiler
1985         problem.
1987 2005-04-30  Werner LEMBERG  <wl@gnu.org>
1989         AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1991         * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1992         * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1993         * configure, src/include/config.hin: Regenerated.
1995         * PROBLEMS: Updated.
1998         Update getopt files.
2000         * src/include/getopt.h, src/libs/libgroff/getopt.c,
2001         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2003         * src/include/getopt_int.h: New file (from GNU libc CVS).
2005         * src/include/groff-getopt.h: Updated.
2007         * src/include/Makefile.sub (HDRS): Add getopt_int.h.
2010         * font/devutf8/NOTES: Updated.
2012 2005-04-28  Werner LEMBERG  <wl@gnu.org>
2014         Bug fix for Win32 relocatable code.  Based on a patch from Keith
2015         Marshall.
2017         * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
2018         also.
2020         * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
2021         (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
2023 2005-04-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
2025         Correct `gnu.eps' handling for build from distribution tarball, with
2026         separate source and build directories.
2028         * doc/Makefile.sub: (examples.stamp): New target; forces copy of
2029         grnexmpl.g, groff.css and gnu.eps from source to build directory;
2030         generate gnu.eps from gnu.xpm if required; touch examples.stamp.
2031         (prepare_examples): Make it depend on examples.stamp.
2032         (CLEANADD): Add examples.stamp.
2034 2005-04-27  Werner LEMBERG  <wl@gnu.org>
2036         Implement the rule
2038           position: `(' position `)'
2040         in pic.
2042         * src/preproc/pic/pic.y (position, position_not_place): Handle
2043         additional parentheses.
2045         * doc/pic.ms: Updated.
2047 2005-04-23  Larry Jones  <lawrence.jones@ugs.com>
2049         * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
2051 2005-04-18  Werner LEMBERG  <wl@gnu.org>
2053         * src/roff/groff/pipeline.c: Don't include ctype.h.
2055 2005-04-13  Werner LEMBERG  <wl@gnu.org>
2057         * src/roff/nroff/nroff.man: Document option `-M'.
2059 2005-04-13  Bruce Lilly  <blilly@erols.com>
2061         * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2063 2005-04-01  Kees Zeelenberg  <kzlg@users.sourceforge.net>
2064             Werner LEMBERG  <wl@gnu.org>
2066         Add binary relocation support for Windows platforms.
2068         * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2070         * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2072         * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2073         (search_path::search_path, search_path::open_file_cautious): Use
2074         `relocate'.
2076         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2077         src/include/Makefile.sub (HDRS): Updated.
2079 2005-04-01  Werner LEMBERG  <wl@gnu.org>
2081         * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2082         strsave/a_delete.
2084         * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2086         * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2087         lib.h already does it.
2089         * src/libs/libgroff/maxpathname.cpp: New file, defining
2090         path_name_max.
2092         * src/include/lib.h: Add prototype for path_name_max.
2094         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2096         * src/include/nonposix.h (PATH_EXT): New macro.
2098 2005-03-28  Werner LEMBERG  <wl@gnu.org>
2100         Add support for double- and zero-width characters in grotty.
2102         * src/devices/grotty/tty.cpp (glyph): Add width.
2103         (tty_printer::make_underline, tty_printer::make_bold,
2104         tty_printer::add_character): Add parameter to pass character width.
2105         Update all callers.
2106         (tty_printer::end_page): Increase hpos by actual character width.
2108         * font/devutf8/R.proto: Specify zero width for non-spacing
2109         characters.
2111         * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2113         * Makefile.comm (extraclean): Remove more junk files.
2115 2005-03-25  Werner LEMBERG  <wl@gnu.org>
2117         * configure.ac: Undo change from 2005-03-24.
2118         * configure: Regenerated.
2120 2005-03-24  Werner LEMBERG  <wl@gnu.org>
2122         * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2123         (dist): Search Makefile while descending into $(EXTRADIRS).
2125         * doc/Makefile.in (.PHONY): Add.
2126         (clean): Don't remove *.png and *.eps.
2127         Don't handle *.gif.
2128         (realclean): Remove *.png and *.eps.
2129         (extraclean): Depend on distclean.
2131         * configure.ac: Add copyright.
2132         Handle contrib/pdfmark/Makefile.
2134         * configure: Regenerated.
2136 2005-03-18  Larry Kollar  <kollar@alltel.net>
2138         Add numbered and definition lists to www.tmac.
2140         * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2141         www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2142         auxiliary string registers.
2143         (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2144         www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2145         (www-level): Removed.
2146         (www-level1, www-level2, www-level3): Initialize to empty.
2147         (www-level0, www-level4, www-level5, www-level6, www-level7,
2148         www-level8, www-level9): New string registers.
2149         (www-push-li, www-pop-li): New macros.
2150         (www-push-level, www-pop-level): Renamed to...
2151         (www-push-ul-level, www-pop-ul-level): This.
2152         Updated.
2153         (www-push-ol-level, www-pop-ol-level): New macros.
2154         (ULS, ULE): Updated.
2155         (OLS, OLE, DLS, DLE): New user macros.
2156         (LI): Removed.  It is aliased to one of...
2157         (www-li-ul, www-li-ol, www-li-dl): New macros.
2159         * tmac/groff_www.man: Document new macros.
2161         * NEWS: Updated.
2163 2005-03-18  Werner LEMBERG  <wl@gnu.org>
2165         * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2166         doc-operating-system-NetBSD-2.0.2): New strings.
2168         * tmac/groff_mdoc.man: Updated.
2170 2005-03-17  Werner LEMBERG  <wl@gnu.org>
2172         * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2174 2005-03-17  Werner LEMBERG  <wl@gnu.org>
2176         * src/libs/libgroff/hypot.c: Renamed to...
2177         * src/libs/libgroff/hypot.cpp: This.  Updated to C++.
2179         * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2181         * src/include/lib.h: Updated.
2183 2005-03-16  Werner LEMBERG  <wl@gnu.org>
2185         Add workaround for broken hypot() on Interix.
2187         * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2189         * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2190         (CSRCS): Add `hypot.c'.
2192         * src/include/lib.h: Declare `groff_hypot'.
2194         * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2195         Use `groff_hypot'.
2197         * src/preproc/pic/pic.h: Don't declare `hypot'.
2199         * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2201 2005-03-15  Gaius Mulley  <gaius@glam.ac.uk>
2203         * src/devices/grohtml/post-html.cpp
2204         (html_printer::lookahead_for_tables): End .ce properly to avoid a
2205         segfault.
2207 2005-03-15  Werner LEMBERG  <wl@gnu.org>
2209         makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2211         * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2213         * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2215 2005-03-14  Werner LEMBERG  <wl@gnu.org>
2217         Add Cyrillic support to devutf8 and devhtml.
2219         * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2221         * tmac/unicode.tmac: New file.
2223         * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2225         * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2227         * NEWS: Updated.
2229 2005-03-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
2231         * src/libs/libdriver/printer.cpp (check_for_output_error): New
2232         function.  It has been introduced to catch peculiar error contexts
2233         on MS-Windows platforms.
2235 2005-02-28  Werner LEMBERG  <wl@gnu.org>
2237         * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2238         null pointer.
2240         * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2242         * configure: Regenerated.
2244         * NEWS: Updated.
2246 2005-02-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
2248         Integrate `pdfmark' into normal groff build system;
2249         install macro `pdfmark' packages, build and install `pdfroff',
2250         and PDF format documentation.
2252         * Makefile.comm: Add PDFDOCDIR.
2254         * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2255         pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2256         (unstall_dirs): Add pdfdocdir.
2258         * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2259         `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2260         (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2261         GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2262         (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2263         (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2264         set ALT_AWK_PROGS.
2265         (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2266         use of GROFF_AWK_PREFS.
2267         (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2268         and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2270         * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2271         Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2272         also by modified GROFF_HTML_PROGRAMS).
2274 2005-02-27  Gaius Mulley  <gaius@glam.ac.uk>
2276         * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2277         paragraph spacing.
2278         (html_text::done_para): Unset `start_space'.
2279         (html_text::remove_para_align): Call `retrieve_para_space' for the
2280         spacing.
2282         * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2283         `seen_space'.
2284         (html_printer::do_check_center): Emit vertical space if necessary.
2286         * src/roff/troff/env.cpp (environment_switch): Preserve
2287         `seen_space', `seen_eol', and `suppress_next_eol' while switching
2288         environments.
2290         * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2291         `is_special'.
2293 2005-02-20  Werner LEMBERG  <wl@gnu.org>
2295         * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2296         eqn.
2298 2005-02-17  Werner LEMBERG  <wl@gnu.org>
2300         * doc/pic.ms, man/groff.man: Fix typos.
2302         * doc/groff.texinfo: Fix typos.
2303         (\LEmacro): Get proper mathematical spacing.
2305 2005-02-16  Werner LEMBERG  <wl@gnu.org>
2307         * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2308         * configure: Regenerated with autoconf 2.59b.
2310 2005-02-16  Gaius Mulley  <gaius@glam.ac.uk>
2312         * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2313         html_printer::start_font): Fix handling of preformatted text.
2315 2005-02-15  Gaius Mulley  <gaius@glam.ac.uk>
2317         These patches modify the indentation implementation to use `<p
2318         style=margin-left: n%>'.  Many thanks to Peter and Larry for
2319         suggesting this solution.  Grohtml only uses tables for `.IP' and
2320         related tags when the first operand has a short width.
2322         Similarly, they modify all vertical space code.  By default, grohtml
2323         sets up a style sheet which uses no vertical space between `table',
2324         `pre', and `p' tags.  It forces spaces when it needs them using
2325         `style="margin-top: 1em"'.
2327         * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2328         (html_table::emit_table_header, html_table::emit_new_row):
2329         Rewritten.
2330         (html_table::set_space): New function.
2331         (html_indent::html_indent): Don't set `is_used'.
2332         (html_indent::begin): Rewritten.
2333         (html_indent::end): Remove code in function.
2335         * src/devices/grohtml/html-table.h: Updated.
2336         (html_table): Make `out' public.
2338         * src/devices/grohtml/html-text.cpp (html_text::html_text):
2339         Initialize `start_space' with FALSE.
2340         (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2341         (html_text::issue_tag): Add argument to handle space style.
2342         (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2343         (html_text::flush_text): Don't set `start_space'.
2344         (html_text::push_para): Don't set `p->really_issued'.
2345         (html_text::do_emittext): Updated.
2346         (html_text::do_para): Add paremeter to handle space.
2347         Update all callers.
2348         (html_text::retrieve_para_space): New function.
2350         * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2351         (tag_definition): Remove `really_issued'.
2352         (html_text): Updated.
2354         * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2355         `current_column' and `row_space'.
2356         Update constructor.
2357         (html_printer::emit_raw, html_printer::write_header,
2358         html_printer::do_indent, html_printer::do_check_center,
2359         html_printer::do_tab_ts): Handle vertical space.
2360         (html_printer:do_tab_te, html_printer::do_end_para): Call
2361         `remove_para_space'.
2362         (html_printer::do_col): Rewritten.
2363         (html_printer::flush_globs): Remove debugging code.
2364         (html_printer::is_line_start): New function.
2365         (html_printer::start_font): Use `is_line_start'.
2366         (html_printer::writeHeadMetaStyle): New function.
2367         (html_printer::do_file_components, html_printer::~html_printer):
2368         Call `writeHeadMetaStyle'.
2370         * tmac/www.tmac (www-handle-percent): New macro.
2371         (MPIMG): Handle percent values for width and height parameters.
2372         (DC): Updated.
2374         * tmac/groff_www.man: Updated.
2376 2005-02-14  Werner LEMBERG  <wl@gnu.org>
2378         * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2379         $psname and $italic_angle.
2380         Immediately restart file input loops if `split' returns an empty
2381         array.
2383 2005-02-13  Michail Vidiassov  <master@iaas.msu.ru>
2384             Werner LEMBERG  <wl@gnu.org>
2386         Update afmtodit to better support Unicode (Michail).
2387         Update afmtodit to use Perl 5 syntax (Werner).
2389         * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2390         `Getopts::Std'.
2391         Decorate variables with `my' where necessary.
2392         Use `defined' where necessary to avoid warnings.
2393         Don't use `do' for subroutine calls.
2394         Other minor syntax updates.
2395         Check for both `uXXXX[X[X]]' and `uniXXXX'.
2396         Handle glyph variants properly.
2397         (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2398         strings.
2400         * src/utils/afmtodit/afmtodit.man: Updated.
2402 2005-02-13  Werner LEMBERG  <wl@gnu.org>
2404         Make groff.texinfo work with texinfo 4.8.
2406         * doc/groff.texinfo (@Var): Use @r and @slanted.
2407         (@defdummy, @Def*): Use @c to avoid empty lines.
2408         (\angles): Replaced with...
2409         (\Langlemacro, \Ranglemacro): New TeX macros.
2410         (@Langlemacro, @Ranglemacro): New variables defined with @set.
2411         (@angles): Use @Langlemacro and @Ranglemacro.
2412         (\LE): Replaced with...
2413         (\LEmacro): New TeX macro.
2414         (@LEmacro): New variable defined with @set.
2415         (@LE): Use @LEmacro.
2416         (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2417         variables defined with @set.
2418         (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2419         (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2420         Update all callers.
2422         Other minor updates.
2424         * doc/texinfo.tex: Update to texinfo version 4.8.
2426         * README.CVS: Updated.
2428 2005-02-09  Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2430         * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2431         and `FAM' registers.
2433 2005-02-05  Werner LEMBERG  <wl@gnu.org>
2435         * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2436         tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2437         Update BSD license.
2439 2005-02-01  Werner LEMBERG  <wl@gnu.org>
2441         * src/roff/groff/groff.man: Add information about paper size.
2443 2005-01-25  Werner LEMBERG  <wl@gnu.org>
2445         * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale.  From
2446         NetBSD bin/29114.
2448 2005-01-22  Ruslan Ermilov  <ru@FreeBSD.org>
2450         * tmac/doc.tmac (Sm): Improved.  It didn't work properly in many
2451         cases.
2452         (Re): Emit a warning if called without `.Rs'.
2453         (doc-finish-reference): Use parameter for decreasing
2454         `doc-reference-count'.
2455         (doc-print-reference): Pass specific count parameters to
2456         `doc-finish-reference'.
2458 2005-01-21  Werner LEMBERG  <wl@gnu.org>
2460         * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2461         Reset pointers to zero after deallocation.  This fixes a crash
2462         if a driver is called with multiple input files.  Reported by
2463         Ken Chilton <ken@chiltonfamily.org>.
2465         * src/devices/grops/grops.man: Add more info on DSC.
2467 2005-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
2469         * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2470         Remove dead code.
2472 2005-01-17  Werner LEMBERG  <wl@gnu.org>
2474         * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2475         against division by zero.
2477 2005-01-13  Ruslan Ermilov  <ru@FreeBSD.org>
2479         * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2481 2004-12-19  Werner LEMBERG  <wl@gnu.org>
2483         * install-sh: New version; taken from texinfo CVS.
2485 2004-12-17  Werner LEMBERG  <wl@gnu.org>
2487         * tmac/devtag.tmac: Protect against loading twice.
2488         Protect agains compatibility mode.
2489         * tmac/www.tmac: Protect against loading twice.
2490         Load `devtag.tmac' before switching off compatibility mode.
2491         * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2493 2004-12-16  Mike Bianchi  <mbianchi@Foveal.com>
2495         * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2496         * configure: Updated.
2498 2004-12-15  Thomas Klausner  <wiz@netbsd.org>
2500         * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2502 2004-12-15  Werner LEMBERG  <wl@gnu.org>
2504         Make `test-groff' work again -- previously, wrong paths have been
2505         used.  Additionally, it can now be called from anywhere.
2507         * test-groff.in: Don't test for groff binary.  This is no longer
2508         necessary since the proper paths are determined by `configure'.
2509         (EXEEXT): Removed.  No longer used.
2510         (srcdir, builddir): Use values provided by the configure script.
2511         (XENVIRONMENT): Updated.
2513         * INSTALL: Updated.
2515 2004-12-14  Gaius Mulley  <gaius@glam.ac.uk>
2517         Make .tag and .taga work for all devices (but only grohtml actually
2518         handles them).
2520         * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2521         (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2522         html_printer::handle_assertion): Don't use hard-coded string
2523         lengths.
2524         (html_printer::lookahead_for_table): Reset `tbl' properly if
2525         necessary.
2526         (html_printer::devtag): New function, handling `devtag'.
2527         (html_printer::special): Don't handle `html-tag'.
2529         * src/include/printer.h, src/libs/libdriver/printer.cpp
2530         (printer::devtag): New virtual function.
2532         * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2533         `devtag'.
2535         * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2536         src/roff/troff/node.cpp: s/html-tag/devtag/.
2538         * src/roff/troff/input.cpp (tag, taga): Always call
2539         curenv->add_node.
2541         * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2542         macros instead of HTML-TAG*.
2544         * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2546         * tmac/www.tmac: Load devtag.tmac.
2547         Replace HTML-TAG* macros with DEVTAG* macros.
2548         (HTML, HTML-NS): Changed definitions.
2549         (URL): Use HTML-NS.
2550         (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2552         * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2554 2004-12-10  Werner LEMBERG  <wl@gnu.org>
2556         Import Mike's `gdiffmk' package.
2558         * contrib/gdiffmk/*: New files.
2559         * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2560         * NEWS: Updated.
2562 2004-12-08  Werner LEMBERG  <wl@gnu.org>
2564         Import Keith's `pdfmark' package.  Integration is very preliminary.
2566         * contrib/pdfmark/*: New files.
2567         * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2568         * NEWS: Updated.
2570 2004-12-07  Gaius Mulley  <gaius@glam.ac.uk>
2572         Fix a bug with title handling in HTML.
2574         * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2575         text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2576         length.
2577         (html_printer::handle_tag_within_title): New function.
2578         (html_printer::do_title): Use it.
2580         * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2581         (cov*tl-au-print): Emit `.eo.tl' tag.
2583 2004-12-05  Alejandro López-Valencia  <dradul@etb.net.co>
2585         * man/groff_char.man: Minor imrovements.
2587 2004-12-04  Werner LEMBERG  <wl@gnu.org>
2589         * src/preproc/eqn/eqn.man: Revised.
2591 2004-11-25  Werner LEMBERG  <wl@gnu.org>
2593         * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2594         groff source files.
2595         Include config.h.
2596         Include limits.h.
2597         Remove X_NOT_STDC_ENV conditional.
2598         (Version_string, program_name): New global variables.
2599         (groff_flag): Removed.
2600         (MapFont): Updated.
2601         (usage): Take a stream as argument.
2602         Use `program_name'.
2603         Update all callers.
2604         (main): Add `long_options' array for `--help' and `--version'.
2605         Make `-g' a dummy option.
2606         Handle `-v' and unknown options.
2607         Remove unused `position' variable.
2609         * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2610         (XLIBS): Add LIBGROFF.
2612         * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2613         New files.
2615         * src/devices/xditview/Dvi.c (default_font_map): Split into three
2616         parts to avoid compiler warning.
2617         (resources): Don't initialize with `default_font_map'.
2618         (ClassInitialize): Initialize first element of `resources'.
2620         * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2621         Removed.
2623         * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2624         src/utils/pfbtops/pfbtops.man: Revised, updated.
2626         * configure.ac: Generate src/utils/xtotroff/Makefile.
2627         * configure: Regenerated.
2629 2004-11-24  Werner LEMBERG  <wl@gnu.org>
2631         First fixes to get produce HTML.
2633         * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2634         attribute.
2636         * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2637         (HR, LI): Use `HTML</p>', not `HTML'.
2639         * doc/webpage.ms: Minor updates.
2641 2004-11-23  Larry Kollar  <kollar@alltel.net>
2643         Add option -S grohtml to determine the file split level.
2645         * src/devices/grohtml/post-html.cpp (split_level): New global
2646         variable.
2647         (html_header::determine_header_level): Use split_level.
2648         (main): Handle `-S' command line option.
2649         Sort options.
2651         * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2653         * src/devices/grohtml/grohtml.man: Document it.
2654         Sort options.
2656         * NEWS: Document it.
2658 2004-11-23  Y T  <doarhop@hotmail.com>
2660         * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2661         the volume and number refer entries.
2663 2004-11-22  Werner LEMBERG  <wl@gnu.org>
2665         * src/devices/grohtml/html-table.cpp
2666         (html_table::emit_table_header): Don't emit `cols' attribute which
2667         doesn't exist in HTML 4.0 and is thus invalid.
2669         * NEWS: More minor fixes and updates.
2671 2004-11-18  Werner LEMBERG  <wl@gnu.org>
2673         * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2674         (HTML</p>): Minor clean-up.
2676         * tmac/groff_www.man: Updated.
2678         * src/devices/grohtml/grohtml.man: Revised and updated.
2680         * NEWS: Updated.
2682 2004-11-18  Gaius Mulley  <gaius@glam.ac.uk>
2684         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2685         Fix space insertion.
2686         (html_printer::do_links): Fix rules generation around automatic
2687         heading links.
2689         * tmac/www.tmac (LK): Use HTML-TAG-NS.
2690         (HR): Simplify.
2691         No longer emit empty line for non-HTML devices.
2693 2004-11-17  Werner LEMBERG  <wl@gnu.org>
2695         * doc/Makefile.in (prepare_examples, webpage.html): Handle
2696         `groff.css'.
2698         * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2699         prepare_examples, webpage.html): Handle `groff.css'.
2701 2004-11-15  Werner LEMBERG  <wl@gnu.org>
2703         * NEWS, README, doc/webpage.ms: Updated.
2705         * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2707 2004-10-30  Gaius Mulley  <gaius@glam.ac.uk>
2709         * src/include/printer.h (printer): Remove virtual function
2710         `round_width'.
2711         Update all source files.
2713         * src/devices/grohtml/post-html.cpp (html_printer): New member
2714         function `round_width'.
2716 2004-10-20  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
2718         * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2719         column key letter suffix.
2721 2004-10-14  Werner LEMBERG  <wl@gnu.org>
2723         * Makefile.in (check): Depend on `site.exp' and `docheck'.
2724         (docheck): Run dejagnu's `runtest' if it exists.
2725         (site.exp): Create dejagnu configuration file.
2727         * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2729 2004-10-13  Werner LEMBERG  <wl@gnu.org>
2731         * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2732         src/devices/grohtml/post-html.cpp (make_val,
2733         html_printer::handle_state_assertion): Fix compiler warnings.
2735         * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2736         (diversion::diversion): Fix order of initializers.
2738         * src/roff/troff/div.h: Don't include `mtsm.h'.
2740         * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2741         (environment::environment): Fix order of initializers.
2742         (environment::make_tag, environment::construct_format_state): Fix
2743         compiler warnings.
2745         * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2746         (input_iterator::input_iterator, macro::macro): Fix order of
2747         initializers.
2749         * src/roff/troff/mtsm.cpp: Include only necessary header files.
2750         (state_set::add, state_set::val): Fix compiler warnings.
2752         * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2753         (bool_value_state, int_value_state, units_value_state,
2754         string_value_state): Remove comma after last element which causes
2755         an error with g++ 3.3.3.
2757         * src/roff/troff/node.cpp: Include `stringclass.h'.
2758         (hline_node::hline_node, vline_node::vline_node,
2759         space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2760         warnings.
2761         (zero_width_node::zero_width_node): Fix order of initializers.
2763         * src/roff/troff/node.h: Don't include `mtsm.h'.
2764         (hmotion_node): Fix compiler warnings.
2766         * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2768 2004-10-12  Gaius Mulley  <gaius@glam.ac.uk>
2770         * doc/groff.css: New file.
2772         * doc/webpage.ms: Use `groff.css'.
2773         Other small fixes.
2775         * tmac/an-old.tmac (need_eo_h): New number register.
2776         (TH): Emit `.eo.tl' tag after title.
2777         (SH): Set `need_eo_h'.
2778         (an-trap): Handle `need_eo_h'.
2779         (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2781         * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2782         (TL): Always start diversion.
2783         Updated.
2784         (@AI): Always call `par@reset'.
2785         (@AB): Update code for -Thtml.
2786         (cov*tl-au-print): Handle -Thtml.
2787         (par@reset): Handle `need_eo_tl', `need_eo_h'.
2788         (@IP): Simplified.
2789         (@IT-html): Removed.
2790         (@SH): Set `need_eo_h' for -Thtml.
2791         (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2792         Set `need_eo_tl'.
2793         (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2794         Set `need_eo_h' for -Thtml.
2795         (@EQ, @EN): Don't handle -Thtml specially.
2796         (par@load-init): Don't handle -Thtml specially.
2798         * tmac/www.tmac (www:paraspace): New macro.
2799         (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2800         (HTML</p>, HTML-TAG-NEXT): New macros.
2801         (HnE): Emit tag `.eo.h' instead of break.
2802         (HR): s/HTML-NS/HTML/.
2803         (www-end-nowhere): End diversion only if `www-html' not set.
2804         Emit `.eo.tl' tag.
2805         (ULS, ULE): s|HTML|HTML</p>|.
2806         (LI): Call `www:paraspace'.
2807         (HEAD): New macro.
2809 2004-10-11  Gaius Mulley  <gaius@glam.ac.uk>
2811         * src/roff/troff/request.h (macro): Make `p' public.
2812         New variable `is_a_diversion'.
2813         New member function `is_diversion'.
2816         * src/devices/grohtml/html.h (simple_output): New member function
2817         `force_nl'.
2819         * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2820         computation of `total'.
2821         (tabs::check_init): New function.
2822         (html_table::emit_table_header): Emit style data.
2823         (html_table::insert_column): Improved.
2825         * src/devices/grohtml/html-table.h: Updated.
2827         * src/devices/grohtml/html-text.cpp (html_text::html_text):
2828         Initialize `start_space' with TRUE.
2829         (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2830         cases.
2831         (html_text::flush_text): Set `start_space' flag.
2832         (html_text::uses_indent, html_text::remove_para_space,
2833         html_text::get_alignment): New functions.
2834         (html_text::push_para): Updated.
2835         (html_text::do_para): Check for empty argument.
2836         Don't set `space_emitted'.
2837         (html_text::do_space, html_text::emit_space): Updated.
2839         * src/devices/grohtml/html-text.h (tag_definition): New variable
2840         `really_issued'.
2841         (html_text): New member function `uses_indent', `remove_para_space',
2842         `get_alignment'.
2844         * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2845         function.
2846         (simple_output:nl): Always emit `\n'.
2848         * src/devices/grohtml/post-html.cpp: Include `string.h'.
2849         (BASE_POINT_SIZE): Removed.
2850         (base_point_size, head_info): New global variables.
2851         (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2852         `is_eo_h'.
2853         (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2854         tags, respectively.
2855         (page::add_and_encode): Pass additional parameter for tag flag.
2856         (assert_pos): New structure.
2857         (assert_state): New class.
2858         (html_printer): Remove `indentation', `prev_indent'.
2859         Add variables `troff_indent', `device_indent', `temp_indent'.
2860         Add variables `seen_indent', `next_indent', `seen_pageoffset',
2861         `next_pageoffset', `seen_linelenght', `next_linelength',
2862         `seen_center', `next_center', `seen_space', `seen_break', `as'.
2863         Add member functions `do_check_center', `do_space', `do_head',
2864         `get_troff_indent', `restore_troff_indent', `handle_assertion',
2865         `handle_state_assertion', `do_end_para', `set_char_and_width'.
2866         Change argument to `do_fill' to `char *'.
2867         Update constructor.
2868         (html_printer::emit_raw): Call `shutdown_table'.
2869         Use new functions.
2870         (html_printer::do_center): Simplified.
2871         (html_printer::do_title): Improved.
2872         (html_printer::write_header): Emit one more newline.
2873         Use new functions.
2874         (html_printer::do_heading, html_printer::do_indent,
2875         html_printer::do_eol, html_printer::do_tab_ts,
2876         html_printer::do_tab, html_printer::do_tab0,
2877         html_printer::calc_po_in, html_printer::next_horiz_pos,
2878         html_printer::remove_courier_tabs,
2879         html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2880         Updated.
2881         (html_printer::do_linelength, html_printer::do_pageoffset,
2882         html_printer::do_indentation, html_printer::do_tempindent,
2883         html_printer::do_tab_te): Simplified.
2884         (html_printer::do_pointsize): Check whether point size is really
2885         associated a `.tl' tag.
2886         (html_printer::do_break): Rewritten.
2887         (html_printer::troff_tag): Improved.
2888         (html_printer::flush_globs): Updated.
2889         (html_printer::lookahead_for_tables): Handle `is_br'.
2890         Use new functions.
2891         (html_printer::set_char): Check `sbuf_style.f'.
2892         (html_printer::write_navigation): Use string comparison.
2893         (html_printer::~html_printer): Emit `head_info'.
2894         (html_printer::special): Rewritten.
2895         (get_str, make_val): New functions.
2896         (main): New option `s' to set the base point size.
2898         * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2900 2004-10-10  Gaius Mulley  <gaius@glam.ac.uk>
2902         * src/roff/troff/node.cpp: New extern `debug_state'.
2903         Include `stringclass.h' and `mtsm.h'.
2904         Implement new classes and class members from `node.h'.
2905         (real_output_file): Make `fp' public.
2906         (troff_output_file): New variables `cur_div_level' and `tag_list'.
2907         Update constructors.
2908         (troff_output_file::really_print_line): Check whether we should push
2909         the current troff state and use the state at the start of the
2910         invocation of this diversion.
2911         (troff_output_file::add_to_tag_list): New member function.
2912         (node::add_char): Handle `glyph_comp_np'.
2914         * src/roff/troff/node.h: Include `mtsm.h'.
2915         (node): New variables `state', `push_state', `div_nest_level',
2916         `is_special'.  Update constructors, all descendants.
2917         Pass additional argument to `add_char' member function.
2918         New virtual member functions `is_tag', `debug_node',
2919         `debug_node_list'.  Update all descendants.
2920         (tag_node): New class for handling tags.
2921         (output_file): Add variable `state'.
2923 2004-10-09  Gaius Mulley  <gaius@glam.ac.uk>
2925         * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2926         providing a minimal troff state machine to emit meta tags for the
2927         post-grohtml device driver.
2929         * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2930         files.
2932 2004-10-09  Werner LEMBERG  <wl@gnu.org>
2934         * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2936 2004-10-06  Gaius Mulley  <gaius@glam.ac.uk>
2938         * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2940         * src/roff/troff/div.h: Include `mtsm.h'.
2941         (diversion): New variables `any_chars_added', `needs_push',
2942         `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2943         `saved_suppress_next_eol', `modified_tag'.
2944         New virtual member function `is_diversion'.  Update all descendants.
2946         * src/roff/troff/div.cpp (diversion::diversion,
2947         macro_diversion::macro_diversion): Updated.
2948         (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2949         `suppress_next_eol'.
2950         (top_level_diversion::space): Handle `curenv->seen_space'.
2951         (page_offset): Update tag handling.
2952         (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2954         * src/roff/troff/env.h (environment): Make `tabs' public.
2955         Remove `ignore_next_eol', `emitted_node'.
2956         Update `output_line', `output'.
2957         New variables `seen_space', `seen_eol', `suppress_next_eol',
2958         `seen_break'.
2959         New member functions `construct_state', `make_tag',
2960         `construct_format_state, `construct_new_line_state,
2961         `dump_troff_state'.
2962         Remove `add_html_tag', `make_html_tag'.
2964         * src/roff/troff/env.cpp: New externs `suppress_push',
2965         `get_diversion_state', `global_diverted_space'.
2966         (pending_output_line): New variable `was_centered'.
2967         Update constructor and all callers.
2968         (pending_output_line::output): Call `curenv->construct_format_state'.
2969         (environment::environment, environment::copy): Updated.
2970         (environment::output): Handle `was_centered'.
2971         (environment::add_char): Handle construct and diversion state.
2972         (environment::add_node): Handle construct state.
2973         (environment::newline): Handle `was_centered'.
2974         (environment::output_line): Updated.
2975         (environment::possibly_break_line): Updated.
2976         Update tag handling.
2977         (environment::add_html_tag): Replaced with...
2978         (environment::make_tag): New function.
2979         (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2980         (environment::dump_troff_state): New debugging function.
2981         (environment::construct_state, environment::construct_format_state,
2982         environment::construct_new_line_state): New functions.
2983         (environment::do_break): Updated.
2984         Handle `global_diverted_space'.
2985         (environment::handle_tag): Update tag handling.
2986         (point_size, fill, do_break_request): Don't call `add_html_tag'.
2987         (no_fill): Don't call `add_html_tag'.
2988         Set `suppress_next_eol'.
2989         (center, right_justify, line_length, indent, temporary_indent,
2990         set_tabs):
2991         Update tag handling.
2993         * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2994         (input_iterator): New variables `is_diversion', `diversion_state'.
2995         Update constructors.
2996         (input_stack): New member functions `get_div_level',
2997         `get_diversion_state', `check_end_diversion'.
2998         New variables `div_level', `diversion_state'.  Initialize them.
2999         (suppress_push, global_diverted_space): New global variables.
3000         (input_stack::finish_get, input_stack::finish_peek,
3001         input_stack::remove_boundary, input_stack::end_file,
3002         input_stack::clear, input_stack::pop_macro): Call
3003         `check_end_diversion'.
3004         (input_stack::push): Handle `div_level' and `diversion_state'.
3005         (get_diversion_state): New function.
3006         (diverted_space_node::reread): Handle `global_diverted_space'.
3007         (macro::macro): Update constructors.
3008         (macro::is_diversion): New function.
3009         (macro::operator=): Set `is_a_diversion'.
3010         (string_iterator): New member function `is_diversion'.
3011         (string_iterator::string_iterator): Update constructors.
3012         (string_iterator::fill): Set `div_nest_level'.
3013         (macro_iterator): New member function `is_diversion'.
3014         (do_if_request): Handle `suppress_push'.
3015         (tag, taga): New functions.
3016         (init_input_requests): Add `tag' and `taga' requests.
3018 2004-10-05  Gaius Mulley  <gaius@glam.ac.uk>
3020         * src/include/font.h (font): New member function
3021         `get_image_generator'.
3022         New variables `unscaled_charwidths' and `image_generator'.
3024         * src/libs/libgroff/font.cpp (font::get_width): Always return the
3025         character's unscaled width if `font::unscaled_charwidths' is set.
3026         (font::get_image_generator): New function.
3027         (font::load_desc): Check the `unscaled_charwidths' and
3028         `image_generator' keywords.
3030         * src/libs/libgroff/fontfile.cpp: Initialize
3031         `font::unscaled_charwidths' and `font::image_generator'.
3033         * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
3035         * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
3037         * man/groff_font.man: Document `unscaled_charwidths' and
3038         `image_generator'.
3040         * src/preproc/html/pre-html.cpp: Include `device.h'.
3041         (image_gen): New global variable.
3042         (imageList::createPage): Use `image_gen'.
3043         (main): Use `image_generator' keyword.
3045 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
3047         * tmac/html.tmac: Handle \[sqrtex].
3049 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
3051         * src/include/printer.h (printer): New virtual method `round_width'.
3053         * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
3054         src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
3055         src/devices/grotty/tty.cpp (printer::round_width): New function
3056         member.
3058         * src/devices/grohtml/post-html.cpp (printer::round_width): New
3059         function member.
3060         (html_printer::set_numbered_char): Use it.
3062 2004-10-03  Gaius Mulley  <gaius@glam.ac.uk>
3064         * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3066         * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3068         * configure: Regenerated.
3070         * Makefile.in (GHOSTSCRIPT): New variable.
3071         (MDEFINES): Add GHOSTSCRIPT.
3073 2004-10-03  Werner LEMBERG  <wl@gnu.org>
3075         * INSTALL.gen: Updated (taken from texinfo CVS).
3077 2004-09-28  Werner LEMBERG  <wl@gnu.org>
3079         * NEWS: Updated.
3081 2004-09-28  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3083         * tmac/groff_www.man: Revised and updated.
3085 2004-09-26  Werner LEMBERG  <wl@gnu.org>
3087         Fix \$@ and \$* to handle any number of arguments.
3089         * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3090         characters.
3092         * src/roff/troff/input.cpp (input_iterator::internal_level):
3093         Removed.
3094         (input_stack): New member functions `increase_level' and
3095         `decrease_level'.
3096         (input_stack::get_level): Don't use `internal_level'.
3097         (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3098         (end_quote_iterator): Completely removed.
3099         (interpolate_arg): Build string for \$@ and \$* which is then
3100         pushed onto the input stack.
3102 2004-09-23  Keith Marshall  <keith.d.marshall@ntlworld.com>
3104         * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3105         Registers): Document changes from 2004-09-19.
3107 2004-09-23  Werner LEMBERG  <wl@gnu.org>
3109         * tmac/an-old.tmac (ne): Using default scaling operator.
3111 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
3113         This change implements the following features:
3115         PORPHANS
3116           New numeric register: Defines number of lines following LP, PP,
3117           QP, IP or XP, which must be kept together, before any automatic
3118           page break.  If insufficient space remains on the current page, a
3119           page break is forced before the new paragraph begins.
3121         HORPHANS
3122           New numeric register: Sets number of lines of following paragraph
3123           which must be kept with a heading, defined by NH or SH, before any
3124           automatic page break.  If insufficient space remains on the
3125           current page, a page break is forced before the heading.
3127         GROWPS
3128           (Thanks to Joerg van den Hoff, for this idea).
3130           New numeric register: Sets the first level of heading (set with
3131           NH), which will keep the same point size as body text; e.g. if
3132           GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3133           point size specified by \n[PS], but .NH 2 and .NH 1 will have
3134           progressively larger point sizes, determined by \n[PSINCR] (see
3135           below).
3137         PSINCR
3138           New numeric register: Sets the point size increment for each level
3139           of heading, (set with NH), below the threshold level set by
3140           GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3141           then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3142           and all other levels will remain at 10pt, (because \n[PS] = 10).
3144         SH
3145           Existing macro now accepts a numeric argument, to make heading
3146           size match that of NH with same argument value, when the
3147           GROWPS/PSINCR feature is enabled.
3149         SN-DOT
3150           New string, set by NH macro, replaces the existing (undocumented)
3151           use of SN, to represent the assigned section number.
3153         SN-NO-DOT
3154           New string, set by NH macro, represents the assigned section
3155           number, but omits the terminal period (periods at intermediate
3156           levels are retained).
3158         SN
3159           String set by NH macro, originally undocumented, now implemented
3160           as an alias for SN-DOT (which reproduces original behaviour).
3162         * tmac/s.tmac (PORPHANS): New register.
3163         (par*start): Use it.
3164         (HORPHANS, GROWPS, PSINCR): New registers.
3165         (SH-NO-TAG, @SH): Use them.
3166         (@NH): Improved.
3168 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
3170         * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3171         Document the deletion of `Ds' and `De' macros.
3173 2004-09-10  Werner LEMBERG  <wl@gnu.org>
3175         In tbl, handle \a as an interpreted leader character if in
3176         compatibility mode.
3178         * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3179         LEADER_CHAR): New macros.
3180         (compatible_flag): New declaration.
3182         * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3183         LEADER_3, and LEADER_4 to `state'.
3184         (table_input::get): Handle `\a'.
3186         * src/preproc/tbl/table.cpp (PREFIX): Removed.
3187         (LEADER_REG): New macro.
3188         (table::init_output): Define LEADER_REG string register if in
3189         compatibility mode.
3191         * src/preproc/tbl/tbl.man: Document it.
3193 2004-08-18  Werner LEMBERG  <wl@gnu.org>
3195         * tmac/doc.tmac (An): Fix error message.
3197 2004-08-06  Werner LEMBERG  <wl@gnu.org>
3199         * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3200         file can't be opened.  UNIX tbl has the same behaviour.
3202 2004-08-05  Y T  <doarhop@hotmail.com>
3204         * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3205         (DBRead): If in compatibility mode, take into account the text
3206         when computing figure boundaries.
3208 2004-08-05  Werner LEMBERG  <wl@gnu.org>
3210         * src/preproc/soelim/soelim.man: Improved.  Based on suggestions
3211         from Tadziu Hoffmann.
3213 2004-08-03  Werner LEMBERG  <wl@gnu.org>
3215         * doc/meref.me: Document `_M' register.
3217 2004-08-03  Martin Husemann  <martin@duskware.de>
3219         Make hpftodit work correctly on big-endian systems.
3221         * src/utils/hpftodit/hpftodit.cpp (File): New method
3222         `get_uint32(char *)'.
3223         (entry): New member `orig_value'.
3224         (read_tags): Use new method.
3225         (output_font_name, read_and_output_pcltypeface, dump_ascii):
3226         Updated.
3228 2004-08-01  Werner LEMBERG  <wl@gnu.org>
3230         * tmac/s.tmac: Undo change 2003-06-29.  The proper macro definitions
3231         are already in X11's `macros.t' file.
3233 2004-08-01  Jeff Conrad  <jeff_conrad@msn.com>
3235         * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3236         Fix casting bug.
3237         (read_and_output_pcltypeface): Handle strings with length <= 4.
3239 2004-07-27  Egil Kvaleberg  <egil@kvaleberg.no>
3241         * tmac/s.tmac (pg@top): Don't save `PO' register.
3242         (pg*end-col, pg*end-page): Directly use `PO' register.
3244 2004-07-27  Werner LEMBERG  <wl@gnu.org>
3246         * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3248         * src/preproc/refer/refer.cpp (output_references): Check for
3249         empty hash table.
3250         * src/preproc/refer/refer.man: Improve documentation of
3251         `bibliography' command.
3253 2004-07-26  Werner LEMBERG  <wl@gnu.org>
3255         Add requests `fcolor' and `gcolor'.
3257         * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3258         New functions.
3259         (init_env_requests): Add `fcolor' and `gcolor'.
3261         * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3263         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3264         (Colors): Document new requests.
3266 2004-07-24  Werner LEMBERG  <wl@gnu.org>
3268         Add support for fractional point sizes in ms macros.  A value for
3269         PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3270         by 1000.  For example, `.nr PS 10250' sets the font size to 10.25p.
3272         * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3273         PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3275         * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3276         Registers), NEWS: Document it.
3278 2004-07-19  Werner LEMBERG  <wl@gnu.org>
3280         * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3281         Update constructor.
3282         (do_for, for_input::get, for_input::peek): Handle negative `by'.
3283         * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3285 2004-07-08  Thomas Klausner  <wiz@netbsd.org>
3287         * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3288         * tmac/groff_mdoc.man: Updated.
3290 2004-07-05  Werner LEMBERG  <wl@gnu.org>
3292         * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3293         documentation of `hcode'.
3295 2004-07-04  Sang Dae Yu  <sdyu@bh.knu.ac.kr>
3297         Improve appearance of arrows in pic.
3299         * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3300         arrow head thin.
3301         Use two line segments for drawing non-filled arrow head.
3302         (line_object::print, spline_object::print): Shorten line length to
3303         avoid arrow sticking.
3304         (arc_object::print): Take arrow direction into account.
3306 2004-07-03  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3308         * tmac/groff_www.man: Update documentation of .MPIMG.
3310 2004-07-03  Werner LEMBERG  <wl@gnu.org>
3312         * tmac/an-old.tmac (RI): Always start with font `R'.
3313         (RI, IR): Properly end with font `R'.
3315 2004-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3317         * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3318         src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3319         src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3320         Don't pass more than six arguments to .R, .I, .B, etc., for
3321         compatibility with traditional troff macros.
3323 2004-07-02  Werner LEMBERG  <wl@gnu.org>
3325         * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3326         s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3327         Update all users.
3328         (PUSH_COMP_MODE): New internal character constant.
3329         Update all users.
3331         * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3332         PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3333         (token::next, macro::append): Handle PUSH_COMP_MODE.
3334         (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3335         POP_GROFFCOMP after each of the decoded arguments to make them
3336         independent from the compatibility mode status.
3337         (comp_mode): Add `COMP_ENABLE'.
3338         (do_define_string, do_define_macro): Handle COMP_ENABLE.
3339         (define_string, append_string, define_macro, define_indirect_macro,
3340         append_macro, append_indirect_macro): Handle `compatible_flag'.
3341         (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3343         * man/groff_diff.man, doc/groff.texinfo: Updated.
3345 2004-07-01  Werner LEMBERG  <wl@gnu.org>
3347         * doc/groff.texinfo: Improve documentation of `hcode'.
3348         Use @documentencoding and convert document to latin-1; to do that
3349         make latin characters active and assign proper macros (within a
3350         @tex...@end tex environment).
3351         * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3352         * doc/Makefile.sub (groff): Ditto.
3354 2004-06-29  Werner LEMBERG  <wl@gnu.org>
3356         Implement two new conditional operators `F <name>' and `S <name>'
3357         which check whether <name> is a valid font or style, respectively.
3359         * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3360         (text_file::text_file): Updated.
3361         (text_file::error): Don't emit message if `silent' is set.
3362         (font::load_font): Add optional third argument (which is directly
3363         passed to `load'.
3364         (font::load): Add optional second argument to check the header of
3365         a font only, without emitting warning or error messages.
3366         * src/include/font.h (font): Updated.
3368         * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3369         conditionals.
3370         * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3371         fourth argument to check a font without mounting.
3372         (check_font, check_style): New functions.
3373         * src/roff/troff/node.h: Updated.
3375         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3376         Updated.
3378 2004-06-27  Werner LEMBERG  <wl@gnu.org>
3380         Implement new string-valued register `.sty' to return the current
3381         style name.
3383         * env.cpp (environment::get_style_name_string): New function.
3384         (init_env_requests): Add `.sty' register.
3385         * env.h (environment): Updated.
3386         * node.cpp (font_info): Make `get_style_name' a friend.
3387         (get_style_name): New function.
3388         * node.h: Updated.
3390         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3391         Updated.
3393 2004-06-15  Werner LEMBERG  <wl@gnu.org>
3395         * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3396         `nospaces' option.
3398 2004-06-10  Colin Percival  <colin.percival@wadham.ox.ac.uk>
3400         * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3401         and \n[mo] to avoid dependency on current date.
3403 2004-06-08  Werner LEMBERG  <wl@gnu.org>
3405         * Makefile.sub (install_data): New target.
3407 2004-06-04  Werner LEMBERG  <wl@gnu.org>
3409         * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3411 2004-06-03  Werner LEMBERG  <wl@gnu.org>
3413         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3414         order of libraries.
3415         (install_data): Add $(srcdir).
3417         * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3418         libraries.
3420 2004-06-02  Werner LEMBERG  <wl@gnu.org>
3422         * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3423         Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3424         Add test for Xmu library.
3425         (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3426         GROFF_APPRESDIR_DEFAULT): New macros.
3428         * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3429         and GROFF_APPRESDIR_DEFAULT.
3431         * configure: Regenerated.
3433         * Makefile.in (appresdir): New variable.
3434         (MDEFINES): Add appresdir.
3436         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3437         -Xt.
3438         (install_data, uninstall_sub): New targets to handle GXditview.ad.
3440         * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3441         `$(srcdir)/eign', not `eign'.
3443         * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3445         * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3446         src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3447         Protect (g)xditview with `\%' to avoid hyphenation.
3448         Other minor formatting.
3450 2004-06-01  Werner LEMBERG  <wl@gnu.org>
3452         Integrate gxditview into groff's standard directory hierarchy.
3454         * src/xditview/*: Moved to ...
3455         * src/devices/xditview/*: Here.
3456         Moved DviChar.h and XFontName.h to src/include.
3457         Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3458         Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3459         Moved xtotroff.c to new directory src/utils/xtotroff.
3460         Provide proper Makefile.sub files (reusing the stuff from
3461         Imakefile.in).
3462         DESC renamed to DESC.in.
3463         Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3464         Converted everything from K&R to ANSI C.
3465         Decorated with const where appropriate.
3466         Cast string constants with `String' and `char *' where appropriate.
3467         Made it compile with C++ (used as a C compiler).
3468         Removed other minor compiler warnings.
3470         * src/devices/xditview/device.c: Include config.h, string.h, and
3471         defs.h.
3472         Don't declare `exit', `strtok', `strchr', and `getenv'.
3473         (FONTPATH): Remove.
3475         * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3476         `XFormatFontName'.
3478         * src/devices/xditview/xditview.c: Include config.h.
3479         Include stdio.h earlier.
3480         Protect declaration of `popen' and `pclose' with
3481         NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3482         Replace `caddr_t' with `XtPointer'.
3483         (MakePromptFunc): New typedef.
3484         (DoPrint): Use RETSIGTYPE.
3485         (promptfunction): Change type to MakePromptFunc.
3486         (MakePrompt): Use MakePromptFunc for third argument.
3487         (xmalloc): Removed.
3489         * src/devices/xditview/ad2c: Add casts to `String'.
3491         * src/include/XFontName.h (XFontNameString): Don't use array
3492         notation.
3493         Add prototypes for `XParseFontName', `XFormatFontName',
3494         `XCompareFontName', and `XCopyFontName'.
3496         * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3497         `XFontName.h'.
3499         * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3500         Don't declare `XParseFontName' and `XFormatFontName'.
3501         (xmalloc): Removed.
3502         (main): Remove `optind' and `optarg'.
3504         * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3505         (to select programs which need X).
3506         Make XDEVIDIRS depend on `FORCE'.
3507         (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3508         X support).
3509         (MDEFINES): Updated.
3510         (LIBDIRS): Use XLIBDIRS.
3511         (CPROGDIRS): Use XPROGDIRS.
3512         (DEVDIRS): Remove font directories for gxditview.
3513         (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3514         (EXTRADIRS): Remove src/xditview.
3516         * Makefile.sub (DISCLEANFILES): Updated.
3518         * Makefile.comm (LIBXUTIL): New variable.
3519         (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3520         (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3522         * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3524         * aclocal.m4 (GROFF_X11): New function.
3526         * configure.ac: Call GROFF_X11.
3527         Don't create src/xditview/Imakefile.
3528         Don't emit notice how to build gxditview.
3530         * configure: Regenerated.
3532         * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3534 2004-05-28  Akihiro Sagawa  <sagawa@sohgoh.net>
3536         * Makefile.in (CPPFLAGS): Define.
3537         (MDEFINES): Add CPPFLAGS.
3539 2004-05-27  Werner LEMBERG  <wl@gnu.org>
3541         * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3543 2004-05-26  Niklas Edmundsson  <nikke@acc.umu.se>
3545         Fix problems with `friend name injections'.
3547         * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3548         make_script_box), src/roff/troff/div.h (end_diversions),
3549         src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3550         change 2004-04-08.
3552 2004-05-25  Bernd Warken  <bwarken@mayn.de>
3554         * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3556 2004-05-25  Werner LEMBERG  <wl@gnu.org>
3558         * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3559         src/libs/libgroff/color.cpp: Include lib.h.
3561 2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
3563         * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3564         through Forte 6u1, and for how to get GNU make on Solaris.
3566 2004-05-24  Werner LEMBERG  <wl@gnu.org>
3568         * PROBLEMS: Document problems with gcc 3.4.0 on Sun.  Reported
3569         by Paul Eggert.
3571 2004-05-15  Keith Marshall  <keith.d.marshall@ntlworld.com>
3573         * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3574         rule.
3576 2004-05-14  Werner LEMBERG  <wl@gnu.org>
3578         * REVISION: Set to 2.
3580         * aclocal.m4 (GROFF_STDINT_H): Removed.
3581         (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3583         * configure.ac: Updated.
3584         * configure, src/include/config.hin: Regenerated.
3586         * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3587         inttypes.h conditionally.
3589 2004-05-13  Werner LEMBERG  <wl@gnu.org>
3591 Version 1.19.1 released
3592 =======================
3594 2004-05-10  Stephen Gildea  <http://www.gildea.com/stephen>
3596         * src/preproc/refer/label.y (same_author_last_name,
3597         same_author_name): Handle empty sort keys.
3599 2004-05-10  Werner LEMBERG  <wl@gnu.org>
3601         * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3602         tmac/TODO: Updated.
3604         * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3605         doc-str-Lb-librt): Reset font.
3606         (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3607         Provide `doc-str-Lb' to reset font.
3608         * tmac/groff_mdoc.man: Updated.
3610 2004-05-08  Jan Schaumann  <jschauma@netmeister.org>
3612         * src/preproc/html/pre-html.cpp (make_message): Make it work for
3613         snprintf versions which don't conform to ANSI C 99 (this is,
3614         counting the string's trailing null byte in the return value).
3616 2004-05-07  Keith Marshall  <keith.d.marshall@ntlworld.com>
3618         * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3619         that all implementations of sprintf handle null pointers correctly.
3621 2004-05-04  Werner LEMBERG  <wl@gnu.org>
3623         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3624         Document `.U' register.
3626         * src/roff/troff/env.cpp (environment::mark_last_line)
3627         [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3629 2004-05-04  Larry Kollar  <kollar@alltel.net>
3631         New read-only register `.U'; it returns 1 in safer mode and 0
3632         otherwise.
3634         * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3635         register.
3637 2004-05-03  Werner LEMBERG  <wl@gnu.org>
3639         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3641 2004-04-17  Werner LEMBERG  <wl@gnu.org>
3643         * src/include/font.h (font): Use `int' for ch_index.
3644         * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3645         font::compact): Updated.
3647         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3648         warnings.
3650         * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3651         (hyphen_word): Fix compiler warnings.
3652         * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3653         `char'.
3654         Update all callers.
3655         (get_delim_number, get_line_arg): Change second argument type to
3656         `unsigned char'.
3657         (macro_header::copy, token::next, do_define_string,
3658         do_define_character, substring_request, asciify_macro,
3659         unformat_macro, read_size, non_interpreted_node::interpret,
3660         while_request, main: Fix compiler warnings.
3661         (read_color_draw_node): Initialize `col'.
3663         * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3664         `start_col' and `end_col' of type `int'.
3665         (vertical_rule): Make `col' of type `int'.
3667         * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3668         for EOF.
3670         * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3671         New arrays.
3672         (format_serial): Use them to remove dependency on ASCII.
3674         * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3675         compiler warning.
3676         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3677         Ditto.
3679         * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3680         compiler warnings.
3681         (glyph): Change type of `hpos' to `int'.
3683         * src/devices/lbp/lbp.cpp (strsep): Removed.  Unused.
3684         * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3686         * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3688         * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3690 2004-04-16  Werner LEMBERG  <wl@gnu.org>
3692         * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3693         src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3694         src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3695         `double' instead of `float' everywhere.
3696         * src/preproc/grn/main.cpp: Use `double' instead of `float'
3697         everywhere.
3698         (main): Add return value.
3699         * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3700         everywhere.
3701         Update all user functions.
3703         * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3704         src/preproc/eqn/box.h, src/preproc/pic/object.h,
3705         src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3706         src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3707         src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3708         src/roff/troff/input.cpp, src/roff/troff/request.h,
3709         src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3710         declarations.
3712         * src/utils/indxbib/signal.c: Include stdlib.h.
3714 2004-04-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
3716         * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3717         before the first page.
3719 2004-04-14  Thomas Klausner  <wiz@netbsd.org>
3721         * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3722         (doc-operating-system-*): Updated.
3723         * tmac/doc-syms (doc-str-St-*): Various small fixes.
3724         (doc-str-Lb-*): Add more library names.
3726 2004-04-10  Art Haas  <ahaas@airmail.net>
3728         * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3729         use anonymous type.
3731 2004-04-09  Art Haas  <ahaas@airmail.net>
3733         * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3735 2004-04-09  Keith Marshall  <keith.d.marshall@ntlworld.com>
3737         * arch/misc/shdeps.sh: Generate better comment for sed script.
3739 2004-04-08  Art Haas  <ahaas@airmail.net>
3741         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3742         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3743         src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3744         src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3745         (polyfill), src/preproc/grn/main.cpp (polyfill),
3746         src/preproc/refer/command.cpp (command_table),
3747         src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3748         gcc 3.5 doesn't like).
3750 2004-04-08  Werner LEMBERG  <wl@gnu.org>
3752         Removing many compiler warnings.  groff should now compile with
3753         a C++ compiler used for C files also.  [Simple variable renamings
3754         to avoid shadowing aren't logged in detail.]
3756         * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3757         (draw_dvi_printer::draw) ['c']: Enclose in block.
3759         * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3760         (page::add_line): Fix typos.
3761         * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3763         * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3764         Some local variable renamings.
3765         * src/devices/grolbp/lbp.h: Some local variable renamings.
3767         * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3768         variable renamings.
3770         * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3771         Remove redundant local variable declaration.
3772         * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3773         Don't use `caddr_t' but `void *'.
3774         Enclose functions with `extern "C"' for C++.
3776         * src/libs/libdriver/input.cpp (remember_filename,
3777         remember_source_filename): Use cast for string constant.
3779         * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3780         src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3781         src/libs/libgroff/geometry.cpp: Some local variable renamings.
3782         * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3783         style.
3784         Enclose functions with `extern "C"' for C++.
3785         * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3786         (needs_quoting): Return `int'.
3787         (quote_arg): Add proper casts to malloc and realloc.
3788         * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3789         various MS Windows environments.
3790         (spawnvp_wrapper): Add proper cast to malloc.
3792         * src/preproc/eqn/box.h: Remove redundant declarations of
3793         `make_script_box', `make_mark_box' and `make_lineup_box'.
3794         * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3795         * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3796         variable renamings.
3798         * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3799         * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3800         (dx, dy): Renamed functions to...
3801         (deltax, deltay): This.
3802         * src/preproc/grn/main.cpp: Some local variable renamings.
3803         (deffont): Add `const'.
3804         (initpic, conv): Use cast for string constant.
3806         * src/preproc/html/pre-html.cpp: Some local variable renamings.
3807         (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3808         (char_buffer::run_output_filter): Second argument is unused.
3809         * src/preproc/html/pushback.cpp: Some local variable renamings.
3811         * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3812         * src/preproc/pic/object.cpp: Some local variable renamings.
3814         * src/preproc/refer/label.y (lookup_label): Remove redundant
3815         declaration of local variable.
3817         * src/preproc/soelim.cpp: Remove redundant declaration of
3818         `interpret_lf_args'.
3820         * src/preproc/tbl/main.cpp: Some local variable renamings.
3822         * src/roff/groff/groff.cpp (main): Use cast for string constant.
3823         * src/roff/groff/pipeline.c: Enclose declarations of `error',
3824         `c_fatal', and `i_to_a' with `extern "C"' for C++.
3825         Don't use C++-style comments.
3827         * src/roff/troff/env.h: Remove redundant declaration of `title'.
3828         * src/roff/troff/node.h, src/roff/troff/env.cpp,
3829         src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3830         renamings.
3831         * src/roff/troff/div.h: Remove redundant declaration of
3832         `end_diversions'.
3833         * src/roff/troff/troff.h: Remove redundant declaration of
3834         `cleanup_and_exit'
3835         * src/roff/troff/input.cpp: Remove redundant declaration of
3836         `handle_first_page_transition' and `process_input_stack'.
3838         * src/utils/hpftodit.cpp: Some local variable renamings.
3840         * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3841         for C++.
3842         Don't define RETSIGTYPE.
3843         * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3845         * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3846         (error): Use `const' in argument.
3847         (main): Remove redundant declaration of `optind'.
3848         Move declaration of `Version_string' to top-level.
3850         * PROBLEMS: Document difficulties compiling signal.c if a C++
3851         compiler is used for C.
3853 2004-04-07  Werner LEMBERG  <wl@gnu.org>
3855         * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3857 2004-04-06  Keith Marshall  <keith.d.marshall@ntlworld.com>
3859         Make scripts like nroff.sh and neqn.sh portable across various
3860         (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3861         non-POSIX path separators.  The idea is to extend those scripts to
3862         decide at run-time (of the script) which path separator to use.
3864         * arch/misc/Makefile.sub: New file.
3865         * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3866         This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3867         a proper definition of the variable `GROFF_RUNTIME'.
3869         * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3870         (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3871         (PROGDEPDIRS): New variable.
3872         `FORCE' it.
3873         (PROGDIRS): Add PROGDEPDIRS.
3875         * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3876         Don't substitute @SEP@ and @BINDIR@.
3877         * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3878         (PATH): Use GROFF_RUNTIME.
3880         * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3881         Don't substitute @SEP@ and @BINDIR@.
3882         * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3883         (PATH): Use GROFF_RUNTIME.
3885 2004-04-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3887         * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3888         Cygwin which doesn't handle stderr correctly.
3890 2004-03-08  Werner LEMBERG  <wl@gnu.org>
3892         * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3893         against empty argument.  Problem reported by <cgd@broadcom.com>.
3895 2004-03-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3897         * Makefile.in (SEP): Replaced with...
3898         (RT_SEP, SH_SEP): Separators for the target platform's native path
3899         separator and the build environment, respectively.
3900         (fontpath, tmacpath): Use RT_SEP.
3901         (MDEFINES): Updated.
3903         * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3904         * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3905         * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3906         * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3908 2004-03-05  Werner LEMBERG  <wl@gnu.org>
3910         * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200.  This helps to
3911         reduce alignment problems with newer printers which use built-in
3912         TrueType fonts (instead of the older Intellifonts).  The ideal
3913         solution is to provide a second set of groff metric files, but this
3914         is extremely time-consuming to produce, given that HP's metric
3915         files are very rudimentary.
3917 2004-03-01  Werner LEMBERG  <wl@gnu.org>
3919         * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3920         s/operand/argument/ in error message.
3922 2004-03-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
3924         * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3925         is in use.
3927 2004-03-01  Antti Kantee  <pooka@netbsd.org>
3929         * tmac/s.tmac (XE): Fix error message.
3931 2004-02-27  Jeff Conrad  <jeff_conrad@msn.com>
3933         * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3934         New macros.
3936         * src/roff/groff/pipeline.c: Declare strcasecmp.
3937         (run_pipeline) [_WIN32]: Use function name variants which don't
3938         start with `_'.
3939         Fix stream handling.
3941 2004-02-27  Keith Marshall  <keith.d.marshall@ntlworld.com>
3943         * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3944         Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3945         for platforms which use the native Win32 runtime libraries.
3946         (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3948         * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3949         QUOTE_ARG_REALLOC_ERROR): Fix string.
3951         * src/preproc/html/pre-html.cpp: Remove declaration of
3952         `spawnvp_wrapper'.
3953         Don't use __MINGW32__.
3954         s/DEBUG_FILE/DEBUG_FILE_DIR/.
3955         (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3956         (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3957         (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3958         calls to `set_redirection' and `WAIT'.
3959         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3960         Fix calls to `set_redirection' and `save_and_redirect'.
3961         (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3962         to `set_redirection' and `save_and_redirect'.
3963         (usage): Fix message.
3964         (makeTempFiles, main): Use `DEBUG_FILE'.
3966 2004-02-21  Werner LEMBERG  <wl@gnu.org>
3968         * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3970 2004-02-21  Keith Marshall  <keith.d.marshall@ntlworld.com>
3972         * src/libs/libgroff/quotearg.c: New file, providing proper argument
3973         quoting for MSVC's spawn* and exec* functions.
3974         * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3975         spawnvp with proper quoting for MSVC.
3977         * src/libs/libgroff/assert.cpp (program_name),
3978         src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3979         * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3981         * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3983         * src/include/error.h (program_name): Declare as `extern "C"'.
3984         * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3986 2004-02-21  Jeff Conrad  <jeff_conrad@msn.com>
3988         * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3989         spawnvp_wrapper.
3990         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3992 2004-02-20  Jeff Conrad  <jeff_conrad@msn.com>
3994         * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3995         variable.
3996         (sbasename) [__MSDOS__ || ...]: New function.
3997         (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3998         generic algorithm.
3999         (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
4000         (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
4001         of XXX.
4002         Use STDOUT_FILENO instead of hardcoded file handle.
4003         (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
4005 2004-02-19  Werner LEMBERG  <wl@gnu.org>
4007         * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
4008         avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
4010 2004-02-18  Werner LEMBERG  <wl@gnu.org>
4012         * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
4013         new font and mapping files.
4015 2004-02-18  Jeff Conrad  <jeff_conrad@msn.com>
4016             Keith Marshall  <keith.d.marshall@ntlworld.com>
4018         * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
4019         an input pipe.  This is needed for the MSVC compiler to make troff's
4020         `-o' option work.
4022         * src/roff/troff/div.cpp: Include nonposix.h.
4023         (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
4025 2004-02-17  Werner LEMBERG  <wl@gnu.org>
4027         * font/devlj4/generate/special.awk: New script.
4028         * font/devlj4/generate/Makefile (S): Use special.awk.
4029         * font/devlj4/*: Regenerated, including the following new files:
4030         Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
4031         MS Symbol (SYMBOL), Wingdings (WINGDINGS).
4032         * NEWS: Document new lj4 fonts and revised hpftodit.
4034 2004-02-17  Paco Andrés Verdú  <pandres@dragonet.es>
4036         * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
4038 2004-01-25  Werner LEMBERG  <wl@gnu.org>
4040         * src/libs/libgroff/progname.cpp: Replaced with...
4041         * src/libs/libgroff/progname.c: New file.
4042         * src/libs/libgroff/Makefile.sub: Updated accordingly.
4044 2004-01-17  Werner LEMBERG  <wl@gnu.org>
4046         * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
4048 2004-01-16  Jeff Conrad  <jeff_conrad@msn.com>
4050         * font/devlj4/generate/wingdings.map,
4051         font/devlj4/generate/symbol.map: Include unnamed glyphs.
4052         Use groff glyph names where possible.
4053         * src/devices/grolj4/lj4_font.man: Minor updates.
4055 2004-01-13  Werner LEMBERG  <wl@gnu.org>
4057         * tmac/www.tmac (DC): Handle TTY devices.
4059         * doc/webpage.ms: Document viewCVS from ffii.org.
4060         * NEWS, README: Updated.
4062         * src/roff/groff/groff.man: Mention lj4_font man page.
4064         * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4065         variables.
4066         (FONTS): Add SYMBOL and WINGDINGS.
4067         (SYMBOL, WINGDINGS): New targets.
4069 2004-01-13  Jeff Conrad  <jeff_conrad@msn.com>
4071         * src/devices/grolj4/lj4_font.man: New man page.
4072         * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4073         * src/devices/grolj4.man: Mention lj4_font man page.
4075         * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4076         * src/utils/hpftodit/hpftodit.man: Document it.
4077         (CW): New macro.
4078         Remove details about fonts (which are now in lj4_font.man).
4080         * font/devlj4/generate/symbol.map,
4081         font/devlj4/generate/wingdings.map: New files.
4083 2004-01-12  Werner LEMBERG  <wl@gnu.org>
4085         * README: Mention ffii's viewcvs access.
4087 2004-01-09  Werner LEMBERG  <wl@gnu.org>
4089         * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4091 2004-01-09  Jeff Conrad  <jeff_conrad@msn.com>
4093         Revert most of the change from 2004-01-03 to better control used
4094         symbol sets.
4096         * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4097         (text_symbol_sets, special_symbol_sets): New arrays.
4098         (symbol_set_table): New global variable.
4099         (read_symbol_sets): Use search order given in the text_symbol_sets
4100         and special_symbol_sets arrays.  If command line flag -a is not
4101         given, search both arrays.
4102         (output_charset): Require x_height_tag only for command line flag -i.
4104 2004-01-06  Werner LEMBERG  <wl@gnu.org>
4106         Implement string-valued registers \n[.m] and \n[.M] to return the
4107         name of the current drawing and background color, respectively.
4109         * src/roff/troff/symbol.h: Moved to...
4110         * src/include/symbol.h: Here.
4111         Small fixes to make it work outside of the `troff' directory.
4112         * src/roff/troff/symbol.cpp: Moved to...
4113         * src/libs/libgroff/symbol.cpp: Here.
4114         Small fixes to make it work outside of the `troff' directory.
4116         * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4117         (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4118         Updated.
4120         * src/include/color.h: Include symbol.h.
4121         (color): Add new field `nm'.
4122         * src/libs/libgroff/color.cpp (color::color): Updated.
4124         * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4125         src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4126         src/roff/troff/reg.cpp: Don't include symbol.h.
4128         * src/roff/troff/env.cpp: Don't include symbol.h.
4129         (environment::get_glyph_color_string,
4130         environment_get_fill_color_string): New member functions.
4131         (init_env_requests): Handle `.m' and `.M' registers.
4132         * src/roff/troff/input.cpp: Don't include symbol.h.
4133         (default_symbol): Moved to symbol.cpp/symbol.h.
4134         (do_glyph_color, do_fill_color, define_color): Pass symbol name
4135         to color constructor.
4136         * src/roff/troff/env.h: Updated.
4138         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4139         Document new registers.
4141 2004-01-05  Werner LEMBERG  <wl@gnu.org>
4143         * src/roff/troff/node.cpp (space_node::get_breakpoints,
4144         space_node::nbreaks): Protect against zero `next' field.
4146 2004-01-03  Jeff Conrad  <jeff_conrad@msn.com>
4148         In hpftodit, use the symbol sets offered in the TFM.
4150         * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4151         (symbol_set, text_symbol_sets, special_symbol_sets,
4152         symbol_set_table): Removed.
4153         (get_printcode): Removed.
4154         (read_symbol_sets): Initialize `symbol_set' field with
4155         `NO_SYMBOL_SET'.
4156         Simplify code to just use the `kind' value.
4157         (output_charset): Improve output formatting.
4158         (dump_symbols): Simplified.
4160 2004-01-02  Werner LEMBERG  <wl@gnu.org>
4162         * font/devlj4/generate/text.map: Add more MSL numbers.
4164 2004-01-02  Jeff Conrad  <jeff_conrad@msn.com>
4166         * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4167         (text_symbol_sets): Add more symbol sets.
4168         (debug_flag): New static variable (moved from `main').
4169         (get_printcode, show_symset): New functions.
4170         (main): Remove `debug_flag'.
4171         (output_charset): Use `show_symset'.
4172         (dump_symbols):  Use `show_symset'.
4173         Print symsets for all glyphs.
4174         (read_map): Actually call `unicode_to_ucode_make' but this time
4175         correctly.
4177 2004-01-01  Werner LEMBERG  <wl@gnu.org>
4179         * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4180         Fix placement of comments.
4182 2004-01-01  Jeff Conrad  <jeff_conrad@msn.com>
4184         * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4185         option `-d' is given.
4186         (output_charset): Improve warning messages to give more information.
4187         (dump_symbols): Make information more precise.
4188         (usage): Updated.
4189         (read_map): Don't call unicode_to_ucode_name; the glyph names must
4190         appear as-is and shouldn't be decomposed.
4192 2003-12-31  Werner LEMBERG  <wl@gnu.org>
4194         * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4195         * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4196         (FONTS): Add TrueType font families Arial and Times New Roman.
4197         (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4198         * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4199         `fl'.
4201 2003-12-31  Jeff Conrad  <jeff_conrad@msn.com>
4203         * test-groff.in (SEP): Quote value.
4204         * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4205         `tem' to `char*' to avoid deallocation of a pointer to a constant
4206         object which some compilers don't like.
4208 2003-12-31  Werner LEMBERG  <wl@gnu.org>
4210         * font/devlj4/generate (text.map, special.map): Rewritten to work
4211         with the new hpftodit version.
4213 2003-12-30  Jeff Conrad  <jeff_conrad@msn.com>
4215         * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4216         set and 8bit character code for all glyphs also.
4218 2003-12-30  Werner LEMBERG  <wl@gnu.org>
4220         * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4222 2003-12-29  Werner LEMBERG  <wl@gnu.org>
4224         More fixes for MSVC compiler.
4226         * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4227         $(SEP).
4229         * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4230         STDERR_FILENO) [_MSC_VER]: Define conditionally.
4231         (getpid) [_MSC_VER]: Remove.
4232         Include direct.h and process.h conditionally.
4234         * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4235         parentheses for a_delete.
4237         * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4239         * test-groff: Replaced with...
4240         * test-groff.in: This new template to handle path separator
4241         properly.
4243         * configure.ac: Check for direct.h and process.h.
4244         Generate test-groff script.
4245         * configure, src/include/config.hin: Regenerated.
4247 2003-12-28  Werner LEMBERG  <wl@gnu.org>
4249         Add integral extension glyph.
4250         Add new option `-x' to afmtodit to suppress use of built-in AGL.
4252         * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4254         * font/devps/generate/textmap: Provide entry for `integralex' to
4255         override (old) PUA value of the AGL.
4256         * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4257         * font/devps/*: Regenerated.
4259         * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4260         * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4262 2003-12-27  Werner LEMBERG  <wl@gnu.org>
4264         Add forgotten `coproduct' symbol (already available for DVI).
4266         * font/devhtml/R.proto, font/devps/generate/textmap,
4267         font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4268         src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4269         U+2210 (\[coproduct]).
4271 2003-12-26  Jeff Conrad  <jeff_conrad@msn.com>
4273         hpftodit has been extended to handle TrueType metric files and
4274         more glyphs.  See hpftodit.man for more details.
4276         * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4277         ctype.h, and unicode.h.
4278         s/msl/charcode/ everywhere since we now handle Unicode values also.
4279         (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4280         Use it where appropriate.
4281         (MULTIPLIER): Replaced with...
4282         (multiplier): New global static variable.
4283         (scale): Updated.
4284         (tag_type): Add more TFM tags.
4285         (tag_name): New array.
4286         (ENUM_TYPE, FLOAT_TYPE): Removed.
4287         (BYTE_TYPE): New value assigned.
4288         (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4289         (text_symbol_sets, special_symbol_sets): Extended to cover more
4290         sets.
4291         (check_type): Add return value.
4292         (check_units): Add parameters to get ppi and upem values.
4293         Handle TrueType TFM data.
4294         (output_font_name): New function.
4295         (output_charset): Add parameter to handle TFM type.
4296         Handle TrueType TFMs also.
4297         (em_fract): New macro.
4298         (dump_tags): Be much more verbose and handle more tags.
4299         (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4300         (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4301         functions.
4302         (read_map): Add parameter to handle TFM type.
4303         Handle both MSL and Unicode mappings.
4304         (main): Add two new command line options `-a' and `-q'.
4305         Updated to make use of new functions.
4306         (usage): Updated.
4308         * src/utils/hpftodit/hpuni.cpp: New file.
4310         * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4311         Updated.
4313 2003-12-25  Werner LEMBERG  <wl@gnu.org>
4315         * src/include/nonposix.h (read) [_MSC_VER]: Define.
4317 2003-12-24  Werner LEMBERG  <wl@gnu.org>
4319         * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4320         by Michail Vidiassov <master@iaas.msu.ru>.
4322 2003-12-20  Werner LEMBERG  <wl@gnu.org>
4324         * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4325         and u0049_0307.
4326         Add missing latin-2 glyphs.
4327         * font/devutf8/R.proto: Add missing latin-2 glyphs.
4329         * tmac/troffrc: Load `composite.tmac' earlier.
4331         * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4332         u00{53,73}_0327, and u0049_0307.
4333         * tmac/X.tmac: Add u00{47,67}_0306.
4334         * tmac/tty-char.tmac: Use composite glyph names for readability.
4336         * NEWS: Updated.
4338         * src/include/unicode.h: Remove `extern' keywords.
4340 2003-12-20  Nilgün Belma Bugüner  <nilgun@superonline.com>
4342         * tmac/latin5.tmac: New file.
4344 2003-12-19  Werner LEMBERG  <wl@gnu.org>
4346         Add some glyphs needed for Turkish.
4348         * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4349         and u0049_0307.
4351         * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4352         * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4353         u00{53,73}_0327, and u0049_0307.
4355 2003-12-18  Werner LEMBERG  <wl@gnu.org>
4357         * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4358         from 2001-10-04.
4359         Remove trailing zeros.
4361 2003-12-17  Werner LEMBERG  <wl@gnu.org>
4363         Make \? transparent to end-of-sentence recognition.
4365         * src/roff/troff/input.cc (non_interpreted_node): Add
4366         `ends_sentence' member function.
4368 2003-12-16  Werner LEMBERG  <wl@gnu.org>
4370         * doc/groff.texinfo: Document `dt' request correctly.
4371         Other minor typographical improvements.
4373 2003-12-10  Michail Vidiassov  <master@iaas.msu.ru>
4375         * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4377 2003-12-10  Richard Stallman  <rms@gnu.org>
4379         * LICENSE: Better wording.
4381 2003-12-09  Werner LEMBERG  <wl@gnu.org>
4383         * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4384         * configure, NEWS: Updated.
4386 2003-12-08  Werner LEMBERG  <wl@gnu.org>
4388         * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4390 2003-12-07  Bernd Warken  <bwarken@mayn.de>
4392         * LICENSE: Updated.
4394 2003-12-07  Werner LEMBERG  <wl@gnu.org>
4396         * INSTALL: Improved.
4398 2003-12-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
4400         Use path separator character of target platform for compiled-in
4401         default paths.
4403         * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4404         * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4405         * configure: Regenerated.
4406         * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4408 2003-12-05  Werner LEMBERG  <wl@gnu.org>
4410         * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4411         Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4413 2003-12-04  Bernd Warken  <bwarken@mayn.de>
4415         * LICENSE: New file.
4417 2003-12-03  Werner LEMBERG  <wl@gnu.org>
4419         * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4420         ligatures present in AFM files since groff currently only
4421         understands some standard ligatures and nothing else.
4423 2003-12-03  Jeff Conrad  <jeff_conrad@msn.com>
4425         * src/roff/groff/groff.cpp (main): Don't run the spooler if
4426         option -v is given.
4428         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4429         messages.
4430         Close stdout copy.
4431         Don't use Unix wait flags.
4433 2003-12-02  Werner LEMBERG  <wl@gnu.org>
4435         * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4436         src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4437         src/roff/troff/uniuni.cpp: Moved to...
4438         * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4439         src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4440         src/libs/libgroff/uniuni.cpp: Here.
4442         * src/include/Makefile.sub.old (HDRS),
4443         src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4444         src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4446 2003-12-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
4448         * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4449         `DEBUG_FILE'.
4450         Updated all users.
4452 2003-12-01  Werner LEMBERG  <wl@gnu.org>
4454         * groff.texinfo: Document special behaviour of `.vs 0'.
4455         Improve documentation of `cflags' request.
4456         * NEWS: Updated.
4458 2003-11-29  Werner LEMBERG  <wl@gnu.org>
4460         * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4461         * font/devlj4/CORONET: Regenerated.
4463 2003-11-24  Werner LEMBERG  <wl@gnu.org>
4465         * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4466         if processing hyphenation patterns in traditional mode.
4467         Improve error messages.
4469 2003-11-20  Werner LEMBERG  <wl@gnu.org>
4471         * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4472         troff_output_file::put_char): Fix type of local variable `c'.
4474 2003-11-19  Werner LEMBERG  <wl@gnu.org>
4476         * src/roff/groff/pipeline.c (P): Removed.  Updated all function
4477         declarations.
4478         (i_to_a): Removed.  libgroff already provides this function.
4479         (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4481 2003-11-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
4483         * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4484         HAVE_DECL_SYS_LIST.
4486 2003-11-17  Werner LEMBERG  <wl@gnu.org>
4488         * COPYING: Use correct version.
4490 2003-11-11  Werner LEMBERG  <wl@gnu.org>
4492         LynxOS 4.0.0 doesn't declare vfprintf.
4494         * configure.ac: Check for vfprintf.
4495         * configure: Regenerated.
4496         * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4497         * src/include/config.hin: Regenerated.
4499 2003-11-10  Werner LEMBERG  <wl@gnu.org>
4501         LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4503         * configure.ac: Check for vsnprintf.
4504         * configure: Regenerated.
4505         * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4506         `HAVE_VSNPRINTF'.
4507         * src/include/config.hin: Regenerated.
4509 2003-11-09  Werner LEMBERG  <wl@gnu.org>
4511         * aclocal.m4: Updated syntax to autoconf 2.59.
4512         (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4513         Don't check for gsos2.
4514         (GROFF_SRCDIR, GROFF_BUILDDIR): Removed.  autoconf 2.59 provides
4515         working abs_top_srcdir and abs_top_builddir.
4517         * configure.ac: Updated syntax to autoconf 2.59.
4518         Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4519         Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4520         * configure: Regenerated.
4522         * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4523         s/@groff_top_builddir@/@abs_top_builddir@/.
4525         * src/roff/groff/pipeline.c (xstrsignal):
4526         s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4528 2003-11-07  Werner LEMBERG  <wl@gnu.org>
4530         * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4531         make start angle smaller than end angle to circumvent a bug in tpic
4532         handling of some versions of dvipdfm (and dvipdfmx).
4534 2003-10-30  Werner LEMBERG  <wl@gnu.org>
4536         * src/devices/grops/grops.man: Improve section on creating EPS.
4538 2003-10-29  Werner LEMBERG  <wl@gnu.org>
4540         * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4541         -P-pletter).
4543 2003-10-28  Werner LEMBERG  <wl@gnu.org>
4545         * doc/groff.texinfo: Fix documentation of `.if'.
4547 2003-10-27  Michail Vidiassov  <master@iaas.msu.ru>
4549         * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4550         the form `uniXXXX' also.
4552 2003-10-27  Werner LEMBERG  <wl@gnu.org>
4554         * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4555         contrib/pic2graph/pic2graph.sh: Implement secure management of
4556         temporary files.
4557         Pass `-P-pletter' to groff to avoid data outside of the converted
4558         area -- some versions of `convert' (for example 5.3.8) don't check
4559         the bounding box of the image but always use a fixed image size
4560         (letter paper format).
4561         * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4562         contrib/pic2graph/pic2graph.man: Updated.
4564         * src/roff/groff/groff.man: Document $TMP and $TEMP.
4566 2003-10-26  Werner LEMBERG  <wl@gnu.org>
4568         * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4569         troff_output::simple_ellipse, troff_output::simple_arc,
4570         troff_output::simple_line, troff_output::simple_spline,
4571         troff_output::simple_polygon): Insert a space before arguments.
4572         (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4573         latter doesn't produce a node, so the following `.sp -1' would do
4574         the wrong thing.
4575         Don't emit `.sp -1' after \M.  This also doesn't produce a token
4576         (and we don't have to care about compatibility mode).
4577         (troff_output::set_color, troff_output::reset_color): Don't emit
4578         `.sp -1' after \M and \m.
4580         * src/roff/troff/input.cpp (old_have_input): New global variable.
4581         (input_stack::get): Handle `old_have_input'.
4582         (process_input_stack) <token::TOKEN_NEWLINE>: Call
4583         `trapping_blank_line' depending on `old_have_input', not
4584         `have_input'.
4586 2003-10-20  Keith Marshall  <keith.d.marshall@ntlworld.com>
4588         * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4589         (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4590         default directory names for temporary files.
4591         [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4593         * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4594         [__MSDOS__] (run_pipeline): Honour environment variables.
4595         Don't use `tmpnam' but `tempnam' to work around messy
4596         implementation.
4598         * README.MinGW: New file.
4600 2003-10-16  Werner LEMBERG  <wl@gnu.org>
4602         * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4603         `(*t)->next' without testing validity of `*t'.
4604         (usage): Make it more readable.
4606 2003-10-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
4608         Make html device run under both MS-DOS and Win32.
4610         * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4611         MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4612         spawn or fork+exec has to be used, and whether parent must sleep
4613         until the child process terminates.  Used in
4614         `char_buffer::run_output_filter'.
4615         (copyofstdoutfd): Removed.
4616         (char_buffer): Replace `write_file_html' and `write_file_troff'
4617         member functions with `emit_troff_output' and `run_output_filter'.
4618         (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4619         macros.
4620         (replaceFd): Replaced with...
4621         (set_redirection): New auxiliary function.
4622         (waitForChild): Replaced with...
4623         (save_and_redirect): New auxiliary function for.
4625         (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4626         functions.
4628 2003-10-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
4630         * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4631         (GROFF_LIBC): New function.
4632         * configure.ac: Call GROFF_LIBC.
4633         Check for `kill'.
4634         * configure: Regenerated.
4636         * src/include/lib.h: Handle __MINGW32__.
4637         * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4638         Add macro for `pipe'.
4639         Define P_tmpdir.
4641         * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4642         correctly.
4644         * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4645         Implement.
4647 2003-10-13  Werner LEMBERG  <wl@gnu.org>
4649         Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4650         <chuq@chuq.com>.
4652         * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4653         directory.
4655 2003-10-12  Werner LEMBERG  <wl@gnu.org>
4657         * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4658         src/roff/troff/input.cc (usage): Updated.
4660         * NEWS, doc/groff.texinfo: Updated.
4662 2003-10-12  Peter Miller  <millerp@canb.auug.org.au>
4664         * src/libs/libgroff/searchpath.cpp
4665         (search_path::open_file_cautious): New function which also handles
4666         `-' as stdin and stdout depending on the access mode.
4667         * src/include/searchpath.h (search_path): Updated.
4669         * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4670         * src/devices/grops/ps.h: Include `searchpath.h'.
4671         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4672         Open resource file with `include_search_path.open_file_cautious'.
4673         * src/devices/grops/grops.man: Document new `-I' switch.
4675         * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4676         (main), src/devices/grolj4/lj4.cpp (main),
4677         src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4679         * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4680         Replaced with...
4681         (include_search_path): New global variable.
4682         (include_path_append): Removed.
4683         (main): Use `include_search_path.command_line_dir' to handle `-I'.
4684         (do_file): Simplify, using new
4685         `include_search_path.open_file_cautious'.
4687         * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4688         parameter.
4689         (main): Pass arguments to `-I' to both troff and devices.
4690         Improve handling of `-V'.
4691         * src/roff/groff/groff.man: Document changes to -I and -V.
4693         * src/roff/troff/input.cpp (include_search_path): New global
4694         variable.
4695         (next_file, source, ps_bbox_request, transparent_file,
4696         process_input_file): Use new
4697         `include_search_path.open_file_cautious'.
4698         (main) Handle `-I' switch.
4699         * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4700         Use new `include_search_path.open_file_cautious'.
4701         * src/roff/troff/node.h: New extern symbol `include_search_path'.
4702         * src/roff/troff/troff.man: Document new `-I' switch.
4704 2003-09-15  Ruslan Ermilov  <ru@FreeBSD.org>
4706         Support multiple calls of .Lb in LIBRARY section.
4708         * tmac/doc-common (doc-in-library-section): New register.
4709         (doc-section-library): New string.
4710         (Sh): Set `doc-in-library-section'.
4711         (Rd): Updated.
4712         * tmac/doc-syms (Lb): Insert breaks before and after arguments
4713         if in LIBRARY section.
4714         * tmac/doc.tmac (doc-save-global-vars): Updated.
4715         * NEWS, tmac/groff_mdoc.man: Updated.
4717 2003-09-14  Ruslan Ermilov  <ru@FreeBSD.org>
4719         * tmac/doc-common (doc-default-operating-system): New variable.
4720         (Os): Use it.
4722 2003-09-08  Werner LEMBERG  <wl@gnu.org>
4724         * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4726 2003-08-31  Werner LEMBERG  <wl@gnu.org>
4728         * contrib/mom/Makefile.sub: Fix last change to make it really work.
4729         * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4730         (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4731         $(DEVFILES) are not empty.
4732         * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4734 2003-08-26  Chuck Silvers  <chuq@chuq.com>
4736         * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4737         with parallel runs of `make'.
4739 2003-08-23  Stephen Gildea  <http://www.gildea.com/stephen>
4741         * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4742         insert SORT_SEP.  With certain combinations of sort specifications,
4743         refer sorted entries in the wrong order.  In particular, entries
4744         with a missing field should be be sorted before all entries that
4745         have that field, before refer looks to the next field.
4747 2003-08-23  Werner LEMBERG  <wl@gnu.org>
4749         * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4750         g++ linker is used.  Reported by Mark J. Reed
4751         <mark.reed@turner.com>.
4753 2003-08-16  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
4755         Add key character `x' to tbl which makes tbl call a user-defined
4756         macro on a table cell.
4758         * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4759         * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4760         `set_modifier' after printing the compatibility request.
4761         (set_modifier): Print call to `m->macro' if not empty.
4762         * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4763         `macro'.
4764         (process_format): Implement cases `x' and `X'.
4765         * src/preproc/tbl/tbl.man, NEWS: Updated.
4767 2003-08-15  Werner LEMBERG  <wl@gnu.org>
4769         * doc/groff.texinfo: Minor fixes.
4771 2003-08-09  Werner LEMBERG  <wl@gnu.org>
4773         * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4775 2003-08-07  Werner LEMBERG  <wl@gnu.org>
4777         * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4778         argument list to nothing if there is no file to match.  Use `ls' as
4779         a protection, similar to autoconf.
4781         * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4782         empty argument lists.
4784         * doc/groff.texinfo: Improve documentation how vertical spacing
4785         and line breaks interact.
4786         Other minor fixes.
4788         * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4790 2003-08-03  Werner LEMBERG  <wl@gnu.org>
4792         * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4793         EPS (using eps2eps or similar programs to compute the bounding box).
4795 2003-07-24  Werner LEMBERG  <wl@gnu.org>
4797         * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4798         * doc/texinfo.tex: Updated from texinfo 4.6.
4799         * README.CVS: From now on we need texinfo 4.6.
4801 2003-07-23  Werner LEMBERG  <wl@gnu.org>
4803         Add requests `dei1' and `ami1' for completeness.
4805         * src/roff/troff/input.cc (calling_mode): Remove
4806         CALLING_DISABLE_COMP.
4807         (comp_mode): New enumeration.
4808         (do_define_string, define_string, define_nocomp_string,
4809         append_string, append_nocomp_string): Updated.
4810         (do_define_macro): Add third parameter.
4811         (define_macro, define_nocomp_macro, define_indirect_macro,
4812         append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4813         (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4814         functions.
4815         (ignore): Updated.
4816         (init_input_requests): Add `dei1' and `ami1'.
4818         * tmac/trace.tmac: Handle de1 and am1.
4819         (de): Improve tracing message.
4820         (am): Add missing `do'.
4821         (return): Use de1.
4823         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4824         Document new requests.
4826 2003-07-22  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
4828         Add option -G to .MPIMG to insert a gap between text and the image.
4830         * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4831         www-finish-left-ll): Updated.
4832         (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4833         (MPIMG): Make option -L and -R optional.
4834         Implement option -G.
4836 2003-07-22  Gaius Mulley  <gaius@glam.ac.uk>
4838         * src/devices/grohtml/post-html.cpp
4839         (html_printer::do_file_components): Don't use `stdout' as lvalue
4840         since it can be a macro.
4842 2003-07-22  Werner LEMBERG  <wl@gnu.org>
4844         * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4845         the corresponding test in aclocal.m4.
4847 2003-07-21  Werner LEMBERG  <wl@gnu.org>
4849         * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4850         names but RGB values directly.  Otherwise pnmtopng depends on
4851         an external file `rgb.txt' which maps colour names to values.
4853 2003-07-20  Werner LEMBERG  <wl@gnu.org>
4855         * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4856         * configure, src/include/config.hin: Regenerated.
4858         * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4860 2003-07-19  Werner LEMBERG  <wl@gnu.org>
4862         * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4864 2003-07-18  Werner LEMBERG  <wl@gnu.org>
4866         * *.man: Switch to non-compatibility mode temporarily if GNU
4867         syntax extensions are used in the particular man page.
4869         * PROBLEMS: Add solutions for SGR problems.
4871 2003-07-17  Werner LEMBERG  <wl@gnu.org>
4873         Don't ignore grotty's command line options if \X'tty: sgr ...' is
4874         used to change the drawing scheme.
4876         * src/devives/grotty/tty.cpp (bold_flag_option,
4877         underline_flag_option, italic_flag_option, reverse_flag_option,
4878         bold_underline_mode_option): New global variables.
4879         (update_options): New function.
4880         (tty_printer::special): Call update_options.
4881         (main): Don't set xxx_flag but xxx_flag_option, then call
4882         update_options.
4884 2003-07-14  Werner LEMBERG  <wl@gnu.org>
4886         Make grotty emit proper Unicode box drawing characters for -Tutf8.
4888         * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4889         values.
4890         (hline_char, vline_char): New global variables.
4891         (tty_printer::tty_printer): Initialize them.
4892         (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4893         horizontal and vertical lines.
4894         (crossings): New global array.
4895         (tty_printer::end_page): Use it to determine the proper crossing
4896         character for -Tutf8.
4898 2003-07-12  Werner LEMBERG  <wl@gnu.org>
4900         * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4901         (HTMLDOCFILES): Revert to `pic.html'.
4902         (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4904 2003-07-11  Werner LEMBERG  <wl@gnu.org>
4906         * doc/pic.ms: Improve documentation of absolute coordinates.
4907         Document absolute positioning of pictures.
4909         * NEWS: Add new pic capability.
4911 2003-07-09  Hartmut Henkel  <hartmut_henkel@gmx.de>
4913         * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4914         Rewritten.
4916 2003-07-07  Werner LEMBERG  <wl@gnu.org>
4918         Implement support for dashed and dotted ellipses in pic.  Based on
4919         a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4921         * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4922         common_output::dashed_ellipse, common_output::dotted_ellipse): New
4923         functions.  Ellipse arcs are approximated with circle arcs.
4924         * src/preproc/pic/common.h (common_output): Updated.
4925         * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4926         functions.
4927         * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4929         * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4931 2003-07-06  Werner LEMBERG  <wl@gnu.org>
4933         Make grotty work on platforms which have unsigned char as the
4934         default for char.  Based on a patch by Thomas Klausner
4935         <wiz@netbsd.org>.
4937         * src/devices/grotty/tty.cpp (schar): New typedef.
4938         Updated calls to declare_ptable and implement_ptable.
4939         (glyph): Use schar for back_color_idx and fore_color_idx.
4940         (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4941         (tty_printer::tty_color, tty_printer::tty_printer,
4942         tty_printer::color_to_idx, tty_printer::put_color): Updated.
4944 2003-07-06  Ruslan Ermilov  <ru@FreeBSD.org>
4946         * src/roff/nroff/nroff.sh: Add option -d for completeness.
4947         * src/roff/nroff/nroff.man: Updated.
4949 2003-07-05  Werner LEMBERG  <wl@gnu.org>
4951         * NEWS, tmac/groff_www.man: Updated.
4952         * doc/Makefile.sub: Updated.
4954 2003-07-05  Gaius Mulley  <gaius@glam.ac.uk>
4956         Implement support for multiple HTML output files.
4958         * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4959         -j command line option.
4961         * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4962         global variables.
4963         (file): New fields `new_output_file', `require_links',
4964         `output_file_name'.
4965         (file::file): Updated.
4966         (files::set_file_name, files::set_links_required,
4967         files::are_links_required, files::is_new_output_file,
4968         files::file_name, files::next_file_name): New functions.
4969         (header_desc): New fields `no_of_level_one_headings',
4970         `header_filename'.
4971         (header_desc::header_desc): Updated.
4972         (header_desc::write_headings): Handle multiple files.
4973         (html_printer::write_header): Save file name in which header occurs.
4974         (html_printer::determine_header_level): Possibly split files on
4975         level one headings.
4976         (html_printer::do_links, html_printer::troff_tag): Updated.
4977         (html_printer::insert_split_file, html_printer::do_job_name,
4978         html_printer::emit_link, html_printer::write_navigation,
4979         html_printer::do_file_components): New functions.
4980         (html_printer::~html_printer): Handle multiple files.
4981         (main): Handle command line option `-j'.
4983         * src/devices/grohtml/grohtml.man: Updated.
4985         * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4986         which splits file.
4988         * tmac/www.tmac (JOBNAME): New macro.
4989         * tmac/s.tmac (SH-NO-TAG): New macro.
4990         (@SH): Call SH-NO-TAG.
4991         (@NH): Updated.
4993 2003-07-05  Ruslan Ermilov  <ru@FreeBSD.org>
4995         * tmac/groff_mdoc.man: Improve documentation of punctuation
4996         characters.
4998 2003-07-04  Ruslan Ermilov  <ru@FreeBSD.org>
5000         * tmac/doc.tmac (Bd): Change to doc-Li-font later.
5002 2003-07-03  Werner LEMBERG  <wl@gnu.org>
5004         * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
5006 2003-07-01  Ruslan Ermilov  <ru@FreeBSD.org>
5008         * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
5009         after `/*' and `*/'.
5010         Fix spacing.
5011         (Fn, Fo): Reduce indentation in synopsis.
5013         * tmac/doc-common (doc-check-depth): New macro.
5014         (doc-end-macro, Sh, Ss): Use it.
5015         (Cd): Fix behaviour in synopsis.
5016         (In): Make it parsed and callable.
5017         If not in the synopsis, represent the C header file enclosed in
5018         angle brackets.
5019         (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
5020         Use minus, not hyphen.
5022         * tmac/groff_mdoc.man: Updated.
5024 2003-07-01  Werner LEMBERG  <wl@gnu.org>
5026         Integrated grap2graph, contributed by Eric S. Raymond.
5028         * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
5029         New files.
5030         * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
5031         contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
5033 2003-07-01  Colin Watson  <cjwatson@debian.org>
5035         * src/xditview/*.c: Add prototypes, fix return types, add includes.
5036         Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
5038 2003-06-31  Ruslan Ermilov  <ru@FreeBSD.org>
5040         * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
5042 2003-06-31  Werner LEMBERG  <wl@gnu.org>
5044         * doc/Makefile.sub (CLEANADD): Remove all files created by
5045         running `make groff.{pdf,dvi}'.
5047         * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
5048         src/xditview also.
5050 2003-06-30  Werner LEMBERG  <wl@gnu.org>
5052         * Makefile.in (SHELL): Define as @SHELL@.
5053         (mkinstalldirs): Use $(SHELL).
5054         (MDEFINES): Add $(SHELL).
5055         * Makefile.comm (SHELL): Removed.
5057 2003-06-29  Werner LEMBERG  <wl@gnu.org>
5059         * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5060         The X11 documentation files use them.
5061         * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5063 2003-06-15  Robert Goulding  <goulding@Princeton.EDU>
5065         * tmac/e.tmac (@C): Handle .ad also.
5067 2003-06-12  Werner LEMBERG  <wl@gnu.org>
5069         * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5071         * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5072         Assign `n' even here.  It is possible to construct a node
5073         immediately following an escape character:
5075           .di xx
5076           \?\\\?a
5077           .br
5078           .di
5079           .xx
5081 2003-06-10  Werner LEMBERG  <wl@gnu.org>
5083         * README.WIN32: Removed.
5084         * MANIFEST: Updated.
5086 2003-06-07  Werner LEMBERG  <wl@gnu.org>
5088         * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5090 2003-06-05  Werner LEMBERG  <wl@gnu.org>
5092         * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5093         in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5095 2003-06-03  Werner LEMBERG  <wl@gnu.org>
5097         * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5098         is done by the calling function.
5100 2003-05-22  Ruslan Ermilov  <ru@FreeBSD.org>
5102         * tmac/X.tmac: Fix definition of `em'.
5104 2003-05-22  Werner LEMBERG  <wl@gnu.org>
5106         * src/roff/troff/input.cc (return_macro_request): Fix detection of
5107         argument.
5109 2003-05-18  Werner LEMBERG  <wl@gnu.org>
5111         * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5112         to make items work which consist only of a tag.
5114 2003-05-17  Werner LEMBERG  <wl@gnu.org>
5116         * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5117         aren't stretched in a tag (this can fail with unformatted boxes).
5118         Instead, insert a break and go back one line.
5120 2003-05-16  Werner LEMBERG  <wl@gnu.org>
5122         * src/roff/troff/input.cc (return_macro_request): If called with
5123         argument pop macro twice.  We need this to trace `return'.
5125         * tmac/trace.tmac: Handle `return'.
5126         Fix typos.
5128         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5129         Document.
5131 2003-05-15  Larry Kollar  <kollar@alltel.net>
5133         * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5134         registers `FPS', `FVS', and `FPD'.
5136 2003-05-15  Werner LEMBERG  <wl@gnu.org>
5138         * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5139         correctly.
5141 2003-05-03  Ruslan Ermilov  <ru@FreeBSD.org>
5143         * tmac/groff_mdoc.man: Slight improvements.
5145 2003-05-03  Werner LEMBERG  <wl@gnu.org>
5147         * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5148         `doc-header-space' after header line if register `cR' is set.
5150 2003-05-02  Werner LEMBERG  <wl@gnu.org>
5152         * TODO: Updated.
5154 2003-05-01  Ruslan Ermilov  <ru@FreeBSD.org>
5156         * tmac/doc-common (Nd): Use \[em].
5158 2003-05-01  Werner LEMBERG  <wl@gnu.org>
5160         * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5161         doc-footer-space): Initialize to 0.5i.
5162         (doc-setup-page-layout): Don't set doc-header-space and
5163         doc-footer-space.
5165 2003-04-30  Werner LEMBERG  <wl@gnu.org>
5167         * REVISION: Set to 1.
5169         * doc/pic.ms: Document possible problems with `figname'.
5171 2003-04-29  Werner LEMBERG  <wl@gnu.org>
5173 Version 1.19 released
5174 =====================
5176         * VERSION: Set to 1.19.
5177         * REVISION: Set to 0.
5178         * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5180         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5181         Define charset as `US-ASCII' in html output.
5183         * tmac/www.tmac (ULE): Add missing scaling indicator.
5185         * win32-diffs: Removed.
5187 2003-04-28  Werner LEMBERG  <wl@gnu.org>
5189         * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5190         `.da' and `.boxa'.
5191         Document how to insert discardable whitespace with `.ss'.
5193 2003-04-27  Werner LEMBERG  <wl@gnu.org>
5195         * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5196         work with plain TeX also.
5198         * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5200 2003-04-25  Gaius Mulley  <gaius@glam.ac.uk>
5202         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5203         Use a loose DTD.
5205 2003-04-24  Werner LEMBERG  <wl@gnu.org>
5207         * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5208         vbox with positive height and zero depth if in TeX mode.
5210         * NEWS: Document glyph name changes for grodvi and grolj4.
5212 2003-04-23  Werner LEMBERG  <wl@gnu.org>
5214         * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5215         * doc/pic.ms: Fixed.
5217 2003-04-21  Werner LEMBERG  <wl@gnu.org>
5219         HP-UX 10.20 has `snprintf' but it isn't declared.
5221         * configure.ac: Add declaration test for snprintf.
5222         * configure: Regenerated.
5223         * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5224         * src/include/config.hin: Regenerated.
5226 2003-04-19  Werner LEMBERG  <wl@gnu.org>
5228         Add keyword `figname' to pic, specifying the name of the picture
5229         box in TeX mode.  Based on a patch from William J Poser
5230         <wjposer@unagi.cis.upenn.edu>.
5232         * src/preproc/pic/pic.y: New token `FIGNAME'.
5233         (macro_name): New rule of type <str>.
5234         (placeless_element): Handle `FIGNAME'.
5235         * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5236         * src/preproc/pic/main.cpp (graphname): New global variable.
5237         (do_picture): Initialize `graphname'.
5238         * src/preproc/pic/pic.h: Updated.
5239         * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5240         `graphname'.
5241         Simplify TeX code.
5242         (tex_output::text): Beautify output.
5243         * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5244         `shaded' and `outlined' unconditionally.
5245         * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5246         Minor improvements.
5248         * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5249         greater is necessary.
5251 2003-04-17  Hartmut Henkel  <hartmut_henkel@gmx.de>
5253         Add option -r to soelim to avoid emission of `.lf' lines.
5254         Add option -t to produces TeX comment lines instead of `.lf' lines.
5256         * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5257         and `tex_flag'.
5258         (usage): Updated.
5259         (main): Handle `-r' and `-t'.
5260         (set_location): Handle `raw_flag' and `tex_flag'.
5261         * src/preproc/soelim/soelim.man, NEWS: Updated.
5263 2003-04-17  Werner LEMBERG  <wl@gnu.org>
5265         * tmac/hyphenex.sh: Replaced with...
5266         * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5267         nightmares.
5269         * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5270         if --quiet is used for the configure script.
5271         * configure: Regenerated.
5273 2003-04-16  Werner LEMBERG  <wl@gnu.org>
5275         * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5276         Add `const' to second argument.
5277         (html_printer::add_table_end): Add `const' to argument.
5278         * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5279         `const' to arguments.
5280         * src/devices/grohtml/html-text.h: Updated.
5282         * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5283         * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5284         argument.
5286         * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5287         cast for integer constant.
5289         * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5290         (writeNbytes): Add `const' to first argument.
5291         (writeString): Add `const' to argument.
5292         (char_buffer::can_see): Add `const' to third argument.
5293         * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5294         `const' to argument.
5295         * src/preproc/html/pushback.h: Updated.
5297         * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5298         (include_path_append): Add `const' to argument.
5299         (do_file): Updated.
5301         * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5302         for `value'.
5303         (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5304         * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5305         for `value'.
5306         (unicode_decompose_init::unicode_decompose_init): Updated.
5307         * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5308         for `value'.
5309         (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5310         * src/roff/troff/input.cc (process_startup_file): Add `const' to
5311         argument.
5313         * tmac/hyphenex.sh: Make script more portable by using a here
5314         document.
5316 2003-04-15  Werner LEMBERG  <wl@gnu.org>
5318         Renamed all `*.cc' files to `*.cpp'.
5319         Updated all configuration files, makefiles, and documentation.
5321 2003-04-14  Werner LEMBERG  <wl@gnu.org>
5323         * tmac/hyphenex.sh: Slight improvements.
5325 2003-04-13  Werner LEMBERG  <wl@gnu.org>
5327         * font/devascii/R.proto, font/devcp1037/R.proto,
5328         font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5329         character slots with unnamed glyphs.
5331         * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5332         (an-first): New global variable.
5333         (an-header): Emit vertical space between multiple man pages.
5335 2003-04-11  Werner LEMBERG  <wl@gnu.org>
5337         * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5338         values.
5340 2003-04-10  Werner LEMBERG  <wl@gnu.org>
5342         * PROBLEMS: Revised.
5344 2003-04-10  Bernd Warken  <bwarken@mayn.de>
5346         * doc/webpage.ms: Improved.
5348 2003-04-09  Werner LEMBERG  <wl@gnu.org>
5350         Add register \n[.height] which returns the value of \H.
5351         Add register \n[.slant] which returns the value of \S.
5353         * src/roff/troff/env.cc (init_env_requests): Implement.
5354         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5355         Document.
5357 2003-04-08  Werner LEMBERG  <wl@gnu.org>
5359         * tmac/html.tmac: Move some of the data into html-end.tmac.
5360         Remove most of the character translations for eqn since html fonts
5361         now cover those characters.
5362         Load www.tmac.
5363         * tmac/html-end.tmac: New file.
5364         * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5365         * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5366         * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5368 2003-04-07  Werner LEMBERG  <wl@gnu.org>
5370         * man/groff_out.man: Document negative values of `N' if -Thtml is
5371         used.
5373 2003-04-06  Werner LEMBERG  <wl@gnu.org>
5375         * Makefile.comm (depend.temp): Check location of YTABC.
5377 2003-04-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
5379         * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5380         binary path.
5381         (groff_bin_path): Rename to GROFF_BIN_PATH.
5382         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5383         * doc/Makefile.in (TROFFBIN): New variable for troff
5384         binary path.
5385         (GROFFBIN): New variable for groff binary path.
5386         (groff_bin_path): Rename to GROFF_BIN_PATH.
5387         (TROFF): Use TROFFBIN.
5388         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5389         * doc/Makefile.sub (GROFFBIN): New variable for groff
5390         binary path.
5391         (groff_bin_path): Rename to GROFF_BIN_PATH.
5392         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5394         * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5395         with INSTALL_SCRIPT.
5396         (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5397         * Makefile.dev (all): Depend on DEVSCRIPTS.
5398         (install_dev): Likewise.
5399         * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5400         scripts.
5401         * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5402         (DEVGENSCRIPTS): New variable to hold generated scripts.
5404 2003-04-05  Werner LEMBERG  <wl@gnu.org>
5406         * src/libs/libdriver/input.cc (IntArray::operator[],
5407         IntArray::get_data): Remove meaningless `const' in return value.
5409         * README.CVS: New file.
5411 2003-04-04  Werner LEMBERG  <wl@gnu.org>
5413         Check for stdint.h in C++, not in C.
5415         * aclocal.m4 (GROFF_STDINT_H): New function,
5416         * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5417         AC_CHECK_HEADERS.
5418         * configure, src/include/config.hin: Regenerated.
5419         * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5422         Fix handling of &nbsp; in grohtml.  To do this, troff emits `N'
5423         with a negative value, representing the width of the unbreakable
5424         space (only for -Thtml).  grohtml then converts this back to
5425         &nbsp; and uses the value of N as its width.
5427         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5428         unbreakable_space_node::tprint): Emit `N-<width>'.
5429         * src/include/printer.h (printer::set_numbered_char): Make it
5430         virtual.
5431         Make members `font_table' and `nfonts' protected instead of private.
5432         * src/devices/grohtml/post-html.cc
5433         (html_printer::set_numbered_char): New member function.
5436         * src/libs/libgroff/maxfilename.cc:
5437         s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5439         * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5440         emit word marker.
5442 2003-04-03  Sergey A. Osokin  <osa@freebsd.org.ru>
5444         * man/roff.man: Small fixes.
5446 2003-04-03  Werner LEMBERG  <wl@gnu.org>
5448         Make groff independent from locale's numeric settings.
5450         * configure.ac: Check for `setlocale'.
5451         * configure, src/include/config.hin: Regenerated.
5453         * src/include/lib.h: Handle HAVE_SETLOCALE.
5455         * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5456         (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5457         (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5460         * doc/groff.texinfo: Change dir category to `Typesetting'.
5461         (Man font macros): Mention that there is no space between arguments
5462         of .BI and friends.
5464         * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5465         (*printer::change_color, *printer::change_fill_color): Add missing
5466         `const'.
5468 2003-04-02  Werner LEMBERG  <wl@gnu.org>
5470         * src/devices/grohtml/html-table.cc (html_table::emit_col,
5471         html_table::is_gap): Compute table widths after converting border
5472         positions to avoid rounding errors.
5474 2003-04-01  Werner LEMBERG  <wl@gnu.org>
5476         * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5477         `space_emitted' properly.
5479 2003-03-31  Werner LEMBERG  <wl@gnu.org>
5481         * src/devices/grohtml/html-table.cc: Fix column width calculation.
5482         (html_table::set_linelength): Don't add 1.
5483         (html_table::add_indent): Don't subtract 1.
5485         * tmac/html.tmac: Set default page offset to zero.
5487 2003-03-30  Werner LEMBERG  <wl@gnu.org>
5489         Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
5491         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5492         unbreakable_space_node::tprint): New functions.
5493         (troff_output_file): Make space_char_hmotion_mode::tprint and
5494         unbreakable_space_node::tprint to friends.
5495         * src/roff/troff/node.h: Updated.
5497         * font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
5498         in the HTML standard).
5500 2003-03-29  Werner LEMBERG  <wl@gnu.org>
5502         * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5503         Otherwise, the following code
5505           .di xxx
5506           .ps 10
5507           a
5508           .br
5509           .di
5510           x\*[xxx]
5512         produces `x a' instead of `xa'.  This is a temporary fix, disabling
5513         font changes in diversions for -Thtml.
5515         * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5516         `HTML-TAG'.
5517         (an-do-tag-html): Merge with ...
5518         (an-do-tag): This macro.
5519         Change code slightly to circumvent grohtml bug.
5520         * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5522         * src/devices/grohtml/html-table.cc (html_table::emit_col,
5523         html_table::is_gap): Round `width' properly.
5525         * tmac/html.tmac: Provide some default layout parameters for
5526         grohtml.
5528         * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5529         command.
5531 2003-03-28  Werner LEMBERG  <wl@gnu.org>
5533         src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5535 2003-03-27  Werner LEMBERG  <wl@gnu.org>
5537         * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5538         defined.
5540 2003-03-20  Werner LEMBERG  <wl@gnu.org>
5542         * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5543         `.vs'.
5544         * doc/groff.texinfo: Updated.
5546 2003-03-19  Werner LEMBERG  <wl@gnu.org>
5548         * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5549         TOKEN_END_TRAP>: Reset `have_input'.
5551 2003-03-18  Werner LEMBERG  <wl@gnu.org>
5553         * src/roff/groff/groff.man: Mention groff_trace man page.
5555 2003-03-16  Werner LEMBERG  <wl@gnu.org>
5557         * Makefile.in (LIBEXT): New variable to indicate the file extension
5558         of library files.  Computed heuristically from $(OBJEXT).
5559         (MDEFINES): Add $(LIBEXT).
5560         * Makefile.lib, Makefile.comm: Use it.
5562         * src/utils/pfbtops/pfbtops.c (get_text): New function.  Split
5563         overlong lines into smaller chunks.
5564         (get_binary): New function.
5565         (main): Use them.
5566         * src/utils/pfbtops/pfbtops.man: Updated.
5568 2003-03-15  Colin Watson  <cjwatson@debian.org>
5570         * src/roff/groff/groff.man: Minor syntax fix.
5572 2003-03-14  Egil Kvaleberg  <egil@kvaleberg.no>
5574         * src/devices/grops/ps.cc (ps_printer::media_set,
5575         ps_printer::~ps_printer): Handle zero paper width and length.
5577 2003-03-13  Werner LEMBERG  <wl@gnu.org>
5579         Add options -p and -l to grodvi.
5581         * src/devices/grodvi/dvi.cc: Include paper.h.
5582         (landscape_flag, user_paper_length, user_paper_width): New global
5583         variables.
5584         (dvi_printer::begin_page): Emit `papersize' special.
5585         Set color after initialization of `cur_h' and `cur_v'.
5586         (main): Add options `-l' and `-p'.
5587         * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5588         * src/devices/grodvi/grodvi.man, NEWS: Updated.
5590         * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5592 2003-03-12  Werner LEMBERG  <wl@gnu.org>
5594         * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5595         * man/groff_tmac.man: This man page.
5596         * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5597         deprecated.
5599         * tmac/X.tmac: Don't load pspic.tmac.
5601 2003-03-11  Werner LEMBERG  <wl@gnu.org>
5603         Make variable `pr' local to libdriver/input.cc.  Based on a patch
5604         by Bernd Warken <bwarken@mayn.de>.
5606         * src/include/driver.h (pr): Removed.
5608         * src/libs/libdriver/input.cc (pr): New global variable.
5609         (do_file): Deallocate `pr'.
5610         * src/libs/libdriver/printer.cc (pr): Removed.
5612         * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5613         (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5614         (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5615         (main): Don't delete `pr'.
5617 2003-03-10  Werner LEMBERG  <wl@gnu.org>
5619         * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5620         * tmac/papersize.tmac: New file.
5621         * tmac/troffrc: Include `papersize.tmac'.
5622         * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5623         * tmac/an-old.tmac: Set LT to LL by default.
5625         * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5626         doc/groff.texinfo: Updated.
5628         * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5629         bug which caused all odd iso papers to have wrong dimensions.
5631         * src/devices/grops/ps.cc (user_paper_width): New global variable.
5632         (main) <'p'>: Set `user_paper_width' also.
5633         (ps_printer::media_width, ps_printer::media_height): Use values
5634         given with option `-p'.
5636 2003-03-09  Werner LEMBERG  <wl@gnu.org>
5638         * src/include/nonposix.h: Provide default for SET_BINARY.
5640         * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5641         src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5642         unconditionally.
5644         * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5645         (main): Treat \r\n as \n.
5647 2003-03-08  Werner LEMBERG  <wl@gnu.org>
5649         * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5650         * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5652 2003-03-07  Werner LEMBERG  <wl@gnu.org>
5654         Added support to access more than 256 glyphs in Type 1 fonts.
5656         * src/devices/grops/ps.cc (subencoding): New structure.
5657         (style): Add `sub' field.
5658         Updated all users.
5659         (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5660         Add `set_subencoding', `get_subfont' and `encode_subfont' member
5661         functions.
5662         Updated all users.
5663         (ps_printer::set_char): Use `set_subencoding'.
5664         (make_subencoding_name): New function.
5665         (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5666         (ps_printer::~ps_printer): Emit subencoding definitions.
5668         * src/devices/grops/psrm.cc (valid_input_table): New array to
5669         properly support EBCDIC.
5670         (white_space): Add `\f'.
5671         (ps_get_line): Change first argument to be of type `string &'.
5672         Updated all callers.
5673         This allows to get lines of arbitrary length.
5674         Use `valid_input_table'.
5675         Remove warning about non-conforming PS line length.  This seems
5676         not to be of great importance -- for example, dvips don't emit
5677         a warning either.
5678         (PS_LINE_MAX): Removed.
5679         (matches_comment): Change first argument to be of type `string &'.
5681         * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5683         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5684         %AGL_to_unicode, %default_ligatures): New hash tables.
5685         Read all map entries.
5686         Add unencoded characters.
5687         Check for default ligatures if there are no `L' entries.
5688         Print all kern entries.
5689         Print all characters in charset.
5690         * src/utils/afmtodit/afmtodit.man: Updated.
5692         * font/devps/*: Regerated all fonts.
5694         * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5695         of characters, just use `.trin'.  Otherwise the mapping depends
5696         on the font encoding.
5697         * tmac/ps.tmac: Add `fi' and `fl'.
5698         Improve `Fi' and `Fl'.
5699         * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5700         * tmac/Xps.tmac: Fix `em'.
5702         * NEWS: Updated.
5704 2003-03-04  Werner LEMBERG  <wl@gnu.org>
5706         * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5707         `have_input'.
5709 2003-03-03  Werner LEMBERG  <wl@gnu.org>
5711         * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5713         * font/devps/generate/textmap: Remove entry `similarequal'.
5714         * font/devps/symbolmap: Updated.
5716 2003-03-02  Werner LEMBERG  <wl@gnu.org>
5718         * src/libs/libgroff/font.cc (font::load): Fix error message for
5719         bad character type.
5721         * src/devices/grops/grops.man: Improve documentation of the -b
5722         flag.
5724         * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5725         `ascii' and `cp1047'.
5727 2003-03-01  Werner LEMBERG  <wl@gnu.org>
5729         Document composite glyphs and the `composite' request.
5731         * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5733 2003-02-28  Werner LEMBERG  <wl@gnu.org>
5735         * font/devdvi/generate/ec.map: Add some more Unicode entities.
5736         * font/devdvi/*EC: Updated.
5738         * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5739         * tmac/latin1 (latin1-tr): Undo any previous mapping.
5740         * tmac/troffrc: Load `composite.tmac'.
5741         * tmac/Makefile.sub (NORMALFILES): Updated.
5743         * doc/groff.texinfo (Input Encodings): New section.
5744         * NEWS: Updated.
5746 2003-02-27  Werner LEMBERG  <wl@gnu.org>
5748         * doc/texinfo.tex: New version 2003-02-11.06.
5750         * tmac/doc-common (Dt): Don't emit warning for unknown section.
5751         * tmac/groff_mdoc.man: Fix description of `Dt'.
5753 2003-02-26  Egil Kvaleberg  <egil@kvaleberg.no>
5755         * font/devps/prologue.ps: Fix for included Postscript that does
5756         a setpagedevice -- which is now safely ignored.
5758         * NEWS: Updated.
5760         * src/devices/grops/ps.cc: Now sets the page size in the generated
5761         document.  This is done in two ways: Via a %%-comment for gv and
5762         the like, and via a PageSize and setpagedevice for programs that
5763         understands Postscript proper, like ps2pdf.
5765         * src/devices/grops/ps.h: New broken-flag to avoid page size
5766         definition, if required.
5768         * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5770         * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5771         Not really necessary due to the fix in prologue.ps, but cleaner:
5772         Such information does not belong in an .eps file.
5774         * doc/Makefile.sub: See doc/Makefile.in.
5776 2003-02-26  Ralph Corderoy  <ralph@inputplus.co.uk>
5778         * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5779         instead of P1 since the latter is broken in some versions of netpbm.
5780         * configure: Updated.
5782 2003-02-26  Larry Kollar  <kollar@alltel.net>
5784         Make man pages more customizable.
5786         * tmac/an-old.tmac (FT): New register holding footer distance from
5787         bottom.
5788         (HF): New string holding the default heading font.
5789         (TH): Handle registers `IN' and `SN' set on the command line.
5790         Use `FT'.
5791         (PT, BT): New strings to customize header and footer lines.
5792         (an-header, an-footer): Use them.
5793         (SH, SS): Use `HF'.
5794         * tmac/groff_man.man: Document changes.
5796         * doc/groff.texinfo: Document man changes.
5797         Document Ultrix extensions of man.
5799 2003-02-26  Werner LEMBERG  <wl@gnu.org>
5801         * src/roff/troff/input.cc (do_width, do_if_request): Reset
5802         `have_input' after changing back to old environment.
5804         * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5805         function up to be defined before first call.  This is necessary to
5806         avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5808         * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5809         the default font directory also.  Based on a patch from James
5810         J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5811         * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5812         * src/utils/afmtodit/afmtodit.man: Document it.
5814         * NEWS: Updated.
5816         * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5818 2003-02-25  Gaius Mulley  <gaius@glam.ac.uk>
5820         * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5821         (GROFF_PNMTOPS_NOSETPAGE): New macro.
5822         * configure.ac: Use it.
5823         * configure: Regenerated.
5824         * Makefile.in: Updated.
5826         * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5827         (CLEANADD): Add www.tmac-sed.
5828         (pnmtops_nosetpage): Define default.
5829         (install_data): Handle www.tmac-sed and substitute
5830         @PNMTOPS_NOSETPAGE@.
5831         (stamp-sed): Add www.tmac.
5832         * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5833         It now breaks URLs at suitable places.
5834         (www:substring_ok): New register set by...
5835         (www:@test_substring): New macro.
5836         (www:error): New alias to www-error.
5837         (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5838         New macros.
5839         (URL): Use www:url_breaks.
5840         (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5841         (CDS, CDE): New macros.
5843 2003-02-25  Werner LEMBERG  <wl@gnu.org>
5845         * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5846         buffer overflow.
5848 2003-02-24  Werner LEMBERG  <wl@gnu.org>
5850         Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5851         can be negative also.
5853         * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5854         `int16'.
5855         (read_char_table): Avoid negative ascenders.
5856         (output_charset): Add cast.
5857         * font/devlj4/*: Regenerated.
5859         Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5860         possible.
5862         * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5863         * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5864         of `<>'.
5865         * font/devdvi/*: Regenerated.
5867         Map `la' and `ra' to U+27E8 and U+27E9.  These two characters have
5868         normal width, while the previously used characters (U+2329 and
5869         U+232A) are classified as wide due to canonical equivalence with the
5870         CJK punctuation characters U+3008 and U+3009.
5872         * font/devutf8/R.proto: Updated.
5873         * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5875         * man/groff_char.man: Simplify handling of table traps by
5876         introducing `start block' and `end block' macros.
5877         (Ns, Ne, 2s, 2e, Ds, De): New macros.
5878         (DL): Make it work with Unix troff also.
5879         Fix code values of `la' and `ra'.
5881         * tmac/dvi.tmac: Define `<>' for CW and CWI.
5883 2003-02-23  Gaius Mulley  <gaius@glam.ac.uk>
5885         * src/devices/grohtml/post-html.cc (element_list::~element_list):
5886         New destructor, fixing a major memory leak.
5888 2003-02-22  Werner LEMBERG  <wl@gnu.org>
5890         * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5891         to be in conformance with Unicode 3.0 and newer.
5893         * font/devlj4/generate/text.map: Add `Eu'.
5894         * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5895         * font/devlj4/S: Regenerated.
5897         * man/groff_char.man: Completely rewritten.
5899         * doc/groff.texinfo: Fix description of request and macro arguments.
5901 2003-02-20  Gaius Mulley  <gaius@glam.ac.uk>
5903         Valgrind fixes.
5905         * src/devices/grohtml/html-table.cc (html_table::~html_table):
5906         Deallocate `columns' list.
5907         * src/devices/grohtml/post-html.cc (char_block::~char_block):
5908         New destructor.
5909         (text_glob::text_glob_html, text_glob::text_glob_special,
5910         text_glob::text_glob_line, text_glob::text_glob_auto_image,
5911         text_glob::text_glob_tag): Avoid memory leaks.
5912         (text_glob::remember_table): Free memory before reassigning.
5914 2003-02-19  Werner LEMBERG  <wl@gnu.org>
5916         Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5917         alias `hbar'), the Planck constant over two pi.
5919         * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5920         `+e' for position 34.
5921         * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5922         `u2662' and `u2661'.
5923         * font/devdvi/{MI,S}: Regenerated.
5924         * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5925         * font/devlbp/*: Add `hbar' alias.
5926         * font/devlj4/generate/special.map: Ditto.
5927         * font/devlj4/S: Regenerated.
5928         * font/devps/generate/symbolchars: Add `+e'.
5929         * font/devps/generate/textmap: Fix PS name for `-h'.
5930         Add `hbar' alias.
5931         * font/devps/symbolmap: Regenerated.
5933         * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5935         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5936         `-h', `hbar'.
5937         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5938         `-h'.
5940         * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5941         `hbar'.
5942         * tmac/tty-char.tmac: Add `+e'.
5944 2003-02-17  Werner LEMBERG  <wl@gnu.org>
5946         Another round trying to really fix problems with `have_input'.
5948         * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5949         (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5951         * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5952         handling if both foreground and background colors are default.
5954         * doc/groff.texinfo (Debugging): Document .lf differences to
5955         AT&T troff.
5957 2003-02-16  Werner LEMBERG  <wl@gnu.org>
5959         * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5960         null-bytes in created string.
5962         * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5963         alias_macro, lookup_request): Improve warning messages.
5965         * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5966         not `strdup'.
5967         Free `last_image_filename'.
5969         * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5970         `buffer'.
5971         (imageList::createPage, imageList::createImage): Use `free', not
5972         `a_delete'.
5973         (imageItem::~imageItem): Free `imageName'.
5974         (addRegDef): Use `strsave', not `strdup'.
5975         (get_resolution): Free `pathp'.
5977 2003-02-15  Werner LEMBERG  <wl@gnu.org>
5979         * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5980         to `dummy'.
5982 2003-02-14  Werner LEMBERG  <wl@gnu.org>
5984         Add memory management for colors to deallocate unnamed colors
5985         properly.
5987         * src/include/color.h (color): New members `free_list' and `next'.
5988         New member functions `new' and `delete'.
5989         Add destructor.
5990         * src/libs/libgroff/color.cc: Implement it.
5992         * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5993         for array size of new operator.
5995         * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5996         redundant comparison.
5998         * src/roff/troff/input.cc (word_space_node::reread,
5999         hmotion_node::reread): Avoid warning about unused parameter.
6000         (reset_output_registers): Remove redundant parameter.
6001         (define_color): Undo change 2003-02-12.
6003         * src/roff/troff/reg.h: Updated.
6005         * src/roff/troff/node.cc (troff_output_file::really_print_line,
6006         output_file::put_filename, real_output_file::really_put_filename,
6007         ascii_output_file::really_print_line,
6008         break_char_node::get_hyphen_list): Avoid warning about unused
6009         parameter.
6010         (suppress_node::tprint): Updated.
6012         * configure.ac: Check declaration for rand() and srand().
6013         * configure: Regenerated.
6015         * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
6016         conditionally.
6017         * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
6018         and srand().
6020         * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
6021         to avoid compiler warnings.
6023         * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
6024         unused.
6026         * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
6027         is unused.
6028         * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
6029         (unused) parameter.
6030         Updated all callers.
6032         * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
6033         is unused.
6034         * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
6035         * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
6037         * src/devices/grohtml/post-html.cc (html_printer::emit_line):
6038         Parameter is unused.
6039         (html_printer::add_table_end): Define parameter conditionally.
6040         * src/devices/grohtml/output.cc (simple_output::special): Parameter
6041         is unused.
6043         * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
6044         (lbp_printer::set_char): Last parameter is unused.
6046         * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
6048 2003-02-13  Werner LEMBERG  <wl@gnu.org>
6050         New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
6051         Make \D'f ...' move horizontally again for backwards compatibility.
6052         Replace it with \D'Fg ...' where appropriate to avoid dependency
6053         on horizontal resolution.
6055         * src/roff/troff/input.cc (do_get_long_name): New function.
6056         (get_long_name): Call it.
6058         (read_draw_node): Handle `\D'Fx ...' by calling ...
6059         (read_color_draw_node): New function.
6061         (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6062         `end'.
6063         Pass it to `do_get_long_name' which is used instead of
6064         `get_long_name'.
6066         * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6067         unnecessary value guard.
6068         (parse_D_command) <'f'>: Add horizontal shift.
6070         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6071         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6072         (FILL_MAX): Removed.
6074         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6075         Updated.
6077 2003-02-12  Werner LEMBERG  <wl@gnu.org>
6079         * src/roff/troff/input.cc (do_name_test, do_expr_test,
6080         do_zero_width): Push `\n' if closing delimiter is missing.
6082         (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6083         <'F'>: Make \F non-transparent at the beginning of line.
6084         (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6085         token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6086         `have_input'.
6088         (define_color): Free color in case of reassignment.
6090         * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6091         @DefescListEnd): Use @Var, not @var.
6092         Fix all calls.
6094         * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6096         * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6097         `shaded' and `outlined' arrays.
6098         (object_spec::object_spec): Initialize `shaded' and `outlined'.
6099         (graphic_object::set_fill_color, graphic_object::set_outline_color):
6100         Use strsave.
6101         (closed_object::set_fill_color): Ditto.
6102         * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6103         instead of strdup.
6104         (troff_output::reset_color): Use a_delete instead of free.
6105         * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6107 2003-02-11  Werner LEMBERG  <wl@gnu.org>
6109         * doc/groff.texinfo: Improve documentation of `ad'.
6110         Document that \D'f...' is dependent on the horizontal resolution.
6111         * man/groff_diff.man: Improve documentation of \D'f...'.
6113         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6114         compensating \h'...' for \D'f ...' since the latter no longer moves
6115         current position.
6116         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6118 2003-02-10  Werner LEMBERG  <wl@gnu.org>
6120         Improve error messages for `x F' (and `F') commands.
6122         * src/include/error.h: Add declaration for
6123         `current_source_filename'.
6124         * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6125         * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6126         parameter for source file string.
6127         Updated all callers.
6129         * src/libs/libdriver/input.cc: Add `current_source_filename'.
6130         (remember_source_filename): New function.
6131         (parse_x_command <'F'>, do_file <'F'>): Use it.
6133 2003-02-09  Werner LEMBERG  <wl@gnu.org>
6135         Make grotty not emit warnings about unknown colors more than
6136         necessary.
6138         * src/devices/grotty/tty.cc: Include `ptable.h'.
6139         (TTY_MAX_COLORS): Removed.
6140         (DEFAULT_COLOR_IDX): Defined to -1.
6141         (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6142         (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6143         Change `tty_colors' to be a ptable.
6144         First arg of `put_color' is now `char'.
6145         New functions `make_rgb_string' and `tty_color'.
6146         (tty_printer::tty_printer): Use `tty_color'.
6147         (tty_printer::color_to_idx): Return value is now `char'.
6148         Use `tty_color'.
6150         * src/include/color.h (color): Add `print_color' member function.
6151         * src/libs/libgroff/color.cc (color::print_color): Implement it.
6153 2003-02-08  Werner LEMBERG  <wl@gnu.org>
6155         Valgrind fixes.
6157         * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6158         encoding file.
6160         * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6161         assume that value has been allocated with `new[]', thus use
6162         `a_delete' for deallocation.
6164         * src/libs/libdriver/input.cc (get_integer_arg,
6165         get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6166         where appropriate.
6168         * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6169         * src/libs/libgroff/nametoindex.cc
6170         (character_indexer::named_char_index): Use `new <type>[1]'.
6172         * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6173         <type>[1]'.
6174         * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6175         (split_text): Use `a_delete'.
6177         * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6178         <type>[1]'.
6180         * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6181         harmless memory leak.
6182         (hyphen_trie::read_patterns_file): Initialize `buf'.
6183         * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6184         Initialize `current_fill_color'and `current_glyph_color'.
6185         * src/roff/troff/glyphuni.cc
6186         (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6187         * src/roff/troff/uniuni.cc
6188         (unicode_decompose_init::unicode_decompose_init): Ditto.
6189         * src/roff/troff/uniglyph.cc
6190         (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6192 2003-01-26  Werner LEMBERG  <wl@gnu.org>
6194         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6195         `access' before calling `unlink'.
6196         (do_file): Handle __EMX__.
6198         * src/include/nonposix.h: Handle __EMX__.
6200         * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6201         (fontpath,tmacpath): Use it.
6202         (MDEFINES): Add it.
6203         Sorted alphabetically.
6205         * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6206         @SEP@.
6207         * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6208         @SEP@.
6210 2003-01-27  Werner LEMBERG  <wl@gnu.org>
6212         * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6213         New files, copied from gnulib.
6214         * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6215         * configure.ac: Updated.
6216         * configure: Regenerated.
6218         * src/include/config.hin: Regenerated.
6219         * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6220         Don't define `strcasecmp' as `strcmp'.
6221         [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6222         Dont define `strncasecmp' as `strncmp'.
6224         * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6225         Removed.
6227 2003-01-26  Werner LEMBERG  <wl@gnu.org>
6229         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6230         s/unline/unlink/.
6232 2003-01-25  Werner LEMBERG  <wl@gnu.org>
6234         * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6236 2003-01-24  Werner LEMBERG  <wl@gnu.org>
6238         Add US-english hyphenation exceptions (converted from Barbara
6239         Beeton's hyphenation exception log reports which appear irregularly
6240         in TUGBoat).
6242         * tmac/hyphen.us: Updated to latest version.
6243         * tmac/README: Updated.
6244         * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6245         * tmac/troffrc: Load `hyphenex.us'.
6246         * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6247         * doc/groff.texinfo: Updated.
6249 2003-01-23  Werner LEMBERG  <wl@gnu.org>
6251         Improve hyphenation slightly.  This is a first step in redesigning
6252         the hyphenation algorithm to make it more flexible (e.g. allowing
6253         kerns and ligatures between the hyphenation character and the
6254         following character -- while not used normally in English, other
6255         languages like German would benefit).
6257         * src/roff/troff/env.cc (environment::hyphenate_line): Use
6258         assertion instead of if-clause.
6259         Let `get_hyphen_list' return the number of involved characters in
6260         the hyphenation pattern instead of computing it directly (which
6261         often yields too small values).
6262         * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6263         * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6264         parameter.
6266 2003-01-22  Werner LEMBERG  <wl@gnu.org>
6268         Fixing a bug which caused groff to hang if the hyphenation exception
6269         dictionary tried to grow.
6271         * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6272         hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6273         pointer to dictionary.
6275 2003-01-20  Werner LEMBERG  <wl@gnu.org>
6277         * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6278         negative left italic correction.
6279         * src/utils/afmtodit/afmtodit.man: Document it.
6281         * font/devps/generate/Makefile (RFLAG): Add `-m'.
6282         * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6283         S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6285         * NEWS: Updated.
6287 2003-01-16  Werner LEMBERG  <wl@gnu.org>
6289         * NEWS: Updated.
6291 2003-01-16  Jörgen Grahn  <jgrahn@algonet.se>
6293         * src/preproc/refer/refer.man: Mention REFER environment variable.
6295 2003-01-05  Werner LEMBERG  <wl@gnu.org>
6297         Similar to \[is], the square root glyph (\[sr]) and the square root
6298         extension glyph (\[radicalex]) are now text symbols.  The new
6299         mathematical versions are called \[sqrt] and \[sqrtex],
6300         respectively.
6302         * font/devX*/S: Regenerated.
6303         * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6304         * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6305         * font/devdvi/EX, font/devdvi/S: Regenerated.
6306         * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6307         * font/devlj4/generate/special.map: Add `sqrt'.
6308         * font/devlj4/S: Regenerated.
6309         * font/devps/generate/textmap: Add `sqrt'.
6310         * font/devps/S, font/devps/symbolmap: Regenerated.
6312         * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6313         SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6314         * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6315         overlap horizontally.
6317         * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6318         * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6319         Fix `radicalex'.
6321         * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6322         and `sqrtex' are overlapping glyphs.
6324 2003-01-04  Werner LEMBERG  <wl@gnu.org>
6326         * font/devdvi/generate/texsy.map: Add `is'.
6327         * font/devps/symbolmap: Regenerated.
6328         * font/devdvi/*TC, MI, S: Regenerated.
6330         * tmac/dvi.tmac: Remove `is'.
6332 2003-01-03  Werner LEMBERG  <wl@gnu.org>
6334         `is' is now a text symbol (only relevant for dvi).  The math variant
6335         can be accessed with `integral'.
6337         * font/devX*/S: Regenerated.
6338         * font/devdvi/generate/texex.map: Remove `is'.
6339         * font/devdvi/EX: Updated.
6340         * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6341         * font/devlj4/generate/special.map: Ditto.
6342         * font/devlj4/S: Regenerated.
6343         * font/devps/generate/textmap: Add `integral'.
6344         * font/devps/S: Regenerated.
6346         * tmac/dvi.tmac: Define `is'.
6348         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6350         * src/preproc/tbl/main.cc (process_format): Fix error message.
6352 2003-01-02  Werner LEMBERG  <wl@gnu.org>
6354         * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6355         * font/devps/textmap: Fix entries for `ne' and `nc'.
6356         * font/devps/symbolmap: Regenerated.
6358         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6359         src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6360         `38', `58', `78', `-+', `|=', `nc', `ne'.
6362         * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6363         Use `schar' for `aq'.
6364         * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6365         * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6366         * tmac/tty.tmac: Add `ne'.
6368         * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6369         for fallback glyphs.
6371 2002-12-29  Werner LEMBERG  <wl@gnu.org>
6373         Add glyph `|='.
6375         * font/devX*/*: Regenerated.
6376         * font/devdvi/generate/ec.map: Remove `eq'.
6377         * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6378         Assign `|=' to position 39.
6379         * font/devdvi/*EC, S: Regenerated.
6380         * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6381         * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6382         Assign `|=' to position 549.
6383         * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6384         `equalmath'.
6385         Add `uni2243' for `|='.
6387         * tmac/ec.tmac: Add `eq'.
6388         * tmac/dvi.tmac: Add `=~'.
6389         * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6390         `|='.
6392 2002-12-21  Werner LEMBERG  <wl@gnu.org>
6394         * font/devdvi/generate/tc.map: Remove `**'.
6395         * font/devdvi/*TC: Regenerated.
6396         * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6397         `78', `<<', `>>'.
6398         * font/devutf8/NOTES: Updated.
6400         * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6401         Don't give default parameter to `set_macro'.
6402         * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6403         instead of `set_macro'.
6404         (charinfo::setx_macro): Implement it.
6405         (charinfo::set_macro): Don't change `mode'.
6407         * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6408         * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6409         * tmac/dvi.tmac: Define `!=' with `.schar'.
6411 2002-12-20  Werner LEMBERG  <wl@gnu.org>
6413         * font/devX*/S: Regenerated.
6414         * font/devdvi/generate/ec.map: Remove `pl'.
6415         * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6416         * font/devdvi/*{TC,EC}: Regenerated.
6417         * font/devhtml/R.proto: Add `-+'.
6418         Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6419         * font/devlbp/*: Remove `or'.
6420         * font/devlj4/generate/special.map: Remove `or'.
6421         * font/devlj4/S: Regenerated.
6422         * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6423         `seveneighths', `threeeighths'.
6424         Remove `plusmath'.
6425         Replace `minusplus' with `uni2213'.
6426         * font/devps/symbolmap: Regenerated.
6427         * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6428         Add `-+'.
6430         * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6431         function.
6432         * src/roff/troff/node.cc (troff_output_file::put_char_width):
6433         Call glyph_color and fill_color even if tcommand_flag isn't set.
6434         (make_node, node::add_char): Check not ci->is_fallback but
6435         ci->is_normal.
6437         * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6438         * tmac/ec.tmac: Add .rchar entry for `f/'.
6439         Don't remove `12', `14', `34'.
6440         Define `pl' to be always roman.
6441         * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6442         Define `18', `38', `58', `78'.
6443         * tmac/tty.tmac: Add `-+'.
6444         * tmac/dvi.tmac: Define `f/'.
6445         (dvi-frac): Use `f/'.
6446         * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6447         Define `18', `38', `58', `78'.
6449 2002-12-15  Colin Watson  <cjwatson@debian.org>
6451         * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6453 2002-12-10  Werner LEMBERG  <wl@gnu.org>
6455         Add glyph `tno', a textual variant of `no'.
6457         * font/devX*/*: Regenerated.
6458         * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6459         * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6460         * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6461         * font/devdvi/*: Regenerated.
6462         * font/devlbp/*: Add `tno'.
6463         * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6464         * font/devlj4/*: Regenerated.
6465         * font/devps/generate/textmap: Replace `no' with `tno'.
6466         * font/devps/generate/symbolchars: Add `no'.
6467         * font/devps/*: Regenerated.
6469         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6471         * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6472         * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6474         * NEWS: Updated.
6476         * tmac/dvi.tmac: Replace most `\\' with `\E'.
6477         Add definition for `sd'.
6478         * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6480         * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6482 2002-12-08  Werner LEMBERG  <wl@gnu.org>
6484         * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6485         mode to avoid rounding errors.
6486         (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6488         * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6489         src/roff/troff/troff.man: Improve documentation of -T.
6491 2002-12-07  Jeff Conrad  <jeff_conrad@msn.com>
6493         * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6494         (run_pipeline) [_WIN32]: Provide working function without `fork'.
6496 2002-12-06  Werner LEMBERG  <wl@gnu.org>
6498         * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6499         glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6500         Scaling Euro.sansserif glyphs down to have the same height as
6501         digits.
6502         Removed unnecessary points; added some extrema.
6504         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6505         Regenerated.
6507 2002-12-04  Werner LEMBERG  <wl@gnu.org>
6509         * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6510         and `Euro.symbol.bold.slanted'.
6511         Improve some glyph offsets and widths.
6512         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6513         Regenerated.
6514         * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6515         typo.
6516         * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6517         direcory.
6519         * tmac/europs.tmac: Updated to new glyph indices.
6520         Use Euro.symbol for font familiy `A'.
6522         * doc/groff.texinfo: Minor improvements.
6524 2002-12-02  Werner LEMBERG  <wl@gnu.org>
6526         * font/devdvi/generate.tc.map: s/%O/%0/.
6527         * font/devdvi/*TC: Regenerated.
6529         * src/roff/troff/div.cc (init_div_requests): Sorted.
6531         * tmac/dvi.tmac: Remove `Ye'.
6532         * tmac/ec.tmac: Remove `Ye'.
6533         Add .rchar entry for `de'.
6535         * man/groff.man, man/groff_diff.man: Document register `.pe'.
6536         * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6537         * NEWS: Updated.
6539 2002-11-30  Werner LEMBERG  <wl@gnu.org>
6541         Add PS font for various Euro glyphs.
6543         * font/devps/generate/freeeuro.sfd: New master font file for
6544         pfaedit.
6545         * font/devps/generate/sfdtopfa.pe: New conversion script for
6546         pfaedit.
6547         * font/devps/generate/Makefile (FONTS): Add `EURO'.
6548         (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6549         * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6550         `freeeuro.sfd'.
6551         * font/devps/EURO: Generated from `freeeuro.afm'.
6552         * font/devps/download: Add `freeuro.pfa'.
6553         * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6554         `freeeuro.pfa'.
6556         * tmac/europs.tmac: New file.
6557         * tmac/ps.tmac: Include `europs.tmac'.
6558         * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6560 2002-11-29  Werner LEMBERG  <wl@gnu.org>
6562         * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6563         * font/devdvi/S: Regenerated.
6564         * font/devhtml/R.proto: Fix `CR' and `ci'.
6565         Add `OK'.
6566         * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6567         Remove `bs'.
6568         * font/devps/symbolmap: Regenerated.
6569         * font/devutf8/R.proto: Fix `CR' and `ci'.
6570         Add `OK'.
6571         * font/devutf8/NOTES: Updated.
6573         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6574         `ci'.
6575         Add `OK'.
6576         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6578         * tmac/dvi.tmac: Add `lh' and `rh'.
6579         * tmac/Xps.tmac: Fix `lh' and `rh'.
6580         * tmac/X.tmac: Add `OK'.
6581         * tmac/lj4.tmac: Ditto.
6583 2002-11-24  Werner LEMBERG  <wl@gnu.org>
6585         * font/devX*/S: Regenerated.
6586         * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6587         `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6588         * font/devdvi/generate/texsy.map: Remove `or' glyph.
6589         * font/devdvi/S: Regenerated.
6590         * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6591         `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6592         `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6593         `bracketleftbt', `bracketrighttp', `bracketrightex',
6594         `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6595         `braceex', `braceleftex', `bracerightex', `bracerighttp',
6596         `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6597         `rb', and `bv'.
6598         * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6599         * font/devutf8/NOTES: Updated.
6600         * font/devlj4/generate/special.map: Add glyph `braceex'.
6601         * font/devlj4/S: Regenerated.
6603         * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6605 2002-11-14  Werner LEMBERG  <wl@gnu.org>
6607         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6608         and `vA'.
6609         Fix code for `an'.
6610         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6612         * doc/texinfo.tex: New version from texinfo 4.3.
6613         * doc/groff.texinfo: Updated for texinfo 4.3.
6614         Use @tie{} where appropriate.
6615         * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6616         * font/devdvi/generate/tc.map: Remove `rn'.
6617         * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6618         * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6619         Fix code for `an'.
6620         * font/devX100/*, font/devX100-12/*, font/devX75/*,
6621         font/devX75-12/*: Regenerated.
6623         * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6624         Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6625         Improve definition of `an'.
6626         * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6627         `ru'.
6628         * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6629         * tmac/X.tmac: Add definition for `or'.
6630         * tmac/Xps.tmac: Undo change 2002-11-05.
6631         * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6633 2002-11-11  Werner LEMBERG  <wl@gnu.org>
6635         * src/roff/troff/node.cc (troff_output_file::put_char): Always
6636         call flush_tbuf.
6638 2002-11-10  Werner LEMBERG  <wl@gnu.org>
6640         Added three new requests `schar', `fschar', and `rfschar'.  `schar'
6641         defines a glyph which is searched after the check for fonts declared
6642         with `.special' (and before the check for all mounted special
6643         fonts).  `fschar' defines a glyph for a particular font which is
6644         searched after the check for fonts declared with `.fspecial' (and
6645         before the check for fonts declared with `.special').  `rfschar'
6646         removes glyphs defined with `fschar'.
6648         * src/roff/troff/token.h (char_mode): New enum.
6649         Declare do_define_character.
6650         * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6651         `mode'.
6652         (charinfo::is_fallback): Updated.
6653         (charinfo::is_special): New method.
6654         * src/roff/troff/input.cc (do_define_character): Add and use
6655         optional second parameter used as a prefix for font-specific glyph
6656         names.
6657         (define_character, define_fallback_character): Updated.
6658         (define_special_character): New function.
6659         (init_input_requests): Add `schar'.
6660         (charinfo::charinfo, charinfo::set_macro): Updated.
6661         * src/roff/troff/node.cc: Include `stringclass.h'.
6662         (make_glyph_node): Handle special glyphs defined with `.schar' and
6663         `.fschar'.
6664         (define_font_special_character, remove_font_special_character): New
6665         functions.
6666         (init_node_requests): Sorted.
6667         Add `fschar' and `rfschar'.
6668         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6669         Document new requests.
6671         * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6672         * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6674 2002-11-08  Werner LEMBERG  <wl@gnu.org>
6676         Added new font `SC' (cmtex10) to devdvi.
6678         * devdvi/generate/Makefile (FONTS): Add `SC'.
6679         (SC): New rule.
6680         * devdvi/generate/textex.map: New map file for cmtex.
6681         * devdvi/SC: New.
6682         * devdvi/Makefile.sub (DEVFILES): Updated.
6683         * tmac/dvi.tmac: Add fspecial entries for SC.
6684         Add `MI', `S' and `CW' to the `special' call.  Otherwise, `SC' is
6685         found before `S' since the font position of `SC' is lower due to the
6686         gaps in DESC's `font' line.
6687         * tmac/ec.tmac: Add a `special' call.
6688         * NEWS: Updated.
6690         * font/devhtml/R.proto: Remove double entry for `ti'.
6691         * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6692         * tmac/tty-char.tmac: Remove entry for `bq'.
6693         * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6694         * tmac/ec.tmac: Don't remove `aq' glyph.
6695         * tmac/X.tmac: Fix entry for `em'.
6696         Add entries for `fo' and `fc'.
6697         * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6699         * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6700         documentation of `special' and `fspecial' requests.
6702 2002-11-05  Werner LEMBERG  <wl@gnu.org>
6704         * font/devascii/R.proto, font/devcp1047/R.proto,
6705         font/devlatin1/R.proto: Remove entry for `.i'.
6706         * font/devdvi/generate/textt.map: Add entry for `ad'.
6707         * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6708         font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6709         We need this for getting kerning values to compose `/l' and `/L'.
6710         * font/devdvi: Regenerated font definition files for CM fonts.
6711         * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6712         * font/devutf8/R.proto: Ditto.
6713         Remove double entry for `ti'.
6715         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6716         for (groff) ligatures, `la', and `ra'.
6717         Add "'C", "'c", `IJ', and `ij'.
6718         Remove double entry for `ti'.
6719         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6720         double entries.
6721         Add "'C", "'c", `IJ', and `ij'.
6722         Fix entries for (groff) ligatures, `la', and `ra'.
6724         * tmac/ps.tmac (ps-achar): New macro.
6725         Define "'c" and "'C".
6726         * tmac/tty.tmac: Add entry for `.i'.
6727         * tmac/X.tmac (X-achar): New macro.
6728         Define "'c", "'C", and `:Y'.
6729         Add entries for `IJ' and `ij'.
6730         * tmac/Xps.tmac (Xps-achar): New macro.
6731         Define "'c" and "'C".
6732         Add entries for `IJ' and `ij'.
6733         * tmac/lbp.tmac (lbp-achar): New macro.
6734         Add fallback characters for all groff ligatures and many other
6735         glyphs.
6736         * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6737         Add entries for `/l' and `/L'.
6738         Define "'c" and "'C".
6739         Add entries for `IJ' and `ij'.
6741 2002-11-02  Larry Kollar  <kollar@alltel.net>
6743         * PROBLEMS: Document how to solve Mac OS X compilation problems.
6745 2002-11-02  Werner LEMBERG  <wl@gnu.org>
6747         Adding support for composite glyphs: \[xxx yyy ...] and the
6748         `composite' request.
6750         * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6751         to Unicode-based glyph names.
6752         * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6753         glyph names to groff glyph names.
6754         * src/roff/troff/uniuni.cc: New file for canonically decomposing
6755         Unicode-based glyph names.
6756         * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6757         for handling Unicode glyph names.
6758         * src/roff/troff/input.cc: Include unicode.h.
6759         (composite_glyph_name): New function.
6760         (token::next) <'['>: Handle Unicode glyph names and composite
6761         glyphs.
6762         (composite_dictionary): New dictionary for the `composite' request.
6763         (composite_request): Implement `composite' request.
6764         (init_input_requests): Add `composite'.
6765         Alphabetically sorted.
6766         * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6767         commented out).
6768         (init_env_requests): Alphabetically sorted.
6769         Removed `tas' and `tar' (already commented out).
6770         * src/roff/troff/Makefile.sub: Updated.
6772 2002-10-31  Ruslan Ermilov  <ru@FreeBSD.org>
6774         * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6775         of options.
6777 2002-10-29  Werner LEMBERG  <wl@gnu.org>
6779         Fix computation of .trunc register.  Additionally, its value (and
6780         the value of the .ne register) is now always set before entering the
6781         trap.
6783         * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6784         `needed_space' before calling `space'.
6785         (top_level_diversion::space): Remove special code for 'sp before the
6786         first page.
6787         Call `begin_page' with the discarded space as a parameter.
6788         (top_level_diversion::begin_page): Add optional parameter to set
6789         `truncated_space'.
6790         * src/roff/troff/div.h: Updated.
6792         * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6793         \n[.ne].
6795         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6796         (LP): Remove superfluous call to `br'.
6797         * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6798         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6800 2002-10-26  Werner LEMBERG  <wl@gnu.org>
6802         * tmac/doc-ditroff: Remove useless switch/variable -rC.
6803         (doc-setup-header): Don't set page register `%'.
6804         * tmac/doc-nroff: Remove variable `C'.
6805         (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6806         (doc-setup-header): Don't set page register `%'.
6807         Don't call `bp'.
6808         * tmac/doc-common (doc-header): Call `ns'.
6809         (doc-paragraph): Protect .sp with .br so that it survives traps
6810         possibly set by the user.
6811         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6813         * tmac/doc*: Replace ' with . for consistency if no effect.
6815 2002-10-26  Werner LEMBERG  <wl@gnu.org>
6817         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6818         so that it survives traps possibly set by the user.
6820         * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6821         (troff_output_file::set_font): Call flush_tbuf if necessary.
6822         (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6823         flush_tbuf and do_motion only if necessary.
6824         (troff_output_file::start_special,
6825         troff_output_file::put_char_width, troff_output_file::put_char,
6826         troff_output_file::draw): Updated.
6827         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6828         vmotion_node::tprint): Undo change 2002-10-23.
6830 2002-10-25  Werner LEMBERG  <wl@gnu.org>
6832         * tmac/www.tmac (DC): Fix case of overlapping images.
6834 2002-10-23  Werner LEMBERG  <wl@gnu.org>
6836         * src/roff/troff/node.cc (troff_output_file::fill_color,
6837         troff_output_file::glyph_color): Set current color before testing
6838         color_flag.
6839         (troff_output_file::put_char_width, troff_output_file::put_char,
6840         troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6841         before glyph_color.
6842         (troff_output_file::file_color, troff_output_file::glyph_color):
6843         Call do_motion.
6844         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6845         vmotion_node::tprint): Move first, then call fill_color.
6847 2002-10-20  Werner LEMBERG  <wl@gnu.org>
6849         * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6850         possible to use multiple main macro packages.
6852 2002-10-19  Werner LEMBERG  <wl@gnu.org>
6854         * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6855         (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6856         (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6857         is set.
6858         * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6859         `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6861 2002-10-16  Werner LEMBERG  <wl@gnu.org>
6863         * NEWS, doc/webpage.ms: Updated.
6865 2002-10-14  Werner LEMBERG  <wl@gnu.org>
6867         * src/roff/troff/node.cc (troff_output_file::put_char_width,
6868         troff_output_file::put_char, troff_output_file::fill_color,
6869         troff_output_file::glyph_color): Handle case where color pointer
6870         is null.
6872 2002-10-13  Ruslan Ermilov  <ru@FreeBSD.org>
6874         Add the new -r option to grotty.  It is similar to the -i option
6875         except it tells grotty(1) to use the `reverse video' attribute to
6876         render italic fonts.
6878         * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6879         (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6880         (tty_printer::make_underline, tty_printer::put_color,
6881         tty_printer::end_page): Use it.
6882         (main): Add -r switch.
6883         (usage): Updated.
6884         * src/devices/grotty/grotty.man: Document it.
6886 2002-10-11  Ruslan Ermilov  <ru@FreeBSD.org>
6888         * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6889         cast to `unsigned char' to properly read patterns with 8bit
6890         characters.
6892 2002-10-08  Werner LEMBERG  <wl@gnu.org>
6894         * REVISION: Increased to 2.
6896 Local Variables:
6897 version-control: never
6898 coding: latin-1
6899 End: