* doc/Makefile.sub (uninstall_sub): Fix names for info files.
[s-roff.git] / ChangeLog
blob707a20bc6fc7435b0eae840964b84c77d309ed8c
1 2006-11-21  Werner LEMBERG  <wl@gnu.org>
3         * doc/Makefile.sub (uninstall_sub): Fix names for info files.
5 2006-11-18  Werner LEMBERG  <wl@gnu.org>
7         * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
8         information from Tom Van Vleck <thvv@multicians.org>.
10 2006-11-16  Werner LEMBERG  <wl@gnu.org>
12         * tmac/62bit.tmac: New macro package.
13         * tmac/Makefile.sub (NORMALFILES): Add it.
14         * NEWS: Document it.
16         * tmac/trace.tmac: Protect against being loaded again.
17         (nr): Always show result.
19         * doc/groff.texinfo (Input Encodings): Document latin-5.
21         * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
23 2006-11-13  Werner LEMBERG  <wl@gnu.org>
25         * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
26         on negative trap positions.
28 2006-11-10  Werner LEMBERG  <wl@gnu.org>
30         * Makefile.comm (.man.n): Handle @DATASUBDIR@.
32 2006-11-09  Werner LEMBERG  <wl@gnu.org>
34         * INSTALL: Move information about external installation from
35         INSTALL.gen into this file.
36         Updated.
38         * INSTALL.gen: Update to new version (from texinfo CVS).
40 2006-11-09  Bernd Warken
42         * INSTALL.gen: Extent the file by information on `external
43         installation'.  Reorder the installation instruction as `normal
44         installation'. 
46 2006-11-08  Werner LEMBERG  <wl@gnu.org>
48         * doc/Makefile.sub (install_data): Take care of proper paths while
49         installing info files.  Bug reported by Bernd Warken.
51 2006-11-06  Bernd Warken
53         * src/roff/grog/grog.pl: Rewrite.
54         - Call by `#! /usr/bin/env perl'.  That isn't replaced.
55         - Rename usage() to version().
56         - Use warnings.
57         - For `use strict', start all global variables with an upper case
58         character.  Use `my' for all variables.  Use several new variables.
59         - Add option `-h'.
60         - Add copyright to GPL and Emacs comment.
61         - Handle several `-m*' options.
62         - Fix handling of `-ms' and `-mm'.  Add .TL and .NH.
63         - Allow options after file names.
64         - Allow only one `-' parameter (standard input).
65         - Add option abbreviations.
66         - Expand the usage information.
67         - Add `chem'.
68         - Add single quote "'" as additional first character and allow
69         arbitrary space after the first character.
71         * src/roff/grog/grog.sh: Rewrite.
72         - Remove option `-e' of `sed'.
73         - Allow file names with space characters.
74         - Add option `-h'.
75         - Add copyright to GPL.
76         - Handle several `-m*' options.
77         - Fix handling of `-ms' and `-mm'.  Add .TL and .NH.
78         - Allow options after file names.
79         - Allow only one `-' parameter (standard input).
80         - Add option abbreviations.
81         - Expand the usage information.
82         - Add `chem'.
83         - Add single quote "'" as additional first character and allow
84         arbitrary space after the first character.
86         * src/roff/grog/Makefile.sub:
87         - Add copyright to GPL.
88         - Remove `grog:'.  Move `grog.old:' to `grog:' in order to have a
89         fair chance to choose between the shell version and the Perl
90         version of `grog'.  This is now again comparable to grog in groff
91         version 1.10.
93         * src/roff/grog/grog.man: Rewrite.
94         - Move the license to GPL.
95         - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
96         - Take over some setup and macros from `groffer'.
97         - Add information on options.
99 2006-10-28  Werner LEMBERG  <wl@gnu.org>
101         * tmac/trace.tmac: Improve tracing of `.nr'.
102         Trace `.substring' also.
104         * NEWS: Updated.
106 2006-10-28  Bernd Warken
108         * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
109         of groff development site, fix fonts.
111         * News: Add information on `chem' and `groffer'.
113 2006-10-26  Bernd Warken
115         * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
117 2006-10-26  Werner LEMBERG  <wl@gnu.org>
119         Add `\%^' escape to handle the parameters to a macro as a string
120         argument.
122         * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
124         * src/roff/troff/input.cpp (input_iterator, input_stack,
125         macro_iterator): Add `space_follows_arg' member function.
126         (macro_iterator::add_arg): Add parameter to set the `space_follows'
127         flag.
128         (arg_list): Add member `space_follows'.
129         Update constructor and all callers.
130         (decode_args): Store discarded double quotes.
131         (interpolate_args): Handle DOUBLE_QUOTE.
132         Add `\%^' escape.
133         (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
135         * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
137         * docs/groff.texinfo (Parameters), man/groff.man,
138         man/groff_diff.man, NEWS: Document it.
140 2006-10-24  Bernd Warken
142         * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
144 2006-10-24  Werner LEMBERG  <wl@gnu.org>
146         * tmac/groff_trace.man: Mention problem with `\\\\'.
148 2006-10-23  Werner LEMBERG  <wl@gnu.org>
150         * doc/groff.texinfo (Expressions): Improve documentation of `!'.
152         * tmac/trace.tmac (return): Don't call `substring'.
154 2006-09-10  Werner LEMBERG  <wl@gnu.org>
156         * src/roff/troff/input.cpp (read_size): Revert previous change
157         w.r.t. `\s-[-...]'.
159         * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
161 2006-09-09  Werner LEMBERG  <wl@gnu.org>
163         * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
164         behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
165         point size to 1).  Reported by Gunnar Ritter.
166         Also catch `\s-[-...]' and friends (causing an error).
168 2006-09-06  Werner LEMBERG  <wl@gnu.org>
170         * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
171         space only if there is no previous space.  This fixes a bug which
172         caused unwanted filling of the last line in a paragraph.  Thanks to
173         Gunnar Ritter for an analysis.
175 2006-09-03  Werner LEMBERG  <wl@gnu.org>
177         * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
178         Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
180 2006-09-01  Nick Stoughton  <nick@msbit.com>
181             Werner LEMBERG  <wl@gnu.org>
183         Add a request `pev' to print environment information (similar to
184         `pnr' and `ptr' to print number registers and traps).
186         * src/roff/troff/env.h (environment): Add member function print_env.
188         * src/roff/troff/env.cpp: (environment::print_env): New function to
189         print a given environment state.
190         (print_env): New global function to iterate through the
191         environments, printing each one.
192         (init_env_requests): Register `pev'.
194         * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
195         NEWS: Document `pev' request.
197 2006-09-01  Bernd Warken
199         * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
200         `-I' to `dir'.
202 2006-09-01  Werner LEMBERG  <wl@gnu.org>
204         * src/preproc/pic/main.cpp (usage): Add missing options.
206 2006-08-25  Werner LEMBERG  <wl@gnu.org>
208         * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
209         in file names.
211 2006-08-19  Werner LEMBERG  <wl@gnu.org>
213         * configure: Regenerated.
215 2006-08-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
217         * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
218         logic; it previously caused an `expr' syntax error, if no version of
219         `makinfo' was present.  Also, remove dependency on `makeinfo' in VPATH
220         builds, if an up to date `groff.info' is present in either `builddir'
221         or in `srcdir'.
223 2006-08-12  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
225         * font/devps/prologue.ps: Add BPhook.
227         * src/devices/grops/grops.man: Document BPHook.
228         Reorder some sections for better readability.
230 2006-08-12  Werner LEMBERG  <wl@gnu.org>
232         * src/include/lib.h (getlocale): New macro.
233         (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
234         suggested by Bruno.
236         * src/preproc/preconv/preconv.cpp (main): Use getlocale.
238 2006-08-11  Werner LEMBERG  <wl@gnu.org>
240         Add new flag to .cflags to enable hyphenation without looking at
241         hcode values.
243         * src/roff/troff/charinfo.h (charinfo): New enumeration value
244         `IGNORE_HCODES'.
245         New member function `ignore_hcodes'.
247         * src/roff/troff/node.cpp (break_char_node::add_self,
248         node::add_char): Updated.
250         * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
252 2006-08-09  Werner LEMBERG  <wl@gnu.org>
254         Support composite Unicode characters again.  Reported by Colin.
256         * font/devhtml/R.proto: Renamed to...
257         * font/devhtml/R.in: This.
259         * font/devutf8/R.proto: Renamed to...
260         * font/devutf8/R.in: This.
261         Add `charset' line.
263         * font/make-Rproto: New script.
264         * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
266 2006-07-26  Werner LEMBERG  <wl@gnu.org>
268         * README: Fix description of CVS access.  Reported by Joachim.
270 2006-07-11  Werner LEMBERG  <wl@gnu.org>
272         Add a request `.fzoom' and a number register `.zoom' to magnify
273         fonts.
275         * src/include/font.h (font): Add member variable `zoom'.
276         Add member functions `set_zoom' and `get_zoom'.
277         Remove `static' attribute from `scale' member function.
279         * src/libs/libgroff/font.cpp (font::font): Updated.
280         (scale_round): New version with three parameters to handle zoom
281         factor.
282         (font::scale, font::get_width): Handle zoom factor.
283         (font::set_zoom, font::get_zoom): New functions.
284         (font::load): Handle `zoom' while computing `space_width'.
286         * src/roff/troff/env.h: Declare `env_get_zoom'.
287         (environment): Add member function `get_zoom'.
289         * src/roff/troff/env.cpp (environment::get_zoom): New function.
290         (init_env_requests): Initialize `.zoom' register.
292         * src/roff/troff/node.cpp (font_info): New member functions
293         `set_zoom' and `get_zoom'.
294         (tfont): New member function `get_zoom'.
295         (env_get_zoom): New function.
296         (troff_output_file::set_font): Handle zoom factor.
297         (font_zoom_request): New function.
298         (init_node_requests): Initialize `fzoom' request.
300         * docs/groff.texinfo (Changing Fonts), man/groff.man,
301         man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
302         register.
304         * src/roff/troff/TODO: Updated.
306 2006-07-10  Werner LEMBERG  <wl@gnu.org>
308         * doc/groff.texinfo (Drawing Requests): Improve documentation of
309         \D'P ...'.
311 2006-07-02  Werner LEMBERG  <wl@gnu.org>
313         * man/groff_tmac.man: Document usage of .PSPIC within diversions.
315 2006-07-01  Werner LEMBERG  <wl@gnu.org>
317         * tmac/pspic.tmac: Make .PSPIC work for all devices.
318         Print image file name for devices which don't support PS image
319         inclusion.
320         Handle multiple inclusions.
321         Add lots of comments.
323         * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
324         pspic.tmac.
326         * tmac/troffrc: Load pspic.tmac.
328         * man/groff_tmac.man: Update .PSPIC documentation.
330         * NEWS: Updated.
332 2006-06-29  Werner LEMBERG  <wl@gnu.org>
334         * src/roff/troff/input.cpp (interpolate_macro):
335         s/probably/possibly/, as suggested by Keith.
337 2006-06-28  Werner LEMBERG  <wl@gnu.org>
339         Add support for \D'p...' to grotty.
341         * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
342         its code to...
343         (tty_printer::line): This function.
344         (tty_printer::draw): Rewritten; just call either draw_line or
345         draw_polygon.
346         (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
348         * src/devices/grotty/grotty.man, NEWS: Document it.
350 2006-06-27  Werner LEMBERG  <wl@gnu.org>
352         * src/preproc/refer/command.h (have_bibliography): New variable
353         declaration.
355         * src/preproc/refer/command.cpp (bibliography_command): Set
356         `have_bibliography'.
358         * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
359         (output_references): Emit warning only if `have_bibliography' is
360         set.
362 2006-06-15  Michail Vidiassov  <master@iaas.msu.ru>
364         * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
365         * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
366         and zapfdr.afm.
368 2006-06-15  Werner LEMBERG  <wl@gnu.org>
370         * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
371         macro (as suggested by Tadziu Hoffmann).
373 2006-06-12  Werner LEMBERG  <wl@gnu.org>
375         * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
376         macro (as suggested by Tadziu Hoffmann).
378 2006-06-05  Werner LEMBERG  <wl@gnu.org>
380         * tmac/strip.sed: Strip `\#' also.
382         * doc/groff.texinfo (Operators in Conditionals): Document usage of
383         \? for string comparison.
385 2006-06-04  Werner LEMBERG  <wl@gnu.org>
387         * doc/groff.texinfo: Add more index entries for copy-in mode.
388         (Changing Fonts) <.ft>: Document that a font definition file must
389         not be called `DESC'.
391 2006-05-31  Werner LEMBERG  <wl@gnu.org>
393         * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
394         here.
396         * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
397         (PROCESSEDEXAMPLEFILES): Here.
399 2006-05-30  Werner LEMBERG  <wl@gnu.org>
401         * src/libs/libgroff/font.cpp (font::load): Reject fonts called
402         `DESC'.
403         Reduce number of false positives for `.if F ...' conditionals.
404         Improve warning messages.
406 2006-05-29  Werner LEMBERG  <wl@gnu.org>
408         * tmac/Makefile.sub: Add copyright notice.
409         (NORMALFILES): Add man.tmac and ms.tmac.
410         (SPECIALFILES): Remove man.tmac and ms.tmac.
411         (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
412         (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
413         specially.
414         (stamp-sed): Don't handle man.tmac and ms.tmac.
415         Remove obsolete components in sed's regexp.
417         * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
419         * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
421 2006-05-28  Werner LEMBERG  <wl@gnu.org>
423         * doc/groff.texinfo (History): Correct death circumstances of Joe
424         Ossanna.
426 2006-05-27  Werner LEMBERG  <wl@gnu.org>
428         * tmac/an-old.tmac (an-do-tag): Simplify.
430 2006-05-26  Werner LEMBERG  <wl@gnu.org>
432         * tmac/an-old.tmac (an-do-tag): Make margin characters work.
433         (an-header, an-p-footer): Use named environment.
435         * src/roff/troff/env.cpp (environment::copy): Copy margin character
436         node.
438 2006-05-21  Werner LEMBERG  <wl@gnu.org>
440         * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
441         omissions.
443 2006-05-11  Keith Marshall  <keith.d.marshall@ntlworld.com>
445         * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
447 2006-05-10  Keith Marshall  <keith.d.marshall@ntlworld.com>
449         * src/roff/groff/groff.man: Update copyright notice.
450         Improved wording to describe effect of `-Z' option.
452 2006-05-06  Werner LEMBERG  <wl@gnu.org>
454         * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
455         Normalize handling of `"' in arguments.
456         (PIMG): Remove debug message.
457         Simplify code.
459 2006-05-05  Werner LEMBERG  <wl@gnu.org>
461         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
462         swallow character immediately after `\[...]'.
463         Simplify code.
465 2006-05-02  Gaius Mulley  <gaius@glam.ac.uk>
467         * tmac/www.tmac (PIMG): Fix the HTML device specific components.
469 2006-05-02  Larry Kollar  <kollar@alltel.net>
471         * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
472         option is missing.
474 2006-04-30  Michail Vidiassov  <master@iaas.msu.ru>
476         * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
477         information as a comment in output.
478         * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
480 2006-04-26  Werner LEMBERG  <wl@gnu.org>
482         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
483         Handle current_paragraph only if it is non-NULL.
485         * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
486         <'F'>): Use `get_extended_arg' to behave as documented.  Reported by
487         Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
490         Surround the (pseudo) file name for the .pso request with `<' and
491         `>'.
493         * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
494         second parameter to `really_put_filename' and `put_filename'.
495         (troff_output_file::really_put_filename): Emit `<' and `>' around
496         filename if second argument is set.
497         * src/roff/troff/node.h: Updated.
499         * src/roff/troff/input.cpp (file_iterator::file_iterator,
500         file_iterator::set_location): Update to changes in node.cpp.
502 2006-04-25  Tetsurou Okazaki  <okazaki@FreeBSD.org>
504         * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
505         preprocessor expression (I18N -> HAVE_ICONV).
506         (main): Fix handling of option `-h'.
507         Fix conditional preprocessor expression.
509 2006-04-04  Werner LEMBERG  <wl@gnu.org>
511         Implement new number register `.br' which is set to 1 if a macro has
512         been called as .foo and to 0 if called as 'bar.  This is useful for
513         -mtrace so that requests can be reliably traced too.
515         * src/roff/troff/input.cpp (input_iterator): Add virtual function
516         `get_break_flag'.
517         (macro_iterator): Add `with_break' member and `get_break_flag'
518         function.
519         Update constructors.
520         (input_stack): Add function `get_break_flag'.
521         (break_flag_reg): New number register class.
522         (input_init_requests): Register `.br'.
524         * src/roff/troff/TODO: Updated.
526         * tmac/trace.tmac: s/!!sp/!!!sp/.
527         Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
529         * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
530         NEWS: Document it.
532 2006-03-29  Werner LEMBERG  <wl@gnu.org>
534         * src/devices/grops/ps.cpp: s/must not/should not/ in warning
535         messages where appropriate.
537 2006-03-28  Werner LEMBERG  <wl@gnu.org>
539         * configure.ac: Call AC_PROG_EGREP.
540         * configure: Regenerated.
542         * Makefile.in (EGREP): New variable.
543         (MDEFINES): Add $(EGREP).
545         * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
546         (bug reported by Robert Goulding <Goulding.2@nd.edu>).
547         Use @EGREP@.
549         * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
551 2006-03-27  Werner LEMBERG  <wl@gnu.org>
553         Add two requests `.device' and `.devicem' which are equivalent to
554         `\X' and `\Y', respectively.
556         * src/roff/troff/input.cpp (device_request, device_macro_request):
557         New functions.
558         (init_input_requests): Register them.
560         * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
561         man/groff.man, NEWS: Document them.
563 2006-03-27  Gaius Mulley  <gaius@glam.ac.uk>
565         * src/roff/troff/input.cpp (encode_char): Emit special characters
566         for -Thtml as `\[...]'.
567         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
569         * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
571 2006-03-27  Werner LEMBERG  <wl@gnu.org>
573         * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
574         files.
576 2006-03-26  Werner LEMBERG  <wl@gnu.org>
578         * doc/groff.texinfo (Writing Macros): More documentation on
579         end-of-macro symbol of `.de'.
580         (Diversions): Minor addition to `.di' description.
582         * src/devices/grops/grops.man: Some clarifications regarding
583         insertion of PostScript snippets.
585 2006-03-25  Michail Vidiassov  <master@iaas.msu.ru>
587         Add rules to generate `symbolsl.afm'.
589         * fonts/devps/generate/zapfdr.sed,
590         fonts/devps/generate/symbolsl.awk: New files.
592         * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
593         variables.
594         (SS, clean): Updated.
595         (freeeuro.afm): Use $(srcdir).
596         (symbolsl.afm): New rule.
597         (zapfdr.afm): Use zapfdr.sed.
599 2006-03-22  Dwight Aplevich  <aplevich@uwaterloo.ca>
601         * src/preproc/pic/pic.y (expr <INT>): Fix code.
603 2006-03-22  Jörgen Grahn <jgrahn@algonet.se>
605         * tmac/sv.tmac: Add missing translations and activate support for
606         other macro packages.
608 2006-03-21  Francis GUDIN  <fgudin@nerim.net>
610         * tmac/doc-syms (Dx): New macro to identify DragonFly.
611         (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
612         doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
613         strings.
614         (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
615         doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
616         doc-operating-system-DragonFly-*): New operating system strings.
618         * tmac/groff_mdoc.man, NEWS: Document `Dx'.
620 2006-03-21  Werner LEMBERG  <wl@gnu.org>
622         * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
623         both DWB pic and dpic, make
625           right;
626           line then down;
628         equal to
630           right;
631           line right then down;
633         instead of
635           right;
636           line 0 then down;
638         * doc/pic.ms: Document this.
640 2006-03-20  Werner LEMBERG  <wl@gnu.org>
642         * doc/pic.ms: With permission of Eric Raymond, put it under the
643         GPL.
645         * NEWS: Updated.
647 2006-03-19  Werner LEMBERG  <wl@gnu.org>
649         * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
651         * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
652         attribute in combination with `with'.  Bug reported by Jennifer
653         Sayers <jenjen@mail.usyd.edu.au>.
655 2006-03-19  Miklos Somogyi  <msom@netspace.net.au>
657         * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
658         `.sp'.
660 2006-03-18  Werner LEMBERG  <wl@gnu.org>
662         * LICENSE: Renamed to...
663         * LICENSES: This.  Collect all licensing information in this file.
664         * tmac/README, src/libs/snprintf/README: Removed.
666         * src/devices/grops/grops.man: Add section how to install fonts.
668         * src/utils/xtotroff/xtotroff.c: Add GPL.
670 2006-03-17  Werner LEMBERG  <wl@gnu.org>
672         * Makefile.comm (.y.cpp): Fix #line arguments in output.
674 2006-03-13  Werner LEMBERG  <wl@gnu.org>
676         * src/preproc/tbl/tbl.man: Mention default length of text blocks.
678         * tmac/doc-common (Os): Add more Darwin versions.
679         * tmac/groff_mdoc.man: Document them.
681         * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
682         works with \N'...' also.
683         * man/groff_diff.man: Ditto.  Remove use of future tense where
684         possible.
686 2006-03-12  Michail Vidiassov  <master@iaas.msu.ru>
688         * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
689         fonts/devps/zapfdr.ps: Add `%%EndComments' line.
691 2006-03-10  Larry Kollar  <kollar@alltel.net>
693         * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
695 2006-03-10  Werner LEMBERG  <wl@gnu.org>
697         * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
698         ps_printer::do_mdef): Overlong lines now cause a warning message,
699         not an error.
701 2006-03-09  Werner LEMBERG  <wl@gnu.org>
703         * font/devps/generate/make-zapfdr: New script for generating
704         `zapfdr.ps'.
706 2006-03-08  Werner LEMBERG  <wl@gnu.org>
708         * doc/groff.css (pre): Fix `background-color' value.
710 2006-03-04  Larry Kollar  <kollar@alltel.net>
712         * tmac/groff_ms.man: Document PT, HD, and BT.
714 2006-03-04  Werner LEMBERG  <wl@gnu.org>
716         * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
717         for single-letter glyph names.
719 2006-03-02  Werner LEMBERG  <wl@gnu.org>
721         * tmac/sv.tmac: New file; currently holding only the Swedish strings
722         for -mm.
723         * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
724         from CTAN.
725         * tmac/README: Updated.
727 2006-02-27  Werner LEMBERG  <wl@gnu.org>
729         * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
730         * tmac/fr.tmac: Add French translations.
732         * tmac/composite.tmac: Add entry for `:'.
734 2006-02-26  Werner LEMBERG  <wl@gnu.org>
736         * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
737         (CLEANADD): Use it.
738         (install_html, uninstall_sub): Updated.
740 2006-02-26  Bruno Haible  <bruno@clisp.org>
742         Introduce Unicode fonts.
744         * font/devhtml/DESC.proto: Mark as unicode.
745         * font/devhtml/R.proto: Remove all charset entries that are already
746         in glyphuni.cpp.
747         * font/devutf8/DESC.proto: Mark as unicode.
748         * font/devutf8/R.proto: Remove all charset entries.
749         * src/include/font.h (font): New static field `is_unicode'.
750         Change order of fields.
751         * src/libs/libgroff/font.cpp: Include unicode.h.
752         (font::font): Update for changed order of fields.
753         (font::contains, font::get_width, font::get_height, font::get_depth,
754         font::get_italic_correction, font::get_left_italic_correction,
755         font::get_subscript_correction, font::get_character_type,
756         font::get_code, font::get_special_device_encoding): Handle both the
757         explicitly enumerated glyphs and use general code for Unicode fonts.
758         (font::load): Make the charset section optional when the font is
759         declared unicode.
760         (font::load_desc): Recognize the `unicode' attribute.
761         * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
763 2006-02-26  Claudio Fontana  <claudio@gnu.org>
765         * Makefile.in: Add comment about DESTDIR.
767         * Makefile.sub: Add DESTDIR to install and uninstall targets
768         to support staged installations.
769         * Makefile.comm: Likewise.
770         * doc/Makefile.sub: Likewise.
771         * contrib/eqn2graph/Makefile.sub: Likewise.
772         * contrib/gdiffmk/Makefile.sub: Likewise.
773         * contrib/grap2graph/Makefile.sub: Likewise.
774         * contrib/pic2graph/Makefile.sub: Likewise.
775         * src/devices/xditview/Makefile.sub: Likewise.
776         * src/preproc/eqn/Makefile.sub: Likewise.
777         * src/roff/grog/Makefile.sub: Likewise.
778         * src/roff/nroff/Makefile.sub: Likewise.
779         * src/utils/afmtodit/Makefile.sub: Likewise.
780         * src/utils/indxbib/Makefile.sub: Likewise.
781         * tmac/Makefile.sub: Likewise.
783 2006-02-24  Werner LEMBERG  <wl@gnu.org>
785         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
786         for \-.
787         Remove commented out entries for \' and \` (there are no such glyph
788         names).
790         * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
791         commented out entries for \' and \`.
794         * */*: s/legal/valid/ where appropriate.
796 2006-06-23  Werner LEMBERG  <wl@gnu.org>
798         * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
799         and \` entries.
801 2006-02-22  Werner LEMBERG  <wl@gnu.org>
803         Remove all remaining traces from the `shc' glyph.
805         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
806         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
807         entry for `shc'.
809         * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
810         entry with unnamed glyph.
812         * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
814         * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
815         specially.
817 2006-02-22  Bruno Haible  <bruno@clisp.org>
819         Concretize the `glyph' datatype.
821         * src/include/font.h (glyph): Remove class.
822         (glyph): Renamed from struct `glyphinfo'.
823         (glyph_to_index): New inline function.
824         (glyph_to_name): Make extern, not inline.
825         (glyph_to_number): Update.
826         (font): Use `glyph *' instead of `glyph'.
828         * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
829         `glyph'.  Make `name' field public.
830         (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
831         instead of `glyph'.
832         (glyph_to_name): Renamed from `glyph::glyph_name'.
834         * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
835         Use `glyph *' instead of `glyph'.
837         * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
838         `glyph *' instead of `glyph'.
839         (glyph_to_name): Renamed from `glyph::glyph_name'.
841         * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
842         and `glyph_to_index' instead of `glyph::glyph_index'.
844         * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
845         * src/libs/libdriver/printer.cpp: Likewise.
846         * src/devices/grodvi/dvi.cpp: Likewise.
847         * src/devices/grohtml/post-html.cpp: Likewise.
848         * src/devices/grolbp/lbp.cpp: Likewise.
849         * src/devices/grolj4/lj4.cpp: Likewise.
850         * src/devices/grops/ps.cpp: Likewise.
851         * src/devices/grotty/tty.cpp: Likewise.
853 2006-02-22  Werner LEMBERG  <wl@gnu.org>
855         * font/devdvi/generate/tc.map: Add `sr' glyph.
856         * font/devdvi/*TC: Regenerated.
858         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
859         for `sqrt'.
861 2006-02-21  Werner LEMBERG  <wl@gnu.org>
863         * man/groff_char.man: Explain `***' marker.
865 2006-02-17  Bruno Haible  <bruno@clisp.org>
867         * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
868         methods and fields from *_index to *_glyph.
869         (character_indexer::named_char_glyph): Test for `charNNN' name
870         here...
871         (name_to_glyph): ... not here.
873 2006-02-17  Bruno Haible  <bruno@clisp.org>
875         * src/include/font.h (name_to_glyph): Renamed from
876         font::name_to_index.
877         (number_to_glyph): Renamed from font::number_to_index.
878         (glyph_to_name): Renamed from font::index_to_name.
879         (glyph_to_number): Renamed from font::index_to_number.
880         * src/libs/libgroff/nametoindex.cpp: Likewise.
881         * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
882         charinfo::get_index.
884         * src/roff/troff/input.cpp: All callers changed.
885         * src/roff/troff/node.cpp: Likewise.
886         * src/libs/libgroff/font.cpp: Likewise.
887         * src/devices/grops/ps.cpp: Likewise.
888         * src/devices/grohtml/post-html.cpp: Likewise.
889         * src/libs/libdriver/printer.cpp: Likewise.
891 2006-02-17  Werner LEMBERG  <wl@gnu.org>
893         * src/include/ptable.h, src/include/itable.h
894         (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
895         of external symbol `next_ptable_size' (used by both header files).
897 2006-02-15  Bruno Haible  <bruno@clisp.org>
899         * src/include/font.h (glyphinfo): New class.
900         (glyph): Change internal representation.
901         Change constructor signature.
902         New method glyph::glyph_number().
903         (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
904         glyph::operator==, glyph::operator!=): Update.
905         (font::index_to_name, font::index_to_number): New functions.
907         * src/include/itable.h: New file, based on src/include/ptable.h.
909         * src/libs/libgroff/nametoindex.cpp: Include itable.h.
910         (class charinfo): New class.
911         (class character_indexer): Change table result type from `int' to
912         `class charinfo'.
913         Add table with integer key.
914         (character_indexer::character_indexer): Update.
915         (character_indexer::ascii_char_index): Update.
916         (character_indexer::numbered_char_index): Use NULL as name, not a
917         string starting with a space.
918         (character_indexer::named_char_index): Update.
919         (font::number_to_index, font::name_to_index): Remove no-op cast.
920         (glyph::glyph_name): New method.
921         * src/roff/troff/charinfo.h (class charinfo): Inherit from class
922         glyphinfo.
923         (NUMBERED): Remove flag bit.
924         (charinfo::numbered, charinfo::get_index): Update.
926         * src/roff/troff/input.cpp (charinfo::charinfo): Update.
927         (charinfo::set_number, charinfo::get_number): Update.
928         (glyph::glyph_name): New method.
930 2006-02-15  Werner LEMBERG  <wl@gnu.org>
932         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
933         entries for `>>', `<<', `*f', and `+f'.  Reported by Bruno.
935 2006-02-13  Werner LEMBERG  <wl@gnu.org>
937         * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
938         dvips.
940 2006-02-11  Werner LEMBERG  <wl@gnu.org>
942         * src/include/font.h: s/glyph_t/glyph/.
943         Update all callers.
945         * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
946         s/output_character_t/output_character/.
948 2006-02-11  Bruno Haible  <bruno@clisp.org>
950         New accessor method glyph_t::glyph_name().
952         * src/include/ptable.h (declare_ptable): Add a return value to the
953         `define' method, and declare a `lookupassoc' method.
954         (implement_ptable): Return the stored key in `define'.  Implement
955         lookupassoc.
956         * src/include/font.h (glyph_t): Add `name' field.  Add an argument
957         to the constructor.
958         (glyph_t::glyph_name): New method.
960         * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
961         return type of methods and field member type to glyph_t.
962         (character_indexer::character_indexer): Update.
963         (character_indexer::ascii_char_index): Allocate a name for the
964         glyph.
965         Return a glyph_t with name.
966         (character_indexer::numbered_char_index): Return a glyph_t without a
967         name.
968         (character_indexer::named_char_index): Return a glyph_t with a name.
969         (font::number_to_index, font::name_to_index): Update.
971         * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
972         the glyph's name.
974 2006-02-11  Bruno Haible  <bruno@clisp.org>
976         * src/devices/grotty/tty.cpp (output_character_t): New type.
977         (tty_printer::make_bold, tty_printer::add_char,
978         tty_printer::put_char): Change argument type to output_character_t.
979         (crossings): Change element type to output_character_t.
981 2006-02-11  Bruno Haible  <bruno@clisp.org>
983         Make the glyph data type abstract.
985         * src/include/font.h (glyph_t): New class.
986         (name_to_index, number_to_index): Change return type to glyph_t.
987         (font::contains, font::get_width, font::get_height, font::get_depth,
988         font::get_character_type, font::get_kern, font::get_skew,
989         font::get_italic_correction, font::get_left_italic_correction,
990         font::get_subscript_correction, font::get_code,
991         font::get_special_device_encoding, font::add_entry,
992         font::copy_entry, font::add_kern, font::hash_kern): Change argument
993         type to glyph_t.
995         * src/libs/libgroff/font.cpp (font_kern_list): Change members
996         type and constructor argument types to glyph_t.
997         (font::contains, font::get_width, font::get_height, font::get_depth,
998         font::get_character_type, font::get_kern, font::get_skew,
999         font::get_italic_correction, font::get_left_italic_correction,
1000         font::get_subscript_correction, font::get_code,
1001         font::get_special_device_encoding, font::add_entry,
1002         font::copy_entry, font::add_kern, font::hash_kern): Change argument
1003         type to glyph_t.
1004         (font::load): Use glyph_t variables.
1006         * src/libs/libgroff/nametoindex.cpp (name_to_index,
1007         number_to_index): Change return type to glyph_t.
1009         * src/roff/troff/charinfo.h (charinfo::index): Change type to
1010         glyph_t.
1011         (charinfo::get_index): Change return type to glyph_t.
1013         * src/roff/troff/env.cpp: Include font.h.
1015         * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1017         * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1018         (charinfo::charinfo): Update.
1019         (name_to_index, number_to_index): Change return type to glyph_t.
1021         * src/include/printer.h (printer::set_char_and_width): Change return
1022         type to glyph_t.
1024         * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1025         Change return type to glyph_t.
1027         * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1028         argument type to glyph_t.
1030         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1031         (html_printer::space_glyph): Renamed from space_char_index.
1032         (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1033         html_printer::overstrike, html_printer::set_char): Change argument
1034         type to glyph_t.
1035         (html_printer::set_char_and_width): Change return type to glyph_t.
1037         * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1038         argument type to glyph_t.
1040         * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1041         argument type to glyph_t.
1043         * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1044         space_char_index.
1045         (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1046         type to glyph_t.
1048         * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1049         argument type to glyph_t.
1051 2006-02-11  Bruno Haible  <bruno@clisp.org>
1053         * src/roff/troff/input.cpp (font::name_to_index): Never return a
1054         negative value.
1056         * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1057         font::name_to_index.
1059 2006-02-10  Werner LEMBERG  <wl@gnu.org>
1061         * doc/groff.texinfo (Assigning Formats): Number registers are always
1062         interpolated.
1063         Apply some rephrasing, contributed by Michael Burt.
1065 2006-02-07  Werner LEMBERG  <wl@gnu.org>
1067         * tmac/fr.tmac <ms>: Set `HY' register.
1069 2006-02-07  Werner LEMBERG  <wl@gnu.org>
1071         Add framework for simple adaptation of the main macro packages (mm,
1072         me, ms, mom) to different locales.  In particular, add support for
1073         French.  For activation, simply use `-mfr' as the last macro
1074         package.  This feature has been contributed by Fabrice Ménard
1075         <menard.fabrice@wanadoo.fr>.
1077         * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1078         New files.
1079         * tmac/README: Mention hyphen.fr.
1080         * man/groff_tmac.man: Mention fr.tmac.
1081         * NEWS: Updated.
1083 2006-01-27  Werner LEMBERG  <wl@gnu.org>
1085         * man/groff_font.man: Updated documentation of `entity_name' field.
1086         Avoid future tense.
1088 2006-01-27  Bruno Haible  <bruno@clisp.org>
1090         * font/devhtml/R.proto: Remove the entity names from the font's
1091         special_encoding_encoding column.
1092         * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1093         handling the entity names here.
1094         (get_html_translation): Use it.  Change return type to `const
1095         char *'.
1096         (page::add_and_encode): Update, removing a useless cast.
1098 2006-01-26  Werner LEMBERG  <wl@gnu.org>
1100         This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1102         * src/include/device.h: Add comments.
1103         * src/include/font.h: Add comments.
1104         * src/include/unicode.h: Likewise.
1105         * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1107 2006-01-26  Keith Marshall  <keith.d.marshall@ntlworld.com>
1109         Suppress `.st' request emission by `grn'.
1111         * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1112         (conv): Use it.
1114 2006-01-22  Werner LEMBERG  <wl@gnu.org>
1116         * install-sh: New version; taken from texinfo CVS.
1118 2006-01-21  Werner LEMBERG  <wl@gnu.org>
1120         * src/preproc/preconv/preconv.cpp (main): Set program_name.  Bug
1121         reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1123 2006-01-19  Bruno Haible  <bruno@clisp.org>
1125         Let `make -k install' install more files.
1127         * Makefile.in (MAKE_K_FLAG): New variable.  Use it everywhere where
1128         $(MAKE) and $(MDEFINES) are used.
1129         (CPROGDIRS): Remove $(XPROGDIRS).  Treat $(XPROGDIRS) like
1130         $(CPROGDIRS) everywhere.
1131         ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1132         on $(XPROGDIRS).
1133         ($(OTHERDIRS)): Likewise.
1136         * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1137         failure test for font::name_to_index -- it can never fail.
1139 2006-01-19  Werner LEMBERG  <wl@gnu.org>
1141         * src/devices/grops/grops.man: Fix section on creating EPS files.
1142         Don't use future time in manual.
1143         Other minor fixes.
1145 2006-01-15  Gaius Mulley  <gaius@glam.ac.uk>
1147         * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1148         various typographical URL attributes for non-HTML devices.
1150         * tmac/groff_www.man: Document LINKSTYLE.
1152 2006-01-11  Werner LEMBERG  <wl@gnu.org>
1154         * configure.ac: Test for getc_unlocked (needed for localcharset).
1155         * configure, src/include/config.hin: Regenerated.
1157         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1158         ENABLE_RELOCATABLE.
1160         * src/libs/libgroff/relocatable.h: New dummy header file for
1161         localcharset.c.
1163         * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1164         gnulib version.
1166 2006-01-10  Bruno Haible  <bruno@clisp.org>
1168         Work around unportability of nl_langinfo(CODESET).
1170         * m4/glibc21.m4: New file, from gnulib.
1171         * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1172         * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1173         * Makefile.in (HOST, GLIBC21): New variables.
1174         (MDEFINES): Pass them to subdirectories.
1175         * src/include/relocate.h (relocatep): Define with C linkage.
1176         * src/include/localcharset.h: New file, from gnulib.
1177         * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1178         modification for relocate().
1179         * src/libs/libgroff/config.charset: New file, from gnulib.
1180         * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1181         * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1182         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1183         (OBJS): Add localcharset.o.
1184         (CSRCS): Add localcharset.c.
1185         (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1186         (charset.alias): New rule.
1187         (PACKAGE): New variable.
1188         (ref-add.sed, ref-del.sed): New rules.
1189         (MKINSTALLDIRS): New variable.
1190         (install_data): Depend on install_charset_data.
1191         (install_charset_data): New rule for creating or updating
1192         charset.alias.
1193         (uninstall_sub): Depend on uninstall_charset_data.
1194         (uninstall_charset_data): New rule for uninstalling or updating
1195         charset.alias.
1196         * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1197         of <langinfo.h>.
1198         (main): Initialize default_encoding from locale_charset() instead of
1199         nl_langinfo(CODESET).
1201         * aclocal.m4, configure, src/include/config.hin: Regenerated.
1203 2006-01-10  Werner LEMBERG  <wl@gnu.org>
1205         * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1206         ICONV_CONST in call to iconv.  Reported by Robert Goulding.
1208 2006-01-07  Werner LEMBERG  <wl@gnu.org>
1210         * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1211         fontforge version.
1212         Bump font version to 001.001.
1214         * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1215         Call fontforge, not pfaedit.
1217         * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1219 2006-01-05  Ruslan Ermilov  <ru@FreeBSD.org>
1221         * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1222         * tmac/groff_mdoc.man: Updated.
1224 2006-01-05  Werner LEMBERG  <wl@gnu.org>
1226         * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1227         (raw_flag): New global variable.
1228         (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1229         Don't pass BOM to `conversion_utf8'.
1230         (usage): Updated.
1231         (main): Handle `-r' command line switch to set `raw_flag'.
1232         (get_BOM): Fix encodings in `BOM_table'.
1234         * src/preproc/preconv/preconv.man: New file.  Not complete yet.
1235         * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1237 2006-01-04  Werner LEMBERG  <wl@gnu.org>
1239         * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1240         Bruno, comment out most encodings to support only a small set of
1241         coding tags, thus reducing potential problems with legacy encodings
1242         and character sets in the future.
1243         Add many XEmacs coding tags (now commented out).
1244         Add `cp1047'.
1245         (check_encoding_tag): Renamed to...
1246         (check_coding_tag): This.
1247         (get_BOM): Return encoding as specified by BOM.
1248         Test for UTF32-LE too.
1249         (do_file): Don't check for coding tag if a BOM has been found.
1251 2006-01-03  Bruno Haible  <bruno@clisp.org>
1253         * m4/groff.m4: Renamed from aclocal.m4.
1254         * m4/codeset.m4: New file, from gnulib.
1255         * m4/iconv.m4: New file, from gnulib.
1256         * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1257         gnulib.
1258         * config.rpath: New file, from gnulib.
1259         * config.guess, config.sub: New files, from gnulib.
1260         * Makefile.sub (M4MACROS): New variable.
1261         (configure): Fix typo.
1262         (aclocal.m4): New rule.
1263         (stamp-h.in): Depend on aclocal.m4.
1264         * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1265         * Makefile.in (LIBICONV): New variable.
1266         (MDEFINES): Pass it to recursive makes.
1267         * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1268         HAVE_ICONV instead of I18N macro.
1269         * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1271         * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1273 2006-01-03  Werner LEMBERG  <wl@gnu.org>
1275         * doc/Makefile.in (webpage.html): Simplify.
1276         * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1277         * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1279 2006-01-01  Werner LEMBERG  <wl@gnu.org>
1281         * tmac/doc-common (Os): Add some Darwin versions.
1282         * tmac/groff_mdoc.man: Document them.
1284 2006-01-01  Bruno Haible  <bruno@clisp.org>
1286         * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1287         corrections:
1288           . Don't map ascii to latin-1.
1289           . Don't use IBMxxx encodings but cpxxx for portability.
1290           . Map cp932, cp936, cp949, cp950 to itself.
1291         (emacs2mime): Protect calls to strcasecmp.
1292         (conversion_iconv): Add missing call to iconv_close.
1293         (do_file): Emit error message in case of unsupported encoding.
1295 2005-12-31  Werner LEMBERG  <wl@gnu.org>
1297         Integrate preconv into the groff binary.  Changes based on a patch
1298         from Michail Vidiassov.
1300         * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1302         * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1303         (SOELIM_INDEX): Updated.
1304         (help, synopsis): Updated.
1305         (main): Add command line options `-k' and `-K enc' to select
1306         encoding.
1307         Add support for GROFF_ENCODING environment variable.
1309         * src/roff/groff/groff.man: Updated and revised.
1312         Start with autoconf support for preconv.
1314         * configure.ac: Call AC_C_BIGENDIAN.
1315         * configure, src/include/config.hin: Regenerated.
1317 2005-12-30  Werner LEMBERG  <wl@gnu.org>
1319         New preprocessor `preconv' to convert input encodings to something
1320         groff can understand.  Not yet integrated within groff.  Proper
1321         autoconf stuff is missing too.
1323         Tomohiro Kubota has written a first draft of this program, and some
1324         ideas have been reused (while almost no code has been taken
1325         actually).
1327         * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1328         New files.
1330         * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1331         (GROFF_BIN_PATH): Add preconv.
1333 2005-12-12  Werner LEMBERG  <wl@gnu.org>
1335         * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1336         In particular, don't use `\+' since it is a GNU sed extension.
1338         * configure: Regenerated.
1340 2005-12-09  Werner LEMBERG  <wl@gnu.org>
1342         * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp. 
1344         * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1345         4.1.0.
1348         * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1349         afmtodit.tables.
1351         * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1352         4.1.0 data.
1354         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1355         %AGL_to_unicode): Removed.  Replace it with a tag.
1357         * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1358         to replace tag with actual file contents.
1360 2005-12-08  Werner LEMBERG  <wl@gnu.org>
1362         The change 2005-06-20 can indeed cause problems, so we follow the
1363         advice by using marks.
1365         * font/devps/prologue.ps (PBEGIN): Use `mark'.
1366         (PEND): Use `cleartomark'.
1368 2005-12-07  Michail Vidiassov  <master@iaas.msu.ru>
1370         * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1371         glyphs which have kern values but aren't handled (glyph variants,
1372         for example).
1374 2005-12-02  Werner LEMBERG  <wl@gnu.org>
1376         * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1377         subfont index.  Reported by Michail Vidiassov <master@iaas.msu.ru>.
1379 2005-11-28  Gaius Mulley  <gaius@glam.ac.uk>
1381         * doc/Makefile.in: Separate rule for webpage.html so that extra
1382         command line options can be passed to grohtml.
1383         * doc/groff.css: Change all margins to 0%.
1384         * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1385         navigation is exploited.  Also update webpage to contain new
1386         sections on licenses, mailing lists, cvs/ftp access, groff
1387         dependencies, and bug reports.
1388         * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1389         * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1390         
1391 2005-11-25  Gaius Mulley  <gaius@glam.ac.uk>
1393         * src/devices/grohtml/post-html.cpp
1394         (html_printer::do_file_components): Add fputs calls to emit the
1395         head contents and shut down the head tag whenever a new file
1396         component is generated.
1398 2005-11-22  Gaius Mulley  <gaius@glam.ac.uk>
1400         * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1401         call to flush_text to flush any outstanding html tags on the
1402         paragraph stack.
1404 2005-11-18  Werner LEMBERG  <wl@gnu.org>
1406         * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1407         Announce makeinfo version.
1408         * configure: Regenerated.
1410 2005-11-18  Mike Frysinger <vapier@gentoo.org>
1412         * Makefile.in: Declare proper dependencies between make targets.
1414         * doc/Makefile.in: Rename groff info page to `groff.info'.
1415         * doc/Makefile.sub: Likewise.
1416         * doc/groff.texinfo: Likewise.
1418 2005-11-17  Peter O'Gorman  <mlists@thewrittenword.com>
1420         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1421         definition of __GETOPT_PREFIX to the beginning of file to ensure
1422         that it is defined even on platforms where getopt.h is already
1423         included by other header files.
1425 2005-11-10  Gaius Mulley  <gaius@glam.ac.uk>
1427         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1428         Reset font to NULL to ensure that a font block is recreated during
1429         the next paragraph.
1431 2005-11-04  Werner LEMBERG  <wl@gnu.org>
1433         * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1434         * configure: Regenerated.
1436 2005-10-27  Werner LEMBERG  <wl@gnu.org>
1438         * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1439         makeinfo 4.8 or newer is available.
1440         * configure.ac: Call GROFF_MAKEINFO.
1441         * configure: Regenerated.
1443         * Makefile.in (MAKEINFO): Use autoconf variable.
1444         (MDEFINES): Add MAKEINFO.
1446         * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1447         * doc/Makefile.sub (MAKEINFO): Remove.
1449 2005-10-26  Werner LEMBERG  <wl@gnu.org>
1451         * REVISION: Set to 3.
1453 2005-10-17  Werner LEMBERG  <wl@gnu.org>
1455         Mention $MANPAGER variable used with some `man' systems.
1457         * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1459 2005-09-13  Werner LEMBERG  <wl@gnu.org>
1461         * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1463 2005-09-04  Werner LEMBERG  <wl@gnu.org>
1465 Version 1.19.2 released
1466 =======================
1468         * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1470         * doc/webpage.ms: Updated.
1472         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1474 2005-09-04  Jörgen Grahn <jgrahn@algonet.se>
1476         * tmac/groff_ms.man: Document `PO' better.
1478 2005-09-03  Werner LEMBERG  <wl@gnu.org>
1480         * NEWS: Document grotty changes.
1482 2005-09-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
1484         Backward compatibility support for `man' program.
1486         * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1487         assignment, prior `.ll' request and then package defaults, in this
1488         specified order of decreasing priority.
1490         * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1491         altered `LL' register initialization priorities.
1493 2005-08-29  Gary W. Swearingen  <garys@opusnet.com>
1495         * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1496         section should look like.
1498 2005-08-29  Werner LEMBERG  <wl@gnu.org>
1500         * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1501         be abbreviated.
1503 2005-08-27  Bernd Warken
1505         * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1506         fixes.
1508 2005-08-11  Bernd Warken
1510         * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1512 2005-08-09  Bernd Warken
1514         * tmac/www.tmac (URL, MTO): Use bold series if color support is
1515         deactivated.
1517 2005-08-02  Bernd Warken
1519         * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1520         as argument to $(INSTALL_INFO).  The latter isn't portable.
1521         Remove $(HTMLEXAMPLEFILES) too.
1523         * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1524         $(datadir)/doc too.
1525         Suppress warning messages and return always true.
1527         * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1529 2005-07-02  Bernd Warken
1531         * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1532         * man/groff_out.man: More markup and minor improvements.
1533         * src/roff/groff/groff.man: Minor improvements.
1535 2005-06-28  Werner LEMBERG  <wl@gnu.org>
1537         * ChangeLog: Split off older entries into...
1538         * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1539         files.
1541 2005-06-26  Bernd Warken
1543         * src/devices/xditview/gxditview.man: More minor fixes.
1545 2005-06-24  Werner LEMBERG  <wl@gnu.org>
1547         * src/preproc/pic/troff.cpp (troff_output::set_fill,
1548         troff_output::set_color, troff_output::reset_color): Use .bcolor and
1549         .fcolor instead of \m and \M, respectively.
1551 2005-06-23  Bernd Warken
1553         * src/devices/xditview/gxditview.man: More minor fixes.
1554         * README: Formatting issues.
1555         Mention some problems with Debian.
1557 2005-06-23  Bernd Warken
1559         * src/devices/xditview/gxditview.man: Revised and improved.
1561 2005-06-22  Werner LEMBERG  <wl@gnu.org>
1563         Another round in fixing getopt problems.  Hopefully the last one!
1564         This time we use the getopt stuff from gnulib and define a prefix
1565         unconditionally so that there are no collisions with any other
1566         getopt implementations.  This is a slight waste of space in case
1567         we already use a GNU getopt implementation, but on
1568         the other hand it really simplifies life.
1570         * src/include/getopt.h: Use gnulib version.
1572         * src/include/getopt_int.h: Use gnulib version.
1574         * src/include/groff-getopt.h: Removed.  Obsolete now.
1576         * src/include/lib.h: Regarding getopt, don't handle any platform
1577         specially; just include getopt.h.
1578         (__GETOPT_PREFIX): Define (before getopt.h).
1580         * src/include/Makefile.sub (HDRS): Updated.
1582         * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1583         gnulib version.
1585         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1586         __GETOPT_PREFIX.
1588         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1589         (__GETOPT_PREFIX): Define (before getopt.h).
1591 2005-06-21  Werner LEMBERG  <wl@gnu.org>
1593         * src/include/lib.h: Provide a fix for Mac OS X to not include
1594         groff-getopt.h.
1596 2005-06-20  Denis M. Wilson  <dmw@oxytropis.plus.com>
1598         * font/devps/prologue.ps (EP): Dont' use `bind'.  Reason: Using
1599         `bind' to define a procedure which contains `showpage' means that an
1600         invocation of `showpage' may execute wrongly (the exact effect
1601         depending on the interpreter).  Not usually a problem except under
1602         transformations, such as combining pages.
1603         (PEND): Don't call `clear'.  Reason: Using `clear' in the definition
1604         of /PEND means that stack underflow will occur if the stack is
1605         deliberately non-empty before document inclusion.  If included
1606         files are found to be generally badly behaved, we could replace the
1607         `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1608         never found this necessary).
1610 2005-06-20  Jörgen Grahn  <jgrahn@algonet.se>
1612         * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1613         earlier to get correct error message.
1615 2005-06-16  Bernd Warken
1616         * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1618 2005-06-15  Werner LEMBERG  <wl@gnu.org>
1620         Another try to update getopt files.  This time we add a dummy
1621         gettext.h file to satisfy the dependency.
1623         * src/include/getopt.h, src/libs/libgroff/getopt.c,
1624         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1626         * src/include/getopt_int.h: New file (from GNU libc CVS).
1628         * src/include/gettext.h: Dummy file which just defines a gettext()
1629         macro.
1631         * src/include/groff-getopt.h: Updated.
1633         * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1636         * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1637         `const' keywords in return value.
1639         * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1640         Remove redundant variable `old'.
1641         (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1643         * src/preproc/tbl/main.cpp (process_table): Remove redundant
1644         variable `c'.
1647         Fix more friend name injection problems since modern C++ compilers
1648         fail otherwise.  We simply provide (global) declarations for all
1649         functions declared as friends.  This is not really necessary but
1650         doesn't harm.
1652         * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1653         peek_char, and get_location.
1655         * src/preproc/refer/ref.h: Provide declarations for
1656         compare_reference, same_reference, same_year, same_date,
1657         same_author_last_name, and same_author_name.
1659         * src/roff/troff/div.h: Provide declarations for do_divert and
1660         page_offset.
1662         * src/roff/troff/env.h: Provide declarations for title_length,
1663         space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1664         vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1665         indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1666         margin_character, no_number, number_lines, leader_character,
1667         tab_character, hyphenate_request, no_hyphenate,
1668         hyphen_line_max_request, hyphenation_space_request,
1669         hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1670         line_tabs_request, widow_control_request, and do_divert.
1672         * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1674         * src/roff/troff/node.cpp: Provide declarations for class
1675         tfont_spec.
1676         Provide declaration for make_tfont.
1678 2005-05-29  Werner LEMBERG  <wl@gnu.org>
1680         * doc/fdl.texi: Updated to version 1.2.  Reported by Bernd Warken.
1682 2005-05-28  Werner LEMBERG  <wl@gnu.org>
1684         * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1685         `--style'.
1687         * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1688         redundant semicolons.
1690         * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1691         src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1692         Define `MLIB'.  Some compilers need this for linking with libgroff.
1694 2005-05-27  Werner LEMBERG  <wl@gnu.org>
1696         * MANIFEST, README, doc/webpage.ms: Updated.
1698 2005-05-26  Werner LEMBERG  <wl@gnu.org>
1700         * All affected files: Update postal address of FSF.
1702 2005-05-25  Keith Marshall  <keith.d.marshall@ntlworld.com>
1703             Bernd Warken
1705         * README: More fixes.
1707         * README.CVS: Removed.  Its contents is now part of the README file.
1709 2005-05-21  Werner LEMBERG  <wl@gnu.org>
1711         * README: Updated.  Based on a patch from Bernd Warken.
1713 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1715         Miscellaneous script portability enhancements.
1717         * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1718         generated conftest.sh script, conforming to portability
1719         recommendation in autoconf docs.
1720         * configure: Likewise, for code generated by GROFF_CSH_HACK.
1721         * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1722         to portability recommendation in autoconf docs.
1723         * contrib/gdiffmk/gdiffmk.sh: Likewise.
1724         * contrib/gdiffmk/tests/runtests.in: Likewise.
1725         * contrib/grap2graph/grap2graph.sh: Likewise.
1726         * contrib/groffer/groffer.sh: Likewise.
1727         * contrib/mm/mmroff.pl: Likewise.
1728         * contrib/mom/momdoc/appendices.html: Likewise.
1729         * contrib/pic2graph/pic2graph.sh: Likewise.
1730         * font/devps/generate/afmname: Likewise.
1731         * src/devices/xditview/ad2c: Likewise.
1732         * src/preproc/eqn/neqn.sh: Likewise.
1733         * src/roff/grog/grog.pl: Likewise.
1734         * src/roff/grog/grog.sh: Likewise.
1735         * src/roff/nroff/nroff.sh: Likewise.
1736         * PROBLEMS: Likewise, in embedded script examples.
1738 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1740         Improve portability of `pdfroff' shell script.
1742         * arch/misc/shdeps.sh: Add space in shebang, conforming to
1743         portability guidelines in `autoconf' docs.
1744         (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1745         initialization code.  Used by contrib/pdfmark/pdfroff.sh's
1746         `searchpath' function.
1748 2005-05-14  Werner LEMBERG  <wl@gnu.org>
1750         * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1751         contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1752         needed for newer ImageMagick versions.
1754 2005-05-07  Werner LEMBERG  <wl@gnu.org>
1756         * src/preproc/refer/refer.man: Many small typographic fixes.
1758 2005-05-06  Jeff Conrad  <jeff_conrad@msn.com>
1760         * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1761         Use `char *' cast for a_delete.
1763 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1765         * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1766         src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1768 2005-05-03  Jeff Conrad  <jeff_conrad@msn.com>
1770         * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1771         `a_delete' for `const char *'.
1773 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1775         * src/devices/grohtml/post-html.cpp,
1776         src/devices/grohtml/html-table.cpp,
1777         src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1778         Replace malloc/free with new/delete/a_delete.
1780         * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1781         are prohibited with ANSI C++.
1782         (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1783         function has a variable number of arguments).
1785         * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1786         Simplify function and update all callers.
1788 2005-05-02  Werner LEMBERG  <wl@gnu.org>
1790         Undo getopt changes from 2005-04-30.  We don't want a dependency
1791         on gettext.
1793         * src/include/getopt_int.h: Removed.
1795         * src/include/getopt.h, src/include/groff-getopt.h,
1796         src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1797         src/libs/libgroff/getopt1.c: Revert to previous version.
1800         * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1802         * src/include/posix.h (F_OK): Define conditionally.
1804         * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1805         different variable name in second `for' loop to avoid MSVC compiler
1806         problem.
1808 2005-04-30  Werner LEMBERG  <wl@gnu.org>
1810         AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1812         * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1813         * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1814         * configure, src/include/config.hin: Regenerated.
1816         * PROBLEMS: Updated.
1819         Update getopt files.
1821         * src/include/getopt.h, src/libs/libgroff/getopt.c,
1822         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1824         * src/include/getopt_int.h: New file (from GNU libc CVS).
1826         * src/include/groff-getopt.h: Updated.
1828         * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1831         * font/devutf8/NOTES: Updated.
1833 2005-04-28  Werner LEMBERG  <wl@gnu.org>
1835         Bug fix for Win32 relocatable code.  Based on a patch from Keith
1836         Marshall.
1838         * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1839         also.
1841         * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1842         (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1844 2005-04-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
1846         Correct `gnu.eps' handling for build from distribution tarball, with
1847         separate source and build directories.
1849         * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1850         grnexmpl.g, groff.css and gnu.eps from source to build directory;
1851         generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1852         (prepare_examples): Make it depend on examples.stamp.
1853         (CLEANADD): Add examples.stamp.
1855 2005-04-27  Werner LEMBERG  <wl@gnu.org>
1857         Implement the rule
1859           position: `(' position `)'
1861         in pic.
1863         * src/preproc/pic/pic.y (position, position_not_place): Handle
1864         additional parentheses.
1866         * doc/pic.ms: Updated.
1868 2005-04-23  Larry Jones  <lawrence.jones@ugs.com>
1870         * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1872 2005-04-18  Werner LEMBERG  <wl@gnu.org>
1874         * src/roff/groff/pipeline.c: Don't include ctype.h.
1876 2005-04-13  Werner LEMBERG  <wl@gnu.org>
1878         * src/roff/nroff/nroff.man: Document option `-M'.
1880 2005-04-13  Bruce Lilly  <blilly@erols.com>
1882         * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1884 2005-04-01  Kees Zeelenberg  <kzlg@users.sourceforge.net>
1885             Werner LEMBERG  <wl@gnu.org>
1887         Add binary relocation support for Windows platforms.
1889         * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1891         * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1893         * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1894         (search_path::search_path, search_path::open_file_cautious): Use
1895         `relocate'.
1897         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1898         src/include/Makefile.sub (HDRS): Updated.
1900 2005-04-01  Werner LEMBERG  <wl@gnu.org>
1902         * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
1903         strsave/a_delete.
1905         * src/libs/libgroff/font.cpp: Replace strdup with strsave.
1907         * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
1908         lib.h already does it.
1910         * src/libs/libgroff/maxpathname.cpp: New file, defining
1911         path_name_max.
1913         * src/include/lib.h: Add prototype for path_name_max.
1915         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
1917         * src/include/nonposix.h (PATH_EXT): New macro.
1919 2005-03-28  Werner LEMBERG  <wl@gnu.org>
1921         Add support for double- and zero-width characters in grotty.
1923         * src/devices/grotty/tty.cpp (glyph): Add width.
1924         (tty_printer::make_underline, tty_printer::make_bold,
1925         tty_printer::add_character): Add parameter to pass character width.
1926         Update all callers.
1927         (tty_printer::end_page): Increase hpos by actual character width.
1929         * font/devutf8/R.proto: Specify zero width for non-spacing
1930         characters.
1932         * tmac/unicode.tmac: Remove definitions for non-spacing entities.
1934         * Makefile.comm (extraclean): Remove more junk files.
1936 2005-03-25  Werner LEMBERG  <wl@gnu.org>
1938         * configure.ac: Undo change from 2005-03-24.
1939         * configure: Regenerated.
1941 2005-03-24  Werner LEMBERG  <wl@gnu.org>
1943         * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
1944         (dist): Search Makefile while descending into $(EXTRADIRS).
1946         * doc/Makefile.in (.PHONY): Add.
1947         (clean): Don't remove *.png and *.eps.
1948         Don't handle *.gif.
1949         (realclean): Remove *.png and *.eps.
1950         (extraclean): Depend on distclean.
1952         * configure.ac: Add copyright.
1953         Handle contrib/pdfmark/Makefile.
1955         * configure: Regenerated.
1957 2005-03-18  Larry Kollar  <kollar@alltel.net>
1959         Add numbered and definition lists to www.tmac.
1961         * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
1962         www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
1963         auxiliary string registers.
1964         (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
1965         www-ol-ctr3, www-dl-shift): New auxiliary number registers.
1966         (www-level): Removed.
1967         (www-level1, www-level2, www-level3): Initialize to empty.
1968         (www-level0, www-level4, www-level5, www-level6, www-level7,
1969         www-level8, www-level9): New string registers.
1970         (www-push-li, www-pop-li): New macros.
1971         (www-push-level, www-pop-level): Renamed to...
1972         (www-push-ul-level, www-pop-ul-level): This.
1973         Updated.
1974         (www-push-ol-level, www-pop-ol-level): New macros.
1975         (ULS, ULE): Updated.
1976         (OLS, OLE, DLS, DLE): New user macros.
1977         (LI): Removed.  It is aliased to one of...
1978         (www-li-ul, www-li-ol, www-li-dl): New macros.
1980         * tmac/groff_www.man: Document new macros.
1982         * NEWS: Updated.
1984 2005-03-18  Werner LEMBERG  <wl@gnu.org>
1986         * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
1987         doc-operating-system-NetBSD-2.0.2): New strings.
1989         * tmac/groff_mdoc.man: Updated.
1991 2005-03-17  Werner LEMBERG  <wl@gnu.org>
1993         * doc/Makefile.sub (CLEANADD): Add `groff.html'.
1995 2005-03-17  Werner LEMBERG  <wl@gnu.org>
1997         * src/libs/libgroff/hypot.c: Renamed to...
1998         * src/libs/libgroff/hypot.cpp: This.  Updated to C++.
2000         * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2002         * src/include/lib.h: Updated.
2004 2005-03-16  Werner LEMBERG  <wl@gnu.org>
2006         Add workaround for broken hypot() on Interix.
2008         * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2010         * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2011         (CSRCS): Add `hypot.c'.
2013         * src/include/lib.h: Declare `groff_hypot'.
2015         * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2016         Use `groff_hypot'.
2018         * src/preproc/pic/pic.h: Don't declare `hypot'.
2020         * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2022 2005-03-15  Gaius Mulley  <gaius@glam.ac.uk>
2024         * src/devices/grohtml/post-html.cpp
2025         (html_printer::lookahead_for_tables): End .ce properly to avoid a
2026         segfault.
2028 2005-03-15  Werner LEMBERG  <wl@gnu.org>
2030         makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2032         * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2034         * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2036 2005-03-14  Werner LEMBERG  <wl@gnu.org>
2038         Add Cyrillic support to devutf8 and devhtml.
2040         * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2042         * tmac/unicode.tmac: New file.
2044         * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2046         * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2048         * NEWS: Updated.
2050 2005-03-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
2052         * src/libs/libdriver/printer.cpp (check_for_output_error): New
2053         function.  It has been introduced to catch peculiar error contexts
2054         on MS-Windows platforms.
2056 2005-02-28  Werner LEMBERG  <wl@gnu.org>
2058         * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2059         null pointer.
2061         * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2063         * configure: Regenerated.
2065         * NEWS: Updated.
2067 2005-02-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
2069         Integrate `pdfmark' into normal groff build system;
2070         install macro `pdfmark' packages, build and install `pdfroff',
2071         and PDF format documentation.
2073         * Makefile.comm: Add PDFDOCDIR.
2075         * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2076         pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2077         (unstall_dirs): Add pdfdocdir.
2079         * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2080         `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2081         (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2082         GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2083         (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2084         (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2085         set ALT_AWK_PROGS.
2086         (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2087         use of GROFF_AWK_PREFS.
2088         (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2089         and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2091         * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2092         Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2093         also by modified GROFF_HTML_PROGRAMS).
2095 2005-02-27  Gaius Mulley  <gaius@glam.ac.uk>
2097         * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2098         paragraph spacing.
2099         (html_text::done_para): Unset `start_space'.
2100         (html_text::remove_para_align): Call `retrieve_para_space' for the
2101         spacing.
2103         * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2104         `seen_space'.
2105         (html_printer::do_check_center): Emit vertical space if necessary.
2107         * src/roff/troff/env.cpp (environment_switch): Preserve
2108         `seen_space', `seen_eol', and `suppress_next_eol' while switching
2109         environments.
2111         * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2112         `is_special'.
2114 2005-02-20  Werner LEMBERG  <wl@gnu.org>
2116         * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2117         eqn.
2119 2005-02-17  Werner LEMBERG  <wl@gnu.org>
2121         * doc/pic.ms, man/groff.man: Fix typos.
2123         * doc/groff.texinfo: Fix typos.
2124         (\LEmacro): Get proper mathematical spacing.
2126 2005-02-16  Werner LEMBERG  <wl@gnu.org>
2128         * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2129         * configure: Regenerated with autoconf 2.59b.
2131 2005-02-16  Gaius Mulley  <gaius@glam.ac.uk>
2133         * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2134         html_printer::start_font): Fix handling of preformatted text.
2136 2005-02-15  Gaius Mulley  <gaius@glam.ac.uk>
2138         These patches modify the indentation implementation to use `<p
2139         style=margin-left: n%>'.  Many thanks to Peter and Larry for
2140         suggesting this solution.  Grohtml only uses tables for `.IP' and
2141         related tags when the first operand has a short width.
2143         Similarly, they modify all vertical space code.  By default, grohtml
2144         sets up a style sheet which uses no vertical space between `table',
2145         `pre', and `p' tags.  It forces spaces when it needs them using
2146         `style="margin-top: 1em"'.
2148         * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2149         (html_table::emit_table_header, html_table::emit_new_row):
2150         Rewritten.
2151         (html_table::set_space): New function.
2152         (html_indent::html_indent): Don't set `is_used'.
2153         (html_indent::begin): Rewritten.
2154         (html_indent::end): Remove code in function.
2156         * src/devices/grohtml/html-table.h: Updated.
2157         (html_table): Make `out' public.
2159         * src/devices/grohtml/html-text.cpp (html_text::html_text):
2160         Initialize `start_space' with FALSE.
2161         (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2162         (html_text::issue_tag): Add argument to handle space style.
2163         (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2164         (html_text::flush_text): Don't set `start_space'.
2165         (html_text::push_para): Don't set `p->really_issued'.
2166         (html_text::do_emittext): Updated.
2167         (html_text::do_para): Add paremeter to handle space.
2168         Update all callers.
2169         (html_text::retrieve_para_space): New function.
2171         * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2172         (tag_definition): Remove `really_issued'.
2173         (html_text): Updated.
2175         * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2176         `current_column' and `row_space'.
2177         Update constructor.
2178         (html_printer::emit_raw, html_printer::write_header,
2179         html_printer::do_indent, html_printer::do_check_center,
2180         html_printer::do_tab_ts): Handle vertical space.
2181         (html_printer:do_tab_te, html_printer::do_end_para): Call
2182         `remove_para_space'.
2183         (html_printer::do_col): Rewritten.
2184         (html_printer::flush_globs): Remove debugging code.
2185         (html_printer::is_line_start): New function.
2186         (html_printer::start_font): Use `is_line_start'.
2187         (html_printer::writeHeadMetaStyle): New function.
2188         (html_printer::do_file_components, html_printer::~html_printer):
2189         Call `writeHeadMetaStyle'.
2191         * tmac/www.tmac (www-handle-percent): New macro.
2192         (MPIMG): Handle percent values for width and height parameters.
2193         (DC): Updated.
2195         * tmac/groff_www.man: Updated.
2197 2005-02-14  Werner LEMBERG  <wl@gnu.org>
2199         * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2200         $psname and $italic_angle.
2201         Immediately restart file input loops if `split' returns an empty
2202         array.
2204 2005-02-13  Michail Vidiassov  <master@iaas.msu.ru>
2205             Werner LEMBERG  <wl@gnu.org>
2207         Update afmtodit to better support Unicode (Michail).
2208         Update afmtodit to use Perl 5 syntax (Werner).
2210         * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2211         `Getopts::Std'.
2212         Decorate variables with `my' where necessary.
2213         Use `defined' where necessary to avoid warnings.
2214         Don't use `do' for subroutine calls.
2215         Other minor syntax updates.
2216         Check for both `uXXXX[X[X]]' and `uniXXXX'.
2217         Handle glyph variants properly.
2218         (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2219         strings.
2221         * src/utils/afmtodit/afmtodit.man: Updated.
2223 2005-02-13  Werner LEMBERG  <wl@gnu.org>
2225         Make groff.texinfo work with texinfo 4.8.
2227         * doc/groff.texinfo (@Var): Use @r and @slanted.
2228         (@defdummy, @Def*): Use @c to avoid empty lines.
2229         (\angles): Replaced with...
2230         (\Langlemacro, \Ranglemacro): New TeX macros.
2231         (@Langlemacro, @Ranglemacro): New variables defined with @set.
2232         (@angles): Use @Langlemacro and @Ranglemacro.
2233         (\LE): Replaced with...
2234         (\LEmacro): New TeX macro.
2235         (@LEmacro): New variable defined with @set.
2236         (@LE): Use @LEmacro.
2237         (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2238         variables defined with @set.
2239         (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2240         (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2241         Update all callers.
2243         Other minor updates.
2245         * doc/texinfo.tex: Update to texinfo version 4.8.
2247         * README.CVS: Updated.
2249 2005-02-09  Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2251         * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2252         and `FAM' registers.
2254 2005-02-05  Werner LEMBERG  <wl@gnu.org>
2256         * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2257         tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2258         Update BSD license.
2260 2005-02-01  Werner LEMBERG  <wl@gnu.org>
2262         * src/roff/groff/groff.man: Add information about paper size.
2264 2005-01-25  Werner LEMBERG  <wl@gnu.org>
2266         * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale.  From
2267         NetBSD bin/29114.
2269 2005-01-22  Ruslan Ermilov  <ru@FreeBSD.org>
2271         * tmac/doc.tmac (Sm): Improved.  It didn't work properly in many
2272         cases.
2273         (Re): Emit a warning if called without `.Rs'.
2274         (doc-finish-reference): Use parameter for decreasing
2275         `doc-reference-count'.
2276         (doc-print-reference): Pass specific count parameters to
2277         `doc-finish-reference'.
2279 2005-01-21  Werner LEMBERG  <wl@gnu.org>
2281         * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2282         Reset pointers to zero after deallocation.  This fixes a crash
2283         if a driver is called with multiple input files.  Reported by
2284         Ken Chilton <ken@chiltonfamily.org>.
2286         * src/devices/grops/grops.man: Add more info on DSC.
2288 2005-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
2290         * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2291         Remove dead code.
2293 2005-01-17  Werner LEMBERG  <wl@gnu.org>
2295         * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2296         against division by zero.
2298 2005-01-13  Ruslan Ermilov  <ru@FreeBSD.org>
2300         * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2302 2004-12-19  Werner LEMBERG  <wl@gnu.org>
2304         * install-sh: New version; taken from texinfo CVS.
2306 2004-12-17  Werner LEMBERG  <wl@gnu.org>
2308         * tmac/devtag.tmac: Protect against loading twice.
2309         Protect agains compatibility mode.
2310         * tmac/www.tmac: Protect against loading twice.
2311         Load `devtag.tmac' before switching off compatibility mode.
2312         * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2314 2004-12-16  Mike Bianchi  <mbianchi@Foveal.com>
2316         * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2317         * configure: Updated.
2319 2004-12-15  Thomas Klausner  <wiz@netbsd.org>
2321         * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2323 2004-12-15  Werner LEMBERG  <wl@gnu.org>
2325         Make `test-groff' work again -- previously, wrong paths have been
2326         used.  Additionally, it can now be called from anywhere.
2328         * test-groff.in: Don't test for groff binary.  This is no longer
2329         necessary since the proper paths are determined by `configure'.
2330         (EXEEXT): Removed.  No longer used.
2331         (srcdir, builddir): Use values provided by the configure script.
2332         (XENVIRONMENT): Updated.
2334         * INSTALL: Updated.
2336 2004-12-14  Gaius Mulley  <gaius@glam.ac.uk>
2338         Make .tag and .taga work for all devices (but only grohtml actually
2339         handles them).
2341         * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2342         (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2343         html_printer::handle_assertion): Don't use hard-coded string
2344         lengths.
2345         (html_printer::lookahead_for_table): Reset `tbl' properly if
2346         necessary.
2347         (html_printer::devtag): New function, handling `devtag'.
2348         (html_printer::special): Don't handle `html-tag'.
2350         * src/include/printer.h, src/libs/libdriver/printer.cpp
2351         (printer::devtag): New virtual function.
2353         * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2354         `devtag'.
2356         * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2357         src/roff/troff/node.cpp: s/html-tag/devtag/.
2359         * src/roff/troff/input.cpp (tag, taga): Always call
2360         curenv->add_node.
2362         * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2363         macros instead of HTML-TAG*.
2365         * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2367         * tmac/www.tmac: Load devtag.tmac.
2368         Replace HTML-TAG* macros with DEVTAG* macros.
2369         (HTML, HTML-NS): Changed definitions.
2370         (URL): Use HTML-NS.
2371         (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2373         * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2375 2004-12-10  Werner LEMBERG  <wl@gnu.org>
2377         Import Mike's `gdiffmk' package.
2379         * contrib/gdiffmk/*: New files.
2380         * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2381         * NEWS: Updated.
2383 2004-12-08  Werner LEMBERG  <wl@gnu.org>
2385         Import Keith's `pdfmark' package.  Integration is very preliminary.
2387         * contrib/pdfmark/*: New files.
2388         * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2389         * NEWS: Updated.
2391 2004-12-07  Gaius Mulley  <gaius@glam.ac.uk>
2393         Fix a bug with title handling in HTML.
2395         * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2396         text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2397         length.
2398         (html_printer::handle_tag_within_title): New function.
2399         (html_printer::do_title): Use it.
2401         * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2402         (cov*tl-au-print): Emit `.eo.tl' tag.
2404 2004-12-05  Alejandro López-Valencia  <dradul@etb.net.co>
2406         * man/groff_char.man: Minor imrovements.
2408 2004-12-04  Werner LEMBERG  <wl@gnu.org>
2410         * src/preproc/eqn/eqn.man: Revised.
2412 2004-11-25  Werner LEMBERG  <wl@gnu.org>
2414         * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2415         groff source files.
2416         Include config.h.
2417         Include limits.h.
2418         Remove X_NOT_STDC_ENV conditional.
2419         (Version_string, program_name): New global variables.
2420         (groff_flag): Removed.
2421         (MapFont): Updated.
2422         (usage): Take a stream as argument.
2423         Use `program_name'.
2424         Update all callers.
2425         (main): Add `long_options' array for `--help' and `--version'.
2426         Make `-g' a dummy option.
2427         Handle `-v' and unknown options.
2428         Remove unused `position' variable.
2430         * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2431         (XLIBS): Add LIBGROFF.
2433         * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2434         New files.
2436         * src/devices/xditview/Dvi.c (default_font_map): Split into three
2437         parts to avoid compiler warning.
2438         (resources): Don't initialize with `default_font_map'.
2439         (ClassInitialize): Initialize first element of `resources'.
2441         * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2442         Removed.
2444         * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2445         src/utils/pfbtops/pfbtops.man: Revised, updated.
2447         * configure.ac: Generate src/utils/xtotroff/Makefile.
2448         * configure: Regenerated.
2450 2004-11-24  Werner LEMBERG  <wl@gnu.org>
2452         First fixes to get produce HTML.
2454         * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2455         attribute.
2457         * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2458         (HR, LI): Use `HTML</p>', not `HTML'.
2460         * doc/webpage.ms: Minor updates.
2462 2004-11-23  Larry Kollar  <kollar@alltel.net>
2464         Add option -S grohtml to determine the file split level.
2466         * src/devices/grohtml/post-html.cpp (split_level): New global
2467         variable.
2468         (html_header::determine_header_level): Use split_level.
2469         (main): Handle `-S' command line option.
2470         Sort options.
2472         * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2474         * src/devices/grohtml/grohtml.man: Document it.
2475         Sort options.
2477         * NEWS: Document it.
2479 2004-11-23  Y T  <doarhop@hotmail.com>
2481         * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2482         the volume and number refer entries.
2484 2004-11-22  Werner LEMBERG  <wl@gnu.org>
2486         * src/devices/grohtml/html-table.cpp
2487         (html_table::emit_table_header): Don't emit `cols' attribute which
2488         doesn't exist in HTML 4.0 and is thus invalid.
2490         * NEWS: More minor fixes and updates.
2492 2004-11-18  Werner LEMBERG  <wl@gnu.org>
2494         * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2495         (HTML</p>): Minor clean-up.
2497         * tmac/groff_www.man: Updated.
2499         * src/devices/grohtml/grohtml.man: Revised and updated.
2501         * NEWS: Updated.
2503 2004-11-18  Gaius Mulley  <gaius@glam.ac.uk>
2505         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2506         Fix space insertion.
2507         (html_printer::do_links): Fix rules generation around automatic
2508         heading links.
2510         * tmac/www.tmac (LK): Use HTML-TAG-NS.
2511         (HR): Simplify.
2512         No longer emit empty line for non-HTML devices.
2514 2004-11-17  Werner LEMBERG  <wl@gnu.org>
2516         * doc/Makefile.in (prepare_examples, webpage.html): Handle
2517         `groff.css'.
2519         * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2520         prepare_examples, webpage.html): Handle `groff.css'.
2522 2004-11-15  Werner LEMBERG  <wl@gnu.org>
2524         * NEWS, README, doc/webpage.ms: Updated.
2526         * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2528 2004-10-30  Gaius Mulley  <gaius@glam.ac.uk>
2530         * src/include/printer.h (printer): Remove virtual function
2531         `round_width'.
2532         Update all source files.
2534         * src/devices/grohtml/post-html.cpp (html_printer): New member
2535         function `round_width'.
2537 2004-10-20  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
2539         * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2540         column key letter suffix.
2542 2004-10-14  Werner LEMBERG  <wl@gnu.org>
2544         * Makefile.in (check): Depend on `site.exp' and `docheck'.
2545         (docheck): Run dejagnu's `runtest' if it exists.
2546         (site.exp): Create dejagnu configuration file.
2548         * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2550 2004-10-13  Werner LEMBERG  <wl@gnu.org>
2552         * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2553         src/devices/grohtml/post-html.cpp (make_val,
2554         html_printer::handle_state_assertion): Fix compiler warnings.
2556         * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2557         (diversion::diversion): Fix order of initializers.
2559         * src/roff/troff/div.h: Don't include `mtsm.h'.
2561         * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2562         (environment::environment): Fix order of initializers.
2563         (environment::make_tag, environment::construct_format_state): Fix
2564         compiler warnings.
2566         * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2567         (input_iterator::input_iterator, macro::macro): Fix order of
2568         initializers.
2570         * src/roff/troff/mtsm.cpp: Include only necessary header files.
2571         (state_set::add, state_set::val): Fix compiler warnings.
2573         * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2574         (bool_value_state, int_value_state, units_value_state,
2575         string_value_state): Remove comma after last element which causes
2576         an error with g++ 3.3.3.
2578         * src/roff/troff/node.cpp: Include `stringclass.h'.
2579         (hline_node::hline_node, vline_node::vline_node,
2580         space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2581         warnings.
2582         (zero_width_node::zero_width_node): Fix order of initializers.
2584         * src/roff/troff/node.h: Don't include `mtsm.h'.
2585         (hmotion_node): Fix compiler warnings.
2587         * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2589 2004-10-12  Gaius Mulley  <gaius@glam.ac.uk>
2591         * doc/groff.css: New file.
2593         * doc/webpage.ms: Use `groff.css'.
2594         Other small fixes.
2596         * tmac/an-old.tmac (need_eo_h): New number register.
2597         (TH): Emit `.eo.tl' tag after title.
2598         (SH): Set `need_eo_h'.
2599         (an-trap): Handle `need_eo_h'.
2600         (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2602         * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2603         (TL): Always start diversion.
2604         Updated.
2605         (@AI): Always call `par@reset'.
2606         (@AB): Update code for -Thtml.
2607         (cov*tl-au-print): Handle -Thtml.
2608         (par@reset): Handle `need_eo_tl', `need_eo_h'.
2609         (@IP): Simplified.
2610         (@IT-html): Removed.
2611         (@SH): Set `need_eo_h' for -Thtml.
2612         (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2613         Set `need_eo_tl'.
2614         (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2615         Set `need_eo_h' for -Thtml.
2616         (@EQ, @EN): Don't handle -Thtml specially.
2617         (par@load-init): Don't handle -Thtml specially.
2619         * tmac/www.tmac (www:paraspace): New macro.
2620         (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2621         (HTML</p>, HTML-TAG-NEXT): New macros.
2622         (HnE): Emit tag `.eo.h' instead of break.
2623         (HR): s/HTML-NS/HTML/.
2624         (www-end-nowhere): End diversion only if `www-html' not set.
2625         Emit `.eo.tl' tag.
2626         (ULS, ULE): s|HTML|HTML</p>|.
2627         (LI): Call `www:paraspace'.
2628         (HEAD): New macro.
2630 2004-10-11  Gaius Mulley  <gaius@glam.ac.uk>
2632         * src/roff/troff/request.h (macro): Make `p' public.
2633         New variable `is_a_diversion'.
2634         New member function `is_diversion'.
2637         * src/devices/grohtml/html.h (simple_output): New member function
2638         `force_nl'.
2640         * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2641         computation of `total'.
2642         (tabs::check_init): New function.
2643         (html_table::emit_table_header): Emit style data.
2644         (html_table::insert_column): Improved.
2646         * src/devices/grohtml/html-table.h: Updated.
2648         * src/devices/grohtml/html-text.cpp (html_text::html_text):
2649         Initialize `start_space' with TRUE.
2650         (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2651         cases.
2652         (html_text::flush_text): Set `start_space' flag.
2653         (html_text::uses_indent, html_text::remove_para_space,
2654         html_text::get_alignment): New functions.
2655         (html_text::push_para): Updated.
2656         (html_text::do_para): Check for empty argument.
2657         Don't set `space_emitted'.
2658         (html_text::do_space, html_text::emit_space): Updated.
2660         * src/devices/grohtml/html-text.h (tag_definition): New variable
2661         `really_issued'.
2662         (html_text): New member function `uses_indent', `remove_para_space',
2663         `get_alignment'.
2665         * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2666         function.
2667         (simple_output:nl): Always emit `\n'.
2669         * src/devices/grohtml/post-html.cpp: Include `string.h'.
2670         (BASE_POINT_SIZE): Removed.
2671         (base_point_size, head_info): New global variables.
2672         (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2673         `is_eo_h'.
2674         (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2675         tags, respectively.
2676         (page::add_and_encode): Pass additional parameter for tag flag.
2677         (assert_pos): New structure.
2678         (assert_state): New class.
2679         (html_printer): Remove `indentation', `prev_indent'.
2680         Add variables `troff_indent', `device_indent', `temp_indent'.
2681         Add variables `seen_indent', `next_indent', `seen_pageoffset',
2682         `next_pageoffset', `seen_linelenght', `next_linelength',
2683         `seen_center', `next_center', `seen_space', `seen_break', `as'.
2684         Add member functions `do_check_center', `do_space', `do_head',
2685         `get_troff_indent', `restore_troff_indent', `handle_assertion',
2686         `handle_state_assertion', `do_end_para', `set_char_and_width'.
2687         Change argument to `do_fill' to `char *'.
2688         Update constructor.
2689         (html_printer::emit_raw): Call `shutdown_table'.
2690         Use new functions.
2691         (html_printer::do_center): Simplified.
2692         (html_printer::do_title): Improved.
2693         (html_printer::write_header): Emit one more newline.
2694         Use new functions.
2695         (html_printer::do_heading, html_printer::do_indent,
2696         html_printer::do_eol, html_printer::do_tab_ts,
2697         html_printer::do_tab, html_printer::do_tab0,
2698         html_printer::calc_po_in, html_printer::next_horiz_pos,
2699         html_printer::remove_courier_tabs,
2700         html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2701         Updated.
2702         (html_printer::do_linelength, html_printer::do_pageoffset,
2703         html_printer::do_indentation, html_printer::do_tempindent,
2704         html_printer::do_tab_te): Simplified.
2705         (html_printer::do_pointsize): Check whether point size is really
2706         associated a `.tl' tag.
2707         (html_printer::do_break): Rewritten.
2708         (html_printer::troff_tag): Improved.
2709         (html_printer::flush_globs): Updated.
2710         (html_printer::lookahead_for_tables): Handle `is_br'.
2711         Use new functions.
2712         (html_printer::set_char): Check `sbuf_style.f'.
2713         (html_printer::write_navigation): Use string comparison.
2714         (html_printer::~html_printer): Emit `head_info'.
2715         (html_printer::special): Rewritten.
2716         (get_str, make_val): New functions.
2717         (main): New option `s' to set the base point size.
2719         * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2721 2004-10-10  Gaius Mulley  <gaius@glam.ac.uk>
2723         * src/roff/troff/node.cpp: New extern `debug_state'.
2724         Include `stringclass.h' and `mtsm.h'.
2725         Implement new classes and class members from `node.h'.
2726         (real_output_file): Make `fp' public.
2727         (troff_output_file): New variables `cur_div_level' and `tag_list'.
2728         Update constructors.
2729         (troff_output_file::really_print_line): Check whether we should push
2730         the current troff state and use the state at the start of the
2731         invocation of this diversion.
2732         (troff_output_file::add_to_tag_list): New member function.
2733         (node::add_char): Handle `glyph_comp_np'.
2735         * src/roff/troff/node.h: Include `mtsm.h'.
2736         (node): New variables `state', `push_state', `div_nest_level',
2737         `is_special'.  Update constructors, all descendants.
2738         Pass additional argument to `add_char' member function.
2739         New virtual member functions `is_tag', `debug_node',
2740         `debug_node_list'.  Update all descendants.
2741         (tag_node): New class for handling tags.
2742         (output_file): Add variable `state'.
2744 2004-10-09  Gaius Mulley  <gaius@glam.ac.uk>
2746         * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2747         providing a minimal troff state machine to emit meta tags for the
2748         post-grohtml device driver.
2750         * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2751         files.
2753 2004-10-09  Werner LEMBERG  <wl@gnu.org>
2755         * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2757 2004-10-06  Gaius Mulley  <gaius@glam.ac.uk>
2759         * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2761         * src/roff/troff/div.h: Include `mtsm.h'.
2762         (diversion): New variables `any_chars_added', `needs_push',
2763         `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2764         `saved_suppress_next_eol', `modified_tag'.
2765         New virtual member function `is_diversion'.  Update all descendants.
2767         * src/roff/troff/div.cpp (diversion::diversion,
2768         macro_diversion::macro_diversion): Updated.
2769         (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2770         `suppress_next_eol'.
2771         (top_level_diversion::space): Handle `curenv->seen_space'.
2772         (page_offset): Update tag handling.
2773         (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2775         * src/roff/troff/env.h (environment): Make `tabs' public.
2776         Remove `ignore_next_eol', `emitted_node'.
2777         Update `output_line', `output'.
2778         New variables `seen_space', `seen_eol', `suppress_next_eol',
2779         `seen_break'.
2780         New member functions `construct_state', `make_tag',
2781         `construct_format_state, `construct_new_line_state,
2782         `dump_troff_state'.
2783         Remove `add_html_tag', `make_html_tag'.
2785         * src/roff/troff/env.cpp: New externs `suppress_push',
2786         `get_diversion_state', `global_diverted_space'.
2787         (pending_output_line): New variable `was_centered'.
2788         Update constructor and all callers.
2789         (pending_output_line::output): Call `curenv->construct_format_state'.
2790         (environment::environment, environment::copy): Updated.
2791         (environment::output): Handle `was_centered'.
2792         (environment::add_char): Handle construct and diversion state.
2793         (environment::add_node): Handle construct state.
2794         (environment::newline): Handle `was_centered'.
2795         (environment::output_line): Updated.
2796         (environment::possibly_break_line): Updated.
2797         Update tag handling.
2798         (environment::add_html_tag): Replaced with...
2799         (environment::make_tag): New function.
2800         (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2801         (environment::dump_troff_state): New debugging function.
2802         (environment::construct_state, environment::construct_format_state,
2803         environment::construct_new_line_state): New functions.
2804         (environment::do_break): Updated.
2805         Handle `global_diverted_space'.
2806         (environment::handle_tag): Update tag handling.
2807         (point_size, fill, do_break_request): Don't call `add_html_tag'.
2808         (no_fill): Don't call `add_html_tag'.
2809         Set `suppress_next_eol'.
2810         (center, right_justify, line_length, indent, temporary_indent,
2811         set_tabs):
2812         Update tag handling.
2814         * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2815         (input_iterator): New variables `is_diversion', `diversion_state'.
2816         Update constructors.
2817         (input_stack): New member functions `get_div_level',
2818         `get_diversion_state', `check_end_diversion'.
2819         New variables `div_level', `diversion_state'.  Initialize them.
2820         (suppress_push, global_diverted_space): New global variables.
2821         (input_stack::finish_get, input_stack::finish_peek,
2822         input_stack::remove_boundary, input_stack::end_file,
2823         input_stack::clear, input_stack::pop_macro): Call
2824         `check_end_diversion'.
2825         (input_stack::push): Handle `div_level' and `diversion_state'.
2826         (get_diversion_state): New function.
2827         (diverted_space_node::reread): Handle `global_diverted_space'.
2828         (macro::macro): Update constructors.
2829         (macro::is_diversion): New function.
2830         (macro::operator=): Set `is_a_diversion'.
2831         (string_iterator): New member function `is_diversion'.
2832         (string_iterator::string_iterator): Update constructors.
2833         (string_iterator::fill): Set `div_nest_level'.
2834         (macro_iterator): New member function `is_diversion'.
2835         (do_if_request): Handle `suppress_push'.
2836         (tag, taga): New functions.
2837         (init_input_requests): Add `tag' and `taga' requests.
2839 2004-10-05  Gaius Mulley  <gaius@glam.ac.uk>
2841         * src/include/font.h (font): New member function
2842         `get_image_generator'.
2843         New variables `unscaled_charwidths' and `image_generator'.
2845         * src/libs/libgroff/font.cpp (font::get_width): Always return the
2846         character's unscaled width if `font::unscaled_charwidths' is set.
2847         (font::get_image_generator): New function.
2848         (font::load_desc): Check the `unscaled_charwidths' and
2849         `image_generator' keywords.
2851         * src/libs/libgroff/fontfile.cpp: Initialize
2852         `font::unscaled_charwidths' and `font::image_generator'.
2854         * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2856         * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2858         * man/groff_font.man: Document `unscaled_charwidths' and
2859         `image_generator'.
2861         * src/preproc/html/pre-html.cpp: Include `device.h'.
2862         (image_gen): New global variable.
2863         (imageList::createPage): Use `image_gen'.
2864         (main): Use `image_generator' keyword.
2866 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
2868         * tmac/html.tmac: Handle \[sqrtex].
2870 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
2872         * src/include/printer.h (printer): New virtual method `round_width'.
2874         * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2875         src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2876         src/devices/grotty/tty.cpp (printer::round_width): New function
2877         member.
2879         * src/devices/grohtml/post-html.cpp (printer::round_width): New
2880         function member.
2881         (html_printer::set_numbered_char): Use it.
2883 2004-10-03  Gaius Mulley  <gaius@glam.ac.uk>
2885         * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2887         * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2889         * configure: Regenerated.
2891         * Makefile.in (GHOSTSCRIPT): New variable.
2892         (MDEFINES): Add GHOSTSCRIPT.
2894 2004-10-03  Werner LEMBERG  <wl@gnu.org>
2896         * INSTALL.gen: Updated (taken from texinfo CVS).
2898 2004-09-28  Werner LEMBERG  <wl@gnu.org>
2900         * NEWS: Updated.
2902 2004-09-28  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
2904         * tmac/groff_www.man: Revised and updated.
2906 2004-09-26  Werner LEMBERG  <wl@gnu.org>
2908         Fix \$@ and \$* to handle any number of arguments.
2910         * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
2911         characters.
2913         * src/roff/troff/input.cpp (input_iterator::internal_level):
2914         Removed.
2915         (input_stack): New member functions `increase_level' and
2916         `decrease_level'.
2917         (input_stack::get_level): Don't use `internal_level'.
2918         (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
2919         (end_quote_iterator): Completely removed.
2920         (interpolate_arg): Build string for \$@ and \$* which is then
2921         pushed onto the input stack.
2923 2004-09-23  Keith Marshall  <keith.d.marshall@ntlworld.com>
2925         * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
2926         Registers): Document changes from 2004-09-19.
2928 2004-09-23  Werner LEMBERG  <wl@gnu.org>
2930         * tmac/an-old.tmac (ne): Using default scaling operator.
2932 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
2934         This change implements the following features:
2936         PORPHANS
2937           New numeric register: Defines number of lines following LP, PP,
2938           QP, IP or XP, which must be kept together, before any automatic
2939           page break.  If insufficient space remains on the current page, a
2940           page break is forced before the new paragraph begins.
2942         HORPHANS
2943           New numeric register: Sets number of lines of following paragraph
2944           which must be kept with a heading, defined by NH or SH, before any
2945           automatic page break.  If insufficient space remains on the
2946           current page, a page break is forced before the heading.
2948         GROWPS
2949           (Thanks to Joerg van den Hoff, for this idea).
2951           New numeric register: Sets the first level of heading (set with
2952           NH), which will keep the same point size as body text; e.g. if
2953           GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
2954           point size specified by \n[PS], but .NH 2 and .NH 1 will have
2955           progressively larger point sizes, determined by \n[PSINCR] (see
2956           below).
2958         PSINCR
2959           New numeric register: Sets the point size increment for each level
2960           of heading, (set with NH), below the threshold level set by
2961           GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
2962           then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
2963           and all other levels will remain at 10pt, (because \n[PS] = 10).
2965         SH
2966           Existing macro now accepts a numeric argument, to make heading
2967           size match that of NH with same argument value, when the
2968           GROWPS/PSINCR feature is enabled.
2970         SN-DOT
2971           New string, set by NH macro, replaces the existing (undocumented)
2972           use of SN, to represent the assigned section number.
2974         SN-NO-DOT
2975           New string, set by NH macro, represents the assigned section
2976           number, but omits the terminal period (periods at intermediate
2977           levels are retained).
2979         SN
2980           String set by NH macro, originally undocumented, now implemented
2981           as an alias for SN-DOT (which reproduces original behaviour).
2983         * tmac/s.tmac (PORPHANS): New register.
2984         (par*start): Use it.
2985         (HORPHANS, GROWPS, PSINCR): New registers.
2986         (SH-NO-TAG, @SH): Use them.
2987         (@NH): Improved.
2989 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
2991         * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
2992         Document the deletion of `Ds' and `De' macros.
2994 2004-09-10  Werner LEMBERG  <wl@gnu.org>
2996         In tbl, handle \a as an interpreted leader character if in
2997         compatibility mode.
2999         * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3000         LEADER_CHAR): New macros.
3001         (compatible_flag): New declaration.
3003         * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3004         LEADER_3, and LEADER_4 to `state'.
3005         (table_input::get): Handle `\a'.
3007         * src/preproc/tbl/table.cpp (PREFIX): Removed.
3008         (LEADER_REG): New macro.
3009         (table::init_output): Define LEADER_REG string register if in
3010         compatibility mode.
3012         * src/preproc/tbl/tbl.man: Document it.
3014 2004-08-18  Werner LEMBERG  <wl@gnu.org>
3016         * tmac/doc.tmac (An): Fix error message.
3018 2004-08-06  Werner LEMBERG  <wl@gnu.org>
3020         * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3021         file can't be opened.  UNIX tbl has the same behaviour.
3023 2004-08-05  Y T  <doarhop@hotmail.com>
3025         * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3026         (DBRead): If in compatibility mode, take into account the text
3027         when computing figure boundaries.
3029 2004-08-05  Werner LEMBERG  <wl@gnu.org>
3031         * src/preproc/soelim/soelim.man: Improved.  Based on suggestions
3032         from Tadziu Hoffmann.
3034 2004-08-03  Werner LEMBERG  <wl@gnu.org>
3036         * doc/meref.me: Document `_M' register.
3038 2004-08-03  Martin Husemann  <martin@duskware.de>
3040         Make hpftodit work correctly on big-endian systems.
3042         * src/utils/hpftodit/hpftodit.cpp (File): New method
3043         `get_uint32(char *)'.
3044         (entry): New member `orig_value'.
3045         (read_tags): Use new method.
3046         (output_font_name, read_and_output_pcltypeface, dump_ascii):
3047         Updated.
3049 2004-08-01  Werner LEMBERG  <wl@gnu.org>
3051         * tmac/s.tmac: Undo change 2003-06-29.  The proper macro definitions
3052         are already in X11's `macros.t' file.
3054 2004-08-01  Jeff Conrad  <jeff_conrad@msn.com>
3056         * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3057         Fix casting bug.
3058         (read_and_output_pcltypeface): Handle strings with length <= 4.
3060 2004-07-27  Egil Kvaleberg  <egil@kvaleberg.no>
3062         * tmac/s.tmac (pg@top): Don't save `PO' register.
3063         (pg*end-col, pg*end-page): Directly use `PO' register.
3065 2004-07-27  Werner LEMBERG  <wl@gnu.org>
3067         * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3069         * src/preproc/refer/refer.cpp (output_references): Check for
3070         empty hash table.
3071         * src/preproc/refer/refer.man: Improve documentation of
3072         `bibliography' command.
3074 2004-07-26  Werner LEMBERG  <wl@gnu.org>
3076         Add requests `fcolor' and `gcolor'.
3078         * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3079         New functions.
3080         (init_env_requests): Add `fcolor' and `gcolor'.
3082         * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3084         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3085         (Colors): Document new requests.
3087 2004-07-24  Werner LEMBERG  <wl@gnu.org>
3089         Add support for fractional point sizes in ms macros.  A value for
3090         PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3091         by 1000.  For example, `.nr PS 10250' sets the font size to 10.25p.
3093         * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3094         PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3096         * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3097         Registers), NEWS: Document it.
3099 2004-07-19  Werner LEMBERG  <wl@gnu.org>
3101         * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3102         Update constructor.
3103         (do_for, for_input::get, for_input::peek): Handle negative `by'.
3104         * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3106 2004-07-08  Thomas Klausner  <wiz@netbsd.org>
3108         * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3109         * tmac/groff_mdoc.man: Updated.
3111 2004-07-05  Werner LEMBERG  <wl@gnu.org>
3113         * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3114         documentation of `hcode'.
3116 2004-07-04  Sang Dae Yu  <sdyu@bh.knu.ac.kr>
3118         Improve appearance of arrows in pic.
3120         * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3121         arrow head thin.
3122         Use two line segments for drawing non-filled arrow head.
3123         (line_object::print, spline_object::print): Shorten line length to
3124         avoid arrow sticking.
3125         (arc_object::print): Take arrow direction into account.
3127 2004-07-03  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3129         * tmac/groff_www.man: Update documentation of .MPIMG.
3131 2004-07-03  Werner LEMBERG  <wl@gnu.org>
3133         * tmac/an-old.tmac (RI): Always start with font `R'.
3134         (RI, IR): Properly end with font `R'.
3136 2004-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3138         * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3139         src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3140         src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3141         Don't pass more than six arguments to .R, .I, .B, etc., for
3142         compatibility with traditional troff macros.
3144 2004-07-02  Werner LEMBERG  <wl@gnu.org>
3146         * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3147         s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3148         Update all users.
3149         (PUSH_COMP_MODE): New internal character constant.
3150         Update all users.
3152         * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3153         PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3154         (token::next, macro::append): Handle PUSH_COMP_MODE.
3155         (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3156         POP_GROFFCOMP after each of the decoded arguments to make them
3157         independent from the compatibility mode status.
3158         (comp_mode): Add `COMP_ENABLE'.
3159         (do_define_string, do_define_macro): Handle COMP_ENABLE.
3160         (define_string, append_string, define_macro, define_indirect_macro,
3161         append_macro, append_indirect_macro): Handle `compatible_flag'.
3162         (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3164         * man/groff_diff.man, doc/groff.texinfo: Updated.
3166 2004-07-01  Werner LEMBERG  <wl@gnu.org>
3168         * doc/groff.texinfo: Improve documentation of `hcode'.
3169         Use @documentencoding and convert document to latin-1; to do that
3170         make latin characters active and assign proper macros (within a
3171         @tex...@end tex environment).
3172         * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3173         * doc/Makefile.sub (groff): Ditto.
3175 2004-06-29  Werner LEMBERG  <wl@gnu.org>
3177         Implement two new conditional operators `F <name>' and `S <name>'
3178         which check whether <name> is a valid font or style, respectively.
3180         * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3181         (text_file::text_file): Updated.
3182         (text_file::error): Don't emit message if `silent' is set.
3183         (font::load_font): Add optional third argument (which is directly
3184         passed to `load'.
3185         (font::load): Add optional second argument to check the header of
3186         a font only, without emitting warning or error messages.
3187         * src/include/font.h (font): Updated.
3189         * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3190         conditionals.
3191         * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3192         fourth argument to check a font without mounting.
3193         (check_font, check_style): New functions.
3194         * src/roff/troff/node.h: Updated.
3196         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3197         Updated.
3199 2004-06-27  Werner LEMBERG  <wl@gnu.org>
3201         Implement new string-valued register `.sty' to return the current
3202         style name.
3204         * env.cpp (environment::get_style_name_string): New function.
3205         (init_env_requests): Add `.sty' register.
3206         * env.h (environment): Updated.
3207         * node.cpp (font_info): Make `get_style_name' a friend.
3208         (get_style_name): New function.
3209         * node.h: Updated.
3211         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3212         Updated.
3214 2004-06-15  Werner LEMBERG  <wl@gnu.org>
3216         * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3217         `nospaces' option.
3219 2004-06-10  Colin Percival  <colin.percival@wadham.ox.ac.uk>
3221         * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3222         and \n[mo] to avoid dependency on current date.
3224 2004-06-08  Werner LEMBERG  <wl@gnu.org>
3226         * Makefile.sub (install_data): New target.
3228 2004-06-04  Werner LEMBERG  <wl@gnu.org>
3230         * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3232 2004-06-03  Werner LEMBERG  <wl@gnu.org>
3234         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3235         order of libraries.
3236         (install_data): Add $(srcdir).
3238         * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3239         libraries.
3241 2004-06-02  Werner LEMBERG  <wl@gnu.org>
3243         * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3244         Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3245         Add test for Xmu library.
3246         (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3247         GROFF_APPRESDIR_DEFAULT): New macros.
3249         * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3250         and GROFF_APPRESDIR_DEFAULT.
3252         * configure: Regenerated.
3254         * Makefile.in (appresdir): New variable.
3255         (MDEFINES): Add appresdir.
3257         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3258         -Xt.
3259         (install_data, uninstall_sub): New targets to handle GXditview.ad.
3261         * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3262         `$(srcdir)/eign', not `eign'.
3264         * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3266         * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3267         src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3268         Protect (g)xditview with `\%' to avoid hyphenation.
3269         Other minor formatting.
3271 2004-06-01  Werner LEMBERG  <wl@gnu.org>
3273         Integrate gxditview into groff's standard directory hierarchy.
3275         * src/xditview/*: Moved to ...
3276         * src/devices/xditview/*: Here.
3277         Moved DviChar.h and XFontName.h to src/include.
3278         Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3279         Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3280         Moved xtotroff.c to new directory src/utils/xtotroff.
3281         Provide proper Makefile.sub files (reusing the stuff from
3282         Imakefile.in).
3283         DESC renamed to DESC.in.
3284         Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3285         Converted everything from K&R to ANSI C.
3286         Decorated with const where appropriate.
3287         Cast string constants with `String' and `char *' where appropriate.
3288         Made it compile with C++ (used as a C compiler).
3289         Removed other minor compiler warnings.
3291         * src/devices/xditview/device.c: Include config.h, string.h, and
3292         defs.h.
3293         Don't declare `exit', `strtok', `strchr', and `getenv'.
3294         (FONTPATH): Remove.
3296         * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3297         `XFormatFontName'.
3299         * src/devices/xditview/xditview.c: Include config.h.
3300         Include stdio.h earlier.
3301         Protect declaration of `popen' and `pclose' with
3302         NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3303         Replace `caddr_t' with `XtPointer'.
3304         (MakePromptFunc): New typedef.
3305         (DoPrint): Use RETSIGTYPE.
3306         (promptfunction): Change type to MakePromptFunc.
3307         (MakePrompt): Use MakePromptFunc for third argument.
3308         (xmalloc): Removed.
3310         * src/devices/xditview/ad2c: Add casts to `String'.
3312         * src/include/XFontName.h (XFontNameString): Don't use array
3313         notation.
3314         Add prototypes for `XParseFontName', `XFormatFontName',
3315         `XCompareFontName', and `XCopyFontName'.
3317         * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3318         `XFontName.h'.
3320         * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3321         Don't declare `XParseFontName' and `XFormatFontName'.
3322         (xmalloc): Removed.
3323         (main): Remove `optind' and `optarg'.
3325         * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3326         (to select programs which need X).
3327         Make XDEVIDIRS depend on `FORCE'.
3328         (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3329         X support).
3330         (MDEFINES): Updated.
3331         (LIBDIRS): Use XLIBDIRS.
3332         (CPROGDIRS): Use XPROGDIRS.
3333         (DEVDIRS): Remove font directories for gxditview.
3334         (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3335         (EXTRADIRS): Remove src/xditview.
3337         * Makefile.sub (DISCLEANFILES): Updated.
3339         * Makefile.comm (LIBXUTIL): New variable.
3340         (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3341         (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3343         * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3345         * aclocal.m4 (GROFF_X11): New function.
3347         * configure.ac: Call GROFF_X11.
3348         Don't create src/xditview/Imakefile.
3349         Don't emit notice how to build gxditview.
3351         * configure: Regenerated.
3353         * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3355 2004-05-28  Akihiro Sagawa  <sagawa@sohgoh.net>
3357         * Makefile.in (CPPFLAGS): Define.
3358         (MDEFINES): Add CPPFLAGS.
3360 2004-05-27  Werner LEMBERG  <wl@gnu.org>
3362         * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3364 2004-05-26  Niklas Edmundsson  <nikke@acc.umu.se>
3366         Fix problems with `friend name injections'.
3368         * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3369         make_script_box), src/roff/troff/div.h (end_diversions),
3370         src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3371         change 2004-04-08.
3373 2004-05-25  Bernd Warken  <bwarken@mayn.de>
3375         * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3377 2004-05-25  Werner LEMBERG  <wl@gnu.org>
3379         * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3380         src/libs/libgroff/color.cpp: Include lib.h.
3382 2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
3384         * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3385         through Forte 6u1, and for how to get GNU make on Solaris.
3387 2004-05-24  Werner LEMBERG  <wl@gnu.org>
3389         * PROBLEMS: Document problems with gcc 3.4.0 on Sun.  Reported
3390         by Paul Eggert.
3392 2004-05-15  Keith Marshall  <keith.d.marshall@ntlworld.com>
3394         * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3395         rule.
3397 2004-05-14  Werner LEMBERG  <wl@gnu.org>
3399         * REVISION: Set to 2.
3401         * aclocal.m4 (GROFF_STDINT_H): Removed.
3402         (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3404         * configure.ac: Updated.
3405         * configure, src/include/config.hin: Regenerated.
3407         * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3408         inttypes.h conditionally.
3410 2004-05-13  Werner LEMBERG  <wl@gnu.org>
3412 Version 1.19.1 released
3413 =======================
3415 2004-05-10  Stephen Gildea  <http://www.gildea.com/stephen>
3417         * src/preproc/refer/label.y (same_author_last_name,
3418         same_author_name): Handle empty sort keys.
3420 2004-05-10  Werner LEMBERG  <wl@gnu.org>
3422         * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3423         tmac/TODO: Updated.
3425         * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3426         doc-str-Lb-librt): Reset font.
3427         (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3428         Provide `doc-str-Lb' to reset font.
3429         * tmac/groff_mdoc.man: Updated.
3431 2004-05-08  Jan Schaumann  <jschauma@netmeister.org>
3433         * src/preproc/html/pre-html.cpp (make_message): Make it work for
3434         snprintf versions which don't conform to ANSI C 99 (this is,
3435         counting the string's trailing null byte in the return value).
3437 2004-05-07  Keith Marshall  <keith.d.marshall@ntlworld.com>
3439         * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3440         that all implementations of sprintf handle null pointers correctly.
3442 2004-05-04  Werner LEMBERG  <wl@gnu.org>
3444         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3445         Document `.U' register.
3447         * src/roff/troff/env.cpp (environment::mark_last_line)
3448         [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3450 2004-05-04  Larry Kollar  <kollar@alltel.net>
3452         New read-only register `.U'; it returns 1 in safer mode and 0
3453         otherwise.
3455         * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3456         register.
3458 2004-05-03  Werner LEMBERG  <wl@gnu.org>
3460         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3462 2004-04-17  Werner LEMBERG  <wl@gnu.org>
3464         * src/include/font.h (font): Use `int' for ch_index.
3465         * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3466         font::compact): Updated.
3468         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3469         warnings.
3471         * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3472         (hyphen_word): Fix compiler warnings.
3473         * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3474         `char'.
3475         Update all callers.
3476         (get_delim_number, get_line_arg): Change second argument type to
3477         `unsigned char'.
3478         (macro_header::copy, token::next, do_define_string,
3479         do_define_character, substring_request, asciify_macro,
3480         unformat_macro, read_size, non_interpreted_node::interpret,
3481         while_request, main: Fix compiler warnings.
3482         (read_color_draw_node): Initialize `col'.
3484         * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3485         `start_col' and `end_col' of type `int'.
3486         (vertical_rule): Make `col' of type `int'.
3488         * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3489         for EOF.
3491         * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3492         New arrays.
3493         (format_serial): Use them to remove dependency on ASCII.
3495         * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3496         compiler warning.
3497         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3498         Ditto.
3500         * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3501         compiler warnings.
3502         (glyph): Change type of `hpos' to `int'.
3504         * src/devices/lbp/lbp.cpp (strsep): Removed.  Unused.
3505         * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3507         * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3509         * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3511 2004-04-16  Werner LEMBERG  <wl@gnu.org>
3513         * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3514         src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3515         src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3516         `double' instead of `float' everywhere.
3517         * src/preproc/grn/main.cpp: Use `double' instead of `float'
3518         everywhere.
3519         (main): Add return value.
3520         * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3521         everywhere.
3522         Update all user functions.
3524         * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3525         src/preproc/eqn/box.h, src/preproc/pic/object.h,
3526         src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3527         src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3528         src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3529         src/roff/troff/input.cpp, src/roff/troff/request.h,
3530         src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3531         declarations.
3533         * src/utils/indxbib/signal.c: Include stdlib.h.
3535 2004-04-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
3537         * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3538         before the first page.
3540 2004-04-14  Thomas Klausner  <wiz@netbsd.org>
3542         * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3543         (doc-operating-system-*): Updated.
3544         * tmac/doc-syms (doc-str-St-*): Various small fixes.
3545         (doc-str-Lb-*): Add more library names.
3547 2004-04-10  Art Haas  <ahaas@airmail.net>
3549         * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3550         use anonymous type.
3552 2004-04-09  Art Haas  <ahaas@airmail.net>
3554         * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3556 2004-04-09  Keith Marshall  <keith.d.marshall@ntlworld.com>
3558         * arch/misc/shdeps.sh: Generate better comment for sed script.
3560 2004-04-08  Art Haas  <ahaas@airmail.net>
3562         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3563         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3564         src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3565         src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3566         (polyfill), src/preproc/grn/main.cpp (polyfill),
3567         src/preproc/refer/command.cpp (command_table),
3568         src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3569         gcc 3.5 doesn't like).
3571 2004-04-08  Werner LEMBERG  <wl@gnu.org>
3573         Removing many compiler warnings.  groff should now compile with
3574         a C++ compiler used for C files also.  [Simple variable renamings
3575         to avoid shadowing aren't logged in detail.]
3577         * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3578         (draw_dvi_printer::draw) ['c']: Enclose in block.
3580         * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3581         (page::add_line): Fix typos.
3582         * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3584         * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3585         Some local variable renamings.
3586         * src/devices/grolbp/lbp.h: Some local variable renamings.
3588         * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3589         variable renamings.
3591         * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3592         Remove redundant local variable declaration.
3593         * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3594         Don't use `caddr_t' but `void *'.
3595         Enclose functions with `extern "C"' for C++.
3597         * src/libs/libdriver/input.cpp (remember_filename,
3598         remember_source_filename): Use cast for string constant.
3600         * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3601         src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3602         src/libs/libgroff/geometry.cpp: Some local variable renamings.
3603         * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3604         style.
3605         Enclose functions with `extern "C"' for C++.
3606         * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3607         (needs_quoting): Return `int'.
3608         (quote_arg): Add proper casts to malloc and realloc.
3609         * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3610         various MS Windows environments.
3611         (spawnvp_wrapper): Add proper cast to malloc.
3613         * src/preproc/eqn/box.h: Remove redundant declarations of
3614         `make_script_box', `make_mark_box' and `make_lineup_box'.
3615         * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3616         * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3617         variable renamings.
3619         * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3620         * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3621         (dx, dy): Renamed functions to...
3622         (deltax, deltay): This.
3623         * src/preproc/grn/main.cpp: Some local variable renamings.
3624         (deffont): Add `const'.
3625         (initpic, conv): Use cast for string constant.
3627         * src/preproc/html/pre-html.cpp: Some local variable renamings.
3628         (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3629         (char_buffer::run_output_filter): Second argument is unused.
3630         * src/preproc/html/pushback.cpp: Some local variable renamings.
3632         * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3633         * src/preproc/pic/object.cpp: Some local variable renamings.
3635         * src/preproc/refer/label.y (lookup_label): Remove redundant
3636         declaration of local variable.
3638         * src/preproc/soelim.cpp: Remove redundant declaration of
3639         `interpret_lf_args'.
3641         * src/preproc/tbl/main.cpp: Some local variable renamings.
3643         * src/roff/groff/groff.cpp (main): Use cast for string constant.
3644         * src/roff/groff/pipeline.c: Enclose declarations of `error',
3645         `c_fatal', and `i_to_a' with `extern "C"' for C++.
3646         Don't use C++-style comments.
3648         * src/roff/troff/env.h: Remove redundant declaration of `title'.
3649         * src/roff/troff/node.h, src/roff/troff/env.cpp,
3650         src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3651         renamings.
3652         * src/roff/troff/div.h: Remove redundant declaration of
3653         `end_diversions'.
3654         * src/roff/troff/troff.h: Remove redundant declaration of
3655         `cleanup_and_exit'
3656         * src/roff/troff/input.cpp: Remove redundant declaration of
3657         `handle_first_page_transition' and `process_input_stack'.
3659         * src/utils/hpftodit.cpp: Some local variable renamings.
3661         * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3662         for C++.
3663         Don't define RETSIGTYPE.
3664         * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3666         * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3667         (error): Use `const' in argument.
3668         (main): Remove redundant declaration of `optind'.
3669         Move declaration of `Version_string' to top-level.
3671         * PROBLEMS: Document difficulties compiling signal.c if a C++
3672         compiler is used for C.
3674 2004-04-07  Werner LEMBERG  <wl@gnu.org>
3676         * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3678 2004-04-06  Keith Marshall  <keith.d.marshall@ntlworld.com>
3680         Make scripts like nroff.sh and neqn.sh portable across various
3681         (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3682         non-POSIX path separators.  The idea is to extend those scripts to
3683         decide at run-time (of the script) which path separator to use.
3685         * arch/misc/Makefile.sub: New file.
3686         * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3687         This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3688         a proper definition of the variable `GROFF_RUNTIME'.
3690         * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3691         (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3692         (PROGDEPDIRS): New variable.
3693         `FORCE' it.
3694         (PROGDIRS): Add PROGDEPDIRS.
3696         * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3697         Don't substitute @SEP@ and @BINDIR@.
3698         * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3699         (PATH): Use GROFF_RUNTIME.
3701         * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3702         Don't substitute @SEP@ and @BINDIR@.
3703         * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3704         (PATH): Use GROFF_RUNTIME.
3706 2004-04-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3708         * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3709         Cygwin which doesn't handle stderr correctly.
3711 2004-03-08  Werner LEMBERG  <wl@gnu.org>
3713         * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3714         against empty argument.  Problem reported by <cgd@broadcom.com>.
3716 2004-03-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3718         * Makefile.in (SEP): Replaced with...
3719         (RT_SEP, SH_SEP): Separators for the target platform's native path
3720         separator and the build environment, respectively.
3721         (fontpath, tmacpath): Use RT_SEP.
3722         (MDEFINES): Updated.
3724         * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3725         * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3726         * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3727         * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3729 2004-03-05  Werner LEMBERG  <wl@gnu.org>
3731         * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200.  This helps to
3732         reduce alignment problems with newer printers which use built-in
3733         TrueType fonts (instead of the older Intellifonts).  The ideal
3734         solution is to provide a second set of groff metric files, but this
3735         is extremely time-consuming to produce, given that HP's metric
3736         files are very rudimentary.
3738 2004-03-01  Werner LEMBERG  <wl@gnu.org>
3740         * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3741         s/operand/argument/ in error message.
3743 2004-03-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
3745         * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3746         is in use.
3748 2004-03-01  Antti Kantee  <pooka@netbsd.org>
3750         * tmac/s.tmac (XE): Fix error message.
3752 2004-02-27  Jeff Conrad  <jeff_conrad@msn.com>
3754         * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3755         New macros.
3757         * src/roff/groff/pipeline.c: Declare strcasecmp.
3758         (run_pipeline) [_WIN32]: Use function name variants which don't
3759         start with `_'.
3760         Fix stream handling.
3762 2004-02-27  Keith Marshall  <keith.d.marshall@ntlworld.com>
3764         * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3765         Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3766         for platforms which use the native Win32 runtime libraries.
3767         (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3769         * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3770         QUOTE_ARG_REALLOC_ERROR): Fix string.
3772         * src/preproc/html/pre-html.cpp: Remove declaration of
3773         `spawnvp_wrapper'.
3774         Don't use __MINGW32__.
3775         s/DEBUG_FILE/DEBUG_FILE_DIR/.
3776         (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3777         (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3778         (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3779         calls to `set_redirection' and `WAIT'.
3780         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3781         Fix calls to `set_redirection' and `save_and_redirect'.
3782         (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3783         to `set_redirection' and `save_and_redirect'.
3784         (usage): Fix message.
3785         (makeTempFiles, main): Use `DEBUG_FILE'.
3787 2004-02-21  Werner LEMBERG  <wl@gnu.org>
3789         * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3791 2004-02-21  Keith Marshall  <keith.d.marshall@ntlworld.com>
3793         * src/libs/libgroff/quotearg.c: New file, providing proper argument
3794         quoting for MSVC's spawn* and exec* functions.
3795         * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3796         spawnvp with proper quoting for MSVC.
3798         * src/libs/libgroff/assert.cpp (program_name),
3799         src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3800         * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3802         * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3804         * src/include/error.h (program_name): Declare as `extern "C"'.
3805         * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3807 2004-02-21  Jeff Conrad  <jeff_conrad@msn.com>
3809         * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3810         spawnvp_wrapper.
3811         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3813 2004-02-20  Jeff Conrad  <jeff_conrad@msn.com>
3815         * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3816         variable.
3817         (sbasename) [__MSDOS__ || ...]: New function.
3818         (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3819         generic algorithm.
3820         (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3821         (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3822         of XXX.
3823         Use STDOUT_FILENO instead of hardcoded file handle.
3824         (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3826 2004-02-19  Werner LEMBERG  <wl@gnu.org>
3828         * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3829         avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3831 2004-02-18  Werner LEMBERG  <wl@gnu.org>
3833         * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3834         new font and mapping files.
3836 2004-02-18  Jeff Conrad  <jeff_conrad@msn.com>
3837             Keith Marshall  <keith.d.marshall@ntlworld.com>
3839         * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3840         an input pipe.  This is needed for the MSVC compiler to make troff's
3841         `-o' option work.
3843         * src/roff/troff/div.cpp: Include nonposix.h.
3844         (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3846 2004-02-17  Werner LEMBERG  <wl@gnu.org>
3848         * font/devlj4/generate/special.awk: New script.
3849         * font/devlj4/generate/Makefile (S): Use special.awk.
3850         * font/devlj4/*: Regenerated, including the following new files:
3851         Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3852         MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3853         * NEWS: Document new lj4 fonts and revised hpftodit.
3855 2004-02-17  Paco Andrés Verdú  <pandres@dragonet.es>
3857         * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3859 2004-01-25  Werner LEMBERG  <wl@gnu.org>
3861         * src/libs/libgroff/progname.cpp: Replaced with...
3862         * src/libs/libgroff/progname.c: New file.
3863         * src/libs/libgroff/Makefile.sub: Updated accordingly.
3865 2004-01-17  Werner LEMBERG  <wl@gnu.org>
3867         * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3869 2004-01-16  Jeff Conrad  <jeff_conrad@msn.com>
3871         * font/devlj4/generate/wingdings.map,
3872         font/devlj4/generate/symbol.map: Include unnamed glyphs.
3873         Use groff glyph names where possible.
3874         * src/devices/grolj4/lj4_font.man: Minor updates.
3876 2004-01-13  Werner LEMBERG  <wl@gnu.org>
3878         * tmac/www.tmac (DC): Handle TTY devices.
3880         * doc/webpage.ms: Document viewCVS from ffii.org.
3881         * NEWS, README: Updated.
3883         * src/roff/groff/groff.man: Mention lj4_font man page.
3885         * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3886         variables.
3887         (FONTS): Add SYMBOL and WINGDINGS.
3888         (SYMBOL, WINGDINGS): New targets.
3890 2004-01-13  Jeff Conrad  <jeff_conrad@msn.com>
3892         * src/devices/grolj4/lj4_font.man: New man page.
3893         * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3894         * src/devices/grolj4.man: Mention lj4_font man page.
3896         * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3897         * src/utils/hpftodit/hpftodit.man: Document it.
3898         (CW): New macro.
3899         Remove details about fonts (which are now in lj4_font.man).
3901         * font/devlj4/generate/symbol.map,
3902         font/devlj4/generate/wingdings.map: New files.
3904 2004-01-12  Werner LEMBERG  <wl@gnu.org>
3906         * README: Mention ffii's viewcvs access.
3908 2004-01-09  Werner LEMBERG  <wl@gnu.org>
3910         * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
3912 2004-01-09  Jeff Conrad  <jeff_conrad@msn.com>
3914         Revert most of the change from 2004-01-03 to better control used
3915         symbol sets.
3917         * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
3918         (text_symbol_sets, special_symbol_sets): New arrays.
3919         (symbol_set_table): New global variable.
3920         (read_symbol_sets): Use search order given in the text_symbol_sets
3921         and special_symbol_sets arrays.  If command line flag -a is not
3922         given, search both arrays.
3923         (output_charset): Require x_height_tag only for command line flag -i.
3925 2004-01-06  Werner LEMBERG  <wl@gnu.org>
3927         Implement string-valued registers \n[.m] and \n[.M] to return the
3928         name of the current drawing and background color, respectively.
3930         * src/roff/troff/symbol.h: Moved to...
3931         * src/include/symbol.h: Here.
3932         Small fixes to make it work outside of the `troff' directory.
3933         * src/roff/troff/symbol.cpp: Moved to...
3934         * src/libs/libgroff/symbol.cpp: Here.
3935         Small fixes to make it work outside of the `troff' directory.
3937         * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
3938         (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
3939         Updated.
3941         * src/include/color.h: Include symbol.h.
3942         (color): Add new field `nm'.
3943         * src/libs/libgroff/color.cpp (color::color): Updated.
3945         * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
3946         src/roff/troff/node.cpp, src/roff/troff/number.cpp,
3947         src/roff/troff/reg.cpp: Don't include symbol.h.
3949         * src/roff/troff/env.cpp: Don't include symbol.h.
3950         (environment::get_glyph_color_string,
3951         environment_get_fill_color_string): New member functions.
3952         (init_env_requests): Handle `.m' and `.M' registers.
3953         * src/roff/troff/input.cpp: Don't include symbol.h.
3954         (default_symbol): Moved to symbol.cpp/symbol.h.
3955         (do_glyph_color, do_fill_color, define_color): Pass symbol name
3956         to color constructor.
3957         * src/roff/troff/env.h: Updated.
3959         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3960         Document new registers.
3962 2004-01-05  Werner LEMBERG  <wl@gnu.org>
3964         * src/roff/troff/node.cpp (space_node::get_breakpoints,
3965         space_node::nbreaks): Protect against zero `next' field.
3967 2004-01-03  Jeff Conrad  <jeff_conrad@msn.com>
3969         In hpftodit, use the symbol sets offered in the TFM.
3971         * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
3972         (symbol_set, text_symbol_sets, special_symbol_sets,
3973         symbol_set_table): Removed.
3974         (get_printcode): Removed.
3975         (read_symbol_sets): Initialize `symbol_set' field with
3976         `NO_SYMBOL_SET'.
3977         Simplify code to just use the `kind' value.
3978         (output_charset): Improve output formatting.
3979         (dump_symbols): Simplified.
3981 2004-01-02  Werner LEMBERG  <wl@gnu.org>
3983         * font/devlj4/generate/text.map: Add more MSL numbers.
3985 2004-01-02  Jeff Conrad  <jeff_conrad@msn.com>
3987         * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
3988         (text_symbol_sets): Add more symbol sets.
3989         (debug_flag): New static variable (moved from `main').
3990         (get_printcode, show_symset): New functions.
3991         (main): Remove `debug_flag'.
3992         (output_charset): Use `show_symset'.
3993         (dump_symbols):  Use `show_symset'.
3994         Print symsets for all glyphs.
3995         (read_map): Actually call `unicode_to_ucode_make' but this time
3996         correctly.
3998 2004-01-01  Werner LEMBERG  <wl@gnu.org>
4000         * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4001         Fix placement of comments.
4003 2004-01-01  Jeff Conrad  <jeff_conrad@msn.com>
4005         * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4006         option `-d' is given.
4007         (output_charset): Improve warning messages to give more information.
4008         (dump_symbols): Make information more precise.
4009         (usage): Updated.
4010         (read_map): Don't call unicode_to_ucode_name; the glyph names must
4011         appear as-is and shouldn't be decomposed.
4013 2003-12-31  Werner LEMBERG  <wl@gnu.org>
4015         * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4016         * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4017         (FONTS): Add TrueType font families Arial and Times New Roman.
4018         (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4019         * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4020         `fl'.
4022 2003-12-31  Jeff Conrad  <jeff_conrad@msn.com>
4024         * test-groff.in (SEP): Quote value.
4025         * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4026         `tem' to `char*' to avoid deallocation of a pointer to a constant
4027         object which some compilers don't like.
4029 2003-12-31  Werner LEMBERG  <wl@gnu.org>
4031         * font/devlj4/generate (text.map, special.map): Rewritten to work
4032         with the new hpftodit version.
4034 2003-12-30  Jeff Conrad  <jeff_conrad@msn.com>
4036         * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4037         set and 8bit character code for all glyphs also.
4039 2003-12-30  Werner LEMBERG  <wl@gnu.org>
4041         * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4043 2003-12-29  Werner LEMBERG  <wl@gnu.org>
4045         More fixes for MSVC compiler.
4047         * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4048         $(SEP).
4050         * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4051         STDERR_FILENO) [_MSC_VER]: Define conditionally.
4052         (getpid) [_MSC_VER]: Remove.
4053         Include direct.h and process.h conditionally.
4055         * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4056         parentheses for a_delete.
4058         * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4060         * test-groff: Replaced with...
4061         * test-groff.in: This new template to handle path separator
4062         properly.
4064         * configure.ac: Check for direct.h and process.h.
4065         Generate test-groff script.
4066         * configure, src/include/config.hin: Regenerated.
4068 2003-12-28  Werner LEMBERG  <wl@gnu.org>
4070         Add integral extension glyph.
4071         Add new option `-x' to afmtodit to suppress use of built-in AGL.
4073         * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4075         * font/devps/generate/textmap: Provide entry for `integralex' to
4076         override (old) PUA value of the AGL.
4077         * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4078         * font/devps/*: Regenerated.
4080         * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4081         * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4083 2003-12-27  Werner LEMBERG  <wl@gnu.org>
4085         Add forgotten `coproduct' symbol (already available for DVI).
4087         * font/devhtml/R.proto, font/devps/generate/textmap,
4088         font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4089         src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4090         U+2210 (\[coproduct]).
4092 2003-12-26  Jeff Conrad  <jeff_conrad@msn.com>
4094         hpftodit has been extended to handle TrueType metric files and
4095         more glyphs.  See hpftodit.man for more details.
4097         * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4098         ctype.h, and unicode.h.
4099         s/msl/charcode/ everywhere since we now handle Unicode values also.
4100         (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4101         Use it where appropriate.
4102         (MULTIPLIER): Replaced with...
4103         (multiplier): New global static variable.
4104         (scale): Updated.
4105         (tag_type): Add more TFM tags.
4106         (tag_name): New array.
4107         (ENUM_TYPE, FLOAT_TYPE): Removed.
4108         (BYTE_TYPE): New value assigned.
4109         (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4110         (text_symbol_sets, special_symbol_sets): Extended to cover more
4111         sets.
4112         (check_type): Add return value.
4113         (check_units): Add parameters to get ppi and upem values.
4114         Handle TrueType TFM data.
4115         (output_font_name): New function.
4116         (output_charset): Add parameter to handle TFM type.
4117         Handle TrueType TFMs also.
4118         (em_fract): New macro.
4119         (dump_tags): Be much more verbose and handle more tags.
4120         (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4121         (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4122         functions.
4123         (read_map): Add parameter to handle TFM type.
4124         Handle both MSL and Unicode mappings.
4125         (main): Add two new command line options `-a' and `-q'.
4126         Updated to make use of new functions.
4127         (usage): Updated.
4129         * src/utils/hpftodit/hpuni.cpp: New file.
4131         * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4132         Updated.
4134 2003-12-25  Werner LEMBERG  <wl@gnu.org>
4136         * src/include/nonposix.h (read) [_MSC_VER]: Define.
4138 2003-12-24  Werner LEMBERG  <wl@gnu.org>
4140         * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4141         by Michail Vidiassov <master@iaas.msu.ru>.
4143 2003-12-20  Werner LEMBERG  <wl@gnu.org>
4145         * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4146         and u0049_0307.
4147         Add missing latin-2 glyphs.
4148         * font/devutf8/R.proto: Add missing latin-2 glyphs.
4150         * tmac/troffrc: Load `composite.tmac' earlier.
4152         * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4153         u00{53,73}_0327, and u0049_0307.
4154         * tmac/X.tmac: Add u00{47,67}_0306.
4155         * tmac/tty-char.tmac: Use composite glyph names for readability.
4157         * NEWS: Updated.
4159         * src/include/unicode.h: Remove `extern' keywords.
4161 2003-12-20  Nilgün Belma Bugüner  <nilgun@superonline.com>
4163         * tmac/latin5.tmac: New file.
4165 2003-12-19  Werner LEMBERG  <wl@gnu.org>
4167         Add some glyphs needed for Turkish.
4169         * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4170         and u0049_0307.
4172         * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4173         * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4174         u00{53,73}_0327, and u0049_0307.
4176 2003-12-18  Werner LEMBERG  <wl@gnu.org>
4178         * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4179         from 2001-10-04.
4180         Remove trailing zeros.
4182 2003-12-17  Werner LEMBERG  <wl@gnu.org>
4184         Make \? transparent to end-of-sentence recognition.
4186         * src/roff/troff/input.cc (non_interpreted_node): Add
4187         `ends_sentence' member function.
4189 2003-12-16  Werner LEMBERG  <wl@gnu.org>
4191         * doc/groff.texinfo: Document `dt' request correctly.
4192         Other minor typographical improvements.
4194 2003-12-10  Michail Vidiassov  <master@iaas.msu.ru>
4196         * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4198 2003-12-10  Richard Stallman  <rms@gnu.org>
4200         * LICENSE: Better wording.
4202 2003-12-09  Werner LEMBERG  <wl@gnu.org>
4204         * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4205         * configure, NEWS: Updated.
4207 2003-12-08  Werner LEMBERG  <wl@gnu.org>
4209         * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4211 2003-12-07  Bernd Warken  <bwarken@mayn.de>
4213         * LICENSE: Updated.
4215 2003-12-07  Werner LEMBERG  <wl@gnu.org>
4217         * INSTALL: Improved.
4219 2003-12-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
4221         Use path separator character of target platform for compiled-in
4222         default paths.
4224         * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4225         * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4226         * configure: Regenerated.
4227         * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4229 2003-12-05  Werner LEMBERG  <wl@gnu.org>
4231         * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4232         Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4234 2003-12-04  Bernd Warken  <bwarken@mayn.de>
4236         * LICENSE: New file.
4238 2003-12-03  Werner LEMBERG  <wl@gnu.org>
4240         * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4241         ligatures present in AFM files since groff currently only
4242         understands some standard ligatures and nothing else.
4244 2003-12-03  Jeff Conrad  <jeff_conrad@msn.com>
4246         * src/roff/groff/groff.cpp (main): Don't run the spooler if
4247         option -v is given.
4249         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4250         messages.
4251         Close stdout copy.
4252         Don't use Unix wait flags.
4254 2003-12-02  Werner LEMBERG  <wl@gnu.org>
4256         * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4257         src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4258         src/roff/troff/uniuni.cpp: Moved to...
4259         * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4260         src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4261         src/libs/libgroff/uniuni.cpp: Here.
4263         * src/include/Makefile.sub.old (HDRS),
4264         src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4265         src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4267 2003-12-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
4269         * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4270         `DEBUG_FILE'.
4271         Updated all users.
4273 2003-12-01  Werner LEMBERG  <wl@gnu.org>
4275         * groff.texinfo: Document special behaviour of `.vs 0'.
4276         Improve documentation of `cflags' request.
4277         * NEWS: Updated.
4279 2003-11-29  Werner LEMBERG  <wl@gnu.org>
4281         * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4282         * font/devlj4/CORONET: Regenerated.
4284 2003-11-24  Werner LEMBERG  <wl@gnu.org>
4286         * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4287         if processing hyphenation patterns in traditional mode.
4288         Improve error messages.
4290 2003-11-20  Werner LEMBERG  <wl@gnu.org>
4292         * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4293         troff_output_file::put_char): Fix type of local variable `c'.
4295 2003-11-19  Werner LEMBERG  <wl@gnu.org>
4297         * src/roff/groff/pipeline.c (P): Removed.  Updated all function
4298         declarations.
4299         (i_to_a): Removed.  libgroff already provides this function.
4300         (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4302 2003-11-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
4304         * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4305         HAVE_DECL_SYS_LIST.
4307 2003-11-17  Werner LEMBERG  <wl@gnu.org>
4309         * COPYING: Use correct version.
4311 2003-11-11  Werner LEMBERG  <wl@gnu.org>
4313         LynxOS 4.0.0 doesn't declare vfprintf.
4315         * configure.ac: Check for vfprintf.
4316         * configure: Regenerated.
4317         * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4318         * src/include/config.hin: Regenerated.
4320 2003-11-10  Werner LEMBERG  <wl@gnu.org>
4322         LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4324         * configure.ac: Check for vsnprintf.
4325         * configure: Regenerated.
4326         * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4327         `HAVE_VSNPRINTF'.
4328         * src/include/config.hin: Regenerated.
4330 2003-11-09  Werner LEMBERG  <wl@gnu.org>
4332         * aclocal.m4: Updated syntax to autoconf 2.59.
4333         (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4334         Don't check for gsos2.
4335         (GROFF_SRCDIR, GROFF_BUILDDIR): Removed.  autoconf 2.59 provides
4336         working abs_top_srcdir and abs_top_builddir.
4338         * configure.ac: Updated syntax to autoconf 2.59.
4339         Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4340         Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4341         * configure: Regenerated.
4343         * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4344         s/@groff_top_builddir@/@abs_top_builddir@/.
4346         * src/roff/groff/pipeline.c (xstrsignal):
4347         s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4349 2003-11-07  Werner LEMBERG  <wl@gnu.org>
4351         * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4352         make start angle smaller than end angle to circumvent a bug in tpic
4353         handling of some versions of dvipdfm (and dvipdfmx).
4355 2003-10-30  Werner LEMBERG  <wl@gnu.org>
4357         * src/devices/grops/grops.man: Improve section on creating EPS.
4359 2003-10-29  Werner LEMBERG  <wl@gnu.org>
4361         * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4362         -P-pletter).
4364 2003-10-28  Werner LEMBERG  <wl@gnu.org>
4366         * doc/groff.texinfo: Fix documentation of `.if'.
4368 2003-10-27  Michail Vidiassov  <master@iaas.msu.ru>
4370         * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4371         the form `uniXXXX' also.
4373 2003-10-27  Werner LEMBERG  <wl@gnu.org>
4375         * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4376         contrib/pic2graph/pic2graph.sh: Implement secure management of
4377         temporary files.
4378         Pass `-P-pletter' to groff to avoid data outside of the converted
4379         area -- some versions of `convert' (for example 5.3.8) don't check
4380         the bounding box of the image but always use a fixed image size
4381         (letter paper format).
4382         * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4383         contrib/pic2graph/pic2graph.man: Updated.
4385         * src/roff/groff/groff.man: Document $TMP and $TEMP.
4387 2003-10-26  Werner LEMBERG  <wl@gnu.org>
4389         * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4390         troff_output::simple_ellipse, troff_output::simple_arc,
4391         troff_output::simple_line, troff_output::simple_spline,
4392         troff_output::simple_polygon): Insert a space before arguments.
4393         (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4394         latter doesn't produce a node, so the following `.sp -1' would do
4395         the wrong thing.
4396         Don't emit `.sp -1' after \M.  This also doesn't produce a token
4397         (and we don't have to care about compatibility mode).
4398         (troff_output::set_color, troff_output::reset_color): Don't emit
4399         `.sp -1' after \M and \m.
4401         * src/roff/troff/input.cpp (old_have_input): New global variable.
4402         (input_stack::get): Handle `old_have_input'.
4403         (process_input_stack) <token::TOKEN_NEWLINE>: Call
4404         `trapping_blank_line' depending on `old_have_input', not
4405         `have_input'.
4407 2003-10-20  Keith Marshall  <keith.d.marshall@ntlworld.com>
4409         * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4410         (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4411         default directory names for temporary files.
4412         [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4414         * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4415         [__MSDOS__] (run_pipeline): Honour environment variables.
4416         Don't use `tmpnam' but `tempnam' to work around messy
4417         implementation.
4419         * README.MinGW: New file.
4421 2003-10-16  Werner LEMBERG  <wl@gnu.org>
4423         * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4424         `(*t)->next' without testing validity of `*t'.
4425         (usage): Make it more readable.
4427 2003-10-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
4429         Make html device run under both MS-DOS and Win32.
4431         * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4432         MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4433         spawn or fork+exec has to be used, and whether parent must sleep
4434         until the child process terminates.  Used in
4435         `char_buffer::run_output_filter'.
4436         (copyofstdoutfd): Removed.
4437         (char_buffer): Replace `write_file_html' and `write_file_troff'
4438         member functions with `emit_troff_output' and `run_output_filter'.
4439         (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4440         macros.
4441         (replaceFd): Replaced with...
4442         (set_redirection): New auxiliary function.
4443         (waitForChild): Replaced with...
4444         (save_and_redirect): New auxiliary function for.
4446         (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4447         functions.
4449 2003-10-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
4451         * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4452         (GROFF_LIBC): New function.
4453         * configure.ac: Call GROFF_LIBC.
4454         Check for `kill'.
4455         * configure: Regenerated.
4457         * src/include/lib.h: Handle __MINGW32__.
4458         * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4459         Add macro for `pipe'.
4460         Define P_tmpdir.
4462         * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4463         correctly.
4465         * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4466         Implement.
4468 2003-10-13  Werner LEMBERG  <wl@gnu.org>
4470         Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4471         <chuq@chuq.com>.
4473         * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4474         directory.
4476 2003-10-12  Werner LEMBERG  <wl@gnu.org>
4478         * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4479         src/roff/troff/input.cc (usage): Updated.
4481         * NEWS, doc/groff.texinfo: Updated.
4483 2003-10-12  Peter Miller  <millerp@canb.auug.org.au>
4485         * src/libs/libgroff/searchpath.cpp
4486         (search_path::open_file_cautious): New function which also handles
4487         `-' as stdin and stdout depending on the access mode.
4488         * src/include/searchpath.h (search_path): Updated.
4490         * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4491         * src/devices/grops/ps.h: Include `searchpath.h'.
4492         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4493         Open resource file with `include_search_path.open_file_cautious'.
4494         * src/devices/grops/grops.man: Document new `-I' switch.
4496         * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4497         (main), src/devices/grolj4/lj4.cpp (main),
4498         src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4500         * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4501         Replaced with...
4502         (include_search_path): New global variable.
4503         (include_path_append): Removed.
4504         (main): Use `include_search_path.command_line_dir' to handle `-I'.
4505         (do_file): Simplify, using new
4506         `include_search_path.open_file_cautious'.
4508         * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4509         parameter.
4510         (main): Pass arguments to `-I' to both troff and devices.
4511         Improve handling of `-V'.
4512         * src/roff/groff/groff.man: Document changes to -I and -V.
4514         * src/roff/troff/input.cpp (include_search_path): New global
4515         variable.
4516         (next_file, source, ps_bbox_request, transparent_file,
4517         process_input_file): Use new
4518         `include_search_path.open_file_cautious'.
4519         (main) Handle `-I' switch.
4520         * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4521         Use new `include_search_path.open_file_cautious'.
4522         * src/roff/troff/node.h: New extern symbol `include_search_path'.
4523         * src/roff/troff/troff.man: Document new `-I' switch.
4525 2003-09-15  Ruslan Ermilov  <ru@FreeBSD.org>
4527         Support multiple calls of .Lb in LIBRARY section.
4529         * tmac/doc-common (doc-in-library-section): New register.
4530         (doc-section-library): New string.
4531         (Sh): Set `doc-in-library-section'.
4532         (Rd): Updated.
4533         * tmac/doc-syms (Lb): Insert breaks before and after arguments
4534         if in LIBRARY section.
4535         * tmac/doc.tmac (doc-save-global-vars): Updated.
4536         * NEWS, tmac/groff_mdoc.man: Updated.
4538 2003-09-14  Ruslan Ermilov  <ru@FreeBSD.org>
4540         * tmac/doc-common (doc-default-operating-system): New variable.
4541         (Os): Use it.
4543 2003-09-08  Werner LEMBERG  <wl@gnu.org>
4545         * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4547 2003-08-31  Werner LEMBERG  <wl@gnu.org>
4549         * contrib/mom/Makefile.sub: Fix last change to make it really work.
4550         * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4551         (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4552         $(DEVFILES) are not empty.
4553         * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4555 2003-08-26  Chuck Silvers  <chuq@chuq.com>
4557         * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4558         with parallel runs of `make'.
4560 2003-08-23  Stephen Gildea  <http://www.gildea.com/stephen>
4562         * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4563         insert SORT_SEP.  With certain combinations of sort specifications,
4564         refer sorted entries in the wrong order.  In particular, entries
4565         with a missing field should be be sorted before all entries that
4566         have that field, before refer looks to the next field.
4568 2003-08-23  Werner LEMBERG  <wl@gnu.org>
4570         * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4571         g++ linker is used.  Reported by Mark J. Reed
4572         <mark.reed@turner.com>.
4574 2003-08-16  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
4576         Add key character `x' to tbl which makes tbl call a user-defined
4577         macro on a table cell.
4579         * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4580         * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4581         `set_modifier' after printing the compatibility request.
4582         (set_modifier): Print call to `m->macro' if not empty.
4583         * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4584         `macro'.
4585         (process_format): Implement cases `x' and `X'.
4586         * src/preproc/tbl/tbl.man, NEWS: Updated.
4588 2003-08-15  Werner LEMBERG  <wl@gnu.org>
4590         * doc/groff.texinfo: Minor fixes.
4592 2003-08-09  Werner LEMBERG  <wl@gnu.org>
4594         * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4596 2003-08-07  Werner LEMBERG  <wl@gnu.org>
4598         * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4599         argument list to nothing if there is no file to match.  Use `ls' as
4600         a protection, similar to autoconf.
4602         * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4603         empty argument lists.
4605         * doc/groff.texinfo: Improve documentation how vertical spacing
4606         and line breaks interact.
4607         Other minor fixes.
4609         * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4611 2003-08-03  Werner LEMBERG  <wl@gnu.org>
4613         * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4614         EPS (using eps2eps or similar programs to compute the bounding box).
4616 2003-07-24  Werner LEMBERG  <wl@gnu.org>
4618         * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4619         * doc/texinfo.tex: Updated from texinfo 4.6.
4620         * README.CVS: From now on we need texinfo 4.6.
4622 2003-07-23  Werner LEMBERG  <wl@gnu.org>
4624         Add requests `dei1' and `ami1' for completeness.
4626         * src/roff/troff/input.cc (calling_mode): Remove
4627         CALLING_DISABLE_COMP.
4628         (comp_mode): New enumeration.
4629         (do_define_string, define_string, define_nocomp_string,
4630         append_string, append_nocomp_string): Updated.
4631         (do_define_macro): Add third parameter.
4632         (define_macro, define_nocomp_macro, define_indirect_macro,
4633         append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4634         (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4635         functions.
4636         (ignore): Updated.
4637         (init_input_requests): Add `dei1' and `ami1'.
4639         * tmac/trace.tmac: Handle de1 and am1.
4640         (de): Improve tracing message.
4641         (am): Add missing `do'.
4642         (return): Use de1.
4644         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4645         Document new requests.
4647 2003-07-22  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
4649         Add option -G to .MPIMG to insert a gap between text and the image.
4651         * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4652         www-finish-left-ll): Updated.
4653         (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4654         (MPIMG): Make option -L and -R optional.
4655         Implement option -G.
4657 2003-07-22  Gaius Mulley  <gaius@glam.ac.uk>
4659         * src/devices/grohtml/post-html.cpp
4660         (html_printer::do_file_components): Don't use `stdout' as lvalue
4661         since it can be a macro.
4663 2003-07-22  Werner LEMBERG  <wl@gnu.org>
4665         * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4666         the corresponding test in aclocal.m4.
4668 2003-07-21  Werner LEMBERG  <wl@gnu.org>
4670         * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4671         names but RGB values directly.  Otherwise pnmtopng depends on
4672         an external file `rgb.txt' which maps colour names to values.
4674 2003-07-20  Werner LEMBERG  <wl@gnu.org>
4676         * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4677         * configure, src/include/config.hin: Regenerated.
4679         * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4681 2003-07-19  Werner LEMBERG  <wl@gnu.org>
4683         * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4685 2003-07-18  Werner LEMBERG  <wl@gnu.org>
4687         * *.man: Switch to non-compatibility mode temporarily if GNU
4688         syntax extensions are used in the particular man page.
4690         * PROBLEMS: Add solutions for SGR problems.
4692 2003-07-17  Werner LEMBERG  <wl@gnu.org>
4694         Don't ignore grotty's command line options if \X'tty: sgr ...' is
4695         used to change the drawing scheme.
4697         * src/devives/grotty/tty.cpp (bold_flag_option,
4698         underline_flag_option, italic_flag_option, reverse_flag_option,
4699         bold_underline_mode_option): New global variables.
4700         (update_options): New function.
4701         (tty_printer::special): Call update_options.
4702         (main): Don't set xxx_flag but xxx_flag_option, then call
4703         update_options.
4705 2003-07-14  Werner LEMBERG  <wl@gnu.org>
4707         Make grotty emit proper Unicode box drawing characters for -Tutf8.
4709         * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4710         values.
4711         (hline_char, vline_char): New global variables.
4712         (tty_printer::tty_printer): Initialize them.
4713         (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4714         horizontal and vertical lines.
4715         (crossings): New global array.
4716         (tty_printer::end_page): Use it to determine the proper crossing
4717         character for -Tutf8.
4719 2003-07-12  Werner LEMBERG  <wl@gnu.org>
4721         * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4722         (HTMLDOCFILES): Revert to `pic.html'.
4723         (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4725 2003-07-11  Werner LEMBERG  <wl@gnu.org>
4727         * doc/pic.ms: Improve documentation of absolute coordinates.
4728         Document absolute positioning of pictures.
4730         * NEWS: Add new pic capability.
4732 2003-07-09  Hartmut Henkel  <hartmut_henkel@gmx.de>
4734         * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4735         Rewritten.
4737 2003-07-07  Werner LEMBERG  <wl@gnu.org>
4739         Implement support for dashed and dotted ellipses in pic.  Based on
4740         a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4742         * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4743         common_output::dashed_ellipse, common_output::dotted_ellipse): New
4744         functions.  Ellipse arcs are approximated with circle arcs.
4745         * src/preproc/pic/common.h (common_output): Updated.
4746         * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4747         functions.
4748         * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4750         * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4752 2003-07-06  Werner LEMBERG  <wl@gnu.org>
4754         Make grotty work on platforms which have unsigned char as the
4755         default for char.  Based on a patch by Thomas Klausner
4756         <wiz@netbsd.org>.
4758         * src/devices/grotty/tty.cpp (schar): New typedef.
4759         Updated calls to declare_ptable and implement_ptable.
4760         (glyph): Use schar for back_color_idx and fore_color_idx.
4761         (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4762         (tty_printer::tty_color, tty_printer::tty_printer,
4763         tty_printer::color_to_idx, tty_printer::put_color): Updated.
4765 2003-07-06  Ruslan Ermilov  <ru@FreeBSD.org>
4767         * src/roff/nroff/nroff.sh: Add option -d for completeness.
4768         * src/roff/nroff/nroff.man: Updated.
4770 2003-07-05  Werner LEMBERG  <wl@gnu.org>
4772         * NEWS, tmac/groff_www.man: Updated.
4773         * doc/Makefile.sub: Updated.
4775 2003-07-05  Gaius Mulley  <gaius@glam.ac.uk>
4777         Implement support for multiple HTML output files.
4779         * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4780         -j command line option.
4782         * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4783         global variables.
4784         (file): New fields `new_output_file', `require_links',
4785         `output_file_name'.
4786         (file::file): Updated.
4787         (files::set_file_name, files::set_links_required,
4788         files::are_links_required, files::is_new_output_file,
4789         files::file_name, files::next_file_name): New functions.
4790         (header_desc): New fields `no_of_level_one_headings',
4791         `header_filename'.
4792         (header_desc::header_desc): Updated.
4793         (header_desc::write_headings): Handle multiple files.
4794         (html_printer::write_header): Save file name in which header occurs.
4795         (html_printer::determine_header_level): Possibly split files on
4796         level one headings.
4797         (html_printer::do_links, html_printer::troff_tag): Updated.
4798         (html_printer::insert_split_file, html_printer::do_job_name,
4799         html_printer::emit_link, html_printer::write_navigation,
4800         html_printer::do_file_components): New functions.
4801         (html_printer::~html_printer): Handle multiple files.
4802         (main): Handle command line option `-j'.
4804         * src/devices/grohtml/grohtml.man: Updated.
4806         * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4807         which splits file.
4809         * tmac/www.tmac (JOBNAME): New macro.
4810         * tmac/s.tmac (SH-NO-TAG): New macro.
4811         (@SH): Call SH-NO-TAG.
4812         (@NH): Updated.
4814 2003-07-05  Ruslan Ermilov  <ru@FreeBSD.org>
4816         * tmac/groff_mdoc.man: Improve documentation of punctuation
4817         characters.
4819 2003-07-04  Ruslan Ermilov  <ru@FreeBSD.org>
4821         * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4823 2003-07-03  Werner LEMBERG  <wl@gnu.org>
4825         * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4827 2003-07-01  Ruslan Ermilov  <ru@FreeBSD.org>
4829         * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4830         after `/*' and `*/'.
4831         Fix spacing.
4832         (Fn, Fo): Reduce indentation in synopsis.
4834         * tmac/doc-common (doc-check-depth): New macro.
4835         (doc-end-macro, Sh, Ss): Use it.
4836         (Cd): Fix behaviour in synopsis.
4837         (In): Make it parsed and callable.
4838         If not in the synopsis, represent the C header file enclosed in
4839         angle brackets.
4840         (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4841         Use minus, not hyphen.
4843         * tmac/groff_mdoc.man: Updated.
4845 2003-07-01  Werner LEMBERG  <wl@gnu.org>
4847         Integrated grap2graph, contributed by Eric S. Raymond.
4849         * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4850         New files.
4851         * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4852         contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4854 2003-07-01  Colin Watson  <cjwatson@debian.org>
4856         * src/xditview/*.c: Add prototypes, fix return types, add includes.
4857         Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4859 2003-06-31  Ruslan Ermilov  <ru@FreeBSD.org>
4861         * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4863 2003-06-31  Werner LEMBERG  <wl@gnu.org>
4865         * doc/Makefile.sub (CLEANADD): Remove all files created by
4866         running `make groff.{pdf,dvi}'.
4868         * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4869         src/xditview also.
4871 2003-06-30  Werner LEMBERG  <wl@gnu.org>
4873         * Makefile.in (SHELL): Define as @SHELL@.
4874         (mkinstalldirs): Use $(SHELL).
4875         (MDEFINES): Add $(SHELL).
4876         * Makefile.comm (SHELL): Removed.
4878 2003-06-29  Werner LEMBERG  <wl@gnu.org>
4880         * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4881         The X11 documentation files use them.
4882         * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4884 2003-06-15  Robert Goulding  <goulding@Princeton.EDU>
4886         * tmac/e.tmac (@C): Handle .ad also.
4888 2003-06-12  Werner LEMBERG  <wl@gnu.org>
4890         * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4892         * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4893         Assign `n' even here.  It is possible to construct a node
4894         immediately following an escape character:
4896           .di xx
4897           \?\\\?a
4898           .br
4899           .di
4900           .xx
4902 2003-06-10  Werner LEMBERG  <wl@gnu.org>
4904         * README.WIN32: Removed.
4905         * MANIFEST: Updated.
4907 2003-06-07  Werner LEMBERG  <wl@gnu.org>
4909         * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
4911 2003-06-05  Werner LEMBERG  <wl@gnu.org>
4913         * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
4914         in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
4916 2003-06-03  Werner LEMBERG  <wl@gnu.org>
4918         * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
4919         is done by the calling function.
4921 2003-05-22  Ruslan Ermilov  <ru@FreeBSD.org>
4923         * tmac/X.tmac: Fix definition of `em'.
4925 2003-05-22  Werner LEMBERG  <wl@gnu.org>
4927         * src/roff/troff/input.cc (return_macro_request): Fix detection of
4928         argument.
4930 2003-05-18  Werner LEMBERG  <wl@gnu.org>
4932         * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
4933         to make items work which consist only of a tag.
4935 2003-05-17  Werner LEMBERG  <wl@gnu.org>
4937         * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
4938         aren't stretched in a tag (this can fail with unformatted boxes).
4939         Instead, insert a break and go back one line.
4941 2003-05-16  Werner LEMBERG  <wl@gnu.org>
4943         * src/roff/troff/input.cc (return_macro_request): If called with
4944         argument pop macro twice.  We need this to trace `return'.
4946         * tmac/trace.tmac: Handle `return'.
4947         Fix typos.
4949         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4950         Document.
4952 2003-05-15  Larry Kollar  <kollar@alltel.net>
4954         * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
4955         registers `FPS', `FVS', and `FPD'.
4957 2003-05-15  Werner LEMBERG  <wl@gnu.org>
4959         * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
4960         correctly.
4962 2003-05-03  Ruslan Ermilov  <ru@FreeBSD.org>
4964         * tmac/groff_mdoc.man: Slight improvements.
4966 2003-05-03  Werner LEMBERG  <wl@gnu.org>
4968         * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
4969         `doc-header-space' after header line if register `cR' is set.
4971 2003-05-02  Werner LEMBERG  <wl@gnu.org>
4973         * TODO: Updated.
4975 2003-05-01  Ruslan Ermilov  <ru@FreeBSD.org>
4977         * tmac/doc-common (Nd): Use \[em].
4979 2003-05-01  Werner LEMBERG  <wl@gnu.org>
4981         * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
4982         doc-footer-space): Initialize to 0.5i.
4983         (doc-setup-page-layout): Don't set doc-header-space and
4984         doc-footer-space.
4986 2003-04-30  Werner LEMBERG  <wl@gnu.org>
4988         * REVISION: Set to 1.
4990         * doc/pic.ms: Document possible problems with `figname'.
4992 2003-04-29  Werner LEMBERG  <wl@gnu.org>
4994 Version 1.19 released
4995 =====================
4997         * VERSION: Set to 1.19.
4998         * REVISION: Set to 0.
4999         * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5001         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5002         Define charset as `US-ASCII' in html output.
5004         * tmac/www.tmac (ULE): Add missing scaling indicator.
5006         * win32-diffs: Removed.
5008 2003-04-28  Werner LEMBERG  <wl@gnu.org>
5010         * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5011         `.da' and `.boxa'.
5012         Document how to insert discardable whitespace with `.ss'.
5014 2003-04-27  Werner LEMBERG  <wl@gnu.org>
5016         * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5017         work with plain TeX also.
5019         * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5021 2003-04-25  Gaius Mulley  <gaius@glam.ac.uk>
5023         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5024         Use a loose DTD.
5026 2003-04-24  Werner LEMBERG  <wl@gnu.org>
5028         * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5029         vbox with positive height and zero depth if in TeX mode.
5031         * NEWS: Document glyph name changes for grodvi and grolj4.
5033 2003-04-23  Werner LEMBERG  <wl@gnu.org>
5035         * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5036         * doc/pic.ms: Fixed.
5038 2003-04-21  Werner LEMBERG  <wl@gnu.org>
5040         HP-UX 10.20 has `snprintf' but it isn't declared.
5042         * configure.ac: Add declaration test for snprintf.
5043         * configure: Regenerated.
5044         * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5045         * src/include/config.hin: Regenerated.
5047 2003-04-19  Werner LEMBERG  <wl@gnu.org>
5049         Add keyword `figname' to pic, specifying the name of the picture
5050         box in TeX mode.  Based on a patch from William J Poser
5051         <wjposer@unagi.cis.upenn.edu>.
5053         * src/preproc/pic/pic.y: New token `FIGNAME'.
5054         (macro_name): New rule of type <str>.
5055         (placeless_element): Handle `FIGNAME'.
5056         * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5057         * src/preproc/pic/main.cpp (graphname): New global variable.
5058         (do_picture): Initialize `graphname'.
5059         * src/preproc/pic/pic.h: Updated.
5060         * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5061         `graphname'.
5062         Simplify TeX code.
5063         (tex_output::text): Beautify output.
5064         * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5065         `shaded' and `outlined' unconditionally.
5066         * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5067         Minor improvements.
5069         * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5070         greater is necessary.
5072 2003-04-17  Hartmut Henkel  <hartmut_henkel@gmx.de>
5074         Add option -r to soelim to avoid emission of `.lf' lines.
5075         Add option -t to produces TeX comment lines instead of `.lf' lines.
5077         * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5078         and `tex_flag'.
5079         (usage): Updated.
5080         (main): Handle `-r' and `-t'.
5081         (set_location): Handle `raw_flag' and `tex_flag'.
5082         * src/preproc/soelim/soelim.man, NEWS: Updated.
5084 2003-04-17  Werner LEMBERG  <wl@gnu.org>
5086         * tmac/hyphenex.sh: Replaced with...
5087         * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5088         nightmares.
5090         * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5091         if --quiet is used for the configure script.
5092         * configure: Regenerated.
5094 2003-04-16  Werner LEMBERG  <wl@gnu.org>
5096         * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5097         Add `const' to second argument.
5098         (html_printer::add_table_end): Add `const' to argument.
5099         * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5100         `const' to arguments.
5101         * src/devices/grohtml/html-text.h: Updated.
5103         * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5104         * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5105         argument.
5107         * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5108         cast for integer constant.
5110         * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5111         (writeNbytes): Add `const' to first argument.
5112         (writeString): Add `const' to argument.
5113         (char_buffer::can_see): Add `const' to third argument.
5114         * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5115         `const' to argument.
5116         * src/preproc/html/pushback.h: Updated.
5118         * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5119         (include_path_append): Add `const' to argument.
5120         (do_file): Updated.
5122         * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5123         for `value'.
5124         (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5125         * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5126         for `value'.
5127         (unicode_decompose_init::unicode_decompose_init): Updated.
5128         * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5129         for `value'.
5130         (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5131         * src/roff/troff/input.cc (process_startup_file): Add `const' to
5132         argument.
5134         * tmac/hyphenex.sh: Make script more portable by using a here
5135         document.
5137 2003-04-15  Werner LEMBERG  <wl@gnu.org>
5139         Renamed all `*.cc' files to `*.cpp'.
5140         Updated all configuration files, makefiles, and documentation.
5142 2003-04-14  Werner LEMBERG  <wl@gnu.org>
5144         * tmac/hyphenex.sh: Slight improvements.
5146 2003-04-13  Werner LEMBERG  <wl@gnu.org>
5148         * font/devascii/R.proto, font/devcp1037/R.proto,
5149         font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5150         character slots with unnamed glyphs.
5152         * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5153         (an-first): New global variable.
5154         (an-header): Emit vertical space between multiple man pages.
5156 2003-04-11  Werner LEMBERG  <wl@gnu.org>
5158         * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5159         values.
5161 2003-04-10  Werner LEMBERG  <wl@gnu.org>
5163         * PROBLEMS: Revised.
5165 2003-04-10  Bernd Warken  <bwarken@mayn.de>
5167         * doc/webpage.ms: Improved.
5169 2003-04-09  Werner LEMBERG  <wl@gnu.org>
5171         Add register \n[.height] which returns the value of \H.
5172         Add register \n[.slant] which returns the value of \S.
5174         * src/roff/troff/env.cc (init_env_requests): Implement.
5175         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5176         Document.
5178 2003-04-08  Werner LEMBERG  <wl@gnu.org>
5180         * tmac/html.tmac: Move some of the data into html-end.tmac.
5181         Remove most of the character translations for eqn since html fonts
5182         now cover those characters.
5183         Load www.tmac.
5184         * tmac/html-end.tmac: New file.
5185         * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5186         * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5187         * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5189 2003-04-07  Werner LEMBERG  <wl@gnu.org>
5191         * man/groff_out.man: Document negative values of `N' if -Thtml is
5192         used.
5194 2003-04-06  Werner LEMBERG  <wl@gnu.org>
5196         * Makefile.comm (depend.temp): Check location of YTABC.
5198 2003-04-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
5200         * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5201         binary path.
5202         (groff_bin_path): Rename to GROFF_BIN_PATH.
5203         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5204         * doc/Makefile.in (TROFFBIN): New variable for troff
5205         binary path.
5206         (GROFFBIN): New variable for groff binary path.
5207         (groff_bin_path): Rename to GROFF_BIN_PATH.
5208         (TROFF): Use TROFFBIN.
5209         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5210         * doc/Makefile.sub (GROFFBIN): New variable for groff
5211         binary path.
5212         (groff_bin_path): Rename to GROFF_BIN_PATH.
5213         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5215         * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5216         with INSTALL_SCRIPT.
5217         (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5218         * Makefile.dev (all): Depend on DEVSCRIPTS.
5219         (install_dev): Likewise.
5220         * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5221         scripts.
5222         * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5223         (DEVGENSCRIPTS): New variable to hold generated scripts.
5225 2003-04-05  Werner LEMBERG  <wl@gnu.org>
5227         * src/libs/libdriver/input.cc (IntArray::operator[],
5228         IntArray::get_data): Remove meaningless `const' in return value.
5230         * README.CVS: New file.
5232 2003-04-04  Werner LEMBERG  <wl@gnu.org>
5234         Check for stdint.h in C++, not in C.
5236         * aclocal.m4 (GROFF_STDINT_H): New function,
5237         * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5238         AC_CHECK_HEADERS.
5239         * configure, src/include/config.hin: Regenerated.
5240         * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5243         Fix handling of &nbsp; in grohtml.  To do this, troff emits `N'
5244         with a negative value, representing the width of the unbreakable
5245         space (only for -Thtml).  grohtml then converts this back to
5246         &nbsp; and uses the value of N as its width.
5248         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5249         unbreakable_space_node::tprint): Emit `N-<width>'.
5250         * src/include/printer.h (printer::set_numbered_char): Make it
5251         virtual.
5252         Make members `font_table' and `nfonts' protected instead of private.
5253         * src/devices/grohtml/post-html.cc
5254         (html_printer::set_numbered_char): New member function.
5257         * src/libs/libgroff/maxfilename.cc:
5258         s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5260         * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5261         emit word marker.
5263 2003-04-03  Sergey A. Osokin  <osa@freebsd.org.ru>
5265         * man/roff.man: Small fixes.
5267 2003-04-03  Werner LEMBERG  <wl@gnu.org>
5269         Make groff independent from locale's numeric settings.
5271         * configure.ac: Check for `setlocale'.
5272         * configure, src/include/config.hin: Regenerated.
5274         * src/include/lib.h: Handle HAVE_SETLOCALE.
5276         * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5277         (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5278         (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5281         * doc/groff.texinfo: Change dir category to `Typesetting'.
5282         (Man font macros): Mention that there is no space between arguments
5283         of .BI and friends.
5285         * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5286         (*printer::change_color, *printer::change_fill_color): Add missing
5287         `const'.
5289 2003-04-02  Werner LEMBERG  <wl@gnu.org>
5291         * src/devices/grohtml/html-table.cc (html_table::emit_col,
5292         html_table::is_gap): Compute table widths after converting border
5293         positions to avoid rounding errors.
5295 2003-04-01  Werner LEMBERG  <wl@gnu.org>
5297         * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5298         `space_emitted' properly.
5300 2003-03-31  Werner LEMBERG  <wl@gnu.org>
5302         * src/devices/grohtml/html-table.cc: Fix column width calculation.
5303         (html_table::set_linelength): Don't add 1.
5304         (html_table::add_indent): Don't subtract 1.
5306         * tmac/html.tmac: Set default page offset to zero.
5308 2003-03-30  Werner LEMBERG  <wl@gnu.org>
5310         Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
5312         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5313         unbreakable_space_node::tprint): New functions.
5314         (troff_output_file): Make space_char_hmotion_mode::tprint and
5315         unbreakable_space_node::tprint to friends.
5316         * src/roff/troff/node.h: Updated.
5318         * font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
5319         in the HTML standard).
5321 2003-03-29  Werner LEMBERG  <wl@gnu.org>
5323         * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5324         Otherwise, the following code
5326           .di xxx
5327           .ps 10
5328           a
5329           .br
5330           .di
5331           x\*[xxx]
5333         produces `x a' instead of `xa'.  This is a temporary fix, disabling
5334         font changes in diversions for -Thtml.
5336         * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5337         `HTML-TAG'.
5338         (an-do-tag-html): Merge with ...
5339         (an-do-tag): This macro.
5340         Change code slightly to circumvent grohtml bug.
5341         * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5343         * src/devices/grohtml/html-table.cc (html_table::emit_col,
5344         html_table::is_gap): Round `width' properly.
5346         * tmac/html.tmac: Provide some default layout parameters for
5347         grohtml.
5349         * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5350         command.
5352 2003-03-28  Werner LEMBERG  <wl@gnu.org>
5354         src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5356 2003-03-27  Werner LEMBERG  <wl@gnu.org>
5358         * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5359         defined.
5361 2003-03-20  Werner LEMBERG  <wl@gnu.org>
5363         * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5364         `.vs'.
5365         * doc/groff.texinfo: Updated.
5367 2003-03-19  Werner LEMBERG  <wl@gnu.org>
5369         * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5370         TOKEN_END_TRAP>: Reset `have_input'.
5372 2003-03-18  Werner LEMBERG  <wl@gnu.org>
5374         * src/roff/groff/groff.man: Mention groff_trace man page.
5376 2003-03-16  Werner LEMBERG  <wl@gnu.org>
5378         * Makefile.in (LIBEXT): New variable to indicate the file extension
5379         of library files.  Computed heuristically from $(OBJEXT).
5380         (MDEFINES): Add $(LIBEXT).
5381         * Makefile.lib, Makefile.comm: Use it.
5383         * src/utils/pfbtops/pfbtops.c (get_text): New function.  Split
5384         overlong lines into smaller chunks.
5385         (get_binary): New function.
5386         (main): Use them.
5387         * src/utils/pfbtops/pfbtops.man: Updated.
5389 2003-03-15  Colin Watson  <cjwatson@debian.org>
5391         * src/roff/groff/groff.man: Minor syntax fix.
5393 2003-03-14  Egil Kvaleberg  <egil@kvaleberg.no>
5395         * src/devices/grops/ps.cc (ps_printer::media_set,
5396         ps_printer::~ps_printer): Handle zero paper width and length.
5398 2003-03-13  Werner LEMBERG  <wl@gnu.org>
5400         Add options -p and -l to grodvi.
5402         * src/devices/grodvi/dvi.cc: Include paper.h.
5403         (landscape_flag, user_paper_length, user_paper_width): New global
5404         variables.
5405         (dvi_printer::begin_page): Emit `papersize' special.
5406         Set color after initialization of `cur_h' and `cur_v'.
5407         (main): Add options `-l' and `-p'.
5408         * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5409         * src/devices/grodvi/grodvi.man, NEWS: Updated.
5411         * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5413 2003-03-12  Werner LEMBERG  <wl@gnu.org>
5415         * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5416         * man/groff_tmac.man: This man page.
5417         * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5418         deprecated.
5420         * tmac/X.tmac: Don't load pspic.tmac.
5422 2003-03-11  Werner LEMBERG  <wl@gnu.org>
5424         Make variable `pr' local to libdriver/input.cc.  Based on a patch
5425         by Bernd Warken <bwarken@mayn.de>.
5427         * src/include/driver.h (pr): Removed.
5429         * src/libs/libdriver/input.cc (pr): New global variable.
5430         (do_file): Deallocate `pr'.
5431         * src/libs/libdriver/printer.cc (pr): Removed.
5433         * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5434         (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5435         (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5436         (main): Don't delete `pr'.
5438 2003-03-10  Werner LEMBERG  <wl@gnu.org>
5440         * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5441         * tmac/papersize.tmac: New file.
5442         * tmac/troffrc: Include `papersize.tmac'.
5443         * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5444         * tmac/an-old.tmac: Set LT to LL by default.
5446         * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5447         doc/groff.texinfo: Updated.
5449         * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5450         bug which caused all odd iso papers to have wrong dimensions.
5452         * src/devices/grops/ps.cc (user_paper_width): New global variable.
5453         (main) <'p'>: Set `user_paper_width' also.
5454         (ps_printer::media_width, ps_printer::media_height): Use values
5455         given with option `-p'.
5457 2003-03-09  Werner LEMBERG  <wl@gnu.org>
5459         * src/include/nonposix.h: Provide default for SET_BINARY.
5461         * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5462         src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5463         unconditionally.
5465         * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5466         (main): Treat \r\n as \n.
5468 2003-03-08  Werner LEMBERG  <wl@gnu.org>
5470         * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5471         * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5473 2003-03-07  Werner LEMBERG  <wl@gnu.org>
5475         Added support to access more than 256 glyphs in Type 1 fonts.
5477         * src/devices/grops/ps.cc (subencoding): New structure.
5478         (style): Add `sub' field.
5479         Updated all users.
5480         (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5481         Add `set_subencoding', `get_subfont' and `encode_subfont' member
5482         functions.
5483         Updated all users.
5484         (ps_printer::set_char): Use `set_subencoding'.
5485         (make_subencoding_name): New function.
5486         (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5487         (ps_printer::~ps_printer): Emit subencoding definitions.
5489         * src/devices/grops/psrm.cc (valid_input_table): New array to
5490         properly support EBCDIC.
5491         (white_space): Add `\f'.
5492         (ps_get_line): Change first argument to be of type `string &'.
5493         Updated all callers.
5494         This allows to get lines of arbitrary length.
5495         Use `valid_input_table'.
5496         Remove warning about non-conforming PS line length.  This seems
5497         not to be of great importance -- for example, dvips don't emit
5498         a warning either.
5499         (PS_LINE_MAX): Removed.
5500         (matches_comment): Change first argument to be of type `string &'.
5502         * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5504         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5505         %AGL_to_unicode, %default_ligatures): New hash tables.
5506         Read all map entries.
5507         Add unencoded characters.
5508         Check for default ligatures if there are no `L' entries.
5509         Print all kern entries.
5510         Print all characters in charset.
5511         * src/utils/afmtodit/afmtodit.man: Updated.
5513         * font/devps/*: Regerated all fonts.
5515         * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5516         of characters, just use `.trin'.  Otherwise the mapping depends
5517         on the font encoding.
5518         * tmac/ps.tmac: Add `fi' and `fl'.
5519         Improve `Fi' and `Fl'.
5520         * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5521         * tmac/Xps.tmac: Fix `em'.
5523         * NEWS: Updated.
5525 2003-03-04  Werner LEMBERG  <wl@gnu.org>
5527         * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5528         `have_input'.
5530 2003-03-03  Werner LEMBERG  <wl@gnu.org>
5532         * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5534         * font/devps/generate/textmap: Remove entry `similarequal'.
5535         * font/devps/symbolmap: Updated.
5537 2003-03-02  Werner LEMBERG  <wl@gnu.org>
5539         * src/libs/libgroff/font.cc (font::load): Fix error message for
5540         bad character type.
5542         * src/devices/grops/grops.man: Improve documentation of the -b
5543         flag.
5545         * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5546         `ascii' and `cp1047'.
5548 2003-03-01  Werner LEMBERG  <wl@gnu.org>
5550         Document composite glyphs and the `composite' request.
5552         * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5554 2003-02-28  Werner LEMBERG  <wl@gnu.org>
5556         * font/devdvi/generate/ec.map: Add some more Unicode entities.
5557         * font/devdvi/*EC: Updated.
5559         * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5560         * tmac/latin1 (latin1-tr): Undo any previous mapping.
5561         * tmac/troffrc: Load `composite.tmac'.
5562         * tmac/Makefile.sub (NORMALFILES): Updated.
5564         * doc/groff.texinfo (Input Encodings): New section.
5565         * NEWS: Updated.
5567 2003-02-27  Werner LEMBERG  <wl@gnu.org>
5569         * doc/texinfo.tex: New version 2003-02-11.06.
5571         * tmac/doc-common (Dt): Don't emit warning for unknown section.
5572         * tmac/groff_mdoc.man: Fix description of `Dt'.
5574 2003-02-26  Egil Kvaleberg  <egil@kvaleberg.no>
5576         * font/devps/prologue.ps: Fix for included Postscript that does
5577         a setpagedevice -- which is now safely ignored.
5579         * NEWS: Updated.
5581         * src/devices/grops/ps.cc: Now sets the page size in the generated
5582         document.  This is done in two ways: Via a %%-comment for gv and
5583         the like, and via a PageSize and setpagedevice for programs that
5584         understands Postscript proper, like ps2pdf.
5586         * src/devices/grops/ps.h: New broken-flag to avoid page size
5587         definition, if required.
5589         * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5591         * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5592         Not really necessary due to the fix in prologue.ps, but cleaner:
5593         Such information does not belong in an .eps file.
5595         * doc/Makefile.sub: See doc/Makefile.in.
5597 2003-02-26  Ralph Corderoy  <ralph@inputplus.co.uk>
5599         * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5600         instead of P1 since the latter is broken in some versions of netpbm.
5601         * configure: Updated.
5603 2003-02-26  Larry Kollar  <kollar@alltel.net>
5605         Make man pages more customizable.
5607         * tmac/an-old.tmac (FT): New register holding footer distance from
5608         bottom.
5609         (HF): New string holding the default heading font.
5610         (TH): Handle registers `IN' and `SN' set on the command line.
5611         Use `FT'.
5612         (PT, BT): New strings to customize header and footer lines.
5613         (an-header, an-footer): Use them.
5614         (SH, SS): Use `HF'.
5615         * tmac/groff_man.man: Document changes.
5617         * doc/groff.texinfo: Document man changes.
5618         Document Ultrix extensions of man.
5620 2003-02-26  Werner LEMBERG  <wl@gnu.org>
5622         * src/roff/troff/input.cc (do_width, do_if_request): Reset
5623         `have_input' after changing back to old environment.
5625         * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5626         function up to be defined before first call.  This is necessary to
5627         avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5629         * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5630         the default font directory also.  Based on a patch from James
5631         J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5632         * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5633         * src/utils/afmtodit/afmtodit.man: Document it.
5635         * NEWS: Updated.
5637         * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5639 2003-02-25  Gaius Mulley  <gaius@glam.ac.uk>
5641         * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5642         (GROFF_PNMTOPS_NOSETPAGE): New macro.
5643         * configure.ac: Use it.
5644         * configure: Regenerated.
5645         * Makefile.in: Updated.
5647         * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5648         (CLEANADD): Add www.tmac-sed.
5649         (pnmtops_nosetpage): Define default.
5650         (install_data): Handle www.tmac-sed and substitute
5651         @PNMTOPS_NOSETPAGE@.
5652         (stamp-sed): Add www.tmac.
5653         * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5654         It now breaks URLs at suitable places.
5655         (www:substring_ok): New register set by...
5656         (www:@test_substring): New macro.
5657         (www:error): New alias to www-error.
5658         (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5659         New macros.
5660         (URL): Use www:url_breaks.
5661         (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5662         (CDS, CDE): New macros.
5664 2003-02-25  Werner LEMBERG  <wl@gnu.org>
5666         * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5667         buffer overflow.
5669 2003-02-24  Werner LEMBERG  <wl@gnu.org>
5671         Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5672         can be negative also.
5674         * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5675         `int16'.
5676         (read_char_table): Avoid negative ascenders.
5677         (output_charset): Add cast.
5678         * font/devlj4/*: Regenerated.
5680         Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5681         possible.
5683         * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5684         * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5685         of `<>'.
5686         * font/devdvi/*: Regenerated.
5688         Map `la' and `ra' to U+27E8 and U+27E9.  These two characters have
5689         normal width, while the previously used characters (U+2329 and
5690         U+232A) are classified as wide due to canonical equivalence with the
5691         CJK punctuation characters U+3008 and U+3009.
5693         * font/devutf8/R.proto: Updated.
5694         * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5696         * man/groff_char.man: Simplify handling of table traps by
5697         introducing `start block' and `end block' macros.
5698         (Ns, Ne, 2s, 2e, Ds, De): New macros.
5699         (DL): Make it work with Unix troff also.
5700         Fix code values of `la' and `ra'.
5702         * tmac/dvi.tmac: Define `<>' for CW and CWI.
5704 2003-02-23  Gaius Mulley  <gaius@glam.ac.uk>
5706         * src/devices/grohtml/post-html.cc (element_list::~element_list):
5707         New destructor, fixing a major memory leak.
5709 2003-02-22  Werner LEMBERG  <wl@gnu.org>
5711         * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5712         to be in conformance with Unicode 3.0 and newer.
5714         * font/devlj4/generate/text.map: Add `Eu'.
5715         * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5716         * font/devlj4/S: Regenerated.
5718         * man/groff_char.man: Completely rewritten.
5720         * doc/groff.texinfo: Fix description of request and macro arguments.
5722 2003-02-20  Gaius Mulley  <gaius@glam.ac.uk>
5724         Valgrind fixes.
5726         * src/devices/grohtml/html-table.cc (html_table::~html_table):
5727         Deallocate `columns' list.
5728         * src/devices/grohtml/post-html.cc (char_block::~char_block):
5729         New destructor.
5730         (text_glob::text_glob_html, text_glob::text_glob_special,
5731         text_glob::text_glob_line, text_glob::text_glob_auto_image,
5732         text_glob::text_glob_tag): Avoid memory leaks.
5733         (text_glob::remember_table): Free memory before reassigning.
5735 2003-02-19  Werner LEMBERG  <wl@gnu.org>
5737         Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5738         alias `hbar'), the Planck constant over two pi.
5740         * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5741         `+e' for position 34.
5742         * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5743         `u2662' and `u2661'.
5744         * font/devdvi/{MI,S}: Regenerated.
5745         * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5746         * font/devlbp/*: Add `hbar' alias.
5747         * font/devlj4/generate/special.map: Ditto.
5748         * font/devlj4/S: Regenerated.
5749         * font/devps/generate/symbolchars: Add `+e'.
5750         * font/devps/generate/textmap: Fix PS name for `-h'.
5751         Add `hbar' alias.
5752         * font/devps/symbolmap: Regenerated.
5754         * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5756         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5757         `-h', `hbar'.
5758         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5759         `-h'.
5761         * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5762         `hbar'.
5763         * tmac/tty-char.tmac: Add `+e'.
5765 2003-02-17  Werner LEMBERG  <wl@gnu.org>
5767         Another round trying to really fix problems with `have_input'.
5769         * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5770         (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5772         * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5773         handling if both foreground and background colors are default.
5775         * doc/groff.texinfo (Debugging): Document .lf differences to
5776         AT&T troff.
5778 2003-02-16  Werner LEMBERG  <wl@gnu.org>
5780         * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5781         null-bytes in created string.
5783         * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5784         alias_macro, lookup_request): Improve warning messages.
5786         * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5787         not `strdup'.
5788         Free `last_image_filename'.
5790         * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5791         `buffer'.
5792         (imageList::createPage, imageList::createImage): Use `free', not
5793         `a_delete'.
5794         (imageItem::~imageItem): Free `imageName'.
5795         (addRegDef): Use `strsave', not `strdup'.
5796         (get_resolution): Free `pathp'.
5798 2003-02-15  Werner LEMBERG  <wl@gnu.org>
5800         * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5801         to `dummy'.
5803 2003-02-14  Werner LEMBERG  <wl@gnu.org>
5805         Add memory management for colors to deallocate unnamed colors
5806         properly.
5808         * src/include/color.h (color): New members `free_list' and `next'.
5809         New member functions `new' and `delete'.
5810         Add destructor.
5811         * src/libs/libgroff/color.cc: Implement it.
5813         * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5814         for array size of new operator.
5816         * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5817         redundant comparison.
5819         * src/roff/troff/input.cc (word_space_node::reread,
5820         hmotion_node::reread): Avoid warning about unused parameter.
5821         (reset_output_registers): Remove redundant parameter.
5822         (define_color): Undo change 2003-02-12.
5824         * src/roff/troff/reg.h: Updated.
5826         * src/roff/troff/node.cc (troff_output_file::really_print_line,
5827         output_file::put_filename, real_output_file::really_put_filename,
5828         ascii_output_file::really_print_line,
5829         break_char_node::get_hyphen_list): Avoid warning about unused
5830         parameter.
5831         (suppress_node::tprint): Updated.
5833         * configure.ac: Check declaration for rand() and srand().
5834         * configure: Regenerated.
5836         * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5837         conditionally.
5838         * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5839         and srand().
5841         * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5842         to avoid compiler warnings.
5844         * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5845         unused.
5847         * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5848         is unused.
5849         * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5850         (unused) parameter.
5851         Updated all callers.
5853         * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5854         is unused.
5855         * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5856         * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5858         * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5859         Parameter is unused.
5860         (html_printer::add_table_end): Define parameter conditionally.
5861         * src/devices/grohtml/output.cc (simple_output::special): Parameter
5862         is unused.
5864         * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5865         (lbp_printer::set_char): Last parameter is unused.
5867         * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5869 2003-02-13  Werner LEMBERG  <wl@gnu.org>
5871         New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5872         Make \D'f ...' move horizontally again for backwards compatibility.
5873         Replace it with \D'Fg ...' where appropriate to avoid dependency
5874         on horizontal resolution.
5876         * src/roff/troff/input.cc (do_get_long_name): New function.
5877         (get_long_name): Call it.
5879         (read_draw_node): Handle `\D'Fx ...' by calling ...
5880         (read_color_draw_node): New function.
5882         (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5883         `end'.
5884         Pass it to `do_get_long_name' which is used instead of
5885         `get_long_name'.
5887         * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5888         unnecessary value guard.
5889         (parse_D_command) <'f'>: Add horizontal shift.
5891         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5892         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5893         (FILL_MAX): Removed.
5895         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5896         Updated.
5898 2003-02-12  Werner LEMBERG  <wl@gnu.org>
5900         * src/roff/troff/input.cc (do_name_test, do_expr_test,
5901         do_zero_width): Push `\n' if closing delimiter is missing.
5903         (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
5904         <'F'>: Make \F non-transparent at the beginning of line.
5905         (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
5906         token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
5907         `have_input'.
5909         (define_color): Free color in case of reassignment.
5911         * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
5912         @DefescListEnd): Use @Var, not @var.
5913         Fix all calls.
5915         * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
5917         * src/preproc/pic/object.cc (object_spec::~object_spec): Free
5918         `shaded' and `outlined' arrays.
5919         (object_spec::object_spec): Initialize `shaded' and `outlined'.
5920         (graphic_object::set_fill_color, graphic_object::set_outline_color):
5921         Use strsave.
5922         (closed_object::set_fill_color): Ditto.
5923         * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
5924         instead of strdup.
5925         (troff_output::reset_color): Use a_delete instead of free.
5926         * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
5928 2003-02-11  Werner LEMBERG  <wl@gnu.org>
5930         * doc/groff.texinfo: Improve documentation of `ad'.
5931         Document that \D'f...' is dependent on the horizontal resolution.
5932         * man/groff_diff.man: Improve documentation of \D'f...'.
5934         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
5935         compensating \h'...' for \D'f ...' since the latter no longer moves
5936         current position.
5937         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5939 2003-02-10  Werner LEMBERG  <wl@gnu.org>
5941         Improve error messages for `x F' (and `F') commands.
5943         * src/include/error.h: Add declaration for
5944         `current_source_filename'.
5945         * src/libs/libgroff/filename.cc: Add `current_source_filename'.
5946         * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
5947         parameter for source file string.
5948         Updated all callers.
5950         * src/libs/libdriver/input.cc: Add `current_source_filename'.
5951         (remember_source_filename): New function.
5952         (parse_x_command <'F'>, do_file <'F'>): Use it.
5954 2003-02-09  Werner LEMBERG  <wl@gnu.org>
5956         Make grotty not emit warnings about unknown colors more than
5957         necessary.
5959         * src/devices/grotty/tty.cc: Include `ptable.h'.
5960         (TTY_MAX_COLORS): Removed.
5961         (DEFAULT_COLOR_IDX): Defined to -1.
5962         (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
5963         (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
5964         Change `tty_colors' to be a ptable.
5965         First arg of `put_color' is now `char'.
5966         New functions `make_rgb_string' and `tty_color'.
5967         (tty_printer::tty_printer): Use `tty_color'.
5968         (tty_printer::color_to_idx): Return value is now `char'.
5969         Use `tty_color'.
5971         * src/include/color.h (color): Add `print_color' member function.
5972         * src/libs/libgroff/color.cc (color::print_color): Implement it.
5974 2003-02-08  Werner LEMBERG  <wl@gnu.org>
5976         Valgrind fixes.
5978         * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
5979         encoding file.
5981         * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
5982         assume that value has been allocated with `new[]', thus use
5983         `a_delete' for deallocation.
5985         * src/libs/libdriver/input.cc (get_integer_arg,
5986         get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
5987         where appropriate.
5989         * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
5990         * src/libs/libgroff/nametoindex.cc
5991         (character_indexer::named_char_index): Use `new <type>[1]'.
5993         * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
5994         <type>[1]'.
5995         * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
5996         (split_text): Use `a_delete'.
5998         * src/preproc/pic/pic.y (define_label, define_variable): Use `new
5999         <type>[1]'.
6001         * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6002         harmless memory leak.
6003         (hyphen_trie::read_patterns_file): Initialize `buf'.
6004         * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6005         Initialize `current_fill_color'and `current_glyph_color'.
6006         * src/roff/troff/glyphuni.cc
6007         (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6008         * src/roff/troff/uniuni.cc
6009         (unicode_decompose_init::unicode_decompose_init): Ditto.
6010         * src/roff/troff/uniglyph.cc
6011         (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6013 2003-01-26  Werner LEMBERG  <wl@gnu.org>
6015         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6016         `access' before calling `unlink'.
6017         (do_file): Handle __EMX__.
6019         * src/include/nonposix.h: Handle __EMX__.
6021         * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6022         (fontpath,tmacpath): Use it.
6023         (MDEFINES): Add it.
6024         Sorted alphabetically.
6026         * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6027         @SEP@.
6028         * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6029         @SEP@.
6031 2003-01-27  Werner LEMBERG  <wl@gnu.org>
6033         * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6034         New files, copied from gnulib.
6035         * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6036         * configure.ac: Updated.
6037         * configure: Regenerated.
6039         * src/include/config.hin: Regenerated.
6040         * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6041         Don't define `strcasecmp' as `strcmp'.
6042         [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6043         Dont define `strncasecmp' as `strncmp'.
6045         * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6046         Removed.
6048 2003-01-26  Werner LEMBERG  <wl@gnu.org>
6050         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6051         s/unline/unlink/.
6053 2003-01-25  Werner LEMBERG  <wl@gnu.org>
6055         * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6057 2003-01-24  Werner LEMBERG  <wl@gnu.org>
6059         Add US-english hyphenation exceptions (converted from Barbara
6060         Beeton's hyphenation exception log reports which appear irregularly
6061         in TUGBoat).
6063         * tmac/hyphen.us: Updated to latest version.
6064         * tmac/README: Updated.
6065         * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6066         * tmac/troffrc: Load `hyphenex.us'.
6067         * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6068         * doc/groff.texinfo: Updated.
6070 2003-01-23  Werner LEMBERG  <wl@gnu.org>
6072         Improve hyphenation slightly.  This is a first step in redesigning
6073         the hyphenation algorithm to make it more flexible (e.g. allowing
6074         kerns and ligatures between the hyphenation character and the
6075         following character -- while not used normally in English, other
6076         languages like German would benefit).
6078         * src/roff/troff/env.cc (environment::hyphenate_line): Use
6079         assertion instead of if-clause.
6080         Let `get_hyphen_list' return the number of involved characters in
6081         the hyphenation pattern instead of computing it directly (which
6082         often yields too small values).
6083         * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6084         * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6085         parameter.
6087 2003-01-22  Werner LEMBERG  <wl@gnu.org>
6089         Fixing a bug which caused groff to hang if the hyphenation exception
6090         dictionary tried to grow.
6092         * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6093         hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6094         pointer to dictionary.
6096 2003-01-20  Werner LEMBERG  <wl@gnu.org>
6098         * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6099         negative left italic correction.
6100         * src/utils/afmtodit/afmtodit.man: Document it.
6102         * font/devps/generate/Makefile (RFLAG): Add `-m'.
6103         * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6104         S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6106         * NEWS: Updated.
6108 2003-01-16  Werner LEMBERG  <wl@gnu.org>
6110         * NEWS: Updated.
6112 2003-01-16  Jörgen Grahn  <jgrahn@algonet.se>
6114         * src/preproc/refer/refer.man: Mention REFER environment variable.
6116 2003-01-05  Werner LEMBERG  <wl@gnu.org>
6118         Similar to \[is], the square root glyph (\[sr]) and the square root
6119         extension glyph (\[radicalex]) are now text symbols.  The new
6120         mathematical versions are called \[sqrt] and \[sqrtex],
6121         respectively.
6123         * font/devX*/S: Regenerated.
6124         * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6125         * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6126         * font/devdvi/EX, font/devdvi/S: Regenerated.
6127         * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6128         * font/devlj4/generate/special.map: Add `sqrt'.
6129         * font/devlj4/S: Regenerated.
6130         * font/devps/generate/textmap: Add `sqrt'.
6131         * font/devps/S, font/devps/symbolmap: Regenerated.
6133         * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6134         SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6135         * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6136         overlap horizontally.
6138         * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6139         * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6140         Fix `radicalex'.
6142         * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6143         and `sqrtex' are overlapping glyphs.
6145 2003-01-04  Werner LEMBERG  <wl@gnu.org>
6147         * font/devdvi/generate/texsy.map: Add `is'.
6148         * font/devps/symbolmap: Regenerated.
6149         * font/devdvi/*TC, MI, S: Regenerated.
6151         * tmac/dvi.tmac: Remove `is'.
6153 2003-01-03  Werner LEMBERG  <wl@gnu.org>
6155         `is' is now a text symbol (only relevant for dvi).  The math variant
6156         can be accessed with `integral'.
6158         * font/devX*/S: Regenerated.
6159         * font/devdvi/generate/texex.map: Remove `is'.
6160         * font/devdvi/EX: Updated.
6161         * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6162         * font/devlj4/generate/special.map: Ditto.
6163         * font/devlj4/S: Regenerated.
6164         * font/devps/generate/textmap: Add `integral'.
6165         * font/devps/S: Regenerated.
6167         * tmac/dvi.tmac: Define `is'.
6169         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6171         * src/preproc/tbl/main.cc (process_format): Fix error message.
6173 2003-01-02  Werner LEMBERG  <wl@gnu.org>
6175         * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6176         * font/devps/textmap: Fix entries for `ne' and `nc'.
6177         * font/devps/symbolmap: Regenerated.
6179         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6180         src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6181         `38', `58', `78', `-+', `|=', `nc', `ne'.
6183         * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6184         Use `schar' for `aq'.
6185         * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6186         * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6187         * tmac/tty.tmac: Add `ne'.
6189         * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6190         for fallback glyphs.
6192 2002-12-29  Werner LEMBERG  <wl@gnu.org>
6194         Add glyph `|='.
6196         * font/devX*/*: Regenerated.
6197         * font/devdvi/generate/ec.map: Remove `eq'.
6198         * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6199         Assign `|=' to position 39.
6200         * font/devdvi/*EC, S: Regenerated.
6201         * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6202         * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6203         Assign `|=' to position 549.
6204         * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6205         `equalmath'.
6206         Add `uni2243' for `|='.
6208         * tmac/ec.tmac: Add `eq'.
6209         * tmac/dvi.tmac: Add `=~'.
6210         * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6211         `|='.
6213 2002-12-21  Werner LEMBERG  <wl@gnu.org>
6215         * font/devdvi/generate/tc.map: Remove `**'.
6216         * font/devdvi/*TC: Regenerated.
6217         * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6218         `78', `<<', `>>'.
6219         * font/devutf8/NOTES: Updated.
6221         * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6222         Don't give default parameter to `set_macro'.
6223         * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6224         instead of `set_macro'.
6225         (charinfo::setx_macro): Implement it.
6226         (charinfo::set_macro): Don't change `mode'.
6228         * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6229         * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6230         * tmac/dvi.tmac: Define `!=' with `.schar'.
6232 2002-12-20  Werner LEMBERG  <wl@gnu.org>
6234         * font/devX*/S: Regenerated.
6235         * font/devdvi/generate/ec.map: Remove `pl'.
6236         * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6237         * font/devdvi/*{TC,EC}: Regenerated.
6238         * font/devhtml/R.proto: Add `-+'.
6239         Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6240         * font/devlbp/*: Remove `or'.
6241         * font/devlj4/generate/special.map: Remove `or'.
6242         * font/devlj4/S: Regenerated.
6243         * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6244         `seveneighths', `threeeighths'.
6245         Remove `plusmath'.
6246         Replace `minusplus' with `uni2213'.
6247         * font/devps/symbolmap: Regenerated.
6248         * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6249         Add `-+'.
6251         * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6252         function.
6253         * src/roff/troff/node.cc (troff_output_file::put_char_width):
6254         Call glyph_color and fill_color even if tcommand_flag isn't set.
6255         (make_node, node::add_char): Check not ci->is_fallback but
6256         ci->is_normal.
6258         * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6259         * tmac/ec.tmac: Add .rchar entry for `f/'.
6260         Don't remove `12', `14', `34'.
6261         Define `pl' to be always roman.
6262         * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6263         Define `18', `38', `58', `78'.
6264         * tmac/tty.tmac: Add `-+'.
6265         * tmac/dvi.tmac: Define `f/'.
6266         (dvi-frac): Use `f/'.
6267         * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6268         Define `18', `38', `58', `78'.
6270 2002-12-15  Colin Watson  <cjwatson@debian.org>
6272         * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6274 2002-12-10  Werner LEMBERG  <wl@gnu.org>
6276         Add glyph `tno', a textual variant of `no'.
6278         * font/devX*/*: Regenerated.
6279         * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6280         * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6281         * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6282         * font/devdvi/*: Regenerated.
6283         * font/devlbp/*: Add `tno'.
6284         * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6285         * font/devlj4/*: Regenerated.
6286         * font/devps/generate/textmap: Replace `no' with `tno'.
6287         * font/devps/generate/symbolchars: Add `no'.
6288         * font/devps/*: Regenerated.
6290         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6292         * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6293         * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6295         * NEWS: Updated.
6297         * tmac/dvi.tmac: Replace most `\\' with `\E'.
6298         Add definition for `sd'.
6299         * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6301         * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6303 2002-12-08  Werner LEMBERG  <wl@gnu.org>
6305         * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6306         mode to avoid rounding errors.
6307         (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6309         * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6310         src/roff/troff/troff.man: Improve documentation of -T.
6312 2002-12-07  Jeff Conrad  <jeff_conrad@msn.com>
6314         * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6315         (run_pipeline) [_WIN32]: Provide working function without `fork'.
6317 2002-12-06  Werner LEMBERG  <wl@gnu.org>
6319         * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6320         glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6321         Scaling Euro.sansserif glyphs down to have the same height as
6322         digits.
6323         Removed unnecessary points; added some extrema.
6325         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6326         Regenerated.
6328 2002-12-04  Werner LEMBERG  <wl@gnu.org>
6330         * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6331         and `Euro.symbol.bold.slanted'.
6332         Improve some glyph offsets and widths.
6333         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6334         Regenerated.
6335         * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6336         typo.
6337         * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6338         direcory.
6340         * tmac/europs.tmac: Updated to new glyph indices.
6341         Use Euro.symbol for font familiy `A'.
6343         * doc/groff.texinfo: Minor improvements.
6345 2002-12-02  Werner LEMBERG  <wl@gnu.org>
6347         * font/devdvi/generate.tc.map: s/%O/%0/.
6348         * font/devdvi/*TC: Regenerated.
6350         * src/roff/troff/div.cc (init_div_requests): Sorted.
6352         * tmac/dvi.tmac: Remove `Ye'.
6353         * tmac/ec.tmac: Remove `Ye'.
6354         Add .rchar entry for `de'.
6356         * man/groff.man, man/groff_diff.man: Document register `.pe'.
6357         * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6358         * NEWS: Updated.
6360 2002-11-30  Werner LEMBERG  <wl@gnu.org>
6362         Add PS font for various Euro glyphs.
6364         * font/devps/generate/freeeuro.sfd: New master font file for
6365         pfaedit.
6366         * font/devps/generate/sfdtopfa.pe: New conversion script for
6367         pfaedit.
6368         * font/devps/generate/Makefile (FONTS): Add `EURO'.
6369         (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6370         * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6371         `freeeuro.sfd'.
6372         * font/devps/EURO: Generated from `freeeuro.afm'.
6373         * font/devps/download: Add `freeuro.pfa'.
6374         * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6375         `freeeuro.pfa'.
6377         * tmac/europs.tmac: New file.
6378         * tmac/ps.tmac: Include `europs.tmac'.
6379         * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6381 2002-11-29  Werner LEMBERG  <wl@gnu.org>
6383         * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6384         * font/devdvi/S: Regenerated.
6385         * font/devhtml/R.proto: Fix `CR' and `ci'.
6386         Add `OK'.
6387         * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6388         Remove `bs'.
6389         * font/devps/symbolmap: Regenerated.
6390         * font/devutf8/R.proto: Fix `CR' and `ci'.
6391         Add `OK'.
6392         * font/devutf8/NOTES: Updated.
6394         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6395         `ci'.
6396         Add `OK'.
6397         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6399         * tmac/dvi.tmac: Add `lh' and `rh'.
6400         * tmac/Xps.tmac: Fix `lh' and `rh'.
6401         * tmac/X.tmac: Add `OK'.
6402         * tmac/lj4.tmac: Ditto.
6404 2002-11-24  Werner LEMBERG  <wl@gnu.org>
6406         * font/devX*/S: Regenerated.
6407         * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6408         `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6409         * font/devdvi/generate/texsy.map: Remove `or' glyph.
6410         * font/devdvi/S: Regenerated.
6411         * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6412         `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6413         `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6414         `bracketleftbt', `bracketrighttp', `bracketrightex',
6415         `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6416         `braceex', `braceleftex', `bracerightex', `bracerighttp',
6417         `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6418         `rb', and `bv'.
6419         * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6420         * font/devutf8/NOTES: Updated.
6421         * font/devlj4/generate/special.map: Add glyph `braceex'.
6422         * font/devlj4/S: Regenerated.
6424         * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6426 2002-11-14  Werner LEMBERG  <wl@gnu.org>
6428         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6429         and `vA'.
6430         Fix code for `an'.
6431         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6433         * doc/texinfo.tex: New version from texinfo 4.3.
6434         * doc/groff.texinfo: Updated for texinfo 4.3.
6435         Use @tie{} where appropriate.
6436         * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6437         * font/devdvi/generate/tc.map: Remove `rn'.
6438         * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6439         * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6440         Fix code for `an'.
6441         * font/devX100/*, font/devX100-12/*, font/devX75/*,
6442         font/devX75-12/*: Regenerated.
6444         * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6445         Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6446         Improve definition of `an'.
6447         * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6448         `ru'.
6449         * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6450         * tmac/X.tmac: Add definition for `or'.
6451         * tmac/Xps.tmac: Undo change 2002-11-05.
6452         * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6454 2002-11-11  Werner LEMBERG  <wl@gnu.org>
6456         * src/roff/troff/node.cc (troff_output_file::put_char): Always
6457         call flush_tbuf.
6459 2002-11-10  Werner LEMBERG  <wl@gnu.org>
6461         Added three new requests `schar', `fschar', and `rfschar'.  `schar'
6462         defines a glyph which is searched after the check for fonts declared
6463         with `.special' (and before the check for all mounted special
6464         fonts).  `fschar' defines a glyph for a particular font which is
6465         searched after the check for fonts declared with `.fspecial' (and
6466         before the check for fonts declared with `.special').  `rfschar'
6467         removes glyphs defined with `fschar'.
6469         * src/roff/troff/token.h (char_mode): New enum.
6470         Declare do_define_character.
6471         * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6472         `mode'.
6473         (charinfo::is_fallback): Updated.
6474         (charinfo::is_special): New method.
6475         * src/roff/troff/input.cc (do_define_character): Add and use
6476         optional second parameter used as a prefix for font-specific glyph
6477         names.
6478         (define_character, define_fallback_character): Updated.
6479         (define_special_character): New function.
6480         (init_input_requests): Add `schar'.
6481         (charinfo::charinfo, charinfo::set_macro): Updated.
6482         * src/roff/troff/node.cc: Include `stringclass.h'.
6483         (make_glyph_node): Handle special glyphs defined with `.schar' and
6484         `.fschar'.
6485         (define_font_special_character, remove_font_special_character): New
6486         functions.
6487         (init_node_requests): Sorted.
6488         Add `fschar' and `rfschar'.
6489         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6490         Document new requests.
6492         * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6493         * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6495 2002-11-08  Werner LEMBERG  <wl@gnu.org>
6497         Added new font `SC' (cmtex10) to devdvi.
6499         * devdvi/generate/Makefile (FONTS): Add `SC'.
6500         (SC): New rule.
6501         * devdvi/generate/textex.map: New map file for cmtex.
6502         * devdvi/SC: New.
6503         * devdvi/Makefile.sub (DEVFILES): Updated.
6504         * tmac/dvi.tmac: Add fspecial entries for SC.
6505         Add `MI', `S' and `CW' to the `special' call.  Otherwise, `SC' is
6506         found before `S' since the font position of `SC' is lower due to the
6507         gaps in DESC's `font' line.
6508         * tmac/ec.tmac: Add a `special' call.
6509         * NEWS: Updated.
6511         * font/devhtml/R.proto: Remove double entry for `ti'.
6512         * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6513         * tmac/tty-char.tmac: Remove entry for `bq'.
6514         * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6515         * tmac/ec.tmac: Don't remove `aq' glyph.
6516         * tmac/X.tmac: Fix entry for `em'.
6517         Add entries for `fo' and `fc'.
6518         * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6520         * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6521         documentation of `special' and `fspecial' requests.
6523 2002-11-05  Werner LEMBERG  <wl@gnu.org>
6525         * font/devascii/R.proto, font/devcp1047/R.proto,
6526         font/devlatin1/R.proto: Remove entry for `.i'.
6527         * font/devdvi/generate/textt.map: Add entry for `ad'.
6528         * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6529         font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6530         We need this for getting kerning values to compose `/l' and `/L'.
6531         * font/devdvi: Regenerated font definition files for CM fonts.
6532         * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6533         * font/devutf8/R.proto: Ditto.
6534         Remove double entry for `ti'.
6536         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6537         for (groff) ligatures, `la', and `ra'.
6538         Add "'C", "'c", `IJ', and `ij'.
6539         Remove double entry for `ti'.
6540         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6541         double entries.
6542         Add "'C", "'c", `IJ', and `ij'.
6543         Fix entries for (groff) ligatures, `la', and `ra'.
6545         * tmac/ps.tmac (ps-achar): New macro.
6546         Define "'c" and "'C".
6547         * tmac/tty.tmac: Add entry for `.i'.
6548         * tmac/X.tmac (X-achar): New macro.
6549         Define "'c", "'C", and `:Y'.
6550         Add entries for `IJ' and `ij'.
6551         * tmac/Xps.tmac (Xps-achar): New macro.
6552         Define "'c" and "'C".
6553         Add entries for `IJ' and `ij'.
6554         * tmac/lbp.tmac (lbp-achar): New macro.
6555         Add fallback characters for all groff ligatures and many other
6556         glyphs.
6557         * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6558         Add entries for `/l' and `/L'.
6559         Define "'c" and "'C".
6560         Add entries for `IJ' and `ij'.
6562 2002-11-02  Larry Kollar  <kollar@alltel.net>
6564         * PROBLEMS: Document how to solve Mac OS X compilation problems.
6566 2002-11-02  Werner LEMBERG  <wl@gnu.org>
6568         Adding support for composite glyphs: \[xxx yyy ...] and the
6569         `composite' request.
6571         * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6572         to Unicode-based glyph names.
6573         * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6574         glyph names to groff glyph names.
6575         * src/roff/troff/uniuni.cc: New file for canonically decomposing
6576         Unicode-based glyph names.
6577         * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6578         for handling Unicode glyph names.
6579         * src/roff/troff/input.cc: Include unicode.h.
6580         (composite_glyph_name): New function.
6581         (token::next) <'['>: Handle Unicode glyph names and composite
6582         glyphs.
6583         (composite_dictionary): New dictionary for the `composite' request.
6584         (composite_request): Implement `composite' request.
6585         (init_input_requests): Add `composite'.
6586         Alphabetically sorted.
6587         * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6588         commented out).
6589         (init_env_requests): Alphabetically sorted.
6590         Removed `tas' and `tar' (already commented out).
6591         * src/roff/troff/Makefile.sub: Updated.
6593 2002-10-31  Ruslan Ermilov  <ru@FreeBSD.org>
6595         * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6596         of options.
6598 2002-10-29  Werner LEMBERG  <wl@gnu.org>
6600         Fix computation of .trunc register.  Additionally, its value (and
6601         the value of the .ne register) is now always set before entering the
6602         trap.
6604         * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6605         `needed_space' before calling `space'.
6606         (top_level_diversion::space): Remove special code for 'sp before the
6607         first page.
6608         Call `begin_page' with the discarded space as a parameter.
6609         (top_level_diversion::begin_page): Add optional parameter to set
6610         `truncated_space'.
6611         * src/roff/troff/div.h: Updated.
6613         * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6614         \n[.ne].
6616         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6617         (LP): Remove superfluous call to `br'.
6618         * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6619         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6621 2002-10-26  Werner LEMBERG  <wl@gnu.org>
6623         * tmac/doc-ditroff: Remove useless switch/variable -rC.
6624         (doc-setup-header): Don't set page register `%'.
6625         * tmac/doc-nroff: Remove variable `C'.
6626         (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6627         (doc-setup-header): Don't set page register `%'.
6628         Don't call `bp'.
6629         * tmac/doc-common (doc-header): Call `ns'.
6630         (doc-paragraph): Protect .sp with .br so that it survives traps
6631         possibly set by the user.
6632         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6634         * tmac/doc*: Replace ' with . for consistency if no effect.
6636 2002-10-26  Werner LEMBERG  <wl@gnu.org>
6638         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6639         so that it survives traps possibly set by the user.
6641         * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6642         (troff_output_file::set_font): Call flush_tbuf if necessary.
6643         (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6644         flush_tbuf and do_motion only if necessary.
6645         (troff_output_file::start_special,
6646         troff_output_file::put_char_width, troff_output_file::put_char,
6647         troff_output_file::draw): Updated.
6648         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6649         vmotion_node::tprint): Undo change 2002-10-23.
6651 2002-10-25  Werner LEMBERG  <wl@gnu.org>
6653         * tmac/www.tmac (DC): Fix case of overlapping images.
6655 2002-10-23  Werner LEMBERG  <wl@gnu.org>
6657         * src/roff/troff/node.cc (troff_output_file::fill_color,
6658         troff_output_file::glyph_color): Set current color before testing
6659         color_flag.
6660         (troff_output_file::put_char_width, troff_output_file::put_char,
6661         troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6662         before glyph_color.
6663         (troff_output_file::file_color, troff_output_file::glyph_color):
6664         Call do_motion.
6665         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6666         vmotion_node::tprint): Move first, then call fill_color.
6668 2002-10-20  Werner LEMBERG  <wl@gnu.org>
6670         * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6671         possible to use multiple main macro packages.
6673 2002-10-19  Werner LEMBERG  <wl@gnu.org>
6675         * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6676         (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6677         (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6678         is set.
6679         * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6680         `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6682 2002-10-16  Werner LEMBERG  <wl@gnu.org>
6684         * NEWS, doc/webpage.ms: Updated.
6686 2002-10-14  Werner LEMBERG  <wl@gnu.org>
6688         * src/roff/troff/node.cc (troff_output_file::put_char_width,
6689         troff_output_file::put_char, troff_output_file::fill_color,
6690         troff_output_file::glyph_color): Handle case where color pointer
6691         is null.
6693 2002-10-13  Ruslan Ermilov  <ru@FreeBSD.org>
6695         Add the new -r option to grotty.  It is similar to the -i option
6696         except it tells grotty(1) to use the `reverse video' attribute to
6697         render italic fonts.
6699         * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6700         (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6701         (tty_printer::make_underline, tty_printer::put_color,
6702         tty_printer::end_page): Use it.
6703         (main): Add -r switch.
6704         (usage): Updated.
6705         * src/devices/grotty/grotty.man: Document it.
6707 2002-10-11  Ruslan Ermilov  <ru@FreeBSD.org>
6709         * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6710         cast to `unsigned char' to properly read patterns with 8bit
6711         characters.
6713 2002-10-08  Werner LEMBERG  <wl@gnu.org>
6715         * REVISION: Increased to 2.
6717 Local Variables:
6718 version-control: never
6719 coding: latin-1
6720 End: