* src/preproc/preconv/preconv.cpp (do_file): Fix conditional
[s-roff.git] / ChangeLog
blobb73badeb4caf09fdf887a4af397274ebcf51f497
1 2006-04-25  Tetsurou Okazaki  <okazaki@FreeBSD.org>
3         * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
4         preprocessor expression (I18N -> HAVE_ICONV).
5         (main): Fix handling of option `-h'.
6         Fix conditional preprocessor expression.
8 2006-04-04  Werner LEMBERG  <wl@gnu.org>
10         Implement new number register `.br' which is set to 1 if a macro has
11         been called as .foo and to 0 if called as 'bar.  This is useful for
12         -mtrace so that requests can be reliably traced too.
14         * src/roff/troff/input.cpp (input_iterator): Add virtual function
15         `get_break_flag'.
16         (macro_iterator): Add `with_break' member and `get_break_flag'
17         function.
18         Update constructors.
19         (input_stack): Add function `get_break_flag'.
20         (break_flag_reg): New number register class.
21         (input_init_requests): Register `.br'.
23         * src/roff/troff/TODO: Updated.
25         * tmac/trace.tmac: s/!!sp/!!!sp/.
26         Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
28         * docs/groff.texinfo, man/groff.man, man/groff_diff.man, NEWS:
29         Document it.
31 2006-03-29  Werner LEMBERG  <wl@gnu.org>
33         * src/devices/grops/ps.cpp: s/must not/should not/ in warning
34         messages where appropriate.
36 2006-03-28  Werner LEMBERG  <wl@gnu.org>
38         * configure.ac: Call AC_PROG_EGREP.
39         * configure: Regenerated.
41         * Makefile.in (EGREP): New variable.
42         (MDEFINES): Add $(EGREP).
44         * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
45         (bug reported by Robert Goulding <Goulding.2@nd.edu>).
46         Use @EGREP@.
48         * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
50 2006-03-27  Werner LEMBERG  <wl@gnu.org>
52         Add two request `.device' and `.devicem' which are equivalent to
53         `\X' and `\Y', respectively.
55         * src/roff/troff/input.cpp (device_request, device_macro_request):
56         New functions.
57         (init_input_requests): Register them.
59         * doc/groff.texinfo, man/groff_diff.man, man/groff.man, NEWS:
60         Document them.
62 2006-03-27  Gaius Mulley  <gaius@glam.ac.uk>
64         * src/roff/troff/input.cpp (encode_char): Emit special characters
65         for -Thtml as `\[...]'.
66         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
68         * doc/groff.texinfo (\X): Updated.
70 2006-03-27  Werner LEMBERG  <wl@gnu.org>
72         * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
73         files.
75 2006-03-26  Werner LEMBERG  <wl@gnu.org>
77         * doc/groff.texinfo: More documentation on end-of-macro symbol of
78         `.de'.
79         Minor addition to `.di' description.
81         * src/devices/grops/grops.man: Some clarifications regarding
82         insertion of PostScript snippets.
84 2006-03-25  Michail Vidiassov  <master@iaas.msu.ru>
86         Add rules to generate `symbolsl.afm'.
88         * fonts/devps/generate/zapfdr.sed,
89         fonts/devps/generate/symbolsl.awk: New files.
91         * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
92         variables.
93         (SS, clean): Updated.
94         (freeeuro.afm): Use $(srcdir).
95         (symbolsl.afm): New rule.
96         (zapfdr.afm): Use zapfdr.sed.
98 2006-03-22  Dwight Aplevich  <aplevich@uwaterloo.ca>
100         * src/preproc/pic/pic.y (expr <INT>): Fix code.
102 2006-03-22  Jörgen Grahn <jgrahn@algonet.se>
104         * tmac/sv.tmac: Add missing translations and activate support for
105         other macro packages.
107 2006-03-21  Francis GUDIN  <fgudin@nerim.net>
109         * tmac/doc-syms (Dx): New macro to identify DragonFly.
110         (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
111         doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
112         strings.
113         (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
114         doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
115         doc-operating-system-DragonFly-*): New operating system strings.
117         * tmac/groff_mdoc.man, NEWS: Document `Dx'.
119 2006-03-21  Werner LEMBERG  <wl@gnu.org>
121         * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
122         both DWB pic and dpic, make
124           right;
125           line then down;
127         equal to
129           right;
130           line right then down;
132         instead of
134           right;
135           line 0 then down;
137         * doc/pic.ms: Document this.
139 2006-03-20  Werner LEMBERG  <wl@gnu.org>
141         * doc/pic.ms: With permission of Eric Raymond, put it under the
142         GPL.
144         * NEWS: Updated.
146 2006-03-19  Werner LEMBERG  <wl@gnu.org>
148         * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
150         * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
151         attribute in combination with `with'.  Bug reported by Jennifer
152         Sayers <jenjen@mail.usyd.edu.au>.
154 2006-03-19  Miklos Somogyi  <msom@netspace.net.au>
156         * doc/groff.texinfo: Improve documentation of `.sp'.
158 2006-03-18  Werner LEMBERG  <wl@gnu.org>
160         * LICENSE: Renamed to...
161         * LICENSES: This.  Collect all licensing information in this file.
162         * tmac/README, src/libs/snprintf/README: Removed.
164         * src/devices/grops/grops.man: Add section how to install fonts.
166         * src/utils/xtotroff/xtotroff.c: Add GPL.
168 2006-03-17  Werner LEMBERG  <wl@gnu.org>
170         * Makefile.comm (.y.cpp): Fix #line arguments in output.
172 2006-03-13  Werner LEMBERG  <wl@gnu.org>
174         * src/preproc/tbl/tbl.man: Mention default length of text blocks.
176         * tmac/doc-common (Os): Add more Darwin versions.
177         * tmac/groff_mdoc.man: Document them.
179         * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
180         works with \N'...' also.
181         * man/groff_diff.man: Ditto.  Remove use of future tense where
182         possible.
184 2006-03-12  Michail Vidiassov  <master@iaas.msu.ru>
186         * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
187         fonts/devps/zapfdr.ps: Add `%%EndComments' line.
189 2006-03-10  Larry Kollar  <kollar@alltel.net>
191         * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
193 2006-03-10  Werner LEMBERG  <wl@gnu.org>
195         * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
196         ps_printer::do_mdef): Overlong lines now cause a warning message,
197         not an error.
199 2006-03-09  Werner LEMBERG  <wl@gnu.org>
201         * font/devps/generate/make-zapfdr: New script for generating
202         `zapfdr.ps'.
204 2006-03-08  Werner LEMBERG  <wl@gnu.org>
206         * doc/groff.css (pre): Fix `background-color' value.
208 2006-03-04  Larry Kollar  <kollar@alltel.net>
210         * tmac/groff_ms.man: Document PT, HD, and BT.
212 2006-03-04  Werner LEMBERG  <wl@gnu.org>
214         * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
215         for single-letter glyph names.
217 2006-03-02  Werner LEMBERG  <wl@gnu.org>
219         * tmac/sv.tmac: New file; currently holding only the Swedish strings
220         for -mm.
221         * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
222         from CTAN.
223         * tmac/README: Updated.
225 2006-02-27  Werner LEMBERG  <wl@gnu.org>
227         * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
228         * tmac/fr.tmac: Add French translations.
230         * tmac/composite.tmac: Add entry for `:'.
232 2006-02-26  Werner LEMBERG  <wl@gnu.org>
234         * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
235         (CLEANADD): Use it.
236         (install_html, uninstall_sub): Updated.
238 2006-02-26  Bruno Haible  <bruno@clisp.org>
240         Introduce Unicode fonts.
242         * font/devhtml/DESC.proto: Mark as unicode.
243         * font/devhtml/R.proto: Remove all charset entries that are already
244         in glyphuni.cpp.
245         * font/devutf8/DESC.proto: Mark as unicode.
246         * font/devutf8/R.proto: Remove all charset entries.
247         * src/include/font.h (font): New static field `is_unicode'.
248         Change order of fields.
249         * src/libs/libgroff/font.cpp: Include unicode.h.
250         (font::font): Update for changed order of fields.
251         (font::contains, font::get_width, font::get_height, font::get_depth,
252         font::get_italic_correction, font::get_left_italic_correction,
253         font::get_subscript_correction, font::get_character_type,
254         font::get_code, font::get_special_device_encoding): Handle both the
255         explicitly enumerated glyphs and use general code for Unicode fonts.
256         (font::load): Make the charset section optional when the font is
257         declared unicode.
258         (font::load_desc): Recognize the `unicode' attribute.
259         * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
261 2006-02-26  Claudio Fontana  <claudio@gnu.org>
263         * Makefile.in: Add comment about DESTDIR.
265         * Makefile.sub: Add DESTDIR to install and uninstall targets
266         to support staged installations.
267         * Makefile.comm: Likewise.
268         * doc/Makefile.sub: Likewise.
269         * contrib/eqn2graph/Makefile.sub: Likewise.
270         * contrib/gdiffmk/Makefile.sub: Likewise.
271         * contrib/grap2graph/Makefile.sub: Likewise.
272         * contrib/pic2graph/Makefile.sub: Likewise.
273         * src/devices/xditview/Makefile.sub: Likewise.
274         * src/preproc/eqn/Makefile.sub: Likewise.
275         * src/roff/grog/Makefile.sub: Likewise.
276         * src/roff/nroff/Makefile.sub: Likewise.
277         * src/utils/afmtodit/Makefile.sub: Likewise.
278         * src/utils/indxbib/Makefile.sub: Likewise.
279         * tmac/Makefile.sub: Likewise.
281 2006-02-24  Werner LEMBERG  <wl@gnu.org>
283         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
284         for \-.
285         Remove commented out entries for \' and \` (there are no such glyph
286         names).
288         * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
289         commented out entries for \' and \`.
292         * */*: s/legal/valid/ where appropriate.
294 2006-06-23  Werner LEMBERG  <wl@gnu.org>
296         * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
297         and \` entries.
299 2006-02-22  Werner LEMBERG  <wl@gnu.org>
301         Remove all remaining traces from the `shc' glyph.
303         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
304         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
305         entry for `shc'.
307         * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
308         entry with unnamed glyph.
310         * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
312         * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
313         specially.
315 2006-02-22  Bruno Haible  <bruno@clisp.org>
317         Concretize the `glyph' datatype.
319         * src/include/font.h (glyph): Remove class.
320         (glyph): Renamed from struct `glyphinfo'.
321         (glyph_to_index): New inline function.
322         (glyph_to_name): Make extern, not inline.
323         (glyph_to_number): Update.
324         (font): Use `glyph *' instead of `glyph'.
326         * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
327         `glyph'.  Make `name' field public.
328         (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
329         instead of `glyph'.
330         (glyph_to_name): Renamed from `glyph::glyph_name'.
332         * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
333         Use `glyph *' instead of `glyph'.
335         * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
336         `glyph *' instead of `glyph'.
337         (glyph_to_name): Renamed from `glyph::glyph_name'.
339         * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
340         and `glyph_to_index' instead of `glyph::glyph_index'.
342         * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
343         * src/libs/libdriver/printer.cpp: Likewise.
344         * src/devices/grodvi/dvi.cpp: Likewise.
345         * src/devices/grohtml/post-html.cpp: Likewise.
346         * src/devices/grolbp/lbp.cpp: Likewise.
347         * src/devices/grolj4/lj4.cpp: Likewise.
348         * src/devices/grops/ps.cpp: Likewise.
349         * src/devices/grotty/tty.cpp: Likewise.
351 2006-02-22  Werner LEMBERG  <wl@gnu.org>
353         * font/devdvi/generate/tc.map: Add `sr' glyph.
354         * font/devdvi/*TC: Regenerated.
356         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
357         for `sqrt'.
359 2006-02-21  Werner LEMBERG  <wl@gnu.org>
361         * man/groff_char.man: Explain `***' marker.
363 2006-02-17  Bruno Haible  <bruno@clisp.org>
365         * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
366         methods and fields from *_index to *_glyph.
367         (character_indexer::named_char_glyph): Test for `charNNN' name
368         here...
369         (name_to_glyph): ... not here.
371 2006-02-17  Bruno Haible  <bruno@clisp.org>
373         * src/include/font.h (name_to_glyph): Renamed from
374         font::name_to_index.
375         (number_to_glyph): Renamed from font::number_to_index.
376         (glyph_to_name): Renamed from font::index_to_name.
377         (glyph_to_number): Renamed from font::index_to_number.
378         * src/libs/libgroff/nametoindex.cpp: Likewise.
379         * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
380         charinfo::get_index.
382         * src/roff/troff/input.cpp: All callers changed.
383         * src/roff/troff/node.cpp: Likewise.
384         * src/libs/libgroff/font.cpp: Likewise.
385         * src/devices/grops/ps.cpp: Likewise.
386         * src/devices/grohtml/post-html.cpp: Likewise.
387         * src/libs/libdriver/printer.cpp: Likewise.
389 2006-02-17  Werner LEMBERG  <wl@gnu.org>
391         * src/include/ptable.h, src/include/itable.h
392         (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
393         of external symbol `next_ptable_size' (used by both header files).
395 2006-02-15  Bruno Haible  <bruno@clisp.org>
397         * src/include/font.h (glyphinfo): New class.
398         (glyph): Change internal representation.
399         Change constructor signature.
400         New method glyph::glyph_number().
401         (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
402         glyph::operator==, glyph::operator!=): Update.
403         (font::index_to_name, font::index_to_number): New functions.
405         * src/include/itable.h: New file, based on src/include/ptable.h.
407         * src/libs/libgroff/nametoindex.cpp: Include itable.h.
408         (class charinfo): New class.
409         (class character_indexer): Change table result type from `int' to
410         `class charinfo'.
411         Add table with integer key.
412         (character_indexer::character_indexer): Update.
413         (character_indexer::ascii_char_index): Update.
414         (character_indexer::numbered_char_index): Use NULL as name, not a
415         string starting with a space.
416         (character_indexer::named_char_index): Update.
417         (font::number_to_index, font::name_to_index): Remove no-op cast.
418         (glyph::glyph_name): New method.
419         * src/roff/troff/charinfo.h (class charinfo): Inherit from class
420         glyphinfo.
421         (NUMBERED): Remove flag bit.
422         (charinfo::numbered, charinfo::get_index): Update.
424         * src/roff/troff/input.cpp (charinfo::charinfo): Update.
425         (charinfo::set_number, charinfo::get_number): Update.
426         (glyph::glyph_name): New method.
428 2006-02-15  Werner LEMBERG  <wl@gnu.org>
430         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
431         entries for `>>', `<<', `*f', and `+f'.  Reported by Bruno.
433 2006-02-13  Werner LEMBERG  <wl@gnu.org>
435         * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
436         dvips.
438 2006-02-11  Werner LEMBERG  <wl@gnu.org>
440         * src/include/font.h: s/glyph_t/glyph/.
441         Update all callers.
443         * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
444         s/output_character_t/output_character/.
446 2006-02-11  Bruno Haible  <bruno@clisp.org>
448         New accessor method glyph_t::glyph_name().
450         * src/include/ptable.h (declare_ptable): Add a return value to the
451         `define' method, and declare a `lookupassoc' method.
452         (implement_ptable): Return the stored key in `define'.  Implement
453         lookupassoc.
454         * src/include/font.h (glyph_t): Add `name' field.  Add an argument
455         to the constructor.
456         (glyph_t::glyph_name): New method.
458         * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
459         return type of methods and field member type to glyph_t.
460         (character_indexer::character_indexer): Update.
461         (character_indexer::ascii_char_index): Allocate a name for the
462         glyph.
463         Return a glyph_t with name.
464         (character_indexer::numbered_char_index): Return a glyph_t without a
465         name.
466         (character_indexer::named_char_index): Return a glyph_t with a name.
467         (font::number_to_index, font::name_to_index): Update.
469         * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
470         the glyph's name.
472 2006-02-11  Bruno Haible  <bruno@clisp.org>
474         * src/devices/grotty/tty.cpp (output_character_t): New type.
475         (tty_printer::make_bold, tty_printer::add_char,
476         tty_printer::put_char): Change argument type to output_character_t.
477         (crossings): Change element type to output_character_t.
479 2006-02-11  Bruno Haible  <bruno@clisp.org>
481         Make the glyph data type abstract.
483         * src/include/font.h (glyph_t): New class.
484         (name_to_index, number_to_index): Change return type to glyph_t.
485         (font::contains, font::get_width, font::get_height, font::get_depth,
486         font::get_character_type, font::get_kern, font::get_skew,
487         font::get_italic_correction, font::get_left_italic_correction,
488         font::get_subscript_correction, font::get_code,
489         font::get_special_device_encoding, font::add_entry,
490         font::copy_entry, font::add_kern, font::hash_kern): Change argument
491         type to glyph_t.
493         * src/libs/libgroff/font.cpp (font_kern_list): Change members
494         type and constructor argument types to glyph_t.
495         (font::contains, font::get_width, font::get_height, font::get_depth,
496         font::get_character_type, font::get_kern, font::get_skew,
497         font::get_italic_correction, font::get_left_italic_correction,
498         font::get_subscript_correction, font::get_code,
499         font::get_special_device_encoding, font::add_entry,
500         font::copy_entry, font::add_kern, font::hash_kern): Change argument
501         type to glyph_t.
502         (font::load): Use glyph_t variables.
504         * src/libs/libgroff/nametoindex.cpp (name_to_index,
505         number_to_index): Change return type to glyph_t.
507         * src/roff/troff/charinfo.h (charinfo::index): Change type to
508         glyph_t.
509         (charinfo::get_index): Change return type to glyph_t.
511         * src/roff/troff/env.cpp: Include font.h.
513         * src/roff/troff/node.cpp: Include font.h before charinfo.h.
515         * src/roff/troff/input.cpp: Include font.h before charinfo.h.
516         (charinfo::charinfo): Update.
517         (name_to_index, number_to_index): Change return type to glyph_t.
519         * src/include/printer.h (printer::set_char_and_width): Change return
520         type to glyph_t.
522         * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
523         Change return type to glyph_t.
525         * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
526         argument type to glyph_t.
528         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
529         (html_printer::space_glyph): Renamed from space_char_index.
530         (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
531         html_printer::overstrike, html_printer::set_char): Change argument
532         type to glyph_t.
533         (html_printer::set_char_and_width): Change return type to glyph_t.
535         * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
536         argument type to glyph_t.
538         * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
539         argument type to glyph_t.
541         * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
542         space_char_index.
543         (ps_printer::set_subencoding, ps_printer::set_char): Change argument
544         type to glyph_t.
546         * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
547         argument type to glyph_t.
549 2006-02-11  Bruno Haible  <bruno@clisp.org>
551         * src/roff/troff/input.cpp (font::name_to_index): Never return a
552         negative value.
554         * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
555         font::name_to_index.
557 2006-02-10  Werner LEMBERG  <wl@gnu.org>
559         * doc/groff.texinfo (Assigning Formats): Number registers are always
560         interpolated.
561         Apply some rephrasing, contributed by Michael Burt.
563 2006-02-07  Werner LEMBERG  <wl@gnu.org>
565         * tmac/fr.tmac <ms>: Set `HY' register.
567 2006-02-07  Werner LEMBERG  <wl@gnu.org>
569         Add framework for simple adaptation of the main macro packages (mm,
570         me, ms, mom) to different locales.  In particular, add support for
571         French.  For activation, simply use `-mfr' as the last macro
572         package.  This feature has been contributed by Fabrice Ménard
573         <menard.fabrice@wanadoo.fr>.
575         * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
576         New files.
577         * tmac/README: Mention hyphen.fr.
578         * man/groff_tmac.man: Mention fr.tmac.
579         * NEWS: Updated.
581 2006-01-27  Werner LEMBERG  <wl@gnu.org>
583         * man/groff_font.man: Updated documentation of `entity_name' field.
584         Avoid future tense.
586 2006-01-27  Bruno Haible  <bruno@clisp.org>
588         * font/devhtml/R.proto: Remove the entity names from the font's
589         special_encoding_encoding column.
590         * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
591         handling the entity names here.
592         (get_html_translation): Use it.  Change return type to `const
593         char *'.
594         (page::add_and_encode): Update, removing a useless cast.
596 2006-01-26  Werner LEMBERG  <wl@gnu.org>
598         This change is based on a patch by Bruno Haible <bruno@clisp.org>.
600         * src/include/device.h: Add comments.
601         * src/include/font.h: Add comments.
602         * src/include/unicode.h: Likewise.
603         * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
605 2006-01-26  Keith Marshall  <keith.d.marshall@ntlworld.com>
607         Suppress `.st' request emission by `grn'.
609         * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
610         (conv): Use it.
612 2006-01-22  Werner LEMBERG  <wl@gnu.org>
614         * install-sh: New version; taken from texinfo CVS.
616 2006-01-21  Werner LEMBERG  <wl@gnu.org>
618         * src/preproc/preconv/preconv.cpp (main): Set program_name.  Bug
619         reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
621 2006-01-19  Bruno Haible  <bruno@clisp.org>
623         Let `make -k install' install more files.
625         * Makefile.in (MAKE_K_FLAG): New variable.  Use it everywhere where
626         $(MAKE) and $(MDEFINES) are used.
627         (CPROGDIRS): Remove $(XPROGDIRS).  Treat $(XPROGDIRS) like
628         $(CPROGDIRS) everywhere.
629         ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
630         on $(XPROGDIRS).
631         ($(OTHERDIRS)): Likewise.
634         * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
635         failure test for font::name_to_index -- it can never fail.
637 2006-01-19  Werner LEMBERG  <wl@gnu.org>
639         * src/devices/grops/grops.man: Fix section on creating EPS files.
640         Don't use future time in manual.
641         Other minor fixes.
643 2006-01-15  Gaius Mulley  <gaius@glam.ac.uk>
645         * tmac/www.tmac: New macro LINKSTYLE which allows users to set
646         various typographical URL attributes for non-HTML devices.
648         * tmac/groff_www.man: Document LINKSTYLE.
650 2006-01-11  Werner LEMBERG  <wl@gnu.org>
652         * configure.ac: Test for getc_unlocked (needed for localcharset).
653         * configure, src/include/config.hin: Regenerated.
655         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
656         ENABLE_RELOCATABLE.
658         * src/libs/libgroff/relocatable.h: New dummy header file for
659         localcharset.c.
661         * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
662         gnulib version.
664 2006-01-10  Bruno Haible  <bruno@clisp.org>
666         Work around unportability of nl_langinfo(CODESET).
668         * m4/glibc21.m4: New file, from gnulib.
669         * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
670         * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
671         * Makefile.in (HOST, GLIBC21): New variables.
672         (MDEFINES): Pass them to subdirectories.
673         * src/include/relocate.h (relocatep): Define with C linkage.
674         * src/include/localcharset.h: New file, from gnulib.
675         * src/libs/libgroff/localcharset.c: New file, from gnulib with a
676         modification for relocate().
677         * src/libs/libgroff/config.charset: New file, from gnulib.
678         * src/libs/libgroff/ref-add.sin: New file, from gnulib.
679         * src/libs/libgroff/ref-del.sin: New file, from gnulib.
680         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
681         (OBJS): Add localcharset.o.
682         (CSRCS): Add localcharset.c.
683         (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
684         (charset.alias): New rule.
685         (PACKAGE): New variable.
686         (ref-add.sed, ref-del.sed): New rules.
687         (MKINSTALLDIRS): New variable.
688         (install_data): Depend on install_charset_data.
689         (install_charset_data): New rule for creating or updating
690         charset.alias.
691         (uninstall_sub): Depend on uninstall_charset_data.
692         (uninstall_charset_data): New rule for uninstalling or updating
693         charset.alias.
694         * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
695         of <langinfo.h>.
696         (main): Initialize default_encoding from locale_charset() instead of
697         nl_langinfo(CODESET).
699         * aclocal.m4, configure, src/include/config.hin: Regenerated.
701 2006-01-10  Werner LEMBERG  <wl@gnu.org>
703         * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
704         ICONV_CONST in call to iconv.  Reported by Robert Goulding.
706 2006-01-07  Werner LEMBERG  <wl@gnu.org>
708         * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
709         fontforge version.
710         Bump font version to 001.001.
712         * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
713         Call fontforge, not pfaedit.
715         * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
717 2006-01-05  Ruslan Ermilov  <ru@FreeBSD.org>
719         * tmac/doc-common: Add new FreeBSD and NetBSD versions.
720         * tmac/groff_mdoc.man: Updated.
722 2006-01-05  Werner LEMBERG  <wl@gnu.org>
724         * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
725         (raw_flag): New global variable.
726         (do_file): Use .lf to set file name (if `raw_flag' isn't set).
727         Don't pass BOM to `conversion_utf8'.
728         (usage): Updated.
729         (main): Handle `-r' command line switch to set `raw_flag'.
730         (get_BOM): Fix encodings in `BOM_table'.
732         * src/preproc/preconv/preconv.man: New file.  Not complete yet.
733         * src/preproc/proconv/Makefile.sub (MAN1): New variable.
735 2006-01-04  Werner LEMBERG  <wl@gnu.org>
737         * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
738         Bruno, comment out most encodings to support only a small set of
739         coding tags, thus reducing potential problems with legacy encodings
740         and character sets in the future.
741         Add many XEmacs coding tags (now commented out).
742         Add `cp1047'.
743         (check_encoding_tag): Renamed to...
744         (check_coding_tag): This.
745         (get_BOM): Return encoding as specified by BOM.
746         Test for UTF32-LE too.
747         (do_file): Don't check for coding tag if a BOM has been found.
749 2006-01-03  Bruno Haible  <bruno@clisp.org>
751         * m4/groff.m4: Renamed from aclocal.m4.
752         * m4/codeset.m4: New file, from gnulib.
753         * m4/iconv.m4: New file, from gnulib.
754         * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
755         gnulib.
756         * config.rpath: New file, from gnulib.
757         * config.guess, config.sub: New files, from gnulib.
758         * Makefile.sub (M4MACROS): New variable.
759         (configure): Fix typo.
760         (aclocal.m4): New rule.
761         (stamp-h.in): Depend on aclocal.m4.
762         * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
763         * Makefile.in (LIBICONV): New variable.
764         (MDEFINES): Pass it to recursive makes.
765         * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
766         HAVE_ICONV instead of I18N macro.
767         * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
769         * aclocal.m4, configure, src/include/config.hin: (Re)generated.
771 2006-01-03  Werner LEMBERG  <wl@gnu.org>
773         * doc/Makefile.in (webpage.html): Simplify.
774         * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
775         * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
777 2006-01-01  Werner LEMBERG  <wl@gnu.org>
779         * tmac/doc-common (Os): Add some Darwin versions.
780         * tmac/groff_mdoc.man: Document them.
782 2006-01-01  Bruno Haible  <bruno@clisp.org>
784         * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
785         corrections:
786           . Don't map ascii to latin-1.
787           . Don't use IBMxxx encodings but cpxxx for portability.
788           . Map cp932, cp936, cp949, cp950 to itself.
789         (emacs2mime): Protect calls to strcasecmp.
790         (conversion_iconv): Add missing call to iconv_close.
791         (do_file): Emit error message in case of unsupported encoding.
793 2005-12-31  Werner LEMBERG  <wl@gnu.org>
795         Integrate preconv into the groff binary.  Changes based on a patch
796         from Michail Vidiassov.
798         * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
800         * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
801         (SOELIM_INDEX): Updated.
802         (help, synopsis): Updated.
803         (main): Add command line options `-k' and `-K enc' to select
804         encoding.
805         Add support for GROFF_ENCODING environment variable.
807         * src/roff/groff/groff.man: Updated and revised.
810         Start with autoconf support for preconv.
812         * configure.ac: Call AC_C_BIGENDIAN.
813         * configure, src/include/config.hin: Regenerated.
815 2005-12-30  Werner LEMBERG  <wl@gnu.org>
817         New preprocessor `preconv' to convert input encodings to something
818         groff can understand.  Not yet integrated within groff.  Proper
819         autoconf stuff is missing too.
821         Tomohiro Kubota has written a first draft of this program, and some
822         ideas have been reused (while almost no code has been taken
823         actually).
825         * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
826         New files.
828         * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
829         (GROFF_BIN_PATH): Add preconv.
831 2005-12-12  Werner LEMBERG  <wl@gnu.org>
833         * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
834         In particular, don't use `\+' since it is a GNU sed extension.
836         * configure: Regenerated.
838 2005-12-09  Werner LEMBERG  <wl@gnu.org>
840         * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp. 
842         * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
843         4.1.0.
846         * src/utils/afmtodit/make-afmtodit-tables: New script to generate
847         afmtodit.tables.
849         * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
850         4.1.0 data.
852         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
853         %AGL_to_unicode): Removed.  Replace it with a tag.
855         * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
856         to replace tag with actual file contents.
858 2005-12-08  Werner LEMBERG  <wl@gnu.org>
860         The change 2005-06-20 can indeed cause problems, so we follow the
861         advice by using marks.
863         * font/devps/prologue.ps (PBEGIN): Use `mark'.
864         (PEND): Use `cleartomark'.
866 2005-12-07  Michail Vidiassov  <master@iaas.msu.ru>
868         * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
869         glyphs which have kern values but aren't handled (glyph variants,
870         for example).
872 2005-12-02  Werner LEMBERG  <wl@gnu.org>
874         * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
875         subfont index.  Reported by Michail Vidiassov <master@iaas.msu.ru>.
877 2005-11-28  Gaius Mulley  <gaius@glam.ac.uk>
879         * doc/Makefile.in: Separate rule for webpage.html so that extra
880         command line options can be passed to grohtml.
881         * doc/groff.css: Change all margins to 0%.
882         * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
883         navigation is exploited.  Also update webpage to contain new
884         sections on licences, mailing lists, cvs/ftp access, groff
885         dependencies, and bug reports.
886         * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
887         * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
888         
889 2005-11-25  Gaius Mulley  <gaius@glam.ac.uk>
891         * src/devices/grohtml/post-html.cpp
892         (html_printer::do_file_components): Add fputs calls to emit the
893         head contents and shut down the head tag whenever a new file
894         component is generated.
896 2005-11-22  Gaius Mulley  <gaius@glam.ac.uk>
898         * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
899         call to flush_text to flush any outstanding html tags on the
900         paragraph stack.
902 2005-11-18  Werner LEMBERG  <wl@gnu.org>
904         * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
905         Announce makeinfo version.
906         * configure: Regenerated.
908 2005-11-18  Mike Frysinger <vapier@gentoo.org>
910         * Makefile.in: Declare proper dependencies between make targets.
912         * doc/Makefile.in: Rename groff info page to `groff.info'.
913         * doc/Makefile.sub: Likewise.
914         * doc/groff.texinfo: Likewise.
916 2005-11-17  Peter O'Gorman  <mlists@thewrittenword.com>
918         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
919         definition of __GETOPT_PREFIX to the beginning of file to ensure
920         that it is defined even on platforms where getopt.h is already
921         included by other header files.
923 2005-11-10  Gaius Mulley  <gaius@glam.ac.uk>
925         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
926         Reset font to NULL to ensure that a font block is recreated during
927         the next paragraph.
929 2005-11-04  Werner LEMBERG  <wl@gnu.org>
931         * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
932         * configure: Regenerated.
934 2005-10-27  Werner LEMBERG  <wl@gnu.org>
936         * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
937         makeinfo 4.8 or newer is available.
938         * configure.ac: Call GROFF_MAKEINFO.
939         * configure: Regenerated.
941         * Makefile.in (MAKEINFO): Use autoconf variable.
942         (MDEFINES): Add MAKEINFO.
944         * doc/Makefile.in (MAKEINFO): Use autoconf variable.
945         * doc/Makefile.sub (MAKEINFO): Remove.
947 2005-10-26  Werner LEMBERG  <wl@gnu.org>
949         * REVISION: Set to 3.
951 2005-10-17  Werner LEMBERG  <wl@gnu.org>
953         Mention $MANPAGER variable used with some `man' systems.
955         * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
957 2005-09-13  Werner LEMBERG  <wl@gnu.org>
959         * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
961 2005-09-04  Werner LEMBERG  <wl@gnu.org>
963 Version 1.19.2 released
964 =======================
966         * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
968         * doc/webpage.ms: Updated.
970         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
972 2005-09-04  Jörgen Grahn <jgrahn@algonet.se>
974         * tmac/groff_ms.man: Document `PO' better.
976 2005-09-03  Werner LEMBERG  <wl@gnu.org>
978         * NEWS: Document grotty changes.
980 2005-09-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
982         Backward compatibility support for `man' program.
984         * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
985         assignment, prior `.ll' request and then package defaults, in this
986         specified order of decreasing priority.
988         * tmac/groff_man.man, doc/groff.texinfo: Document altered `LL'
989         register initialization priorities.
991 2005-08-29  Gary W. Swearingen  <garys@opusnet.com>
993         * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
994         section should look like.
996 2005-08-29  Werner LEMBERG  <wl@gnu.org>
998         * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
999         be abbreviated.
1001 2005-08-27  Bernd Warken
1003         * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1004         fixes.
1006 2005-08-11  Bernd Warken
1008         * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1010 2005-08-09  Bernd Warken
1012         * tmac/www.tmac (URL, MTO): Use bold series if color support is
1013         deactivated.
1015 2005-08-02  Bernd Warken
1017         * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1018         as argument to $(INSTALL_INFO).  The latter isn't portable.
1019         Remove $(HTMLEXAMPLEFILES) too.
1021         * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1022         $(datadir)/doc too.
1023         Suppress warning messages and return always true.
1025         * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1027 2005-07-02  Bernd Warken
1029         * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1030         * man/groff_out.man: More markup and minor improvements.
1031         * src/roff/groff/groff.man: Minor improvements.
1033 2005-06-28  Werner LEMBERG  <wl@gnu.org>
1035         * ChangeLog: Split off older entries into...
1036         * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1037         files.
1039 2005-06-26  Bernd Warken
1041         * src/devices/xditview/gxditview.man: More minor fixes.
1043 2005-06-24  Werner LEMBERG  <wl@gnu.org>
1045         * src/preproc/pic/troff.cpp (troff_output::set_fill,
1046         troff_output::set_color, troff_output::reset_color): Use .bcolor and
1047         .fcolor instead of \m and \M, respectively.
1049 2005-06-23  Bernd Warken
1051         * src/devices/xditview/gxditview.man: More minor fixes.
1052         * README: Formatting issues.
1053         Mention some problems with Debian.
1055 2005-06-23  Bernd Warken
1057         * src/devices/xditview/gxditview.man: Revised and improved.
1059 2005-06-22  Werner LEMBERG  <wl@gnu.org>
1061         Another round in fixing getopt problems.  Hopefully the last one!
1062         This time we use the getopt stuff from gnulib and define a prefix
1063         unconditionally so that there are no collisions with any other
1064         getopt implementations.  This is a slight waste of space in case
1065         we already use a GNU getopt implementation, but on
1066         the other hand it really simplifies life.
1068         * src/include/getopt.h: Use gnulib version.
1070         * src/include/getopt_int.h: Use gnulib version.
1072         * src/include/groff-getopt.h: Removed.  Obsolete now.
1074         * src/include/lib.h: Regarding getopt, don't handle any platform
1075         specially; just include getopt.h.
1076         (__GETOPT_PREFIX): Define (before getopt.h).
1078         * src/include/Makefile.sub (HDRS): Updated.
1080         * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1081         gnulib version.
1083         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1084         __GETOPT_PREFIX.
1086         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1087         (__GETOPT_PREFIX): Define (before getopt.h).
1089 2005-06-21  Werner LEMBERG  <wl@gnu.org>
1091         * src/include/lib.h: Provide a fix for Mac OS X to not include
1092         groff-getopt.h.
1094 2005-06-20  Denis M. Wilson  <dmw@oxytropis.plus.com>
1096         * font/devps/prologue.ps (EP): Dont' use `bind'.  Reason: Using
1097         `bind' to define a procedure which contains `showpage' means that an
1098         invocation of `showpage' may execute wrongly (the exact effect
1099         depending on the interpreter).  Not usually a problem except under
1100         transformations, such as combining pages.
1101         (PEND): Don't call `clear'.  Reason: Using `clear' in the definition
1102         of /PEND means that stack underflow will occur if the stack is
1103         deliberately non-empty before document inclusion.  If included
1104         files are found to be generally badly behaved, we could replace the
1105         `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1106         never found this necessary).
1108 2005-06-20  Jörgen Grahn  <jgrahn@algonet.se>
1110         * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1111         earlier to get correct error message.
1113 2005-06-16  Bernd Warken
1114         * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1116 2005-06-15  Werner LEMBERG  <wl@gnu.org>
1118         Another try to update getopt files.  This time we add a dummy
1119         gettext.h file to satisfy the dependency.
1121         * src/include/getopt.h, src/libs/libgroff/getopt.c,
1122         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1124         * src/include/getopt_int.h: New file (from GNU libc CVS).
1126         * src/include/gettext.h: Dummy file which just defines a gettext()
1127         macro.
1129         * src/include/groff-getopt.h: Updated.
1131         * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1134         * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1135         `const' keywords in return value.
1137         * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1138         Remove redundant variable `old'.
1139         (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1141         * src/preproc/tbl/main.cpp (process_table): Remove redundant
1142         variable `c'.
1145         Fix more friend name injection problems since modern C++ compilers
1146         fail otherwise.  We simply provide (global) declarations for all
1147         functions declared as friends.  This is not really necessary but
1148         doesn't harm.
1150         * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1151         peek_char, and get_location.
1153         * src/preproc/refer/ref.h: Provide declarations for
1154         compare_reference, same_reference, same_year, same_date,
1155         same_author_last_name, and same_author_name.
1157         * src/roff/troff/div.h: Provide declarations for do_divert and
1158         page_offset.
1160         * src/roff/troff/env.h: Provide declarations for title_length,
1161         space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1162         vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1163         indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1164         margin_character, no_number, number_lines, leader_character,
1165         tab_character, hyphenate_request, no_hyphenate,
1166         hyphen_line_max_request, hyphenation_space_request,
1167         hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1168         line_tabs_request, widow_control_request, and do_divert.
1170         * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1172         * src/roff/troff/node.cpp: Provide declarations for class
1173         tfont_spec.
1174         Provide declaration for make_tfont.
1176 2005-05-29  Werner LEMBERG  <wl@gnu.org>
1178         * doc/fdl.texi: Updated to version 1.2.  Reported by Bernd Warken.
1180 2005-05-28  Werner LEMBERG  <wl@gnu.org>
1182         * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1183         `--style'.
1185         * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1186         redundant semicolons.
1188         * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1189         src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1190         Define `MLIB'.  Some compilers need this for linking with libgroff.
1192 2005-05-27  Werner LEMBERG  <wl@gnu.org>
1194         * MANIFEST, README, doc/webpage.ms: Updated.
1196 2005-05-26  Werner LEMBERG  <wl@gnu.org>
1198         * All affected files: Update postal address of FSF.
1200 2005-05-25  Keith Marshall  <keith.d.marshall@ntlworld.com>
1201             Bernd Warken
1203         * README: More fixes.
1205         * README.CVS: Removed.  Its contents is now part of the README file.
1207 2005-05-21  Werner LEMBERG  <wl@gnu.org>
1209         * README: Updated.  Based on a patch from Bernd Warken.
1211 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1213         Miscellaneous script portability enhancements.
1215         * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1216         generated conftest.sh script, conforming to portability
1217         recommendation in autoconf docs.
1218         * configure: Likewise, for code generated by GROFF_CSH_HACK.
1219         * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1220         to portability recommendation in autoconf docs.
1221         * contrib/gdiffmk/gdiffmk.sh: Likewise.
1222         * contrib/gdiffmk/tests/runtests.in: Likewise.
1223         * contrib/grap2graph/grap2graph.sh: Likewise.
1224         * contrib/groffer/groffer.sh: Likewise.
1225         * contrib/mm/mmroff.pl: Likewise.
1226         * contrib/mom/momdoc/appendices.html: Likewise.
1227         * contrib/pic2graph/pic2graph.sh: Likewise.
1228         * font/devps/generate/afmname: Likewise.
1229         * src/devices/xditview/ad2c: Likewise.
1230         * src/preproc/eqn/neqn.sh: Likewise.
1231         * src/roff/grog/grog.pl: Likewise.
1232         * src/roff/grog/grog.sh: Likewise.
1233         * src/roff/nroff/nroff.sh: Likewise.
1234         * PROBLEMS: Likewise, in embedded script examples.
1236 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1238         Improve portability of `pdfroff' shell script.
1240         * arch/misc/shdeps.sh: Add space in shebang, conforming to
1241         portability guidelines in `autoconf' docs.
1242         (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1243         initialization code.  Used by contrib/pdfmark/pdfroff.sh's
1244         `searchpath' function.
1246 2005-05-14  Werner LEMBERG  <wl@gnu.org>
1248         * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1249         contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1250         needed for newer ImageMagick versions.
1252 2005-05-07  Werner LEMBERG  <wl@gnu.org>
1254         * src/preproc/refer/refer.man: Many small typographic fixes.
1256 2005-05-06  Jeff Conrad  <jeff_conrad@msn.com>
1258         * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1259         Use `char *' cast for a_delete.
1261 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1263         * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1264         src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1266 2005-05-03  Jeff Conrad  <jeff_conrad@msn.com>
1268         * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1269         `a_delete' for `const char *'.
1271 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1273         * src/devices/grohtml/post-html.cpp,
1274         src/devices/grohtml/html-table.cpp,
1275         src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1276         Replace malloc/free with new/delete/a_delete.
1278         * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1279         are prohibited with ANSI C++.
1280         (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1281         function has a variable number of arguments).
1283         * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1284         Simplify function and update all callers.
1286 2005-05-02  Werner LEMBERG  <wl@gnu.org>
1288         Undo getopt changes from 2005-04-30.  We don't want a dependency
1289         on gettext.
1291         * src/include/getopt_int.h: Removed.
1293         * src/include/getopt.h, src/include/groff-getopt.h,
1294         src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1295         src/libs/libgroff/getopt1.c: Revert to previous version.
1298         * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1300         * src/include/posix.h (F_OK): Define conditionally.
1302         * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1303         different variable name in second `for' loop to avoid MSVC compiler
1304         problem.
1306 2005-04-30  Werner LEMBERG  <wl@gnu.org>
1308         AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1310         * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1311         * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1312         * configure, src/include/config.hin: Regenerated.
1314         * PROBLEMS: Updated.
1317         Update getopt files.
1319         * src/include/getopt.h, src/libs/libgroff/getopt.c,
1320         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1322         * src/include/getopt_int.h: New file (from GNU libc CVS).
1324         * src/include/groff-getopt.h: Updated.
1326         * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1329         * font/devutf8/NOTES: Updated.
1331 2005-04-28  Werner LEMBERG  <wl@gnu.org>
1333         Bug fix for Win32 relocatable code.  Based on a patch from Keith
1334         Marshall.
1336         * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1337         also.
1339         * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1340         (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1342 2005-04-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
1344         Correct `gnu.eps' handling for build from distribution tarball, with
1345         separate source and build directories.
1347         * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1348         grnexmpl.g, groff.css and gnu.eps from source to build directory;
1349         generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1350         (prepare_examples): Make it depend on examples.stamp.
1351         (CLEANADD): Add examples.stamp.
1353 2005-04-27  Werner LEMBERG  <wl@gnu.org>
1355         Implement the rule
1357           position: `(' position `)'
1359         in pic.
1361         * src/preproc/pic/pic.y (position, position_not_place): Handle
1362         additional parentheses.
1364         * doc/pic.ms: Updated.
1366 2005-04-23  Larry Jones  <lawrence.jones@ugs.com>
1368         * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1370 2005-04-18  Werner LEMBERG  <wl@gnu.org>
1372         * src/roff/groff/pipeline.c: Don't include ctype.h.
1374 2005-04-13  Werner LEMBERG  <wl@gnu.org>
1376         * src/roff/nroff/nroff.man: Document option `-M'.
1378 2005-04-13  Bruce Lilly  <blilly@erols.com>
1380         * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1382 2005-04-01  Kees Zeelenberg  <kzlg@users.sourceforge.net>
1383             Werner LEMBERG  <wl@gnu.org>
1385         Add binary relocation support for Windows platforms.
1387         * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1389         * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1391         * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1392         (search_path::search_path, search_path::open_file_cautious): Use
1393         `relocate'.
1395         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1396         src/include/Makefile.sub (HDRS): Updated.
1398 2005-04-01  Werner LEMBERG  <wl@gnu.org>
1400         * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
1401         strsave/a_delete.
1403         * src/libs/libgroff/font.cpp: Replace strdup with strsave.
1405         * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
1406         lib.h already does it.
1408         * src/libs/libgroff/maxpathname.cpp: New file, defining
1409         path_name_max.
1411         * src/include/lib.h: Add prototype for path_name_max.
1413         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
1415         * src/include/nonposix.h (PATH_EXT): New macro.
1417 2005-03-28  Werner LEMBERG  <wl@gnu.org>
1419         Add support for double- and zero-width characters in grotty.
1421         * src/devices/grotty/tty.cpp (glyph): Add width.
1422         (tty_printer::make_underline, tty_printer::make_bold,
1423         tty_printer::add_character): Add parameter to pass character width.
1424         Update all callers.
1425         (tty_printer::end_page): Increase hpos by actual character width.
1427         * font/devutf8/R.proto: Specify zero width for non-spacing
1428         characters.
1430         * tmac/unicode.tmac: Remove definitions for non-spacing entities.
1432         * Makefile.comm (extraclean): Remove more junk files.
1434 2005-03-25  Werner LEMBERG  <wl@gnu.org>
1436         * configure.ac: Undo change from 2005-03-24.
1437         * configure: Regenerated.
1439 2005-03-24  Werner LEMBERG  <wl@gnu.org>
1441         * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
1442         (dist): Search Makefile while descending into $(EXTRADIRS).
1444         * doc/Makefile.in (.PHONY): Add.
1445         (clean): Don't remove *.png and *.eps.
1446         Don't handle *.gif.
1447         (realclean): Remove *.png and *.eps.
1448         (extraclean): Depend on distclean.
1450         * configure.ac: Add copyright.
1451         Handle contrib/pdfmark/Makefile.
1453         * configure: Regenerated.
1455 2005-03-18  Larry Kollar  <kollar@alltel.net>
1457         Add numbered and definition lists to www.tmac.
1459         * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
1460         www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
1461         auxiliary string registers.
1462         (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
1463         www-ol-ctr3, www-dl-shift): New auxiliary number registers.
1464         (www-level): Removed.
1465         (www-level1, www-level2, www-level3): Initialize to empty.
1466         (www-level0, www-level4, www-level5, www-level6, www-level7,
1467         www-level8, www-level9): New string registers.
1468         (www-push-li, www-pop-li): New macros.
1469         (www-push-level, www-pop-level): Renamed to...
1470         (www-push-ul-level, www-pop-ul-level): This.
1471         Updated.
1472         (www-push-ol-level, www-pop-ol-level): New macros.
1473         (ULS, ULE): Updated.
1474         (OLS, OLE, DLS, DLE): New user macros.
1475         (LI): Removed.  It is aliased to one of...
1476         (www-li-ul, www-li-ol, www-li-dl): New macros.
1478         * tmac/groff_www.man: Document new macros.
1480         * NEWS: Updated.
1482 2005-03-18  Werner LEMBERG  <wl@gnu.org>
1484         * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
1485         doc-operating-system-NetBSD-2.0.2): New strings.
1487         * tmac/groff_mdoc.man: Updated.
1489 2005-03-17  Werner LEMBERG  <wl@gnu.org>
1491         * doc/Makefile.sub (CLEANADD): Add `groff.html'.
1493 2005-03-17  Werner LEMBERG  <wl@gnu.org>
1495         * src/libs/libgroff/hypot.c: Renamed to...
1496         * src/libs/libgroff/hypot.cpp: This.  Updated to C++.
1498         * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
1500         * src/include/lib.h: Updated.
1502 2005-03-16  Werner LEMBERG  <wl@gnu.org>
1504         Add workaround for broken hypot() on Interix.
1506         * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
1508         * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
1509         (CSRCS): Add `hypot.c'.
1511         * src/include/lib.h: Declare `groff_hypot'.
1513         * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
1514         Use `groff_hypot'.
1516         * src/preproc/pic/pic.h: Don't declare `hypot'.
1518         * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
1520 2005-03-15  Gaius Mulley  <gaius@glam.ac.uk>
1522         * src/devices/grohtml/post-html.cpp
1523         (html_printer::lookahead_for_tables): End .ce properly to avoid a
1524         segfault.
1526 2005-03-15  Werner LEMBERG  <wl@gnu.org>
1528         makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
1530         * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
1532         * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
1534 2005-03-14  Werner LEMBERG  <wl@gnu.org>
1536         Add Cyrillic support to devutf8 and devhtml.
1538         * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
1540         * tmac/unicode.tmac: New file.
1542         * tmac/tty.tmac: Include unicode.tmac if device is utf8.
1544         * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
1546         * NEWS: Updated.
1548 2005-03-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
1550         * src/libs/libdriver/printer.cpp (check_for_output_error): New
1551         function.  It has been introduced to catch peculiar error contexts
1552         on MS-Windows platforms.
1554 2005-02-28  Werner LEMBERG  <wl@gnu.org>
1556         * src/roff/troff/input.cpp (string_iterator::fill): Protect against
1557         null pointer.
1559         * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
1561         * configure: Regenerated.
1563         * NEWS: Updated.
1565 2005-02-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
1567         Integrate `pdfmark' into normal groff build system;
1568         install macro `pdfmark' packages, build and install `pdfroff',
1569         and PDF format documentation.
1571         * Makefile.comm: Add PDFDOCDIR.
1573         * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
1574         pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
1575         (unstall_dirs): Add pdfdocdir.
1577         * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
1578         `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
1579         (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
1580         GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
1581         (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
1582         (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
1583         set ALT_AWK_PROGS.
1584         (GROFF_AWK_PATH): New function; support `--with-awk' option, force
1585         use of GROFF_AWK_PREFS.
1586         (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
1587         and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
1589         * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
1590         Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
1591         also by modified GROFF_HTML_PROGRAMS).
1593 2005-02-27  Gaius Mulley  <gaius@glam.ac.uk>
1595         * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
1596         paragraph spacing.
1597         (html_text::done_para): Unset `start_space'.
1598         (html_text::remove_para_align): Call `retrieve_para_space' for the
1599         spacing.
1601         * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
1602         `seen_space'.
1603         (html_printer::do_check_center): Emit vertical space if necessary.
1605         * src/roff/troff/env.cpp (environment_switch): Preserve
1606         `seen_space', `seen_eol', and `suppress_next_eol' while switching
1607         environments.
1609         * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
1610         `is_special'.
1612 2005-02-20  Werner LEMBERG  <wl@gnu.org>
1614         * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
1615         eqn.
1617 2005-02-17  Werner LEMBERG  <wl@gnu.org>
1619         * doc/pic.ms, man/groff.man: Fix typos.
1621         * doc/groff.texinfo: Fix typos.
1622         (\LEmacro): Get proper mathematical spacing.
1624 2005-02-16  Werner LEMBERG  <wl@gnu.org>
1626         * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
1627         * configure: Regenerated with autoconf 2.59b.
1629 2005-02-16  Gaius Mulley  <gaius@glam.ac.uk>
1631         * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
1632         html_printer::start_font): Fix handling of preformatted text.
1634 2005-02-15  Gaius Mulley  <gaius@glam.ac.uk>
1636         These patches modify the indentation implementation to use `<p
1637         style=margin-left: n%>'.  Many thanks to Peter and Larry for
1638         suggesting this solution.  Grohtml only uses tables for `.IP' and
1639         related tags when the first operand has a short width.
1641         Similarly, they modify all vertical space code.  By default, grohtml
1642         sets up a style sheet which uses no vertical space between `table',
1643         `pre', and `p' tags.  It forces spaces when it needs them using
1644         `style="margin-top: 1em"'.
1646         * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
1647         (html_table::emit_table_header, html_table::emit_new_row):
1648         Rewritten.
1649         (html_table::set_space): New function.
1650         (html_indent::html_indent): Don't set `is_used'.
1651         (html_indent::begin): Rewritten.
1652         (html_indent::end): Remove code in function.
1654         * src/devices/grohtml/html-table.h: Updated.
1655         (html_table): Make `out' public.
1657         * src/devices/grohtml/html-text.cpp (html_text::html_text):
1658         Initialize `start_space' with FALSE.
1659         (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
1660         (html_text::issue_tag): Add argument to handle space style.
1661         (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
1662         (html_text::flush_text): Don't set `start_space'.
1663         (html_text::push_para): Don't set `p->really_issued'.
1664         (html_text::do_emittext): Updated.
1665         (html_text::do_para): Add paremeter to handle space.
1666         Update all callers.
1667         (html_text::retrieve_para_space): New function.
1669         * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
1670         (tag_definition): Remove `really_issued'.
1671         (html_text): Updated.
1673         * src/devices/grohtml/post-html.cpp (html_printer): Add variables
1674         `current_column' and `row_space'.
1675         Update constructor.
1676         (html_printer::emit_raw, html_printer::write_header,
1677         html_printer::do_indent, html_printer::do_check_center,
1678         html_printer::do_tab_ts): Handle vertical space.
1679         (html_printer:do_tab_te, html_printer::do_end_para): Call
1680         `remove_para_space'.
1681         (html_printer::do_col): Rewritten.
1682         (html_printer::flush_globs): Remove debugging code.
1683         (html_printer::is_line_start): New function.
1684         (html_printer::start_font): Use `is_line_start'.
1685         (html_printer::writeHeadMetaStyle): New function.
1686         (html_printer::do_file_components, html_printer::~html_printer):
1687         Call `writeHeadMetaStyle'.
1689         * tmac/www.tmac (www-handle-percent): New macro.
1690         (MPIMG): Handle percent values for width and height parameters.
1691         (DC): Updated.
1693         * tmac/groff_www.man: Updated.
1695 2005-02-14  Werner LEMBERG  <wl@gnu.org>
1697         * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
1698         $psname and $italic_angle.
1699         Immediately restart file input loops if `split' returns an empty
1700         array.
1702 2005-02-13  Michail Vidiassov  <master@iaas.msu.ru>
1703             Werner LEMBERG  <wl@gnu.org>
1705         Update afmtodit to better support Unicode (Michail).
1706         Update afmtodit to use Perl 5 syntax (Werner).
1708         * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
1709         `Getopts::Std'.
1710         Decorate variables with `my' where necessary.
1711         Use `defined' where necessary to avoid warnings.
1712         Don't use `do' for subroutine calls.
1713         Other minor syntax updates.
1714         Check for both `uXXXX[X[X]]' and `uniXXXX'.
1715         Handle glyph variants properly.
1716         (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
1717         strings.
1719         * src/utils/afmtodit/afmtodit.man: Updated.
1721 2005-02-13  Werner LEMBERG  <wl@gnu.org>
1723         Make groff.texinfo work with texinfo 4.8.
1725         * doc/groff.texinfo (@Var): Use @r and @slanted.
1726         (@defdummy, @Def*): Use @c to avoid empty lines.
1727         (\angles): Replaced with...
1728         (\Langlemacro, \Ranglemacro): New TeX macros.
1729         (@Langlemacro, @Ranglemacro): New variables defined with @set.
1730         (@angles): Use @Langlemacro and @Ranglemacro.
1731         (\LE): Replaced with...
1732         (\LEmacro): New TeX macro.
1733         (@LEmacro): New variable defined with @set.
1734         (@LE): Use @LEmacro.
1735         (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
1736         variables defined with @set.
1737         (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
1738         (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
1739         Update all callers.
1741         Other minor updates.
1743         * doc/texinfo.tex: Update to texinfo version 4.8.
1745         * README.CVS: Updated.
1747 2005-02-09  Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
1749         * doc/groff.texinfo (ms Document Control Registers): Document `HY'
1750         and `FAM' registers.
1752 2005-02-05  Werner LEMBERG  <wl@gnu.org>
1754         * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
1755         tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
1756         Update BSD license.
1758 2005-02-01  Werner LEMBERG  <wl@gnu.org>
1760         * src/roff/groff/groff.man: Add information about paper size.
1762 2005-01-25  Werner LEMBERG  <wl@gnu.org>
1764         * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale.  From
1765         NetBSD bin/29114.
1767 2005-01-22  Ruslan Ermilov  <ru@FreeBSD.org>
1769         * tmac/doc.tmac (Sm): Improved.  It didn't work properly in many
1770         cases.
1771         (Re): Emit a warning if called without `.Rs'.
1772         (doc-finish-reference): Use parameter for decreasing
1773         `doc-reference-count'.
1774         (doc-print-reference): Pass specific count parameters to
1775         `doc-finish-reference'.
1777 2005-01-21  Werner LEMBERG  <wl@gnu.org>
1779         * src/libs/libdriver/input.cpp (delete_current_env, do_file):
1780         Reset pointers to zero after deallocation.  This fixes a crash
1781         if a driver is called with multiple input files.  Reported by
1782         Ken Chilton <ken@chiltonfamily.org>.
1784         * src/devices/grops/grops.man: Add more info on DSC.
1786 2005-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
1788         * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
1789         Remove dead code.
1791 2005-01-17  Werner LEMBERG  <wl@gnu.org>
1793         * src/roff/troff/div.cpp (top_level_diversion::space): Protect
1794         against division by zero.
1796 2005-01-13  Ruslan Ermilov  <ru@FreeBSD.org>
1798         * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
1800 2004-12-19  Werner LEMBERG  <wl@gnu.org>
1802         * install-sh: New version; taken from texinfo CVS.
1804 2004-12-17  Werner LEMBERG  <wl@gnu.org>
1806         * tmac/devtag.tmac: Protect against loading twice.
1807         Protect agains compatibility mode.
1808         * tmac/www.tmac: Protect against loading twice.
1809         Load `devtag.tmac' before switching off compatibility mode.
1810         * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
1812 2004-12-16  Mike Bianchi  <mbianchi@Foveal.com>
1814         * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
1815         * configure: Updated.
1817 2004-12-15  Thomas Klausner  <wiz@netbsd.org>
1819         * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
1821 2004-12-15  Werner LEMBERG  <wl@gnu.org>
1823         Make `test-groff' work again -- previously, wrong paths have been
1824         used.  Additionally, it can now be called from anywhere.
1826         * test-groff.in: Don't test for groff binary.  This is no longer
1827         necessary since the proper paths are determined by `configure'.
1828         (EXEEXT): Removed.  No longer used.
1829         (srcdir, builddir): Use values provided by the configure script.
1830         (XENVIRONMENT): Updated.
1832         * INSTALL: Updated.
1834 2004-12-14  Gaius Mulley  <gaius@glam.ac.uk>
1836         Make .tag and .taga work for all devices (but only grohtml actually
1837         handles them).
1839         * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
1840         (text_glob::is_br, page::add_tag, html_printer::troff_tag,
1841         html_printer::handle_assertion): Don't use hard-coded string
1842         lengths.
1843         (html_printer::lookahead_for_table): Reset `tbl' properly if
1844         necessary.
1845         (html_printer::devtag): New function, handling `devtag'.
1846         (html_printer::special): Don't handle `html-tag'.
1848         * src/include/printer.h, src/libs/libdriver/printer.cpp
1849         (printer::devtag): New virtual function.
1851         * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
1852         `devtag'.
1854         * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
1855         src/roff/troff/node.cpp: s/html-tag/devtag/.
1857         * src/roff/troff/input.cpp (tag, taga): Always call
1858         curenv->add_node.
1860         * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
1861         macros instead of HTML-TAG*.
1863         * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
1865         * tmac/www.tmac: Load devtag.tmac.
1866         Replace HTML-TAG* macros with DEVTAG* macros.
1867         (HTML, HTML-NS): Changed definitions.
1868         (URL): Use HTML-NS.
1869         (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
1871         * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
1873 2004-12-10  Werner LEMBERG  <wl@gnu.org>
1875         Import Mike's `gdiffmk' package.
1877         * contrib/gdiffmk/*: New files.
1878         * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
1879         * NEWS: Updated.
1881 2004-12-08  Werner LEMBERG  <wl@gnu.org>
1883         Import Keith's `pdfmark' package.  Integration is very preliminary.
1885         * contrib/pdfmark/*: New files.
1886         * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
1887         * NEWS: Updated.
1889 2004-12-07  Gaius Mulley  <gaius@glam.ac.uk>
1891         Fix a bug with title handling in HTML.
1893         * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
1894         text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
1895         length.
1896         (html_printer::handle_tag_within_title): New function.
1897         (html_printer::do_title): Use it.
1899         * tmac/s.tmac (TL): Don't set `need_eo_tl'.
1900         (cov*tl-au-print): Emit `.eo.tl' tag.
1902 2004-12-05  Alejandro López-Valencia  <dradul@etb.net.co>
1904         * man/groff_char.man: Minor imrovements.
1906 2004-12-04  Werner LEMBERG  <wl@gnu.org>
1908         * src/preproc/eqn/eqn.man: Revised.
1910 2004-11-25  Werner LEMBERG  <wl@gnu.org>
1912         * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
1913         groff source files.
1914         Include config.h.
1915         Include limits.h.
1916         Remove X_NOT_STDC_ENV conditional.
1917         (Version_string, program_name): New global variables.
1918         (groff_flag): Removed.
1919         (MapFont): Updated.
1920         (usage): Take a stream as argument.
1921         Use `program_name'.
1922         Update all callers.
1923         (main): Add `long_options' array for `--help' and `--version'.
1924         Make `-g' a dummy option.
1925         Handle `-v' and unknown options.
1926         Remove unused `position' variable.
1928         * src/utils/xtotroff/Makefile.sub (MAN1): Define.
1929         (XLIBS): Add LIBGROFF.
1931         * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
1932         New files.
1934         * src/devices/xditview/Dvi.c (default_font_map): Split into three
1935         parts to avoid compiler warning.
1936         (resources): Don't initialize with `default_font_map'.
1937         (ClassInitialize): Initialize first element of `resources'.
1939         * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
1940         Removed.
1942         * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
1943         src/utils/pfbtops/pfbtops.man: Revised, updated.
1945         * configure.ac: Generate src/utils/xtotroff/Makefile.
1946         * configure: Regenerated.
1948 2004-11-24  Werner LEMBERG  <wl@gnu.org>
1950         First fixes to get produce HTML.
1952         * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
1953         attribute.
1955         * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
1956         (HR, LI): Use `HTML</p>', not `HTML'.
1958         * doc/webpage.ms: Minor updates.
1960 2004-11-23  Larry Kollar  <kollar@alltel.net>
1962         Add option -S grohtml to determine the file split level.
1964         * src/devices/grohtml/post-html.cpp (split_level): New global
1965         variable.
1966         (html_header::determine_header_level): Use split_level.
1967         (main): Handle `-S' command line option.
1968         Sort options.
1970         * src/preproc/html/pre-html.cpp (scanArguments): Updated.
1972         * src/devices/grohtml/grohtml.man: Document it.
1973         Sort options.
1975         * NEWS: Document it.
1977 2004-11-23  Y T  <doarhop@hotmail.com>
1979         * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
1980         the volume and number refer entries.
1982 2004-11-22  Werner LEMBERG  <wl@gnu.org>
1984         * src/devices/grohtml/html-table.cpp
1985         (html_table::emit_table_header): Don't emit `cols' attribute which
1986         doesn't exist in HTML 4.0 and is thus invalid.
1988         * NEWS: More minor fixes and updates.
1990 2004-11-18  Werner LEMBERG  <wl@gnu.org>
1992         * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
1993         (HTML</p>): Minor clean-up.
1995         * tmac/groff_www.man: Updated.
1997         * src/devices/grohtml/grohtml.man: Revised and updated.
1999         * NEWS: Updated.
2001 2004-11-18  Gaius Mulley  <gaius@glam.ac.uk>
2003         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2004         Fix space insertion.
2005         (html_printer::do_links): Fix rules generation around automatic
2006         heading links.
2008         * tmac/www.tmac (LK): Use HTML-TAG-NS.
2009         (HR): Simplify.
2010         No longer emit empty line for non-HTML devices.
2012 2004-11-17  Werner LEMBERG  <wl@gnu.org>
2014         * doc/Makefile.in (prepare_examples, webpage.html): Handle
2015         `groff.css'.
2017         * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2018         prepare_examples, webpage.html): Handle `groff.css'.
2020 2004-11-15  Werner LEMBERG  <wl@gnu.org>
2022         * NEWS, README, doc/webpage.ms: Updated.
2024         * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2026 2004-10-30  Gaius Mulley  <gaius@glam.ac.uk>
2028         * src/include/printer.h (printer): Remove virtual function
2029         `round_width'.
2030         Update all source files.
2032         * src/devices/grohtml/post-html.cpp (html_printer): New member
2033         function `round_width'.
2035 2004-10-20  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
2037         * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2038         column key letter suffix.
2040 2004-10-14  Werner LEMBERG  <wl@gnu.org>
2042         * Makefile.in (check): Depend on `site.exp' and `docheck'.
2043         (docheck): Run dejagnu's `runtest' if it exists.
2044         (site.exp): Create dejagnu configuration file.
2046         * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2048 2004-10-13  Werner LEMBERG  <wl@gnu.org>
2050         * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2051         src/devices/grohtml/post-html.cpp (make_val,
2052         html_printer::handle_state_assertion): Fix compiler warnings.
2054         * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2055         (diversion::diversion): Fix order of initializers.
2057         * src/roff/troff/div.h: Don't include `mtsm.h'.
2059         * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2060         (environment::environment): Fix order of initializers.
2061         (environment::make_tag, environment::construct_format_state): Fix
2062         compiler warnings.
2064         * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2065         (input_iterator::input_iterator, macro::macro): Fix order of
2066         initializers.
2068         * src/roff/troff/mtsm.cpp: Include only necessary header files.
2069         (state_set::add, state_set::val): Fix compiler warnings.
2071         * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2072         (bool_value_state, int_value_state, units_value_state,
2073         string_value_state): Remove comma after last element which causes
2074         an error with g++ 3.3.3.
2076         * src/roff/troff/node.cpp: Include `stringclass.h'.
2077         (hline_node::hline_node, vline_node::vline_node,
2078         space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2079         warnings.
2080         (zero_width_node::zero_width_node): Fix order of initializers.
2082         * src/roff/troff/node.h: Don't include `mtsm.h'.
2083         (hmotion_node): Fix compiler warnings.
2085         * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2087 2004-10-12  Gaius Mulley  <gaius@glam.ac.uk>
2089         * doc/groff.css: New file.
2091         * doc/webpage.ms: Use `groff.css'.
2092         Other small fixes.
2094         * tmac/an-old.tmac (need_eo_h): New number register.
2095         (TH): Emit `.eo.tl' tag after title.
2096         (SH): Set `need_eo_h'.
2097         (an-trap): Handle `need_eo_h'.
2098         (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2100         * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2101         (TL): Always start diversion.
2102         Updated.
2103         (@AI): Always call `par@reset'.
2104         (@AB): Update code for -Thtml.
2105         (cov*tl-au-print): Handle -Thtml.
2106         (par@reset): Handle `need_eo_tl', `need_eo_h'.
2107         (@IP): Simplified.
2108         (@IT-html): Removed.
2109         (@SH): Set `need_eo_h' for -Thtml.
2110         (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2111         Set `need_eo_tl'.
2112         (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2113         Set `need_eo_h' for -Thtml.
2114         (@EQ, @EN): Don't handle -Thtml specially.
2115         (par@load-init): Don't handle -Thtml specially.
2117         * tmac/www.tmac (www:paraspace): New macro.
2118         (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2119         (HTML</p>, HTML-TAG-NEXT): New macros.
2120         (HnE): Emit tag `.eo.h' instead of break.
2121         (HR): s/HTML-NS/HTML/.
2122         (www-end-nowhere): End diversion only if `www-html' not set.
2123         Emit `.eo.tl' tag.
2124         (ULS, ULE): s|HTML|HTML</p>|.
2125         (LI): Call `www:paraspace'.
2126         (HEAD): New macro.
2128 2004-10-11  Gaius Mulley  <gaius@glam.ac.uk>
2130         * src/roff/troff/request.h (macro): Make `p' public.
2131         New variable `is_a_diversion'.
2132         New member function `is_diversion'.
2135         * src/devices/grohtml/html.h (simple_output): New member function
2136         `force_nl'.
2138         * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2139         computation of `total'.
2140         (tabs::check_init): New function.
2141         (html_table::emit_table_header): Emit style data.
2142         (html_table::insert_column): Improved.
2144         * src/devices/grohtml/html-table.h: Updated.
2146         * src/devices/grohtml/html-text.cpp (html_text::html_text):
2147         Initialize `start_space' with TRUE.
2148         (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2149         cases.
2150         (html_text::flush_text): Set `start_space' flag.
2151         (html_text::uses_indent, html_text::remove_para_space,
2152         html_text::get_alignment): New functions.
2153         (html_text::push_para): Updated.
2154         (html_text::do_para): Check for empty argument.
2155         Don't set `space_emitted'.
2156         (html_text::do_space, html_text::emit_space): Updated.
2158         * src/devices/grohtml/html-text.h (tag_definition): New variable
2159         `really_issued'.
2160         (html_text): New member function `uses_indent', `remove_para_space',
2161         `get_alignment'.
2163         * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2164         function.
2165         (simple_output:nl): Always emit `\n'.
2167         * src/devices/grohtml/post-html.cpp: Include `string.h'.
2168         (BASE_POINT_SIZE): Removed.
2169         (base_point_size, head_info): New global variables.
2170         (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2171         `is_eo_h'.
2172         (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2173         tags, respectively.
2174         (page::add_and_encode): Pass additional parameter for tag flag.
2175         (assert_pos): New structure.
2176         (assert_state): New class.
2177         (html_printer): Remove `indentation', `prev_indent'.
2178         Add variables `troff_indent', `device_indent', `temp_indent'.
2179         Add variables `seen_indent', `next_indent', `seen_pageoffset',
2180         `next_pageoffset', `seen_linelenght', `next_linelength',
2181         `seen_center', `next_center', `seen_space', `seen_break', `as'.
2182         Add member functions `do_check_center', `do_space', `do_head',
2183         `get_troff_indent', `restore_troff_indent', `handle_assertion',
2184         `handle_state_assertion', `do_end_para', `set_char_and_width'.
2185         Change argument to `do_fill' to `char *'.
2186         Update constructor.
2187         (html_printer::emit_raw): Call `shutdown_table'.
2188         Use new functions.
2189         (html_printer::do_center): Simplified.
2190         (html_printer::do_title): Improved.
2191         (html_printer::write_header): Emit one more newline.
2192         Use new functions.
2193         (html_printer::do_heading, html_printer::do_indent,
2194         html_printer::do_eol, html_printer::do_tab_ts,
2195         html_printer::do_tab, html_printer::do_tab0,
2196         html_printer::calc_po_in, html_printer::next_horiz_pos,
2197         html_printer::remove_courier_tabs,
2198         html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2199         Updated.
2200         (html_printer::do_linelength, html_printer::do_pageoffset,
2201         html_printer::do_indentation, html_printer::do_tempindent,
2202         html_printer::do_tab_te): Simplified.
2203         (html_printer::do_pointsize): Check whether point size is really
2204         associated a `.tl' tag.
2205         (html_printer::do_break): Rewritten.
2206         (html_printer::troff_tag): Improved.
2207         (html_printer::flush_globs): Updated.
2208         (html_printer::lookahead_for_tables): Handle `is_br'.
2209         Use new functions.
2210         (html_printer::set_char): Check `sbuf_style.f'.
2211         (html_printer::write_navigation): Use string comparison.
2212         (html_printer::~html_printer): Emit `head_info'.
2213         (html_printer::special): Rewritten.
2214         (get_str, make_val): New functions.
2215         (main): New option `s' to set the base point size.
2217         * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2219 2004-10-10  Gaius Mulley  <gaius@glam.ac.uk>
2221         * src/roff/troff/node.cpp: New extern `debug_state'.
2222         Include `stringclass.h' and `mtsm.h'.
2223         Implement new classes and class members from `node.h'.
2224         (real_output_file): Make `fp' public.
2225         (troff_output_file): New variables `cur_div_level' and `tag_list'.
2226         Update constructors.
2227         (troff_output_file::really_print_line): Check whether we should push
2228         the current troff state and use the state at the start of the
2229         invocation of this diversion.
2230         (troff_output_file::add_to_tag_list): New member function.
2231         (node::add_char): Handle `glyph_comp_np'.
2233         * src/roff/troff/node.h: Include `mtsm.h'.
2234         (node): New variables `state', `push_state', `div_nest_level',
2235         `is_special'.  Update constructors, all descendants.
2236         Pass additional argument to `add_char' member function.
2237         New virtual member functions `is_tag', `debug_node',
2238         `debug_node_list'.  Update all descendants.
2239         (tag_node): New class for handling tags.
2240         (output_file): Add variable `state'.
2242 2004-10-09  Gaius Mulley  <gaius@glam.ac.uk>
2244         * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2245         providing a minimal troff state machine to emit meta tags for the
2246         post-grohtml device driver.
2248         * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2249         files.
2251 2004-10-09  Werner LEMBERG  <wl@gnu.org>
2253         * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2255 2004-10-06  Gaius Mulley  <gaius@glam.ac.uk>
2257         * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2259         * src/roff/troff/div.h: Include `mtsm.h'.
2260         (diversion): New variables `any_chars_added', `needs_push',
2261         `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2262         `saved_suppress_next_eol', `modified_tag'.
2263         New virtual member function `is_diversion'.  Update all descendants.
2265         * src/roff/troff/div.cpp (diversion::diversion,
2266         macro_diversion::macro_diversion): Updated.
2267         (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2268         `suppress_next_eol'.
2269         (top_level_diversion::space): Handle `curenv->seen_space'.
2270         (page_offset): Update tag handling.
2271         (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2273         * src/roff/troff/env.h (environment): Make `tabs' public.
2274         Remove `ignore_next_eol', `emitted_node'.
2275         Update `output_line', `output'.
2276         New variables `seen_space', `seen_eol', `suppress_next_eol',
2277         `seen_break'.
2278         New member functions `construct_state', `make_tag',
2279         `construct_format_state, `construct_new_line_state,
2280         `dump_troff_state'.
2281         Remove `add_html_tag', `make_html_tag'.
2283         * src/roff/troff/env.cpp: New externs `suppress_push',
2284         `get_diversion_state', `global_diverted_space'.
2285         (pending_output_line): New variable `was_centered'.
2286         Update constructor and all callers.
2287         (pending_output_line::output): Call `curenv->construct_format_state'.
2288         (environment::environment, environment::copy): Updated.
2289         (environment::output): Handle `was_centered'.
2290         (environment::add_char): Handle construct and diversion state.
2291         (environment::add_node): Handle construct state.
2292         (environment::newline): Handle `was_centered'.
2293         (environment::output_line): Updated.
2294         (environment::possibly_break_line): Updated.
2295         Update tag handling.
2296         (environment::add_html_tag): Replaced with...
2297         (environment::make_tag): New function.
2298         (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2299         (environment::dump_troff_state): New debugging function.
2300         (environment::construct_state, environment::construct_format_state,
2301         environment::construct_new_line_state): New functions.
2302         (environment::do_break): Updated.
2303         Handle `global_diverted_space'.
2304         (environment::handle_tag): Update tag handling.
2305         (point_size, fill, do_break_request): Don't call `add_html_tag'.
2306         (no_fill): Don't call `add_html_tag'.
2307         Set `suppress_next_eol'.
2308         (center, right_justify, line_length, indent, temporary_indent,
2309         set_tabs):
2310         Update tag handling.
2312         * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2313         (input_iterator): New variables `is_diversion', `diversion_state'.
2314         Update constructors.
2315         (input_stack): New member functions `get_div_level',
2316         `get_diversion_state', `check_end_diversion'.
2317         New variables `div_level', `diversion_state'.  Initialize them.
2318         (suppress_push, global_diverted_space): New global variables.
2319         (input_stack::finish_get, input_stack::finish_peek,
2320         input_stack::remove_boundary, input_stack::end_file,
2321         input_stack::clear, input_stack::pop_macro): Call
2322         `check_end_diversion'.
2323         (input_stack::push): Handle `div_level' and `diversion_state'.
2324         (get_diversion_state): New function.
2325         (diverted_space_node::reread): Handle `global_diverted_space'.
2326         (macro::macro): Update constructors.
2327         (macro::is_diversion): New function.
2328         (macro::operator=): Set `is_a_diversion'.
2329         (string_iterator): New member function `is_diversion'.
2330         (string_iterator::string_iterator): Update constructors.
2331         (string_iterator::fill): Set `div_nest_level'.
2332         (macro_iterator): New member function `is_diversion'.
2333         (do_if_request): Handle `suppress_push'.
2334         (tag, taga): New functions.
2335         (init_input_requests): Add `tag' and `taga' requests.
2337 2004-10-05  Gaius Mulley  <gaius@glam.ac.uk>
2339         * src/include/font.h (font): New member function
2340         `get_image_generator'.
2341         New variables `unscaled_charwidths' and `image_generator'.
2343         * src/libs/libgroff/font.cpp (font::get_width): Always return the
2344         character's unscaled width if `font::unscaled_charwidths' is set.
2345         (font::get_image_generator): New function.
2346         (font::load_desc): Check the `unscaled_charwidths' and
2347         `image_generator' keywords.
2349         * src/libs/libgroff/fontfile.cpp: Initialize
2350         `font::unscaled_charwidths' and `font::image_generator'.
2352         * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2354         * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2356         * man/groff_font.man: Document `unscaled_charwidths' and
2357         `image_generator'.
2359         * src/preproc/html/pre-html.cpp: Include `device.h'.
2360         (image_gen): New global variable.
2361         (imageList::createPage): Use `image_gen'.
2362         (main): Use `image_generator' keyword.
2364 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
2366         * tmac/html.tmac: Handle \[sqrtex].
2368 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
2370         * src/include/printer.h (printer): New virtual method `round_width'.
2372         * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2373         src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2374         src/devices/grotty/tty.cpp (printer::round_width): New function
2375         member.
2377         * src/devices/grohtml/post-html.cpp (printer::round_width): New
2378         function member.
2379         (html_printer::set_numbered_char): Use it.
2381 2004-10-03  Gaius Mulley  <gaius@glam.ac.uk>
2383         * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2385         * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2387         * configure: Regenerated.
2389         * Makefile.in (GHOSTSCRIPT): New variable.
2390         (MDEFINES): Add GHOSTSCRIPT.
2392 2004-10-03  Werner LEMBERG  <wl@gnu.org>
2394         * INSTALL.gen: Updated (taken from texinfo CVS).
2396 2004-09-28  Werner LEMBERG  <wl@gnu.org>
2398         * NEWS: Updated.
2400 2004-09-28  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
2402         * tmac/groff_www.man: Revised and updated.
2404 2004-09-26  Werner LEMBERG  <wl@gnu.org>
2406         Fix \$@ and \$* to handle any number of arguments.
2408         * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
2409         characters.
2411         * src/roff/troff/input.cpp (input_iterator::internal_level):
2412         Removed.
2413         (input_stack): New member functions `increase_level' and
2414         `decrease_level'.
2415         (input_stack::get_level): Don't use `internal_level'.
2416         (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
2417         (end_quote_iterator): Completely removed.
2418         (interpolate_arg): Build string for \$@ and \$* which is then
2419         pushed onto the input stack.
2421 2004-09-23  Keith Marshall  <keith.d.marshall@ntlworld.com>
2423         * tmac/groff_ms.man, doc/groff.texinfo: Document changes from
2424         2004-09-19.
2426 2004-09-23  Werner LEMBERG  <wl@gnu.org>
2428         * tmac/an-old.tmac (ne): Using default scaling operator.
2430 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
2432         This change implements the following features:
2434         PORPHANS
2435           New numeric register: Defines number of lines following LP, PP,
2436           QP, IP or XP, which must be kept together, before any automatic
2437           page break.  If insufficient space remains on the current page, a
2438           page break is forced before the new paragraph begins.
2440         HORPHANS
2441           New numeric register: Sets number of lines of following paragraph
2442           which must be kept with a heading, defined by NH or SH, before any
2443           automatic page break.  If insufficient space remains on the
2444           current page, a page break is forced before the heading.
2446         GROWPS
2447           (Thanks to Joerg van den Hoff, for this idea).
2449           New numeric register: Sets the first level of heading (set with
2450           NH), which will keep the same point size as body text; e.g. if
2451           GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
2452           point size specified by \n[PS], but .NH 2 and .NH 1 will have
2453           progressively larger point sizes, determined by \n[PSINCR] (see
2454           below).
2456         PSINCR
2457           New numeric register: Sets the point size increment for each level
2458           of heading, (set with NH), below the threshold level set by
2459           GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
2460           then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
2461           and all other levels will remain at 10pt, (because \n[PS] = 10).
2463         SH
2464           Existing macro now accepts a numeric argument, to make heading
2465           size match that of NH with same argument value, when the
2466           GROWPS/PSINCR feature is enabled.
2468         SN-DOT
2469           New string, set by NH macro, replaces the existing (undocumented)
2470           use of SN, to represent the assigned section number.
2472         SN-NO-DOT
2473           New string, set by NH macro, represents the assigned section
2474           number, but omits the terminal period (periods at intermediate
2475           levels are retained).
2477         SN
2478           String set by NH macro, originally undocumented, now implemented
2479           as an alias for SN-DOT (which reproduces original behaviour).
2481         * tmac/s.tmac (PORPHANS): New register.
2482         (par*start): Use it.
2483         (HORPHANS, GROWPS, PSINCR): New registers.
2484         (SH-NO-TAG, @SH): Use them.
2485         (@NH): Improved.
2487 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
2489         * NEWS, doc/groff.texinfo, tmac/groff_ms.man: Document the deletion
2490         of `Ds' and `De' macros.
2492 2004-09-10  Werner LEMBERG  <wl@gnu.org>
2494         In tbl, handle \a as an interpreted leader character if in
2495         compatibility mode.
2497         * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
2498         LEADER_CHAR): New macros.
2499         (compatible_flag): New declaration.
2501         * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
2502         LEADER_3, and LEADER_4 to `state'.
2503         (table_input::get): Handle `\a'.
2505         * src/preproc/tbl/table.cpp (PREFIX): Removed.
2506         (LEADER_REG): New macro.
2507         (table::init_output): Define LEADER_REG string register if in
2508         compatibility mode.
2510         * src/preproc/tbl/tbl.man: Document it.
2512 2004-08-18  Werner LEMBERG  <wl@gnu.org>
2514         * tmac/doc.tmac (An): Fix error message.
2516 2004-08-06  Werner LEMBERG  <wl@gnu.org>
2518         * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
2519         file can't be opened.  UNIX tbl has the same behaviour.
2521 2004-08-05  Y T  <doarhop@hotmail.com>
2523         * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
2524         (DBRead): If in compatibility mode, take into account the text
2525         when computing figure boundaries.
2527 2004-08-05  Werner LEMBERG  <wl@gnu.org>
2529         * src/preproc/soelim/soelim.man: Improved.  Based on suggestions
2530         from Tadziu Hoffmann.
2532 2004-08-03  Werner LEMBERG  <wl@gnu.org>
2534         * doc/meref.me: Document `_M' register.
2536 2004-08-03  Martin Husemann  <martin@duskware.de>
2538         Make hpftodit work correctly on big-endian systems.
2540         * src/utils/hpftodit/hpftodit.cpp (File): New method
2541         `get_uint32(char *)'.
2542         (entry): New member `orig_value'.
2543         (read_tags): Use new method.
2544         (output_font_name, read_and_output_pcltypeface, dump_ascii):
2545         Updated.
2547 2004-08-01  Werner LEMBERG  <wl@gnu.org>
2549         * tmac/s.tmac: Undo change 2003-06-29.  The proper macro definitions
2550         are already in X11's `macros.t' file.
2552 2004-08-01  Jeff Conrad  <jeff_conrad@msn.com>
2554         * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
2555         Fix casting bug.
2556         (read_and_output_pcltypeface): Handle strings with length <= 4.
2558 2004-07-27  Egil Kvaleberg  <egil@kvaleberg.no>
2560         * tmac/s.tmac (pg@top): Don't save `PO' register.
2561         (pg*end-col, pg*end-page): Directly use `PO' register.
2563 2004-07-27  Werner LEMBERG  <wl@gnu.org>
2565         * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
2567         * src/preproc/refer/refer.cpp (output_references): Check for
2568         empty hash table.
2569         * src/preproc/refer/refer.man: Improve documentation of
2570         `bibliography' command.
2572 2004-07-26  Werner LEMBERG  <wl@gnu.org>
2574         Add requests `fcolor' and `gcolor'.
2576         * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
2577         New functions.
2578         (init_env_requests): Add `fcolor' and `gcolor'.
2580         * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
2582         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2583         Document new requests.
2585 2004-07-24  Werner LEMBERG  <wl@gnu.org>
2587         Add support for fractional point sizes in ms macros.  A value for
2588         PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
2589         by 1000.  For example, `.nr PS 10250' sets the font size to 10.25p.
2591         * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
2592         PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
2594         * tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
2596 2004-07-19  Werner LEMBERG  <wl@gnu.org>
2598         * src/preproc/pic/lex.cpp (for_input): Add member `from'.
2599         Update constructor.
2600         (do_for, for_input::get, for_input::peek): Handle negative `by'.
2601         * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
2603 2004-07-08  Thomas Klausner  <wiz@netbsd.org>
2605         * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
2606         * tmac/groff_mdoc.man: Updated.
2608 2004-07-05  Werner LEMBERG  <wl@gnu.org>
2610         * doc/groff.texinfo: Further improve documentation of `hcode'.
2612 2004-07-04  Sang Dae Yu  <sdyu@bh.knu.ac.kr>
2614         Improve appearance of arrows in pic.
2616         * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
2617         arrow head thin.
2618         Use two line segments for drawing non-filled arrow head.
2619         (line_object::print, spline_object::print): Shorten line length to
2620         avoid arrow sticking.
2621         (arc_object::print): Take arrow direction into account.
2623 2004-07-03  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
2625         * tmac/groff_www.man: Update documentation of .MPIMG.
2627 2004-07-03  Werner LEMBERG  <wl@gnu.org>
2629         * tmac/an-old.tmac (RI): Always start with font `R'.
2630         (RI, IR): Properly end with font `R'.
2632 2004-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2634         * man/ditroff.man, man/groff_font.man, man/groff_out.man,
2635         src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
2636         src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
2637         Don't pass more than six arguments to .R, .I, .B, etc., for
2638         compatibility with traditional troff macros.
2640 2004-07-02  Werner LEMBERG  <wl@gnu.org>
2642         * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
2643         s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
2644         Update all users.
2645         (PUSH_COMP_MODE): New internal character constant.
2646         Update all users.
2648         * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
2649         PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
2650         (token::next, macro::append): Handle PUSH_COMP_MODE.
2651         (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
2652         POP_GROFFCOMP after each of the decoded arguments to make them
2653         independent from the compatibility mode status.
2654         (comp_mode): Add `COMP_ENABLE'.
2655         (do_define_string, do_define_macro): Handle COMP_ENABLE.
2656         (define_string, append_string, define_macro, define_indirect_macro,
2657         append_macro, append_indirect_macro): Handle `compatible_flag'.
2658         (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
2660         * man/groff_diff.man, doc/groff.texinfo: Updated.
2662 2004-07-01  Werner LEMBERG  <wl@gnu.org>
2664         * doc/groff.texinfo: Improve documentation of `hcode'.
2665         Use @documentencoding and convert document to latin-1; to do that
2666         make latin characters active and assign proper macros (within a
2667         @tex...@end tex environment).
2668         * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
2669         * doc/Makefile.sub (groff): Ditto.
2671 2004-06-29  Werner LEMBERG  <wl@gnu.org>
2673         Implement two new conditional operators `F <name>' and `S <name>'
2674         which check whether <name> is a valid font or style, respectively.
2676         * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
2677         (text_file::text_file): Updated.
2678         (text_file::error): Don't emit message if `silent' is set.
2679         (font::load_font): Add optional third argument (which is directly
2680         passed to `load'.
2681         (font::load): Add optional second argument to check the header of
2682         a font only, without emitting warning or error messages.
2683         * src/include/font.h (font): Updated.
2685         * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
2686         conditionals.
2687         * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
2688         fourth argument to check a font without mounting.
2689         (check_font, check_style): New functions.
2690         * src/roff/troff/node.h: Updated.
2692         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2693         Updated.
2695 2004-06-27  Werner LEMBERG  <wl@gnu.org>
2697         Implement new string-valued register `.sty' to return the current
2698         style name.
2700         * env.cpp (environment::get_style_name_string): New function.
2701         (init_env_requests): Add `.sty' register.
2702         * env.h (environment): Updated.
2703         * node.cpp (font_info): Make `get_style_name' a friend.
2704         (get_style_name): New function.
2705         * node.h: Updated.
2707         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2708         Updated.
2710 2004-06-15  Werner LEMBERG  <wl@gnu.org>
2712         * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
2713         `nospaces' option.
2715 2004-06-10  Colin Percival  <colin.percival@wadham.ox.ac.uk>
2717         * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
2718         and \n[mo] to avoid dependency on current date.
2720 2004-06-08  Werner LEMBERG  <wl@gnu.org>
2722         * Makefile.sub (install_data): New target.
2724 2004-06-04  Werner LEMBERG  <wl@gnu.org>
2726         * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
2728 2004-06-03  Werner LEMBERG  <wl@gnu.org>
2730         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
2731         order of libraries.
2732         (install_data): Add $(srcdir).
2734         * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
2735         libraries.
2737 2004-06-02  Werner LEMBERG  <wl@gnu.org>
2739         * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
2740         Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
2741         Add test for Xmu library.
2742         (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2743         GROFF_APPRESDIR_DEFAULT): New macros.
2745         * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2746         and GROFF_APPRESDIR_DEFAULT.
2748         * configure: Regenerated.
2750         * Makefile.in (appresdir): New variable.
2751         (MDEFINES): Add appresdir.
2753         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
2754         -Xt.
2755         (install_data, uninstall_sub): New targets to handle GXditview.ad.
2757         * src/utils/indxbib/Makefiles.ub (install_data): Depend on
2758         `$(srcdir)/eign', not `eign'.
2760         * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
2762         * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
2763         src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
2764         Protect (g)xditview with `\%' to avoid hyphenation.
2765         Other minor formatting.
2767 2004-06-01  Werner LEMBERG  <wl@gnu.org>
2769         Integrate gxditview into groff's standard directory hierarchy.
2771         * src/xditview/*: Moved to ...
2772         * src/devices/xditview/*: Here.
2773         Moved DviChar.h and XFontName.h to src/include.
2774         Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
2775         Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
2776         Moved xtotroff.c to new directory src/utils/xtotroff.
2777         Provide proper Makefile.sub files (reusing the stuff from
2778         Imakefile.in).
2779         DESC renamed to DESC.in.
2780         Removed GXDitview-ad.h, INSTALL, Imakefile.in.
2781         Converted everything from K&R to ANSI C.
2782         Decorated with const where appropriate.
2783         Cast string constants with `String' and `char *' where appropriate.
2784         Made it compile with C++ (used as a C compiler).
2785         Removed other minor compiler warnings.
2787         * src/devices/xditview/device.c: Include config.h, string.h, and
2788         defs.h.
2789         Don't declare `exit', `strtok', `strchr', and `getenv'.
2790         (FONTPATH): Remove.
2792         * src/devices/xditview/font.c: Don't declare `XParseFontName' and
2793         `XFormatFontName'.
2795         * src/devices/xditview/xditview.c: Include config.h.
2796         Include stdio.h earlier.
2797         Protect declaration of `popen' and `pclose' with
2798         NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
2799         Replace `caddr_t' with `XtPointer'.
2800         (MakePromptFunc): New typedef.
2801         (DoPrint): Use RETSIGTYPE.
2802         (promptfunction): Change type to MakePromptFunc.
2803         (MakePrompt): Use MakePromptFunc for third argument.
2804         (xmalloc): Removed.
2806         * src/devices/xditview/ad2c: Add casts to `String'.
2808         * src/include/XFontName.h (XFontNameString): Don't use array
2809         notation.
2810         Add prototypes for `XParseFontName', `XFormatFontName',
2811         `XCompareFontName', and `XCopyFontName'.
2813         * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
2814         `XFontName.h'.
2816         * src/utils/xtotroff/xtotroff.c: Include getopt.h.
2817         Don't declare `XParseFontName' and `XFormatFontName'.
2818         (xmalloc): Removed.
2819         (main): Remove `optind' and `optarg'.
2821         * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
2822         (to select programs which need X).
2823         Make XDEVIDIRS depend on `FORCE'.
2824         (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
2825         X support).
2826         (MDEFINES): Updated.
2827         (LIBDIRS): Use XLIBDIRS.
2828         (CPROGDIRS): Use XPROGDIRS.
2829         (DEVDIRS): Remove font directories for gxditview.
2830         (ALLDIRS, DISTDIRS): Add XDEVDIRS.
2831         (EXTRADIRS): Remove src/xditview.
2833         * Makefile.sub (DISCLEANFILES): Updated.
2835         * Makefile.comm (LIBXUTIL): New variable.
2836         (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
2837         (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
2839         * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
2841         * aclocal.m4 (GROFF_X11): New function.
2843         * configure.ac: Call GROFF_X11.
2844         Don't create src/xditview/Imakefile.
2845         Don't emit notice how to build gxditview.
2847         * configure: Regenerated.
2849         * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
2851 2004-05-28  Akihiro Sagawa  <sagawa@sohgoh.net>
2853         * Makefile.in (CPPFLAGS): Define.
2854         (MDEFINES): Add CPPFLAGS.
2856 2004-05-27  Werner LEMBERG  <wl@gnu.org>
2858         * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
2860 2004-05-26  Niklas Edmundsson  <nikke@acc.umu.se>
2862         Fix problems with `friend name injections'.
2864         * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
2865         make_script_box), src/roff/troff/div.h (end_diversions),
2866         src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
2867         change 2004-04-08.
2869 2004-05-25  Bernd Warken  <bwarken@mayn.de>
2871         * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
2873 2004-05-25  Werner LEMBERG  <wl@gnu.org>
2875         * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
2876         src/libs/libgroff/color.cpp: Include lib.h.
2878 2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
2880         * PROBLEMS: Update documentation for problems with Sun C++ 5.0
2881         through Forte 6u1, and for how to get GNU make on Solaris.
2883 2004-05-24  Werner LEMBERG  <wl@gnu.org>
2885         * PROBLEMS: Document problems with gcc 3.4.0 on Sun.  Reported
2886         by Paul Eggert.
2888 2004-05-15  Keith Marshall  <keith.d.marshall@ntlworld.com>
2890         * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
2891         rule.
2893 2004-05-14  Werner LEMBERG  <wl@gnu.org>
2895         * REVISION: Set to 2.
2897         * aclocal.m4 (GROFF_STDINT_H): Removed.
2898         (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
2900         * configure.ac: Updated.
2901         * configure, src/include/config.hin: Regenerated.
2903         * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
2904         inttypes.h conditionally.
2906 2004-05-13  Werner LEMBERG  <wl@gnu.org>
2908 Version 1.19.1 released
2909 =======================
2911 2004-05-10  Stephen Gildea  <http://www.gildea.com/stephen>
2913         * src/preproc/refer/label.y (same_author_last_name,
2914         same_author_name): Handle empty sort keys.
2916 2004-05-10  Werner LEMBERG  <wl@gnu.org>
2918         * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
2919         tmac/TODO: Updated.
2921         * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
2922         doc-str-Lb-librt): Reset font.
2923         (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
2924         Provide `doc-str-Lb' to reset font.
2925         * tmac/groff_mdoc.man: Updated.
2927 2004-05-08  Jan Schaumann  <jschauma@netmeister.org>
2929         * src/preproc/html/pre-html.cpp (make_message): Make it work for
2930         snprintf versions which don't conform to ANSI C 99 (this is,
2931         counting the string's trailing null byte in the return value).
2933 2004-05-07  Keith Marshall  <keith.d.marshall@ntlworld.com>
2935         * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
2936         that all implementations of sprintf handle null pointers correctly.
2938 2004-05-04  Werner LEMBERG  <wl@gnu.org>
2940         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2941         Document `.U' register.
2943         * src/roff/troff/env.cpp (environment::mark_last_line)
2944         [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
2946 2004-05-04  Larry Kollar  <kollar@alltel.net>
2948         New read-only register `.U'; it returns 1 in safer mode and 0
2949         otherwise.
2951         * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
2952         register.
2954 2004-05-03  Werner LEMBERG  <wl@gnu.org>
2956         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
2958 2004-04-17  Werner LEMBERG  <wl@gnu.org>
2960         * src/include/font.h (font): Use `int' for ch_index.
2961         * src/libs/libgroff/font.cpp (font::alloc_ch_index,
2962         font::compact): Updated.
2964         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
2965         warnings.
2967         * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
2968         (hyphen_word): Fix compiler warnings.
2969         * src/roff/troff/input.cpp (get_char_for_escape_name): Return
2970         `char'.
2971         Update all callers.
2972         (get_delim_number, get_line_arg): Change second argument type to
2973         `unsigned char'.
2974         (macro_header::copy, token::next, do_define_string,
2975         do_define_character, substring_request, asciify_macro,
2976         unformat_macro, read_size, non_interpreted_node::interpret,
2977         while_request, main: Fix compiler warnings.
2978         (read_color_draw_node): Initialize `col'.
2980         * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
2981         `start_col' and `end_col' of type `int'.
2982         (vertical_rule): Make `col' of type `int'.
2984         * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
2985         for EOF.
2987         * src/preproc/refer/label.y (uppercase_array, lowercase_array):
2988         New arrays.
2989         (format_serial): Use them to remove dependency on ASCII.
2991         * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
2992         compiler warning.
2993         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
2994         Ditto.
2996         * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
2997         compiler warnings.
2998         (glyph): Change type of `hpos' to `int'.
3000         * src/devices/lbp/lbp.cpp (strsep): Removed.  Unused.
3001         * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3003         * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3005         * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3007 2004-04-16  Werner LEMBERG  <wl@gnu.org>
3009         * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3010         src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3011         src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3012         `double' instead of `float' everywhere.
3013         * src/preproc/grn/main.cpp: Use `double' instead of `float'
3014         everywhere.
3015         (main): Add return value.
3016         * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3017         everywhere.
3018         Update all user functions.
3020         * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3021         src/preproc/eqn/box.h, src/preproc/pic/object.h,
3022         src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3023         src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3024         src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3025         src/roff/troff/input.cpp, src/roff/troff/request.h,
3026         src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3027         declarations.
3029         * src/utils/indxbib/signal.c: Include stdlib.h.
3031 2004-04-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
3033         * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3034         before the first page.
3036 2004-04-14  Thomas Klausner  <wiz@netbsd.org>
3038         * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3039         (doc-operating-system-*): Updated.
3040         * tmac/doc-syms (doc-str-St-*): Various small fixes.
3041         (doc-str-Lb-*): Add more library names.
3043 2004-04-10  Art Haas  <ahaas@airmail.net>
3045         * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3046         use anonymous type.
3048 2004-04-09  Art Haas  <ahaas@airmail.net>
3050         * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3052 2004-04-09  Keith Marshall  <keith.d.marshall@ntlworld.com>
3054         * arch/misc/shdeps.sh: Generate better comment for sed script.
3056 2004-04-08  Art Haas  <ahaas@airmail.net>
3058         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3059         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3060         src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3061         src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3062         (polyfill), src/preproc/grn/main.cpp (polyfill),
3063         src/preproc/refer/command.cpp (command_table),
3064         src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3065         gcc 3.5 doesn't like).
3067 2004-04-08  Werner LEMBERG  <wl@gnu.org>
3069         Removing many compiler warnings.  groff should now compile with
3070         a C++ compiler used for C files also.  [Simple variable renamings
3071         to avoid shadowing aren't logged in detail.]
3073         * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3074         (draw_dvi_printer::draw) ['c']: Enclose in block.
3076         * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3077         (page::add_line): Fix typos.
3078         * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3080         * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3081         Some local variable renamings.
3082         * src/devices/grolbp/lbp.h: Some local variable renamings.
3084         * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3085         variable renamings.
3087         * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3088         Remove redundant local variable declaration.
3089         * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3090         Don't use `caddr_t' but `void *'.
3091         Enclose functions with `extern "C"' for C++.
3093         * src/libs/libdriver/input.cpp (remember_filename,
3094         remember_source_filename): Use cast for string constant.
3096         * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3097         src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3098         src/libs/libgroff/geometry.cpp: Some local variable renamings.
3099         * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3100         style.
3101         Enclose functions with `extern "C"' for C++.
3102         * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3103         (needs_quoting): Return `int'.
3104         (quote_arg): Add proper casts to malloc and realloc.
3105         * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3106         various MS Windows environments.
3107         (spawnvp_wrapper): Add proper cast to malloc.
3109         * src/preproc/eqn/box.h: Remove redundant declarations of
3110         `make_script_box', `make_mark_box' and `make_lineup_box'.
3111         * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3112         * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3113         variable renamings.
3115         * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3116         * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3117         (dx, dy): Renamed functions to...
3118         (deltax, deltay): This.
3119         * src/preproc/grn/main.cpp: Some local variable renamings.
3120         (deffont): Add `const'.
3121         (initpic, conv): Use cast for string constant.
3123         * src/preproc/html/pre-html.cpp: Some local variable renamings.
3124         (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3125         (char_buffer::run_output_filter): Second argument is unused.
3126         * src/preproc/html/pushback.cpp: Some local variable renamings.
3128         * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3129         * src/preproc/pic/object.cpp: Some local variable renamings.
3131         * src/preproc/refer/label.y (lookup_label): Remove redundant
3132         declaration of local variable.
3134         * src/preproc/soelim.cpp: Remove redundant declaration of
3135         `interpret_lf_args'.
3137         * src/preproc/tbl/main.cpp: Some local variable renamings.
3139         * src/roff/groff/groff.cpp (main): Use cast for string constant.
3140         * src/roff/groff/pipeline.c: Enclose declarations of `error',
3141         `c_fatal', and `i_to_a' with `extern "C"' for C++.
3142         Don't use C++-style comments.
3144         * src/roff/troff/env.h: Remove redundant declaration of `title'.
3145         * src/roff/troff/node.h, src/roff/troff/env.cpp,
3146         src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3147         renamings.
3148         * src/roff/troff/div.h: Remove redundant declaration of
3149         `end_diversions'.
3150         * src/roff/troff/troff.h: Remove redundant declaration of
3151         `cleanup_and_exit'
3152         * src/roff/troff/input.cpp: Remove redundant declaration of
3153         `handle_first_page_transition' and `process_input_stack'.
3155         * src/utils/hpftodit.cpp: Some local variable renamings.
3157         * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3158         for C++.
3159         Don't define RETSIGTYPE.
3160         * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3162         * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3163         (error): Use `const' in argument.
3164         (main): Remove redundant declaration of `optind'.
3165         Move declaration of `Version_string' to top-level.
3167         * PROBLEMS: Document difficulties compiling signal.c if a C++
3168         compiler is used for C.
3170 2004-04-07  Werner LEMBERG  <wl@gnu.org>
3172         * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3174 2004-04-06  Keith Marshall  <keith.d.marshall@ntlworld.com>
3176         Make scripts like nroff.sh and neqn.sh portable across various
3177         (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3178         non-POSIX path separators.  The idea is to extend those scripts to
3179         decide at run-time (of the script) which path separator to use.
3181         * arch/misc/Makefile.sub: New file.
3182         * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3183         This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3184         a proper definition of the variable `GROFF_RUNTIME'.
3186         * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3187         (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3188         (PROGDEPDIRS): New variable.
3189         `FORCE' it.
3190         (PROGDIRS): Add PROGDEPDIRS.
3192         * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3193         Don't substitute @SEP@ and @BINDIR@.
3194         * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3195         (PATH): Use GROFF_RUNTIME.
3197         * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3198         Don't substitute @SEP@ and @BINDIR@.
3199         * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3200         (PATH): Use GROFF_RUNTIME.
3202 2004-04-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3204         * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3205         Cygwin which doesn't handle stderr correctly.
3207 2004-03-08  Werner LEMBERG  <wl@gnu.org>
3209         * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3210         against empty argument.  Problem reported by <cgd@broadcom.com>.
3212 2004-03-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3214         * Makefile.in (SEP): Replaced with...
3215         (RT_SEP, SH_SEP): Separators for the target platform's native path
3216         separator and the build environment, respectively.
3217         (fontpath, tmacpath): Use RT_SEP.
3218         (MDEFINES): Updated.
3220         * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3221         * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3222         * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3223         * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3225 2004-03-05  Werner LEMBERG  <wl@gnu.org>
3227         * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200.  This helps to
3228         reduce alignment problems with newer printers which use built-in
3229         TrueType fonts (instead of the older Intellifonts).  The ideal
3230         solution is to provide a second set of groff metric files, but this
3231         is extremely time-consuming to produce, given that HP's metric
3232         files are very rudimentary.
3234 2004-03-01  Werner LEMBERG  <wl@gnu.org>
3236         * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3237         s/operand/argument/ in error message.
3239 2004-03-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
3241         * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3242         is in use.
3244 2004-03-01  Antti Kantee  <pooka@netbsd.org>
3246         * tmac/s.tmac (XE): Fix error message.
3248 2004-02-27  Jeff Conrad  <jeff_conrad@msn.com>
3250         * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3251         New macros.
3253         * src/roff/groff/pipeline.c: Declare strcasecmp.
3254         (run_pipeline) [_WIN32]: Use function name variants which don't
3255         start with `_'.
3256         Fix stream handling.
3258 2004-02-27  Keith Marshall  <keith.d.marshall@ntlworld.com>
3260         * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3261         Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3262         for platforms which use the native Win32 runtime libraries.
3263         (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3265         * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3266         QUOTE_ARG_REALLOC_ERROR): Fix string.
3268         * src/preproc/html/pre-html.cpp: Remove declaration of
3269         `spawnvp_wrapper'.
3270         Don't use __MINGW32__.
3271         s/DEBUG_FILE/DEBUG_FILE_DIR/.
3272         (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3273         (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3274         (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3275         calls to `set_redirection' and `WAIT'.
3276         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3277         Fix calls to `set_redirection' and `save_and_redirect'.
3278         (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3279         to `set_redirection' and `save_and_redirect'.
3280         (usage): Fix message.
3281         (makeTempFiles, main): Use `DEBUG_FILE'.
3283 2004-02-21  Werner LEMBERG  <wl@gnu.org>
3285         * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3287 2004-02-21  Keith Marshall  <keith.d.marshall@ntlworld.com>
3289         * src/libs/libgroff/quotearg.c: New file, providing proper argument
3290         quoting for MSVC's spawn* and exec* functions.
3291         * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3292         spawnvp with proper quoting for MSVC.
3294         * src/libs/libgroff/assert.cpp (program_name),
3295         src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3296         * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3298         * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3300         * src/include/error.h (program_name): Declare as `extern "C"'.
3301         * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3303 2004-02-21  Jeff Conrad  <jeff_conrad@msn.com>
3305         * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3306         spawnvp_wrapper.
3307         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3309 2004-02-20  Jeff Conrad  <jeff_conrad@msn.com>
3311         * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3312         variable.
3313         (sbasename) [__MSDOS__ || ...]: New function.
3314         (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3315         generic algorithm.
3316         (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3317         (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3318         of XXX.
3319         Use STDOUT_FILENO instead of hardcoded file handle.
3320         (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3322 2004-02-19  Werner LEMBERG  <wl@gnu.org>
3324         * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3325         avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3327 2004-02-18  Werner LEMBERG  <wl@gnu.org>
3329         * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3330         new font and mapping files.
3332 2004-02-18  Jeff Conrad  <jeff_conrad@msn.com>
3333             Keith Marshall  <keith.d.marshall@ntlworld.com>
3335         * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3336         an input pipe.  This is needed for the MSVC compiler to make troff's
3337         `-o' option work.
3339         * src/roff/troff/div.cpp: Include nonposix.h.
3340         (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3342 2004-02-17  Werner LEMBERG  <wl@gnu.org>
3344         * font/devlj4/generate/special.awk: New script.
3345         * font/devlj4/generate/Makefile (S): Use special.awk.
3346         * font/devlj4/*: Regenerated, including the following new files:
3347         Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3348         MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3349         * NEWS: Document new lj4 fonts and revised hpftodit.
3351 2004-02-17  Paco Andrés Verdú  <pandres@dragonet.es>
3353         * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3355 2004-01-25  Werner LEMBERG  <wl@gnu.org>
3357         * src/libs/libgroff/progname.cpp: Replaced with...
3358         * src/libs/libgroff/progname.c: New file.
3359         * src/libs/libgroff/Makefile.sub: Updated accordingly.
3361 2004-01-17  Werner LEMBERG  <wl@gnu.org>
3363         * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3365 2004-01-16  Jeff Conrad  <jeff_conrad@msn.com>
3367         * font/devlj4/generate/wingdings.map,
3368         font/devlj4/generate/symbol.map: Include unnamed glyphs.
3369         Use groff glyph names where possible.
3370         * src/devices/grolj4/lj4_font.man: Minor updates.
3372 2004-01-13  Werner LEMBERG  <wl@gnu.org>
3374         * tmac/www.tmac (DC): Handle TTY devices.
3376         * doc/webpage.ms: Document viewCVS from ffii.org.
3377         * NEWS, README: Updated.
3379         * src/roff/groff/groff.man: Mention lj4_font man page.
3381         * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3382         variables.
3383         (FONTS): Add SYMBOL and WINGDINGS.
3384         (SYMBOL, WINGDINGS): New targets.
3386 2004-01-13  Jeff Conrad  <jeff_conrad@msn.com>
3388         * src/devices/grolj4/lj4_font.man: New man page.
3389         * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3390         * src/devices/grolj4.man: Mention lj4_font man page.
3392         * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3393         * src/utils/hpftodit/hpftodit.man: Document it.
3394         (CW): New macro.
3395         Remove details about fonts (which are now in lj4_font.man).
3397         * font/devlj4/generate/symbol.map,
3398         font/devlj4/generate/wingdings.map: New files.
3400 2004-01-12  Werner LEMBERG  <wl@gnu.org>
3402         * README: Mention ffii's viewcvs access.
3404 2004-01-09  Werner LEMBERG  <wl@gnu.org>
3406         * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
3408 2004-01-09  Jeff Conrad  <jeff_conrad@msn.com>
3410         Revert most of the change from 2004-01-03 to better control used
3411         symbol sets.
3413         * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
3414         (text_symbol_sets, special_symbol_sets): New arrays.
3415         (symbol_set_table): New global variable.
3416         (read_symbol_sets): Use search order given in the text_symbol_sets
3417         and special_symbol_sets arrays.  If command line flag -a is not
3418         given, search both arrays.
3419         (output_charset): Require x_height_tag only for command line flag -i.
3421 2004-01-06  Werner LEMBERG  <wl@gnu.org>
3423         Implement string-valued registers \n[.m] and \n[.M] to return the
3424         name of the current drawing and background color, respectively.
3426         * src/roff/troff/symbol.h: Moved to...
3427         * src/include/symbol.h: Here.
3428         Small fixes to make it work outside of the `troff' directory.
3429         * src/roff/troff/symbol.cpp: Moved to...
3430         * src/libs/libgroff/symbol.cpp: Here.
3431         Small fixes to make it work outside of the `troff' directory.
3433         * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
3434         (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
3435         Updated.
3437         * src/include/color.h: Include symbol.h.
3438         (color): Add new field `nm'.
3439         * src/libs/libgroff/color.cpp (color::color): Updated.
3441         * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
3442         src/roff/troff/node.cpp, src/roff/troff/number.cpp,
3443         src/roff/troff/reg.cpp: Don't include symbol.h.
3445         * src/roff/troff/env.cpp: Don't include symbol.h.
3446         (environment::get_glyph_color_string,
3447         environment_get_fill_color_string): New member functions.
3448         (init_env_requests): Handle `.m' and `.M' registers.
3449         * src/roff/troff/input.cpp: Don't include symbol.h.
3450         (default_symbol): Moved to symbol.cpp/symbol.h.
3451         (do_glyph_color, do_fill_color, define_color): Pass symbol name
3452         to color constructor.
3453         * src/roff/troff/env.h: Updated.
3455         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3456         Document new registers.
3458 2004-01-05  Werner LEMBERG  <wl@gnu.org>
3460         * src/roff/troff/node.cpp (space_node::get_breakpoints,
3461         space_node::nbreaks): Protect against zero `next' field.
3463 2004-01-03  Jeff Conrad  <jeff_conrad@msn.com>
3465         In hpftodit, use the symbol sets offered in the TFM.
3467         * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
3468         (symbol_set, text_symbol_sets, special_symbol_sets,
3469         symbol_set_table): Removed.
3470         (get_printcode): Removed.
3471         (read_symbol_sets): Initialize `symbol_set' field with
3472         `NO_SYMBOL_SET'.
3473         Simplify code to just use the `kind' value.
3474         (output_charset): Improve output formatting.
3475         (dump_symbols): Simplified.
3477 2004-01-02  Werner LEMBERG  <wl@gnu.org>
3479         * font/devlj4/generate/text.map: Add more MSL numbers.
3481 2004-01-02  Jeff Conrad  <jeff_conrad@msn.com>
3483         * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
3484         (text_symbol_sets): Add more symbol sets.
3485         (debug_flag): New static variable (moved from `main').
3486         (get_printcode, show_symset): New functions.
3487         (main): Remove `debug_flag'.
3488         (output_charset): Use `show_symset'.
3489         (dump_symbols):  Use `show_symset'.
3490         Print symsets for all glyphs.
3491         (read_map): Actually call `unicode_to_ucode_make' but this time
3492         correctly.
3494 2004-01-01  Werner LEMBERG  <wl@gnu.org>
3496         * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
3497         Fix placement of comments.
3499 2004-01-01  Jeff Conrad  <jeff_conrad@msn.com>
3501         * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
3502         option `-d' is given.
3503         (output_charset): Improve warning messages to give more information.
3504         (dump_symbols): Make information more precise.
3505         (usage): Updated.
3506         (read_map): Don't call unicode_to_ucode_name; the glyph names must
3507         appear as-is and shouldn't be decomposed.
3509 2003-12-31  Werner LEMBERG  <wl@gnu.org>
3511         * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
3512         * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
3513         (FONTS): Add TrueType font families Arial and Times New Roman.
3514         (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
3515         * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
3516         `fl'.
3518 2003-12-31  Jeff Conrad  <jeff_conrad@msn.com>
3520         * test-groff.in (SEP): Quote value.
3521         * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
3522         `tem' to `char*' to avoid deallocation of a pointer to a constant
3523         object which some compilers don't like.
3525 2003-12-31  Werner LEMBERG  <wl@gnu.org>
3527         * font/devlj4/generate (text.map, special.map): Rewritten to work
3528         with the new hpftodit version.
3530 2003-12-30  Jeff Conrad  <jeff_conrad@msn.com>
3532         * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
3533         set and 8bit character code for all glyphs also.
3535 2003-12-30  Werner LEMBERG  <wl@gnu.org>
3537         * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
3539 2003-12-29  Werner LEMBERG  <wl@gnu.org>
3541         More fixes for MSVC compiler.
3543         * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
3544         $(SEP).
3546         * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
3547         STDERR_FILENO) [_MSC_VER]: Define conditionally.
3548         (getpid) [_MSC_VER]: Remove.
3549         Include direct.h and process.h conditionally.
3551         * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
3552         parentheses for a_delete.
3554         * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
3556         * test-groff: Replaced with...
3557         * test-groff.in: This new template to handle path separator
3558         properly.
3560         * configure.ac: Check for direct.h and process.h.
3561         Generate test-groff script.
3562         * configure, src/include/config.hin: Regenerated.
3564 2003-12-28  Werner LEMBERG  <wl@gnu.org>
3566         Add integral extension glyph.
3567         Add new option `-x' to afmtodit to suppress use of built-in AGL.
3569         * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
3571         * font/devps/generate/textmap: Provide entry for `integralex' to
3572         override (old) PUA value of the AGL.
3573         * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
3574         * font/devps/*: Regenerated.
3576         * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
3577         * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
3579 2003-12-27  Werner LEMBERG  <wl@gnu.org>
3581         Add forgotten `coproduct' symbol (already available for DVI).
3583         * font/devhtml/R.proto, font/devps/generate/textmap,
3584         font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
3585         src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
3586         U+2210 (\[coproduct]).
3588 2003-12-26  Jeff Conrad  <jeff_conrad@msn.com>
3590         hpftodit has been extended to handle TrueType metric files and
3591         more glyphs.  See hpftodit.man for more details.
3593         * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
3594         ctype.h, and unicode.h.
3595         s/msl/charcode/ everywhere since we now handle Unicode values also.
3596         (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
3597         Use it where appropriate.
3598         (MULTIPLIER): Replaced with...
3599         (multiplier): New global static variable.
3600         (scale): Updated.
3601         (tag_type): Add more TFM tags.
3602         (tag_name): New array.
3603         (ENUM_TYPE, FLOAT_TYPE): Removed.
3604         (BYTE_TYPE): New value assigned.
3605         (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
3606         (text_symbol_sets, special_symbol_sets): Extended to cover more
3607         sets.
3608         (check_type): Add return value.
3609         (check_units): Add parameters to get ppi and upem values.
3610         Handle TrueType TFM data.
3611         (output_font_name): New function.
3612         (output_charset): Add parameter to handle TFM type.
3613         Handle TrueType TFMs also.
3614         (em_fract): New macro.
3615         (dump_tags): Be much more verbose and handle more tags.
3616         (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
3617         (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
3618         functions.
3619         (read_map): Add parameter to handle TFM type.
3620         Handle both MSL and Unicode mappings.
3621         (main): Add two new command line options `-a' and `-q'.
3622         Updated to make use of new functions.
3623         (usage): Updated.
3625         * src/utils/hpftodit/hpuni.cpp: New file.
3627         * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
3628         Updated.
3630 2003-12-25  Werner LEMBERG  <wl@gnu.org>
3632         * src/include/nonposix.h (read) [_MSC_VER]: Define.
3634 2003-12-24  Werner LEMBERG  <wl@gnu.org>
3636         * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
3637         by Michail Vidiassov <master@iaas.msu.ru>.
3639 2003-12-20  Werner LEMBERG  <wl@gnu.org>
3641         * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3642         and u0049_0307.
3643         Add missing latin-2 glyphs.
3644         * font/devutf8/R.proto: Add missing latin-2 glyphs.
3646         * tmac/troffrc: Load `composite.tmac' earlier.
3648         * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
3649         u00{53,73}_0327, and u0049_0307.
3650         * tmac/X.tmac: Add u00{47,67}_0306.
3651         * tmac/tty-char.tmac: Use composite glyph names for readability.
3653         * NEWS: Updated.
3655         * src/include/unicode.h: Remove `extern' keywords.
3657 2003-12-20  Nilgün Belma Bugüner  <nilgun@superonline.com>
3659         * tmac/latin5.tmac: New file.
3661 2003-12-19  Werner LEMBERG  <wl@gnu.org>
3663         Add some glyphs needed for Turkish.
3665         * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3666         and u0049_0307.
3668         * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
3669         * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
3670         u00{53,73}_0327, and u0049_0307.
3672 2003-12-18  Werner LEMBERG  <wl@gnu.org>
3674         * src/devices/grops/ps.cc (ps_output::put_float): Revert change
3675         from 2001-10-04.
3676         Remove trailing zeros.
3678 2003-12-17  Werner LEMBERG  <wl@gnu.org>
3680         Make \? transparent to end-of-sentence recognition.
3682         * src/roff/troff/input.cc (non_interpreted_node): Add
3683         `ends_sentence' member function.
3685 2003-12-16  Werner LEMBERG  <wl@gnu.org>
3687         * doc/groff.texinfo: Document `dt' request correctly.
3688         Other minor typographical improvements.
3690 2003-12-10  Michail Vidiassov  <master@iaas.msu.ru>
3692         * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
3694 2003-12-10  Richard Stallman  <rms@gnu.org>
3696         * LICENSE: Better wording.
3698 2003-12-09  Werner LEMBERG  <wl@gnu.org>
3700         * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
3701         * configure, NEWS: Updated.
3703 2003-12-08  Werner LEMBERG  <wl@gnu.org>
3705         * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
3707 2003-12-07  Bernd Warken  <bwarken@mayn.de>
3709         * LICENSE: Updated.
3711 2003-12-07  Werner LEMBERG  <wl@gnu.org>
3713         * INSTALL: Improved.
3715 2003-12-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3717         Use path separator character of target platform for compiled-in
3718         default paths.
3720         * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
3721         * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
3722         * configure: Regenerated.
3723         * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
3725 2003-12-05  Werner LEMBERG  <wl@gnu.org>
3727         * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
3728         Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
3730 2003-12-04  Bernd Warken  <bwarken@mayn.de>
3732         * LICENSE: New file.
3734 2003-12-03  Werner LEMBERG  <wl@gnu.org>
3736         * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
3737         ligatures present in AFM files since groff currently only
3738         understands some standard ligatures and nothing else.
3740 2003-12-03  Jeff Conrad  <jeff_conrad@msn.com>
3742         * src/roff/groff/groff.cpp (main): Don't run the spooler if
3743         option -v is given.
3745         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
3746         messages.
3747         Close stdout copy.
3748         Don't use Unix wait flags.
3750 2003-12-02  Werner LEMBERG  <wl@gnu.org>
3752         * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
3753         src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
3754         src/roff/troff/uniuni.cpp: Moved to...
3755         * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
3756         src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
3757         src/libs/libgroff/uniuni.cpp: Here.
3759         * src/include/Makefile.sub.old (HDRS),
3760         src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
3761         src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
3763 2003-12-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
3765         * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
3766         `DEBUG_FILE'.
3767         Updated all users.
3769 2003-12-01  Werner LEMBERG  <wl@gnu.org>
3771         * groff.texinfo: Document special behaviour of `.vs 0'.
3772         Improve documentation of `cflags' request.
3773         * NEWS: Updated.
3775 2003-11-29  Werner LEMBERG  <wl@gnu.org>
3777         * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
3778         * font/devlj4/CORONET: Regenerated.
3780 2003-11-24  Werner LEMBERG  <wl@gnu.org>
3782         * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
3783         if processing hyphenation patterns in traditional mode.
3784         Improve error messages.
3786 2003-11-20  Werner LEMBERG  <wl@gnu.org>
3788         * src/roff/troff/node.cpp (troff_output_file::put_char_width,
3789         troff_output_file::put_char): Fix type of local variable `c'.
3791 2003-11-19  Werner LEMBERG  <wl@gnu.org>
3793         * src/roff/groff/pipeline.c (P): Removed.  Updated all function
3794         declarations.
3795         (i_to_a): Removed.  libgroff already provides this function.
3796         (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
3798 2003-11-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
3800         * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
3801         HAVE_DECL_SYS_LIST.
3803 2003-11-17  Werner LEMBERG  <wl@gnu.org>
3805         * COPYING: Use correct version.
3807 2003-11-11  Werner LEMBERG  <wl@gnu.org>
3809         LynxOS 4.0.0 doesn't declare vfprintf.
3811         * configure.ac: Check for vfprintf.
3812         * configure: Regenerated.
3813         * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
3814         * src/include/config.hin: Regenerated.
3816 2003-11-10  Werner LEMBERG  <wl@gnu.org>
3818         LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
3820         * configure.ac: Check for vsnprintf.
3821         * configure: Regenerated.
3822         * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
3823         `HAVE_VSNPRINTF'.
3824         * src/include/config.hin: Regenerated.
3826 2003-11-09  Werner LEMBERG  <wl@gnu.org>
3828         * aclocal.m4: Updated syntax to autoconf 2.59.
3829         (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
3830         Don't check for gsos2.
3831         (GROFF_SRCDIR, GROFF_BUILDDIR): Removed.  autoconf 2.59 provides
3832         working abs_top_srcdir and abs_top_builddir.
3834         * configure.ac: Updated syntax to autoconf 2.59.
3835         Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
3836         Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
3837         * configure: Regenerated.
3839         * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
3840         s/@groff_top_builddir@/@abs_top_builddir@/.
3842         * src/roff/groff/pipeline.c (xstrsignal):
3843         s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
3845 2003-11-07  Werner LEMBERG  <wl@gnu.org>
3847         * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
3848         make start angle smaller than end angle to circumvent a bug in tpic
3849         handling of some versions of dvipdfm (and dvipdfmx).
3851 2003-10-30  Werner LEMBERG  <wl@gnu.org>
3853         * src/devices/grops/grops.man: Improve section on creating EPS.
3855 2003-10-29  Werner LEMBERG  <wl@gnu.org>
3857         * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
3858         -P-pletter).
3860 2003-10-28  Werner LEMBERG  <wl@gnu.org>
3862         * doc/groff.texinfo: Fix documentation of `.if'.
3864 2003-10-27  Michail Vidiassov  <master@iaas.msu.ru>
3866         * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
3867         the form `uniXXXX' also.
3869 2003-10-27  Werner LEMBERG  <wl@gnu.org>
3871         * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
3872         contrib/pic2graph/pic2graph.sh: Implement secure management of
3873         temporary files.
3874         Pass `-P-pletter' to groff to avoid data outside of the converted
3875         area -- some versions of `convert' (for example 5.3.8) don't check
3876         the bounding box of the image but always use a fixed image size
3877         (letter paper format).
3878         * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
3879         contrib/pic2graph/pic2graph.man: Updated.
3881         * src/roff/groff/groff.man: Document $TMP and $TEMP.
3883 2003-10-26  Werner LEMBERG  <wl@gnu.org>
3885         * src/preproc/pic/troff.cpp (troff_output::simple_circle,
3886         troff_output::simple_ellipse, troff_output::simple_arc,
3887         troff_output::simple_line, troff_output::simple_spline,
3888         troff_output::simple_polygon): Insert a space before arguments.
3889         (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
3890         latter doesn't produce a node, so the following `.sp -1' would do
3891         the wrong thing.
3892         Don't emit `.sp -1' after \M.  This also doesn't produce a token
3893         (and we don't have to care about compatibility mode).
3894         (troff_output::set_color, troff_output::reset_color): Don't emit
3895         `.sp -1' after \M and \m.
3897         * src/roff/troff/input.cpp (old_have_input): New global variable.
3898         (input_stack::get): Handle `old_have_input'.
3899         (process_input_stack) <token::TOKEN_NEWLINE>: Call
3900         `trapping_blank_line' depending on `old_have_input', not
3901         `have_input'.
3903 2003-10-20  Keith Marshall  <keith.d.marshall@ntlworld.com>
3905         * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
3906         (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
3907         default directory names for temporary files.
3908         [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
3910         * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
3911         [__MSDOS__] (run_pipeline): Honour environment variables.
3912         Don't use `tmpnam' but `tempnam' to work around messy
3913         implementation.
3915         * README.MinGW: New file.
3917 2003-10-16  Werner LEMBERG  <wl@gnu.org>
3919         * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
3920         `(*t)->next' without testing validity of `*t'.
3921         (usage): Make it more readable.
3923 2003-10-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
3925         Make html device run under both MS-DOS and Win32.
3927         * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
3928         MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
3929         spawn or fork+exec has to be used, and whether parent must sleep
3930         until the child process terminates.  Used in
3931         `char_buffer::run_output_filter'.
3932         (copyofstdoutfd): Removed.
3933         (char_buffer): Replace `write_file_html' and `write_file_troff'
3934         member functions with `emit_troff_output' and `run_output_filter'.
3935         (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
3936         macros.
3937         (replaceFd): Replaced with...
3938         (set_redirection): New auxiliary function.
3939         (waitForChild): Replaced with...
3940         (save_and_redirect): New auxiliary function for.
3942         (char_buffer::do_html, char_buffer::do_image): Simplified, using new
3943         functions.
3945 2003-10-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
3947         * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
3948         (GROFF_LIBC): New function.
3949         * configure.ac: Call GROFF_LIBC.
3950         Check for `kill'.
3951         * configure: Regenerated.
3953         * src/include/lib.h: Handle __MINGW32__.
3954         * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
3955         Add macro for `pipe'.
3956         Define P_tmpdir.
3958         * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
3959         correctly.
3961         * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
3962         Implement.
3964 2003-10-13  Werner LEMBERG  <wl@gnu.org>
3966         Finally fix change 2003-08-26, based on ideas from Chuck Silvers
3967         <chuq@chuq.com>.
3969         * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
3970         directory.
3972 2003-10-12  Werner LEMBERG  <wl@gnu.org>
3974         * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
3975         src/roff/troff/input.cc (usage): Updated.
3977         * NEWS, doc/groff.texinfo: Updated.
3979 2003-10-12  Peter Miller  <millerp@canb.auug.org.au>
3981         * src/libs/libgroff/searchpath.cpp
3982         (search_path::open_file_cautious): New function which also handles
3983         `-' as stdin and stdout depending on the access mode.
3984         * src/include/searchpath.h (search_path): Updated.
3986         * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
3987         * src/devices/grops/ps.h: Include `searchpath.h'.
3988         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3989         Open resource file with `include_search_path.open_file_cautious'.
3990         * src/devices/grops/grops.man: Document new `-I' switch.
3992         * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
3993         (main), src/devices/grolj4/lj4.cpp (main),
3994         src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
3996         * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
3997         Replaced with...
3998         (include_search_path): New global variable.
3999         (include_path_append): Removed.
4000         (main): Use `include_search_path.command_line_dir' to handle `-I'.
4001         (do_file): Simplify, using new
4002         `include_search_path.open_file_cautious'.
4004         * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4005         parameter.
4006         (main): Pass arguments to `-I' to both troff and devices.
4007         Improve handling of `-V'.
4008         * src/roff/groff/groff.man: Document changes to -I and -V.
4010         * src/roff/troff/input.cpp (include_search_path): New global
4011         variable.
4012         (next_file, source, ps_bbox_request, transparent_file,
4013         process_input_file): Use new
4014         `include_search_path.open_file_cautious'.
4015         (main) Handle `-I' switch.
4016         * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4017         Use new `include_search_path.open_file_cautious'.
4018         * src/roff/troff/node.h: New extern symbol `include_search_path'.
4019         * src/roff/troff/troff.man: Document new `-I' switch.
4021 2003-09-15  Ruslan Ermilov  <ru@FreeBSD.org>
4023         Support multiple calls of .Lb in LIBRARY section.
4025         * tmac/doc-common (doc-in-library-section): New register.
4026         (doc-section-library): New string.
4027         (Sh): Set `doc-in-library-section'.
4028         (Rd): Updated.
4029         * tmac/doc-syms (Lb): Insert breaks before and after arguments
4030         if in LIBRARY section.
4031         * tmac/doc.tmac (doc-save-global-vars): Updated.
4032         * NEWS, tmac/groff_mdoc.man: Updated.
4034 2003-09-14  Ruslan Ermilov  <ru@FreeBSD.org>
4036         * tmac/doc-common (doc-default-operating-system): New variable.
4037         (Os): Use it.
4039 2003-09-08  Werner LEMBERG  <wl@gnu.org>
4041         * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4043 2003-08-31  Werner LEMBERG  <wl@gnu.org>
4045         * contrib/mom/Makefile.sub: Fix last change to make it really work.
4046         * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4047         (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4048         $(DEVFILES) are not empty.
4049         * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4051 2003-08-26  Chuck Silvers  <chuq@chuq.com>
4053         * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4054         with parallel runs of `make'.
4056 2003-08-23  Stephen Gildea  <http://www.gildea.com/stephen>
4058         * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4059         insert SORT_SEP.  With certain combinations of sort specifications,
4060         refer sorted entries in the wrong order.  In particular, entries
4061         with a missing field should be be sorted before all entries that
4062         have that field, before refer looks to the next field.
4064 2003-08-23  Werner LEMBERG  <wl@gnu.org>
4066         * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4067         g++ linker is used.  Reported by Mark J. Reed
4068         <mark.reed@turner.com>.
4070 2003-08-16  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
4072         Add key character `x' to tbl which makes tbl call a user-defined
4073         macro on a table cell.
4075         * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4076         * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4077         `set_modifier' after printing the compatibility request.
4078         (set_modifier): Print call to `m->macro' if not empty.
4079         * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4080         `macro'.
4081         (process_format): Implement cases `x' and `X'.
4082         * src/preproc/tbl/tbl.man, NEWS: Updated.
4084 2003-08-15  Werner LEMBERG  <wl@gnu.org>
4086         * doc/groff.texinfo: Minor fixes.
4088 2003-08-09  Werner LEMBERG  <wl@gnu.org>
4090         * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4092 2003-08-07  Werner LEMBERG  <wl@gnu.org>
4094         * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4095         argument list to nothing if there is no file to match.  Use `ls' as
4096         a protection, similar to autoconf.
4098         * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4099         empty argument lists.
4101         * doc/groff.texinfo: Improve documentation how vertical spacing
4102         and line breaks interact.
4103         Other minor fixes.
4105         * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4107 2003-08-03  Werner LEMBERG  <wl@gnu.org>
4109         * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4110         EPS (using eps2eps or similar programs to compute the bounding box).
4112 2003-07-24  Werner LEMBERG  <wl@gnu.org>
4114         * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4115         * doc/texinfo.tex: Updated from texinfo 4.6.
4116         * README.CVS: From now on we need texinfo 4.6.
4118 2003-07-23  Werner LEMBERG  <wl@gnu.org>
4120         Add requests `dei1' and `ami1' for completeness.
4122         * src/roff/troff/input.cc (calling_mode): Remove
4123         CALLING_DISABLE_COMP.
4124         (comp_mode): New enumeration.
4125         (do_define_string, define_string, define_nocomp_string,
4126         append_string, append_nocomp_string): Updated.
4127         (do_define_macro): Add third parameter.
4128         (define_macro, define_nocomp_macro, define_indirect_macro,
4129         append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4130         (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4131         functions.
4132         (ignore): Updated.
4133         (init_input_requests): Add `dei1' and `ami1'.
4135         * tmac/trace.tmac: Handle de1 and am1.
4136         (de): Improve tracing message.
4137         (am): Add missing `do'.
4138         (return): Use de1.
4140         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4141         Document new requests.
4143 2003-07-22  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
4145         Add option -G to .MPIMG to insert a gap between text and the image.
4147         * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4148         www-finish-left-ll): Updated.
4149         (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4150         (MPIMG): Make option -L and -R optional.
4151         Implement option -G.
4153 2003-07-22  Gaius Mulley  <gaius@glam.ac.uk>
4155         * src/devices/grohtml/post-html.cpp
4156         (html_printer::do_file_components): Don't use `stdout' as lvalue
4157         since it can be a macro.
4159 2003-07-22  Werner LEMBERG  <wl@gnu.org>
4161         * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4162         the corresponding test in aclocal.m4.
4164 2003-07-21  Werner LEMBERG  <wl@gnu.org>
4166         * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4167         names but RGB values directly.  Otherwise pnmtopng depends on
4168         an external file `rgb.txt' which maps colour names to values.
4170 2003-07-20  Werner LEMBERG  <wl@gnu.org>
4172         * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4173         * configure, src/include/config.hin: Regenerated.
4175         * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4177 2003-07-19  Werner LEMBERG  <wl@gnu.org>
4179         * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4181 2003-07-18  Werner LEMBERG  <wl@gnu.org>
4183         * *.man: Switch to non-compatibility mode temporarily if GNU
4184         syntax extensions are used in the particular man page.
4186         * PROBLEMS: Add solutions for SGR problems.
4188 2003-07-17  Werner LEMBERG  <wl@gnu.org>
4190         Don't ignore grotty's command line options if \X'tty: sgr ...' is
4191         used to change the drawing scheme.
4193         * src/devives/grotty/tty.cpp (bold_flag_option,
4194         underline_flag_option, italic_flag_option, reverse_flag_option,
4195         bold_underline_mode_option): New global variables.
4196         (update_options): New function.
4197         (tty_printer::special): Call update_options.
4198         (main): Don't set xxx_flag but xxx_flag_option, then call
4199         update_options.
4201 2003-07-14  Werner LEMBERG  <wl@gnu.org>
4203         Make grotty emit proper Unicode box drawing characters for -Tutf8.
4205         * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4206         values.
4207         (hline_char, vline_char): New global variables.
4208         (tty_printer::tty_printer): Initialize them.
4209         (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4210         horizontal and vertical lines.
4211         (crossings): New global array.
4212         (tty_printer::end_page): Use it to determine the proper crossing
4213         character for -Tutf8.
4215 2003-07-12  Werner LEMBERG  <wl@gnu.org>
4217         * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4218         (HTMLDOCFILES): Revert to `pic.html'.
4219         (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4221 2003-07-11  Werner LEMBERG  <wl@gnu.org>
4223         * doc/pic.ms: Improve documentation of absolute coordinates.
4224         Document absolute positioning of pictures.
4226         * NEWS: Add new pic capability.
4228 2003-07-09  Hartmut Henkel  <hartmut_henkel@gmx.de>
4230         * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4231         Rewritten.
4233 2003-07-07  Werner LEMBERG  <wl@gnu.org>
4235         Implement support for dashed and dotted ellipses in pic.  Based on
4236         a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4238         * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4239         common_output::dashed_ellipse, common_output::dotted_ellipse): New
4240         functions.  Ellipse arcs are approximated with circle arcs.
4241         * src/preproc/pic/common.h (common_output): Updated.
4242         * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4243         functions.
4244         * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4246         * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4248 2003-07-06  Werner LEMBERG  <wl@gnu.org>
4250         Make grotty work on platforms which have unsigned char as the
4251         default for char.  Based on a patch by Thomas Klausner
4252         <wiz@netbsd.org>.
4254         * src/devices/grotty/tty.cpp (schar): New typedef.
4255         Updated calls to declare_ptable and implement_ptable.
4256         (glyph): Use schar for back_color_idx and fore_color_idx.
4257         (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4258         (tty_printer::tty_color, tty_printer::tty_printer,
4259         tty_printer::color_to_idx, tty_printer::put_color): Updated.
4261 2003-07-06  Ruslan Ermilov  <ru@FreeBSD.org>
4263         * src/roff/nroff/nroff.sh: Add option -d for completeness.
4264         * src/roff/nroff/nroff.man: Updated.
4266 2003-07-05  Werner LEMBERG  <wl@gnu.org>
4268         * NEWS, tmac/groff_www.man: Updated.
4269         * doc/Makefile.sub: Updated.
4271 2003-07-05  Gaius Mulley  <gaius@glam.ac.uk>
4273         Implement support for multiple HTML output files.
4275         * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4276         -j command line option.
4278         * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4279         global variables.
4280         (file): New fields `new_output_file', `require_links',
4281         `output_file_name'.
4282         (file::file): Updated.
4283         (files::set_file_name, files::set_links_required,
4284         files::are_links_required, files::is_new_output_file,
4285         files::file_name, files::next_file_name): New functions.
4286         (header_desc): New fields `no_of_level_one_headings',
4287         `header_filename'.
4288         (header_desc::header_desc): Updated.
4289         (header_desc::write_headings): Handle multiple files.
4290         (html_printer::write_header): Save file name in which header occurs.
4291         (html_printer::determine_header_level): Possibly split files on
4292         level one headings.
4293         (html_printer::do_links, html_printer::troff_tag): Updated.
4294         (html_printer::insert_split_file, html_printer::do_job_name,
4295         html_printer::emit_link, html_printer::write_navigation,
4296         html_printer::do_file_components): New functions.
4297         (html_printer::~html_printer): Handle multiple files.
4298         (main): Handle command line option `-j'.
4300         * src/devices/grohtml/grohtml.man: Updated.
4302         * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4303         which splits file.
4305         * tmac/www.tmac (JOBNAME): New macro.
4306         * tmac/s.tmac (SH-NO-TAG): New macro.
4307         (@SH): Call SH-NO-TAG.
4308         (@NH): Updated.
4310 2003-07-05  Ruslan Ermilov  <ru@FreeBSD.org>
4312         * tmac/groff_mdoc.man: Improve documentation of punctuation
4313         characters.
4315 2003-07-04  Ruslan Ermilov  <ru@FreeBSD.org>
4317         * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4319 2003-07-03  Werner LEMBERG  <wl@gnu.org>
4321         * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4323 2003-07-01  Ruslan Ermilov  <ru@FreeBSD.org>
4325         * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4326         after `/*' and `*/'.
4327         Fix spacing.
4328         (Fn, Fo): Reduce indentation in synopsis.
4330         * tmac/doc-common (doc-check-depth): New macro.
4331         (doc-end-macro, Sh, Ss): Use it.
4332         (Cd): Fix behaviour in synopsis.
4333         (In): Make it parsed and callable.
4334         If not in the synopsis, represent the C header file enclosed in
4335         angle brackets.
4336         (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4337         Use minus, not hyphen.
4339         * tmc/groff_mdoc.man: Updated.
4341 2003-07-01  Werner LEMBERG  <wl@gnu.org>
4343         Integrated grap2graph, contributed by Eric S. Raymond.
4345         * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4346         New files.
4347         * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4348         contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4350 2003-07-01  Colin Watson  <cjwatson@debian.org>
4352         * src/xditview/*.c: Add prototypes, fix return types, add includes.
4353         Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4355 2003-06-31  Ruslan Ermilov  <ru@FreeBSD.org>
4357         * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4359 2003-06-31  Werner LEMBERG  <wl@gnu.org>
4361         * doc/Makefile.sub (CLEANADD): Remove all files created by
4362         running `make groff.{pdf,dvi}'.
4364         * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4365         src/xditview also.
4367 2003-06-30  Werner LEMBERG  <wl@gnu.org>
4369         * Makefile.in (SHELL): Define as @SHELL@.
4370         (mkinstalldirs): Use $(SHELL).
4371         (MDEFINES): Add $(SHELL).
4372         * Makefile.comm (SHELL): Removed.
4374 2003-06-29  Werner LEMBERG  <wl@gnu.org>
4376         * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4377         The X11 documentation files use them.
4378         * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4380 2003-06-15  Robert Goulding  <goulding@Princeton.EDU>
4382         * tmac/e.tmac (@C): Handle .ad also.
4384 2003-06-12  Werner LEMBERG  <wl@gnu.org>
4386         * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4388         * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4389         Assign `n' even here.  It is possible to construct a node
4390         immediately following an escape character:
4392           .di xx
4393           \?\\\?a
4394           .br
4395           .di
4396           .xx
4398 2003-06-10  Werner LEMBERG  <wl@gnu.org>
4400         * README.WIN32: Removed.
4401         * MANIFEST: Updated.
4403 2003-06-07  Werner LEMBERG  <wl@gnu.org>
4405         * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
4407 2003-06-05  Werner LEMBERG  <wl@gnu.org>
4409         * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
4410         in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
4412 2003-06-03  Werner LEMBERG  <wl@gnu.org>
4414         * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
4415         is done by the calling function.
4417 2003-05-22  Ruslan Ermilov  <ru@FreeBSD.org>
4419         * tmac/X.tmac: Fix definition of `em'.
4421 2003-05-22  Werner LEMBERG  <wl@gnu.org>
4423         * src/roff/troff/input.cc (return_macro_request): Fix detection of
4424         argument.
4426 2003-05-18  Werner LEMBERG  <wl@gnu.org>
4428         * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
4429         to make items work which consist only of a tag.
4431 2003-05-17  Werner LEMBERG  <wl@gnu.org>
4433         * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
4434         aren't stretched in a tag (this can fail with unformatted boxes).
4435         Instead, insert a break and go back one line.
4437 2003-05-16  Werner LEMBERG  <wl@gnu.org>
4439         * src/roff/troff/input.cc (return_macro_request): If called with
4440         argument pop macro twice.  We need this to trace `return'.
4442         * tmac/trace.tmac: Handle `return'.
4443         Fix typos.
4445         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4446         Document.
4448 2003-05-15  Larry Kollar  <kollar@alltel.net>
4450         * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
4451         registers `FPS', `FVS', and `FPD'.
4453 2003-05-15  Werner LEMBERG  <wl@gnu.org>
4455         * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
4456         correctly.
4458 2003-05-03  Ruslan Ermilov  <ru@FreeBSD.org>
4460         * tmac/groff_mdoc.man: Slight improvements.
4462 2003-05-03  Werner LEMBERG  <wl@gnu.org>
4464         * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
4465         `doc-header-space' after header line if register `cR' is set.
4467 2003-05-02  Werner LEMBERG  <wl@gnu.org>
4469         * TODO: Updated.
4471 2003-05-01  Ruslan Ermilov  <ru@FreeBSD.org>
4473         * tmac/doc-common (Nd): Use \[em].
4475 2003-05-01  Werner LEMBERG  <wl@gnu.org>
4477         * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
4478         doc-footer-space): Initialize to 0.5i.
4479         (doc-setup-page-layout): Don't set doc-header-space and
4480         doc-footer-space.
4482 2003-04-30  Werner LEMBERG  <wl@gnu.org>
4484         * REVISION: Set to 1.
4486         * doc/pic.ms: Document possible problems with `figname'.
4488 2003-04-29  Werner LEMBERG  <wl@gnu.org>
4490 Version 1.19 released
4491 =====================
4493         * VERSION: Set to 1.19.
4494         * REVISION: Set to 0.
4495         * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
4497         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4498         Define charset as `US-ASCII' in html output.
4500         * tmac/www.tmac (ULE): Add missing scaling indicator.
4502         * win32-diffs: Removed.
4504 2003-04-28  Werner LEMBERG  <wl@gnu.org>
4506         * doc/groff.texinfo: Document `dn' and `dl' registers if used with
4507         `.da' and `.boxa'.
4508         Document how to insert discardable whitespace with `.ss'.
4510 2003-04-27  Werner LEMBERG  <wl@gnu.org>
4512         * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
4513         work with plain TeX also.
4515         * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
4517 2003-04-25  Gaius Mulley  <gaius@glam.ac.uk>
4519         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4520         Use a loose DTD.
4522 2003-04-24  Werner LEMBERG  <wl@gnu.org>
4524         * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
4525         vbox with positive height and zero depth if in TeX mode.
4527         * NEWS: Document glyph name changes for grodvi and grolj4.
4529 2003-04-23  Werner LEMBERG  <wl@gnu.org>
4531         * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
4532         * doc/pic.ms: Fixed.
4534 2003-04-21  Werner LEMBERG  <wl@gnu.org>
4536         HP-UX 10.20 has `snprintf' but it isn't declared.
4538         * configure.ac: Add declaration test for snprintf.
4539         * configure: Regenerated.
4540         * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
4541         * src/include/config.hin: Regenerated.
4543 2003-04-19  Werner LEMBERG  <wl@gnu.org>
4545         Add keyword `figname' to pic, specifying the name of the picture
4546         box in TeX mode.  Based on a patch from William J Poser
4547         <wjposer@unagi.cis.upenn.edu>.
4549         * src/preproc/pic/pic.y: New token `FIGNAME'.
4550         (macro_name): New rule of type <str>.
4551         (placeless_element): Handle `FIGNAME'.
4552         * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
4553         * src/preproc/pic/main.cpp (graphname): New global variable.
4554         (do_picture): Initialize `graphname'.
4555         * src/preproc/pic/pic.h: Updated.
4556         * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
4557         `graphname'.
4558         Simplify TeX code.
4559         (tex_output::text): Beautify output.
4560         * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
4561         `shaded' and `outlined' unconditionally.
4562         * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
4563         Minor improvements.
4565         * PROBLEMS, README.CVS: Mention that bison version 1.875b or
4566         greater is necessary.
4568 2003-04-17  Hartmut Henkel  <hartmut_henkel@gmx.de>
4570         Add option -r to soelim to avoid emission of `.lf' lines.
4571         Add option -t to produces TeX comment lines instead of `.lf' lines.
4573         * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
4574         and `tex_flag'.
4575         (usage): Updated.
4576         (main): Handle `-r' and `-t'.
4577         (set_location): Handle `raw_flag' and `tex_flag'.
4578         * src/preproc/soelim/soelim.man, NEWS: Updated.
4580 2003-04-17  Werner LEMBERG  <wl@gnu.org>
4582         * tmac/hyphenex.sh: Replaced with...
4583         * tmac/hyphenex.pl: This perl script to avoid sed compatibility
4584         nightmares.
4586         * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
4587         if --quiet is used for the configure script.
4588         * configure: Regenerated.
4590 2003-04-16  Werner LEMBERG  <wl@gnu.org>
4592         * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
4593         Add `const' to second argument.
4594         (html_printer::add_table_end): Add `const' to argument.
4595         * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
4596         `const' to arguments.
4597         * src/devices/grohtml/html-text.h: Updated.
4599         * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
4600         * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
4601         argument.
4603         * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
4604         cast for integer constant.
4606         * src/preproc/html/pre-html.cpp (image_device): Use `const'.
4607         (writeNbytes): Add `const' to first argument.
4608         (writeString): Add `const' to argument.
4609         (char_buffer::can_see): Add `const' to third argument.
4610         * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
4611         `const' to argument.
4612         * src/preproc/html/pushback.h: Updated.
4614         * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
4615         (include_path_append): Add `const' to argument.
4616         (do_file): Updated.
4618         * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
4619         for `value'.
4620         (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
4621         * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
4622         for `value'.
4623         (unicode_decompose_init::unicode_decompose_init): Updated.
4624         * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
4625         for `value'.
4626         (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
4627         * src/roff/troff/input.cc (process_startup_file): Add `const' to
4628         argument.
4630         * tmac/hyphenex.sh: Make script more portable by using a here
4631         document.
4633 2003-04-15  Werner LEMBERG  <wl@gnu.org>
4635         Renamed all `*.cc' files to `*.cpp'.
4636         Updated all configuration files, makefiles, and documentation.
4638 2003-04-14  Werner LEMBERG  <wl@gnu.org>
4640         * tmac/hyphenex.sh: Slight improvements.
4642 2003-04-13  Werner LEMBERG  <wl@gnu.org>
4644         * font/devascii/R.proto, font/devcp1037/R.proto,
4645         font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
4646         character slots with unnamed glyphs.
4648         * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
4649         (an-first): New global variable.
4650         (an-header): Emit vertical space between multiple man pages.
4652 2003-04-11  Werner LEMBERG  <wl@gnu.org>
4654         * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
4655         values.
4657 2003-04-10  Werner LEMBERG  <wl@gnu.org>
4659         * PROBLEMS: Revised.
4661 2003-04-10  Bernd Warken  <bwarken@mayn.de>
4663         * doc/webpage.ms: Improved.
4665 2003-04-09  Werner LEMBERG  <wl@gnu.org>
4667         Add register \n[.height] which returns the value of \H.
4668         Add register \n[.slant] which returns the value of \S.
4670         * src/roff/troff/env.cc (init_env_requests): Implement.
4671         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4672         Document.
4674 2003-04-08  Werner LEMBERG  <wl@gnu.org>
4676         * tmac/html.tmac: Move some of the data into html-end.tmac.
4677         Remove most of the character translations for eqn since html fonts
4678         now cover those characters.
4679         Load www.tmac.
4680         * tmac/html-end.tmac: New file.
4681         * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
4682         * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
4683         * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
4685 2003-04-07  Werner LEMBERG  <wl@gnu.org>
4687         * man/groff_out.man: Document negative values of `N' if -Thtml is
4688         used.
4690 2003-04-06  Werner LEMBERG  <wl@gnu.org>
4692         * Makefile.comm (depend.temp): Check location of YTABC.
4694 2003-04-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
4696         * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
4697         binary path.
4698         (groff_bin_path): Rename to GROFF_BIN_PATH.
4699         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4700         * doc/Makefile.in (TROFFBIN): New variable for troff
4701         binary path.
4702         (GROFFBIN): New variable for groff binary path.
4703         (groff_bin_path): Rename to GROFF_BIN_PATH.
4704         (TROFF): Use TROFFBIN.
4705         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4706         * doc/Makefile.sub (GROFFBIN): New variable for groff
4707         binary path.
4708         (groff_bin_path): Rename to GROFF_BIN_PATH.
4709         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4711         * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
4712         with INSTALL_SCRIPT.
4713         (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
4714         * Makefile.dev (all): Depend on DEVSCRIPTS.
4715         (install_dev): Likewise.
4716         * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
4717         scripts.
4718         * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
4719         (DEVGENSCRIPTS): New variable to hold generated scripts.
4721 2003-04-05  Werner LEMBERG  <wl@gnu.org>
4723         * src/libs/libdriver/input.cc (IntArray::operator[],
4724         IntArray::get_data): Remove meaningless `const' in return value.
4726         * README.CVS: New file.
4728 2003-04-04  Werner LEMBERG  <wl@gnu.org>
4730         Check for stdint.h in C++, not in C.
4732         * aclocal.m4 (GROFF_STDINT_H): New function,
4733         * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
4734         AC_CHECK_HEADERS.
4735         * configure, src/include/config.hin: Regenerated.
4736         * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
4739         Fix handling of &nbsp; in grohtml.  To do this, troff emits `N'
4740         with a negative value, representing the width of the unbreakable
4741         space (only for -Thtml).  grohtml then converts this back to
4742         &nbsp; and uses the value of N as its width.
4744         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4745         unbreakable_space_node::tprint): Emit `N-<width>'.
4746         * src/include/printer.h (printer::set_numbered_char): Make it
4747         virtual.
4748         Make members `font_table' and `nfonts' protected instead of private.
4749         * src/devices/grohtml/post-html.cc
4750         (html_printer::set_numbered_char): New member function.
4753         * src/libs/libgroff/maxfilename.cc:
4754         s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
4756         * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
4757         emit word marker.
4759 2003-04-03  Sergey A. Osokin  <osa@freebsd.org.ru>
4761         * man/roff.man: Small fixes.
4763 2003-04-03  Werner LEMBERG  <wl@gnu.org>
4765         Make groff independent from locale's numeric settings.
4767         * configure.ac: Check for `setlocale'.
4768         * configure, src/include/config.hin: Regenerated.
4770         * src/include/lib.h: Handle HAVE_SETLOCALE.
4772         * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
4773         (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
4774         (main), src/preproc/pic/main.cc (main): Call `setlocale'.
4777         * doc/groff.texinfo: Change dir category to `Typesetting'.
4778         (Man font macros): Mention that there is no space between arguments
4779         of .BI and friends.
4781         * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
4782         (*printer::change_color, *printer::change_fill_color): Add missing
4783         `const'.
4785 2003-04-02  Werner LEMBERG  <wl@gnu.org>
4787         * src/devices/grohtml/html-table.cc (html_table::emit_col,
4788         html_table::is_gap): Compute table widths after converting border
4789         positions to avoid rounding errors.
4791 2003-04-01  Werner LEMBERG  <wl@gnu.org>
4793         * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
4794         `space_emitted' properly.
4796 2003-03-31  Werner LEMBERG  <wl@gnu.org>
4798         * src/devices/grohtml/html-table.cc: Fix column width calculation.
4799         (html_table::set_linelength): Don't add 1.
4800         (html_table::add_indent): Don't subtract 1.
4802         * tmac/html.tmac: Set default page offset to zero.
4804 2003-03-30  Werner LEMBERG  <wl@gnu.org>
4806         Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
4808         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4809         unbreakable_space_node::tprint): New functions.
4810         (troff_output_file): Make space_char_hmotion_mode::tprint and
4811         unbreakable_space_node::tprint to friends.
4812         * src/roff/troff/node.h: Updated.
4814         * font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
4815         in the HTML standard).
4817 2003-03-29  Werner LEMBERG  <wl@gnu.org>
4819         * src/roff/troff/env.cc (point_size): Fix emission of html tag.
4820         Otherwise, the following code
4822           .di xxx
4823           .ps 10
4824           a
4825           .br
4826           .di
4827           x\*[xxx]
4829         produces `x a' instead of `xa'.  This is a temporary fix, disabling
4830         font changes in diversions for -Thtml.
4832         * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
4833         `HTML-TAG'.
4834         (an-do-tag-html): Merge with ...
4835         (an-do-tag): This macro.
4836         Change code slightly to circumvent grohtml bug.
4837         * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
4839         * src/devices/grohtml/html-table.cc (html_table::emit_col,
4840         html_table::is_gap): Round `width' properly.
4842         * tmac/html.tmac: Provide some default layout parameters for
4843         grohtml.
4845         * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
4846         command.
4848 2003-03-28  Werner LEMBERG  <wl@gnu.org>
4850         src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
4852 2003-03-27  Werner LEMBERG  <wl@gnu.org>
4854         * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
4855         defined.
4857 2003-03-20  Werner LEMBERG  <wl@gnu.org>
4859         * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
4860         `.vs'.
4861         * doc/groff.texinfo: Updated.
4863 2003-03-19  Werner LEMBERG  <wl@gnu.org>
4865         * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
4866         TOKEN_END_TRAP>: Reset `have_input'.
4868 2003-03-18  Werner LEMBERG  <wl@gnu.org>
4870         * src/roff/groff/groff.man: Mention groff_trace man page.
4872 2003-03-16  Werner LEMBERG  <wl@gnu.org>
4874         * Makefile.in (LIBEXT): New variable to indicate the file extension
4875         of library files.  Computed heuristically from $(OBJEXT).
4876         (MDEFINES): Add $(LIBEXT).
4877         * Makefile.lib, Makefile.comm: Use it.
4879         * src/utils/pfbtops/pfbtops.c (get_text): New function.  Split
4880         overlong lines into smaller chunks.
4881         (get_binary): New function.
4882         (main): Use them.
4883         * src/utils/pfbtops/pfbtops.man: Updated.
4885 2003-03-15  Colin Watson  <cjwatson@debian.org>
4887         * src/roff/groff/groff.man: Minor syntax fix.
4889 2003-03-14  Egil Kvaleberg  <egil@kvaleberg.no>
4891         * src/devices/grops/ps.cc (ps_printer::media_set,
4892         ps_printer::~ps_printer): Handle zero paper width and length.
4894 2003-03-13  Werner LEMBERG  <wl@gnu.org>
4896         Add options -p and -l to grodvi.
4898         * src/devices/grodvi/dvi.cc: Include paper.h.
4899         (landscape_flag, user_paper_length, user_paper_width): New global
4900         variables.
4901         (dvi_printer::begin_page): Emit `papersize' special.
4902         Set color after initialization of `cur_h' and `cur_v'.
4903         (main): Add options `-l' and `-p'.
4904         * font/devdvi/Makefile.sub (DESC): Set `papersize'.
4905         * src/devices/grodvi/grodvi.man, NEWS: Updated.
4907         * src/devices/grops/psrm.cc (valid_input_table): Fixed.
4909 2003-03-12  Werner LEMBERG  <wl@gnu.org>
4911         * src/devices/grops/grops.man: Move documentation of .PSPIC to...
4912         * man/groff_tmac.man: This man page.
4913         * man/groff_font.man: Declare `paperwidth' and `paperlength' as
4914         deprecated.
4916         * tmac/X.tmac: Don't load pspic.tmac.
4918 2003-03-11  Werner LEMBERG  <wl@gnu.org>
4920         Make variable `pr' local to libdriver/input.cc.  Based on a patch
4921         by Bernd Warken <bwarken@mayn.de>.
4923         * src/include/driver.h (pr): Removed.
4925         * src/libs/libdriver/input.cc (pr): New global variable.
4926         (do_file): Deallocate `pr'.
4927         * src/libs/libdriver/printer.cc (pr): Removed.
4929         * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
4930         (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
4931         (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
4932         (main): Don't delete `pr'.
4934 2003-03-10  Werner LEMBERG  <wl@gnu.org>
4936         * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
4937         * tmac/papersize.tmac: New file.
4938         * tmac/troffrc: Include `papersize.tmac'.
4939         * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
4940         * tmac/an-old.tmac: Set LT to LL by default.
4942         * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
4943         doc/groff.texinfo: Updated.
4945         * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
4946         bug which caused all odd iso papers to have wrong dimensions.
4948         * src/devices/grops/ps.cc (user_paper_width): New global variable.
4949         (main) <'p'>: Set `user_paper_width' also.
4950         (ps_printer::media_width, ps_printer::media_height): Use values
4951         given with option `-p'.
4953 2003-03-09  Werner LEMBERG  <wl@gnu.org>
4955         * src/include/nonposix.h: Provide default for SET_BINARY.
4957         * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
4958         src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
4959         unconditionally.
4961         * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
4962         (main): Treat \r\n as \n.
4964 2003-03-08  Werner LEMBERG  <wl@gnu.org>
4966         * tmac/an-old.tmac: Use register `HY' to control hyphenation.
4967         * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
4969 2003-03-07  Werner LEMBERG  <wl@gnu.org>
4971         Added support to access more than 256 glyphs in Type 1 fonts.
4973         * src/devices/grops/ps.cc (subencoding): New structure.
4974         (style): Add `sub' field.
4975         Updated all users.
4976         (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
4977         Add `set_subencoding', `get_subfont' and `encode_subfont' member
4978         functions.
4979         Updated all users.
4980         (ps_printer::set_char): Use `set_subencoding'.
4981         (make_subencoding_name): New function.
4982         (ps_printer::set_style): Handle case where `sty.sub' is not zero.
4983         (ps_printer::~ps_printer): Emit subencoding definitions.
4985         * src/devices/grops/psrm.cc (valid_input_table): New array to
4986         properly support EBCDIC.
4987         (white_space): Add `\f'.
4988         (ps_get_line): Change first argument to be of type `string &'.
4989         Updated all callers.
4990         This allows to get lines of arbitrary length.
4991         Use `valid_input_table'.
4992         Remove warning about non-conforming PS line length.  This seems
4993         not to be of great importance -- for example, dvips don't emit
4994         a warning either.
4995         (PS_LINE_MAX): Removed.
4996         (matches_comment): Change first argument to be of type `string &'.
4998         * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5000         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5001         %AGL_to_unicode, %default_ligatures): New hash tables.
5002         Read all map entries.
5003         Add unencoded characters.
5004         Check for default ligatures if there are no `L' entries.
5005         Print all kern entries.
5006         Print all characters in charset.
5007         * src/utils/afmtodit/afmtodit.man: Updated.
5009         * font/devps/*: Regerated all fonts.
5011         * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5012         of characters, just use `.trin'.  Otherwise the mapping depends
5013         on the font encoding.
5014         * tmac/ps.tmac: Add `fi' and `fl'.
5015         Improve `Fi' and `Fl'.
5016         * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5017         * tmac/Xps.tmac: Fix `em'.
5019         * NEWS: Updated.
5021 2003-03-04  Werner LEMBERG  <wl@gnu.org>
5023         * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5024         `have_input'.
5026 2003-03-03  Werner LEMBERG  <wl@gnu.org>
5028         * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5030         * font/devps/generate/textmap: Remove entry `similarequal'.
5031         * font/devps/symbolmap: Updated.
5033 2003-03-02  Werner LEMBERG  <wl@gnu.org>
5035         * src/libs/libgroff/font.cc (font::load): Fix error message for
5036         bad character type.
5038         * src/devices/grops/grops.man: Improve documentation of the -b
5039         flag.
5041         * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5042         `ascii' and `cp1047'.
5044 2003-03-01  Werner LEMBERG  <wl@gnu.org>
5046         Document composite glyphs and the `composite' request.
5048         * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5050 2003-02-28  Werner LEMBERG  <wl@gnu.org>
5052         * font/devdvi/generate/ec.map: Add some more Unicode entities.
5053         * font/devdvi/*EC: Updated.
5055         * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5056         * tmac/latin1 (latin1-tr): Undo any previous mapping.
5057         * tmac/troffrc: Load `composite.tmac'.
5058         * tmac/Makefile.sub (NORMALFILES): Updated.
5060         * doc/groff.texinfo (Input Encodings): New section.
5061         * NEWS: Updated.
5063 2003-02-27  Werner LEMBERG  <wl@gnu.org>
5065         * doc/texinfo.tex: New version 2003-02-11.06.
5067         * tmac/doc-common (Dt): Don't emit warning for unknown section.
5068         * tmac/groff_mdoc.man: Fix description of `Dt'.
5070 2003-02-26  Egil Kvaleberg  <egil@kvaleberg.no>
5072         * font/devps/prologue.ps: Fix for included Postscript that does
5073         a setpagedevice -- which is now safely ignored.
5075         * NEWS: Updated.
5077         * src/devices/grops/ps.cc: Now sets the page size in the generated
5078         document.  This is done in two ways: Via a %%-comment for gv and
5079         the like, and via a PageSize and setpagedevice for programs that
5080         understands Postscript proper, like ps2pdf.
5082         * src/devices/grops/ps.h: New broken-flag to avoid page size
5083         definition, if required.
5085         * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5087         * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5088         Not really necessary due to the fix in prologue.ps, but cleaner:
5089         Such information does not belong in an .eps file.
5091         * doc/Makefile.sub: See doc/Makefile.in.
5093 2003-02-26  Ralph Corderoy  <ralph@inputplus.co.uk>
5095         * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5096         instead of P1 since the latter is broken in some versions of netpbm.
5097         * configure: Updated.
5099 2003-02-26  Larry Kollar  <kollar@alltel.net>
5101         Make man pages more customizable.
5103         * tmac/an-old.tmac (FT): New register holding footer distance from
5104         bottom.
5105         (HF): New string holding the default heading font.
5106         (TH): Handle registers `IN' and `SN' set on the command line.
5107         Use `FT'.
5108         (PT, BT): New strings to customize header and footer lines.
5109         (an-header, an-footer): Use them.
5110         (SH, SS): Use `HF'.
5111         * tmac/groff_man.man: Document changes.
5113         * doc/groff.texinfo: Document man changes.
5114         Document Ultrix extensions of man.
5116 2003-02-26  Werner LEMBERG  <wl@gnu.org>
5118         * src/roff/troff/input.cc (do_width, do_if_request): Reset
5119         `have_input' after changing back to old environment.
5121         * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5122         function up to be defined before first call.  This is necessary to
5123         avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5125         * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5126         the default font directory also.  Based on a patch from James
5127         J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5128         * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5129         * src/utils/afmtodit/afmtodit.man: Document it.
5131         * NEWS: Updated.
5133         * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5135 2003-02-25  Gaius Mulley  <gaius@glam.ac.uk>
5137         * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5138         (GROFF_PNMTOPS_NOSETPAGE): New macro.
5139         * configure.ac: Use it.
5140         * configure: Regenerated.
5141         * Makefile.in: Updated.
5143         * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5144         (CLEANADD): Add www.tmac-sed.
5145         (pnmtops_nosetpage): Define default.
5146         (install_data): Handle www.tmac-sed and substitute
5147         @PNMTOPS_NOSETPAGE@.
5148         (stamp-sed): Add www.tmac.
5149         * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5150         It now breaks URLs at suitable places.
5151         (www:substring_ok): New register set by...
5152         (www:@test_substring): New macro.
5153         (www:error): New alias to www-error.
5154         (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5155         New macros.
5156         (URL): Use www:url_breaks.
5157         (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5158         (CDS, CDE): New macros.
5160 2003-02-25  Werner LEMBERG  <wl@gnu.org>
5162         * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5163         buffer overflow.
5165 2003-02-24  Werner LEMBERG  <wl@gnu.org>
5167         Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5168         can be negative also.
5170         * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5171         `int16'.
5172         (read_char_table): Avoid negative ascenders.
5173         (output_charset): Add cast.
5174         * font/devlj4/*: Regenerated.
5176         Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5177         possible.
5179         * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5180         * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5181         of `<>'.
5182         * font/devdvi/*: Regenerated.
5184         Map `la' and `ra' to U+27E8 and U+27E9.  These two characters have
5185         normal width, while the previously used characters (U+2329 and
5186         U+232A) are classified as wide due to canonical equivalence with the
5187         CJK punctuation characters U+3008 and U+3009.
5189         * font/devutf8/R.proto: Updated.
5190         * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5192         * man/groff_char.man: Simplify handling of table traps by
5193         introducing `start block' and `end block' macros.
5194         (Ns, Ne, 2s, 2e, Ds, De): New macros.
5195         (DL): Make it work with Unix troff also.
5196         Fix code values of `la' and `ra'.
5198         * tmac/dvi.tmac: Define `<>' for CW and CWI.
5200 2003-02-23  Gaius Mulley  <gaius@glam.ac.uk>
5202         * src/devices/grohtml/post-html.cc (element_list::~element_list):
5203         New destructor, fixing a major memory leak.
5205 2003-02-22  Werner LEMBERG  <wl@gnu.org>
5207         * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5208         to be in conformance with Unicode 3.0 and newer.
5210         * font/devlj4/generate/text.map: Add `Eu'.
5211         * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5212         * font/devlj4/S: Regenerated.
5214         * man/groff_char.man: Completely rewritten.
5216         * doc/groff.texinfo: Fix description of request and macro arguments.
5218 2003-02-20  Gaius Mulley  <gaius@glam.ac.uk>
5220         Valgrind fixes.
5222         * src/devices/grohtml/html-table.cc (html_table::~html_table):
5223         Deallocate `columns' list.
5224         * src/devices/grohtml/post-html.cc (char_block::~char_block):
5225         New destructor.
5226         (text_glob::text_glob_html, text_glob::text_glob_special,
5227         text_glob::text_glob_line, text_glob::text_glob_auto_image,
5228         text_glob::text_glob_tag): Avoid memory leaks.
5229         (text_glob::remember_table): Free memory before reassigning.
5231 2003-02-19  Werner LEMBERG  <wl@gnu.org>
5233         Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5234         alias `hbar'), the Planck constant over two pi.
5236         * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5237         `+e' for position 34.
5238         * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5239         `u2662' and `u2661'.
5240         * font/devdvi/{MI,S}: Regenerated.
5241         * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5242         * font/devlbp/*: Add `hbar' alias.
5243         * font/devlj4/generate/special.map: Ditto.
5244         * font/devlj4/S: Regenerated.
5245         * font/devps/generate/symbolchars: Add `+e'.
5246         * font/devps/generate/textmap: Fix PS name for `-h'.
5247         Add `hbar' alias.
5248         * font/devps/symbolmap: Regenerated.
5250         * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5252         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5253         `-h', `hbar'.
5254         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5255         `-h'.
5257         * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5258         `hbar'.
5259         * tmac/tty-char.tmac: Add `+e'.
5261 2003-02-17  Werner LEMBERG  <wl@gnu.org>
5263         Another round trying to really fix problems with `have_input'.
5265         * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5266         (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5268         * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5269         handling if both foreground and background colors are default.
5271         * doc/groff.texinfo (Debugging): Document .lf differences to
5272         AT&T troff.
5274 2003-02-16  Werner LEMBERG  <wl@gnu.org>
5276         * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5277         null-bytes in created string.
5279         * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5280         alias_macro, lookup_request): Improve warning messages.
5282         * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5283         not `strdup'.
5284         Free `last_image_filename'.
5286         * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5287         `buffer'.
5288         (imageList::createPage, imageList::createImage): Use `free', not
5289         `a_delete'.
5290         (imageItem::~imageItem): Free `imageName'.
5291         (addRegDef): Use `strsave', not `strdup'.
5292         (get_resolution): Free `pathp'.
5294 2003-02-15  Werner LEMBERG  <wl@gnu.org>
5296         * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5297         to `dummy'.
5299 2003-02-14  Werner LEMBERG  <wl@gnu.org>
5301         Add memory management for colors to deallocate unnamed colors
5302         properly.
5304         * src/include/color.h (color): New members `free_list' and `next'.
5305         New member functions `new' and `delete'.
5306         Add destructor.
5307         * src/libs/libgroff/color.cc: Implement it.
5309         * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5310         for array size of new operator.
5312         * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5313         redundant comparison.
5315         * src/roff/troff/input.cc (word_space_node::reread,
5316         hmotion_node::reread): Avoid warning about unused parameter.
5317         (reset_output_registers): Remove redundant parameter.
5318         (define_color): Undo change 2003-02-12.
5320         * src/roff/troff/reg.h: Updated.
5322         * src/roff/troff/node.cc (troff_output_file::really_print_line,
5323         output_file::put_filename, real_output_file::really_put_filename,
5324         ascii_output_file::really_print_line,
5325         break_char_node::get_hyphen_list): Avoid warning about unused
5326         parameter.
5327         (suppress_node::tprint): Updated.
5329         * configure.ac: Check declaration for rand() and srand().
5330         * configure: Regenerated.
5332         * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5333         conditionally.
5334         * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5335         and srand().
5337         * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5338         to avoid compiler warnings.
5340         * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5341         unused.
5343         * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5344         is unused.
5345         * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5346         (unused) parameter.
5347         Updated all callers.
5349         * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5350         is unused.
5351         * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5352         * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5354         * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5355         Parameter is unused.
5356         (html_printer::add_table_end): Define parameter conditionally.
5357         * src/devices/grohtml/output.cc (simple_output::special): Parameter
5358         is unused.
5360         * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5361         (lbp_printer::set_char): Last parameter is unused.
5363         * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5365 2003-02-13  Werner LEMBERG  <wl@gnu.org>
5367         New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5368         Make \D'f ...' move horizontally again for backwards compatibility.
5369         Replace it with \D'Fg ...' where appropriate to avoid dependency
5370         on horizontal resolution.
5372         * src/roff/troff/input.cc (do_get_long_name): New function.
5373         (get_long_name): Call it.
5375         (read_draw_node): Handle `\D'Fx ...' by calling ...
5376         (read_color_draw_node): New function.
5378         (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5379         `end'.
5380         Pass it to `do_get_long_name' which is used instead of
5381         `get_long_name'.
5383         * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5384         unnecessary value guard.
5385         (parse_D_command) <'f'>: Add horizontal shift.
5387         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5388         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5389         (FILL_MAX): Removed.
5391         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5392         Updated.
5394 2003-02-12  Werner LEMBERG  <wl@gnu.org>
5396         * src/roff/troff/input.cc (do_name_test, do_expr_test,
5397         do_zero_width): Push `\n' if closing delimiter is missing.
5399         (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
5400         <'F'>: Make \F non-transparent at the beginning of line.
5401         (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
5402         token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
5403         `have_input'.
5405         (define_color): Free color in case of reassignment.
5407         * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
5408         @DefescListEnd): Use @Var, not @var.
5409         Fix all calls.
5411         * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
5413         * src/preproc/pic/object.cc (object_spec::~object_spec): Free
5414         `shaded' and `outlined' arrays.
5415         (object_spec::object_spec): Initialize `shaded' and `outlined'.
5416         (graphic_object::set_fill_color, graphic_object::set_outline_color):
5417         Use strsave.
5418         (closed_object::set_fill_color): Ditto.
5419         * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
5420         instead of strdup.
5421         (troff_output::reset_color): Use a_delete instead of free.
5422         * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
5424 2003-02-11  Werner LEMBERG  <wl@gnu.org>
5426         * doc/groff.texinfo: Improve documentation of `ad'.
5427         Document that \D'f...' is dependent on the horizontal resolution.
5428         * man/groff_diff.man: Improve documentation of \D'f...'.
5430         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
5431         compensating \h'...' for \D'f ...' since the latter no longer moves
5432         current position.
5433         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5435 2003-02-10  Werner LEMBERG  <wl@gnu.org>
5437         Improve error messages for `x F' (and `F') commands.
5439         * src/include/error.h: Add declaration for
5440         `current_source_filename'.
5441         * src/libs/libgroff/filename.cc: Add `current_source_filename'.
5442         * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
5443         parameter for source file string.
5444         Updated all callers.
5446         * src/libs/libdriver/input.cc: Add `current_source_filename'.
5447         (remember_source_filename): New function.
5448         (parse_x_command <'F'>, do_file <'F'>): Use it.
5450 2003-02-09  Werner LEMBERG  <wl@gnu.org>
5452         Make grotty not emit warnings about unknown colors more than
5453         necessary.
5455         * src/devices/grotty/tty.cc: Include `ptable.h'.
5456         (TTY_MAX_COLORS): Removed.
5457         (DEFAULT_COLOR_IDX): Defined to -1.
5458         (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
5459         (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
5460         Change `tty_colors' to be a ptable.
5461         First arg of `put_color' is now `char'.
5462         New functions `make_rgb_string' and `tty_color'.
5463         (tty_printer::tty_printer): Use `tty_color'.
5464         (tty_printer::color_to_idx): Return value is now `char'.
5465         Use `tty_color'.
5467         * src/include/color.h (color): Add `print_color' member function.
5468         * src/libs/libgroff/color.cc (color::print_color): Implement it.
5470 2003-02-08  Werner LEMBERG  <wl@gnu.org>
5472         Valgrind fixes.
5474         * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
5475         encoding file.
5477         * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
5478         assume that value has been allocated with `new[]', thus use
5479         `a_delete' for deallocation.
5481         * src/libs/libdriver/input.cc (get_integer_arg,
5482         get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
5483         where appropriate.
5485         * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
5486         * src/libs/libgroff/nametoindex.cc
5487         (character_indexer::named_char_index): Use `new <type>[1]'.
5489         * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
5490         <type>[1]'.
5491         * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
5492         (split_text): Use `a_delete'.
5494         * src/preproc/pic/pic.y (define_label, define_variable): Use `new
5495         <type>[1]'.
5497         * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
5498         harmless memory leak.
5499         (hyphen_trie::read_patterns_file): Initialize `buf'.
5500         * src/roff/troff/node.cc (troff_output_file::troff_output_file):
5501         Initialize `current_fill_color'and `current_glyph_color'.
5502         * src/roff/troff/glyphuni.cc
5503         (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
5504         * src/roff/troff/uniuni.cc
5505         (unicode_decompose_init::unicode_decompose_init): Ditto.
5506         * src/roff/troff/uniglyph.cc
5507         (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
5509 2003-01-26  Werner LEMBERG  <wl@gnu.org>
5511         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
5512         `access' before calling `unlink'.
5513         (do_file): Handle __EMX__.
5515         * src/include/nonposix.h: Handle __EMX__.
5517         * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
5518         (fontpath,tmacpath): Use it.
5519         (MDEFINES): Add it.
5520         Sorted alphabetically.
5522         * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
5523         @SEP@.
5524         * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
5525         @SEP@.
5527 2003-01-27  Werner LEMBERG  <wl@gnu.org>
5529         * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
5530         New files, copied from gnulib.
5531         * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
5532         * configure.ac: Updated.
5533         * configure: Regenerated.
5535         * src/include/config.hin: Regenerated.
5536         * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
5537         Don't define `strcasecmp' as `strcmp'.
5538         [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
5539         Dont define `strncasecmp' as `strncmp'.
5541         * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
5542         Removed.
5544 2003-01-26  Werner LEMBERG  <wl@gnu.org>
5546         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
5547         s/unline/unlink/.
5549 2003-01-25  Werner LEMBERG  <wl@gnu.org>
5551         * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
5553 2003-01-24  Werner LEMBERG  <wl@gnu.org>
5555         Add US-english hyphenation exceptions (converted from Barbara
5556         Beeton's hyphenation exception log reports which appear irregularly
5557         in TUGBoat).
5559         * tmac/hyphen.us: Updated to latest version.
5560         * tmac/README: Updated.
5561         * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
5562         * tmac/troffrc: Load `hyphenex.us'.
5563         * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
5564         * doc/groff.texinfo: Updated.
5566 2003-01-23  Werner LEMBERG  <wl@gnu.org>
5568         Improve hyphenation slightly.  This is a first step in redesigning
5569         the hyphenation algorithm to make it more flexible (e.g. allowing
5570         kerns and ligatures between the hyphenation character and the
5571         following character -- while not used normally in English, other
5572         languages like German would benefit).
5574         * src/roff/troff/env.cc (environment::hyphenate_line): Use
5575         assertion instead of if-clause.
5576         Let `get_hyphen_list' return the number of involved characters in
5577         the hyphenation pattern instead of computing it directly (which
5578         often yields too small values).
5579         * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
5580         * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
5581         parameter.
5583 2003-01-22  Werner LEMBERG  <wl@gnu.org>
5585         Fixing a bug which caused groff to hang if the hyphenation exception
5586         dictionary tried to grow.
5588         * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
5589         hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
5590         pointer to dictionary.
5592 2003-01-20  Werner LEMBERG  <wl@gnu.org>
5594         * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
5595         negative left italic correction.
5596         * src/utils/afmtodit/afmtodit.man: Document it.
5598         * font/devps/generate/Makefile (RFLAG): Add `-m'.
5599         * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
5600         S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
5602         * NEWS: Updated.
5604 2003-01-16  Werner LEMBERG  <wl@gnu.org>
5606         * NEWS: Updated.
5608 2003-01-16  Jörgen Grahn  <jgrahn@algonet.se>
5610         * src/preproc/refer/refer.man: Mention REFER environment variable.
5612 2003-01-05  Werner LEMBERG  <wl@gnu.org>
5614         Similar to \[is], the square root glyph (\[sr]) and the square root
5615         extension glyph (\[radicalex]) are now text symbols.  The new
5616         mathematical versions are called \[sqrt] and \[sqrtex],
5617         respectively.
5619         * font/devX*/S: Regenerated.
5620         * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
5621         * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
5622         * font/devdvi/EX, font/devdvi/S: Regenerated.
5623         * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
5624         * font/devlj4/generate/special.map: Add `sqrt'.
5625         * font/devlj4/S: Regenerated.
5626         * font/devps/generate/textmap: Add `sqrt'.
5627         * font/devps/S, font/devps/symbolmap: Regenerated.
5629         * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
5630         SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
5631         * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
5632         overlap horizontally.
5634         * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
5635         * tmac/dvi.tmac: Add `sr', and `sqrtex'.
5636         Fix `radicalex'.
5638         * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
5639         and `sqrtex' are overlapping glyphs.
5641 2003-01-04  Werner LEMBERG  <wl@gnu.org>
5643         * font/devdvi/generate/texsy.map: Add `is'.
5644         * font/devps/symbolmap: Regenerated.
5645         * font/devdvi/*TC, MI, S: Regenerated.
5647         * tmac/dvi.tmac: Remove `is'.
5649 2003-01-03  Werner LEMBERG  <wl@gnu.org>
5651         `is' is now a text symbol (only relevant for dvi).  The math variant
5652         can be accessed with `integral'.
5654         * font/devX*/S: Regenerated.
5655         * font/devdvi/generate/texex.map: Remove `is'.
5656         * font/devdvi/EX: Updated.
5657         * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
5658         * font/devlj4/generate/special.map: Ditto.
5659         * font/devlj4/S: Regenerated.
5660         * font/devps/generate/textmap: Add `integral'.
5661         * font/devps/S: Regenerated.
5663         * tmac/dvi.tmac: Define `is'.
5665         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
5667         * src/preproc/tbl/main.cc (process_format): Fix error message.
5669 2003-01-02  Werner LEMBERG  <wl@gnu.org>
5671         * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
5672         * font/devps/textmap: Fix entries for `ne' and `nc'.
5673         * font/devps/symbolmap: Regenerated.
5675         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
5676         src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
5677         `38', `58', `78', `-+', `|=', `nc', `ne'.
5679         * tmac/dvi.tmac: Add `nm', `ne', `nc'.
5680         Use `schar' for `aq'.
5681         * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
5682         * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
5683         * tmac/tty.tmac: Add `ne'.
5685         * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
5686         for fallback glyphs.
5688 2002-12-29  Werner LEMBERG  <wl@gnu.org>
5690         Add glyph `|='.
5692         * font/devX*/*: Regenerated.
5693         * font/devdvi/generate/ec.map: Remove `eq'.
5694         * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
5695         Assign `|=' to position 39.
5696         * font/devdvi/*EC, S: Regenerated.
5697         * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
5698         * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
5699         Assign `|=' to position 549.
5700         * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
5701         `equalmath'.
5702         Add `uni2243' for `|='.
5704         * tmac/ec.tmac: Add `eq'.
5705         * tmac/dvi.tmac: Add `=~'.
5706         * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
5707         `|='.
5709 2002-12-21  Werner LEMBERG  <wl@gnu.org>
5711         * font/devdvi/generate/tc.map: Remove `**'.
5712         * font/devdvi/*TC: Regenerated.
5713         * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
5714         `78', `<<', `>>'.
5715         * font/devutf8/NOTES: Updated.
5717         * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
5718         Don't give default parameter to `set_macro'.
5719         * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
5720         instead of `set_macro'.
5721         (charinfo::setx_macro): Implement it.
5722         (charinfo::set_macro): Don't change `mode'.
5724         * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
5725         * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
5726         * tmac/dvi.tmac: Define `!=' with `.schar'.
5728 2002-12-20  Werner LEMBERG  <wl@gnu.org>
5730         * font/devX*/S: Regenerated.
5731         * font/devdvi/generate/ec.map: Remove `pl'.
5732         * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
5733         * font/devdvi/*{TC,EC}: Regenerated.
5734         * font/devhtml/R.proto: Add `-+'.
5735         Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
5736         * font/devlbp/*: Remove `or'.
5737         * font/devlj4/generate/special.map: Remove `or'.
5738         * font/devlj4/S: Regenerated.
5739         * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
5740         `seveneighths', `threeeighths'.
5741         Remove `plusmath'.
5742         Replace `minusplus' with `uni2213'.
5743         * font/devps/symbolmap: Regenerated.
5744         * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
5745         Add `-+'.
5747         * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
5748         function.
5749         * src/roff/troff/node.cc (troff_output_file::put_char_width):
5750         Call glyph_color and fill_color even if tcommand_flag isn't set.
5751         (make_node, node::add_char): Check not ci->is_fallback but
5752         ci->is_normal.
5754         * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
5755         * tmac/ec.tmac: Add .rchar entry for `f/'.
5756         Don't remove `12', `14', `34'.
5757         Define `pl' to be always roman.
5758         * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
5759         Define `18', `38', `58', `78'.
5760         * tmac/tty.tmac: Add `-+'.
5761         * tmac/dvi.tmac: Define `f/'.
5762         (dvi-frac): Use `f/'.
5763         * tmac/X.tmac (X-frac, X-frac-mono): New macros.
5764         Define `18', `38', `58', `78'.
5766 2002-12-15  Colin Watson  <cjwatson@debian.org>
5768         * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
5770 2002-12-10  Werner LEMBERG  <wl@gnu.org>
5772         Add glyph `tno', a textual variant of `no'.
5774         * font/devX*/*: Regenerated.
5775         * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
5776         * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
5777         * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
5778         * font/devdvi/*: Regenerated.
5779         * font/devlbp/*: Add `tno'.
5780         * font/devlj4/generate/tex.map: Replace `no' with `tno'.
5781         * font/devlj4/*: Regenerated.
5782         * font/devps/generate/textmap: Replace `no' with `tno'.
5783         * font/devps/generate/symbolchars: Add `no'.
5784         * font/devps/*: Regenerated.
5786         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
5788         * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
5789         * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
5791         * NEWS: Updated.
5793         * tmac/dvi.tmac: Replace most `\\' with `\E'.
5794         Add definition for `sd'.
5795         * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
5797         * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
5799 2002-12-08  Werner LEMBERG  <wl@gnu.org>
5801         * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
5802         mode to avoid rounding errors.
5803         (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
5805         * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
5806         src/roff/troff/troff.man: Improve documentation of -T.
5808 2002-12-07  Jeff Conrad  <jeff_conrad@msn.com>
5810         * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
5811         (run_pipeline) [_WIN32]: Provide working function without `fork'.
5813 2002-12-06  Werner LEMBERG  <wl@gnu.org>
5815         * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
5816         glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
5817         Scaling Euro.sansserif glyphs down to have the same height as
5818         digits.
5819         Removed unnecessary points; added some extrema.
5821         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5822         Regenerated.
5824 2002-12-04  Werner LEMBERG  <wl@gnu.org>
5826         * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
5827         and `Euro.symbol.bold.slanted'.
5828         Improve some glyph offsets and widths.
5829         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5830         Regenerated.
5831         * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
5832         typo.
5833         * font/devps/generate/sfdtopfa.pe: Generate PFA in current
5834         direcory.
5836         * tmac/europs.tmac: Updated to new glyph indices.
5837         Use Euro.symbol for font familiy `A'.
5839         * doc/groff.texinfo: Minor improvements.
5841 2002-12-02  Werner LEMBERG  <wl@gnu.org>
5843         * font/devdvi/generate.tc.map: s/%O/%0/.
5844         * font/devdvi/*TC: Regenerated.
5846         * src/roff/troff/div.cc (init_div_requests): Sorted.
5848         * tmac/dvi.tmac: Remove `Ye'.
5849         * tmac/ec.tmac: Remove `Ye'.
5850         Add .rchar entry for `de'.
5852         * man/groff.man, man/groff_diff.man: Document register `.pe'.
5853         * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
5854         * NEWS: Updated.
5856 2002-11-30  Werner LEMBERG  <wl@gnu.org>
5858         Add PS font for various Euro glyphs.
5860         * font/devps/generate/freeeuro.sfd: New master font file for
5861         pfaedit.
5862         * font/devps/generate/sfdtopfa.pe: New conversion script for
5863         pfaedit.
5864         * font/devps/generate/Makefile (FONTS): Add `EURO'.
5865         (EURO, freeeuro.afm, freeeuro.pfa): New rules.
5866         * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
5867         `freeeuro.sfd'.
5868         * font/devps/EURO: Generated from `freeeuro.afm'.
5869         * font/devps/download: Add `freeuro.pfa'.
5870         * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
5871         `freeeuro.pfa'.
5873         * tmac/europs.tmac: New file.
5874         * tmac/ps.tmac: Include `europs.tmac'.
5875         * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
5877 2002-11-29  Werner LEMBERG  <wl@gnu.org>
5879         * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
5880         * font/devdvi/S: Regenerated.
5881         * font/devhtml/R.proto: Fix `CR' and `ci'.
5882         Add `OK'.
5883         * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
5884         Remove `bs'.
5885         * font/devps/symbolmap: Regenerated.
5886         * font/devutf8/R.proto: Fix `CR' and `ci'.
5887         Add `OK'.
5888         * font/devutf8/NOTES: Updated.
5890         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
5891         `ci'.
5892         Add `OK'.
5893         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5895         * tmac/dvi.tmac: Add `lh' and `rh'.
5896         * tmac/Xps.tmac: Fix `lh' and `rh'.
5897         * tmac/X.tmac: Add `OK'.
5898         * tmac/lj4.tmac: Ditto.
5900 2002-11-24  Werner LEMBERG  <wl@gnu.org>
5902         * font/devX*/S: Regenerated.
5903         * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
5904         `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
5905         * font/devdvi/generate/texsy.map: Remove `or' glyph.
5906         * font/devdvi/S: Regenerated.
5907         * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
5908         `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
5909         `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
5910         `bracketleftbt', `bracketrighttp', `bracketrightex',
5911         `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
5912         `braceex', `braceleftex', `bracerightex', `bracerighttp',
5913         `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
5914         `rb', and `bv'.
5915         * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
5916         * font/devutf8/NOTES: Updated.
5917         * font/devlj4/generate/special.map: Add glyph `braceex'.
5918         * font/devlj4/S: Regenerated.
5920         * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
5922 2002-11-14  Werner LEMBERG  <wl@gnu.org>
5924         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
5925         and `vA'.
5926         Fix code for `an'.
5927         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5929         * doc/texinfo.tex: New version from texinfo 4.3.
5930         * doc/groff.texinfo: Updated for texinfo 4.3.
5931         Use @tie{} where appropriate.
5932         * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
5933         * font/devdvi/generate/tc.map: Remove `rn'.
5934         * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
5935         * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
5936         Fix code for `an'.
5937         * font/devX100/*, font/devX100-12/*, font/devX75/*,
5938         font/devX75-12/*: Regenerated.
5940         * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
5941         Use .char (again) for `br', `ul', `rn', `or', and `ru'.
5942         Improve definition of `an'.
5943         * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
5944         `ru'.
5945         * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
5946         * tmac/X.tmac: Add definition for `or'.
5947         * tmac/Xps.tmac: Undo change 2002-11-05.
5948         * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
5950 2002-11-11  Werner LEMBERG  <wl@gnu.org>
5952         * src/roff/troff/node.cc (troff_output_file::put_char): Always
5953         call flush_tbuf.
5955 2002-11-10  Werner LEMBERG  <wl@gnu.org>
5957         Added three new requests `schar', `fschar', and `rfschar'.  `schar'
5958         defines a glyph which is searched after the check for fonts declared
5959         with `.special' (and before the check for all mounted special
5960         fonts).  `fschar' defines a glyph for a particular font which is
5961         searched after the check for fonts declared with `.fspecial' (and
5962         before the check for fonts declared with `.special').  `rfschar'
5963         removes glyphs defined with `fschar'.
5965         * src/roff/troff/token.h (char_mode): New enum.
5966         Declare do_define_character.
5967         * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
5968         `mode'.
5969         (charinfo::is_fallback): Updated.
5970         (charinfo::is_special): New method.
5971         * src/roff/troff/input.cc (do_define_character): Add and use
5972         optional second parameter used as a prefix for font-specific glyph
5973         names.
5974         (define_character, define_fallback_character): Updated.
5975         (define_special_character): New function.
5976         (init_input_requests): Add `schar'.
5977         (charinfo::charinfo, charinfo::set_macro): Updated.
5978         * src/roff/troff/node.cc: Include `stringclass.h'.
5979         (make_glyph_node): Handle special glyphs defined with `.schar' and
5980         `.fschar'.
5981         (define_font_special_character, remove_font_special_character): New
5982         functions.
5983         (init_node_requests): Sorted.
5984         Add `fschar' and `rfschar'.
5985         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5986         Document new requests.
5988         * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
5989         * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
5991 2002-11-08  Werner LEMBERG  <wl@gnu.org>
5993         Added new font `SC' (cmtex10) to devdvi.
5995         * devdvi/generate/Makefile (FONTS): Add `SC'.
5996         (SC): New rule.
5997         * devdvi/generate/textex.map: New map file for cmtex.
5998         * devdvi/SC: New.
5999         * devdvi/Makefile.sub (DEVFILES): Updated.
6000         * tmac/dvi.tmac: Add fspecial entries for SC.
6001         Add `MI', `S' and `CW' to the `special' call.  Otherwise, `SC' is
6002         found before `S' since the font position of `SC' is lower due to the
6003         gaps in DESC's `font' line.
6004         * tmac/ec.tmac: Add a `special' call.
6005         * NEWS: Updated.
6007         * font/devhtml/R.proto: Remove double entry for `ti'.
6008         * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6009         * tmac/tty-char.tmac: Remove entry for `bq'.
6010         * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6011         * tmac/ec.tmac: Don't remove `aq' glyph.
6012         * tmac/X.tmac: Fix entry for `em'.
6013         Add entries for `fo' and `fc'.
6014         * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6016         * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6017         documentation of `special' and `fspecial' requests.
6019 2002-11-05  Werner LEMBERG  <wl@gnu.org>
6021         * font/devascii/R.proto, font/devcp1047/R.proto,
6022         font/devlatin1/R.proto: Remove entry for `.i'.
6023         * font/devdvi/generate/textt.map: Add entry for `ad'.
6024         * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6025         font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6026         We need this for getting kerning values to compose `/l' and `/L'.
6027         * font/devdvi: Regenerated font definition files for CM fonts.
6028         * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6029         * font/devutf8/R.proto: Ditto.
6030         Remove double entry for `ti'.
6032         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6033         for (groff) ligatures, `la', and `ra'.
6034         Add "'C", "'c", `IJ', and `ij'.
6035         Remove double entry for `ti'.
6036         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6037         double entries.
6038         Add "'C", "'c", `IJ', and `ij'.
6039         Fix entries for (groff) ligatures, `la', and `ra'.
6041         * tmac/ps.tmac (ps-achar): New macro.
6042         Define "'c" and "'C".
6043         * tmac/tty.tmac: Add entry for `.i'.
6044         * tmac/X.tmac (X-achar): New macro.
6045         Define "'c", "'C", and `:Y'.
6046         Add entries for `IJ' and `ij'.
6047         * tmac/Xps.tmac (Xps-achar): New macro.
6048         Define "'c" and "'C".
6049         Add entries for `IJ' and `ij'.
6050         * tmac/lbp.tmac (lbp-achar): New macro.
6051         Add fallback characters for all groff ligatures and many other
6052         glyphs.
6053         * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6054         Add entries for `/l' and `/L'.
6055         Define "'c" and "'C".
6056         Add entries for `IJ' and `ij'.
6058 2002-11-02  Larry Kollar  <kollar@alltel.net>
6060         * PROBLEMS: Document how to solve Mac OS X compilation problems.
6062 2002-11-02  Werner LEMBERG  <wl@gnu.org>
6064         Adding support for composite glyphs: \[xxx yyy ...] and the
6065         `composite' request.
6067         * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6068         to Unicode-based glyph names.
6069         * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6070         glyph names to groff glyph names.
6071         * src/roff/troff/uniuni.cc: New file for canonically decomposing
6072         Unicode-based glyph names.
6073         * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6074         for handling Unicode glyph names.
6075         * src/roff/troff/input.cc: Include unicode.h.
6076         (composite_glyph_name): New function.
6077         (token::next) <'['>: Handle Unicode glyph names and composite
6078         glyphs.
6079         (composite_dictionary): New dictionary for the `composite' request.
6080         (composite_request): Implement `composite' request.
6081         (init_input_requests): Add `composite'.
6082         Alphabetically sorted.
6083         * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6084         commented out).
6085         (init_env_requests): Alphabetically sorted.
6086         Removed `tas' and `tar' (already commented out).
6087         * src/roff/troff/Makefile.sub: Updated.
6089 2002-10-31  Ruslan Ermilov  <ru@FreeBSD.org>
6091         * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6092         of options.
6094 2002-10-29  Werner LEMBERG  <wl@gnu.org>
6096         Fix computation of .trunc register.  Additionally, its value (and
6097         the value of the .ne register) is now always set before entering the
6098         trap.
6100         * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6101         `needed_space' before calling `space'.
6102         (top_level_diversion::space): Remove special code for 'sp before the
6103         first page.
6104         Call `begin_page' with the discarded space as a parameter.
6105         (top_level_diversion::begin_page): Add optional parameter to set
6106         `truncated_space'.
6107         * src/roff/troff/div.h: Updated.
6109         * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6110         \n[.ne].
6112         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6113         (LP): Remove superfluous call to `br'.
6114         * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6115         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6117 2002-10-26  Werner LEMBERG  <wl@gnu.org>
6119         * tmac/doc-ditroff: Remove useless switch/variable -rC.
6120         (doc-setup-header): Don't set page register `%'.
6121         * tmac/doc-nroff: Remove variable `C'.
6122         (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6123         (doc-setup-header): Don't set page register `%'.
6124         Don't call `bp'.
6125         * tmac/doc-common (doc-header): Call `ns'.
6126         (doc-paragraph): Protect .sp with .br so that it survives traps
6127         possibly set by the user.
6128         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6130         * tmac/doc*: Replace ' with . for consistency if no effect.
6132 2002-10-26  Werner LEMBERG  <wl@gnu.org>
6134         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6135         so that it survives traps possibly set by the user.
6137         * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6138         (troff_output_file::set_font): Call flush_tbuf if necessary.
6139         (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6140         flush_tbuf and do_motion only if necessary.
6141         (troff_output_file::start_special,
6142         troff_output_file::put_char_width, troff_output_file::put_char,
6143         troff_output_file::draw): Updated.
6144         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6145         vmotion_node::tprint): Undo change 2002-10-23.
6147 2002-10-25  Werner LEMBERG  <wl@gnu.org>
6149         * tmac/www.tmac (DC): Fix case of overlapping images.
6151 2002-10-23  Werner LEMBERG  <wl@gnu.org>
6153         * src/roff/troff/node.cc (troff_output_file::fill_color,
6154         troff_output_file::glyph_color): Set current color before testing
6155         color_flag.
6156         (troff_output_file::put_char_width, troff_output_file::put_char,
6157         troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6158         before glyph_color.
6159         (troff_output_file::file_color, troff_output_file::glyph_color):
6160         Call do_motion.
6161         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6162         vmotion_node::tprint): Move first, then call fill_color.
6164 2002-10-20  Werner LEMBERG  <wl@gnu.org>
6166         * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6167         possible to use multiple main macro packages.
6169 2002-10-19  Werner LEMBERG  <wl@gnu.org>
6171         * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6172         (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6173         (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6174         is set.
6175         * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6176         `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6178 2002-10-16  Werner LEMBERG  <wl@gnu.org>
6180         * NEWS, doc/webpage.ms: Updated.
6182 2002-10-14  Werner LEMBERG  <wl@gnu.org>
6184         * src/roff/troff/node.cc (troff_output_file::put_char_width,
6185         troff_output_file::put_char, troff_output_file::fill_color,
6186         troff_output_file::glyph_color): Handle case where color pointer
6187         is null.
6189 2002-10-13  Ruslan Ermilov  <ru@FreeBSD.org>
6191         Add the new -r option to grotty.  It is similar to the -i option
6192         except it tells grotty(1) to use the `reverse video' attribute to
6193         render italic fonts.
6195         * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6196         (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6197         (tty_printer::make_underline, tty_printer::put_color,
6198         tty_printer::end_page): Use it.
6199         (main): Add -r switch.
6200         (usage): Updated.
6201         * src/devices/grotty/grotty.man: Document it.
6203 2002-10-11  Ruslan Ermilov  <ru@FreeBSD.org>
6205         * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6206         cast to `unsigned char' to properly read patterns with 8bit
6207         characters.
6209 2002-10-08  Werner LEMBERG  <wl@gnu.org>
6211         * REVISION: Increased to 2.
6213 Local Variables:
6214 version-control: never
6215 coding: latin-1
6216 End: