* doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable. (CLEANADD): Use it.
[s-roff.git] / ChangeLog
blob9e75de80804bc31688cf08a3d42f09c696c85fb7
1 2006-02-26  Werner LEMBERG  <wl@gnu.org>
3         * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
4         (CLEANADD): Use it.
5         (install_html, uninstall_sub): Updated.
7 2006-02-26  Bruno Haible  <bruno@clisp.org>
9         Introduce Unicode fonts.
11         * font/devhtml/DESC.proto: Mark as unicode.
12         * font/devhtml/R.proto: Remove all charset entries that are already
13         in glyphuni.cpp.
14         * font/devutf8/DESC.proto: Mark as unicode.
15         * font/devutf8/R.proto: Remove all charset entries.
16         * src/include/font.h (font): New static field `is_unicode'.
17         Change order of fields.
18         * src/libs/libgroff/font.cpp: Include unicode.h.
19         (font::font): Update for changed order of fields.
20         (font::contains, font::get_width, font::get_height, font::get_depth,
21         font::get_italic_correction, font::get_left_italic_correction,
22         font::get_subscript_correction, font::get_character_type,
23         font::get_code, font::get_special_device_encoding): Handle both the
24         explicitly enumerated glyphs and use general code for Unicode fonts.
25         (font::load): Make the charset section optional when the font is
26         declared unicode.
27         (font::load_desc): Recognize the `unicode' attribute.
28         * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
30 2006-02-26  Claudio Fontana  <claudio@gnu.org>
32         * Makefile.in: Add comment about DESTDIR.
34         * Makefile.sub: Add DESTDIR to install and uninstall targets
35         to support staged installations.
36         * Makefile.comm: Likewise.
37         * doc/Makefile.sub: Likewise.
38         * contrib/eqn2graph/Makefile.sub: Likewise.
39         * contrib/gdiffmk/Makefile.sub: Likewise.
40         * contrib/grap2graph/Makefile.sub: Likewise.
41         * contrib/pic2graph/Makefile.sub: Likewise.
42         * src/devices/xditview/Makefile.sub: Likewise.
43         * src/preproc/eqn/Makefile.sub: Likewise.
44         * src/roff/grog/Makefile.sub: Likewise.
45         * src/roff/nroff/Makefile.sub: Likewise.
46         * src/utils/afmtodit/Makefile.sub: Likewise.
47         * src/utils/indxbib/Makefile.sub: Likewise.
48         * tmac/Makefile.sub: Likewise.
50 2006-02-24  Werner LEMBERG  <wl@gnu.org>
52         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
53         for \-.
54         Remove commented out entries for \' and \` (there are no such glyph
55         names).
57         * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
58         commented out entries for \' and \`.
61         * */*: s/legal/valid/ where appropriate.
63 2006-06-23  Werner LEMBERG  <wl@gnu.org>
65         * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
66         and \` entries.
68 2006-02-22  Werner LEMBERG  <wl@gnu.org>
70         Remove all remaining traces from the `shc' glyph.
72         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
73         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
74         entry for `shc'.
76         * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
77         entry with unnamed glyph.
79         * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
81         * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
82         specially.
84 2006-02-22  Bruno Haible  <bruno@clisp.org>
86         Concretize the `glyph' datatype.
88         * src/include/font.h (glyph): Remove class.
89         (glyph): Renamed from struct `glyphinfo'.
90         (glyph_to_index): New inline function.
91         (glyph_to_name): Make extern, not inline.
92         (glyph_to_number): Update.
93         (font): Use `glyph *' instead of `glyph'.
95         * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
96         `glyph'.  Make `name' field public.
97         (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
98         instead of `glyph'.
99         (glyph_to_name): Renamed from `glyph::glyph_name'.
101         * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
102         Use `glyph *' instead of `glyph'.
104         * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
105         `glyph *' instead of `glyph'.
106         (glyph_to_name): Renamed from `glyph::glyph_name'.
108         * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
109         and `glyph_to_index' instead of `glyph::glyph_index'.
111         * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
112         * src/libs/libdriver/printer.cpp: Likewise.
113         * src/devices/grodvi/dvi.cpp: Likewise.
114         * src/devices/grohtml/post-html.cpp: Likewise.
115         * src/devices/grolbp/lbp.cpp: Likewise.
116         * src/devices/grolj4/lj4.cpp: Likewise.
117         * src/devices/grops/ps.cpp: Likewise.
118         * src/devices/grotty/tty.cpp: Likewise.
120 2006-02-22  Werner LEMBERG  <wl@gnu.org>
122         * font/devdvi/generate/tc.map: Add `sr' glyph.
123         * font/devdvi/*TC: Regenerated.
125         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
126         for `sqrt'.
128 2006-02-21  Werner LEMBERG  <wl@gnu.org>
130         * man/groff_char.man: Explain `***' marker.
132 2006-02-17  Bruno Haible  <bruno@clisp.org>
134         * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
135         methods and fields from *_index to *_glyph.
136         (character_indexer::named_char_glyph): Test for `charNNN' name
137         here...
138         (name_to_glyph): ... not here.
140 2006-02-17  Bruno Haible  <bruno@clisp.org>
142         * src/include/font.h (name_to_glyph): Renamed from
143         font::name_to_index.
144         (number_to_glyph): Renamed from font::number_to_index.
145         (glyph_to_name): Renamed from font::index_to_name.
146         (glyph_to_number): Renamed from font::index_to_number.
147         * src/libs/libgroff/nametoindex.cpp: Likewise.
148         * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
149         charinfo::get_index.
151         * src/roff/troff/input.cpp: All callers changed.
152         * src/roff/troff/node.cpp: Likewise.
153         * src/libs/libgroff/font.cpp: Likewise.
154         * src/devices/grops/ps.cpp: Likewise.
155         * src/devices/grohtml/post-html.cpp: Likewise.
156         * src/libs/libdriver/printer.cpp: Likewise.
158 2006-02-17  Werner LEMBERG  <wl@gnu.org>
160         * src/include/ptable.h, src/include/itable.h
161         (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
162         of external symbol `next_ptable_size' (used by both header files).
164 2006-02-15  Bruno Haible  <bruno@clisp.org>
166         * src/include/font.h (glyphinfo): New class.
167         (glyph): Change internal representation.
168         Change constructor signature.
169         New method glyph::glyph_number().
170         (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
171         glyph::operator==, glyph::operator!=): Update.
172         (font::index_to_name, font::index_to_number): New functions.
174         * src/include/itable.h: New file, based on src/include/ptable.h.
176         * src/libs/libgroff/nametoindex.cpp: Include itable.h.
177         (class charinfo): New class.
178         (class character_indexer): Change table result type from `int' to
179         `class charinfo'.
180         Add table with integer key.
181         (character_indexer::character_indexer): Update.
182         (character_indexer::ascii_char_index): Update.
183         (character_indexer::numbered_char_index): Use NULL as name, not a
184         string starting with a space.
185         (character_indexer::named_char_index): Update.
186         (font::number_to_index, font::name_to_index): Remove no-op cast.
187         (glyph::glyph_name): New method.
188         * src/roff/troff/charinfo.h (class charinfo): Inherit from class
189         glyphinfo.
190         (NUMBERED): Remove flag bit.
191         (charinfo::numbered, charinfo::get_index): Update.
193         * src/roff/troff/input.cpp (charinfo::charinfo): Update.
194         (charinfo::set_number, charinfo::get_number): Update.
195         (glyph::glyph_name): New method.
197 2006-02-15  Werner LEMBERG  <wl@gnu.org>
199         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
200         entries for `>>', `<<', `*f', and `+f'.  Reported by Bruno.
202 2006-02-13  Werner LEMBERG  <wl@gnu.org>
204         * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
205         dvips.
207 2006-02-11  Werner LEMBERG  <wl@gnu.org>
209         * src/include/font.h: s/glyph_t/glyph/.
210         Update all callers.
212         * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
213         s/output_character_t/output_character/.
215 2006-02-11  Bruno Haible  <bruno@clisp.org>
217         New accessor method glyph_t::glyph_name().
219         * src/include/ptable.h (declare_ptable): Add a return value to the
220         `define' method, and declare a `lookupassoc' method.
221         (implement_ptable): Return the stored key in `define'.  Implement
222         lookupassoc.
223         * src/include/font.h (glyph_t): Add `name' field.  Add an argument
224         to the constructor.
225         (glyph_t::glyph_name): New method.
227         * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
228         return type of methods and field member type to glyph_t.
229         (character_indexer::character_indexer): Update.
230         (character_indexer::ascii_char_index): Allocate a name for the
231         glyph.
232         Return a glyph_t with name.
233         (character_indexer::numbered_char_index): Return a glyph_t without a
234         name.
235         (character_indexer::named_char_index): Return a glyph_t with a name.
236         (font::number_to_index, font::name_to_index): Update.
238         * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
239         the glyph's name.
241 2006-02-11  Bruno Haible  <bruno@clisp.org>
243         * src/devices/grotty/tty.cpp (output_character_t): New type.
244         (tty_printer::make_bold, tty_printer::add_char,
245         tty_printer::put_char): Change argument type to output_character_t.
246         (crossings): Change element type to output_character_t.
248 2006-02-11  Bruno Haible  <bruno@clisp.org>
250         Make the glyph data type abstract.
252         * src/include/font.h (glyph_t): New class.
253         (name_to_index, number_to_index): Change return type to glyph_t.
254         (font::contains, font::get_width, font::get_height, font::get_depth,
255         font::get_character_type, font::get_kern, font::get_skew,
256         font::get_italic_correction, font::get_left_italic_correction,
257         font::get_subscript_correction, font::get_code,
258         font::get_special_device_encoding, font::add_entry,
259         font::copy_entry, font::add_kern, font::hash_kern): Change argument
260         type to glyph_t.
262         * src/libs/libgroff/font.cpp (font_kern_list): Change members
263         type and constructor argument types to glyph_t.
264         (font::contains, font::get_width, font::get_height, font::get_depth,
265         font::get_character_type, font::get_kern, font::get_skew,
266         font::get_italic_correction, font::get_left_italic_correction,
267         font::get_subscript_correction, font::get_code,
268         font::get_special_device_encoding, font::add_entry,
269         font::copy_entry, font::add_kern, font::hash_kern): Change argument
270         type to glyph_t.
271         (font::load): Use glyph_t variables.
273         * src/libs/libgroff/nametoindex.cpp (name_to_index,
274         number_to_index): Change return type to glyph_t.
276         * src/roff/troff/charinfo.h (charinfo::index): Change type to
277         glyph_t.
278         (charinfo::get_index): Change return type to glyph_t.
280         * src/roff/troff/env.cpp: Include font.h.
282         * src/roff/troff/node.cpp: Include font.h before charinfo.h.
284         * src/roff/troff/input.cpp: Include font.h before charinfo.h.
285         (charinfo::charinfo): Update.
286         (name_to_index, number_to_index): Change return type to glyph_t.
288         * src/include/printer.h (printer::set_char_and_width): Change return
289         type to glyph_t.
291         * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
292         Change return type to glyph_t.
294         * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
295         argument type to glyph_t.
297         * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
298         (html_printer::space_glyph): Renamed from space_char_index.
299         (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
300         html_printer::overstrike, html_printer::set_char): Change argument
301         type to glyph_t.
302         (html_printer::set_char_and_width): Change return type to glyph_t.
304         * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
305         argument type to glyph_t.
307         * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
308         argument type to glyph_t.
310         * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
311         space_char_index.
312         (ps_printer::set_subencoding, ps_printer::set_char): Change argument
313         type to glyph_t.
315         * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
316         argument type to glyph_t.
318 2006-02-11  Bruno Haible  <bruno@clisp.org>
320         * src/roff/troff/input.cpp (font::name_to_index): Never return a
321         negative value.
323         * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
324         font::name_to_index.
326 2006-02-10  Werner LEMBERG  <wl@gnu.org>
328         * doc/groff.texinfo (Assigning Formats): Number registers are always
329         interpolated.
330         Apply some rephrasing, contributed by Michael Burt.
332 2006-02-07  Werner LEMBERG  <wl@gnu.org>
334         * tmac/fr.tmac <ms>: Set `HY' register.
336 2006-02-07  Werner LEMBERG  <wl@gnu.org>
338         Add framework for simple adaptation of the main macro packages (mm,
339         me, ms, mom) to different locales.  In particular, add support for
340         French.  For activation, simply use `-mfr' as the last macro
341         package.  This feature has been contributed by Fabrice Ménard
342         <menard.fabrice@wanadoo.fr>.
344         * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
345         New files.
346         * tmac/README: Mention hyphen.fr.
347         * man/groff_tmac.man: Mention fr.tmac.
348         * NEWS: Updated.
350 2006-01-27  Werner LEMBERG  <wl@gnu.org>
352         * man/groff_font.man: Updated documentation of `entity_name' field.
353         Avoid future tense.
355 2006-01-27  Bruno Haible  <bruno@clisp.org>
357         * font/devhtml/R.proto: Remove the entity names from the font's
358         special_encoding_encoding column.
359         * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
360         handling the entity names here.
361         (get_html_translation): Use it.  Change return type to `const
362         char *'.
363         (page::add_and_encode): Update, removing a useless cast.
365 2006-01-26  Werner LEMBERG  <wl@gnu.org>
367         This change is based on a patch by Bruno Haible <bruno@clisp.org>.
369         * src/include/device.h: Add comments.
370         * src/include/font.h: Add comments.
371         * src/include/unicode.h: Likewise.
372         * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
374 2006-01-26  Keith Marshall  <keith.d.marshall@ntlworld.com>
376         Suppress `.st' request emission by `grn'.
378         * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
379         (conv): Use it.
381 2006-01-22  Werner LEMBERG  <wl@gnu.org>
383         * install-sh: New version; taken from texinfo CVS.
385 2006-01-21  Werner LEMBERG  <wl@gnu.org>
387         * src/preproc/preconv/preconv.cpp (main): Set program_name.  Bug
388         reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
390 2006-01-19  Bruno Haible  <bruno@clisp.org>
392         Let `make -k install' install more files.
394         * Makefile.in (MAKE_K_FLAG): New variable.  Use it everywhere where
395         $(MAKE) and $(MDEFINES) are used.
396         (CPROGDIRS): Remove $(XPROGDIRS).  Treat $(XPROGDIRS) like
397         $(CPROGDIRS) everywhere.
398         ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
399         on $(XPROGDIRS).
400         ($(OTHERDIRS)): Likewise.
403         * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
404         failure test for font::name_to_index -- it can never fail.
406 2006-01-19  Werner LEMBERG  <wl@gnu.org>
408         * src/devices/grops/grops.man: Fix section on creating EPS files.
409         Don't use future time in manual.
410         Other minor fixes.
412 2006-01-15  Gaius Mulley  <gaius@glam.ac.uk>
414         * tmac/www.tmac: New macro LINKSTYLE which allows users to set
415         various typographical URL attributes for non-HTML devices.
417         * tmac/groff_www.man: Document LINKSTYLE.
419 2006-01-11  Werner LEMBERG  <wl@gnu.org>
421         * configure.ac: Test for getc_unlocked (needed for localcharset).
422         * configure, src/include/config.hin: Regenerated.
424         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
425         ENABLE_RELOCATABLE.
427         * src/libs/libgroff/relocatable.h: New dummy header file for
428         localcharset.c.
430         * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
431         gnulib version.
433 2006-01-10  Bruno Haible  <bruno@clisp.org>
435         Work around unportability of nl_langinfo(CODESET).
437         * m4/glibc21.m4: New file, from gnulib.
438         * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
439         * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
440         * Makefile.in (HOST, GLIBC21): New variables.
441         (MDEFINES): Pass them to subdirectories.
442         * src/include/relocate.h (relocatep): Define with C linkage.
443         * src/include/localcharset.h: New file, from gnulib.
444         * src/libs/libgroff/localcharset.c: New file, from gnulib with a
445         modification for relocate().
446         * src/libs/libgroff/config.charset: New file, from gnulib.
447         * src/libs/libgroff/ref-add.sin: New file, from gnulib.
448         * src/libs/libgroff/ref-del.sin: New file, from gnulib.
449         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
450         (OBJS): Add localcharset.o.
451         (CSRCS): Add localcharset.c.
452         (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
453         (charset.alias): New rule.
454         (PACKAGE): New variable.
455         (ref-add.sed, ref-del.sed): New rules.
456         (MKINSTALLDIRS): New variable.
457         (install_data): Depend on install_charset_data.
458         (install_charset_data): New rule for creating or updating
459         charset.alias.
460         (uninstall_sub): Depend on uninstall_charset_data.
461         (uninstall_charset_data): New rule for uninstalling or updating
462         charset.alias.
463         * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
464         of <langinfo.h>.
465         (main): Initialize default_encoding from locale_charset() instead of
466         nl_langinfo(CODESET).
468         * aclocal.m4, configure, src/include/config.hin: Regenerated.
470 2006-01-10  Werner LEMBERG  <wl@gnu.org>
472         * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
473         ICONV_CONST in call to iconv.  Reported by Robert Goulding.
475 2006-01-07  Werner LEMBERG  <wl@gnu.org>
477         * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
478         fontforge version.
479         Bump font version to 001.001.
481         * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
482         Call fontforge, not pfaedit.
484         * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
486 2006-01-05  Ruslan Ermilov  <ru@FreeBSD.org>
488         * tmac/doc-common: Add new FreeBSD and NetBSD versions.
489         * tmac/groff_mdoc.man: Updated.
491 2006-01-05  Werner LEMBERG  <wl@gnu.org>
493         * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
494         (raw_flag): New global variable.
495         (do_file): Use .lf to set file name (if `raw_flag' isn't set).
496         Don't pass BOM to `conversion_utf8'.
497         (usage): Updated.
498         (main): Handle `-r' command line switch to set `raw_flag'.
499         (get_BOM): Fix encodings in `BOM_table'.
501         * src/preproc/preconv/preconv.man: New file.  Not complete yet.
502         * src/preproc/proconv/Makefile.sub (MAN1): New variable.
504 2006-01-04  Werner LEMBERG  <wl@gnu.org>
506         * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
507         Bruno, comment out most encodings to support only a small set of
508         coding tags, thus reducing potential problems with legacy encodings
509         and character sets in the future.
510         Add many XEmacs coding tags (now commented out).
511         Add `cp1047'.
512         (check_encoding_tag): Renamed to...
513         (check_coding_tag): This.
514         (get_BOM): Return encoding as specified by BOM.
515         Test for UTF32-LE too.
516         (do_file): Don't check for coding tag if a BOM has been found.
518 2006-01-03  Bruno Haible  <bruno@clisp.org>
520         * m4/groff.m4: Renamed from aclocal.m4.
521         * m4/codeset.m4: New file, from gnulib.
522         * m4/iconv.m4: New file, from gnulib.
523         * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
524         gnulib.
525         * config.rpath: New file, from gnulib.
526         * config.guess, config.sub: New files, from gnulib.
527         * Makefile.sub (M4MACROS): New variable.
528         (configure): Fix typo.
529         (aclocal.m4): New rule.
530         (stamp-h.in): Depend on aclocal.m4.
531         * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
532         * Makefile.in (LIBICONV): New variable.
533         (MDEFINES): Pass it to recursive makes.
534         * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
535         HAVE_ICONV instead of I18N macro.
536         * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
538         * aclocal.m4, configure, src/include/config.hin: (Re)generated.
540 2006-01-03  Werner LEMBERG  <wl@gnu.org>
542         * doc/Makefile.in (webpage.html): Simplify.
543         * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
544         * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
546 2006-01-01  Werner LEMBERG  <wl@gnu.org>
548         * tmac/doc-common (Os): Add some Darwin versions.
549         * tmac/groff_mdoc.man: Document them.
551 2006-01-01  Bruno Haible  <bruno@clisp.org>
553         * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
554         corrections:
555           . Don't map ascii to latin-1.
556           . Don't use IBMxxx encodings but cpxxx for portability.
557           . Map cp932, cp936, cp949, cp950 to itself.
558         (emacs2mime): Protect calls to strcasecmp.
559         (conversion_iconv): Add missing call to iconv_close.
560         (do_file): Emit error message in case of unsupported encoding.
562 2005-12-31  Werner LEMBERG  <wl@gnu.org>
564         Integrate preconv into the groff binary.  Changes based on a patch
565         from Michail Vidiassov.
567         * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
569         * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
570         (SOELIM_INDEX): Updated.
571         (help, synopsis): Updated.
572         (main): Add command line options `-k' and `-K enc' to select
573         encoding.
574         Add support for GROFF_ENCODING environment variable.
576         * src/roff/groff/groff.man: Updated and revised.
579         Start with autoconf support for preconv.
581         * configure.ac: Call AC_C_BIGENDIAN.
582         * configure, src/include/config.hin: Regenerated.
584 2005-12-30  Werner LEMBERG  <wl@gnu.org>
586         New preprocessor `preconv' to convert input encodings to something
587         groff can understand.  Not yet integrated within groff.  Proper
588         autoconf stuff is missing too.
590         Tomohiro Kubota has written a first draft of this program, and some
591         ideas have been reused (while almost no code has been taken
592         actually).
594         * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
595         New files.
597         * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
598         (GROFF_BIN_PATH): Add preconv.
600 2005-12-12  Werner LEMBERG  <wl@gnu.org>
602         * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
603         In particular, don't use `\+' since it is a GNU sed extension.
605         * configure: Regenerated.
607 2005-12-09  Werner LEMBERG  <wl@gnu.org>
609         * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp. 
611         * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
612         4.1.0.
615         * src/utils/afmtodit/make-afmtodit-tables: New script to generate
616         afmtodit.tables.
618         * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
619         4.1.0 data.
621         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
622         %AGL_to_unicode): Removed.  Replace it with a tag.
624         * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
625         to replace tag with actual file contents.
627 2005-12-08  Werner LEMBERG  <wl@gnu.org>
629         The change 2005-06-20 can indeed cause problems, so we follow the
630         advice by using marks.
632         * font/devps/prologue.ps (PBEGIN): Use `mark'.
633         (PEND): Use `cleartomark'.
635 2005-12-07  Michail Vidiassov  <master@iaas.msu.ru>
637         * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
638         glyphs which have kern values but aren't handled (glyph variants,
639         for example).
641 2005-12-02  Werner LEMBERG  <wl@gnu.org>
643         * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
644         subfont index.  Reported by Michail Vidiassov <master@iaas.msu.ru>.
646 2005-11-28  Gaius Mulley  <gaius@glam.ac.uk>
648         * doc/Makefile.in: Separate rule for webpage.html so that extra
649         command line options can be passed to grohtml.
650         * doc/groff.css: Change all margins to 0%.
651         * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
652         navigation is exploited.  Also update webpage to contain new
653         sections on licences, mailing lists, cvs/ftp access, groff
654         dependencies, and bug reports.
655         * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
656         * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
657         
658 2005-11-25  Gaius Mulley  <gaius@glam.ac.uk>
660         * src/devices/grohtml/post-html.cpp
661         (html_printer::do_file_components): Add fputs calls to emit the
662         head contents and shut down the head tag whenever a new file
663         component is generated.
665 2005-11-22  Gaius Mulley  <gaius@glam.ac.uk>
667         * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
668         call to flush_text to flush any outstanding html tags on the
669         paragraph stack.
671 2005-11-18  Werner LEMBERG  <wl@gnu.org>
673         * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
674         Announce makeinfo version.
675         * configure: Regenerated.
677 2005-11-18  Mike Frysinger <vapier@gentoo.org>
679         * Makefile.in: Declare proper dependencies between make targets.
681         * doc/Makefile.in: Rename groff info page to `groff.info'.
682         * doc/Makefile.sub: Likewise.
683         * doc/groff.texinfo: Likewise.
685 2005-11-17  Peter O'Gorman  <mlists@thewrittenword.com>
687         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
688         definition of __GETOPT_PREFIX to the beginning of file to ensure
689         that it is defined even on platforms where getopt.h is already
690         included by other header files.
692 2005-11-10  Gaius Mulley  <gaius@glam.ac.uk>
694         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
695         Reset font to NULL to ensure that a font block is recreated during
696         the next paragraph.
698 2005-11-04  Werner LEMBERG  <wl@gnu.org>
700         * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
701         * configure: Regenerated.
703 2005-10-27  Werner LEMBERG  <wl@gnu.org>
705         * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
706         makeinfo 4.8 or newer is available.
707         * configure.ac: Call GROFF_MAKEINFO.
708         * configure: Regenerated.
710         * Makefile.in (MAKEINFO): Use autoconf variable.
711         (MDEFINES): Add MAKEINFO.
713         * doc/Makefile.in (MAKEINFO): Use autoconf variable.
714         * doc/Makefile.sub (MAKEINFO): Remove.
716 2005-10-26  Werner LEMBERG  <wl@gnu.org>
718         * REVISION: Set to 3.
720 2005-10-17  Werner LEMBERG  <wl@gnu.org>
722         Mention $MANPAGER variable used with some `man' systems.
724         * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
726 2005-09-13  Werner LEMBERG  <wl@gnu.org>
728         * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
730 2005-09-04  Werner LEMBERG  <wl@gnu.org>
732 Version 1.19.2 released
733 =======================
735         * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
737         * doc/webpage.ms: Updated.
739         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
741 2005-09-04  Jörgen Grahn <jgrahn@algonet.se>
743         * tmac/groff_ms.man: Document `PO' better.
745 2005-09-03  Werner LEMBERG  <wl@gnu.org>
747         * NEWS: Document grotty changes.
749 2005-09-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
751         Backward compatibility support for `man' program.
753         * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
754         assignment, prior `.ll' request and then package defaults, in this
755         specified order of decreasing priority.
757         * tmac/groff_man.man, doc/groff.texinfo: Document altered `LL'
758         register initialization priorities.
760 2005-08-29  Gary W. Swearingen  <garys@opusnet.com>
762         * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
763         section should look like.
765 2005-08-29  Werner LEMBERG  <wl@gnu.org>
767         * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
768         be abbreviated.
770 2005-08-27  Bernd Warken
772         * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
773         fixes.
775 2005-08-11  Bernd Warken
777         * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
779 2005-08-09  Bernd Warken
781         * tmac/www.tmac (URL, MTO): Use bold series if color support is
782         deactivated.
784 2005-08-02  Bernd Warken
786         * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
787         as argument to $(INSTALL_INFO).  The latter isn't portable.
788         Remove $(HTMLEXAMPLEFILES) too.
790         * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
791         $(datadir)/doc too.
792         Suppress warning messages and return always true.
794         * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
796 2005-07-02  Bernd Warken
798         * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
799         * man/groff_out.man: More markup and minor improvements.
800         * src/roff/groff/groff.man: Minor improvements.
802 2005-06-28  Werner LEMBERG  <wl@gnu.org>
804         * ChangeLog: Split off older entries into...
805         * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
806         files.
808 2005-06-26  Bernd Warken
810         * src/devices/xditview/gxditview.man: More minor fixes.
812 2005-06-24  Werner LEMBERG  <wl@gnu.org>
814         * src/preproc/pic/troff.cpp (troff_output::set_fill,
815         troff_output::set_color, troff_output::reset_color): Use .bcolor and
816         .fcolor instead of \m and \M, respectively.
818 2005-06-23  Bernd Warken
820         * src/devices/xditview/gxditview.man: More minor fixes.
821         * README: Formatting issues.
822         Mention some problems with Debian.
824 2005-06-23  Bernd Warken
826         * src/devices/xditview/gxditview.man: Revised and improved.
828 2005-06-22  Werner LEMBERG  <wl@gnu.org>
830         Another round in fixing getopt problems.  Hopefully the last one!
831         This time we use the getopt stuff from gnulib and define a prefix
832         unconditionally so that there are no collisions with any other
833         getopt implementations.  This is a slight waste of space in case
834         we already use a GNU getopt implementation, but on
835         the other hand it really simplifies life.
837         * src/include/getopt.h: Use gnulib version.
839         * src/include/getopt_int.h: Use gnulib version.
841         * src/include/groff-getopt.h: Removed.  Obsolete now.
843         * src/include/lib.h: Regarding getopt, don't handle any platform
844         specially; just include getopt.h.
845         (__GETOPT_PREFIX): Define (before getopt.h).
847         * src/include/Makefile.sub (HDRS): Updated.
849         * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
850         gnulib version.
852         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
853         __GETOPT_PREFIX.
855         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
856         (__GETOPT_PREFIX): Define (before getopt.h).
858 2005-06-21  Werner LEMBERG  <wl@gnu.org>
860         * src/include/lib.h: Provide a fix for Mac OS X to not include
861         groff-getopt.h.
863 2005-06-20  Denis M. Wilson  <dmw@oxytropis.plus.com>
865         * font/devps/prologue.ps (EP): Dont' use `bind'.  Reason: Using
866         `bind' to define a procedure which contains `showpage' means that an
867         invocation of `showpage' may execute wrongly (the exact effect
868         depending on the interpreter).  Not usually a problem except under
869         transformations, such as combining pages.
870         (PEND): Don't call `clear'.  Reason: Using `clear' in the definition
871         of /PEND means that stack underflow will occur if the stack is
872         deliberately non-empty before document inclusion.  If included
873         files are found to be generally badly behaved, we could replace the
874         `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
875         never found this necessary).
877 2005-06-20  Jörgen Grahn  <jgrahn@algonet.se>
879         * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
880         earlier to get correct error message.
882 2005-06-16  Bernd Warken
883         * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
885 2005-06-15  Werner LEMBERG  <wl@gnu.org>
887         Another try to update getopt files.  This time we add a dummy
888         gettext.h file to satisfy the dependency.
890         * src/include/getopt.h, src/libs/libgroff/getopt.c,
891         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
893         * src/include/getopt_int.h: New file (from GNU libc CVS).
895         * src/include/gettext.h: Dummy file which just defines a gettext()
896         macro.
898         * src/include/groff-getopt.h: Updated.
900         * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
903         * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
904         `const' keywords in return value.
906         * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
907         Remove redundant variable `old'.
908         (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
910         * src/preproc/tbl/main.cpp (process_table): Remove redundant
911         variable `c'.
914         Fix more friend name injection problems since modern C++ compilers
915         fail otherwise.  We simply provide (global) declarations for all
916         functions declared as friends.  This is not really necessary but
917         doesn't harm.
919         * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
920         peek_char, and get_location.
922         * src/preproc/refer/ref.h: Provide declarations for
923         compare_reference, same_reference, same_year, same_date,
924         same_author_last_name, and same_author_name.
926         * src/roff/troff/div.h: Provide declarations for do_divert and
927         page_offset.
929         * src/roff/troff/env.h: Provide declarations for title_length,
930         space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
931         vertical_spacing, post_vertical_spacing, line_spacing, line_length,
932         indent, temporary_indent, do_underline, do_input_trap, set_tabs,
933         margin_character, no_number, number_lines, leader_character,
934         tab_character, hyphenate_request, no_hyphenate,
935         hyphen_line_max_request, hyphenation_space_request,
936         hyphenation_margin_request, line_width, tabs_save, tabs_restore,
937         line_tabs_request, widow_control_request, and do_divert.
939         * src/roff/troff/input.cpp: Provide declaration for chop_macro.
941         * src/roff/troff/node.cpp: Provide declarations for class
942         tfont_spec.
943         Provide declaration for make_tfont.
945 2005-05-29  Werner LEMBERG  <wl@gnu.org>
947         * doc/fdl.texi: Updated to version 1.2.  Reported by Bernd Warken.
949 2005-05-28  Werner LEMBERG  <wl@gnu.org>
951         * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
952         `--style'.
954         * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
955         redundant semicolons.
957         * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
958         src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
959         Define `MLIB'.  Some compilers need this for linking with libgroff.
961 2005-05-27  Werner LEMBERG  <wl@gnu.org>
963         * MANIFEST, README, doc/webpage.ms: Updated.
965 2005-05-26  Werner LEMBERG  <wl@gnu.org>
967         * All affected files: Update postal address of FSF.
969 2005-05-25  Keith Marshall  <keith.d.marshall@ntlworld.com>
970             Bernd Warken
972         * README: More fixes.
974         * README.CVS: Removed.  Its contents is now part of the README file.
976 2005-05-21  Werner LEMBERG  <wl@gnu.org>
978         * README: Updated.  Based on a patch from Bernd Warken.
980 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
982         Miscellaneous script portability enhancements.
984         * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
985         generated conftest.sh script, conforming to portability
986         recommendation in autoconf docs.
987         * configure: Likewise, for code generated by GROFF_CSH_HACK.
988         * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
989         to portability recommendation in autoconf docs.
990         * contrib/gdiffmk/gdiffmk.sh: Likewise.
991         * contrib/gdiffmk/tests/runtests.in: Likewise.
992         * contrib/grap2graph/grap2graph.sh: Likewise.
993         * contrib/groffer/groffer.sh: Likewise.
994         * contrib/mm/mmroff.pl: Likewise.
995         * contrib/mom/momdoc/appendices.html: Likewise.
996         * contrib/pic2graph/pic2graph.sh: Likewise.
997         * font/devps/generate/afmname: Likewise.
998         * src/devices/xditview/ad2c: Likewise.
999         * src/preproc/eqn/neqn.sh: Likewise.
1000         * src/roff/grog/grog.pl: Likewise.
1001         * src/roff/grog/grog.sh: Likewise.
1002         * src/roff/nroff/nroff.sh: Likewise.
1003         * PROBLEMS: Likewise, in embedded script examples.
1005 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
1007         Improve portability of `pdfroff' shell script.
1009         * arch/misc/shdeps.sh: Add space in shebang, conforming to
1010         portability guidelines in `autoconf' docs.
1011         (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1012         initialization code.  Used by contrib/pdfmark/pdfroff.sh's
1013         `searchpath' function.
1015 2005-05-14  Werner LEMBERG  <wl@gnu.org>
1017         * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1018         contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1019         needed for newer ImageMagick versions.
1021 2005-05-07  Werner LEMBERG  <wl@gnu.org>
1023         * src/preproc/refer/refer.man: Many small typographic fixes.
1025 2005-05-06  Jeff Conrad  <jeff_conrad@msn.com>
1027         * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1028         Use `char *' cast for a_delete.
1030 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1032         * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1033         src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1035 2005-05-03  Jeff Conrad  <jeff_conrad@msn.com>
1037         * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1038         `a_delete' for `const char *'.
1040 2005-05-03  Werner LEMBERG  <wl@gnu.org>
1042         * src/devices/grohtml/post-html.cpp,
1043         src/devices/grohtml/html-table.cpp,
1044         src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1045         Replace malloc/free with new/delete/a_delete.
1047         * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1048         are prohibited with ANSI C++.
1049         (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1050         function has a variable number of arguments).
1052         * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1053         Simplify function and update all callers.
1055 2005-05-02  Werner LEMBERG  <wl@gnu.org>
1057         Undo getopt changes from 2005-04-30.  We don't want a dependency
1058         on gettext.
1060         * src/include/getopt_int.h: Removed.
1062         * src/include/getopt.h, src/include/groff-getopt.h,
1063         src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1064         src/libs/libgroff/getopt1.c: Revert to previous version.
1067         * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1069         * src/include/posix.h (F_OK): Define conditionally.
1071         * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1072         different variable name in second `for' loop to avoid MSVC compiler
1073         problem.
1075 2005-04-30  Werner LEMBERG  <wl@gnu.org>
1077         AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1079         * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1080         * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1081         * configure, src/include/config.hin: Regenerated.
1083         * PROBLEMS: Updated.
1086         Update getopt files.
1088         * src/include/getopt.h, src/libs/libgroff/getopt.c,
1089         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1091         * src/include/getopt_int.h: New file (from GNU libc CVS).
1093         * src/include/groff-getopt.h: Updated.
1095         * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1098         * font/devutf8/NOTES: Updated.
1100 2005-04-28  Werner LEMBERG  <wl@gnu.org>
1102         Bug fix for Win32 relocatable code.  Based on a patch from Keith
1103         Marshall.
1105         * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1106         also.
1108         * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1109         (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1111 2005-04-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
1113         Correct `gnu.eps' handling for build from distribution tarball, with
1114         separate source and build directories.
1116         * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1117         grnexmpl.g, groff.css and gnu.eps from source to build directory;
1118         generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1119         (prepare_examples): Make it depend on examples.stamp.
1120         (CLEANADD): Add examples.stamp.
1122 2005-04-27  Werner LEMBERG  <wl@gnu.org>
1124         Implement the rule
1126           position: `(' position `)'
1128         in pic.
1130         * src/preproc/pic/pic.y (position, position_not_place): Handle
1131         additional parentheses.
1133         * doc/pic.ms: Updated.
1135 2005-04-23  Larry Jones  <lawrence.jones@ugs.com>
1137         * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1139 2005-04-18  Werner LEMBERG  <wl@gnu.org>
1141         * src/roff/groff/pipeline.c: Don't include ctype.h.
1143 2005-04-13  Werner LEMBERG  <wl@gnu.org>
1145         * src/roff/nroff/nroff.man: Document option `-M'.
1147 2005-04-13  Bruce Lilly  <blilly@erols.com>
1149         * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1151 2005-04-01  Kees Zeelenberg  <kzlg@users.sourceforge.net>
1152             Werner LEMBERG  <wl@gnu.org>
1154         Add binary relocation support for Windows platforms.
1156         * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1158         * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1160         * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1161         (search_path::search_path, search_path::open_file_cautious): Use
1162         `relocate'.
1164         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1165         src/include/Makefile.sub (HDRS): Updated.
1167 2005-04-01  Werner LEMBERG  <wl@gnu.org>
1169         * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
1170         strsave/a_delete.
1172         * src/libs/libgroff/font.cpp: Replace strdup with strsave.
1174         * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
1175         lib.h already does it.
1177         * src/libs/libgroff/maxpathname.cpp: New file, defining
1178         path_name_max.
1180         * src/include/lib.h: Add prototype for path_name_max.
1182         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
1184         * src/include/nonposix.h (PATH_EXT): New macro.
1186 2005-03-28  Werner LEMBERG  <wl@gnu.org>
1188         Add support for double- and zero-width characters in grotty.
1190         * src/devices/grotty/tty.cpp (glyph): Add width.
1191         (tty_printer::make_underline, tty_printer::make_bold,
1192         tty_printer::add_character): Add parameter to pass character width.
1193         Update all callers.
1194         (tty_printer::end_page): Increase hpos by actual character width.
1196         * font/devutf8/R.proto: Specify zero width for non-spacing
1197         characters.
1199         * tmac/unicode.tmac: Remove definitions for non-spacing entities.
1201         * Makefile.comm (extraclean): Remove more junk files.
1203 2005-03-25  Werner LEMBERG  <wl@gnu.org>
1205         * configure.ac: Undo change from 2005-03-24.
1206         * configure: Regenerated.
1208 2005-03-24  Werner LEMBERG  <wl@gnu.org>
1210         * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
1211         (dist): Search Makefile while descending into $(EXTRADIRS).
1213         * doc/Makefile.in (.PHONY): Add.
1214         (clean): Don't remove *.png and *.eps.
1215         Don't handle *.gif.
1216         (realclean): Remove *.png and *.eps.
1217         (extraclean): Depend on distclean.
1219         * configure.ac: Add copyright.
1220         Handle contrib/pdfmark/Makefile.
1222         * configure: Regenerated.
1224 2005-03-18  Larry Kollar  <kollar@alltel.net>
1226         Add numbered and definition lists to www.tmac.
1228         * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
1229         www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
1230         auxiliary string registers.
1231         (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
1232         www-ol-ctr3, www-dl-shift): New auxiliary number registers.
1233         (www-level): Removed.
1234         (www-level1, www-level2, www-level3): Initialize to empty.
1235         (www-level0, www-level4, www-level5, www-level6, www-level7,
1236         www-level8, www-level9): New string registers.
1237         (www-push-li, www-pop-li): New macros.
1238         (www-push-level, www-pop-level): Renamed to...
1239         (www-push-ul-level, www-pop-ul-level): This.
1240         Updated.
1241         (www-push-ol-level, www-pop-ol-level): New macros.
1242         (ULS, ULE): Updated.
1243         (OLS, OLE, DLS, DLE): New user macros.
1244         (LI): Removed.  It is aliased to one of...
1245         (www-li-ul, www-li-ol, www-li-dl): New macros.
1247         * tmac/groff_www.man: Document new macros.
1249         * NEWS: Updated.
1251 2005-03-18  Werner LEMBERG  <wl@gnu.org>
1253         * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
1254         doc-operating-system-NetBSD-2.0.2): New strings.
1256         * tmac/groff_mdoc.man: Updated.
1258 2005-03-17  Werner LEMBERG  <wl@gnu.org>
1260         * doc/Makefile.sub (CLEANADD): Add `groff.html'.
1262 2005-03-17  Werner LEMBERG  <wl@gnu.org>
1264         * src/libs/libgroff/hypot.c: Renamed to...
1265         * src/libs/libgroff/hypot.cpp: This.  Updated to C++.
1267         * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
1269         * src/include/lib.h: Updated.
1271 2005-03-16  Werner LEMBERG  <wl@gnu.org>
1273         Add workaround for broken hypot() on Interix.
1275         * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
1277         * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
1278         (CSRCS): Add `hypot.c'.
1280         * src/include/lib.h: Declare `groff_hypot'.
1282         * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
1283         Use `groff_hypot'.
1285         * src/preproc/pic/pic.h: Don't declare `hypot'.
1287         * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
1289 2005-03-15  Gaius Mulley  <gaius@glam.ac.uk>
1291         * src/devices/grohtml/post-html.cpp
1292         (html_printer::lookahead_for_tables): End .ce properly to avoid a
1293         segfault.
1295 2005-03-15  Werner LEMBERG  <wl@gnu.org>
1297         makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
1299         * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
1301         * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
1303 2005-03-14  Werner LEMBERG  <wl@gnu.org>
1305         Add Cyrillic support to devutf8 and devhtml.
1307         * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
1309         * tmac/unicode.tmac: New file.
1311         * tmac/tty.tmac: Include unicode.tmac if device is utf8.
1313         * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
1315         * NEWS: Updated.
1317 2005-03-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
1319         * src/libs/libdriver/printer.cpp (check_for_output_error): New
1320         function.  It has been introduced to catch peculiar error contexts
1321         on MS-Windows platforms.
1323 2005-02-28  Werner LEMBERG  <wl@gnu.org>
1325         * src/roff/troff/input.cpp (string_iterator::fill): Protect against
1326         null pointer.
1328         * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
1330         * configure: Regenerated.
1332         * NEWS: Updated.
1334 2005-02-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
1336         Integrate `pdfmark' into normal groff build system;
1337         install macro `pdfmark' packages, build and install `pdfroff',
1338         and PDF format documentation.
1340         * Makefile.comm: Add PDFDOCDIR.
1342         * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
1343         pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
1344         (unstall_dirs): Add pdfdocdir.
1346         * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
1347         `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
1348         (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
1349         GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
1350         (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
1351         (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
1352         set ALT_AWK_PROGS.
1353         (GROFF_AWK_PATH): New function; support `--with-awk' option, force
1354         use of GROFF_AWK_PREFS.
1355         (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
1356         and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
1358         * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
1359         Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
1360         also by modified GROFF_HTML_PROGRAMS).
1362 2005-02-27  Gaius Mulley  <gaius@glam.ac.uk>
1364         * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
1365         paragraph spacing.
1366         (html_text::done_para): Unset `start_space'.
1367         (html_text::remove_para_align): Call `retrieve_para_space' for the
1368         spacing.
1370         * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
1371         `seen_space'.
1372         (html_printer::do_check_center): Emit vertical space if necessary.
1374         * src/roff/troff/env.cpp (environment_switch): Preserve
1375         `seen_space', `seen_eol', and `suppress_next_eol' while switching
1376         environments.
1378         * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
1379         `is_special'.
1381 2005-02-20  Werner LEMBERG  <wl@gnu.org>
1383         * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
1384         eqn.
1386 2005-02-17  Werner LEMBERG  <wl@gnu.org>
1388         * doc/pic.ms, man/groff.man: Fix typos.
1390         * doc/groff.texinfo: Fix typos.
1391         (\LEmacro): Get proper mathematical spacing.
1393 2005-02-16  Werner LEMBERG  <wl@gnu.org>
1395         * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
1396         * configure: Regenerated with autoconf 2.59b.
1398 2005-02-16  Gaius Mulley  <gaius@glam.ac.uk>
1400         * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
1401         html_printer::start_font): Fix handling of preformatted text.
1403 2005-02-15  Gaius Mulley  <gaius@glam.ac.uk>
1405         These patches modify the indentation implementation to use `<p
1406         style=margin-left: n%>'.  Many thanks to Peter and Larry for
1407         suggesting this solution.  Grohtml only uses tables for `.IP' and
1408         related tags when the first operand has a short width.
1410         Similarly, they modify all vertical space code.  By default, grohtml
1411         sets up a style sheet which uses no vertical space between `table',
1412         `pre', and `p' tags.  It forces spaces when it needs them using
1413         `style="margin-top: 1em"'.
1415         * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
1416         (html_table::emit_table_header, html_table::emit_new_row):
1417         Rewritten.
1418         (html_table::set_space): New function.
1419         (html_indent::html_indent): Don't set `is_used'.
1420         (html_indent::begin): Rewritten.
1421         (html_indent::end): Remove code in function.
1423         * src/devices/grohtml/html-table.h: Updated.
1424         (html_table): Make `out' public.
1426         * src/devices/grohtml/html-text.cpp (html_text::html_text):
1427         Initialize `start_space' with FALSE.
1428         (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
1429         (html_text::issue_tag): Add argument to handle space style.
1430         (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
1431         (html_text::flush_text): Don't set `start_space'.
1432         (html_text::push_para): Don't set `p->really_issued'.
1433         (html_text::do_emittext): Updated.
1434         (html_text::do_para): Add paremeter to handle space.
1435         Update all callers.
1436         (html_text::retrieve_para_space): New function.
1438         * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
1439         (tag_definition): Remove `really_issued'.
1440         (html_text): Updated.
1442         * src/devices/grohtml/post-html.cpp (html_printer): Add variables
1443         `current_column' and `row_space'.
1444         Update constructor.
1445         (html_printer::emit_raw, html_printer::write_header,
1446         html_printer::do_indent, html_printer::do_check_center,
1447         html_printer::do_tab_ts): Handle vertical space.
1448         (html_printer:do_tab_te, html_printer::do_end_para): Call
1449         `remove_para_space'.
1450         (html_printer::do_col): Rewritten.
1451         (html_printer::flush_globs): Remove debugging code.
1452         (html_printer::is_line_start): New function.
1453         (html_printer::start_font): Use `is_line_start'.
1454         (html_printer::writeHeadMetaStyle): New function.
1455         (html_printer::do_file_components, html_printer::~html_printer):
1456         Call `writeHeadMetaStyle'.
1458         * tmac/www.tmac (www-handle-percent): New macro.
1459         (MPIMG): Handle percent values for width and height parameters.
1460         (DC): Updated.
1462         * tmac/groff_www.man: Updated.
1464 2005-02-14  Werner LEMBERG  <wl@gnu.org>
1466         * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
1467         $psname and $italic_angle.
1468         Immediately restart file input loops if `split' returns an empty
1469         array.
1471 2005-02-13  Michail Vidiassov  <master@iaas.msu.ru>
1472             Werner LEMBERG  <wl@gnu.org>
1474         Update afmtodit to better support Unicode (Michail).
1475         Update afmtodit to use Perl 5 syntax (Werner).
1477         * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
1478         `Getopts::Std'.
1479         Decorate variables with `my' where necessary.
1480         Use `defined' where necessary to avoid warnings.
1481         Don't use `do' for subroutine calls.
1482         Other minor syntax updates.
1483         Check for both `uXXXX[X[X]]' and `uniXXXX'.
1484         Handle glyph variants properly.
1485         (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
1486         strings.
1488         * src/utils/afmtodit/afmtodit.man: Updated.
1490 2005-02-13  Werner LEMBERG  <wl@gnu.org>
1492         Make groff.texinfo work with texinfo 4.8.
1494         * doc/groff.texinfo (@Var): Use @r and @slanted.
1495         (@defdummy, @Def*): Use @c to avoid empty lines.
1496         (\angles): Replaced with...
1497         (\Langlemacro, \Ranglemacro): New TeX macros.
1498         (@Langlemacro, @Ranglemacro): New variables defined with @set.
1499         (@angles): Use @Langlemacro and @Ranglemacro.
1500         (\LE): Replaced with...
1501         (\LEmacro): New TeX macro.
1502         (@LEmacro): New variable defined with @set.
1503         (@LE): Use @LEmacro.
1504         (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
1505         variables defined with @set.
1506         (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
1507         (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
1508         Update all callers.
1510         Other minor updates.
1512         * doc/texinfo.tex: Update to texinfo version 4.8.
1514         * README.CVS: Updated.
1516 2005-02-09  Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
1518         * doc/groff.texinfo (ms Document Control Registers): Document `HY'
1519         and `FAM' registers.
1521 2005-02-05  Werner LEMBERG  <wl@gnu.org>
1523         * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
1524         tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
1525         Update BSD license.
1527 2005-02-01  Werner LEMBERG  <wl@gnu.org>
1529         * src/roff/groff/groff.man: Add information about paper size.
1531 2005-01-25  Werner LEMBERG  <wl@gnu.org>
1533         * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale.  From
1534         NetBSD bin/29114.
1536 2005-01-22  Ruslan Ermilov  <ru@FreeBSD.org>
1538         * tmac/doc.tmac (Sm): Improved.  It didn't work properly in many
1539         cases.
1540         (Re): Emit a warning if called without `.Rs'.
1541         (doc-finish-reference): Use parameter for decreasing
1542         `doc-reference-count'.
1543         (doc-print-reference): Pass specific count parameters to
1544         `doc-finish-reference'.
1546 2005-01-21  Werner LEMBERG  <wl@gnu.org>
1548         * src/libs/libdriver/input.cpp (delete_current_env, do_file):
1549         Reset pointers to zero after deallocation.  This fixes a crash
1550         if a driver is called with multiple input files.  Reported by
1551         Ken Chilton <ken@chiltonfamily.org>.
1553         * src/devices/grops/grops.man: Add more info on DSC.
1555 2005-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
1557         * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
1558         Remove dead code.
1560 2005-01-17  Werner LEMBERG  <wl@gnu.org>
1562         * src/roff/troff/div.cpp (top_level_diversion::space): Protect
1563         against division by zero.
1565 2005-01-13  Ruslan Ermilov  <ru@FreeBSD.org>
1567         * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
1569 2004-12-19  Werner LEMBERG  <wl@gnu.org>
1571         * install-sh: New version; taken from texinfo CVS.
1573 2004-12-17  Werner LEMBERG  <wl@gnu.org>
1575         * tmac/devtag.tmac: Protect against loading twice.
1576         Protect agains compatibility mode.
1577         * tmac/www.tmac: Protect against loading twice.
1578         Load `devtag.tmac' before switching off compatibility mode.
1579         * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
1581 2004-12-16  Mike Bianchi  <mbianchi@Foveal.com>
1583         * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
1584         * configure: Updated.
1586 2004-12-15  Thomas Klausner  <wiz@netbsd.org>
1588         * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
1590 2004-12-15  Werner LEMBERG  <wl@gnu.org>
1592         Make `test-groff' work again -- previously, wrong paths have been
1593         used.  Additionally, it can now be called from anywhere.
1595         * test-groff.in: Don't test for groff binary.  This is no longer
1596         necessary since the proper paths are determined by `configure'.
1597         (EXEEXT): Removed.  No longer used.
1598         (srcdir, builddir): Use values provided by the configure script.
1599         (XENVIRONMENT): Updated.
1601         * INSTALL: Updated.
1603 2004-12-14  Gaius Mulley  <gaius@glam.ac.uk>
1605         Make .tag and .taga work for all devices (but only grohtml actually
1606         handles them).
1608         * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
1609         (text_glob::is_br, page::add_tag, html_printer::troff_tag,
1610         html_printer::handle_assertion): Don't use hard-coded string
1611         lengths.
1612         (html_printer::lookahead_for_table): Reset `tbl' properly if
1613         necessary.
1614         (html_printer::devtag): New function, handling `devtag'.
1615         (html_printer::special): Don't handle `html-tag'.
1617         * src/include/printer.h, src/libs/libdriver/printer.cpp
1618         (printer::devtag): New virtual function.
1620         * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
1621         `devtag'.
1623         * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
1624         src/roff/troff/node.cpp: s/html-tag/devtag/.
1626         * src/roff/troff/input.cpp (tag, taga): Always call
1627         curenv->add_node.
1629         * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
1630         macros instead of HTML-TAG*.
1632         * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
1634         * tmac/www.tmac: Load devtag.tmac.
1635         Replace HTML-TAG* macros with DEVTAG* macros.
1636         (HTML, HTML-NS): Changed definitions.
1637         (URL): Use HTML-NS.
1638         (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
1640         * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
1642 2004-12-10  Werner LEMBERG  <wl@gnu.org>
1644         Import Mike's `gdiffmk' package.
1646         * contrib/gdiffmk/*: New files.
1647         * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
1648         * NEWS: Updated.
1650 2004-12-08  Werner LEMBERG  <wl@gnu.org>
1652         Import Keith's `pdfmark' package.  Integration is very preliminary.
1654         * contrib/pdfmark/*: New files.
1655         * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
1656         * NEWS: Updated.
1658 2004-12-07  Gaius Mulley  <gaius@glam.ac.uk>
1660         Fix a bug with title handling in HTML.
1662         * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
1663         text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
1664         length.
1665         (html_printer::handle_tag_within_title): New function.
1666         (html_printer::do_title): Use it.
1668         * tmac/s.tmac (TL): Don't set `need_eo_tl'.
1669         (cov*tl-au-print): Emit `.eo.tl' tag.
1671 2004-12-05  Alejandro López-Valencia  <dradul@etb.net.co>
1673         * man/groff_char.man: Minor imrovements.
1675 2004-12-04  Werner LEMBERG  <wl@gnu.org>
1677         * src/preproc/eqn/eqn.man: Revised.
1679 2004-11-25  Werner LEMBERG  <wl@gnu.org>
1681         * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
1682         groff source files.
1683         Include config.h.
1684         Include limits.h.
1685         Remove X_NOT_STDC_ENV conditional.
1686         (Version_string, program_name): New global variables.
1687         (groff_flag): Removed.
1688         (MapFont): Updated.
1689         (usage): Take a stream as argument.
1690         Use `program_name'.
1691         Update all callers.
1692         (main): Add `long_options' array for `--help' and `--version'.
1693         Make `-g' a dummy option.
1694         Handle `-v' and unknown options.
1695         Remove unused `position' variable.
1697         * src/utils/xtotroff/Makefile.sub (MAN1): Define.
1698         (XLIBS): Add LIBGROFF.
1700         * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
1701         New files.
1703         * src/devices/xditview/Dvi.c (default_font_map): Split into three
1704         parts to avoid compiler warning.
1705         (resources): Don't initialize with `default_font_map'.
1706         (ClassInitialize): Initialize first element of `resources'.
1708         * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
1709         Removed.
1711         * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
1712         src/utils/pfbtops/pfbtops.man: Revised, updated.
1714         * configure.ac: Generate src/utils/xtotroff/Makefile.
1715         * configure: Regenerated.
1717 2004-11-24  Werner LEMBERG  <wl@gnu.org>
1719         First fixes to get produce HTML.
1721         * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
1722         attribute.
1724         * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
1725         (HR, LI): Use `HTML</p>', not `HTML'.
1727         * doc/webpage.ms: Minor updates.
1729 2004-11-23  Larry Kollar  <kollar@alltel.net>
1731         Add option -S grohtml to determine the file split level.
1733         * src/devices/grohtml/post-html.cpp (split_level): New global
1734         variable.
1735         (html_header::determine_header_level): Use split_level.
1736         (main): Handle `-S' command line option.
1737         Sort options.
1739         * src/preproc/html/pre-html.cpp (scanArguments): Updated.
1741         * src/devices/grohtml/grohtml.man: Document it.
1742         Sort options.
1744         * NEWS: Document it.
1746 2004-11-23  Y T  <doarhop@hotmail.com>
1748         * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
1749         the volume and number refer entries.
1751 2004-11-22  Werner LEMBERG  <wl@gnu.org>
1753         * src/devices/grohtml/html-table.cpp
1754         (html_table::emit_table_header): Don't emit `cols' attribute which
1755         doesn't exist in HTML 4.0 and is thus invalid.
1757         * NEWS: More minor fixes and updates.
1759 2004-11-18  Werner LEMBERG  <wl@gnu.org>
1761         * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
1762         (HTML</p>): Minor clean-up.
1764         * tmac/groff_www.man: Updated.
1766         * src/devices/grohtml/grohtml.man: Revised and updated.
1768         * NEWS: Updated.
1770 2004-11-18  Gaius Mulley  <gaius@glam.ac.uk>
1772         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1773         Fix space insertion.
1774         (html_printer::do_links): Fix rules generation around automatic
1775         heading links.
1777         * tmac/www.tmac (LK): Use HTML-TAG-NS.
1778         (HR): Simplify.
1779         No longer emit empty line for non-HTML devices.
1781 2004-11-17  Werner LEMBERG  <wl@gnu.org>
1783         * doc/Makefile.in (prepare_examples, webpage.html): Handle
1784         `groff.css'.
1786         * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
1787         prepare_examples, webpage.html): Handle `groff.css'.
1789 2004-11-15  Werner LEMBERG  <wl@gnu.org>
1791         * NEWS, README, doc/webpage.ms: Updated.
1793         * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
1795 2004-10-30  Gaius Mulley  <gaius@glam.ac.uk>
1797         * src/include/printer.h (printer): Remove virtual function
1798         `round_width'.
1799         Update all source files.
1801         * src/devices/grohtml/post-html.cpp (html_printer): New member
1802         function `round_width'.
1804 2004-10-20  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
1806         * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
1807         column key letter suffix.
1809 2004-10-14  Werner LEMBERG  <wl@gnu.org>
1811         * Makefile.in (check): Depend on `site.exp' and `docheck'.
1812         (docheck): Run dejagnu's `runtest' if it exists.
1813         (site.exp): Create dejagnu configuration file.
1815         * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
1817 2004-10-13  Werner LEMBERG  <wl@gnu.org>
1819         * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
1820         src/devices/grohtml/post-html.cpp (make_val,
1821         html_printer::handle_state_assertion): Fix compiler warnings.
1823         * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
1824         (diversion::diversion): Fix order of initializers.
1826         * src/roff/troff/div.h: Don't include `mtsm.h'.
1828         * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
1829         (environment::environment): Fix order of initializers.
1830         (environment::make_tag, environment::construct_format_state): Fix
1831         compiler warnings.
1833         * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
1834         (input_iterator::input_iterator, macro::macro): Fix order of
1835         initializers.
1837         * src/roff/troff/mtsm.cpp: Include only necessary header files.
1838         (state_set::add, state_set::val): Fix compiler warnings.
1840         * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
1841         (bool_value_state, int_value_state, units_value_state,
1842         string_value_state): Remove comma after last element which causes
1843         an error with g++ 3.3.3.
1845         * src/roff/troff/node.cpp: Include `stringclass.h'.
1846         (hline_node::hline_node, vline_node::vline_node,
1847         space_char_hmotion_node, left_italic_corrected_node): Fix compiler
1848         warnings.
1849         (zero_width_node::zero_width_node): Fix order of initializers.
1851         * src/roff/troff/node.h: Don't include `mtsm.h'.
1852         (hmotion_node): Fix compiler warnings.
1854         * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
1856 2004-10-12  Gaius Mulley  <gaius@glam.ac.uk>
1858         * doc/groff.css: New file.
1860         * doc/webpage.ms: Use `groff.css'.
1861         Other small fixes.
1863         * tmac/an-old.tmac (need_eo_h): New number register.
1864         (TH): Emit `.eo.tl' tag after title.
1865         (SH): Set `need_eo_h'.
1866         (an-trap): Handle `need_eo_h'.
1867         (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
1869         * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
1870         (TL): Always start diversion.
1871         Updated.
1872         (@AI): Always call `par@reset'.
1873         (@AB): Update code for -Thtml.
1874         (cov*tl-au-print): Handle -Thtml.
1875         (par@reset): Handle `need_eo_tl', `need_eo_h'.
1876         (@IP): Simplified.
1877         (@IT-html): Removed.
1878         (@SH): Set `need_eo_h' for -Thtml.
1879         (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
1880         Set `need_eo_tl'.
1881         (@NH): s/HTML-TAG/HTMl-TAG-NS/.
1882         Set `need_eo_h' for -Thtml.
1883         (@EQ, @EN): Don't handle -Thtml specially.
1884         (par@load-init): Don't handle -Thtml specially.
1886         * tmac/www.tmac (www:paraspace): New macro.
1887         (HTML-NS, HTML-TAG-NS): Use new `tag' request.
1888         (HTML</p>, HTML-TAG-NEXT): New macros.
1889         (HnE): Emit tag `.eo.h' instead of break.
1890         (HR): s/HTML-NS/HTML/.
1891         (www-end-nowhere): End diversion only if `www-html' not set.
1892         Emit `.eo.tl' tag.
1893         (ULS, ULE): s|HTML|HTML</p>|.
1894         (LI): Call `www:paraspace'.
1895         (HEAD): New macro.
1897 2004-10-11  Gaius Mulley  <gaius@glam.ac.uk>
1899         * src/roff/troff/request.h (macro): Make `p' public.
1900         New variable `is_a_diversion'.
1901         New member function `is_diversion'.
1904         * src/devices/grohtml/html.h (simple_output): New member function
1905         `force_nl'.
1907         * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
1908         computation of `total'.
1909         (tabs::check_init): New function.
1910         (html_table::emit_table_header): Emit style data.
1911         (html_table::insert_column): Improved.
1913         * src/devices/grohtml/html-table.h: Updated.
1915         * src/devices/grohtml/html-text.cpp (html_text::html_text):
1916         Initialize `start_space' with TRUE.
1917         (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
1918         cases.
1919         (html_text::flush_text): Set `start_space' flag.
1920         (html_text::uses_indent, html_text::remove_para_space,
1921         html_text::get_alignment): New functions.
1922         (html_text::push_para): Updated.
1923         (html_text::do_para): Check for empty argument.
1924         Don't set `space_emitted'.
1925         (html_text::do_space, html_text::emit_space): Updated.
1927         * src/devices/grohtml/html-text.h (tag_definition): New variable
1928         `really_issued'.
1929         (html_text): New member function `uses_indent', `remove_para_space',
1930         `get_alignment'.
1932         * src/devices/grohtml/output.cpp (simple_output::force_nl): New
1933         function.
1934         (simple_output:nl): Always emit `\n'.
1936         * src/devices/grohtml/post-html.cpp: Include `string.h'.
1937         (BASE_POINT_SIZE): Removed.
1938         (base_point_size, head_info): New global variables.
1939         (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
1940         `is_eo_h'.
1941         (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
1942         tags, respectively.
1943         (page::add_and_encode): Pass additional parameter for tag flag.
1944         (assert_pos): New structure.
1945         (assert_state): New class.
1946         (html_printer): Remove `indentation', `prev_indent'.
1947         Add variables `troff_indent', `device_indent', `temp_indent'.
1948         Add variables `seen_indent', `next_indent', `seen_pageoffset',
1949         `next_pageoffset', `seen_linelenght', `next_linelength',
1950         `seen_center', `next_center', `seen_space', `seen_break', `as'.
1951         Add member functions `do_check_center', `do_space', `do_head',
1952         `get_troff_indent', `restore_troff_indent', `handle_assertion',
1953         `handle_state_assertion', `do_end_para', `set_char_and_width'.
1954         Change argument to `do_fill' to `char *'.
1955         Update constructor.
1956         (html_printer::emit_raw): Call `shutdown_table'.
1957         Use new functions.
1958         (html_printer::do_center): Simplified.
1959         (html_printer::do_title): Improved.
1960         (html_printer::write_header): Emit one more newline.
1961         Use new functions.
1962         (html_printer::do_heading, html_printer::do_indent,
1963         html_printer::do_eol, html_printer::do_tab_ts,
1964         html_printer::do_tab, html_printer::do_tab0,
1965         html_printer::calc_po_in, html_printer::next_horiz_pos,
1966         html_printer::remove_courier_tabs,
1967         html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
1968         Updated.
1969         (html_printer::do_linelength, html_printer::do_pageoffset,
1970         html_printer::do_indentation, html_printer::do_tempindent,
1971         html_printer::do_tab_te): Simplified.
1972         (html_printer::do_pointsize): Check whether point size is really
1973         associated a `.tl' tag.
1974         (html_printer::do_break): Rewritten.
1975         (html_printer::troff_tag): Improved.
1976         (html_printer::flush_globs): Updated.
1977         (html_printer::lookahead_for_tables): Handle `is_br'.
1978         Use new functions.
1979         (html_printer::set_char): Check `sbuf_style.f'.
1980         (html_printer::write_navigation): Use string comparison.
1981         (html_printer::~html_printer): Emit `head_info'.
1982         (html_printer::special): Rewritten.
1983         (get_str, make_val): New functions.
1984         (main): New option `s' to set the base point size.
1986         * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
1988 2004-10-10  Gaius Mulley  <gaius@glam.ac.uk>
1990         * src/roff/troff/node.cpp: New extern `debug_state'.
1991         Include `stringclass.h' and `mtsm.h'.
1992         Implement new classes and class members from `node.h'.
1993         (real_output_file): Make `fp' public.
1994         (troff_output_file): New variables `cur_div_level' and `tag_list'.
1995         Update constructors.
1996         (troff_output_file::really_print_line): Check whether we should push
1997         the current troff state and use the state at the start of the
1998         invocation of this diversion.
1999         (troff_output_file::add_to_tag_list): New member function.
2000         (node::add_char): Handle `glyph_comp_np'.
2002         * src/roff/troff/node.h: Include `mtsm.h'.
2003         (node): New variables `state', `push_state', `div_nest_level',
2004         `is_special'.  Update constructors, all descendants.
2005         Pass additional argument to `add_char' member function.
2006         New virtual member functions `is_tag', `debug_node',
2007         `debug_node_list'.  Update all descendants.
2008         (tag_node): New class for handling tags.
2009         (output_file): Add variable `state'.
2011 2004-10-09  Gaius Mulley  <gaius@glam.ac.uk>
2013         * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2014         providing a minimal troff state machine to emit meta tags for the
2015         post-grohtml device driver.
2017         * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2018         files.
2020 2004-10-09  Werner LEMBERG  <wl@gnu.org>
2022         * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2024 2004-10-06  Gaius Mulley  <gaius@glam.ac.uk>
2026         * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2028         * src/roff/troff/div.h: Include `mtsm.h'.
2029         (diversion): New variables `any_chars_added', `needs_push',
2030         `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2031         `saved_suppress_next_eol', `modified_tag'.
2032         New virtual member function `is_diversion'.  Update all descendants.
2034         * src/roff/troff/div.cpp (diversion::diversion,
2035         macro_diversion::macro_diversion): Updated.
2036         (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2037         `suppress_next_eol'.
2038         (top_level_diversion::space): Handle `curenv->seen_space'.
2039         (page_offset): Update tag handling.
2040         (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2042         * src/roff/troff/env.h (environment): Make `tabs' public.
2043         Remove `ignore_next_eol', `emitted_node'.
2044         Update `output_line', `output'.
2045         New variables `seen_space', `seen_eol', `suppress_next_eol',
2046         `seen_break'.
2047         New member functions `construct_state', `make_tag',
2048         `construct_format_state, `construct_new_line_state,
2049         `dump_troff_state'.
2050         Remove `add_html_tag', `make_html_tag'.
2052         * src/roff/troff/env.cpp: New externs `suppress_push',
2053         `get_diversion_state', `global_diverted_space'.
2054         (pending_output_line): New variable `was_centered'.
2055         Update constructor and all callers.
2056         (pending_output_line::output): Call `curenv->construct_format_state'.
2057         (environment::environment, environment::copy): Updated.
2058         (environment::output): Handle `was_centered'.
2059         (environment::add_char): Handle construct and diversion state.
2060         (environment::add_node): Handle construct state.
2061         (environment::newline): Handle `was_centered'.
2062         (environment::output_line): Updated.
2063         (environment::possibly_break_line): Updated.
2064         Update tag handling.
2065         (environment::add_html_tag): Replaced with...
2066         (environment::make_tag): New function.
2067         (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2068         (environment::dump_troff_state): New debugging function.
2069         (environment::construct_state, environment::construct_format_state,
2070         environment::construct_new_line_state): New functions.
2071         (environment::do_break): Updated.
2072         Handle `global_diverted_space'.
2073         (environment::handle_tag): Update tag handling.
2074         (point_size, fill, do_break_request): Don't call `add_html_tag'.
2075         (no_fill): Don't call `add_html_tag'.
2076         Set `suppress_next_eol'.
2077         (center, right_justify, line_length, indent, temporary_indent,
2078         set_tabs):
2079         Update tag handling.
2081         * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2082         (input_iterator): New variables `is_diversion', `diversion_state'.
2083         Update constructors.
2084         (input_stack): New member functions `get_div_level',
2085         `get_diversion_state', `check_end_diversion'.
2086         New variables `div_level', `diversion_state'.  Initialize them.
2087         (suppress_push, global_diverted_space): New global variables.
2088         (input_stack::finish_get, input_stack::finish_peek,
2089         input_stack::remove_boundary, input_stack::end_file,
2090         input_stack::clear, input_stack::pop_macro): Call
2091         `check_end_diversion'.
2092         (input_stack::push): Handle `div_level' and `diversion_state'.
2093         (get_diversion_state): New function.
2094         (diverted_space_node::reread): Handle `global_diverted_space'.
2095         (macro::macro): Update constructors.
2096         (macro::is_diversion): New function.
2097         (macro::operator=): Set `is_a_diversion'.
2098         (string_iterator): New member function `is_diversion'.
2099         (string_iterator::string_iterator): Update constructors.
2100         (string_iterator::fill): Set `div_nest_level'.
2101         (macro_iterator): New member function `is_diversion'.
2102         (do_if_request): Handle `suppress_push'.
2103         (tag, taga): New functions.
2104         (init_input_requests): Add `tag' and `taga' requests.
2106 2004-10-05  Gaius Mulley  <gaius@glam.ac.uk>
2108         * src/include/font.h (font): New member function
2109         `get_image_generator'.
2110         New variables `unscaled_charwidths' and `image_generator'.
2112         * src/libs/libgroff/font.cpp (font::get_width): Always return the
2113         character's unscaled width if `font::unscaled_charwidths' is set.
2114         (font::get_image_generator): New function.
2115         (font::load_desc): Check the `unscaled_charwidths' and
2116         `image_generator' keywords.
2118         * src/libs/libgroff/fontfile.cpp: Initialize
2119         `font::unscaled_charwidths' and `font::image_generator'.
2121         * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2123         * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2125         * man/groff_font.man: Document `unscaled_charwidths' and
2126         `image_generator'.
2128         * src/preproc/html/pre-html.cpp: Include `device.h'.
2129         (image_gen): New global variable.
2130         (imageList::createPage): Use `image_gen'.
2131         (main): Use `image_generator' keyword.
2133 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
2135         * tmac/html.tmac: Handle \[sqrtex].
2137 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
2139         * src/include/printer.h (printer): New virtual method `round_width'.
2141         * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2142         src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2143         src/devices/grotty/tty.cpp (printer::round_width): New function
2144         member.
2146         * src/devices/grohtml/post-html.cpp (printer::round_width): New
2147         function member.
2148         (html_printer::set_numbered_char): Use it.
2150 2004-10-03  Gaius Mulley  <gaius@glam.ac.uk>
2152         * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2154         * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2156         * configure: Regenerated.
2158         * Makefile.in (GHOSTSCRIPT): New variable.
2159         (MDEFINES): Add GHOSTSCRIPT.
2161 2004-10-03  Werner LEMBERG  <wl@gnu.org>
2163         * INSTALL.gen: Updated (taken from texinfo CVS).
2165 2004-09-28  Werner LEMBERG  <wl@gnu.org>
2167         * NEWS: Updated.
2169 2004-09-28  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
2171         * tmac/groff_www.man: Revised and updated.
2173 2004-09-26  Werner LEMBERG  <wl@gnu.org>
2175         Fix \$@ and \$* to handle any number of arguments.
2177         * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
2178         characters.
2180         * src/roff/troff/input.cpp (input_iterator::internal_level):
2181         Removed.
2182         (input_stack): New member functions `increase_level' and
2183         `decrease_level'.
2184         (input_stack::get_level): Don't use `internal_level'.
2185         (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
2186         (end_quote_iterator): Completely removed.
2187         (interpolate_arg): Build string for \$@ and \$* which is then
2188         pushed onto the input stack.
2190 2004-09-23  Keith Marshall  <keith.d.marshall@ntlworld.com>
2192         * tmac/groff_ms.man, doc/groff.texinfo: Document changes from
2193         2004-09-19.
2195 2004-09-23  Werner LEMBERG  <wl@gnu.org>
2197         * tmac/an-old.tmac (ne): Using default scaling operator.
2199 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
2201         This change implements the following features:
2203         PORPHANS
2204           New numeric register: Defines number of lines following LP, PP,
2205           QP, IP or XP, which must be kept together, before any automatic
2206           page break.  If insufficient space remains on the current page, a
2207           page break is forced before the new paragraph begins.
2209         HORPHANS
2210           New numeric register: Sets number of lines of following paragraph
2211           which must be kept with a heading, defined by NH or SH, before any
2212           automatic page break.  If insufficient space remains on the
2213           current page, a page break is forced before the heading.
2215         GROWPS
2216           (Thanks to Joerg van den Hoff, for this idea).
2218           New numeric register: Sets the first level of heading (set with
2219           NH), which will keep the same point size as body text; e.g. if
2220           GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
2221           point size specified by \n[PS], but .NH 2 and .NH 1 will have
2222           progressively larger point sizes, determined by \n[PSINCR] (see
2223           below).
2225         PSINCR
2226           New numeric register: Sets the point size increment for each level
2227           of heading, (set with NH), below the threshold level set by
2228           GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
2229           then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
2230           and all other levels will remain at 10pt, (because \n[PS] = 10).
2232         SH
2233           Existing macro now accepts a numeric argument, to make heading
2234           size match that of NH with same argument value, when the
2235           GROWPS/PSINCR feature is enabled.
2237         SN-DOT
2238           New string, set by NH macro, replaces the existing (undocumented)
2239           use of SN, to represent the assigned section number.
2241         SN-NO-DOT
2242           New string, set by NH macro, represents the assigned section
2243           number, but omits the terminal period (periods at intermediate
2244           levels are retained).
2246         SN
2247           String set by NH macro, originally undocumented, now implemented
2248           as an alias for SN-DOT (which reproduces original behaviour).
2250         * tmac/s.tmac (PORPHANS): New register.
2251         (par*start): Use it.
2252         (HORPHANS, GROWPS, PSINCR): New registers.
2253         (SH-NO-TAG, @SH): Use them.
2254         (@NH): Improved.
2256 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
2258         * NEWS, doc/groff.texinfo, tmac/groff_ms.man: Document the deletion
2259         of `Ds' and `De' macros.
2261 2004-09-10  Werner LEMBERG  <wl@gnu.org>
2263         In tbl, handle \a as an interpreted leader character if in
2264         compatibility mode.
2266         * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
2267         LEADER_CHAR): New macros.
2268         (compatible_flag): New declaration.
2270         * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
2271         LEADER_3, and LEADER_4 to `state'.
2272         (table_input::get): Handle `\a'.
2274         * src/preproc/tbl/table.cpp (PREFIX): Removed.
2275         (LEADER_REG): New macro.
2276         (table::init_output): Define LEADER_REG string register if in
2277         compatibility mode.
2279         * src/preproc/tbl/tbl.man: Document it.
2281 2004-08-18  Werner LEMBERG  <wl@gnu.org>
2283         * tmac/doc.tmac (An): Fix error message.
2285 2004-08-06  Werner LEMBERG  <wl@gnu.org>
2287         * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
2288         file can't be opened.  UNIX tbl has the same behaviour.
2290 2004-08-05  Y T  <doarhop@hotmail.com>
2292         * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
2293         (DBRead): If in compatibility mode, take into account the text
2294         when computing figure boundaries.
2296 2004-08-05  Werner LEMBERG  <wl@gnu.org>
2298         * src/preproc/soelim/soelim.man: Improved.  Based on suggestions
2299         from Tadziu Hoffmann.
2301 2004-08-03  Werner LEMBERG  <wl@gnu.org>
2303         * doc/meref.me: Document `_M' register.
2305 2004-08-03  Martin Husemann  <martin@duskware.de>
2307         Make hpftodit work correctly on big-endian systems.
2309         * src/utils/hpftodit/hpftodit.cpp (File): New method
2310         `get_uint32(char *)'.
2311         (entry): New member `orig_value'.
2312         (read_tags): Use new method.
2313         (output_font_name, read_and_output_pcltypeface, dump_ascii):
2314         Updated.
2316 2004-08-01  Werner LEMBERG  <wl@gnu.org>
2318         * tmac/s.tmac: Undo change 2003-06-29.  The proper macro definitions
2319         are already in X11's `macros.t' file.
2321 2004-08-01  Jeff Conrad  <jeff_conrad@msn.com>
2323         * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
2324         Fix casting bug.
2325         (read_and_output_pcltypeface): Handle strings with length <= 4.
2327 2004-07-27  Egil Kvaleberg  <egil@kvaleberg.no>
2329         * tmac/s.tmac (pg@top): Don't save `PO' register.
2330         (pg*end-col, pg*end-page): Directly use `PO' register.
2332 2004-07-27  Werner LEMBERG  <wl@gnu.org>
2334         * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
2336         * src/preproc/refer/refer.cpp (output_references): Check for
2337         empty hash table.
2338         * src/preproc/refer/refer.man: Improve documentation of
2339         `bibliography' command.
2341 2004-07-26  Werner LEMBERG  <wl@gnu.org>
2343         Add requests `fcolor' and `gcolor'.
2345         * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
2346         New functions.
2347         (init_env_requests): Add `fcolor' and `gcolor'.
2349         * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
2351         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2352         Document new requests.
2354 2004-07-24  Werner LEMBERG  <wl@gnu.org>
2356         Add support for fractional point sizes in ms macros.  A value for
2357         PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
2358         by 1000.  For example, `.nr PS 10250' sets the font size to 10.25p.
2360         * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
2361         PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
2363         * tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
2365 2004-07-19  Werner LEMBERG  <wl@gnu.org>
2367         * src/preproc/pic/lex.cpp (for_input): Add member `from'.
2368         Update constructor.
2369         (do_for, for_input::get, for_input::peek): Handle negative `by'.
2370         * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
2372 2004-07-08  Thomas Klausner  <wiz@netbsd.org>
2374         * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
2375         * tmac/groff_mdoc.man: Updated.
2377 2004-07-05  Werner LEMBERG  <wl@gnu.org>
2379         * doc/groff.texinfo: Further improve documentation of `hcode'.
2381 2004-07-04  Sang Dae Yu  <sdyu@bh.knu.ac.kr>
2383         Improve appearance of arrows in pic.
2385         * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
2386         arrow head thin.
2387         Use two line segments for drawing non-filled arrow head.
2388         (line_object::print, spline_object::print): Shorten line length to
2389         avoid arrow sticking.
2390         (arc_object::print): Take arrow direction into account.
2392 2004-07-03  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
2394         * tmac/groff_www.man: Update documentation of .MPIMG.
2396 2004-07-03  Werner LEMBERG  <wl@gnu.org>
2398         * tmac/an-old.tmac (RI): Always start with font `R'.
2399         (RI, IR): Properly end with font `R'.
2401 2004-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2403         * man/ditroff.man, man/groff_font.man, man/groff_out.man,
2404         src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
2405         src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
2406         Don't pass more than six arguments to .R, .I, .B, etc., for
2407         compatibility with traditional troff macros.
2409 2004-07-02  Werner LEMBERG  <wl@gnu.org>
2411         * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
2412         s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
2413         Update all users.
2414         (PUSH_COMP_MODE): New internal character constant.
2415         Update all users.
2417         * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
2418         PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
2419         (token::next, macro::append): Handle PUSH_COMP_MODE.
2420         (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
2421         POP_GROFFCOMP after each of the decoded arguments to make them
2422         independent from the compatibility mode status.
2423         (comp_mode): Add `COMP_ENABLE'.
2424         (do_define_string, do_define_macro): Handle COMP_ENABLE.
2425         (define_string, append_string, define_macro, define_indirect_macro,
2426         append_macro, append_indirect_macro): Handle `compatible_flag'.
2427         (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
2429         * man/groff_diff.man, doc/groff.texinfo: Updated.
2431 2004-07-01  Werner LEMBERG  <wl@gnu.org>
2433         * doc/groff.texinfo: Improve documentation of `hcode'.
2434         Use @documentencoding and convert document to latin-1; to do that
2435         make latin characters active and assign proper macros (within a
2436         @tex...@end tex environment).
2437         * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
2438         * doc/Makefile.sub (groff): Ditto.
2440 2004-06-29  Werner LEMBERG  <wl@gnu.org>
2442         Implement two new conditional operators `F <name>' and `S <name>'
2443         which check whether <name> is a valid font or style, respectively.
2445         * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
2446         (text_file::text_file): Updated.
2447         (text_file::error): Don't emit message if `silent' is set.
2448         (font::load_font): Add optional third argument (which is directly
2449         passed to `load'.
2450         (font::load): Add optional second argument to check the header of
2451         a font only, without emitting warning or error messages.
2452         * src/include/font.h (font): Updated.
2454         * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
2455         conditionals.
2456         * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
2457         fourth argument to check a font without mounting.
2458         (check_font, check_style): New functions.
2459         * src/roff/troff/node.h: Updated.
2461         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2462         Updated.
2464 2004-06-27  Werner LEMBERG  <wl@gnu.org>
2466         Implement new string-valued register `.sty' to return the current
2467         style name.
2469         * env.cpp (environment::get_style_name_string): New function.
2470         (init_env_requests): Add `.sty' register.
2471         * env.h (environment): Updated.
2472         * node.cpp (font_info): Make `get_style_name' a friend.
2473         (get_style_name): New function.
2474         * node.h: Updated.
2476         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2477         Updated.
2479 2004-06-15  Werner LEMBERG  <wl@gnu.org>
2481         * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
2482         `nospaces' option.
2484 2004-06-10  Colin Percival  <colin.percival@wadham.ox.ac.uk>
2486         * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
2487         and \n[mo] to avoid dependency on current date.
2489 2004-06-08  Werner LEMBERG  <wl@gnu.org>
2491         * Makefile.sub (install_data): New target.
2493 2004-06-04  Werner LEMBERG  <wl@gnu.org>
2495         * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
2497 2004-06-03  Werner LEMBERG  <wl@gnu.org>
2499         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
2500         order of libraries.
2501         (install_data): Add $(srcdir).
2503         * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
2504         libraries.
2506 2004-06-02  Werner LEMBERG  <wl@gnu.org>
2508         * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
2509         Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
2510         Add test for Xmu library.
2511         (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2512         GROFF_APPRESDIR_DEFAULT): New macros.
2514         * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2515         and GROFF_APPRESDIR_DEFAULT.
2517         * configure: Regenerated.
2519         * Makefile.in (appresdir): New variable.
2520         (MDEFINES): Add appresdir.
2522         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
2523         -Xt.
2524         (install_data, uninstall_sub): New targets to handle GXditview.ad.
2526         * src/utils/indxbib/Makefiles.ub (install_data): Depend on
2527         `$(srcdir)/eign', not `eign'.
2529         * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
2531         * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
2532         src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
2533         Protect (g)xditview with `\%' to avoid hyphenation.
2534         Other minor formatting.
2536 2004-06-01  Werner LEMBERG  <wl@gnu.org>
2538         Integrate gxditview into groff's standard directory hierarchy.
2540         * src/xditview/*: Moved to ...
2541         * src/devices/xditview/*: Here.
2542         Moved DviChar.h and XFontName.h to src/include.
2543         Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
2544         Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
2545         Moved xtotroff.c to new directory src/utils/xtotroff.
2546         Provide proper Makefile.sub files (reusing the stuff from
2547         Imakefile.in).
2548         DESC renamed to DESC.in.
2549         Removed GXDitview-ad.h, INSTALL, Imakefile.in.
2550         Converted everything from K&R to ANSI C.
2551         Decorated with const where appropriate.
2552         Cast string constants with `String' and `char *' where appropriate.
2553         Made it compile with C++ (used as a C compiler).
2554         Removed other minor compiler warnings.
2556         * src/devices/xditview/device.c: Include config.h, string.h, and
2557         defs.h.
2558         Don't declare `exit', `strtok', `strchr', and `getenv'.
2559         (FONTPATH): Remove.
2561         * src/devices/xditview/font.c: Don't declare `XParseFontName' and
2562         `XFormatFontName'.
2564         * src/devices/xditview/xditview.c: Include config.h.
2565         Include stdio.h earlier.
2566         Protect declaration of `popen' and `pclose' with
2567         NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
2568         Replace `caddr_t' with `XtPointer'.
2569         (MakePromptFunc): New typedef.
2570         (DoPrint): Use RETSIGTYPE.
2571         (promptfunction): Change type to MakePromptFunc.
2572         (MakePrompt): Use MakePromptFunc for third argument.
2573         (xmalloc): Removed.
2575         * src/devices/xditview/ad2c: Add casts to `String'.
2577         * src/include/XFontName.h (XFontNameString): Don't use array
2578         notation.
2579         Add prototypes for `XParseFontName', `XFormatFontName',
2580         `XCompareFontName', and `XCopyFontName'.
2582         * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
2583         `XFontName.h'.
2585         * src/utils/xtotroff/xtotroff.c: Include getopt.h.
2586         Don't declare `XParseFontName' and `XFormatFontName'.
2587         (xmalloc): Removed.
2588         (main): Remove `optind' and `optarg'.
2590         * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
2591         (to select programs which need X).
2592         Make XDEVIDIRS depend on `FORCE'.
2593         (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
2594         X support).
2595         (MDEFINES): Updated.
2596         (LIBDIRS): Use XLIBDIRS.
2597         (CPROGDIRS): Use XPROGDIRS.
2598         (DEVDIRS): Remove font directories for gxditview.
2599         (ALLDIRS, DISTDIRS): Add XDEVDIRS.
2600         (EXTRADIRS): Remove src/xditview.
2602         * Makefile.sub (DISCLEANFILES): Updated.
2604         * Makefile.comm (LIBXUTIL): New variable.
2605         (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
2606         (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
2608         * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
2610         * aclocal.m4 (GROFF_X11): New function.
2612         * configure.ac: Call GROFF_X11.
2613         Don't create src/xditview/Imakefile.
2614         Don't emit notice how to build gxditview.
2616         * configure: Regenerated.
2618         * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
2620 2004-05-28  Akihiro Sagawa  <sagawa@sohgoh.net>
2622         * Makefile.in (CPPFLAGS): Define.
2623         (MDEFINES): Add CPPFLAGS.
2625 2004-05-27  Werner LEMBERG  <wl@gnu.org>
2627         * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
2629 2004-05-26  Niklas Edmundsson  <nikke@acc.umu.se>
2631         Fix problems with `friend name injections'.
2633         * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
2634         make_script_box), src/roff/troff/div.h (end_diversions),
2635         src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
2636         change 2004-04-08.
2638 2004-05-25  Bernd Warken  <bwarken@mayn.de>
2640         * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
2642 2004-05-25  Werner LEMBERG  <wl@gnu.org>
2644         * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
2645         src/libs/libgroff/color.cpp: Include lib.h.
2647 2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
2649         * PROBLEMS: Update documentation for problems with Sun C++ 5.0
2650         through Forte 6u1, and for how to get GNU make on Solaris.
2652 2004-05-24  Werner LEMBERG  <wl@gnu.org>
2654         * PROBLEMS: Document problems with gcc 3.4.0 on Sun.  Reported
2655         by Paul Eggert.
2657 2004-05-15  Keith Marshall  <keith.d.marshall@ntlworld.com>
2659         * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
2660         rule.
2662 2004-05-14  Werner LEMBERG  <wl@gnu.org>
2664         * REVISION: Set to 2.
2666         * aclocal.m4 (GROFF_STDINT_H): Removed.
2667         (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
2669         * configure.ac: Updated.
2670         * configure, src/include/config.hin: Regenerated.
2672         * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
2673         inttypes.h conditionally.
2675 2004-05-13  Werner LEMBERG  <wl@gnu.org>
2677 Version 1.19.1 released
2678 =======================
2680 2004-05-10  Stephen Gildea  <http://www.gildea.com/stephen>
2682         * src/preproc/refer/label.y (same_author_last_name,
2683         same_author_name): Handle empty sort keys.
2685 2004-05-10  Werner LEMBERG  <wl@gnu.org>
2687         * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
2688         tmac/TODO: Updated.
2690         * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
2691         doc-str-Lb-librt): Reset font.
2692         (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
2693         Provide `doc-str-Lb' to reset font.
2694         * tmac/groff_mdoc.man: Updated.
2696 2004-05-08  Jan Schaumann  <jschauma@netmeister.org>
2698         * src/preproc/html/pre-html.cpp (make_message): Make it work for
2699         snprintf versions which don't conform to ANSI C 99 (this is,
2700         counting the string's trailing null byte in the return value).
2702 2004-05-07  Keith Marshall  <keith.d.marshall@ntlworld.com>
2704         * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
2705         that all implementations of sprintf handle null pointers correctly.
2707 2004-05-04  Werner LEMBERG  <wl@gnu.org>
2709         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2710         Document `.U' register.
2712         * src/roff/troff/env.cpp (environment::mark_last_line)
2713         [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
2715 2004-05-04  Larry Kollar  <kollar@alltel.net>
2717         New read-only register `.U'; it returns 1 in safer mode and 0
2718         otherwise.
2720         * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
2721         register.
2723 2004-05-03  Werner LEMBERG  <wl@gnu.org>
2725         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
2727 2004-04-17  Werner LEMBERG  <wl@gnu.org>
2729         * src/include/font.h (font): Use `int' for ch_index.
2730         * src/libs/libgroff/font.cpp (font::alloc_ch_index,
2731         font::compact): Updated.
2733         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
2734         warnings.
2736         * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
2737         (hyphen_word): Fix compiler warnings.
2738         * src/roff/troff/input.cpp (get_char_for_escape_name): Return
2739         `char'.
2740         Update all callers.
2741         (get_delim_number, get_line_arg): Change second argument type to
2742         `unsigned char'.
2743         (macro_header::copy, token::next, do_define_string,
2744         do_define_character, substring_request, asciify_macro,
2745         unformat_macro, read_size, non_interpreted_node::interpret,
2746         while_request, main: Fix compiler warnings.
2747         (read_color_draw_node): Initialize `col'.
2749         * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
2750         `start_col' and `end_col' of type `int'.
2751         (vertical_rule): Make `col' of type `int'.
2753         * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
2754         for EOF.
2756         * src/preproc/refer/label.y (uppercase_array, lowercase_array):
2757         New arrays.
2758         (format_serial): Use them to remove dependency on ASCII.
2760         * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
2761         compiler warning.
2762         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
2763         Ditto.
2765         * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
2766         compiler warnings.
2767         (glyph): Change type of `hpos' to `int'.
2769         * src/devices/lbp/lbp.cpp (strsep): Removed.  Unused.
2770         * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
2772         * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
2774         * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
2776 2004-04-16  Werner LEMBERG  <wl@gnu.org>
2778         * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
2779         src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
2780         src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
2781         `double' instead of `float' everywhere.
2782         * src/preproc/grn/main.cpp: Use `double' instead of `float'
2783         everywhere.
2784         (main): Add return value.
2785         * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
2786         everywhere.
2787         Update all user functions.
2789         * src/include/search.h, src/include/ptable.h, src/include/printer.h,
2790         src/preproc/eqn/box.h, src/preproc/pic/object.h,
2791         src/preproc/refer/refer.h, src/preproc/tbl/table.h,
2792         src/preproc/tbl/table.cpp, src/roff/troff/env.h,
2793         src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
2794         src/roff/troff/input.cpp, src/roff/troff/request.h,
2795         src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
2796         declarations.
2798         * src/utils/indxbib/signal.c: Include stdlib.h.
2800 2004-04-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
2802         * tmac/s.tmac (@init, RP): Allow initialization of the PO register
2803         before the first page.
2805 2004-04-14  Thomas Klausner  <wiz@netbsd.org>
2807         * tmac/doc-common (doc-volume-as-*): Use lowercase names.
2808         (doc-operating-system-*): Updated.
2809         * tmac/doc-syms (doc-str-St-*): Various small fixes.
2810         (doc-str-Lb-*): Add more library names.
2812 2004-04-10  Art Haas  <ahaas@airmail.net>
2814         * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
2815         use anonymous type.
2817 2004-04-09  Art Haas  <ahaas@airmail.net>
2819         * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
2821 2004-04-09  Keith Marshall  <keith.d.marshall@ntlworld.com>
2823         * arch/misc/shdeps.sh: Generate better comment for sed script.
2825 2004-04-08  Art Haas  <ahaas@airmail.net>
2827         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
2828         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
2829         src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
2830         src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
2831         (polyfill), src/preproc/grn/main.cpp (polyfill),
2832         src/preproc/refer/command.cpp (command_table),
2833         src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
2834         gcc 3.5 doesn't like).
2836 2004-04-08  Werner LEMBERG  <wl@gnu.org>
2838         Removing many compiler warnings.  groff should now compile with
2839         a C++ compiler used for C files also.  [Simple variable renamings
2840         to avoid shadowing aren't logged in detail.]
2842         * src/devices/grodvi/dvi.cpp: Some local variable renamings.
2843         (draw_dvi_printer::draw) ['c']: Enclose in block.
2845         * src/devices/grohtml/post-html.cpp: Some local variable renamings.
2846         (page::add_line): Fix typos.
2847         * src/devices/grohtml/html-text.cpp: Some local variable renamings.
2849         * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
2850         Some local variable renamings.
2851         * src/devices/grolbp/lbp.h: Some local variable renamings.
2853         * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
2854         variable renamings.
2856         * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
2857         Remove redundant local variable declaration.
2858         * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
2859         Don't use `caddr_t' but `void *'.
2860         Enclose functions with `extern "C"' for C++.
2862         * src/libs/libdriver/input.cpp (remember_filename,
2863         remember_source_filename): Use cast for string constant.
2865         * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
2866         src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
2867         src/libs/libgroff/geometry.cpp: Some local variable renamings.
2868         * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
2869         style.
2870         Enclose functions with `extern "C"' for C++.
2871         * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
2872         (needs_quoting): Return `int'.
2873         (quote_arg): Add proper casts to malloc and realloc.
2874         * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
2875         various MS Windows environments.
2876         (spawnvp_wrapper): Add proper cast to malloc.
2878         * src/preproc/eqn/box.h: Remove redundant declarations of
2879         `make_script_box', `make_mark_box' and `make_lineup_box'.
2880         * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
2881         * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
2882         variable renamings.
2884         * src/preproc/grn/hpoint.cpp: Some local variable renamings.
2885         * src/preproc/grn/hgraph.cpp: Some local variable renamings.
2886         (dx, dy): Renamed functions to...
2887         (deltax, deltay): This.
2888         * src/preproc/grn/main.cpp: Some local variable renamings.
2889         (deffont): Add `const'.
2890         (initpic, conv): Use cast for string constant.
2892         * src/preproc/html/pre-html.cpp: Some local variable renamings.
2893         (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
2894         (char_buffer::run_output_filter): Second argument is unused.
2895         * src/preproc/html/pushback.cpp: Some local variable renamings.
2897         * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
2898         * src/preproc/pic/object.cpp: Some local variable renamings.
2900         * src/preproc/refer/label.y (lookup_label): Remove redundant
2901         declaration of local variable.
2903         * src/preproc/soelim.cpp: Remove redundant declaration of
2904         `interpret_lf_args'.
2906         * src/preproc/tbl/main.cpp: Some local variable renamings.
2908         * src/roff/groff/groff.cpp (main): Use cast for string constant.
2909         * src/roff/groff/pipeline.c: Enclose declarations of `error',
2910         `c_fatal', and `i_to_a' with `extern "C"' for C++.
2911         Don't use C++-style comments.
2913         * src/roff/troff/env.h: Remove redundant declaration of `title'.
2914         * src/roff/troff/node.h, src/roff/troff/env.cpp,
2915         src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
2916         renamings.
2917         * src/roff/troff/div.h: Remove redundant declaration of
2918         `end_diversions'.
2919         * src/roff/troff/troff.h: Remove redundant declaration of
2920         `cleanup_and_exit'
2921         * src/roff/troff/input.cpp: Remove redundant declaration of
2922         `handle_first_page_transition' and `process_input_stack'.
2924         * src/utils/hpftodit.cpp: Some local variable renamings.
2926         * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
2927         for C++.
2928         Don't define RETSIGTYPE.
2929         * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
2931         * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
2932         (error): Use `const' in argument.
2933         (main): Remove redundant declaration of `optind'.
2934         Move declaration of `Version_string' to top-level.
2936         * PROBLEMS: Document difficulties compiling signal.c if a C++
2937         compiler is used for C.
2939 2004-04-07  Werner LEMBERG  <wl@gnu.org>
2941         * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
2943 2004-04-06  Keith Marshall  <keith.d.marshall@ntlworld.com>
2945         Make scripts like nroff.sh and neqn.sh portable across various
2946         (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
2947         non-POSIX path separators.  The idea is to extend those scripts to
2948         decide at run-time (of the script) which path separator to use.
2950         * arch/misc/Makefile.sub: New file.
2951         * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
2952         This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
2953         a proper definition of the variable `GROFF_RUNTIME'.
2955         * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
2956         (MDEFINES): Add SH_DEPS_SED_SCRIPT.
2957         (PROGDEPDIRS): New variable.
2958         `FORCE' it.
2959         (PROGDIRS): Add PROGDEPDIRS.
2961         * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
2962         Don't substitute @SEP@ and @BINDIR@.
2963         * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
2964         (PATH): Use GROFF_RUNTIME.
2966         * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
2967         Don't substitute @SEP@ and @BINDIR@.
2968         * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
2969         (PATH): Use GROFF_RUNTIME.
2971 2004-04-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
2973         * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
2974         Cygwin which doesn't handle stderr correctly.
2976 2004-03-08  Werner LEMBERG  <wl@gnu.org>
2978         * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
2979         against empty argument.  Problem reported by <cgd@broadcom.com>.
2981 2004-03-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
2983         * Makefile.in (SEP): Replaced with...
2984         (RT_SEP, SH_SEP): Separators for the target platform's native path
2985         separator and the build environment, respectively.
2986         (fontpath, tmacpath): Use RT_SEP.
2987         (MDEFINES): Updated.
2989         * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2990         * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2991         * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
2992         * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
2994 2004-03-05  Werner LEMBERG  <wl@gnu.org>
2996         * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200.  This helps to
2997         reduce alignment problems with newer printers which use built-in
2998         TrueType fonts (instead of the older Intellifonts).  The ideal
2999         solution is to provide a second set of groff metric files, but this
3000         is extremely time-consuming to produce, given that HP's metric
3001         files are very rudimentary.
3003 2004-03-01  Werner LEMBERG  <wl@gnu.org>
3005         * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3006         s/operand/argument/ in error message.
3008 2004-03-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
3010         * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3011         is in use.
3013 2004-03-01  Antti Kantee  <pooka@netbsd.org>
3015         * tmac/s.tmac (XE): Fix error message.
3017 2004-02-27  Jeff Conrad  <jeff_conrad@msn.com>
3019         * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3020         New macros.
3022         * src/roff/groff/pipeline.c: Declare strcasecmp.
3023         (run_pipeline) [_WIN32]: Use function name variants which don't
3024         start with `_'.
3025         Fix stream handling.
3027 2004-02-27  Keith Marshall  <keith.d.marshall@ntlworld.com>
3029         * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3030         Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3031         for platforms which use the native Win32 runtime libraries.
3032         (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3034         * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3035         QUOTE_ARG_REALLOC_ERROR): Fix string.
3037         * src/preproc/html/pre-html.cpp: Remove declaration of
3038         `spawnvp_wrapper'.
3039         Don't use __MINGW32__.
3040         s/DEBUG_FILE/DEBUG_FILE_DIR/.
3041         (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3042         (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3043         (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3044         calls to `set_redirection' and `WAIT'.
3045         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3046         Fix calls to `set_redirection' and `save_and_redirect'.
3047         (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3048         to `set_redirection' and `save_and_redirect'.
3049         (usage): Fix message.
3050         (makeTempFiles, main): Use `DEBUG_FILE'.
3052 2004-02-21  Werner LEMBERG  <wl@gnu.org>
3054         * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3056 2004-02-21  Keith Marshall  <keith.d.marshall@ntlworld.com>
3058         * src/libs/libgroff/quotearg.c: New file, providing proper argument
3059         quoting for MSVC's spawn* and exec* functions.
3060         * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3061         spawnvp with proper quoting for MSVC.
3063         * src/libs/libgroff/assert.cpp (program_name),
3064         src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3065         * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3067         * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3069         * src/include/error.h (program_name): Declare as `extern "C"'.
3070         * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3072 2004-02-21  Jeff Conrad  <jeff_conrad@msn.com>
3074         * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3075         spawnvp_wrapper.
3076         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3078 2004-02-20  Jeff Conrad  <jeff_conrad@msn.com>
3080         * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3081         variable.
3082         (sbasename) [__MSDOS__ || ...]: New function.
3083         (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3084         generic algorithm.
3085         (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3086         (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3087         of XXX.
3088         Use STDOUT_FILENO instead of hardcoded file handle.
3089         (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3091 2004-02-19  Werner LEMBERG  <wl@gnu.org>
3093         * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3094         avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3096 2004-02-18  Werner LEMBERG  <wl@gnu.org>
3098         * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3099         new font and mapping files.
3101 2004-02-18  Jeff Conrad  <jeff_conrad@msn.com>
3102             Keith Marshall  <keith.d.marshall@ntlworld.com>
3104         * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3105         an input pipe.  This is needed for the MSVC compiler to make troff's
3106         `-o' option work.
3108         * src/roff/troff/div.cpp: Include nonposix.h.
3109         (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3111 2004-02-17  Werner LEMBERG  <wl@gnu.org>
3113         * font/devlj4/generate/special.awk: New script.
3114         * font/devlj4/generate/Makefile (S): Use special.awk.
3115         * font/devlj4/*: Regenerated, including the following new files:
3116         Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3117         MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3118         * NEWS: Document new lj4 fonts and revised hpftodit.
3120 2004-02-17  Paco Andrés Verdú  <pandres@dragonet.es>
3122         * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3124 2004-01-25  Werner LEMBERG  <wl@gnu.org>
3126         * src/libs/libgroff/progname.cpp: Replaced with...
3127         * src/libs/libgroff/progname.c: New file.
3128         * src/libs/libgroff/Makefile.sub: Updated accordingly.
3130 2004-01-17  Werner LEMBERG  <wl@gnu.org>
3132         * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3134 2004-01-16  Jeff Conrad  <jeff_conrad@msn.com>
3136         * font/devlj4/generate/wingdings.map,
3137         font/devlj4/generate/symbol.map: Include unnamed glyphs.
3138         Use groff glyph names where possible.
3139         * src/devices/grolj4/lj4_font.man: Minor updates.
3141 2004-01-13  Werner LEMBERG  <wl@gnu.org>
3143         * tmac/www.tmac (DC): Handle TTY devices.
3145         * doc/webpage.ms: Document viewCVS from ffii.org.
3146         * NEWS, README: Updated.
3148         * src/roff/groff/groff.man: Mention lj4_font man page.
3150         * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3151         variables.
3152         (FONTS): Add SYMBOL and WINGDINGS.
3153         (SYMBOL, WINGDINGS): New targets.
3155 2004-01-13  Jeff Conrad  <jeff_conrad@msn.com>
3157         * src/devices/grolj4/lj4_font.man: New man page.
3158         * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3159         * src/devices/grolj4.man: Mention lj4_font man page.
3161         * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3162         * src/utils/hpftodit/hpftodit.man: Document it.
3163         (CW): New macro.
3164         Remove details about fonts (which are now in lj4_font.man).
3166         * font/devlj4/generate/symbol.map,
3167         font/devlj4/generate/wingdings.map: New files.
3169 2004-01-12  Werner LEMBERG  <wl@gnu.org>
3171         * README: Mention ffii's viewcvs access.
3173 2004-01-09  Werner LEMBERG  <wl@gnu.org>
3175         * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
3177 2004-01-09  Jeff Conrad  <jeff_conrad@msn.com>
3179         Revert most of the change from 2004-01-03 to better control used
3180         symbol sets.
3182         * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
3183         (text_symbol_sets, special_symbol_sets): New arrays.
3184         (symbol_set_table): New global variable.
3185         (read_symbol_sets): Use search order given in the text_symbol_sets
3186         and special_symbol_sets arrays.  If command line flag -a is not
3187         given, search both arrays.
3188         (output_charset): Require x_height_tag only for command line flag -i.
3190 2004-01-06  Werner LEMBERG  <wl@gnu.org>
3192         Implement string-valued registers \n[.m] and \n[.M] to return the
3193         name of the current drawing and background color, respectively.
3195         * src/roff/troff/symbol.h: Moved to...
3196         * src/include/symbol.h: Here.
3197         Small fixes to make it work outside of the `troff' directory.
3198         * src/roff/troff/symbol.cpp: Moved to...
3199         * src/libs/libgroff/symbol.cpp: Here.
3200         Small fixes to make it work outside of the `troff' directory.
3202         * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
3203         (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
3204         Updated.
3206         * src/include/color.h: Include symbol.h.
3207         (color): Add new field `nm'.
3208         * src/libs/libgroff/color.cpp (color::color): Updated.
3210         * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
3211         src/roff/troff/node.cpp, src/roff/troff/number.cpp,
3212         src/roff/troff/reg.cpp: Don't include symbol.h.
3214         * src/roff/troff/env.cpp: Don't include symbol.h.
3215         (environment::get_glyph_color_string,
3216         environment_get_fill_color_string): New member functions.
3217         (init_env_requests): Handle `.m' and `.M' registers.
3218         * src/roff/troff/input.cpp: Don't include symbol.h.
3219         (default_symbol): Moved to symbol.cpp/symbol.h.
3220         (do_glyph_color, do_fill_color, define_color): Pass symbol name
3221         to color constructor.
3222         * src/roff/troff/env.h: Updated.
3224         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3225         Document new registers.
3227 2004-01-05  Werner LEMBERG  <wl@gnu.org>
3229         * src/roff/troff/node.cpp (space_node::get_breakpoints,
3230         space_node::nbreaks): Protect against zero `next' field.
3232 2004-01-03  Jeff Conrad  <jeff_conrad@msn.com>
3234         In hpftodit, use the symbol sets offered in the TFM.
3236         * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
3237         (symbol_set, text_symbol_sets, special_symbol_sets,
3238         symbol_set_table): Removed.
3239         (get_printcode): Removed.
3240         (read_symbol_sets): Initialize `symbol_set' field with
3241         `NO_SYMBOL_SET'.
3242         Simplify code to just use the `kind' value.
3243         (output_charset): Improve output formatting.
3244         (dump_symbols): Simplified.
3246 2004-01-02  Werner LEMBERG  <wl@gnu.org>
3248         * font/devlj4/generate/text.map: Add more MSL numbers.
3250 2004-01-02  Jeff Conrad  <jeff_conrad@msn.com>
3252         * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
3253         (text_symbol_sets): Add more symbol sets.
3254         (debug_flag): New static variable (moved from `main').
3255         (get_printcode, show_symset): New functions.
3256         (main): Remove `debug_flag'.
3257         (output_charset): Use `show_symset'.
3258         (dump_symbols):  Use `show_symset'.
3259         Print symsets for all glyphs.
3260         (read_map): Actually call `unicode_to_ucode_make' but this time
3261         correctly.
3263 2004-01-01  Werner LEMBERG  <wl@gnu.org>
3265         * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
3266         Fix placement of comments.
3268 2004-01-01  Jeff Conrad  <jeff_conrad@msn.com>
3270         * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
3271         option `-d' is given.
3272         (output_charset): Improve warning messages to give more information.
3273         (dump_symbols): Make information more precise.
3274         (usage): Updated.
3275         (read_map): Don't call unicode_to_ucode_name; the glyph names must
3276         appear as-is and shouldn't be decomposed.
3278 2003-12-31  Werner LEMBERG  <wl@gnu.org>
3280         * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
3281         * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
3282         (FONTS): Add TrueType font families Arial and Times New Roman.
3283         (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
3284         * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
3285         `fl'.
3287 2003-12-31  Jeff Conrad  <jeff_conrad@msn.com>
3289         * test-groff.in (SEP): Quote value.
3290         * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
3291         `tem' to `char*' to avoid deallocation of a pointer to a constant
3292         object which some compilers don't like.
3294 2003-12-31  Werner LEMBERG  <wl@gnu.org>
3296         * font/devlj4/generate (text.map, special.map): Rewritten to work
3297         with the new hpftodit version.
3299 2003-12-30  Jeff Conrad  <jeff_conrad@msn.com>
3301         * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
3302         set and 8bit character code for all glyphs also.
3304 2003-12-30  Werner LEMBERG  <wl@gnu.org>
3306         * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
3308 2003-12-29  Werner LEMBERG  <wl@gnu.org>
3310         More fixes for MSVC compiler.
3312         * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
3313         $(SEP).
3315         * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
3316         STDERR_FILENO) [_MSC_VER]: Define conditionally.
3317         (getpid) [_MSC_VER]: Remove.
3318         Include direct.h and process.h conditionally.
3320         * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
3321         parentheses for a_delete.
3323         * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
3325         * test-groff: Replaced with...
3326         * test-groff.in: This new template to handle path separator
3327         properly.
3329         * configure.ac: Check for direct.h and process.h.
3330         Generate test-groff script.
3331         * configure, src/include/config.hin: Regenerated.
3333 2003-12-28  Werner LEMBERG  <wl@gnu.org>
3335         Add integral extension glyph.
3336         Add new option `-x' to afmtodit to suppress use of built-in AGL.
3338         * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
3340         * font/devps/generate/textmap: Provide entry for `integralex' to
3341         override (old) PUA value of the AGL.
3342         * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
3343         * font/devps/*: Regenerated.
3345         * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
3346         * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
3348 2003-12-27  Werner LEMBERG  <wl@gnu.org>
3350         Add forgotten `coproduct' symbol (already available for DVI).
3352         * font/devhtml/R.proto, font/devps/generate/textmap,
3353         font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
3354         src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
3355         U+2210 (\[coproduct]).
3357 2003-12-26  Jeff Conrad  <jeff_conrad@msn.com>
3359         hpftodit has been extended to handle TrueType metric files and
3360         more glyphs.  See hpftodit.man for more details.
3362         * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
3363         ctype.h, and unicode.h.
3364         s/msl/charcode/ everywhere since we now handle Unicode values also.
3365         (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
3366         Use it where appropriate.
3367         (MULTIPLIER): Replaced with...
3368         (multiplier): New global static variable.
3369         (scale): Updated.
3370         (tag_type): Add more TFM tags.
3371         (tag_name): New array.
3372         (ENUM_TYPE, FLOAT_TYPE): Removed.
3373         (BYTE_TYPE): New value assigned.
3374         (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
3375         (text_symbol_sets, special_symbol_sets): Extended to cover more
3376         sets.
3377         (check_type): Add return value.
3378         (check_units): Add parameters to get ppi and upem values.
3379         Handle TrueType TFM data.
3380         (output_font_name): New function.
3381         (output_charset): Add parameter to handle TFM type.
3382         Handle TrueType TFMs also.
3383         (em_fract): New macro.
3384         (dump_tags): Be much more verbose and handle more tags.
3385         (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
3386         (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
3387         functions.
3388         (read_map): Add parameter to handle TFM type.
3389         Handle both MSL and Unicode mappings.
3390         (main): Add two new command line options `-a' and `-q'.
3391         Updated to make use of new functions.
3392         (usage): Updated.
3394         * src/utils/hpftodit/hpuni.cpp: New file.
3396         * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
3397         Updated.
3399 2003-12-25  Werner LEMBERG  <wl@gnu.org>
3401         * src/include/nonposix.h (read) [_MSC_VER]: Define.
3403 2003-12-24  Werner LEMBERG  <wl@gnu.org>
3405         * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
3406         by Michail Vidiassov <master@iaas.msu.ru>.
3408 2003-12-20  Werner LEMBERG  <wl@gnu.org>
3410         * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3411         and u0049_0307.
3412         Add missing latin-2 glyphs.
3413         * font/devutf8/R.proto: Add missing latin-2 glyphs.
3415         * tmac/troffrc: Load `composite.tmac' earlier.
3417         * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
3418         u00{53,73}_0327, and u0049_0307.
3419         * tmac/X.tmac: Add u00{47,67}_0306.
3420         * tmac/tty-char.tmac: Use composite glyph names for readability.
3422         * NEWS: Updated.
3424         * src/include/unicode.h: Remove `extern' keywords.
3426 2003-12-20  Nilgün Belma Bugüner  <nilgun@superonline.com>
3428         * tmac/latin5.tmac: New file.
3430 2003-12-19  Werner LEMBERG  <wl@gnu.org>
3432         Add some glyphs needed for Turkish.
3434         * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3435         and u0049_0307.
3437         * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
3438         * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
3439         u00{53,73}_0327, and u0049_0307.
3441 2003-12-18  Werner LEMBERG  <wl@gnu.org>
3443         * src/devices/grops/ps.cc (ps_output::put_float): Revert change
3444         from 2001-10-04.
3445         Remove trailing zeros.
3447 2003-12-17  Werner LEMBERG  <wl@gnu.org>
3449         Make \? transparent to end-of-sentence recognition.
3451         * src/roff/troff/input.cc (non_interpreted_node): Add
3452         `ends_sentence' member function.
3454 2003-12-16  Werner LEMBERG  <wl@gnu.org>
3456         * doc/groff.texinfo: Document `dt' request correctly.
3457         Other minor typographical improvements.
3459 2003-12-10  Michail Vidiassov  <master@iaas.msu.ru>
3461         * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
3463 2003-12-10  Richard Stallman  <rms@gnu.org>
3465         * LICENSE: Better wording.
3467 2003-12-09  Werner LEMBERG  <wl@gnu.org>
3469         * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
3470         * configure, NEWS: Updated.
3472 2003-12-08  Werner LEMBERG  <wl@gnu.org>
3474         * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
3476 2003-12-07  Bernd Warken  <bwarken@mayn.de>
3478         * LICENSE: Updated.
3480 2003-12-07  Werner LEMBERG  <wl@gnu.org>
3482         * INSTALL: Improved.
3484 2003-12-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
3486         Use path separator character of target platform for compiled-in
3487         default paths.
3489         * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
3490         * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
3491         * configure: Regenerated.
3492         * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
3494 2003-12-05  Werner LEMBERG  <wl@gnu.org>
3496         * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
3497         Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
3499 2003-12-04  Bernd Warken  <bwarken@mayn.de>
3501         * LICENSE: New file.
3503 2003-12-03  Werner LEMBERG  <wl@gnu.org>
3505         * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
3506         ligatures present in AFM files since groff currently only
3507         understands some standard ligatures and nothing else.
3509 2003-12-03  Jeff Conrad  <jeff_conrad@msn.com>
3511         * src/roff/groff/groff.cpp (main): Don't run the spooler if
3512         option -v is given.
3514         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
3515         messages.
3516         Close stdout copy.
3517         Don't use Unix wait flags.
3519 2003-12-02  Werner LEMBERG  <wl@gnu.org>
3521         * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
3522         src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
3523         src/roff/troff/uniuni.cpp: Moved to...
3524         * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
3525         src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
3526         src/libs/libgroff/uniuni.cpp: Here.
3528         * src/include/Makefile.sub.old (HDRS),
3529         src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
3530         src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
3532 2003-12-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
3534         * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
3535         `DEBUG_FILE'.
3536         Updated all users.
3538 2003-12-01  Werner LEMBERG  <wl@gnu.org>
3540         * groff.texinfo: Document special behaviour of `.vs 0'.
3541         Improve documentation of `cflags' request.
3542         * NEWS: Updated.
3544 2003-11-29  Werner LEMBERG  <wl@gnu.org>
3546         * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
3547         * font/devlj4/CORONET: Regenerated.
3549 2003-11-24  Werner LEMBERG  <wl@gnu.org>
3551         * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
3552         if processing hyphenation patterns in traditional mode.
3553         Improve error messages.
3555 2003-11-20  Werner LEMBERG  <wl@gnu.org>
3557         * src/roff/troff/node.cpp (troff_output_file::put_char_width,
3558         troff_output_file::put_char): Fix type of local variable `c'.
3560 2003-11-19  Werner LEMBERG  <wl@gnu.org>
3562         * src/roff/groff/pipeline.c (P): Removed.  Updated all function
3563         declarations.
3564         (i_to_a): Removed.  libgroff already provides this function.
3565         (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
3567 2003-11-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
3569         * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
3570         HAVE_DECL_SYS_LIST.
3572 2003-11-17  Werner LEMBERG  <wl@gnu.org>
3574         * COPYING: Use correct version.
3576 2003-11-11  Werner LEMBERG  <wl@gnu.org>
3578         LynxOS 4.0.0 doesn't declare vfprintf.
3580         * configure.ac: Check for vfprintf.
3581         * configure: Regenerated.
3582         * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
3583         * src/include/config.hin: Regenerated.
3585 2003-11-10  Werner LEMBERG  <wl@gnu.org>
3587         LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
3589         * configure.ac: Check for vsnprintf.
3590         * configure: Regenerated.
3591         * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
3592         `HAVE_VSNPRINTF'.
3593         * src/include/config.hin: Regenerated.
3595 2003-11-09  Werner LEMBERG  <wl@gnu.org>
3597         * aclocal.m4: Updated syntax to autoconf 2.59.
3598         (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
3599         Don't check for gsos2.
3600         (GROFF_SRCDIR, GROFF_BUILDDIR): Removed.  autoconf 2.59 provides
3601         working abs_top_srcdir and abs_top_builddir.
3603         * configure.ac: Updated syntax to autoconf 2.59.
3604         Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
3605         Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
3606         * configure: Regenerated.
3608         * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
3609         s/@groff_top_builddir@/@abs_top_builddir@/.
3611         * src/roff/groff/pipeline.c (xstrsignal):
3612         s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
3614 2003-11-07  Werner LEMBERG  <wl@gnu.org>
3616         * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
3617         make start angle smaller than end angle to circumvent a bug in tpic
3618         handling of some versions of dvipdfm (and dvipdfmx).
3620 2003-10-30  Werner LEMBERG  <wl@gnu.org>
3622         * src/devices/grops/grops.man: Improve section on creating EPS.
3624 2003-10-29  Werner LEMBERG  <wl@gnu.org>
3626         * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
3627         -P-pletter).
3629 2003-10-28  Werner LEMBERG  <wl@gnu.org>
3631         * doc/groff.texinfo: Fix documentation of `.if'.
3633 2003-10-27  Michail Vidiassov  <master@iaas.msu.ru>
3635         * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
3636         the form `uniXXXX' also.
3638 2003-10-27  Werner LEMBERG  <wl@gnu.org>
3640         * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
3641         contrib/pic2graph/pic2graph.sh: Implement secure management of
3642         temporary files.
3643         Pass `-P-pletter' to groff to avoid data outside of the converted
3644         area -- some versions of `convert' (for example 5.3.8) don't check
3645         the bounding box of the image but always use a fixed image size
3646         (letter paper format).
3647         * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
3648         contrib/pic2graph/pic2graph.man: Updated.
3650         * src/roff/groff/groff.man: Document $TMP and $TEMP.
3652 2003-10-26  Werner LEMBERG  <wl@gnu.org>
3654         * src/preproc/pic/troff.cpp (troff_output::simple_circle,
3655         troff_output::simple_ellipse, troff_output::simple_arc,
3656         troff_output::simple_line, troff_output::simple_spline,
3657         troff_output::simple_polygon): Insert a space before arguments.
3658         (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
3659         latter doesn't produce a node, so the following `.sp -1' would do
3660         the wrong thing.
3661         Don't emit `.sp -1' after \M.  This also doesn't produce a token
3662         (and we don't have to care about compatibility mode).
3663         (troff_output::set_color, troff_output::reset_color): Don't emit
3664         `.sp -1' after \M and \m.
3666         * src/roff/troff/input.cpp (old_have_input): New global variable.
3667         (input_stack::get): Handle `old_have_input'.
3668         (process_input_stack) <token::TOKEN_NEWLINE>: Call
3669         `trapping_blank_line' depending on `old_have_input', not
3670         `have_input'.
3672 2003-10-20  Keith Marshall  <keith.d.marshall@ntlworld.com>
3674         * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
3675         (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
3676         default directory names for temporary files.
3677         [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
3679         * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
3680         [__MSDOS__] (run_pipeline): Honour environment variables.
3681         Don't use `tmpnam' but `tempnam' to work around messy
3682         implementation.
3684         * README.MinGW: New file.
3686 2003-10-16  Werner LEMBERG  <wl@gnu.org>
3688         * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
3689         `(*t)->next' without testing validity of `*t'.
3690         (usage): Make it more readable.
3692 2003-10-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
3694         Make html device run under both MS-DOS and Win32.
3696         * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
3697         MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
3698         spawn or fork+exec has to be used, and whether parent must sleep
3699         until the child process terminates.  Used in
3700         `char_buffer::run_output_filter'.
3701         (copyofstdoutfd): Removed.
3702         (char_buffer): Replace `write_file_html' and `write_file_troff'
3703         member functions with `emit_troff_output' and `run_output_filter'.
3704         (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
3705         macros.
3706         (replaceFd): Replaced with...
3707         (set_redirection): New auxiliary function.
3708         (waitForChild): Replaced with...
3709         (save_and_redirect): New auxiliary function for.
3711         (char_buffer::do_html, char_buffer::do_image): Simplified, using new
3712         functions.
3714 2003-10-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
3716         * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
3717         (GROFF_LIBC): New function.
3718         * configure.ac: Call GROFF_LIBC.
3719         Check for `kill'.
3720         * configure: Regenerated.
3722         * src/include/lib.h: Handle __MINGW32__.
3723         * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
3724         Add macro for `pipe'.
3725         Define P_tmpdir.
3727         * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
3728         correctly.
3730         * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
3731         Implement.
3733 2003-10-13  Werner LEMBERG  <wl@gnu.org>
3735         Finally fix change 2003-08-26, based on ideas from Chuck Silvers
3736         <chuq@chuq.com>.
3738         * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
3739         directory.
3741 2003-10-12  Werner LEMBERG  <wl@gnu.org>
3743         * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
3744         src/roff/troff/input.cc (usage): Updated.
3746         * NEWS, doc/groff.texinfo: Updated.
3748 2003-10-12  Peter Miller  <millerp@canb.auug.org.au>
3750         * src/libs/libgroff/searchpath.cpp
3751         (search_path::open_file_cautious): New function which also handles
3752         `-' as stdin and stdout depending on the access mode.
3753         * src/include/searchpath.h (search_path): Updated.
3755         * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
3756         * src/devices/grops/ps.h: Include `searchpath.h'.
3757         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3758         Open resource file with `include_search_path.open_file_cautious'.
3759         * src/devices/grops/grops.man: Document new `-I' switch.
3761         * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
3762         (main), src/devices/grolj4/lj4.cpp (main),
3763         src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
3765         * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
3766         Replaced with...
3767         (include_search_path): New global variable.
3768         (include_path_append): Removed.
3769         (main): Use `include_search_path.command_line_dir' to handle `-I'.
3770         (do_file): Simplify, using new
3771         `include_search_path.open_file_cautious'.
3773         * src/roff/groff/groff.cpp (print_commands): Accept file handle as
3774         parameter.
3775         (main): Pass arguments to `-I' to both troff and devices.
3776         Improve handling of `-V'.
3777         * src/roff/groff/groff.man: Document changes to -I and -V.
3779         * src/roff/troff/input.cpp (include_search_path): New global
3780         variable.
3781         (next_file, source, ps_bbox_request, transparent_file,
3782         process_input_file): Use new
3783         `include_search_path.open_file_cautious'.
3784         (main) Handle `-I' switch.
3785         * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
3786         Use new `include_search_path.open_file_cautious'.
3787         * src/roff/troff/node.h: New extern symbol `include_search_path'.
3788         * src/roff/troff/troff.man: Document new `-I' switch.
3790 2003-09-15  Ruslan Ermilov  <ru@FreeBSD.org>
3792         Support multiple calls of .Lb in LIBRARY section.
3794         * tmac/doc-common (doc-in-library-section): New register.
3795         (doc-section-library): New string.
3796         (Sh): Set `doc-in-library-section'.
3797         (Rd): Updated.
3798         * tmac/doc-syms (Lb): Insert breaks before and after arguments
3799         if in LIBRARY section.
3800         * tmac/doc.tmac (doc-save-global-vars): Updated.
3801         * NEWS, tmac/groff_mdoc.man: Updated.
3803 2003-09-14  Ruslan Ermilov  <ru@FreeBSD.org>
3805         * tmac/doc-common (doc-default-operating-system): New variable.
3806         (Os): Use it.
3808 2003-09-08  Werner LEMBERG  <wl@gnu.org>
3810         * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
3812 2003-08-31  Werner LEMBERG  <wl@gnu.org>
3814         * contrib/mom/Makefile.sub: Fix last change to make it really work.
3815         * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
3816         (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
3817         $(DEVFILES) are not empty.
3818         * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
3820 2003-08-26  Chuck Silvers  <chuq@chuq.com>
3822         * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
3823         with parallel runs of `make'.
3825 2003-08-23  Stephen Gildea  <http://www.gildea.com/stephen>
3827         * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
3828         insert SORT_SEP.  With certain combinations of sort specifications,
3829         refer sorted entries in the wrong order.  In particular, entries
3830         with a missing field should be be sorted before all entries that
3831         have that field, before refer looks to the next field.
3833 2003-08-23  Werner LEMBERG  <wl@gnu.org>
3835         * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
3836         g++ linker is used.  Reported by Mark J. Reed
3837         <mark.reed@turner.com>.
3839 2003-08-16  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3841         Add key character `x' to tbl which makes tbl call a user-defined
3842         macro on a table cell.
3844         * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
3845         * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
3846         `set_modifier' after printing the compatibility request.
3847         (set_modifier): Print call to `m->macro' if not empty.
3848         * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
3849         `macro'.
3850         (process_format): Implement cases `x' and `X'.
3851         * src/preproc/tbl/tbl.man, NEWS: Updated.
3853 2003-08-15  Werner LEMBERG  <wl@gnu.org>
3855         * doc/groff.texinfo: Minor fixes.
3857 2003-08-09  Werner LEMBERG  <wl@gnu.org>
3859         * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
3861 2003-08-07  Werner LEMBERG  <wl@gnu.org>
3863         * doc/Makefile.sub: Not all shells expand wildcards in the `for'
3864         argument list to nothing if there is no file to match.  Use `ls' as
3865         a protection, similar to autoconf.
3867         * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
3868         empty argument lists.
3870         * doc/groff.texinfo: Improve documentation how vertical spacing
3871         and line breaks interact.
3872         Other minor fixes.
3874         * tmac/www.tmac: Initialize `www-htmlimage-gap'.
3876 2003-08-03  Werner LEMBERG  <wl@gnu.org>
3878         * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
3879         EPS (using eps2eps or similar programs to compute the bounding box).
3881 2003-07-24  Werner LEMBERG  <wl@gnu.org>
3883         * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
3884         * doc/texinfo.tex: Updated from texinfo 4.6.
3885         * README.CVS: From now on we need texinfo 4.6.
3887 2003-07-23  Werner LEMBERG  <wl@gnu.org>
3889         Add requests `dei1' and `ami1' for completeness.
3891         * src/roff/troff/input.cc (calling_mode): Remove
3892         CALLING_DISABLE_COMP.
3893         (comp_mode): New enumeration.
3894         (do_define_string, define_string, define_nocomp_string,
3895         append_string, append_nocomp_string): Updated.
3896         (do_define_macro): Add third parameter.
3897         (define_macro, define_nocomp_macro, define_indirect_macro,
3898         append_macro, append_nocomp_macro, append_indirect_macro): Updated.
3899         (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
3900         functions.
3901         (ignore): Updated.
3902         (init_input_requests): Add `dei1' and `ami1'.
3904         * tmac/trace.tmac: Handle de1 and am1.
3905         (de): Improve tracing message.
3906         (am): Add missing `do'.
3907         (return): Use de1.
3909         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3910         Document new requests.
3912 2003-07-22  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3914         Add option -G to .MPIMG to insert a gap between text and the image.
3916         * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
3917         www-finish-left-ll): Updated.
3918         (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
3919         (MPIMG): Make option -L and -R optional.
3920         Implement option -G.
3922 2003-07-22  Gaius Mulley  <gaius@glam.ac.uk>
3924         * src/devices/grohtml/post-html.cpp
3925         (html_printer::do_file_components): Don't use `stdout' as lvalue
3926         since it can be a macro.
3928 2003-07-22  Werner LEMBERG  <wl@gnu.org>
3930         * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
3931         the corresponding test in aclocal.m4.
3933 2003-07-21  Werner LEMBERG  <wl@gnu.org>
3935         * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
3936         names but RGB values directly.  Otherwise pnmtopng depends on
3937         an external file `rgb.txt' which maps colour names to values.
3939 2003-07-20  Werner LEMBERG  <wl@gnu.org>
3941         * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
3942         * configure, src/include/config.hin: Regenerated.
3944         * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
3946 2003-07-19  Werner LEMBERG  <wl@gnu.org>
3948         * PROBLEMS: Add solution for UTF-8 problem with hyphens.
3950 2003-07-18  Werner LEMBERG  <wl@gnu.org>
3952         * *.man: Switch to non-compatibility mode temporarily if GNU
3953         syntax extensions are used in the particular man page.
3955         * PROBLEMS: Add solutions for SGR problems.
3957 2003-07-17  Werner LEMBERG  <wl@gnu.org>
3959         Don't ignore grotty's command line options if \X'tty: sgr ...' is
3960         used to change the drawing scheme.
3962         * src/devives/grotty/tty.cpp (bold_flag_option,
3963         underline_flag_option, italic_flag_option, reverse_flag_option,
3964         bold_underline_mode_option): New global variables.
3965         (update_options): New function.
3966         (tty_printer::special): Call update_options.
3967         (main): Don't set xxx_flag but xxx_flag_option, then call
3968         update_options.
3970 2003-07-14  Werner LEMBERG  <wl@gnu.org>
3972         Make grotty emit proper Unicode box drawing characters for -Tutf8.
3974         * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
3975         values.
3976         (hline_char, vline_char): New global variables.
3977         (tty_printer::tty_printer): Initialize them.
3978         (tty_printer::draw): Emit START_LINE and END_LINE flags for both
3979         horizontal and vertical lines.
3980         (crossings): New global array.
3981         (tty_printer::end_page): Use it to determine the proper crossing
3982         character for -Tutf8.
3984 2003-07-12  Werner LEMBERG  <wl@gnu.org>
3986         * doc/Makefilesub (HTMLDOCFILESALL): New macro.
3987         (HTMLDOCFILES): Revert to `pic.html'.
3988         (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
3990 2003-07-11  Werner LEMBERG  <wl@gnu.org>
3992         * doc/pic.ms: Improve documentation of absolute coordinates.
3993         Document absolute positioning of pictures.
3995         * NEWS: Add new pic capability.
3997 2003-07-09  Hartmut Henkel  <hartmut_henkel@gmx.de>
3999         * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4000         Rewritten.
4002 2003-07-07  Werner LEMBERG  <wl@gnu.org>
4004         Implement support for dashed and dotted ellipses in pic.  Based on
4005         a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4007         * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4008         common_output::dashed_ellipse, common_output::dotted_ellipse): New
4009         functions.  Ellipse arcs are approximated with circle arcs.
4010         * src/preproc/pic/common.h (common_output): Updated.
4011         * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4012         functions.
4013         * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4015         * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4017 2003-07-06  Werner LEMBERG  <wl@gnu.org>
4019         Make grotty work on platforms which have unsigned char as the
4020         default for char.  Based on a patch by Thomas Klausner
4021         <wiz@netbsd.org>.
4023         * src/devices/grotty/tty.cpp (schar): New typedef.
4024         Updated calls to declare_ptable and implement_ptable.
4025         (glyph): Use schar for back_color_idx and fore_color_idx.
4026         (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4027         (tty_printer::tty_color, tty_printer::tty_printer,
4028         tty_printer::color_to_idx, tty_printer::put_color): Updated.
4030 2003-07-06  Ruslan Ermilov  <ru@FreeBSD.org>
4032         * src/roff/nroff/nroff.sh: Add option -d for completeness.
4033         * src/roff/nroff/nroff.man: Updated.
4035 2003-07-05  Werner LEMBERG  <wl@gnu.org>
4037         * NEWS, tmac/groff_www.man: Updated.
4038         * doc/Makefile.sub: Updated.
4040 2003-07-05  Gaius Mulley  <gaius@glam.ac.uk>
4042         Implement support for multiple HTML output files.
4044         * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4045         -j command line option.
4047         * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4048         global variables.
4049         (file): New fields `new_output_file', `require_links',
4050         `output_file_name'.
4051         (file::file): Updated.
4052         (files::set_file_name, files::set_links_required,
4053         files::are_links_required, files::is_new_output_file,
4054         files::file_name, files::next_file_name): New functions.
4055         (header_desc): New fields `no_of_level_one_headings',
4056         `header_filename'.
4057         (header_desc::header_desc): Updated.
4058         (header_desc::write_headings): Handle multiple files.
4059         (html_printer::write_header): Save file name in which header occurs.
4060         (html_printer::determine_header_level): Possibly split files on
4061         level one headings.
4062         (html_printer::do_links, html_printer::troff_tag): Updated.
4063         (html_printer::insert_split_file, html_printer::do_job_name,
4064         html_printer::emit_link, html_printer::write_navigation,
4065         html_printer::do_file_components): New functions.
4066         (html_printer::~html_printer): Handle multiple files.
4067         (main): Handle command line option `-j'.
4069         * src/devices/grohtml/grohtml.man: Updated.
4071         * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4072         which splits file.
4074         * tmac/www.tmac (JOBNAME): New macro.
4075         * tmac/s.tmac (SH-NO-TAG): New macro.
4076         (@SH): Call SH-NO-TAG.
4077         (@NH): Updated.
4079 2003-07-05  Ruslan Ermilov  <ru@FreeBSD.org>
4081         * tmac/groff_mdoc.man: Improve documentation of punctuation
4082         characters.
4084 2003-07-04  Ruslan Ermilov  <ru@FreeBSD.org>
4086         * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4088 2003-07-03  Werner LEMBERG  <wl@gnu.org>
4090         * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4092 2003-07-01  Ruslan Ermilov  <ru@FreeBSD.org>
4094         * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4095         after `/*' and `*/'.
4096         Fix spacing.
4097         (Fn, Fo): Reduce indentation in synopsis.
4099         * tmac/doc-common (doc-check-depth): New macro.
4100         (doc-end-macro, Sh, Ss): Use it.
4101         (Cd): Fix behaviour in synopsis.
4102         (In): Make it parsed and callable.
4103         If not in the synopsis, represent the C header file enclosed in
4104         angle brackets.
4105         (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4106         Use minus, not hyphen.
4108         * tmc/groff_mdoc.man: Updated.
4110 2003-07-01  Werner LEMBERG  <wl@gnu.org>
4112         Integrated grap2graph, contributed by Eric S. Raymond.
4114         * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4115         New files.
4116         * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4117         contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4119 2003-07-01  Colin Watson  <cjwatson@debian.org>
4121         * src/xditview/*.c: Add prototypes, fix return types, add includes.
4122         Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4124 2003-06-31  Ruslan Ermilov  <ru@FreeBSD.org>
4126         * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4128 2003-06-31  Werner LEMBERG  <wl@gnu.org>
4130         * doc/Makefile.sub (CLEANADD): Remove all files created by
4131         running `make groff.{pdf,dvi}'.
4133         * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4134         src/xditview also.
4136 2003-06-30  Werner LEMBERG  <wl@gnu.org>
4138         * Makefile.in (SHELL): Define as @SHELL@.
4139         (mkinstalldirs): Use $(SHELL).
4140         (MDEFINES): Add $(SHELL).
4141         * Makefile.comm (SHELL): Removed.
4143 2003-06-29  Werner LEMBERG  <wl@gnu.org>
4145         * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4146         The X11 documentation files use them.
4147         * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4149 2003-06-15  Robert Goulding  <goulding@Princeton.EDU>
4151         * tmac/e.tmac (@C): Handle .ad also.
4153 2003-06-12  Werner LEMBERG  <wl@gnu.org>
4155         * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4157         * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4158         Assign `n' even here.  It is possible to construct a node
4159         immediately following an escape character:
4161           .di xx
4162           \?\\\?a
4163           .br
4164           .di
4165           .xx
4167 2003-06-10  Werner LEMBERG  <wl@gnu.org>
4169         * README.WIN32: Removed.
4170         * MANIFEST: Updated.
4172 2003-06-07  Werner LEMBERG  <wl@gnu.org>
4174         * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
4176 2003-06-05  Werner LEMBERG  <wl@gnu.org>
4178         * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
4179         in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
4181 2003-06-03  Werner LEMBERG  <wl@gnu.org>
4183         * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
4184         is done by the calling function.
4186 2003-05-22  Ruslan Ermilov  <ru@FreeBSD.org>
4188         * tmac/X.tmac: Fix definition of `em'.
4190 2003-05-22  Werner LEMBERG  <wl@gnu.org>
4192         * src/roff/troff/input.cc (return_macro_request): Fix detection of
4193         argument.
4195 2003-05-18  Werner LEMBERG  <wl@gnu.org>
4197         * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
4198         to make items work which consist only of a tag.
4200 2003-05-17  Werner LEMBERG  <wl@gnu.org>
4202         * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
4203         aren't stretched in a tag (this can fail with unformatted boxes).
4204         Instead, insert a break and go back one line.
4206 2003-05-16  Werner LEMBERG  <wl@gnu.org>
4208         * src/roff/troff/input.cc (return_macro_request): If called with
4209         argument pop macro twice.  We need this to trace `return'.
4211         * tmac/trace.tmac: Handle `return'.
4212         Fix typos.
4214         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4215         Document.
4217 2003-05-15  Larry Kollar  <kollar@alltel.net>
4219         * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
4220         registers `FPS', `FVS', and `FPD'.
4222 2003-05-15  Werner LEMBERG  <wl@gnu.org>
4224         * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
4225         correctly.
4227 2003-05-03  Ruslan Ermilov  <ru@FreeBSD.org>
4229         * tmac/groff_mdoc.man: Slight improvements.
4231 2003-05-03  Werner LEMBERG  <wl@gnu.org>
4233         * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
4234         `doc-header-space' after header line if register `cR' is set.
4236 2003-05-02  Werner LEMBERG  <wl@gnu.org>
4238         * TODO: Updated.
4240 2003-05-01  Ruslan Ermilov  <ru@FreeBSD.org>
4242         * tmac/doc-common (Nd): Use \[em].
4244 2003-05-01  Werner LEMBERG  <wl@gnu.org>
4246         * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
4247         doc-footer-space): Initialize to 0.5i.
4248         (doc-setup-page-layout): Don't set doc-header-space and
4249         doc-footer-space.
4251 2003-04-30  Werner LEMBERG  <wl@gnu.org>
4253         * REVISION: Set to 1.
4255         * doc/pic.ms: Document possible problems with `figname'.
4257 2003-04-29  Werner LEMBERG  <wl@gnu.org>
4259 Version 1.19 released
4260 =====================
4262         * VERSION: Set to 1.19.
4263         * REVISION: Set to 0.
4264         * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
4266         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4267         Define charset as `US-ASCII' in html output.
4269         * tmac/www.tmac (ULE): Add missing scaling indicator.
4271         * win32-diffs: Removed.
4273 2003-04-28  Werner LEMBERG  <wl@gnu.org>
4275         * doc/groff.texinfo: Document `dn' and `dl' registers if used with
4276         `.da' and `.boxa'.
4277         Document how to insert discardable whitespace with `.ss'.
4279 2003-04-27  Werner LEMBERG  <wl@gnu.org>
4281         * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
4282         work with plain TeX also.
4284         * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
4286 2003-04-25  Gaius Mulley  <gaius@glam.ac.uk>
4288         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4289         Use a loose DTD.
4291 2003-04-24  Werner LEMBERG  <wl@gnu.org>
4293         * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
4294         vbox with positive height and zero depth if in TeX mode.
4296         * NEWS: Document glyph name changes for grodvi and grolj4.
4298 2003-04-23  Werner LEMBERG  <wl@gnu.org>
4300         * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
4301         * doc/pic.ms: Fixed.
4303 2003-04-21  Werner LEMBERG  <wl@gnu.org>
4305         HP-UX 10.20 has `snprintf' but it isn't declared.
4307         * configure.ac: Add declaration test for snprintf.
4308         * configure: Regenerated.
4309         * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
4310         * src/include/config.hin: Regenerated.
4312 2003-04-19  Werner LEMBERG  <wl@gnu.org>
4314         Add keyword `figname' to pic, specifying the name of the picture
4315         box in TeX mode.  Based on a patch from William J Poser
4316         <wjposer@unagi.cis.upenn.edu>.
4318         * src/preproc/pic/pic.y: New token `FIGNAME'.
4319         (macro_name): New rule of type <str>.
4320         (placeless_element): Handle `FIGNAME'.
4321         * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
4322         * src/preproc/pic/main.cpp (graphname): New global variable.
4323         (do_picture): Initialize `graphname'.
4324         * src/preproc/pic/pic.h: Updated.
4325         * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
4326         `graphname'.
4327         Simplify TeX code.
4328         (tex_output::text): Beautify output.
4329         * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
4330         `shaded' and `outlined' unconditionally.
4331         * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
4332         Minor improvements.
4334         * PROBLEMS, README.CVS: Mention that bison version 1.875b or
4335         greater is necessary.
4337 2003-04-17  Hartmut Henkel  <hartmut_henkel@gmx.de>
4339         Add option -r to soelim to avoid emission of `.lf' lines.
4340         Add option -t to produces TeX comment lines instead of `.lf' lines.
4342         * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
4343         and `tex_flag'.
4344         (usage): Updated.
4345         (main): Handle `-r' and `-t'.
4346         (set_location): Handle `raw_flag' and `tex_flag'.
4347         * src/preproc/soelim/soelim.man, NEWS: Updated.
4349 2003-04-17  Werner LEMBERG  <wl@gnu.org>
4351         * tmac/hyphenex.sh: Replaced with...
4352         * tmac/hyphenex.pl: This perl script to avoid sed compatibility
4353         nightmares.
4355         * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
4356         if --quiet is used for the configure script.
4357         * configure: Regenerated.
4359 2003-04-16  Werner LEMBERG  <wl@gnu.org>
4361         * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
4362         Add `const' to second argument.
4363         (html_printer::add_table_end): Add `const' to argument.
4364         * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
4365         `const' to arguments.
4366         * src/devices/grohtml/html-text.h: Updated.
4368         * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
4369         * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
4370         argument.
4372         * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
4373         cast for integer constant.
4375         * src/preproc/html/pre-html.cpp (image_device): Use `const'.
4376         (writeNbytes): Add `const' to first argument.
4377         (writeString): Add `const' to argument.
4378         (char_buffer::can_see): Add `const' to third argument.
4379         * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
4380         `const' to argument.
4381         * src/preproc/html/pushback.h: Updated.
4383         * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
4384         (include_path_append): Add `const' to argument.
4385         (do_file): Updated.
4387         * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
4388         for `value'.
4389         (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
4390         * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
4391         for `value'.
4392         (unicode_decompose_init::unicode_decompose_init): Updated.
4393         * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
4394         for `value'.
4395         (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
4396         * src/roff/troff/input.cc (process_startup_file): Add `const' to
4397         argument.
4399         * tmac/hyphenex.sh: Make script more portable by using a here
4400         document.
4402 2003-04-15  Werner LEMBERG  <wl@gnu.org>
4404         Renamed all `*.cc' files to `*.cpp'.
4405         Updated all configuration files, makefiles, and documentation.
4407 2003-04-14  Werner LEMBERG  <wl@gnu.org>
4409         * tmac/hyphenex.sh: Slight improvements.
4411 2003-04-13  Werner LEMBERG  <wl@gnu.org>
4413         * font/devascii/R.proto, font/devcp1037/R.proto,
4414         font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
4415         character slots with unnamed glyphs.
4417         * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
4418         (an-first): New global variable.
4419         (an-header): Emit vertical space between multiple man pages.
4421 2003-04-11  Werner LEMBERG  <wl@gnu.org>
4423         * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
4424         values.
4426 2003-04-10  Werner LEMBERG  <wl@gnu.org>
4428         * PROBLEMS: Revised.
4430 2003-04-10  Bernd Warken  <bwarken@mayn.de>
4432         * doc/webpage.ms: Improved.
4434 2003-04-09  Werner LEMBERG  <wl@gnu.org>
4436         Add register \n[.height] which returns the value of \H.
4437         Add register \n[.slant] which returns the value of \S.
4439         * src/roff/troff/env.cc (init_env_requests): Implement.
4440         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4441         Document.
4443 2003-04-08  Werner LEMBERG  <wl@gnu.org>
4445         * tmac/html.tmac: Move some of the data into html-end.tmac.
4446         Remove most of the character translations for eqn since html fonts
4447         now cover those characters.
4448         Load www.tmac.
4449         * tmac/html-end.tmac: New file.
4450         * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
4451         * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
4452         * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
4454 2003-04-07  Werner LEMBERG  <wl@gnu.org>
4456         * man/groff_out.man: Document negative values of `N' if -Thtml is
4457         used.
4459 2003-04-06  Werner LEMBERG  <wl@gnu.org>
4461         * Makefile.comm (depend.temp): Check location of YTABC.
4463 2003-04-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
4465         * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
4466         binary path.
4467         (groff_bin_path): Rename to GROFF_BIN_PATH.
4468         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4469         * doc/Makefile.in (TROFFBIN): New variable for troff
4470         binary path.
4471         (GROFFBIN): New variable for groff binary path.
4472         (groff_bin_path): Rename to GROFF_BIN_PATH.
4473         (TROFF): Use TROFFBIN.
4474         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4475         * doc/Makefile.sub (GROFFBIN): New variable for groff
4476         binary path.
4477         (groff_bin_path): Rename to GROFF_BIN_PATH.
4478         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4480         * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
4481         with INSTALL_SCRIPT.
4482         (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
4483         * Makefile.dev (all): Depend on DEVSCRIPTS.
4484         (install_dev): Likewise.
4485         * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
4486         scripts.
4487         * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
4488         (DEVGENSCRIPTS): New variable to hold generated scripts.
4490 2003-04-05  Werner LEMBERG  <wl@gnu.org>
4492         * src/libs/libdriver/input.cc (IntArray::operator[],
4493         IntArray::get_data): Remove meaningless `const' in return value.
4495         * README.CVS: New file.
4497 2003-04-04  Werner LEMBERG  <wl@gnu.org>
4499         Check for stdint.h in C++, not in C.
4501         * aclocal.m4 (GROFF_STDINT_H): New function,
4502         * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
4503         AC_CHECK_HEADERS.
4504         * configure, src/include/config.hin: Regenerated.
4505         * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
4508         Fix handling of &nbsp; in grohtml.  To do this, troff emits `N'
4509         with a negative value, representing the width of the unbreakable
4510         space (only for -Thtml).  grohtml then converts this back to
4511         &nbsp; and uses the value of N as its width.
4513         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4514         unbreakable_space_node::tprint): Emit `N-<width>'.
4515         * src/include/printer.h (printer::set_numbered_char): Make it
4516         virtual.
4517         Make members `font_table' and `nfonts' protected instead of private.
4518         * src/devices/grohtml/post-html.cc
4519         (html_printer::set_numbered_char): New member function.
4522         * src/libs/libgroff/maxfilename.cc:
4523         s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
4525         * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
4526         emit word marker.
4528 2003-04-03  Sergey A. Osokin  <osa@freebsd.org.ru>
4530         * man/roff.man: Small fixes.
4532 2003-04-03  Werner LEMBERG  <wl@gnu.org>
4534         Make groff independent from locale's numeric settings.
4536         * configure.ac: Check for `setlocale'.
4537         * configure, src/include/config.hin: Regenerated.
4539         * src/include/lib.h: Handle HAVE_SETLOCALE.
4541         * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
4542         (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
4543         (main), src/preproc/pic/main.cc (main): Call `setlocale'.
4546         * doc/groff.texinfo: Change dir category to `Typesetting'.
4547         (Man font macros): Mention that there is no space between arguments
4548         of .BI and friends.
4550         * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
4551         (*printer::change_color, *printer::change_fill_color): Add missing
4552         `const'.
4554 2003-04-02  Werner LEMBERG  <wl@gnu.org>
4556         * src/devices/grohtml/html-table.cc (html_table::emit_col,
4557         html_table::is_gap): Compute table widths after converting border
4558         positions to avoid rounding errors.
4560 2003-04-01  Werner LEMBERG  <wl@gnu.org>
4562         * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
4563         `space_emitted' properly.
4565 2003-03-31  Werner LEMBERG  <wl@gnu.org>
4567         * src/devices/grohtml/html-table.cc: Fix column width calculation.
4568         (html_table::set_linelength): Don't add 1.
4569         (html_table::add_indent): Don't subtract 1.
4571         * tmac/html.tmac: Set default page offset to zero.
4573 2003-03-30  Werner LEMBERG  <wl@gnu.org>
4575         Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
4577         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4578         unbreakable_space_node::tprint): New functions.
4579         (troff_output_file): Make space_char_hmotion_mode::tprint and
4580         unbreakable_space_node::tprint to friends.
4581         * src/roff/troff/node.h: Updated.
4583         * font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
4584         in the HTML standard).
4586 2003-03-29  Werner LEMBERG  <wl@gnu.org>
4588         * src/roff/troff/env.cc (point_size): Fix emission of html tag.
4589         Otherwise, the following code
4591           .di xxx
4592           .ps 10
4593           a
4594           .br
4595           .di
4596           x\*[xxx]
4598         produces `x a' instead of `xa'.  This is a temporary fix, disabling
4599         font changes in diversions for -Thtml.
4601         * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
4602         `HTML-TAG'.
4603         (an-do-tag-html): Merge with ...
4604         (an-do-tag): This macro.
4605         Change code slightly to circumvent grohtml bug.
4606         * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
4608         * src/devices/grohtml/html-table.cc (html_table::emit_col,
4609         html_table::is_gap): Round `width' properly.
4611         * tmac/html.tmac: Provide some default layout parameters for
4612         grohtml.
4614         * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
4615         command.
4617 2003-03-28  Werner LEMBERG  <wl@gnu.org>
4619         src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
4621 2003-03-27  Werner LEMBERG  <wl@gnu.org>
4623         * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
4624         defined.
4626 2003-03-20  Werner LEMBERG  <wl@gnu.org>
4628         * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
4629         `.vs'.
4630         * doc/groff.texinfo: Updated.
4632 2003-03-19  Werner LEMBERG  <wl@gnu.org>
4634         * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
4635         TOKEN_END_TRAP>: Reset `have_input'.
4637 2003-03-18  Werner LEMBERG  <wl@gnu.org>
4639         * src/roff/groff/groff.man: Mention groff_trace man page.
4641 2003-03-16  Werner LEMBERG  <wl@gnu.org>
4643         * Makefile.in (LIBEXT): New variable to indicate the file extension
4644         of library files.  Computed heuristically from $(OBJEXT).
4645         (MDEFINES): Add $(LIBEXT).
4646         * Makefile.lib, Makefile.comm: Use it.
4648         * src/utils/pfbtops/pfbtops.c (get_text): New function.  Split
4649         overlong lines into smaller chunks.
4650         (get_binary): New function.
4651         (main): Use them.
4652         * src/utils/pfbtops/pfbtops.man: Updated.
4654 2003-03-15  Colin Watson  <cjwatson@debian.org>
4656         * src/roff/groff/groff.man: Minor syntax fix.
4658 2003-03-14  Egil Kvaleberg  <egil@kvaleberg.no>
4660         * src/devices/grops/ps.cc (ps_printer::media_set,
4661         ps_printer::~ps_printer): Handle zero paper width and length.
4663 2003-03-13  Werner LEMBERG  <wl@gnu.org>
4665         Add options -p and -l to grodvi.
4667         * src/devices/grodvi/dvi.cc: Include paper.h.
4668         (landscape_flag, user_paper_length, user_paper_width): New global
4669         variables.
4670         (dvi_printer::begin_page): Emit `papersize' special.
4671         Set color after initialization of `cur_h' and `cur_v'.
4672         (main): Add options `-l' and `-p'.
4673         * font/devdvi/Makefile.sub (DESC): Set `papersize'.
4674         * src/devices/grodvi/grodvi.man, NEWS: Updated.
4676         * src/devices/grops/psrm.cc (valid_input_table): Fixed.
4678 2003-03-12  Werner LEMBERG  <wl@gnu.org>
4680         * src/devices/grops/grops.man: Move documentation of .PSPIC to...
4681         * man/groff_tmac.man: This man page.
4682         * man/groff_font.man: Declare `paperwidth' and `paperlength' as
4683         deprecated.
4685         * tmac/X.tmac: Don't load pspic.tmac.
4687 2003-03-11  Werner LEMBERG  <wl@gnu.org>
4689         Make variable `pr' local to libdriver/input.cc.  Based on a patch
4690         by Bernd Warken <bwarken@mayn.de>.
4692         * src/include/driver.h (pr): Removed.
4694         * src/libs/libdriver/input.cc (pr): New global variable.
4695         (do_file): Deallocate `pr'.
4696         * src/libs/libdriver/printer.cc (pr): Removed.
4698         * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
4699         (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
4700         (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
4701         (main): Don't delete `pr'.
4703 2003-03-10  Werner LEMBERG  <wl@gnu.org>
4705         * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
4706         * tmac/papersize.tmac: New file.
4707         * tmac/troffrc: Include `papersize.tmac'.
4708         * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
4709         * tmac/an-old.tmac: Set LT to LL by default.
4711         * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
4712         doc/groff.texinfo: Updated.
4714         * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
4715         bug which caused all odd iso papers to have wrong dimensions.
4717         * src/devices/grops/ps.cc (user_paper_width): New global variable.
4718         (main) <'p'>: Set `user_paper_width' also.
4719         (ps_printer::media_width, ps_printer::media_height): Use values
4720         given with option `-p'.
4722 2003-03-09  Werner LEMBERG  <wl@gnu.org>
4724         * src/include/nonposix.h: Provide default for SET_BINARY.
4726         * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
4727         src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
4728         unconditionally.
4730         * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
4731         (main): Treat \r\n as \n.
4733 2003-03-08  Werner LEMBERG  <wl@gnu.org>
4735         * tmac/an-old.tmac: Use register `HY' to control hyphenation.
4736         * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
4738 2003-03-07  Werner LEMBERG  <wl@gnu.org>
4740         Added support to access more than 256 glyphs in Type 1 fonts.
4742         * src/devices/grops/ps.cc (subencoding): New structure.
4743         (style): Add `sub' field.
4744         Updated all users.
4745         (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
4746         Add `set_subencoding', `get_subfont' and `encode_subfont' member
4747         functions.
4748         Updated all users.
4749         (ps_printer::set_char): Use `set_subencoding'.
4750         (make_subencoding_name): New function.
4751         (ps_printer::set_style): Handle case where `sty.sub' is not zero.
4752         (ps_printer::~ps_printer): Emit subencoding definitions.
4754         * src/devices/grops/psrm.cc (valid_input_table): New array to
4755         properly support EBCDIC.
4756         (white_space): Add `\f'.
4757         (ps_get_line): Change first argument to be of type `string &'.
4758         Updated all callers.
4759         This allows to get lines of arbitrary length.
4760         Use `valid_input_table'.
4761         Remove warning about non-conforming PS line length.  This seems
4762         not to be of great importance -- for example, dvips don't emit
4763         a warning either.
4764         (PS_LINE_MAX): Removed.
4765         (matches_comment): Change first argument to be of type `string &'.
4767         * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
4769         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
4770         %AGL_to_unicode, %default_ligatures): New hash tables.
4771         Read all map entries.
4772         Add unencoded characters.
4773         Check for default ligatures if there are no `L' entries.
4774         Print all kern entries.
4775         Print all characters in charset.
4776         * src/utils/afmtodit/afmtodit.man: Updated.
4778         * font/devps/*: Regerated all fonts.
4780         * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
4781         of characters, just use `.trin'.  Otherwise the mapping depends
4782         on the font encoding.
4783         * tmac/ps.tmac: Add `fi' and `fl'.
4784         Improve `Fi' and `Fl'.
4785         * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
4786         * tmac/Xps.tmac: Fix `em'.
4788         * NEWS: Updated.
4790 2003-03-04  Werner LEMBERG  <wl@gnu.org>
4792         * src/roff/troff/input.cc (charinfo_to_node_list): Reset
4793         `have_input'.
4795 2003-03-03  Werner LEMBERG  <wl@gnu.org>
4797         * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
4799         * font/devps/generate/textmap: Remove entry `similarequal'.
4800         * font/devps/symbolmap: Updated.
4802 2003-03-02  Werner LEMBERG  <wl@gnu.org>
4804         * src/libs/libgroff/font.cc (font::load): Fix error message for
4805         bad character type.
4807         * src/devices/grops/grops.man: Improve documentation of the -b
4808         flag.
4810         * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
4811         `ascii' and `cp1047'.
4813 2003-03-01  Werner LEMBERG  <wl@gnu.org>
4815         Document composite glyphs and the `composite' request.
4817         * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
4819 2003-02-28  Werner LEMBERG  <wl@gnu.org>
4821         * font/devdvi/generate/ec.map: Add some more Unicode entities.
4822         * font/devdvi/*EC: Updated.
4824         * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
4825         * tmac/latin1 (latin1-tr): Undo any previous mapping.
4826         * tmac/troffrc: Load `composite.tmac'.
4827         * tmac/Makefile.sub (NORMALFILES): Updated.
4829         * doc/groff.texinfo (Input Encodings): New section.
4830         * NEWS: Updated.
4832 2003-02-27  Werner LEMBERG  <wl@gnu.org>
4834         * doc/texinfo.tex: New version 2003-02-11.06.
4836         * tmac/doc-common (Dt): Don't emit warning for unknown section.
4837         * tmac/groff_mdoc.man: Fix description of `Dt'.
4839 2003-02-26  Egil Kvaleberg  <egil@kvaleberg.no>
4841         * font/devps/prologue.ps: Fix for included Postscript that does
4842         a setpagedevice -- which is now safely ignored.
4844         * NEWS: Updated.
4846         * src/devices/grops/ps.cc: Now sets the page size in the generated
4847         document.  This is done in two ways: Via a %%-comment for gv and
4848         the like, and via a PageSize and setpagedevice for programs that
4849         understands Postscript proper, like ps2pdf.
4851         * src/devices/grops/ps.h: New broken-flag to avoid page size
4852         definition, if required.
4854         * src/devices/grops/grops.man: New broken-flag 16 mentioned.
4856         * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
4857         Not really necessary due to the fix in prologue.ps, but cleaner:
4858         Such information does not belong in an .eps file.
4860         * doc/Makefile.sub: See doc/Makefile.in.
4862 2003-02-26  Ralph Corderoy  <ralph@inputplus.co.uk>
4864         * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
4865         instead of P1 since the latter is broken in some versions of netpbm.
4866         * configure: Updated.
4868 2003-02-26  Larry Kollar  <kollar@alltel.net>
4870         Make man pages more customizable.
4872         * tmac/an-old.tmac (FT): New register holding footer distance from
4873         bottom.
4874         (HF): New string holding the default heading font.
4875         (TH): Handle registers `IN' and `SN' set on the command line.
4876         Use `FT'.
4877         (PT, BT): New strings to customize header and footer lines.
4878         (an-header, an-footer): Use them.
4879         (SH, SS): Use `HF'.
4880         * tmac/groff_man.man: Document changes.
4882         * doc/groff.texinfo: Document man changes.
4883         Document Ultrix extensions of man.
4885 2003-02-26  Werner LEMBERG  <wl@gnu.org>
4887         * src/roff/troff/input.cc (do_width, do_if_request): Reset
4888         `have_input' after changing back to old environment.
4890         * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
4891         function up to be defined before first call.  This is necessary to
4892         avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
4894         * src/utils/afmtodit/afmtodit.pl: Make script search for files in
4895         the default font directory also.  Based on a patch from James
4896         J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
4897         * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
4898         * src/utils/afmtodit/afmtodit.man: Document it.
4900         * NEWS: Updated.
4902         * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
4904 2003-02-25  Gaius Mulley  <gaius@glam.ac.uk>
4906         * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
4907         (GROFF_PNMTOPS_NOSETPAGE): New macro.
4908         * configure.ac: Use it.
4909         * configure: Regenerated.
4910         * Makefile.in: Updated.
4912         * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
4913         (CLEANADD): Add www.tmac-sed.
4914         (pnmtops_nosetpage): Define default.
4915         (install_data): Handle www.tmac-sed and substitute
4916         @PNMTOPS_NOSETPAGE@.
4917         (stamp-sed): Add www.tmac.
4918         * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
4919         It now breaks URLs at suitable places.
4920         (www:substring_ok): New register set by...
4921         (www:@test_substring): New macro.
4922         (www:error): New alias to www-error.
4923         (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
4924         New macros.
4925         (URL): Use www:url_breaks.
4926         (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
4927         (CDS, CDE): New macros.
4929 2003-02-25  Werner LEMBERG  <wl@gnu.org>
4931         * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
4932         buffer overflow.
4934 2003-02-24  Werner LEMBERG  <wl@gnu.org>
4936         Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
4937         can be negative also.
4939         * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
4940         `int16'.
4941         (read_char_table): Avoid negative ascenders.
4942         (output_charset): Add cast.
4943         * font/devlj4/*: Regenerated.
4945         Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
4946         possible.
4948         * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
4949         * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
4950         of `<>'.
4951         * font/devdvi/*: Regenerated.
4953         Map `la' and `ra' to U+27E8 and U+27E9.  These two characters have
4954         normal width, while the previously used characters (U+2329 and
4955         U+232A) are classified as wide due to canonical equivalence with the
4956         CJK punctuation characters U+3008 and U+3009.
4958         * font/devutf8/R.proto: Updated.
4959         * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
4961         * man/groff_char.man: Simplify handling of table traps by
4962         introducing `start block' and `end block' macros.
4963         (Ns, Ne, 2s, 2e, Ds, De): New macros.
4964         (DL): Make it work with Unix troff also.
4965         Fix code values of `la' and `ra'.
4967         * tmac/dvi.tmac: Define `<>' for CW and CWI.
4969 2003-02-23  Gaius Mulley  <gaius@glam.ac.uk>
4971         * src/devices/grohtml/post-html.cc (element_list::~element_list):
4972         New destructor, fixing a major memory leak.
4974 2003-02-22  Werner LEMBERG  <wl@gnu.org>
4976         * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
4977         to be in conformance with Unicode 3.0 and newer.
4979         * font/devlj4/generate/text.map: Add `Eu'.
4980         * font/devlj4/generate/special.map: Flip `*e' and `+e'.
4981         * font/devlj4/S: Regenerated.
4983         * man/groff_char.man: Completely rewritten.
4985         * doc/groff.texinfo: Fix description of request and macro arguments.
4987 2003-02-20  Gaius Mulley  <gaius@glam.ac.uk>
4989         Valgrind fixes.
4991         * src/devices/grohtml/html-table.cc (html_table::~html_table):
4992         Deallocate `columns' list.
4993         * src/devices/grohtml/post-html.cc (char_block::~char_block):
4994         New destructor.
4995         (text_glob::text_glob_html, text_glob::text_glob_special,
4996         text_glob::text_glob_line, text_glob::text_glob_auto_image,
4997         text_glob::text_glob_tag): Avoid memory leaks.
4998         (text_glob::remember_table): Free memory before reassigning.
5000 2003-02-19  Werner LEMBERG  <wl@gnu.org>
5002         Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5003         alias `hbar'), the Planck constant over two pi.
5005         * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5006         `+e' for position 34.
5007         * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5008         `u2662' and `u2661'.
5009         * font/devdvi/{MI,S}: Regenerated.
5010         * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5011         * font/devlbp/*: Add `hbar' alias.
5012         * font/devlj4/generate/special.map: Ditto.
5013         * font/devlj4/S: Regenerated.
5014         * font/devps/generate/symbolchars: Add `+e'.
5015         * font/devps/generate/textmap: Fix PS name for `-h'.
5016         Add `hbar' alias.
5017         * font/devps/symbolmap: Regenerated.
5019         * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5021         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5022         `-h', `hbar'.
5023         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5024         `-h'.
5026         * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5027         `hbar'.
5028         * tmac/tty-char.tmac: Add `+e'.
5030 2003-02-17  Werner LEMBERG  <wl@gnu.org>
5032         Another round trying to really fix problems with `have_input'.
5034         * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5035         (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5037         * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5038         handling if both foreground and background colors are default.
5040         * doc/groff.texinfo (Debugging): Document .lf differences to
5041         AT&T troff.
5043 2003-02-16  Werner LEMBERG  <wl@gnu.org>
5045         * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5046         null-bytes in created string.
5048         * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5049         alias_macro, lookup_request): Improve warning messages.
5051         * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5052         not `strdup'.
5053         Free `last_image_filename'.
5055         * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5056         `buffer'.
5057         (imageList::createPage, imageList::createImage): Use `free', not
5058         `a_delete'.
5059         (imageItem::~imageItem): Free `imageName'.
5060         (addRegDef): Use `strsave', not `strdup'.
5061         (get_resolution): Free `pathp'.
5063 2003-02-15  Werner LEMBERG  <wl@gnu.org>
5065         * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5066         to `dummy'.
5068 2003-02-14  Werner LEMBERG  <wl@gnu.org>
5070         Add memory management for colors to deallocate unnamed colors
5071         properly.
5073         * src/include/color.h (color): New members `free_list' and `next'.
5074         New member functions `new' and `delete'.
5075         Add destructor.
5076         * src/libs/libgroff/color.cc: Implement it.
5078         * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5079         for array size of new operator.
5081         * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5082         redundant comparison.
5084         * src/roff/troff/input.cc (word_space_node::reread,
5085         hmotion_node::reread): Avoid warning about unused parameter.
5086         (reset_output_registers): Remove redundant parameter.
5087         (define_color): Undo change 2003-02-12.
5089         * src/roff/troff/reg.h: Updated.
5091         * src/roff/troff/node.cc (troff_output_file::really_print_line,
5092         output_file::put_filename, real_output_file::really_put_filename,
5093         ascii_output_file::really_print_line,
5094         break_char_node::get_hyphen_list): Avoid warning about unused
5095         parameter.
5096         (suppress_node::tprint): Updated.
5098         * configure.ac: Check declaration for rand() and srand().
5099         * configure: Regenerated.
5101         * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5102         conditionally.
5103         * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5104         and srand().
5106         * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5107         to avoid compiler warnings.
5109         * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5110         unused.
5112         * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5113         is unused.
5114         * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5115         (unused) parameter.
5116         Updated all callers.
5118         * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5119         is unused.
5120         * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5121         * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5123         * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5124         Parameter is unused.
5125         (html_printer::add_table_end): Define parameter conditionally.
5126         * src/devices/grohtml/output.cc (simple_output::special): Parameter
5127         is unused.
5129         * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5130         (lbp_printer::set_char): Last parameter is unused.
5132         * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5134 2003-02-13  Werner LEMBERG  <wl@gnu.org>
5136         New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5137         Make \D'f ...' move horizontally again for backwards compatibility.
5138         Replace it with \D'Fg ...' where appropriate to avoid dependency
5139         on horizontal resolution.
5141         * src/roff/troff/input.cc (do_get_long_name): New function.
5142         (get_long_name): Call it.
5144         (read_draw_node): Handle `\D'Fx ...' by calling ...
5145         (read_color_draw_node): New function.
5147         (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5148         `end'.
5149         Pass it to `do_get_long_name' which is used instead of
5150         `get_long_name'.
5152         * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5153         unnecessary value guard.
5154         (parse_D_command) <'f'>: Add horizontal shift.
5156         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5157         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5158         (FILL_MAX): Removed.
5160         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5161         Updated.
5163 2003-02-12  Werner LEMBERG  <wl@gnu.org>
5165         * src/roff/troff/input.cc (do_name_test, do_expr_test,
5166         do_zero_width): Push `\n' if closing delimiter is missing.
5168         (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
5169         <'F'>: Make \F non-transparent at the beginning of line.
5170         (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
5171         token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
5172         `have_input'.
5174         (define_color): Free color in case of reassignment.
5176         * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
5177         @DefescListEnd): Use @Var, not @var.
5178         Fix all calls.
5180         * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
5182         * src/preproc/pic/object.cc (object_spec::~object_spec): Free
5183         `shaded' and `outlined' arrays.
5184         (object_spec::object_spec): Initialize `shaded' and `outlined'.
5185         (graphic_object::set_fill_color, graphic_object::set_outline_color):
5186         Use strsave.
5187         (closed_object::set_fill_color): Ditto.
5188         * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
5189         instead of strdup.
5190         (troff_output::reset_color): Use a_delete instead of free.
5191         * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
5193 2003-02-11  Werner LEMBERG  <wl@gnu.org>
5195         * doc/groff.texinfo: Improve documentation of `ad'.
5196         Document that \D'f...' is dependent on the horizontal resolution.
5197         * man/groff_diff.man: Improve documentation of \D'f...'.
5199         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
5200         compensating \h'...' for \D'f ...' since the latter no longer moves
5201         current position.
5202         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5204 2003-02-10  Werner LEMBERG  <wl@gnu.org>
5206         Improve error messages for `x F' (and `F') commands.
5208         * src/include/error.h: Add declaration for
5209         `current_source_filename'.
5210         * src/libs/libgroff/filename.cc: Add `current_source_filename'.
5211         * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
5212         parameter for source file string.
5213         Updated all callers.
5215         * src/libs/libdriver/input.cc: Add `current_source_filename'.
5216         (remember_source_filename): New function.
5217         (parse_x_command <'F'>, do_file <'F'>): Use it.
5219 2003-02-09  Werner LEMBERG  <wl@gnu.org>
5221         Make grotty not emit warnings about unknown colors more than
5222         necessary.
5224         * src/devices/grotty/tty.cc: Include `ptable.h'.
5225         (TTY_MAX_COLORS): Removed.
5226         (DEFAULT_COLOR_IDX): Defined to -1.
5227         (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
5228         (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
5229         Change `tty_colors' to be a ptable.
5230         First arg of `put_color' is now `char'.
5231         New functions `make_rgb_string' and `tty_color'.
5232         (tty_printer::tty_printer): Use `tty_color'.
5233         (tty_printer::color_to_idx): Return value is now `char'.
5234         Use `tty_color'.
5236         * src/include/color.h (color): Add `print_color' member function.
5237         * src/libs/libgroff/color.cc (color::print_color): Implement it.
5239 2003-02-08  Werner LEMBERG  <wl@gnu.org>
5241         Valgrind fixes.
5243         * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
5244         encoding file.
5246         * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
5247         assume that value has been allocated with `new[]', thus use
5248         `a_delete' for deallocation.
5250         * src/libs/libdriver/input.cc (get_integer_arg,
5251         get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
5252         where appropriate.
5254         * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
5255         * src/libs/libgroff/nametoindex.cc
5256         (character_indexer::named_char_index): Use `new <type>[1]'.
5258         * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
5259         <type>[1]'.
5260         * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
5261         (split_text): Use `a_delete'.
5263         * src/preproc/pic/pic.y (define_label, define_variable): Use `new
5264         <type>[1]'.
5266         * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
5267         harmless memory leak.
5268         (hyphen_trie::read_patterns_file): Initialize `buf'.
5269         * src/roff/troff/node.cc (troff_output_file::troff_output_file):
5270         Initialize `current_fill_color'and `current_glyph_color'.
5271         * src/roff/troff/glyphuni.cc
5272         (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
5273         * src/roff/troff/uniuni.cc
5274         (unicode_decompose_init::unicode_decompose_init): Ditto.
5275         * src/roff/troff/uniglyph.cc
5276         (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
5278 2003-01-26  Werner LEMBERG  <wl@gnu.org>
5280         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
5281         `access' before calling `unlink'.
5282         (do_file): Handle __EMX__.
5284         * src/include/nonposix.h: Handle __EMX__.
5286         * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
5287         (fontpath,tmacpath): Use it.
5288         (MDEFINES): Add it.
5289         Sorted alphabetically.
5291         * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
5292         @SEP@.
5293         * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
5294         @SEP@.
5296 2003-01-27  Werner LEMBERG  <wl@gnu.org>
5298         * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
5299         New files, copied from gnulib.
5300         * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
5301         * configure.ac: Updated.
5302         * configure: Regenerated.
5304         * src/include/config.hin: Regenerated.
5305         * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
5306         Don't define `strcasecmp' as `strcmp'.
5307         [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
5308         Dont define `strncasecmp' as `strncmp'.
5310         * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
5311         Removed.
5313 2003-01-26  Werner LEMBERG  <wl@gnu.org>
5315         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
5316         s/unline/unlink/.
5318 2003-01-25  Werner LEMBERG  <wl@gnu.org>
5320         * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
5322 2003-01-24  Werner LEMBERG  <wl@gnu.org>
5324         Add US-english hyphenation exceptions (converted from Barbara
5325         Beeton's hyphenation exception log reports which appear irregularly
5326         in TUGBoat).
5328         * tmac/hyphen.us: Updated to latest version.
5329         * tmac/README: Updated.
5330         * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
5331         * tmac/troffrc: Load `hyphenex.us'.
5332         * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
5333         * doc/groff.texinfo: Updated.
5335 2003-01-23  Werner LEMBERG  <wl@gnu.org>
5337         Improve hyphenation slightly.  This is a first step in redesigning
5338         the hyphenation algorithm to make it more flexible (e.g. allowing
5339         kerns and ligatures between the hyphenation character and the
5340         following character -- while not used normally in English, other
5341         languages like German would benefit).
5343         * src/roff/troff/env.cc (environment::hyphenate_line): Use
5344         assertion instead of if-clause.
5345         Let `get_hyphen_list' return the number of involved characters in
5346         the hyphenation pattern instead of computing it directly (which
5347         often yields too small values).
5348         * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
5349         * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
5350         parameter.
5352 2003-01-22  Werner LEMBERG  <wl@gnu.org>
5354         Fixing a bug which caused groff to hang if the hyphenation exception
5355         dictionary tried to grow.
5357         * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
5358         hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
5359         pointer to dictionary.
5361 2003-01-20  Werner LEMBERG  <wl@gnu.org>
5363         * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
5364         negative left italic correction.
5365         * src/utils/afmtodit/afmtodit.man: Document it.
5367         * font/devps/generate/Makefile (RFLAG): Add `-m'.
5368         * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
5369         S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
5371         * NEWS: Updated.
5373 2003-01-16  Werner LEMBERG  <wl@gnu.org>
5375         * NEWS: Updated.
5377 2003-01-16  Jörgen Grahn  <jgrahn@algonet.se>
5379         * src/preproc/refer/refer.man: Mention REFER environment variable.
5381 2003-01-05  Werner LEMBERG  <wl@gnu.org>
5383         Similar to \[is], the square root glyph (\[sr]) and the square root
5384         extension glyph (\[radicalex]) are now text symbols.  The new
5385         mathematical versions are called \[sqrt] and \[sqrtex],
5386         respectively.
5388         * font/devX*/S: Regenerated.
5389         * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
5390         * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
5391         * font/devdvi/EX, font/devdvi/S: Regenerated.
5392         * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
5393         * font/devlj4/generate/special.map: Add `sqrt'.
5394         * font/devlj4/S: Regenerated.
5395         * font/devps/generate/textmap: Add `sqrt'.
5396         * font/devps/S, font/devps/symbolmap: Regenerated.
5398         * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
5399         SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
5400         * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
5401         overlap horizontally.
5403         * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
5404         * tmac/dvi.tmac: Add `sr', and `sqrtex'.
5405         Fix `radicalex'.
5407         * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
5408         and `sqrtex' are overlapping glyphs.
5410 2003-01-04  Werner LEMBERG  <wl@gnu.org>
5412         * font/devdvi/generate/texsy.map: Add `is'.
5413         * font/devps/symbolmap: Regenerated.
5414         * font/devdvi/*TC, MI, S: Regenerated.
5416         * tmac/dvi.tmac: Remove `is'.
5418 2003-01-03  Werner LEMBERG  <wl@gnu.org>
5420         `is' is now a text symbol (only relevant for dvi).  The math variant
5421         can be accessed with `integral'.
5423         * font/devX*/S: Regenerated.
5424         * font/devdvi/generate/texex.map: Remove `is'.
5425         * font/devdvi/EX: Updated.
5426         * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
5427         * font/devlj4/generate/special.map: Ditto.
5428         * font/devlj4/S: Regenerated.
5429         * font/devps/generate/textmap: Add `integral'.
5430         * font/devps/S: Regenerated.
5432         * tmac/dvi.tmac: Define `is'.
5434         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
5436         * src/preproc/tbl/main.cc (process_format): Fix error message.
5438 2003-01-02  Werner LEMBERG  <wl@gnu.org>
5440         * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
5441         * font/devps/textmap: Fix entries for `ne' and `nc'.
5442         * font/devps/symbolmap: Regenerated.
5444         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
5445         src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
5446         `38', `58', `78', `-+', `|=', `nc', `ne'.
5448         * tmac/dvi.tmac: Add `nm', `ne', `nc'.
5449         Use `schar' for `aq'.
5450         * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
5451         * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
5452         * tmac/tty.tmac: Add `ne'.
5454         * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
5455         for fallback glyphs.
5457 2002-12-29  Werner LEMBERG  <wl@gnu.org>
5459         Add glyph `|='.
5461         * font/devX*/*: Regenerated.
5462         * font/devdvi/generate/ec.map: Remove `eq'.
5463         * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
5464         Assign `|=' to position 39.
5465         * font/devdvi/*EC, S: Regenerated.
5466         * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
5467         * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
5468         Assign `|=' to position 549.
5469         * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
5470         `equalmath'.
5471         Add `uni2243' for `|='.
5473         * tmac/ec.tmac: Add `eq'.
5474         * tmac/dvi.tmac: Add `=~'.
5475         * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
5476         `|='.
5478 2002-12-21  Werner LEMBERG  <wl@gnu.org>
5480         * font/devdvi/generate/tc.map: Remove `**'.
5481         * font/devdvi/*TC: Regenerated.
5482         * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
5483         `78', `<<', `>>'.
5484         * font/devutf8/NOTES: Updated.
5486         * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
5487         Don't give default parameter to `set_macro'.
5488         * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
5489         instead of `set_macro'.
5490         (charinfo::setx_macro): Implement it.
5491         (charinfo::set_macro): Don't change `mode'.
5493         * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
5494         * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
5495         * tmac/dvi.tmac: Define `!=' with `.schar'.
5497 2002-12-20  Werner LEMBERG  <wl@gnu.org>
5499         * font/devX*/S: Regenerated.
5500         * font/devdvi/generate/ec.map: Remove `pl'.
5501         * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
5502         * font/devdvi/*{TC,EC}: Regenerated.
5503         * font/devhtml/R.proto: Add `-+'.
5504         Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
5505         * font/devlbp/*: Remove `or'.
5506         * font/devlj4/generate/special.map: Remove `or'.
5507         * font/devlj4/S: Regenerated.
5508         * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
5509         `seveneighths', `threeeighths'.
5510         Remove `plusmath'.
5511         Replace `minusplus' with `uni2213'.
5512         * font/devps/symbolmap: Regenerated.
5513         * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
5514         Add `-+'.
5516         * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
5517         function.
5518         * src/roff/troff/node.cc (troff_output_file::put_char_width):
5519         Call glyph_color and fill_color even if tcommand_flag isn't set.
5520         (make_node, node::add_char): Check not ci->is_fallback but
5521         ci->is_normal.
5523         * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
5524         * tmac/ec.tmac: Add .rchar entry for `f/'.
5525         Don't remove `12', `14', `34'.
5526         Define `pl' to be always roman.
5527         * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
5528         Define `18', `38', `58', `78'.
5529         * tmac/tty.tmac: Add `-+'.
5530         * tmac/dvi.tmac: Define `f/'.
5531         (dvi-frac): Use `f/'.
5532         * tmac/X.tmac (X-frac, X-frac-mono): New macros.
5533         Define `18', `38', `58', `78'.
5535 2002-12-15  Colin Watson  <cjwatson@debian.org>
5537         * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
5539 2002-12-10  Werner LEMBERG  <wl@gnu.org>
5541         Add glyph `tno', a textual variant of `no'.
5543         * font/devX*/*: Regenerated.
5544         * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
5545         * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
5546         * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
5547         * font/devdvi/*: Regenerated.
5548         * font/devlbp/*: Add `tno'.
5549         * font/devlj4/generate/tex.map: Replace `no' with `tno'.
5550         * font/devlj4/*: Regenerated.
5551         * font/devps/generate/textmap: Replace `no' with `tno'.
5552         * font/devps/generate/symbolchars: Add `no'.
5553         * font/devps/*: Regenerated.
5555         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
5557         * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
5558         * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
5560         * NEWS: Updated.
5562         * tmac/dvi.tmac: Replace most `\\' with `\E'.
5563         Add definition for `sd'.
5564         * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
5566         * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
5568 2002-12-08  Werner LEMBERG  <wl@gnu.org>
5570         * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
5571         mode to avoid rounding errors.
5572         (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
5574         * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
5575         src/roff/troff/troff.man: Improve documentation of -T.
5577 2002-12-07  Jeff Conrad  <jeff_conrad@msn.com>
5579         * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
5580         (run_pipeline) [_WIN32]: Provide working function without `fork'.
5582 2002-12-06  Werner LEMBERG  <wl@gnu.org>
5584         * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
5585         glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
5586         Scaling Euro.sansserif glyphs down to have the same height as
5587         digits.
5588         Removed unnecessary points; added some extrema.
5590         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5591         Regenerated.
5593 2002-12-04  Werner LEMBERG  <wl@gnu.org>
5595         * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
5596         and `Euro.symbol.bold.slanted'.
5597         Improve some glyph offsets and widths.
5598         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5599         Regenerated.
5600         * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
5601         typo.
5602         * font/devps/generate/sfdtopfa.pe: Generate PFA in current
5603         direcory.
5605         * tmac/europs.tmac: Updated to new glyph indices.
5606         Use Euro.symbol for font familiy `A'.
5608         * doc/groff.texinfo: Minor improvements.
5610 2002-12-02  Werner LEMBERG  <wl@gnu.org>
5612         * font/devdvi/generate.tc.map: s/%O/%0/.
5613         * font/devdvi/*TC: Regenerated.
5615         * src/roff/troff/div.cc (init_div_requests): Sorted.
5617         * tmac/dvi.tmac: Remove `Ye'.
5618         * tmac/ec.tmac: Remove `Ye'.
5619         Add .rchar entry for `de'.
5621         * man/groff.man, man/groff_diff.man: Document register `.pe'.
5622         * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
5623         * NEWS: Updated.
5625 2002-11-30  Werner LEMBERG  <wl@gnu.org>
5627         Add PS font for various Euro glyphs.
5629         * font/devps/generate/freeeuro.sfd: New master font file for
5630         pfaedit.
5631         * font/devps/generate/sfdtopfa.pe: New conversion script for
5632         pfaedit.
5633         * font/devps/generate/Makefile (FONTS): Add `EURO'.
5634         (EURO, freeeuro.afm, freeeuro.pfa): New rules.
5635         * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
5636         `freeeuro.sfd'.
5637         * font/devps/EURO: Generated from `freeeuro.afm'.
5638         * font/devps/download: Add `freeuro.pfa'.
5639         * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
5640         `freeeuro.pfa'.
5642         * tmac/europs.tmac: New file.
5643         * tmac/ps.tmac: Include `europs.tmac'.
5644         * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
5646 2002-11-29  Werner LEMBERG  <wl@gnu.org>
5648         * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
5649         * font/devdvi/S: Regenerated.
5650         * font/devhtml/R.proto: Fix `CR' and `ci'.
5651         Add `OK'.
5652         * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
5653         Remove `bs'.
5654         * font/devps/symbolmap: Regenerated.
5655         * font/devutf8/R.proto: Fix `CR' and `ci'.
5656         Add `OK'.
5657         * font/devutf8/NOTES: Updated.
5659         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
5660         `ci'.
5661         Add `OK'.
5662         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5664         * tmac/dvi.tmac: Add `lh' and `rh'.
5665         * tmac/Xps.tmac: Fix `lh' and `rh'.
5666         * tmac/X.tmac: Add `OK'.
5667         * tmac/lj4.tmac: Ditto.
5669 2002-11-24  Werner LEMBERG  <wl@gnu.org>
5671         * font/devX*/S: Regenerated.
5672         * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
5673         `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
5674         * font/devdvi/generate/texsy.map: Remove `or' glyph.
5675         * font/devdvi/S: Regenerated.
5676         * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
5677         `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
5678         `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
5679         `bracketleftbt', `bracketrighttp', `bracketrightex',
5680         `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
5681         `braceex', `braceleftex', `bracerightex', `bracerighttp',
5682         `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
5683         `rb', and `bv'.
5684         * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
5685         * font/devutf8/NOTES: Updated.
5686         * font/devlj4/generate/special.map: Add glyph `braceex'.
5687         * font/devlj4/S: Regenerated.
5689         * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
5691 2002-11-14  Werner LEMBERG  <wl@gnu.org>
5693         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
5694         and `vA'.
5695         Fix code for `an'.
5696         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5698         * doc/texinfo.tex: New version from texinfo 4.3.
5699         * doc/groff.texinfo: Updated for texinfo 4.3.
5700         Use @tie{} where appropriate.
5701         * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
5702         * font/devdvi/generate/tc.map: Remove `rn'.
5703         * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
5704         * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
5705         Fix code for `an'.
5706         * font/devX100/*, font/devX100-12/*, font/devX75/*,
5707         font/devX75-12/*: Regenerated.
5709         * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
5710         Use .char (again) for `br', `ul', `rn', `or', and `ru'.
5711         Improve definition of `an'.
5712         * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
5713         `ru'.
5714         * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
5715         * tmac/X.tmac: Add definition for `or'.
5716         * tmac/Xps.tmac: Undo change 2002-11-05.
5717         * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
5719 2002-11-11  Werner LEMBERG  <wl@gnu.org>
5721         * src/roff/troff/node.cc (troff_output_file::put_char): Always
5722         call flush_tbuf.
5724 2002-11-10  Werner LEMBERG  <wl@gnu.org>
5726         Added three new requests `schar', `fschar', and `rfschar'.  `schar'
5727         defines a glyph which is searched after the check for fonts declared
5728         with `.special' (and before the check for all mounted special
5729         fonts).  `fschar' defines a glyph for a particular font which is
5730         searched after the check for fonts declared with `.fspecial' (and
5731         before the check for fonts declared with `.special').  `rfschar'
5732         removes glyphs defined with `fschar'.
5734         * src/roff/troff/token.h (char_mode): New enum.
5735         Declare do_define_character.
5736         * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
5737         `mode'.
5738         (charinfo::is_fallback): Updated.
5739         (charinfo::is_special): New method.
5740         * src/roff/troff/input.cc (do_define_character): Add and use
5741         optional second parameter used as a prefix for font-specific glyph
5742         names.
5743         (define_character, define_fallback_character): Updated.
5744         (define_special_character): New function.
5745         (init_input_requests): Add `schar'.
5746         (charinfo::charinfo, charinfo::set_macro): Updated.
5747         * src/roff/troff/node.cc: Include `stringclass.h'.
5748         (make_glyph_node): Handle special glyphs defined with `.schar' and
5749         `.fschar'.
5750         (define_font_special_character, remove_font_special_character): New
5751         functions.
5752         (init_node_requests): Sorted.
5753         Add `fschar' and `rfschar'.
5754         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5755         Document new requests.
5757         * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
5758         * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
5760 2002-11-08  Werner LEMBERG  <wl@gnu.org>
5762         Added new font `SC' (cmtex10) to devdvi.
5764         * devdvi/generate/Makefile (FONTS): Add `SC'.
5765         (SC): New rule.
5766         * devdvi/generate/textex.map: New map file for cmtex.
5767         * devdvi/SC: New.
5768         * devdvi/Makefile.sub (DEVFILES): Updated.
5769         * tmac/dvi.tmac: Add fspecial entries for SC.
5770         Add `MI', `S' and `CW' to the `special' call.  Otherwise, `SC' is
5771         found before `S' since the font position of `SC' is lower due to the
5772         gaps in DESC's `font' line.
5773         * tmac/ec.tmac: Add a `special' call.
5774         * NEWS: Updated.
5776         * font/devhtml/R.proto: Remove double entry for `ti'.
5777         * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
5778         * tmac/tty-char.tmac: Remove entry for `bq'.
5779         * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
5780         * tmac/ec.tmac: Don't remove `aq' glyph.
5781         * tmac/X.tmac: Fix entry for `em'.
5782         Add entries for `fo' and `fc'.
5783         * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
5785         * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
5786         documentation of `special' and `fspecial' requests.
5788 2002-11-05  Werner LEMBERG  <wl@gnu.org>
5790         * font/devascii/R.proto, font/devcp1047/R.proto,
5791         font/devlatin1/R.proto: Remove entry for `.i'.
5792         * font/devdvi/generate/textt.map: Add entry for `ad'.
5793         * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
5794         font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
5795         We need this for getting kerning values to compose `/l' and `/L'.
5796         * font/devdvi: Regenerated font definition files for CM fonts.
5797         * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
5798         * font/devutf8/R.proto: Ditto.
5799         Remove double entry for `ti'.
5801         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
5802         for (groff) ligatures, `la', and `ra'.
5803         Add "'C", "'c", `IJ', and `ij'.
5804         Remove double entry for `ti'.
5805         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
5806         double entries.
5807         Add "'C", "'c", `IJ', and `ij'.
5808         Fix entries for (groff) ligatures, `la', and `ra'.
5810         * tmac/ps.tmac (ps-achar): New macro.
5811         Define "'c" and "'C".
5812         * tmac/tty.tmac: Add entry for `.i'.
5813         * tmac/X.tmac (X-achar): New macro.
5814         Define "'c", "'C", and `:Y'.
5815         Add entries for `IJ' and `ij'.
5816         * tmac/Xps.tmac (Xps-achar): New macro.
5817         Define "'c" and "'C".
5818         Add entries for `IJ' and `ij'.
5819         * tmac/lbp.tmac (lbp-achar): New macro.
5820         Add fallback characters for all groff ligatures and many other
5821         glyphs.
5822         * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
5823         Add entries for `/l' and `/L'.
5824         Define "'c" and "'C".
5825         Add entries for `IJ' and `ij'.
5827 2002-11-02  Larry Kollar  <kollar@alltel.net>
5829         * PROBLEMS: Document how to solve Mac OS X compilation problems.
5831 2002-11-02  Werner LEMBERG  <wl@gnu.org>
5833         Adding support for composite glyphs: \[xxx yyy ...] and the
5834         `composite' request.
5836         * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
5837         to Unicode-based glyph names.
5838         * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
5839         glyph names to groff glyph names.
5840         * src/roff/troff/uniuni.cc: New file for canonically decomposing
5841         Unicode-based glyph names.
5842         * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
5843         for handling Unicode glyph names.
5844         * src/roff/troff/input.cc: Include unicode.h.
5845         (composite_glyph_name): New function.
5846         (token::next) <'['>: Handle Unicode glyph names and composite
5847         glyphs.
5848         (composite_dictionary): New dictionary for the `composite' request.
5849         (composite_request): Implement `composite' request.
5850         (init_input_requests): Add `composite'.
5851         Alphabetically sorted.
5852         * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
5853         commented out).
5854         (init_env_requests): Alphabetically sorted.
5855         Removed `tas' and `tar' (already commented out).
5856         * src/roff/troff/Makefile.sub: Updated.
5858 2002-10-31  Ruslan Ermilov  <ru@FreeBSD.org>
5860         * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
5861         of options.
5863 2002-10-29  Werner LEMBERG  <wl@gnu.org>
5865         Fix computation of .trunc register.  Additionally, its value (and
5866         the value of the .ne register) is now always set before entering the
5867         trap.
5869         * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
5870         `needed_space' before calling `space'.
5871         (top_level_diversion::space): Remove special code for 'sp before the
5872         first page.
5873         Call `begin_page' with the discarded space as a parameter.
5874         (top_level_diversion::begin_page): Add optional parameter to set
5875         `truncated_space'.
5876         * src/roff/troff/div.h: Updated.
5878         * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
5879         \n[.ne].
5881         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
5882         (LP): Remove superfluous call to `br'.
5883         * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
5884         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5886 2002-10-26  Werner LEMBERG  <wl@gnu.org>
5888         * tmac/doc-ditroff: Remove useless switch/variable -rC.
5889         (doc-setup-header): Don't set page register `%'.
5890         * tmac/doc-nroff: Remove variable `C'.
5891         (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
5892         (doc-setup-header): Don't set page register `%'.
5893         Don't call `bp'.
5894         * tmac/doc-common (doc-header): Call `ns'.
5895         (doc-paragraph): Protect .sp with .br so that it survives traps
5896         possibly set by the user.
5897         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5899         * tmac/doc*: Replace ' with . for consistency if no effect.
5901 2002-10-26  Werner LEMBERG  <wl@gnu.org>
5903         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
5904         so that it survives traps possibly set by the user.
5906         * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
5907         (troff_output_file::set_font): Call flush_tbuf if necessary.
5908         (troff_output_file::fill_color, troff_output_file::glyph_color): Call
5909         flush_tbuf and do_motion only if necessary.
5910         (troff_output_file::start_special,
5911         troff_output_file::put_char_width, troff_output_file::put_char,
5912         troff_output_file::draw): Updated.
5913         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5914         vmotion_node::tprint): Undo change 2002-10-23.
5916 2002-10-25  Werner LEMBERG  <wl@gnu.org>
5918         * tmac/www.tmac (DC): Fix case of overlapping images.
5920 2002-10-23  Werner LEMBERG  <wl@gnu.org>
5922         * src/roff/troff/node.cc (troff_output_file::fill_color,
5923         troff_output_file::glyph_color): Set current color before testing
5924         color_flag.
5925         (troff_output_file::put_char_width, troff_output_file::put_char,
5926         troff_output_file::draw): Don't call flush_tbuf and/or do_motion
5927         before glyph_color.
5928         (troff_output_file::file_color, troff_output_file::glyph_color):
5929         Call do_motion.
5930         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5931         vmotion_node::tprint): Move first, then call fill_color.
5933 2002-10-20  Werner LEMBERG  <wl@gnu.org>
5935         * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
5936         possible to use multiple main macro packages.
5938 2002-10-19  Werner LEMBERG  <wl@gnu.org>
5940         * src/devices/grops/ps.cc (cmyk_flag): New global variable.
5941         (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
5942         (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
5943         is set.
5944         * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
5945         `where' construction since `cmyksetcolor' is a PS Level 2 operator.
5947 2002-10-16  Werner LEMBERG  <wl@gnu.org>
5949         * NEWS, doc/webpage.ms: Updated.
5951 2002-10-14  Werner LEMBERG  <wl@gnu.org>
5953         * src/roff/troff/node.cc (troff_output_file::put_char_width,
5954         troff_output_file::put_char, troff_output_file::fill_color,
5955         troff_output_file::glyph_color): Handle case where color pointer
5956         is null.
5958 2002-10-13  Ruslan Ermilov  <ru@FreeBSD.org>
5960         Add the new -r option to grotty.  It is similar to the -i option
5961         except it tells grotty(1) to use the `reverse video' attribute to
5962         render italic fonts.
5964         * src/devices/grotty/tty.cc (reverse_flag): New global variable.
5965         (SGR_REVERSE, SGR_NO_REVERSE): New macros.
5966         (tty_printer::make_underline, tty_printer::put_color,
5967         tty_printer::end_page): Use it.
5968         (main): Add -r switch.
5969         (usage): Updated.
5970         * src/devices/grotty/grotty.man: Document it.
5972 2002-10-11  Ruslan Ermilov  <ru@FreeBSD.org>
5974         * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
5975         cast to `unsigned char' to properly read patterns with 8bit
5976         characters.
5978 2002-10-08  Werner LEMBERG  <wl@gnu.org>
5980         * REVISION: Increased to 2.
5982 Local Variables:
5983 version-control: never
5984 coding: latin-1
5985 End: