Imported Upstream version 1.22.2
[platform/upstream/groff.git] / ChangeLog.119
1
2 Version 1.19.2 released
3 =======================
4
5         * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
6
7         * doc/webpage.ms: Updated.
8
9         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
10
11 2005-09-04  Jörgen Grahn <jgrahn@algonet.se>
12
13         * tmac/groff_ms.man: Document `PO' better.
14
15 2005-09-03  Werner LEMBERG  <wl@gnu.org>
16
17         * NEWS: Document grotty changes.
18
19 2005-09-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
20
21         Backward compatibility support for `man' program.
22
23         * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
24         assignment, prior `.ll' request and then package defaults, in this
25         specified order of decreasing priority.
26
27         * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
28         altered `LL' register initialization priorities.
29
30 2005-08-29  Gary W. Swearingen  <garys@opusnet.com>
31
32         * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
33         section should look like.
34
35 2005-08-29  Werner LEMBERG  <wl@gnu.org>
36
37         * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
38         be abbreviated.
39
40 2005-08-27  Bernd Warken <groff-bernd.warken-72@web.de>
41
42         * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
43         fixes.
44
45 2005-08-11  Bernd Warken <groff-bernd.warken-72@web.de>
46
47         * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
48
49 2005-08-09  Bernd Warken <groff-bernd.warken-72@web.de>
50
51         * tmac/www.tmac (URL, MTO): Use bold series if color support is
52         deactivated.
53
54 2005-08-02  Bernd Warken <groff-bernd.warken-72@web.de>
55
56         * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
57         as argument to $(INSTALL_INFO).  The latter isn't portable.
58         Remove $(HTMLEXAMPLEFILES) too.
59
60         * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
61         $(datadir)/doc too.
62         Suppress warning messages and return always true.
63
64         * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
65
66 2005-07-02  Bernd Warken <groff-bernd.warken-72@web.de>
67
68         * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
69         * man/groff_out.man: More markup and minor improvements.
70         * src/roff/groff/groff.man: Minor improvements.
71
72 2005-06-28  Werner LEMBERG  <wl@gnu.org>
73
74         * ChangeLog: Split off older entries into...
75         * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
76         files.
77
78 2005-06-26  Bernd Warken <groff-bernd.warken-72@web.de>
79
80         * src/devices/xditview/gxditview.man: More minor fixes.
81
82 2005-06-24  Werner LEMBERG  <wl@gnu.org>
83
84         * src/preproc/pic/troff.cpp (troff_output::set_fill,
85         troff_output::set_color, troff_output::reset_color): Use .bcolor and
86         .fcolor instead of \m and \M, respectively.
87
88 2005-06-23  Bernd Warken <groff-bernd.warken-72@web.de>
89
90         * src/devices/xditview/gxditview.man: More minor fixes.
91         * README: Formatting issues.
92         Mention some problems with Debian.
93
94 2005-06-23  Bernd Warken <groff-bernd.warken-72@web.de>
95
96         * src/devices/xditview/gxditview.man: Revised and improved.
97
98 2005-06-22  Werner LEMBERG  <wl@gnu.org>
99
100         Another round in fixing getopt problems.  Hopefully the last one!
101         This time we use the getopt stuff from gnulib and define a prefix
102         unconditionally so that there are no collisions with any other
103         getopt implementations.  This is a slight waste of space in case
104         we already use a GNU getopt implementation, but on
105         the other hand it really simplifies life.
106
107         * src/include/getopt.h: Use gnulib version.
108
109         * src/include/getopt_int.h: Use gnulib version.
110
111         * src/include/groff-getopt.h: Removed.  Obsolete now.
112
113         * src/include/lib.h: Regarding getopt, don't handle any platform
114         specially; just include getopt.h.
115         (__GETOPT_PREFIX): Define (before getopt.h).
116
117         * src/include/Makefile.sub (HDRS): Updated.
118
119         * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
120         gnulib version.
121
122         * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
123         __GETOPT_PREFIX.
124
125         * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
126         (__GETOPT_PREFIX): Define (before getopt.h).
127
128 2005-06-21  Werner LEMBERG  <wl@gnu.org>
129
130         * src/include/lib.h: Provide a fix for Mac OS X to not include
131         groff-getopt.h.
132
133 2005-06-20  Denis M. Wilson  <dmw@oxytropis.plus.com>
134
135         * font/devps/prologue.ps (EP): Dont' use `bind'.  Reason: Using
136         `bind' to define a procedure which contains `showpage' means that an
137         invocation of `showpage' may execute wrongly (the exact effect
138         depending on the interpreter).  Not usually a problem except under
139         transformations, such as combining pages.
140         (PEND): Don't call `clear'.  Reason: Using `clear' in the definition
141         of /PEND means that stack underflow will occur if the stack is
142         deliberately non-empty before document inclusion.  If included
143         files are found to be generally badly behaved, we could replace the
144         `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
145         never found this necessary).
146
147 2005-06-20  Jörgen Grahn  <jgrahn@algonet.se>
148
149         * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
150         earlier to get correct error message.
151
152 2005-06-16  Bernd Warken <groff-bernd.warken-72@web.de>
153         * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
154
155 2005-06-15  Werner LEMBERG  <wl@gnu.org>
156
157         Another try to update getopt files.  This time we add a dummy
158         gettext.h file to satisfy the dependency.
159
160         * src/include/getopt.h, src/libs/libgroff/getopt.c,
161         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
162
163         * src/include/getopt_int.h: New file (from GNU libc CVS).
164
165         * src/include/gettext.h: Dummy file which just defines a gettext()
166         macro.
167
168         * src/include/groff-getopt.h: Updated.
169
170         * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
171
172
173         * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
174         `const' keywords in return value.
175
176         * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
177         Remove redundant variable `old'.
178         (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
179
180         * src/preproc/tbl/main.cpp (process_table): Remove redundant
181         variable `c'.
182
183
184         Fix more friend name injection problems since modern C++ compilers
185         fail otherwise.  We simply provide (global) declarations for all
186         functions declared as friends.  This is not really necessary but
187         doesn't harm.
188
189         * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
190         peek_char, and get_location.
191
192         * src/preproc/refer/ref.h: Provide declarations for
193         compare_reference, same_reference, same_year, same_date,
194         same_author_last_name, and same_author_name.
195
196         * src/roff/troff/div.h: Provide declarations for do_divert and
197         page_offset.
198
199         * src/roff/troff/env.h: Provide declarations for title_length,
200         space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
201         vertical_spacing, post_vertical_spacing, line_spacing, line_length,
202         indent, temporary_indent, do_underline, do_input_trap, set_tabs,
203         margin_character, no_number, number_lines, leader_character,
204         tab_character, hyphenate_request, no_hyphenate,
205         hyphen_line_max_request, hyphenation_space_request,
206         hyphenation_margin_request, line_width, tabs_save, tabs_restore,
207         line_tabs_request, widow_control_request, and do_divert.
208
209         * src/roff/troff/input.cpp: Provide declaration for chop_macro.
210
211         * src/roff/troff/node.cpp: Provide declarations for class
212         tfont_spec.
213         Provide declaration for make_tfont.
214
215 2005-05-29  Werner LEMBERG  <wl@gnu.org>
216
217         * doc/fdl.texi: Updated to version 1.2.  Reported by
218         Bernd Warken <groff-bernd.warken-72@web.de>.
219
220 2005-05-28  Werner LEMBERG  <wl@gnu.org>
221
222         * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
223         redundant semicolons.
224
225         * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
226         src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
227         Define `MLIB'.  Some compilers need this for linking with libgroff.
228
229 2005-05-27  Werner LEMBERG  <wl@gnu.org>
230
231         * MANIFEST, README, doc/webpage.ms: Updated.
232
233 2005-05-26  Werner LEMBERG  <wl@gnu.org>
234
235         * All affected files: Update postal address of FSF.
236
237 2005-05-25  Keith Marshall  <keith.d.marshall@ntlworld.com>
238             Bernd Warken <groff-bernd.warken-72@web.de>
239
240         * README: More fixes.
241
242         * README.CVS: Removed.  Its contents is now part of the README file.
243
244 2005-05-21  Werner LEMBERG  <wl@gnu.org>
245
246         * README: Updated.  Based on a patch from
247         Bernd Warken <groff-bernd.warken-72@web.de>.
248
249 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
250
251         Miscellaneous script portability enhancements.
252
253         * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
254         generated conftest.sh script, conforming to portability
255         recommendation in autoconf docs.
256         * configure: Likewise, for code generated by GROFF_CSH_HACK.
257         * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
258         to portability recommendation in autoconf docs.
259         * contrib/grap2graph/grap2graph.sh: Likewise.
260         * contrib/pic2graph/pic2graph.sh: Likewise.
261         * font/devps/generate/afmname: Likewise.
262         * src/devices/xditview/ad2c: Likewise.
263         * src/preproc/eqn/neqn.sh: Likewise.
264         * src/roff/grog/grog.pl: Likewise.
265         * src/roff/grog/grog.sh: Likewise.
266         * src/roff/nroff/nroff.sh: Likewise.
267         * PROBLEMS: Likewise, in embedded script examples.
268
269 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
270
271         Improve portability of `pdfroff' shell script.
272
273         * arch/misc/shdeps.sh: Add space in shebang, conforming to
274         portability guidelines in `autoconf' docs.
275         (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
276         initialization code.  Used by contrib/pdfmark/pdfroff.sh's
277         `searchpath' function.
278
279 2005-05-14  Werner LEMBERG  <wl@gnu.org>
280
281         * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
282         contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
283         needed for newer ImageMagick versions.
284
285 2005-05-07  Werner LEMBERG  <wl@gnu.org>
286
287         * src/preproc/refer/refer.man: Many small typographic fixes.
288
289 2005-05-06  Jeff Conrad  <jeff_conrad@msn.com>
290
291         * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
292         Use `char *' cast for a_delete.
293
294 2005-05-03  Werner LEMBERG  <wl@gnu.org>
295
296         * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
297         src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
298
299 2005-05-03  Jeff Conrad  <jeff_conrad@msn.com>
300
301         * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
302         `a_delete' for `const char *'.
303
304 2005-05-03  Werner LEMBERG  <wl@gnu.org>
305
306         * src/devices/grohtml/post-html.cpp,
307         src/devices/grohtml/html-table.cpp,
308         src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
309         Replace malloc/free with new/delete/a_delete.
310
311         * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
312         are prohibited with ANSI C++.
313         (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
314         function has a variable number of arguments).
315
316         * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
317         Simplify function and update all callers.
318
319 2005-05-02  Werner LEMBERG  <wl@gnu.org>
320
321         Undo getopt changes from 2005-04-30.  We don't want a dependency
322         on gettext.
323
324         * src/include/getopt_int.h: Removed.
325
326         * src/include/getopt.h, src/include/groff-getopt.h,
327         src/include/Makefile.sub, src/libs/libgroff/getopt.c,
328         src/libs/libgroff/getopt1.c: Revert to previous version.
329
330
331         * src/include/nonposix.h (access) [_MSC_VER]: New macro.
332
333         * src/include/posix.h (F_OK): Define conditionally.
334
335         * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
336         different variable name in second `for' loop to avoid MSVC compiler
337         problem.
338
339 2005-04-30  Werner LEMBERG  <wl@gnu.org>
340
341         AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
342
343         * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
344         * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
345         * configure, src/include/config.hin: Regenerated.
346
347         * PROBLEMS: Updated.
348
349
350         Update getopt files.
351
352         * src/include/getopt.h, src/libs/libgroff/getopt.c,
353         src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
354
355         * src/include/getopt_int.h: New file (from GNU libc CVS).
356
357         * src/include/groff-getopt.h: Updated.
358
359         * src/include/Makefile.sub (HDRS): Add getopt_int.h.
360
361
362         * font/devutf8/NOTES: Updated.
363
364 2005-04-28  Werner LEMBERG  <wl@gnu.org>
365
366         Bug fix for Win32 relocatable code.  Based on a patch from Keith
367         Marshall.
368
369         * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
370         also.
371
372         * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
373         (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
374
375 2005-04-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
376
377         Correct `gnu.eps' handling for build from distribution tarball, with
378         separate source and build directories.
379
380         * doc/Makefile.sub: (examples.stamp): New target; forces copy of
381         grnexmpl.g, groff.css and gnu.eps from source to build directory;
382         generate gnu.eps from gnu.xpm if required; touch examples.stamp.
383         (prepare_examples): Make it depend on examples.stamp.
384         (CLEANADD): Add examples.stamp.
385
386 2005-04-27  Werner LEMBERG  <wl@gnu.org>
387
388         Implement the rule
389
390           position: `(' position `)'
391
392         in pic.
393
394         * src/preproc/pic/pic.y (position, position_not_place): Handle
395         additional parentheses.
396
397         * doc/pic.ms: Updated.
398
399 2005-04-23  Larry Jones  <lawrence.jones@ugs.com>
400
401         * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
402
403 2005-04-18  Werner LEMBERG  <wl@gnu.org>
404
405         * src/roff/groff/pipeline.c: Don't include ctype.h.
406
407 2005-04-13  Werner LEMBERG  <wl@gnu.org>
408
409         * src/roff/nroff/nroff.man: Document option `-M'.
410
411 2005-04-13  Bruce Lilly  <blilly@erols.com>
412
413         * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
414
415 2005-04-01  Kees Zeelenberg  <kzlg@users.sourceforge.net>
416             Werner LEMBERG  <wl@gnu.org>
417
418         Add binary relocation support for Windows platforms.
419
420         * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
421
422         * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
423
424         * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
425         (search_path::search_path, search_path::open_file_cautious): Use
426         `relocate'.
427
428         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
429         src/include/Makefile.sub (HDRS): Updated.
430
431 2005-04-01  Werner LEMBERG  <wl@gnu.org>
432
433         * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
434         strsave/a_delete.
435
436         * src/libs/libgroff/font.cpp: Replace strdup with strsave.
437
438         * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
439         lib.h already does it.
440
441         * src/libs/libgroff/maxpathname.cpp: New file, defining
442         path_name_max.
443
444         * src/include/lib.h: Add prototype for path_name_max.
445
446         * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
447
448         * src/include/nonposix.h (PATH_EXT): New macro.
449
450 2005-03-28  Werner LEMBERG  <wl@gnu.org>
451
452         Add support for double- and zero-width characters in grotty.
453
454         * src/devices/grotty/tty.cpp (glyph): Add width.
455         (tty_printer::make_underline, tty_printer::make_bold,
456         tty_printer::add_character): Add parameter to pass character width.
457         Update all callers.
458         (tty_printer::end_page): Increase hpos by actual character width.
459
460         * font/devutf8/R.proto: Specify zero width for non-spacing
461         characters.
462
463         * tmac/unicode.tmac: Remove definitions for non-spacing entities.
464
465         * Makefile.comm (extraclean): Remove more junk files.
466
467 2005-03-25  Werner LEMBERG  <wl@gnu.org>
468
469         * configure.ac: Undo change from 2005-03-24.
470         * configure: Regenerated.
471
472 2005-03-24  Werner LEMBERG  <wl@gnu.org>
473
474         * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
475         (dist): Search Makefile while descending into $(EXTRADIRS).
476
477         * doc/Makefile.in (.PHONY): Add.
478         (clean): Don't remove *.png and *.eps.
479         Don't handle *.gif.
480         (realclean): Remove *.png and *.eps.
481         (extraclean): Depend on distclean.
482
483         * configure.ac: Add copyright.
484         Handle contrib/pdfmark/Makefile.
485
486         * configure: Regenerated.
487
488 2005-03-18  Larry Kollar  <kollar@alltel.net>
489
490         Add numbered and definition lists to www.tmac.
491
492         * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
493         www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
494         auxiliary string registers.
495         (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
496         www-ol-ctr3, www-dl-shift): New auxiliary number registers.
497         (www-level): Removed.
498         (www-level1, www-level2, www-level3): Initialize to empty.
499         (www-level0, www-level4, www-level5, www-level6, www-level7,
500         www-level8, www-level9): New string registers.
501         (www-push-li, www-pop-li): New macros.
502         (www-push-level, www-pop-level): Renamed to...
503         (www-push-ul-level, www-pop-ul-level): This.
504         Updated.
505         (www-push-ol-level, www-pop-ol-level): New macros.
506         (ULS, ULE): Updated.
507         (OLS, OLE, DLS, DLE): New user macros.
508         (LI): Removed.  It is aliased to one of...
509         (www-li-ul, www-li-ol, www-li-dl): New macros.
510
511         * tmac/groff_www.man: Document new macros.
512
513         * NEWS: Updated.
514
515 2005-03-18  Werner LEMBERG  <wl@gnu.org>
516
517         * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
518         doc-operating-system-NetBSD-2.0.2): New strings.
519
520         * tmac/groff_mdoc.man: Updated.
521
522 2005-03-17  Werner LEMBERG  <wl@gnu.org>
523
524         * doc/Makefile.sub (CLEANADD): Add `groff.html'.
525
526 2005-03-17  Werner LEMBERG  <wl@gnu.org>
527
528         * src/libs/libgroff/hypot.c: Renamed to...
529         * src/libs/libgroff/hypot.cpp: This.  Updated to C++.
530
531         * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
532
533         * src/include/lib.h: Updated.
534
535 2005-03-16  Werner LEMBERG  <wl@gnu.org>
536
537         Add workaround for broken hypot() on Interix.
538
539         * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
540
541         * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
542         (CSRCS): Add `hypot.c'.
543
544         * src/include/lib.h: Declare `groff_hypot'.
545
546         * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
547         Use `groff_hypot'.
548
549         * src/preproc/pic/pic.h: Don't declare `hypot'.
550
551         * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
552
553 2005-03-15  Gaius Mulley  <gaius@glam.ac.uk>
554
555         * src/devices/grohtml/post-html.cpp
556         (html_printer::lookahead_for_tables): End .ce properly to avoid a
557         segfault.
558
559 2005-03-15  Werner LEMBERG  <wl@gnu.org>
560
561         makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
562
563         * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
564
565         * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
566
567 2005-03-14  Werner LEMBERG  <wl@gnu.org>
568
569         Add Cyrillic support to devutf8 and devhtml.
570
571         * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
572
573         * tmac/unicode.tmac: New file.
574
575         * tmac/tty.tmac: Include unicode.tmac if device is utf8.
576
577         * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
578
579         * NEWS: Updated.
580
581 2005-03-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
582
583         * src/libs/libdriver/printer.cpp (check_for_output_error): New
584         function.  It has been introduced to catch peculiar error contexts
585         on MS-Windows platforms.
586
587 2005-02-28  Werner LEMBERG  <wl@gnu.org>
588
589         * src/roff/troff/input.cpp (string_iterator::fill): Protect against
590         null pointer.
591
592         * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
593
594         * configure: Regenerated.
595
596         * NEWS: Updated.
597
598 2005-02-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
599
600         Integrate `pdfmark' into normal groff build system;
601         install macro `pdfmark' packages, build and install `pdfroff',
602         and PDF format documentation.
603
604         * Makefile.comm: Add PDFDOCDIR.
605
606         * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
607         pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
608         (unstall_dirs): Add pdfdocdir.
609
610         * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
611         `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
612         (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
613         GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
614         (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
615         (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
616         set ALT_AWK_PROGS.
617         (GROFF_AWK_PATH): New function; support `--with-awk' option, force
618         use of GROFF_AWK_PREFS.
619         (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
620         and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
621
622         * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
623         Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
624         also by modified GROFF_HTML_PROGRAMS).
625
626 2005-02-27  Gaius Mulley  <gaius@glam.ac.uk>
627
628         * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
629         paragraph spacing.
630         (html_text::done_para): Unset `start_space'.
631         (html_text::remove_para_align): Call `retrieve_para_space' for the
632         spacing.
633
634         * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
635         `seen_space'.
636         (html_printer::do_check_center): Emit vertical space if necessary.
637
638         * src/roff/troff/env.cpp (environment_switch): Preserve
639         `seen_space', `seen_eol', and `suppress_next_eol' while switching
640         environments.
641
642         * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
643         `is_special'.
644
645 2005-02-20  Werner LEMBERG  <wl@gnu.org>
646
647         * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
648         eqn.
649
650 2005-02-17  Werner LEMBERG  <wl@gnu.org>
651
652         * doc/pic.ms, man/groff.man: Fix typos.
653
654         * doc/groff.texinfo: Fix typos.
655         (\LEmacro): Get proper mathematical spacing.
656
657 2005-02-16  Werner LEMBERG  <wl@gnu.org>
658
659         * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
660         * configure: Regenerated with autoconf 2.59b.
661
662 2005-02-16  Gaius Mulley  <gaius@glam.ac.uk>
663
664         * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
665         html_printer::start_font): Fix handling of preformatted text.
666
667 2005-02-15  Gaius Mulley  <gaius@glam.ac.uk>
668
669         These patches modify the indentation implementation to use `<p
670         style=margin-left: n%>'.  Many thanks to Peter and Larry for
671         suggesting this solution.  Grohtml only uses tables for `.IP' and
672         related tags when the first operand has a short width.
673
674         Similarly, they modify all vertical space code.  By default, grohtml
675         sets up a style sheet which uses no vertical space between `table',
676         `pre', and `p' tags.  It forces spaces when it needs them using
677         `style="margin-top: 1em"'.
678
679         * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
680         (html_table::emit_table_header, html_table::emit_new_row):
681         Rewritten.
682         (html_table::set_space): New function.
683         (html_indent::html_indent): Don't set `is_used'.
684         (html_indent::begin): Rewritten.
685         (html_indent::end): Remove code in function.
686
687         * src/devices/grohtml/html-table.h: Updated.
688         (html_table): Make `out' public.
689
690         * src/devices/grohtml/html-text.cpp (html_text::html_text):
691         Initialize `start_space' with FALSE.
692         (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
693         (html_text::issue_tag): Add argument to handle space style.
694         (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
695         (html_text::flush_text): Don't set `start_space'.
696         (html_text::push_para): Don't set `p->really_issued'.
697         (html_text::do_emittext): Updated.
698         (html_text::do_para): Add paremeter to handle space.
699         Update all callers.
700         (html_text::retrieve_para_space): New function.
701
702         * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
703         (tag_definition): Remove `really_issued'.
704         (html_text): Updated.
705
706         * src/devices/grohtml/post-html.cpp (html_printer): Add variables
707         `current_column' and `row_space'.
708         Update constructor.
709         (html_printer::emit_raw, html_printer::write_header,
710         html_printer::do_indent, html_printer::do_check_center,
711         html_printer::do_tab_ts): Handle vertical space.
712         (html_printer:do_tab_te, html_printer::do_end_para): Call
713         `remove_para_space'.
714         (html_printer::do_col): Rewritten.
715         (html_printer::flush_globs): Remove debugging code.
716         (html_printer::is_line_start): New function.
717         (html_printer::start_font): Use `is_line_start'.
718         (html_printer::writeHeadMetaStyle): New function.
719         (html_printer::do_file_components, html_printer::~html_printer):
720         Call `writeHeadMetaStyle'.
721
722         * tmac/www.tmac (www-handle-percent): New macro.
723         (MPIMG): Handle percent values for width and height parameters.
724         (DC): Updated.
725
726         * tmac/groff_www.man: Updated.
727
728 2005-02-14  Werner LEMBERG  <wl@gnu.org>
729
730         * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
731         $psname and $italic_angle.
732         Immediately restart file input loops if `split' returns an empty
733         array.
734
735 2005-02-13  Michail Vidiassov  <master@iaas.msu.ru>
736             Werner LEMBERG  <wl@gnu.org>
737
738         Update afmtodit to better support Unicode (Michail).
739         Update afmtodit to use Perl 5 syntax (Werner).
740
741         * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
742         `Getopts::Std'.
743         Decorate variables with `my' where necessary.
744         Use `defined' where necessary to avoid warnings.
745         Don't use `do' for subroutine calls.
746         Other minor syntax updates.
747         Check for both `uXXXX[X[X]]' and `uniXXXX'.
748         Handle glyph variants properly.
749         (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
750         strings.
751
752         * src/utils/afmtodit/afmtodit.man: Updated.
753
754 2005-02-13  Werner LEMBERG  <wl@gnu.org>
755
756         Make groff.texinfo work with texinfo 4.8.
757
758         * doc/groff.texinfo (@Var): Use @r and @slanted.
759         (@defdummy, @Def*): Use @c to avoid empty lines.
760         (\angles): Replaced with...
761         (\Langlemacro, \Ranglemacro): New TeX macros.
762         (@Langlemacro, @Ranglemacro): New variables defined with @set.
763         (@angles): Use @Langlemacro and @Ranglemacro.
764         (\LE): Replaced with...
765         (\LEmacro): New TeX macro.
766         (@LEmacro): New variable defined with @set.
767         (@LE): Use @LEmacro.
768         (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
769         variables defined with @set.
770         (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
771         (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
772         Update all callers.
773
774         Other minor updates.
775
776         * doc/texinfo.tex: Update to texinfo version 4.8.
777
778         * README.CVS: Updated.
779
780 2005-02-09  Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
781
782         * doc/groff.texinfo (ms Document Control Registers): Document `HY'
783         and `FAM' registers.
784
785 2005-02-05  Werner LEMBERG  <wl@gnu.org>
786
787         * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
788         tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
789         Update BSD license.
790
791 2005-02-01  Werner LEMBERG  <wl@gnu.org>
792
793         * src/roff/groff/groff.man: Add information about paper size.
794
795 2005-01-25  Werner LEMBERG  <wl@gnu.org>
796
797         * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale.  From
798         NetBSD bin/29114.
799
800 2005-01-22  Ruslan Ermilov  <ru@FreeBSD.org>
801
802         * tmac/doc.tmac (Sm): Improved.  It didn't work properly in many
803         cases.
804         (Re): Emit a warning if called without `.Rs'.
805         (doc-finish-reference): Use parameter for decreasing
806         `doc-reference-count'.
807         (doc-print-reference): Pass specific count parameters to
808         `doc-finish-reference'.
809
810 2005-01-21  Werner LEMBERG  <wl@gnu.org>
811
812         * src/libs/libdriver/input.cpp (delete_current_env, do_file):
813         Reset pointers to zero after deallocation.  This fixes a crash
814         if a driver is called with multiple input files.  Reported by
815         Ken Chilton <ken@chiltonfamily.org>.
816
817         * src/devices/grops/grops.man: Add more info on DSC.
818
819 2005-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
820
821         * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
822         Remove dead code.
823
824 2005-01-17  Werner LEMBERG  <wl@gnu.org>
825
826         * src/roff/troff/div.cpp (top_level_diversion::space): Protect
827         against division by zero.
828
829 2005-01-13  Ruslan Ermilov  <ru@FreeBSD.org>
830
831         * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
832
833 2004-12-19  Werner LEMBERG  <wl@gnu.org>
834
835         * install-sh: New version; taken from texinfo CVS.
836
837 2004-12-17  Werner LEMBERG  <wl@gnu.org>
838
839         * tmac/devtag.tmac: Protect against loading twice.
840         Protect agains compatibility mode.
841         * tmac/www.tmac: Protect against loading twice.
842         Load `devtag.tmac' before switching off compatibility mode.
843         * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
844
845 2004-12-16  Mike Bianchi  <mbianchi@Foveal.com>
846
847         * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
848         * configure: Updated.
849
850 2004-12-15  Thomas Klausner  <wiz@netbsd.org>
851
852         * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
853
854 2004-12-15  Werner LEMBERG  <wl@gnu.org>
855
856         Make `test-groff' work again -- previously, wrong paths have been
857         used.  Additionally, it can now be called from anywhere.
858
859         * test-groff.in: Don't test for groff binary.  This is no longer
860         necessary since the proper paths are determined by `configure'.
861         (EXEEXT): Removed.  No longer used.
862         (srcdir, builddir): Use values provided by the configure script.
863         (XENVIRONMENT): Updated.
864
865         * INSTALL: Updated.
866
867 2004-12-14  Gaius Mulley  <gaius@glam.ac.uk>
868
869         Make .tag and .taga work for all devices (but only grohtml actually
870         handles them).
871
872         * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
873         (text_glob::is_br, page::add_tag, html_printer::troff_tag,
874         html_printer::handle_assertion): Don't use hard-coded string
875         lengths.
876         (html_printer::lookahead_for_table): Reset `tbl' properly if
877         necessary.
878         (html_printer::devtag): New function, handling `devtag'.
879         (html_printer::special): Don't handle `html-tag'.
880
881         * src/include/printer.h, src/libs/libdriver/printer.cpp
882         (printer::devtag): New virtual function.
883
884         * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
885         `devtag'.
886
887         * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
888         src/roff/troff/node.cpp: s/html-tag/devtag/.
889
890         * src/roff/troff/input.cpp (tag, taga): Always call
891         curenv->add_node.
892
893         * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
894         macros instead of HTML-TAG*.
895
896         * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
897
898         * tmac/www.tmac: Load devtag.tmac.
899         Replace HTML-TAG* macros with DEVTAG* macros.
900         (HTML, HTML-NS): Changed definitions.
901         (URL): Use HTML-NS.
902         (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
903
904         * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
905
906 2004-12-10  Werner LEMBERG  <wl@gnu.org>
907
908         Import Mike's `gdiffmk' package.
909
910         * contrib/gdiffmk/*: New files.
911         * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
912         * NEWS: Updated.
913
914 2004-12-08  Werner LEMBERG  <wl@gnu.org>
915
916         Import Keith's `pdfmark' package.  Integration is very preliminary.
917
918         * contrib/pdfmark/*: New files.
919         * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
920         * NEWS: Updated.
921
922 2004-12-07  Gaius Mulley  <gaius@glam.ac.uk>
923
924         Fix a bug with title handling in HTML.
925
926         * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
927         text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
928         length.
929         (html_printer::handle_tag_within_title): New function.
930         (html_printer::do_title): Use it.
931
932         * tmac/s.tmac (TL): Don't set `need_eo_tl'.
933         (cov*tl-au-print): Emit `.eo.tl' tag.
934
935 2004-12-05  Alejandro López-Valencia  <dradul@etb.net.co>
936
937         * man/groff_char.man: Minor imrovements.
938
939 2004-12-04  Werner LEMBERG  <wl@gnu.org>
940
941         * src/preproc/eqn/eqn.man: Revised.
942
943 2004-11-25  Werner LEMBERG  <wl@gnu.org>
944
945         * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
946         groff source files.
947         Include config.h.
948         Include limits.h.
949         Remove X_NOT_STDC_ENV conditional.
950         (Version_string, program_name): New global variables.
951         (groff_flag): Removed.
952         (MapFont): Updated.
953         (usage): Take a stream as argument.
954         Use `program_name'.
955         Update all callers.
956         (main): Add `long_options' array for `--help' and `--version'.
957         Make `-g' a dummy option.
958         Handle `-v' and unknown options.
959         Remove unused `position' variable.
960
961         * src/utils/xtotroff/Makefile.sub (MAN1): Define.
962         (XLIBS): Add LIBGROFF.
963
964         * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
965         New files.
966
967         * src/devices/xditview/Dvi.c (default_font_map): Split into three
968         parts to avoid compiler warning.
969         (resources): Don't initialize with `default_font_map'.
970         (ClassInitialize): Initialize first element of `resources'.
971
972         * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
973         Removed.
974
975         * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
976         src/utils/pfbtops/pfbtops.man: Revised, updated.
977
978         * configure.ac: Generate src/utils/xtotroff/Makefile.
979         * configure: Regenerated.
980
981 2004-11-24  Werner LEMBERG  <wl@gnu.org>
982
983         First fixes to get produce HTML.
984
985         * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
986         attribute.
987
988         * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
989         (HR, LI): Use `HTML</p>', not `HTML'.
990
991         * doc/webpage.ms: Minor updates.
992
993 2004-11-23  Larry Kollar  <kollar@alltel.net>
994
995         Add option -S grohtml to determine the file split level.
996
997         * src/devices/grohtml/post-html.cpp (split_level): New global
998         variable.
999         (html_header::determine_header_level): Use split_level.
1000         (main): Handle `-S' command line option.
1001         Sort options.
1002
1003         * src/preproc/html/pre-html.cpp (scanArguments): Updated.
1004
1005         * src/devices/grohtml/grohtml.man: Document it.
1006         Sort options.
1007
1008         * NEWS: Document it.
1009
1010 2004-11-23  Y T  <doarhop@hotmail.com>
1011
1012         * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
1013         the volume and number refer entries.
1014
1015 2004-11-22  Werner LEMBERG  <wl@gnu.org>
1016
1017         * src/devices/grohtml/html-table.cpp
1018         (html_table::emit_table_header): Don't emit `cols' attribute which
1019         doesn't exist in HTML 4.0 and is thus invalid.
1020
1021         * NEWS: More minor fixes and updates.
1022
1023 2004-11-18  Werner LEMBERG  <wl@gnu.org>
1024
1025         * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
1026         (HTML</p>): Minor clean-up.
1027
1028         * tmac/groff_www.man: Updated.
1029
1030         * src/devices/grohtml/grohtml.man: Revised and updated.
1031
1032         * NEWS: Updated.
1033
1034 2004-11-18  Gaius Mulley  <gaius@glam.ac.uk>
1035
1036         * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1037         Fix space insertion.
1038         (html_printer::do_links): Fix rules generation around automatic
1039         heading links.
1040
1041         * tmac/www.tmac (LK): Use HTML-TAG-NS.
1042         (HR): Simplify.
1043         No longer emit empty line for non-HTML devices.
1044
1045 2004-11-17  Werner LEMBERG  <wl@gnu.org>
1046
1047         * doc/Makefile.in (prepare_examples, webpage.html): Handle
1048         `groff.css'.
1049
1050         * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
1051         prepare_examples, webpage.html): Handle `groff.css'.
1052
1053 2004-11-15  Werner LEMBERG  <wl@gnu.org>
1054
1055         * NEWS, README, doc/webpage.ms: Updated.
1056
1057         * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
1058
1059 2004-10-30  Gaius Mulley  <gaius@glam.ac.uk>
1060
1061         * src/include/printer.h (printer): Remove virtual function
1062         `round_width'.
1063         Update all source files.
1064
1065         * src/devices/grohtml/post-html.cpp (html_printer): New member
1066         function `round_width'.
1067
1068 2004-10-20  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
1069
1070         * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
1071         column key letter suffix.
1072
1073 2004-10-14  Werner LEMBERG  <wl@gnu.org>
1074
1075         * Makefile.in (check): Depend on `site.exp' and `docheck'.
1076         (docheck): Run dejagnu's `runtest' if it exists.
1077         (site.exp): Create dejagnu configuration file.
1078
1079         * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
1080
1081 2004-10-13  Werner LEMBERG  <wl@gnu.org>
1082
1083         * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
1084         src/devices/grohtml/post-html.cpp (make_val,
1085         html_printer::handle_state_assertion): Fix compiler warnings.
1086
1087         * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
1088         (diversion::diversion): Fix order of initializers.
1089
1090         * src/roff/troff/div.h: Don't include `mtsm.h'.
1091
1092         * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
1093         (environment::environment): Fix order of initializers.
1094         (environment::make_tag, environment::construct_format_state): Fix
1095         compiler warnings.
1096
1097         * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
1098         (input_iterator::input_iterator, macro::macro): Fix order of
1099         initializers.
1100
1101         * src/roff/troff/mtsm.cpp: Include only necessary header files.
1102         (state_set::add, state_set::val): Fix compiler warnings.
1103
1104         * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
1105         (bool_value_state, int_value_state, units_value_state,
1106         string_value_state): Remove comma after last element which causes
1107         an error with g++ 3.3.3.
1108
1109         * src/roff/troff/node.cpp: Include `stringclass.h'.
1110         (hline_node::hline_node, vline_node::vline_node,
1111         space_char_hmotion_node, left_italic_corrected_node): Fix compiler
1112         warnings.
1113         (zero_width_node::zero_width_node): Fix order of initializers.
1114
1115         * src/roff/troff/node.h: Don't include `mtsm.h'.
1116         (hmotion_node): Fix compiler warnings.
1117
1118         * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
1119
1120 2004-10-12  Gaius Mulley  <gaius@glam.ac.uk>
1121
1122         * doc/groff.css: New file.
1123
1124         * doc/webpage.ms: Use `groff.css'.
1125         Other small fixes.
1126
1127         * tmac/an-old.tmac (need_eo_h): New number register.
1128         (TH): Emit `.eo.tl' tag after title.
1129         (SH): Set `need_eo_h'.
1130         (an-trap): Handle `need_eo_h'.
1131         (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
1132
1133         * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
1134         (TL): Always start diversion.
1135         Updated.
1136         (@AI): Always call `par@reset'.
1137         (@AB): Update code for -Thtml.
1138         (cov*tl-au-print): Handle -Thtml.
1139         (par@reset): Handle `need_eo_tl', `need_eo_h'.
1140         (@IP): Simplified.
1141         (@IT-html): Removed.
1142         (@SH): Set `need_eo_h' for -Thtml.
1143         (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
1144         Set `need_eo_tl'.
1145         (@NH): s/HTML-TAG/HTMl-TAG-NS/.
1146         Set `need_eo_h' for -Thtml.
1147         (@EQ, @EN): Don't handle -Thtml specially.
1148         (par@load-init): Don't handle -Thtml specially.
1149
1150         * tmac/www.tmac (www:paraspace): New macro.
1151         (HTML-NS, HTML-TAG-NS): Use new `tag' request.
1152         (HTML</p>, HTML-TAG-NEXT): New macros.
1153         (HnE): Emit tag `.eo.h' instead of break.
1154         (HR): s/HTML-NS/HTML/.
1155         (www-end-nowhere): End diversion only if `www-html' not set.
1156         Emit `.eo.tl' tag.
1157         (ULS, ULE): s|HTML|HTML</p>|.
1158         (LI): Call `www:paraspace'.
1159         (HEAD): New macro.
1160
1161 2004-10-11  Gaius Mulley  <gaius@glam.ac.uk>
1162
1163         * src/roff/troff/request.h (macro): Make `p' public.
1164         New variable `is_a_diversion'.
1165         New member function `is_diversion'.
1166
1167
1168         * src/devices/grohtml/html.h (simple_output): New member function
1169         `force_nl'.
1170
1171         * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
1172         computation of `total'.
1173         (tabs::check_init): New function.
1174         (html_table::emit_table_header): Emit style data.
1175         (html_table::insert_column): Improved.
1176
1177         * src/devices/grohtml/html-table.h: Updated.
1178
1179         * src/devices/grohtml/html-text.cpp (html_text::html_text):
1180         Initialize `start_space' with TRUE.
1181         (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
1182         cases.
1183         (html_text::flush_text): Set `start_space' flag.
1184         (html_text::uses_indent, html_text::remove_para_space,
1185         html_text::get_alignment): New functions.
1186         (html_text::push_para): Updated.
1187         (html_text::do_para): Check for empty argument.
1188         Don't set `space_emitted'.
1189         (html_text::do_space, html_text::emit_space): Updated.
1190
1191         * src/devices/grohtml/html-text.h (tag_definition): New variable
1192         `really_issued'.
1193         (html_text): New member function `uses_indent', `remove_para_space',
1194         `get_alignment'.
1195
1196         * src/devices/grohtml/output.cpp (simple_output::force_nl): New
1197         function.
1198         (simple_output:nl): Always emit `\n'.
1199
1200         * src/devices/grohtml/post-html.cpp: Include `string.h'.
1201         (BASE_POINT_SIZE): Removed.
1202         (base_point_size, head_info): New global variables.
1203         (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
1204         `is_eo_h'.
1205         (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
1206         tags, respectively.
1207         (page::add_and_encode): Pass additional parameter for tag flag.
1208         (assert_pos): New structure.
1209         (assert_state): New class.
1210         (html_printer): Remove `indentation', `prev_indent'.
1211         Add variables `troff_indent', `device_indent', `temp_indent'.
1212         Add variables `seen_indent', `next_indent', `seen_pageoffset',
1213         `next_pageoffset', `seen_linelenght', `next_linelength',
1214         `seen_center', `next_center', `seen_space', `seen_break', `as'.
1215         Add member functions `do_check_center', `do_space', `do_head',
1216         `get_troff_indent', `restore_troff_indent', `handle_assertion',
1217         `handle_state_assertion', `do_end_para', `set_char_and_width'.
1218         Change argument to `do_fill' to `char *'.
1219         Update constructor.
1220         (html_printer::emit_raw): Call `shutdown_table'.
1221         Use new functions.
1222         (html_printer::do_center): Simplified.
1223         (html_printer::do_title): Improved.
1224         (html_printer::write_header): Emit one more newline.
1225         Use new functions.
1226         (html_printer::do_heading, html_printer::do_indent,
1227         html_printer::do_eol, html_printer::do_tab_ts,
1228         html_printer::do_tab, html_printer::do_tab0,
1229         html_printer::calc_po_in, html_printer::next_horiz_pos,
1230         html_printer::remove_courier_tabs,
1231         html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
1232         Updated.
1233         (html_printer::do_linelength, html_printer::do_pageoffset,
1234         html_printer::do_indentation, html_printer::do_tempindent,
1235         html_printer::do_tab_te): Simplified.
1236         (html_printer::do_pointsize): Check whether point size is really
1237         associated a `.tl' tag.
1238         (html_printer::do_break): Rewritten.
1239         (html_printer::troff_tag): Improved.
1240         (html_printer::flush_globs): Updated.
1241         (html_printer::lookahead_for_tables): Handle `is_br'.
1242         Use new functions.
1243         (html_printer::set_char): Check `sbuf_style.f'.
1244         (html_printer::write_navigation): Use string comparison.
1245         (html_printer::~html_printer): Emit `head_info'.
1246         (html_printer::special): Rewritten.
1247         (get_str, make_val): New functions.
1248         (main): New option `s' to set the base point size.
1249
1250         * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
1251
1252 2004-10-10  Gaius Mulley  <gaius@glam.ac.uk>
1253
1254         * src/roff/troff/node.cpp: New extern `debug_state'.
1255         Include `stringclass.h' and `mtsm.h'.
1256         Implement new classes and class members from `node.h'.
1257         (real_output_file): Make `fp' public.
1258         (troff_output_file): New variables `cur_div_level' and `tag_list'.
1259         Update constructors.
1260         (troff_output_file::really_print_line): Check whether we should push
1261         the current troff state and use the state at the start of the
1262         invocation of this diversion.
1263         (troff_output_file::add_to_tag_list): New member function.
1264         (node::add_char): Handle `glyph_comp_np'.
1265
1266         * src/roff/troff/node.h: Include `mtsm.h'.
1267         (node): New variables `state', `push_state', `div_nest_level',
1268         `is_special'.  Update constructors, all descendants.
1269         Pass additional argument to `add_char' member function.
1270         New virtual member functions `is_tag', `debug_node',
1271         `debug_node_list'.  Update all descendants.
1272         (tag_node): New class for handling tags.
1273         (output_file): Add variable `state'.
1274
1275 2004-10-09  Gaius Mulley  <gaius@glam.ac.uk>
1276
1277         * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
1278         providing a minimal troff state machine to emit meta tags for the
1279         post-grohtml device driver.
1280
1281         * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
1282         files.
1283
1284 2004-10-09  Werner LEMBERG  <wl@gnu.org>
1285
1286         * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
1287
1288 2004-10-06  Gaius Mulley  <gaius@glam.ac.uk>
1289
1290         * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
1291
1292         * src/roff/troff/div.h: Include `mtsm.h'.
1293         (diversion): New variables `any_chars_added', `needs_push',
1294         `saved_seen_break', `saved_seen_space', `saved_seen_eol',
1295         `saved_suppress_next_eol', `modified_tag'.
1296         New virtual member function `is_diversion'.  Update all descendants.
1297
1298         * src/roff/troff/div.cpp (diversion::diversion,
1299         macro_diversion::macro_diversion): Updated.
1300         (do_divert): Handle `seen_break', `seen_space', `seen_eol',
1301         `suppress_next_eol'.
1302         (top_level_diversion::space): Handle `curenv->seen_space'.
1303         (page_offset): Update tag handling.
1304         (space_request, blank_line, flush_output): Don't call `add_html_tag'.
1305
1306         * src/roff/troff/env.h (environment): Make `tabs' public.
1307         Remove `ignore_next_eol', `emitted_node'.
1308         Update `output_line', `output'.
1309         New variables `seen_space', `seen_eol', `suppress_next_eol',
1310         `seen_break'.
1311         New member functions `construct_state', `make_tag',
1312         `construct_format_state, `construct_new_line_state,
1313         `dump_troff_state'.
1314         Remove `add_html_tag', `make_html_tag'.
1315
1316         * src/roff/troff/env.cpp: New externs `suppress_push',
1317         `get_diversion_state', `global_diverted_space'.
1318         (pending_output_line): New variable `was_centered'.
1319         Update constructor and all callers.
1320         (pending_output_line::output): Call `curenv->construct_format_state'.
1321         (environment::environment, environment::copy): Updated.
1322         (environment::output): Handle `was_centered'.
1323         (environment::add_char): Handle construct and diversion state.
1324         (environment::add_node): Handle construct state.
1325         (environment::newline): Handle `was_centered'.
1326         (environment::output_line): Updated.
1327         (environment::possibly_break_line): Updated.
1328         Update tag handling.
1329         (environment::add_html_tag): Replaced with...
1330         (environment::make_tag): New function.
1331         (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
1332         (environment::dump_troff_state): New debugging function.
1333         (environment::construct_state, environment::construct_format_state,
1334         environment::construct_new_line_state): New functions.
1335         (environment::do_break): Updated.
1336         Handle `global_diverted_space'.
1337         (environment::handle_tag): Update tag handling.
1338         (point_size, fill, do_break_request): Don't call `add_html_tag'.
1339         (no_fill): Don't call `add_html_tag'.
1340         Set `suppress_next_eol'.
1341         (center, right_justify, line_length, indent, temporary_indent,
1342         set_tabs):
1343         Update tag handling.
1344
1345         * src/roff/troff/input.cpp: Don't include `stringclass.h'.
1346         (input_iterator): New variables `is_diversion', `diversion_state'.
1347         Update constructors.
1348         (input_stack): New member functions `get_div_level',
1349         `get_diversion_state', `check_end_diversion'.
1350         New variables `div_level', `diversion_state'.  Initialize them.
1351         (suppress_push, global_diverted_space): New global variables.
1352         (input_stack::finish_get, input_stack::finish_peek,
1353         input_stack::remove_boundary, input_stack::end_file,
1354         input_stack::clear, input_stack::pop_macro): Call
1355         `check_end_diversion'.
1356         (input_stack::push): Handle `div_level' and `diversion_state'.
1357         (get_diversion_state): New function.
1358         (diverted_space_node::reread): Handle `global_diverted_space'.
1359         (macro::macro): Update constructors.
1360         (macro::is_diversion): New function.
1361         (macro::operator=): Set `is_a_diversion'.
1362         (string_iterator): New member function `is_diversion'.
1363         (string_iterator::string_iterator): Update constructors.
1364         (string_iterator::fill): Set `div_nest_level'.
1365         (macro_iterator): New member function `is_diversion'.
1366         (do_if_request): Handle `suppress_push'.
1367         (tag, taga): New functions.
1368         (init_input_requests): Add `tag' and `taga' requests.
1369
1370 2004-10-05  Gaius Mulley  <gaius@glam.ac.uk>
1371
1372         * src/include/font.h (font): New member function
1373         `get_image_generator'.
1374         New variables `unscaled_charwidths' and `image_generator'.
1375
1376         * src/libs/libgroff/font.cpp (font::get_width): Always return the
1377         character's unscaled width if `font::unscaled_charwidths' is set.
1378         (font::get_image_generator): New function.
1379         (font::load_desc): Check the `unscaled_charwidths' and
1380         `image_generator' keywords.
1381
1382         * src/libs/libgroff/fontfile.cpp: Initialize
1383         `font::unscaled_charwidths' and `font::image_generator'.
1384
1385         * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
1386
1387         * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
1388
1389         * man/groff_font.man: Document `unscaled_charwidths' and
1390         `image_generator'.
1391
1392         * src/preproc/html/pre-html.cpp: Include `device.h'.
1393         (image_gen): New global variable.
1394         (imageList::createPage): Use `image_gen'.
1395         (main): Use `image_generator' keyword.
1396
1397 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
1398
1399         * tmac/html.tmac: Handle \[sqrtex].
1400
1401 2004-10-04  Gaius Mulley  <gaius@glam.ac.uk>
1402
1403         * src/include/printer.h (printer): New virtual method `round_width'.
1404
1405         * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
1406         src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
1407         src/devices/grotty/tty.cpp (printer::round_width): New function
1408         member.
1409
1410         * src/devices/grohtml/post-html.cpp (printer::round_width): New
1411         function member.
1412         (html_printer::set_numbered_char): Use it.
1413
1414 2004-10-03  Gaius Mulley  <gaius@glam.ac.uk>
1415
1416         * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
1417
1418         * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
1419
1420         * configure: Regenerated.
1421
1422         * Makefile.in (GHOSTSCRIPT): New variable.
1423         (MDEFINES): Add GHOSTSCRIPT.
1424
1425 2004-10-03  Werner LEMBERG  <wl@gnu.org>
1426
1427         * INSTALL.gen: Updated (taken from texinfo CVS).
1428
1429 2004-09-28  Werner LEMBERG  <wl@gnu.org>
1430
1431         * NEWS: Updated.
1432
1433 2004-09-28  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
1434
1435         * tmac/groff_www.man: Revised and updated.
1436
1437 2004-09-26  Werner LEMBERG  <wl@gnu.org>
1438
1439         Fix \$@ and \$* to handle any number of arguments.
1440
1441         * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
1442         characters.
1443
1444         * src/roff/troff/input.cpp (input_iterator::internal_level):
1445         Removed.
1446         (input_stack): New member functions `increase_level' and
1447         `decrease_level'.
1448         (input_stack::get_level): Don't use `internal_level'.
1449         (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
1450         (end_quote_iterator): Completely removed.
1451         (interpolate_arg): Build string for \$@ and \$* which is then
1452         pushed onto the input stack.
1453
1454 2004-09-23  Keith Marshall  <keith.d.marshall@ntlworld.com>
1455
1456         * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
1457         Registers): Document changes from 2004-09-19.
1458
1459 2004-09-23  Werner LEMBERG  <wl@gnu.org>
1460
1461         * tmac/an-old.tmac (ne): Using default scaling operator.
1462
1463 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
1464
1465         This change implements the following features:
1466
1467         PORPHANS
1468           New numeric register: Defines number of lines following LP, PP,
1469           QP, IP or XP, which must be kept together, before any automatic
1470           page break.  If insufficient space remains on the current page, a
1471           page break is forced before the new paragraph begins.
1472
1473         HORPHANS
1474           New numeric register: Sets number of lines of following paragraph
1475           which must be kept with a heading, defined by NH or SH, before any
1476           automatic page break.  If insufficient space remains on the
1477           current page, a page break is forced before the heading.
1478
1479         GROWPS
1480           (Thanks to Joerg van den Hoff, for this idea).
1481
1482           New numeric register: Sets the first level of heading (set with
1483           NH), which will keep the same point size as body text; e.g. if
1484           GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
1485           point size specified by \n[PS], but .NH 2 and .NH 1 will have
1486           progressively larger point sizes, determined by \n[PSINCR] (see
1487           below).
1488
1489         PSINCR
1490           New numeric register: Sets the point size increment for each level
1491           of heading, (set with NH), below the threshold level set by
1492           GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
1493           then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
1494           and all other levels will remain at 10pt, (because \n[PS] = 10).
1495
1496         SH
1497           Existing macro now accepts a numeric argument, to make heading
1498           size match that of NH with same argument value, when the
1499           GROWPS/PSINCR feature is enabled.
1500
1501         SN-DOT
1502           New string, set by NH macro, replaces the existing (undocumented)
1503           use of SN, to represent the assigned section number.
1504
1505         SN-NO-DOT
1506           New string, set by NH macro, represents the assigned section
1507           number, but omits the terminal period (periods at intermediate
1508           levels are retained).
1509
1510         SN
1511           String set by NH macro, originally undocumented, now implemented
1512           as an alias for SN-DOT (which reproduces original behaviour).
1513
1514         * tmac/s.tmac (PORPHANS): New register.
1515         (par*start): Use it.
1516         (HORPHANS, GROWPS, PSINCR): New registers.
1517         (SH-NO-TAG, @SH): Use them.
1518         (@NH): Improved.
1519
1520 2004-09-19  Keith Marshall  <keith.d.marshall@ntlworld.com>
1521
1522         * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
1523         Document the deletion of `Ds' and `De' macros.
1524
1525 2004-09-10  Werner LEMBERG  <wl@gnu.org>
1526
1527         In tbl, handle \a as an interpreted leader character if in
1528         compatibility mode.
1529
1530         * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
1531         LEADER_CHAR): New macros.
1532         (compatible_flag): New declaration.
1533
1534         * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
1535         LEADER_3, and LEADER_4 to `state'.
1536         (table_input::get): Handle `\a'.
1537
1538         * src/preproc/tbl/table.cpp (PREFIX): Removed.
1539         (LEADER_REG): New macro.
1540         (table::init_output): Define LEADER_REG string register if in
1541         compatibility mode.
1542
1543         * src/preproc/tbl/tbl.man: Document it.
1544
1545 2004-08-18  Werner LEMBERG  <wl@gnu.org>
1546
1547         * tmac/doc.tmac (An): Fix error message.
1548
1549 2004-08-06  Werner LEMBERG  <wl@gnu.org>
1550
1551         * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
1552         file can't be opened.  UNIX tbl has the same behaviour.
1553
1554 2004-08-05  Y T  <doarhop@hotmail.com>
1555
1556         * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
1557         (DBRead): If in compatibility mode, take into account the text
1558         when computing figure boundaries.
1559
1560 2004-08-05  Werner LEMBERG  <wl@gnu.org>
1561
1562         * src/preproc/soelim/soelim.man: Improved.  Based on suggestions
1563         from Tadziu Hoffmann.
1564
1565 2004-08-03  Werner LEMBERG  <wl@gnu.org>
1566
1567         * doc/meref.me: Document `_M' register.
1568
1569 2004-08-03  Martin Husemann  <martin@duskware.de>
1570
1571         Make hpftodit work correctly on big-endian systems.
1572
1573         * src/utils/hpftodit/hpftodit.cpp (File): New method
1574         `get_uint32(char *)'.
1575         (entry): New member `orig_value'.
1576         (read_tags): Use new method.
1577         (output_font_name, read_and_output_pcltypeface, dump_ascii):
1578         Updated.
1579
1580 2004-08-01  Werner LEMBERG  <wl@gnu.org>
1581
1582         * tmac/s.tmac: Undo change 2003-06-29.  The proper macro definitions
1583         are already in X11's `macros.t' file.
1584
1585 2004-08-01  Jeff Conrad  <jeff_conrad@msn.com>
1586
1587         * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
1588         Fix casting bug.
1589         (read_and_output_pcltypeface): Handle strings with length <= 4.
1590
1591 2004-07-27  Egil Kvaleberg  <egil@kvaleberg.no>
1592
1593         * tmac/s.tmac (pg@top): Don't save `PO' register.
1594         (pg*end-col, pg*end-page): Directly use `PO' register.
1595
1596 2004-07-27  Werner LEMBERG  <wl@gnu.org>
1597
1598         * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
1599
1600         * src/preproc/refer/refer.cpp (output_references): Check for
1601         empty hash table.
1602         * src/preproc/refer/refer.man: Improve documentation of
1603         `bibliography' command.
1604
1605 2004-07-26  Werner LEMBERG  <wl@gnu.org>
1606
1607         Add requests `fcolor' and `gcolor'.
1608
1609         * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
1610         New functions.
1611         (init_env_requests): Add `fcolor' and `gcolor'.
1612
1613         * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
1614
1615         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
1616         (Colors): Document new requests.
1617
1618 2004-07-24  Werner LEMBERG  <wl@gnu.org>
1619
1620         Add support for fractional point sizes in ms macros.  A value for
1621         PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
1622         by 1000.  For example, `.nr PS 10250' sets the font size to 10.25p.
1623
1624         * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
1625         PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
1626
1627         * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
1628         Registers), NEWS: Document it.
1629
1630 2004-07-19  Werner LEMBERG  <wl@gnu.org>
1631
1632         * src/preproc/pic/lex.cpp (for_input): Add member `from'.
1633         Update constructor.
1634         (do_for, for_input::get, for_input::peek): Handle negative `by'.
1635         * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
1636
1637 2004-07-08  Thomas Klausner  <wiz@netbsd.org>
1638
1639         * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
1640         * tmac/groff_mdoc.man: Updated.
1641
1642 2004-07-05  Werner LEMBERG  <wl@gnu.org>
1643
1644         * doc/groff.texinfo (Manipulating Hyphenation): Further improve
1645         documentation of `hcode'.
1646
1647 2004-07-04  Sang Dae Yu  <sdyu@bh.knu.ac.kr>
1648
1649         Improve appearance of arrows in pic.
1650
1651         * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
1652         arrow head thin.
1653         Use two line segments for drawing non-filled arrow head.
1654         (line_object::print, spline_object::print): Shorten line length to
1655         avoid arrow sticking.
1656         (arc_object::print): Take arrow direction into account.
1657
1658 2004-07-03  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
1659
1660         * tmac/groff_www.man: Update documentation of .MPIMG.
1661
1662 2004-07-03  Werner LEMBERG  <wl@gnu.org>
1663
1664         * tmac/an-old.tmac (RI): Always start with font `R'.
1665         (RI, IR): Properly end with font `R'.
1666
1667 2004-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1668
1669         * man/ditroff.man, man/groff_font.man, man/groff_out.man,
1670         src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
1671         src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
1672         Don't pass more than six arguments to .R, .I, .B, etc., for
1673         compatibility with traditional troff macros.
1674
1675 2004-07-02  Werner LEMBERG  <wl@gnu.org>
1676
1677         * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
1678         s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
1679         Update all users.
1680         (PUSH_COMP_MODE): New internal character constant.
1681         Update all users.
1682
1683         * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
1684         PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
1685         (token::next, macro::append): Handle PUSH_COMP_MODE.
1686         (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
1687         POP_GROFFCOMP after each of the decoded arguments to make them
1688         independent from the compatibility mode status.
1689         (comp_mode): Add `COMP_ENABLE'.
1690         (do_define_string, do_define_macro): Handle COMP_ENABLE.
1691         (define_string, append_string, define_macro, define_indirect_macro,
1692         append_macro, append_indirect_macro): Handle `compatible_flag'.
1693         (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
1694
1695         * man/groff_diff.man, doc/groff.texinfo: Updated.
1696
1697 2004-07-01  Werner LEMBERG  <wl@gnu.org>
1698
1699         * doc/groff.texinfo: Improve documentation of `hcode'.
1700         Use @documentencoding and convert document to latin-1; to do that
1701         make latin characters active and assign proper macros (within a
1702         @tex...@end tex environment).
1703         * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
1704         * doc/Makefile.sub (groff): Ditto.
1705
1706 2004-06-29  Werner LEMBERG  <wl@gnu.org>
1707
1708         Implement two new conditional operators `F <name>' and `S <name>'
1709         which check whether <name> is a valid font or style, respectively.
1710
1711         * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
1712         (text_file::text_file): Updated.
1713         (text_file::error): Don't emit message if `silent' is set.
1714         (font::load_font): Add optional third argument (which is directly
1715         passed to `load'.
1716         (font::load): Add optional second argument to check the header of
1717         a font only, without emitting warning or error messages.
1718         * src/include/font.h (font): Updated.
1719
1720         * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
1721         conditionals.
1722         * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
1723         fourth argument to check a font without mounting.
1724         (check_font, check_style): New functions.
1725         * src/roff/troff/node.h: Updated.
1726
1727         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1728         Updated.
1729
1730 2004-06-27  Werner LEMBERG  <wl@gnu.org>
1731
1732         Implement new string-valued register `.sty' to return the current
1733         style name.
1734
1735         * env.cpp (environment::get_style_name_string): New function.
1736         (init_env_requests): Add `.sty' register.
1737         * env.h (environment): Updated.
1738         * node.cpp (font_info): Make `get_style_name' a friend.
1739         (get_style_name): New function.
1740         * node.h: Updated.
1741
1742         * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1743         Updated.
1744
1745 2004-06-15  Werner LEMBERG  <wl@gnu.org>
1746
1747         * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
1748         `nospaces' option.
1749
1750 2004-06-10  Colin Percival  <colin.percival@wadham.ox.ac.uk>
1751
1752         * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
1753         and \n[mo] to avoid dependency on current date.
1754
1755 2004-06-08  Werner LEMBERG  <wl@gnu.org>
1756
1757         * Makefile.sub (install_data): New target.
1758
1759 2004-06-04  Werner LEMBERG  <wl@gnu.org>
1760
1761         * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
1762
1763 2004-06-03  Werner LEMBERG  <wl@gnu.org>
1764
1765         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
1766         order of libraries.
1767         (install_data): Add $(srcdir).
1768
1769         * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
1770         libraries.
1771
1772 2004-06-02  Werner LEMBERG  <wl@gnu.org>
1773
1774         * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
1775         Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
1776         Add test for Xmu library.
1777         (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
1778         GROFF_APPRESDIR_DEFAULT): New macros.
1779
1780         * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
1781         and GROFF_APPRESDIR_DEFAULT.
1782
1783         * configure: Regenerated.
1784
1785         * Makefile.in (appresdir): New variable.
1786         (MDEFINES): Add appresdir.
1787
1788         * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
1789         -Xt.
1790         (install_data, uninstall_sub): New targets to handle GXditview.ad.
1791
1792         * src/utils/indxbib/Makefiles.ub (install_data): Depend on
1793         `$(srcdir)/eign', not `eign'.
1794
1795         * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
1796
1797         * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
1798         src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
1799         Protect (g)xditview with `\%' to avoid hyphenation.
1800         Other minor formatting.
1801
1802 2004-06-01  Werner LEMBERG  <wl@gnu.org>
1803
1804         Integrate gxditview into groff's standard directory hierarchy.
1805
1806         * src/xditview/*: Moved to ...
1807         * src/devices/xditview/*: Here.
1808         Moved DviChar.h and XFontName.h to src/include.
1809         Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
1810         Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
1811         Moved xtotroff.c to new directory src/utils/xtotroff.
1812         Provide proper Makefile.sub files (reusing the stuff from
1813         Imakefile.in).
1814         DESC renamed to DESC.in.
1815         Removed GXDitview-ad.h, INSTALL, Imakefile.in.
1816         Converted everything from K&R to ANSI C.
1817         Decorated with const where appropriate.
1818         Cast string constants with `String' and `char *' where appropriate.
1819         Made it compile with C++ (used as a C compiler).
1820         Removed other minor compiler warnings.
1821
1822         * src/devices/xditview/device.c: Include config.h, string.h, and
1823         defs.h.
1824         Don't declare `exit', `strtok', `strchr', and `getenv'.
1825         (FONTPATH): Remove.
1826
1827         * src/devices/xditview/font.c: Don't declare `XParseFontName' and
1828         `XFormatFontName'.
1829
1830         * src/devices/xditview/xditview.c: Include config.h.
1831         Include stdio.h earlier.
1832         Protect declaration of `popen' and `pclose' with
1833         NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
1834         Replace `caddr_t' with `XtPointer'.
1835         (MakePromptFunc): New typedef.
1836         (DoPrint): Use RETSIGTYPE.
1837         (promptfunction): Change type to MakePromptFunc.
1838         (MakePrompt): Use MakePromptFunc for third argument.
1839         (xmalloc): Removed.
1840
1841         * src/devices/xditview/ad2c: Add casts to `String'.
1842
1843         * src/include/XFontName.h (XFontNameString): Don't use array
1844         notation.
1845         Add prototypes for `XParseFontName', `XFormatFontName',
1846         `XCompareFontName', and `XCopyFontName'.
1847
1848         * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
1849         `XFontName.h'.
1850
1851         * src/utils/xtotroff/xtotroff.c: Include getopt.h.
1852         Don't declare `XParseFontName' and `XFormatFontName'.
1853         (xmalloc): Removed.
1854         (main): Remove `optind' and `optarg'.
1855
1856         * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
1857         (to select programs which need X).
1858         Make XDEVIDIRS depend on `FORCE'.
1859         (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
1860         X support).
1861         (MDEFINES): Updated.
1862         (LIBDIRS): Use XLIBDIRS.
1863         (CPROGDIRS): Use XPROGDIRS.
1864         (DEVDIRS): Remove font directories for gxditview.
1865         (ALLDIRS, DISTDIRS): Add XDEVDIRS.
1866         (EXTRADIRS): Remove src/xditview.
1867
1868         * Makefile.sub (DISCLEANFILES): Updated.
1869
1870         * Makefile.comm (LIBXUTIL): New variable.
1871         (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
1872         (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
1873
1874         * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
1875
1876         * aclocal.m4 (GROFF_X11): New function.
1877
1878         * configure.ac: Call GROFF_X11.
1879         Don't create src/xditview/Imakefile.
1880         Don't emit notice how to build gxditview.
1881
1882         * configure: Regenerated.
1883
1884         * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
1885
1886 2004-05-28  Akihiro Sagawa  <sagawa@sohgoh.net>
1887
1888         * Makefile.in (CPPFLAGS): Define.
1889         (MDEFINES): Add CPPFLAGS.
1890
1891 2004-05-27  Werner LEMBERG  <wl@gnu.org>
1892
1893         * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
1894
1895 2004-05-26  Niklas Edmundsson  <nikke@acc.umu.se>
1896
1897         Fix problems with `friend name injections'.
1898
1899         * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
1900         make_script_box), src/roff/troff/div.h (end_diversions),
1901         src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
1902         change 2004-04-08.
1903
1904 2004-05-25  Bernd Warken  <bwarken@mayn.de>
1905
1906         * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
1907
1908 2004-05-25  Werner LEMBERG  <wl@gnu.org>
1909
1910         * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
1911         src/libs/libgroff/color.cpp: Include lib.h.
1912
1913 2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
1914
1915         * PROBLEMS: Update documentation for problems with Sun C++ 5.0
1916         through Forte 6u1, and for how to get GNU make on Solaris.
1917
1918 2004-05-24  Werner LEMBERG  <wl@gnu.org>
1919
1920         * PROBLEMS: Document problems with gcc 3.4.0 on Sun.  Reported
1921         by Paul Eggert.
1922
1923 2004-05-15  Keith Marshall  <keith.d.marshall@ntlworld.com>
1924
1925         * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
1926         rule.
1927
1928 2004-05-14  Werner LEMBERG  <wl@gnu.org>
1929
1930         * REVISION: Set to 2.
1931
1932         * aclocal.m4 (GROFF_STDINT_H): Removed.
1933         (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
1934
1935         * configure.ac: Updated.
1936         * configure, src/include/config.hin: Regenerated.
1937
1938         * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
1939         inttypes.h conditionally.
1940
1941 2004-05-13  Werner LEMBERG  <wl@gnu.org>
1942
1943 Version 1.19.1 released
1944 =======================
1945
1946 2004-05-10  Stephen Gildea  <http://www.gildea.com/stephen>
1947
1948         * src/preproc/refer/label.y (same_author_last_name,
1949         same_author_name): Handle empty sort keys.
1950
1951 2004-05-10  Werner LEMBERG  <wl@gnu.org>
1952
1953         * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
1954         tmac/TODO: Updated.
1955
1956         * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
1957         doc-str-Lb-librt): Reset font.
1958         (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
1959         Provide `doc-str-Lb' to reset font.
1960         * tmac/groff_mdoc.man: Updated.
1961
1962 2004-05-08  Jan Schaumann  <jschauma@netmeister.org>
1963
1964         * src/preproc/html/pre-html.cpp (make_message): Make it work for
1965         snprintf versions which don't conform to ANSI C 99 (this is,
1966         counting the string's trailing null byte in the return value).
1967
1968 2004-05-07  Keith Marshall  <keith.d.marshall@ntlworld.com>
1969
1970         * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
1971         that all implementations of sprintf handle null pointers correctly.
1972
1973 2004-05-04  Werner LEMBERG  <wl@gnu.org>
1974
1975         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
1976         Document `.U' register.
1977
1978         * src/roff/troff/env.cpp (environment::mark_last_line)
1979         [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
1980
1981 2004-05-04  Larry Kollar  <kollar@alltel.net>
1982
1983         New read-only register `.U'; it returns 1 in safer mode and 0
1984         otherwise.
1985
1986         * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
1987         register.
1988
1989 2004-05-03  Werner LEMBERG  <wl@gnu.org>
1990
1991         * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1992
1993 2004-04-17  Werner LEMBERG  <wl@gnu.org>
1994
1995         * src/include/font.h (font): Use `int' for ch_index.
1996         * src/libs/libgroff/font.cpp (font::alloc_ch_index,
1997         font::compact): Updated.
1998
1999         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
2000         warnings.
2001
2002         * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
2003         (hyphen_word): Fix compiler warnings.
2004         * src/roff/troff/input.cpp (get_char_for_escape_name): Return
2005         `char'.
2006         Update all callers.
2007         (get_delim_number, get_line_arg): Change second argument type to
2008         `unsigned char'.
2009         (macro_header::copy, token::next, do_define_string,
2010         do_define_character, substring_request, asciify_macro,
2011         unformat_macro, read_size, non_interpreted_node::interpret,
2012         while_request, main: Fix compiler warnings.
2013         (read_color_draw_node): Initialize `col'.
2014
2015         * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
2016         `start_col' and `end_col' of type `int'.
2017         (vertical_rule): Make `col' of type `int'.
2018
2019         * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
2020         for EOF.
2021
2022         * src/preproc/refer/label.y (uppercase_array, lowercase_array):
2023         New arrays.
2024         (format_serial): Use them to remove dependency on ASCII.
2025
2026         * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
2027         compiler warning.
2028         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
2029         Ditto.
2030
2031         * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
2032         compiler warnings.
2033         (glyph): Change type of `hpos' to `int'.
2034
2035         * src/devices/lbp/lbp.cpp (strsep): Removed.  Unused.
2036         * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
2037
2038         * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
2039
2040         * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
2041
2042 2004-04-16  Werner LEMBERG  <wl@gnu.org>
2043
2044         * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
2045         src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
2046         src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
2047         `double' instead of `float' everywhere.
2048         * src/preproc/grn/main.cpp: Use `double' instead of `float'
2049         everywhere.
2050         (main): Add return value.
2051         * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
2052         everywhere.
2053         Update all user functions.
2054
2055         * src/include/search.h, src/include/ptable.h, src/include/printer.h,
2056         src/preproc/eqn/box.h, src/preproc/pic/object.h,
2057         src/preproc/refer/refer.h, src/preproc/tbl/table.h,
2058         src/preproc/tbl/table.cpp, src/roff/troff/env.h,
2059         src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
2060         src/roff/troff/input.cpp, src/roff/troff/request.h,
2061         src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
2062         declarations.
2063
2064         * src/utils/indxbib/signal.c: Include stdlib.h.
2065
2066 2004-04-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
2067
2068         * tmac/s.tmac (@init, RP): Allow initialization of the PO register
2069         before the first page.
2070
2071 2004-04-14  Thomas Klausner  <wiz@netbsd.org>
2072
2073         * tmac/doc-common (doc-volume-as-*): Use lowercase names.
2074         (doc-operating-system-*): Updated.
2075         * tmac/doc-syms (doc-str-St-*): Various small fixes.
2076         (doc-str-Lb-*): Add more library names.
2077
2078 2004-04-10  Art Haas  <ahaas@airmail.net>
2079
2080         * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
2081         use anonymous type.
2082
2083 2004-04-09  Art Haas  <ahaas@airmail.net>
2084
2085         * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
2086
2087 2004-04-09  Keith Marshall  <keith.d.marshall@ntlworld.com>
2088
2089         * arch/misc/shdeps.sh: Generate better comment for sed script.
2090
2091 2004-04-08  Art Haas  <ahaas@airmail.net>
2092
2093         * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
2094         src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
2095         src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
2096         src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
2097         (polyfill), src/preproc/grn/main.cpp (polyfill),
2098         src/preproc/refer/command.cpp (command_table),
2099         src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
2100         gcc 3.5 doesn't like).
2101
2102 2004-04-08  Werner LEMBERG  <wl@gnu.org>
2103
2104         Removing many compiler warnings.  groff should now compile with
2105         a C++ compiler used for C files also.  [Simple variable renamings
2106         to avoid shadowing aren't logged in detail.]
2107
2108         * src/devices/grodvi/dvi.cpp: Some local variable renamings.
2109         (draw_dvi_printer::draw) ['c']: Enclose in block.
2110
2111         * src/devices/grohtml/post-html.cpp: Some local variable renamings.
2112         (page::add_line): Fix typos.
2113         * src/devices/grohtml/html-text.cpp: Some local variable renamings.
2114
2115         * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
2116         Some local variable renamings.
2117         * src/devices/grolbp/lbp.h: Some local variable renamings.
2118
2119         * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
2120         variable renamings.
2121
2122         * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
2123         Remove redundant local variable declaration.
2124         * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
2125         Don't use `caddr_t' but `void *'.
2126         Enclose functions with `extern "C"' for C++.
2127
2128         * src/libs/libdriver/input.cpp (remember_filename,
2129         remember_source_filename): Use cast for string constant.
2130
2131         * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
2132         src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
2133         src/libs/libgroff/geometry.cpp: Some local variable renamings.
2134         * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
2135         style.
2136         Enclose functions with `extern "C"' for C++.
2137         * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
2138         (needs_quoting): Return `int'.
2139         (quote_arg): Add proper casts to malloc and realloc.
2140         * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
2141         various MS Windows environments.
2142         (spawnvp_wrapper): Add proper cast to malloc.
2143
2144         * src/preproc/eqn/box.h: Remove redundant declarations of
2145         `make_script_box', `make_mark_box' and `make_lineup_box'.
2146         * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
2147         * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
2148         variable renamings.
2149
2150         * src/preproc/grn/hpoint.cpp: Some local variable renamings.
2151         * src/preproc/grn/hgraph.cpp: Some local variable renamings.
2152         (dx, dy): Renamed functions to...
2153         (deltax, deltay): This.
2154         * src/preproc/grn/main.cpp: Some local variable renamings.
2155         (deffont): Add `const'.
2156         (initpic, conv): Use cast for string constant.
2157
2158         * src/preproc/html/pre-html.cpp: Some local variable renamings.
2159         (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
2160         (char_buffer::run_output_filter): Second argument is unused.
2161         * src/preproc/html/pushback.cpp: Some local variable renamings.
2162
2163         * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
2164         * src/preproc/pic/object.cpp: Some local variable renamings.
2165
2166         * src/preproc/refer/label.y (lookup_label): Remove redundant
2167         declaration of local variable.
2168
2169         * src/preproc/soelim.cpp: Remove redundant declaration of
2170         `interpret_lf_args'.
2171
2172         * src/preproc/tbl/main.cpp: Some local variable renamings.
2173
2174         * src/roff/groff/groff.cpp (main): Use cast for string constant.
2175         * src/roff/groff/pipeline.c: Enclose declarations of `error',
2176         `c_fatal', and `i_to_a' with `extern "C"' for C++.
2177         Don't use C++-style comments.
2178
2179         * src/roff/troff/env.h: Remove redundant declaration of `title'.
2180         * src/roff/troff/node.h, src/roff/troff/env.cpp,
2181         src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
2182         renamings.
2183         * src/roff/troff/div.h: Remove redundant declaration of
2184         `end_diversions'.
2185         * src/roff/troff/troff.h: Remove redundant declaration of
2186         `cleanup_and_exit'
2187         * src/roff/troff/input.cpp: Remove redundant declaration of
2188         `handle_first_page_transition' and `process_input_stack'.
2189
2190         * src/utils/hpftodit.cpp: Some local variable renamings.
2191
2192         * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
2193         for C++.
2194         Don't define RETSIGTYPE.
2195         * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
2196
2197         * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
2198         (error): Use `const' in argument.
2199         (main): Remove redundant declaration of `optind'.
2200         Move declaration of `Version_string' to top-level.
2201
2202         * PROBLEMS: Document difficulties compiling signal.c if a C++
2203         compiler is used for C.
2204
2205 2004-04-07  Werner LEMBERG  <wl@gnu.org>
2206
2207         * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
2208
2209 2004-04-06  Keith Marshall  <keith.d.marshall@ntlworld.com>
2210
2211         Make scripts like nroff.sh and neqn.sh portable across various
2212         (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
2213         non-POSIX path separators.  The idea is to extend those scripts to
2214         decide at run-time (of the script) which path separator to use.
2215
2216         * arch/misc/Makefile.sub: New file.
2217         * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
2218         This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
2219         a proper definition of the variable `GROFF_RUNTIME'.
2220
2221         * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
2222         (MDEFINES): Add SH_DEPS_SED_SCRIPT.
2223         (PROGDEPDIRS): New variable.
2224         `FORCE' it.
2225         (PROGDIRS): Add PROGDEPDIRS.
2226
2227         * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
2228         Don't substitute @SEP@ and @BINDIR@.
2229         * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
2230         (PATH): Use GROFF_RUNTIME.
2231
2232         * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
2233         Don't substitute @SEP@ and @BINDIR@.
2234         * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
2235         (PATH): Use GROFF_RUNTIME.
2236
2237 2004-04-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
2238
2239         * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
2240         Cygwin which doesn't handle stderr correctly.
2241
2242 2004-03-08  Werner LEMBERG  <wl@gnu.org>
2243
2244         * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
2245         against empty argument.  Problem reported by <cgd@broadcom.com>.
2246
2247 2004-03-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
2248
2249         * Makefile.in (SEP): Replaced with...
2250         (RT_SEP, SH_SEP): Separators for the target platform's native path
2251         separator and the build environment, respectively.
2252         (fontpath, tmacpath): Use RT_SEP.
2253         (MDEFINES): Updated.
2254
2255         * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2256         * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
2257         * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
2258
2259 2004-03-05  Werner LEMBERG  <wl@gnu.org>
2260
2261         * font/devlj4/Makefile.sub (LJ4RES): Set to 1200.  This helps to
2262         reduce alignment problems with newer printers which use built-in
2263         TrueType fonts (instead of the older Intellifonts).  The ideal
2264         solution is to provide a second set of groff metric files, but this
2265         is extremely time-consuming to produce, given that HP's metric
2266         files are very rudimentary.
2267
2268 2004-03-01  Werner LEMBERG  <wl@gnu.org>
2269
2270         * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
2271         s/operand/argument/ in error message.
2272
2273 2004-03-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
2274
2275         * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
2276         is in use.
2277
2278 2004-03-01  Antti Kantee  <pooka@netbsd.org>
2279
2280         * tmac/s.tmac (XE): Fix error message.
2281
2282 2004-02-27  Jeff Conrad  <jeff_conrad@msn.com>
2283
2284         * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
2285         New macros.
2286
2287         * src/roff/groff/pipeline.c: Declare strcasecmp.
2288         (run_pipeline) [_WIN32]: Use function name variants which don't
2289         start with `_'.
2290         Fix stream handling.
2291
2292 2004-02-27  Keith Marshall  <keith.d.marshall@ntlworld.com>
2293
2294         * src/include/nonposix.h: Fix declaration of `system_shell_name'.
2295         Declare `spawnvp_wrapper' and macro definitions of spawnvp only
2296         for platforms which use the native Win32 runtime libraries.
2297         (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
2298
2299         * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
2300         QUOTE_ARG_REALLOC_ERROR): Fix string.
2301
2302         * src/preproc/html/pre-html.cpp: Remove declaration of
2303         `spawnvp_wrapper'.
2304         Don't use __MINGW32__.
2305         s/DEBUG_FILE/DEBUG_FILE_DIR/.
2306         (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
2307         (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
2308         (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
2309         calls to `set_redirection' and `WAIT'.
2310         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
2311         Fix calls to `set_redirection' and `save_and_redirect'.
2312         (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
2313         to `set_redirection' and `save_and_redirect'.
2314         (usage): Fix message.
2315         (makeTempFiles, main): Use `DEBUG_FILE'.
2316
2317 2004-02-21  Werner LEMBERG  <wl@gnu.org>
2318
2319         * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
2320
2321 2004-02-21  Keith Marshall  <keith.d.marshall@ntlworld.com>
2322
2323         * src/libs/libgroff/quotearg.c: New file, providing proper argument
2324         quoting for MSVC's spawn* and exec* functions.
2325         * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
2326         spawnvp with proper quoting for MSVC.
2327
2328         * src/libs/libgroff/assert.cpp (program_name),
2329         src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
2330         * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
2331
2332         * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
2333
2334         * src/include/error.h (program_name): Declare as `extern "C"'.
2335         * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
2336
2337 2004-02-21  Jeff Conrad  <jeff_conrad@msn.com>
2338
2339         * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
2340         spawnvp_wrapper.
2341         [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
2342
2343 2004-02-20  Jeff Conrad  <jeff_conrad@msn.com>
2344
2345         * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
2346         variable.
2347         (sbasename) [__MSDOS__ || ...]: New function.
2348         (system_shell_name) [__MSDOS__ || ...]: Use a different, more
2349         generic algorithm.
2350         (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
2351         (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
2352         of XXX.
2353         Use STDOUT_FILENO instead of hardcoded file handle.
2354         (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
2355
2356 2004-02-19  Werner LEMBERG  <wl@gnu.org>
2357
2358         * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
2359         avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
2360
2361 2004-02-18  Werner LEMBERG  <wl@gnu.org>
2362
2363         * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
2364         new font and mapping files.
2365
2366 2004-02-18  Jeff Conrad  <jeff_conrad@msn.com>
2367             Keith Marshall  <keith.d.marshall@ntlworld.com>
2368
2369         * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
2370         an input pipe.  This is needed for the MSVC compiler to make troff's
2371         `-o' option work.
2372
2373         * src/roff/troff/div.cpp: Include nonposix.h.
2374         (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
2375
2376 2004-02-17  Werner LEMBERG  <wl@gnu.org>
2377
2378         * font/devlj4/generate/special.awk: New script.
2379         * font/devlj4/generate/Makefile (S): Use special.awk.
2380         * font/devlj4/*: Regenerated, including the following new files:
2381         Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
2382         MS Symbol (SYMBOL), Wingdings (WINGDINGS).
2383         * NEWS: Document new lj4 fonts and revised hpftodit.
2384
2385 2004-02-17  Paco Andrés Verdú  <pandres@dragonet.es>
2386
2387         * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
2388
2389 2004-01-25  Werner LEMBERG  <wl@gnu.org>
2390
2391         * src/libs/libgroff/progname.cpp: Replaced with...
2392         * src/libs/libgroff/progname.c: New file.
2393         * src/libs/libgroff/Makefile.sub: Updated accordingly.
2394
2395 2004-01-17  Werner LEMBERG  <wl@gnu.org>
2396
2397         * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
2398
2399 2004-01-16  Jeff Conrad  <jeff_conrad@msn.com>
2400
2401         * font/devlj4/generate/wingdings.map,
2402         font/devlj4/generate/symbol.map: Include unnamed glyphs.
2403         Use groff glyph names where possible.
2404         * src/devices/grolj4/lj4_font.man: Minor updates.
2405
2406 2004-01-13  Werner LEMBERG  <wl@gnu.org>
2407
2408         * tmac/www.tmac (DC): Handle TTY devices.
2409
2410         * doc/webpage.ms: Document viewCVS from ffii.org.
2411         * NEWS, README: Updated.
2412
2413         * src/roff/groff/groff.man: Mention lj4_font man page.
2414
2415         * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
2416         variables.
2417         (FONTS): Add SYMBOL and WINGDINGS.
2418         (SYMBOL, WINGDINGS): New targets.
2419
2420 2004-01-13  Jeff Conrad  <jeff_conrad@msn.com>
2421
2422         * src/devices/grolj4/lj4_font.man: New man page.
2423         * src/devices/grolj4/Makefile.sub (MAN5): New variable.
2424         * src/devices/grolj4.man: Mention lj4_font man page.
2425
2426         * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
2427         * src/utils/hpftodit/hpftodit.man: Document it.
2428         (CW): New macro.
2429         Remove details about fonts (which are now in lj4_font.man).
2430
2431         * font/devlj4/generate/symbol.map,
2432         font/devlj4/generate/wingdings.map: New files.
2433
2434 2004-01-12  Werner LEMBERG  <wl@gnu.org>
2435
2436         * README: Mention ffii's viewcvs access.
2437
2438 2004-01-09  Werner LEMBERG  <wl@gnu.org>
2439
2440         * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
2441
2442 2004-01-09  Jeff Conrad  <jeff_conrad@msn.com>
2443
2444         Revert most of the change from 2004-01-03 to better control used
2445         symbol sets.
2446
2447         * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
2448         (text_symbol_sets, special_symbol_sets): New arrays.
2449         (symbol_set_table): New global variable.
2450         (read_symbol_sets): Use search order given in the text_symbol_sets
2451         and special_symbol_sets arrays.  If command line flag -a is not
2452         given, search both arrays.
2453         (output_charset): Require x_height_tag only for command line flag -i.
2454
2455 2004-01-06  Werner LEMBERG  <wl@gnu.org>
2456
2457         Implement string-valued registers \n[.m] and \n[.M] to return the
2458         name of the current drawing and background color, respectively.
2459
2460         * src/roff/troff/symbol.h: Moved to...
2461         * src/include/symbol.h: Here.
2462         Small fixes to make it work outside of the `troff' directory.
2463         * src/roff/troff/symbol.cpp: Moved to...
2464         * src/libs/libgroff/symbol.cpp: Here.
2465         Small fixes to make it work outside of the `troff' directory.
2466
2467         * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
2468         (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
2469         Updated.
2470
2471         * src/include/color.h: Include symbol.h.
2472         (color): Add new field `nm'.
2473         * src/libs/libgroff/color.cpp (color::color): Updated.
2474
2475         * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
2476         src/roff/troff/node.cpp, src/roff/troff/number.cpp,
2477         src/roff/troff/reg.cpp: Don't include symbol.h.
2478
2479         * src/roff/troff/env.cpp: Don't include symbol.h.
2480         (environment::get_glyph_color_string,
2481         environment_get_fill_color_string): New member functions.
2482         (init_env_requests): Handle `.m' and `.M' registers.
2483         * src/roff/troff/input.cpp: Don't include symbol.h.
2484         (default_symbol): Moved to symbol.cpp/symbol.h.
2485         (do_glyph_color, do_fill_color, define_color): Pass symbol name
2486         to color constructor.
2487         * src/roff/troff/env.h: Updated.
2488
2489         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2490         Document new registers.
2491
2492 2004-01-05  Werner LEMBERG  <wl@gnu.org>
2493
2494         * src/roff/troff/node.cpp (space_node::get_breakpoints,
2495         space_node::nbreaks): Protect against zero `next' field.
2496
2497 2004-01-03  Jeff Conrad  <jeff_conrad@msn.com>
2498
2499         In hpftodit, use the symbol sets offered in the TFM.
2500
2501         * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
2502         (symbol_set, text_symbol_sets, special_symbol_sets,
2503         symbol_set_table): Removed.
2504         (get_printcode): Removed.
2505         (read_symbol_sets): Initialize `symbol_set' field with
2506         `NO_SYMBOL_SET'.
2507         Simplify code to just use the `kind' value.
2508         (output_charset): Improve output formatting.
2509         (dump_symbols): Simplified.
2510
2511 2004-01-02  Werner LEMBERG  <wl@gnu.org>
2512
2513         * font/devlj4/generate/text.map: Add more MSL numbers.
2514
2515 2004-01-02  Jeff Conrad  <jeff_conrad@msn.com>
2516
2517         * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
2518         (text_symbol_sets): Add more symbol sets.
2519         (debug_flag): New static variable (moved from `main').
2520         (get_printcode, show_symset): New functions.
2521         (main): Remove `debug_flag'.
2522         (output_charset): Use `show_symset'.
2523         (dump_symbols): Use `show_symset'.
2524         Print symsets for all glyphs.
2525         (read_map): Actually call `unicode_to_ucode_make' but this time
2526         correctly.
2527
2528 2004-01-01  Werner LEMBERG  <wl@gnu.org>
2529
2530         * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
2531         Fix placement of comments.
2532
2533 2004-01-01  Jeff Conrad  <jeff_conrad@msn.com>
2534
2535         * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
2536         option `-d' is given.
2537         (output_charset): Improve warning messages to give more information.
2538         (dump_symbols): Make information more precise.
2539         (usage): Updated.
2540         (read_map): Don't call unicode_to_ucode_name; the glyph names must
2541         appear as-is and shouldn't be decomposed.
2542
2543 2003-12-31  Werner LEMBERG  <wl@gnu.org>
2544
2545         * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
2546         * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
2547         (FONTS): Add TrueType font families Arial and Times New Roman.
2548         (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
2549         * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
2550         `fl'.
2551
2552 2003-12-31  Jeff Conrad  <jeff_conrad@msn.com>
2553
2554         * test-groff.in (SEP): Quote value.
2555         * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
2556         `tem' to `char*' to avoid deallocation of a pointer to a constant
2557         object which some compilers don't like.
2558
2559 2003-12-31  Werner LEMBERG  <wl@gnu.org>
2560
2561         * font/devlj4/generate (text.map, special.map): Rewritten to work
2562         with the new hpftodit version.
2563
2564 2003-12-30  Jeff Conrad  <jeff_conrad@msn.com>
2565
2566         * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
2567         set and 8bit character code for all glyphs also.
2568
2569 2003-12-30  Werner LEMBERG  <wl@gnu.org>
2570
2571         * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
2572
2573 2003-12-29  Werner LEMBERG  <wl@gnu.org>
2574
2575         More fixes for MSVC compiler.
2576
2577         * doc/Makefile.sub (GROFF_BIN_PATH): Use $(SEP).
2578
2579         * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
2580         STDERR_FILENO) [_MSC_VER]: Define conditionally.
2581         (getpid) [_MSC_VER]: Remove.
2582         Include direct.h and process.h conditionally.
2583
2584         * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
2585         parentheses for a_delete.
2586
2587         * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
2588
2589         * test-groff: Replaced with...
2590         * test-groff.in: This new template to handle path separator
2591         properly.
2592
2593         * configure.ac: Check for direct.h and process.h.
2594         Generate test-groff script.
2595         * configure, src/include/config.hin: Regenerated.
2596
2597 2003-12-28  Werner LEMBERG  <wl@gnu.org>
2598
2599         Add integral extension glyph.
2600         Add new option `-x' to afmtodit to suppress use of built-in AGL.
2601
2602         * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
2603
2604         * font/devps/generate/textmap: Provide entry for `integralex' to
2605         override (old) PUA value of the AGL.
2606         * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
2607         * font/devps/*: Regenerated.
2608
2609         * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
2610         * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
2611
2612 2003-12-27  Werner LEMBERG  <wl@gnu.org>
2613
2614         Add forgotten `coproduct' symbol (already available for DVI).
2615
2616         * font/devhtml/R.proto, font/devps/generate/textmap,
2617         font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
2618         src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
2619         U+2210 (\[coproduct]).
2620
2621 2003-12-26  Jeff Conrad  <jeff_conrad@msn.com>
2622
2623         hpftodit has been extended to handle TrueType metric files and
2624         more glyphs.  See hpftodit.man for more details.
2625
2626         * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
2627         ctype.h, and unicode.h.
2628         s/msl/charcode/ everywhere since we now handle Unicode values also.
2629         (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
2630         Use it where appropriate.
2631         (MULTIPLIER): Replaced with...
2632         (multiplier): New global static variable.
2633         (scale): Updated.
2634         (tag_type): Add more TFM tags.
2635         (tag_name): New array.
2636         (ENUM_TYPE, FLOAT_TYPE): Removed.
2637         (BYTE_TYPE): New value assigned.
2638         (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
2639         (text_symbol_sets, special_symbol_sets): Extended to cover more
2640         sets.
2641         (check_type): Add return value.
2642         (check_units): Add parameters to get ppi and upem values.
2643         Handle TrueType TFM data.
2644         (output_font_name): New function.
2645         (output_charset): Add parameter to handle TFM type.
2646         Handle TrueType TFMs also.
2647         (em_fract): New macro.
2648         (dump_tags): Be much more verbose and handle more tags.
2649         (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
2650         (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
2651         functions.
2652         (read_map): Add parameter to handle TFM type.
2653         Handle both MSL and Unicode mappings.
2654         (main): Add two new command line options `-a' and `-q'.
2655         Updated to make use of new functions.
2656         (usage): Updated.
2657
2658         * src/utils/hpftodit/hpuni.cpp: New file.
2659
2660         * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
2661         Updated.
2662
2663 2003-12-25  Werner LEMBERG  <wl@gnu.org>
2664
2665         * src/include/nonposix.h (read) [_MSC_VER]: Define.
2666
2667 2003-12-24  Werner LEMBERG  <wl@gnu.org>
2668
2669         * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
2670         by Michail Vidiassov <master@iaas.msu.ru>.
2671
2672 2003-12-20  Werner LEMBERG  <wl@gnu.org>
2673
2674         * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
2675         and u0049_0307.
2676         Add missing latin-2 glyphs.
2677         * font/devutf8/R.proto: Add missing latin-2 glyphs.
2678
2679         * tmac/troffrc: Load `composite.tmac' earlier.
2680
2681         * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
2682         u00{53,73}_0327, and u0049_0307.
2683         * tmac/X.tmac: Add u00{47,67}_0306.
2684         * tmac/tty-char.tmac: Use composite glyph names for readability.
2685
2686         * NEWS: Updated.
2687
2688         * src/include/unicode.h: Remove `extern' keywords.
2689
2690 2003-12-20  Nilgün Belma Bugüner  <nilgun@superonline.com>
2691
2692         * tmac/latin5.tmac: New file.
2693
2694 2003-12-19  Werner LEMBERG  <wl@gnu.org>
2695
2696         Add some glyphs needed for Turkish.
2697
2698         * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
2699         and u0049_0307.
2700
2701         * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
2702         * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
2703         u00{53,73}_0327, and u0049_0307.
2704
2705 2003-12-18  Werner LEMBERG  <wl@gnu.org>
2706
2707         * src/devices/grops/ps.cc (ps_output::put_float): Revert change
2708         from 2001-10-04.
2709         Remove trailing zeros.
2710
2711 2003-12-17  Werner LEMBERG  <wl@gnu.org>
2712
2713         Make \? transparent to end-of-sentence recognition.
2714
2715         * src/roff/troff/input.cc (non_interpreted_node): Add
2716         `ends_sentence' member function.
2717
2718 2003-12-16  Werner LEMBERG  <wl@gnu.org>
2719
2720         * doc/groff.texinfo: Document `dt' request correctly.
2721         Other minor typographical improvements.
2722
2723 2003-12-10  Michail Vidiassov  <master@iaas.msu.ru>
2724
2725         * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
2726
2727 2003-12-10  Richard Stallman  <rms@gnu.org>
2728
2729         * LICENSE: Better wording.
2730
2731 2003-12-09  Werner LEMBERG  <wl@gnu.org>
2732
2733         * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
2734         * configure, NEWS: Updated.
2735
2736 2003-12-08  Werner LEMBERG  <wl@gnu.org>
2737
2738         * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
2739
2740 2003-12-07  Bernd Warken  <bwarken@mayn.de>
2741
2742         * LICENSE: Updated.
2743
2744 2003-12-07  Werner LEMBERG  <wl@gnu.org>
2745
2746         * INSTALL: Improved.
2747
2748 2003-12-05  Keith Marshall  <keith.d.marshall@ntlworld.com>
2749
2750         Use path separator character of target platform for compiled-in
2751         default paths.
2752
2753         * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
2754         * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
2755         * configure: Regenerated.
2756         * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
2757
2758 2003-12-05  Werner LEMBERG  <wl@gnu.org>
2759
2760         * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
2761         Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
2762
2763 2003-12-04  Bernd Warken  <bwarken@mayn.de>
2764
2765         * LICENSE: New file.
2766
2767 2003-12-03  Werner LEMBERG  <wl@gnu.org>
2768
2769         * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
2770         ligatures present in AFM files since groff currently only
2771         understands some standard ligatures and nothing else.
2772
2773 2003-12-03  Jeff Conrad  <jeff_conrad@msn.com>
2774
2775         * src/roff/groff/groff.cpp (main): Don't run the spooler if
2776         option -v is given.
2777
2778         * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
2779         messages.
2780         Close stdout copy.
2781         Don't use Unix wait flags.
2782
2783 2003-12-02  Werner LEMBERG  <wl@gnu.org>
2784
2785         * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
2786         src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
2787         src/roff/troff/uniuni.cpp: Moved to...
2788         * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
2789         src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
2790         src/libs/libgroff/uniuni.cpp: Here.
2791
2792         * src/include/Makefile.sub.old (HDRS),
2793         src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2794         src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
2795
2796 2003-12-01  Keith Marshall  <keith.d.marshall@ntlworld.com>
2797
2798         * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
2799         `DEBUG_FILE'.
2800         Updated all users.
2801
2802 2003-12-01  Werner LEMBERG  <wl@gnu.org>
2803
2804         * groff.texinfo: Document special behaviour of `.vs 0'.
2805         Improve documentation of `cflags' request.
2806         * NEWS: Updated.
2807
2808 2003-11-29  Werner LEMBERG  <wl@gnu.org>
2809
2810         * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
2811         * font/devlj4/CORONET: Regenerated.
2812
2813 2003-11-24  Werner LEMBERG  <wl@gnu.org>
2814
2815         * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
2816         if processing hyphenation patterns in traditional mode.
2817         Improve error messages.
2818
2819 2003-11-20  Werner LEMBERG  <wl@gnu.org>
2820
2821         * src/roff/troff/node.cpp (troff_output_file::put_char_width,
2822         troff_output_file::put_char): Fix type of local variable `c'.
2823
2824 2003-11-19  Werner LEMBERG  <wl@gnu.org>
2825
2826         * src/roff/groff/pipeline.c (P): Removed.  Updated all function
2827         declarations.
2828         (i_to_a): Removed.  libgroff already provides this function.
2829         (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
2830
2831 2003-11-18  Keith Marshall  <keith.d.marshall@ntlworld.com>
2832
2833         * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
2834         HAVE_DECL_SYS_LIST.
2835
2836 2003-11-17  Werner LEMBERG  <wl@gnu.org>
2837
2838         * COPYING: Use correct version.
2839
2840 2003-11-11  Werner LEMBERG  <wl@gnu.org>
2841
2842         LynxOS 4.0.0 doesn't declare vfprintf.
2843
2844         * configure.ac: Check for vfprintf.
2845         * configure: Regenerated.
2846         * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
2847         * src/include/config.hin: Regenerated.
2848
2849 2003-11-10  Werner LEMBERG  <wl@gnu.org>
2850
2851         LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
2852
2853         * configure.ac: Check for vsnprintf.
2854         * configure: Regenerated.
2855         * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
2856         `HAVE_VSNPRINTF'.
2857         * src/include/config.hin: Regenerated.
2858
2859 2003-11-09  Werner LEMBERG  <wl@gnu.org>
2860
2861         * aclocal.m4: Updated syntax to autoconf 2.59.
2862         (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
2863         Don't check for gsos2.
2864         (GROFF_SRCDIR, GROFF_BUILDDIR): Removed.  autoconf 2.59 provides
2865         working abs_top_srcdir and abs_top_builddir.
2866
2867         * configure.ac: Updated syntax to autoconf 2.59.
2868         Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
2869         Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
2870         * configure: Regenerated.
2871
2872         * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
2873         s/@groff_top_builddir@/@abs_top_builddir@/.
2874
2875         * src/roff/groff/pipeline.c (xstrsignal):
2876         s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
2877
2878 2003-11-07  Werner LEMBERG  <wl@gnu.org>
2879
2880         * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
2881         make start angle smaller than end angle to circumvent a bug in tpic
2882         handling of some versions of dvipdfm (and dvipdfmx).
2883
2884 2003-10-30  Werner LEMBERG  <wl@gnu.org>
2885
2886         * src/devices/grops/grops.man: Improve section on creating EPS.
2887
2888 2003-10-29  Werner LEMBERG  <wl@gnu.org>
2889
2890         * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
2891         -P-pletter).
2892
2893 2003-10-28  Werner LEMBERG  <wl@gnu.org>
2894
2895         * doc/groff.texinfo: Fix documentation of `.if'.
2896
2897 2003-10-27  Michail Vidiassov  <master@iaas.msu.ru>
2898
2899         * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
2900         the form `uniXXXX' also.
2901
2902 2003-10-27  Werner LEMBERG  <wl@gnu.org>
2903
2904         * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
2905         contrib/pic2graph/pic2graph.sh: Implement secure management of
2906         temporary files.
2907         Pass `-P-pletter' to groff to avoid data outside of the converted
2908         area -- some versions of `convert' (for example 5.3.8) don't check
2909         the bounding box of the image but always use a fixed image size
2910         (letter paper format).
2911         * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
2912         contrib/pic2graph/pic2graph.man: Updated.
2913
2914         * src/roff/groff/groff.man: Document $TMP and $TEMP.
2915
2916 2003-10-26  Werner LEMBERG  <wl@gnu.org>
2917
2918         * src/preproc/pic/troff.cpp (troff_output::simple_circle,
2919         troff_output::simple_ellipse, troff_output::simple_arc,
2920         troff_output::simple_line, troff_output::simple_spline,
2921         troff_output::simple_polygon): Insert a space before arguments.
2922         (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
2923         latter doesn't produce a node, so the following `.sp -1' would do
2924         the wrong thing.
2925         Don't emit `.sp -1' after \M.  This also doesn't produce a token
2926         (and we don't have to care about compatibility mode).
2927         (troff_output::set_color, troff_output::reset_color): Don't emit
2928         `.sp -1' after \M and \m.
2929
2930         * src/roff/troff/input.cpp (old_have_input): New global variable.
2931         (input_stack::get): Handle `old_have_input'.
2932         (process_input_stack) <token::TOKEN_NEWLINE>: Call
2933         `trapping_blank_line' depending on `old_have_input', not
2934         `have_input'.
2935
2936 2003-10-20  Keith Marshall  <keith.d.marshall@ntlworld.com>
2937
2938         * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
2939         (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
2940         default directory names for temporary files.
2941         [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
2942
2943         * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
2944         [__MSDOS__] (run_pipeline): Honour environment variables.
2945         Don't use `tmpnam' but `tempnam' to work around messy
2946         implementation.
2947
2948         * README.MinGW: New file.
2949
2950 2003-10-16  Werner LEMBERG  <wl@gnu.org>
2951
2952         * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
2953         `(*t)->next' without testing validity of `*t'.
2954         (usage): Make it more readable.
2955
2956 2003-10-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
2957
2958         Make html device run under both MS-DOS and Win32.
2959
2960         * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
2961         MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
2962         spawn or fork+exec has to be used, and whether parent must sleep
2963         until the child process terminates.  Used in
2964         `char_buffer::run_output_filter'.
2965         (copyofstdoutfd): Removed.
2966         (char_buffer): Replace `write_file_html' and `write_file_troff'
2967         member functions with `emit_troff_output' and `run_output_filter'.
2968         (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
2969         macros.
2970         (replaceFd): Replaced with...
2971         (set_redirection): New auxiliary function.
2972         (waitForChild): Replaced with...
2973         (save_and_redirect): New auxiliary function for.
2974
2975         (char_buffer::do_html, char_buffer::do_image): Simplified, using new
2976         functions.
2977
2978 2003-10-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
2979
2980         * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
2981         (GROFF_LIBC): New function.
2982         * configure.ac: Call GROFF_LIBC.
2983         Check for `kill'.
2984         * configure: Regenerated.
2985
2986         * src/include/lib.h: Handle __MINGW32__.
2987         * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
2988         Add macro for `pipe'.
2989         Define P_tmpdir.
2990
2991         * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
2992         correctly.
2993
2994         * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
2995         Implement.
2996
2997 2003-10-12  Werner LEMBERG  <wl@gnu.org>
2998
2999         * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
3000         src/roff/troff/input.cc (usage): Updated.
3001
3002         * NEWS, doc/groff.texinfo: Updated.
3003
3004 2003-10-12  Peter Miller  <millerp@canb.auug.org.au>
3005
3006         * src/libs/libgroff/searchpath.cpp
3007         (search_path::open_file_cautious): New function which also handles
3008         `-' as stdin and stdout depending on the access mode.
3009         * src/include/searchpath.h (search_path): Updated.
3010
3011         * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
3012         * src/devices/grops/ps.h: Include `searchpath.h'.
3013         * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3014         Open resource file with `include_search_path.open_file_cautious'.
3015         * src/devices/grops/grops.man: Document new `-I' switch.
3016
3017         * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
3018         (main), src/devices/grolj4/lj4.cpp (main),
3019         src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
3020
3021         * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
3022         Replaced with...
3023         (include_search_path): New global variable.
3024         (include_path_append): Removed.
3025         (main): Use `include_search_path.command_line_dir' to handle `-I'.
3026         (do_file): Simplify, using new
3027         `include_search_path.open_file_cautious'.
3028
3029         * src/roff/groff/groff.cpp (print_commands): Accept file handle as
3030         parameter.
3031         (main): Pass arguments to `-I' to both troff and devices.
3032         Improve handling of `-V'.
3033         * src/roff/groff/groff.man: Document changes to -I and -V.
3034
3035         * src/roff/troff/input.cpp (include_search_path): New global
3036         variable.
3037         (next_file, source, ps_bbox_request, transparent_file,
3038         process_input_file): Use new
3039         `include_search_path.open_file_cautious'.
3040         (main) Handle `-I' switch.
3041         * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
3042         Use new `include_search_path.open_file_cautious'.
3043         * src/roff/troff/node.h: New extern symbol `include_search_path'.
3044         * src/roff/troff/troff.man: Document new `-I' switch.
3045
3046 2003-09-15  Ruslan Ermilov  <ru@FreeBSD.org>
3047
3048         Support multiple calls of .Lb in LIBRARY section.
3049
3050         * tmac/doc-common (doc-in-library-section): New register.
3051         (doc-section-library): New string.
3052         (Sh): Set `doc-in-library-section'.
3053         (Rd): Updated.
3054         * tmac/doc-syms (Lb): Insert breaks before and after arguments
3055         if in LIBRARY section.
3056         * tmac/doc.tmac (doc-save-global-vars): Updated.
3057         * NEWS, tmac/groff_mdoc.man: Updated.
3058
3059 2003-09-14  Ruslan Ermilov  <ru@FreeBSD.org>
3060
3061         * tmac/doc-common (doc-default-operating-system): New variable.
3062         (Os): Use it.
3063
3064 2003-09-08  Werner LEMBERG  <wl@gnu.org>
3065
3066         * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
3067
3068 2003-08-31  Werner LEMBERG  <wl@gnu.org>
3069
3070         * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
3071         (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
3072         $(DEVFILES) are not empty.
3073         * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
3074
3075 2003-08-23  Stephen Gildea  <http://www.gildea.com/stephen>
3076
3077         * src/preproc/refer/ref.cpp (reference::compute_sort_key): Always
3078         insert SORT_SEP.  With certain combinations of sort specifications,
3079         refer sorted entries in the wrong order.  In particular, entries
3080         with a missing field should be be sorted before all entries that
3081         have that field, before refer looks to the next field.
3082
3083 2003-08-23  Werner LEMBERG  <wl@gnu.org>
3084
3085         * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
3086         g++ linker is used.  Reported by Mark J. Reed
3087         <mark.reed@turner.com>.
3088
3089 2003-08-16  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3090
3091         Add key character `x' to tbl which makes tbl call a user-defined
3092         macro on a table cell.
3093
3094         * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
3095         * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
3096         `set_modifier' after printing the compatibility request.
3097         (set_modifier): Print call to `m->macro' if not empty.
3098         * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
3099         `macro'.
3100         (process_format): Implement cases `x' and `X'.
3101         * src/preproc/tbl/tbl.man, NEWS: Updated.
3102
3103 2003-08-15  Werner LEMBERG  <wl@gnu.org>
3104
3105         * doc/groff.texinfo: Minor fixes.
3106
3107 2003-08-09  Werner LEMBERG  <wl@gnu.org>
3108
3109         * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
3110
3111 2003-08-07  Werner LEMBERG  <wl@gnu.org>
3112
3113         * doc/Makefile.sub: Not all shells expand wildcards in the `for'
3114         argument list to nothing if there is no file to match.  Use `ls' as
3115         a protection, similar to autoconf.
3116
3117         * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
3118         empty argument lists.
3119
3120         * doc/groff.texinfo: Improve documentation how vertical spacing
3121         and line breaks interact.
3122         Other minor fixes.
3123
3124         * tmac/www.tmac: Initialize `www-htmlimage-gap'.
3125
3126 2003-08-03  Werner LEMBERG  <wl@gnu.org>
3127
3128         * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
3129         EPS (using eps2eps or similar programs to compute the bounding box).
3130
3131 2003-07-24  Werner LEMBERG  <wl@gnu.org>
3132
3133         * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
3134         * doc/texinfo.tex: Updated from texinfo 4.6.
3135         * README.CVS: From now on we need texinfo 4.6.
3136
3137 2003-07-23  Werner LEMBERG  <wl@gnu.org>
3138
3139         Add requests `dei1' and `ami1' for completeness.
3140
3141         * src/roff/troff/input.cc (calling_mode): Remove
3142         CALLING_DISABLE_COMP.
3143         (comp_mode): New enumeration.
3144         (do_define_string, define_string, define_nocomp_string,
3145         append_string, append_nocomp_string): Updated.
3146         (do_define_macro): Add third parameter.
3147         (define_macro, define_nocomp_macro, define_indirect_macro,
3148         append_macro, append_nocomp_macro, append_indirect_macro): Updated.
3149         (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
3150         functions.
3151         (ignore): Updated.
3152         (init_input_requests): Add `dei1' and `ami1'.
3153
3154         * tmac/trace.tmac: Handle de1 and am1.
3155         (de): Improve tracing message.
3156         (am): Add missing `do'.
3157         (return): Use de1.
3158
3159         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3160         Document new requests.
3161
3162 2003-07-22  Heinz-Jürgen Oertel  <hj.oertel@surfeu.de>
3163
3164         Add option -G to .MPIMG to insert a gap between text and the image.
3165
3166         * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
3167         www-finish-left-ll): Updated.
3168         (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
3169         (MPIMG): Make option -L and -R optional.
3170         Implement option -G.
3171
3172 2003-07-22  Gaius Mulley  <gaius@glam.ac.uk>
3173
3174         * src/devices/grohtml/post-html.cpp
3175         (html_printer::do_file_components): Don't use `stdout' as lvalue
3176         since it can be a macro.
3177
3178 2003-07-22  Werner LEMBERG  <wl@gnu.org>
3179
3180         * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
3181         the corresponding test in aclocal.m4.
3182
3183 2003-07-21  Werner LEMBERG  <wl@gnu.org>
3184
3185         * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
3186         names but RGB values directly.  Otherwise pnmtopng depends on
3187         an external file `rgb.txt' which maps colour names to values.
3188
3189 2003-07-20  Werner LEMBERG  <wl@gnu.org>
3190
3191         * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
3192         * configure, src/include/config.hin: Regenerated.
3193
3194         * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
3195
3196 2003-07-19  Werner LEMBERG  <wl@gnu.org>
3197
3198         * PROBLEMS: Add solution for UTF-8 problem with hyphens.
3199
3200 2003-07-18  Werner LEMBERG  <wl@gnu.org>
3201
3202         * *.man: Switch to non-compatibility mode temporarily if GNU
3203         syntax extensions are used in the particular man page.
3204
3205         * PROBLEMS: Add solutions for SGR problems.
3206
3207 2003-07-17  Werner LEMBERG  <wl@gnu.org>
3208
3209         Don't ignore grotty's command line options if \X'tty: sgr ...' is
3210         used to change the drawing scheme.
3211
3212         * src/devives/grotty/tty.cpp (bold_flag_option,
3213         underline_flag_option, italic_flag_option, reverse_flag_option,
3214         bold_underline_mode_option): New global variables.
3215         (update_options): New function.
3216         (tty_printer::special): Call update_options.
3217         (main): Don't set xxx_flag but xxx_flag_option, then call
3218         update_options.
3219
3220 2003-07-14  Werner LEMBERG  <wl@gnu.org>
3221
3222         Make grotty emit proper Unicode box drawing characters for -Tutf8.
3223
3224         * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
3225         values.
3226         (hline_char, vline_char): New global variables.
3227         (tty_printer::tty_printer): Initialize them.
3228         (tty_printer::draw): Emit START_LINE and END_LINE flags for both
3229         horizontal and vertical lines.
3230         (crossings): New global array.
3231         (tty_printer::end_page): Use it to determine the proper crossing
3232         character for -Tutf8.
3233
3234 2003-07-12  Werner LEMBERG  <wl@gnu.org>
3235
3236         * doc/Makefilesub (HTMLDOCFILESALL): New macro.
3237         (HTMLDOCFILES): Revert to `pic.html'.
3238         (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
3239
3240 2003-07-11  Werner LEMBERG  <wl@gnu.org>
3241
3242         * doc/pic.ms: Improve documentation of absolute coordinates.
3243         Document absolute positioning of pictures.
3244
3245         * NEWS: Add new pic capability.
3246
3247 2003-07-09  Hartmut Henkel  <hartmut_henkel@gmx.de>
3248
3249         * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
3250         Rewritten.
3251
3252 2003-07-07  Werner LEMBERG  <wl@gnu.org>
3253
3254         Implement support for dashed and dotted ellipses in pic.  Based on
3255         a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
3256
3257         * src/preproc/pic/common.cpp (common_output::ellipse_arc,
3258         common_output::dashed_ellipse, common_output::dotted_ellipse): New
3259         functions.  Ellipse arcs are approximated with circle arcs.
3260         * src/preproc/pic/common.h (common_output): Updated.
3261         * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
3262         functions.
3263         * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
3264
3265         * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
3266
3267 2003-07-06  Werner LEMBERG  <wl@gnu.org>
3268
3269         Make grotty work on platforms which have unsigned char as the
3270         default for char.  Based on a patch by Thomas Klausner
3271         <wiz@netbsd.org>.
3272
3273         * src/devices/grotty/tty.cpp (schar): New typedef.
3274         Updated calls to declare_ptable and implement_ptable.
3275         (glyph): Use schar for back_color_idx and fore_color_idx.
3276         (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
3277         (tty_printer::tty_color, tty_printer::tty_printer,
3278         tty_printer::color_to_idx, tty_printer::put_color): Updated.
3279
3280 2003-07-06  Ruslan Ermilov  <ru@FreeBSD.org>
3281
3282         * src/roff/nroff/nroff.sh: Add option -d for completeness.
3283         * src/roff/nroff/nroff.man: Updated.
3284
3285 2003-07-05  Werner LEMBERG  <wl@gnu.org>
3286
3287         * NEWS, tmac/groff_www.man: Updated.
3288         * doc/Makefile.sub: Updated.
3289
3290 2003-07-05  Gaius Mulley  <gaius@glam.ac.uk>
3291
3292         Implement support for multiple HTML output files.
3293
3294         * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
3295         -j command line option.
3296
3297         * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
3298         global variables.
3299         (file): New fields `new_output_file', `require_links',
3300         `output_file_name'.
3301         (file::file): Updated.
3302         (files::set_file_name, files::set_links_required,
3303         files::are_links_required, files::is_new_output_file,
3304         files::file_name, files::next_file_name): New functions.
3305         (header_desc): New fields `no_of_level_one_headings',
3306         `header_filename'.
3307         (header_desc::header_desc): Updated.
3308         (header_desc::write_headings): Handle multiple files.
3309         (html_printer::write_header): Save file name in which header occurs.
3310         (html_printer::determine_header_level): Possibly split files on
3311         level one headings.
3312         (html_printer::do_links, html_printer::troff_tag): Updated.
3313         (html_printer::insert_split_file, html_printer::do_job_name,
3314         html_printer::emit_link, html_printer::write_navigation,
3315         html_printer::do_file_components): New functions.
3316         (html_printer::~html_printer): Handle multiple files.
3317         (main): Handle command line option `-j'.
3318
3319         * src/devices/grohtml/grohtml.man: Updated.
3320
3321         * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
3322         which splits file.
3323
3324         * tmac/www.tmac (JOBNAME): New macro.
3325         * tmac/s.tmac (SH-NO-TAG): New macro.
3326         (@SH): Call SH-NO-TAG.
3327         (@NH): Updated.
3328
3329 2003-07-05  Ruslan Ermilov  <ru@FreeBSD.org>
3330
3331         * tmac/groff_mdoc.man: Improve documentation of punctuation
3332         characters.
3333
3334 2003-07-04  Ruslan Ermilov  <ru@FreeBSD.org>
3335
3336         * tmac/doc.tmac (Bd): Change to doc-Li-font later.
3337
3338 2003-07-03  Werner LEMBERG  <wl@gnu.org>
3339
3340         * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
3341
3342 2003-07-01  Ruslan Ermilov  <ru@FreeBSD.org>
3343
3344         * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
3345         after `/*' and `*/'.
3346         Fix spacing.
3347         (Fn, Fo): Reduce indentation in synopsis.
3348
3349         * tmac/doc-common (doc-check-depth): New macro.
3350         (doc-end-macro, Sh, Ss): Use it.
3351         (Cd): Fix behaviour in synopsis.
3352         (In): Make it parsed and callable.
3353         If not in the synopsis, represent the C header file enclosed in
3354         angle brackets.
3355         (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
3356         Use minus, not hyphen.
3357
3358         * tmac/groff_mdoc.man: Updated.
3359
3360 2003-07-01  Werner LEMBERG  <wl@gnu.org>
3361
3362         Integrated grap2graph, contributed by Eric S. Raymond.
3363
3364         * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
3365         New files.
3366         * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
3367         contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
3368
3369 2003-07-01  Colin Watson  <cjwatson@debian.org>
3370
3371         * src/xditview/*.c: Add prototypes, fix return types, add includes.
3372         Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
3373
3374 2003-06-31  Ruslan Ermilov  <ru@FreeBSD.org>
3375
3376         * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
3377
3378 2003-06-31  Werner LEMBERG  <wl@gnu.org>
3379
3380         * doc/Makefile.sub (CLEANADD): Remove all files created by
3381         running `make groff.{pdf,dvi}'.
3382
3383         * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
3384         src/xditview also.
3385
3386 2003-06-30  Werner LEMBERG  <wl@gnu.org>
3387
3388         * Makefile.in (SHELL): Define as @SHELL@.
3389         (mkinstalldirs): Use $(SHELL).
3390         (MDEFINES): Add $(SHELL).
3391         * Makefile.comm (SHELL): Removed.
3392
3393 2003-06-29  Werner LEMBERG  <wl@gnu.org>
3394
3395         * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
3396         The X11 documentation files use them.
3397         * tmac/groff_ms.man, doc/groff.texinfo: Document them.
3398
3399 2003-06-15  Robert Goulding  <goulding@Princeton.EDU>
3400
3401         * tmac/e.tmac (@C): Handle .ad also.
3402
3403 2003-06-12  Werner LEMBERG  <wl@gnu.org>
3404
3405         * src/preproc/tbl/tbl.man: Document formatting of text blocks.
3406
3407         * src/roff/troff/input.cc (token::next) <handle_escape_char>:
3408         Assign `n' even here.  It is possible to construct a node
3409         immediately following an escape character:
3410
3411           .di xx
3412           \?\\\?a
3413           .br
3414           .di
3415           .xx
3416
3417 2003-06-10  Werner LEMBERG  <wl@gnu.org>
3418
3419         * README.WIN32: Removed.
3420         * MANIFEST: Updated.
3421
3422 2003-06-07  Werner LEMBERG  <wl@gnu.org>
3423
3424         * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
3425
3426 2003-06-05  Werner LEMBERG  <wl@gnu.org>
3427
3428         * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
3429         in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
3430
3431 2003-06-03  Werner LEMBERG  <wl@gnu.org>
3432
3433         * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
3434         is done by the calling function.
3435
3436 2003-05-22  Ruslan Ermilov  <ru@FreeBSD.org>
3437
3438         * tmac/X.tmac: Fix definition of `em'.
3439
3440 2003-05-22  Werner LEMBERG  <wl@gnu.org>
3441
3442         * src/roff/troff/input.cc (return_macro_request): Fix detection of
3443         argument.
3444
3445 2003-05-18  Werner LEMBERG  <wl@gnu.org>
3446
3447         * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
3448         to make items work which consist only of a tag.
3449
3450 2003-05-17  Werner LEMBERG  <wl@gnu.org>
3451
3452         * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
3453         aren't stretched in a tag (this can fail with unformatted boxes).
3454         Instead, insert a break and go back one line.
3455
3456 2003-05-16  Werner LEMBERG  <wl@gnu.org>
3457
3458         * src/roff/troff/input.cc (return_macro_request): If called with
3459         argument pop macro twice.  We need this to trace `return'.
3460
3461         * tmac/trace.tmac: Handle `return'.
3462         Fix typos.
3463
3464         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3465         Document.
3466
3467 2003-05-15  Larry Kollar  <kollar@alltel.net>
3468
3469         * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
3470         registers `FPS', `FVS', and `FPD'.
3471
3472 2003-05-15  Werner LEMBERG  <wl@gnu.org>
3473
3474         * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
3475         correctly.
3476
3477 2003-05-03  Ruslan Ermilov  <ru@FreeBSD.org>
3478
3479         * tmac/groff_mdoc.man: Slight improvements.
3480
3481 2003-05-03  Werner LEMBERG  <wl@gnu.org>
3482
3483         * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
3484         `doc-header-space' after header line if register `cR' is set.
3485
3486 2003-05-02  Werner LEMBERG  <wl@gnu.org>
3487
3488         * TODO: Updated.
3489
3490 2003-05-01  Ruslan Ermilov  <ru@FreeBSD.org>
3491
3492         * tmac/doc-common (Nd): Use \[em].
3493
3494 2003-05-01  Werner LEMBERG  <wl@gnu.org>
3495
3496         * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
3497         doc-footer-space): Initialize to 0.5i.
3498         (doc-setup-page-layout): Don't set doc-header-space and
3499         doc-footer-space.
3500
3501 2003-04-30  Werner LEMBERG  <wl@gnu.org>
3502
3503         * REVISION: Set to 1.
3504
3505         * doc/pic.ms: Document possible problems with `figname'.
3506
3507 2003-04-29  Werner LEMBERG  <wl@gnu.org>
3508
3509 Version 1.19 released
3510 =====================
3511
3512         * VERSION: Set to 1.19.
3513         * REVISION: Set to 0.
3514         * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
3515
3516         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
3517         Define charset as `US-ASCII' in html output.
3518
3519         * tmac/www.tmac (ULE): Add missing scaling indicator.
3520
3521         * win32-diffs: Removed.
3522
3523 2003-04-28  Werner LEMBERG  <wl@gnu.org>
3524
3525         * doc/groff.texinfo: Document `dn' and `dl' registers if used with
3526         `.da' and `.boxa'.
3527         Document how to insert discardable whitespace with `.ss'.
3528
3529 2003-04-27  Werner LEMBERG  <wl@gnu.org>
3530
3531         * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
3532         work with plain TeX also.
3533
3534         * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
3535
3536 2003-04-25  Gaius Mulley  <gaius@glam.ac.uk>
3537
3538         * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
3539         Use a loose DTD.
3540
3541 2003-04-24  Werner LEMBERG  <wl@gnu.org>
3542
3543         * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
3544         vbox with positive height and zero depth if in TeX mode.
3545
3546         * NEWS: Document glyph name changes for grodvi and grolj4.
3547
3548 2003-04-23  Werner LEMBERG  <wl@gnu.org>
3549
3550         * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
3551         * doc/pic.ms: Fixed.
3552
3553 2003-04-21  Werner LEMBERG  <wl@gnu.org>
3554
3555         HP-UX 10.20 has `snprintf' but it isn't declared.
3556
3557         * configure.ac: Add declaration test for snprintf.
3558         * configure: Regenerated.
3559         * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
3560         * src/include/config.hin: Regenerated.
3561
3562 2003-04-19  Werner LEMBERG  <wl@gnu.org>
3563
3564         Add keyword `figname' to pic, specifying the name of the picture
3565         box in TeX mode.  Based on a patch from William J Poser
3566         <wjposer@unagi.cis.upenn.edu>.
3567
3568         * src/preproc/pic/pic.y: New token `FIGNAME'.
3569         (macro_name): New rule of type <str>.
3570         (placeless_element): Handle `FIGNAME'.
3571         * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
3572         * src/preproc/pic/main.cpp (graphname): New global variable.
3573         (do_picture): Initialize `graphname'.
3574         * src/preproc/pic/pic.h: Updated.
3575         * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
3576         `graphname'.
3577         Simplify TeX code.
3578         (tex_output::text): Beautify output.
3579         * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
3580         `shaded' and `outlined' unconditionally.
3581         * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
3582         Minor improvements.
3583
3584         * PROBLEMS, README.CVS: Mention that bison version 1.875b or
3585         greater is necessary.
3586
3587 2003-04-17  Hartmut Henkel  <hartmut_henkel@gmx.de>
3588
3589         Add option -r to soelim to avoid emission of `.lf' lines.
3590         Add option -t to produces TeX comment lines instead of `.lf' lines.
3591
3592         * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
3593         and `tex_flag'.
3594         (usage): Updated.
3595         (main): Handle `-r' and `-t'.
3596         (set_location): Handle `raw_flag' and `tex_flag'.
3597         * src/preproc/soelim/soelim.man, NEWS: Updated.
3598
3599 2003-04-17  Werner LEMBERG  <wl@gnu.org>
3600
3601         * tmac/hyphenex.sh: Replaced with...
3602         * tmac/hyphenex.pl: This perl script to avoid sed compatibility
3603         nightmares.
3604
3605         * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
3606         if --quiet is used for the configure script.
3607         * configure: Regenerated.
3608
3609 2003-04-16  Werner LEMBERG  <wl@gnu.org>
3610
3611         * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
3612         Add `const' to second argument.
3613         (html_printer::add_table_end): Add `const' to argument.
3614         * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
3615         `const' to arguments.
3616         * src/devices/grohtml/html-text.h: Updated.
3617
3618         * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
3619         * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
3620         argument.
3621
3622         * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
3623         cast for integer constant.
3624
3625         * src/preproc/html/pre-html.cpp (image_device): Use `const'.
3626         (writeNbytes): Add `const' to first argument.
3627         (writeString): Add `const' to argument.
3628         (char_buffer::can_see): Add `const' to third argument.
3629         * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
3630         `const' to argument.
3631         * src/preproc/html/pushback.h: Updated.
3632
3633         * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
3634         (include_path_append): Add `const' to argument.
3635         (do_file): Updated.
3636
3637         * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
3638         for `value'.
3639         (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
3640         * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
3641         for `value'.
3642         (unicode_decompose_init::unicode_decompose_init): Updated.
3643         * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
3644         for `value'.
3645         (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
3646         * src/roff/troff/input.cc (process_startup_file): Add `const' to
3647         argument.
3648
3649         * tmac/hyphenex.sh: Make script more portable by using a here
3650         document.
3651
3652 2003-04-15  Werner LEMBERG  <wl@gnu.org>
3653
3654         Renamed all `*.cc' files to `*.cpp'.
3655         Updated all configuration files, makefiles, and documentation.
3656
3657 2003-04-14  Werner LEMBERG  <wl@gnu.org>
3658
3659         * tmac/hyphenex.sh: Slight improvements.
3660
3661 2003-04-13  Werner LEMBERG  <wl@gnu.org>
3662
3663         * font/devascii/R.proto, font/devcp1037/R.proto,
3664         font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
3665         character slots with unnamed glyphs.
3666
3667         * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
3668         (an-first): New global variable.
3669         (an-header): Emit vertical space between multiple man pages.
3670
3671 2003-04-11  Werner LEMBERG  <wl@gnu.org>
3672
3673         * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
3674         values.
3675
3676 2003-04-10  Werner LEMBERG  <wl@gnu.org>
3677
3678         * PROBLEMS: Revised.
3679
3680 2003-04-10  Bernd Warken  <bwarken@mayn.de>
3681
3682         * doc/webpage.ms: Improved.
3683
3684 2003-04-09  Werner LEMBERG  <wl@gnu.org>
3685
3686         Add register \n[.height] which returns the value of \H.
3687         Add register \n[.slant] which returns the value of \S.
3688
3689         * src/roff/troff/env.cc (init_env_requests): Implement.
3690         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3691         Document.
3692
3693 2003-04-08  Werner LEMBERG  <wl@gnu.org>
3694
3695         * tmac/html.tmac: Move some of the data into html-end.tmac.
3696         Remove most of the character translations for eqn since html fonts
3697         now cover those characters.
3698         Load www.tmac.
3699         * tmac/html-end.tmac: New file.
3700         * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
3701         * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
3702         * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
3703
3704 2003-04-07  Werner LEMBERG  <wl@gnu.org>
3705
3706         * man/groff_out.man: Document negative values of `N' if -Thtml is
3707         used.
3708
3709 2003-04-06  Werner LEMBERG  <wl@gnu.org>
3710
3711         * Makefile.comm (depend.temp): Check location of YTABC.
3712
3713 2003-04-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
3714
3715         * doc/Makefile.in (TROFFBIN): New variable for troff
3716         binary path.
3717         (GROFFBIN): New variable for groff binary path.
3718         (groff_bin_path): Rename to GROFF_BIN_PATH.
3719         (TROFF): Use TROFFBIN.
3720         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
3721         * doc/Makefile.sub (GROFFBIN): New variable for groff
3722         binary path.
3723         (groff_bin_path): Rename to GROFF_BIN_PATH.
3724         (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
3725
3726         * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
3727         with INSTALL_SCRIPT.
3728         (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
3729         * Makefile.dev (all): Depend on DEVSCRIPTS.
3730         (install_dev): Likewise.
3731         * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
3732         scripts.
3733         * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
3734         (DEVGENSCRIPTS): New variable to hold generated scripts.
3735
3736 2003-04-05  Werner LEMBERG  <wl@gnu.org>
3737
3738         * src/libs/libdriver/input.cc (IntArray::operator[],
3739         IntArray::get_data): Remove meaningless `const' in return value.
3740
3741         * README.CVS: New file.
3742
3743 2003-04-04  Werner LEMBERG  <wl@gnu.org>
3744
3745         Check for stdint.h in C++, not in C.
3746
3747         * aclocal.m4 (GROFF_STDINT_H): New function,
3748         * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
3749         AC_CHECK_HEADERS.
3750         * configure, src/include/config.hin: Regenerated.
3751         * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
3752
3753
3754         Fix handling of &nbsp; in grohtml.  To do this, troff emits `N'
3755         with a negative value, representing the width of the unbreakable
3756         space (only for -Thtml).  grohtml then converts this back to
3757         &nbsp; and uses the value of N as its width.
3758
3759         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
3760         unbreakable_space_node::tprint): Emit `N-<width>'.
3761         * src/include/printer.h (printer::set_numbered_char): Make it
3762         virtual.
3763         Make members `font_table' and `nfonts' protected instead of private.
3764         * src/devices/grohtml/post-html.cc
3765         (html_printer::set_numbered_char): New member function.
3766
3767
3768         * src/libs/libgroff/maxfilename.cc:
3769         s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
3770
3771         * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
3772         emit word marker.
3773
3774 2003-04-03  Sergey A. Osokin  <osa@freebsd.org.ru>
3775
3776         * man/roff.man: Small fixes.
3777
3778 2003-04-03  Werner LEMBERG  <wl@gnu.org>
3779
3780         Make groff independent from locale's numeric settings.
3781
3782         * configure.ac: Check for `setlocale'.
3783         * configure, src/include/config.hin: Regenerated.
3784
3785         * src/include/lib.h: Handle HAVE_SETLOCALE.
3786
3787         * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
3788         (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
3789         (main), src/preproc/pic/main.cc (main): Call `setlocale'.
3790
3791
3792         * doc/groff.texinfo: Change dir category to `Typesetting'.
3793         (Man font macros): Mention that there is no space between arguments
3794         of .BI and friends.
3795
3796         * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
3797         (*printer::change_color, *printer::change_fill_color): Add missing
3798         `const'.
3799
3800 2003-04-02  Werner LEMBERG  <wl@gnu.org>
3801
3802         * src/devices/grohtml/html-table.cc (html_table::emit_col,
3803         html_table::is_gap): Compute table widths after converting border
3804         positions to avoid rounding errors.
3805
3806 2003-04-01  Werner LEMBERG  <wl@gnu.org>
3807
3808         * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
3809         `space_emitted' properly.
3810
3811 2003-03-31  Werner LEMBERG  <wl@gnu.org>
3812
3813         * src/devices/grohtml/html-table.cc: Fix column width calculation.
3814         (html_table::set_linelength): Don't add 1.
3815         (html_table::add_indent): Don't subtract 1.
3816
3817         * tmac/html.tmac: Set default page offset to zero.
3818
3819 2003-03-30  Werner LEMBERG  <wl@gnu.org>
3820
3821         Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
3822
3823         * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
3824         unbreakable_space_node::tprint): New functions.
3825         (troff_output_file): Make space_char_hmotion_mode::tprint and
3826         unbreakable_space_node::tprint to friends.
3827         * src/roff/troff/node.h: Updated.
3828
3829         * font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
3830         in the HTML standard).
3831
3832 2003-03-29  Werner LEMBERG  <wl@gnu.org>
3833
3834         * src/roff/troff/env.cc (point_size): Fix emission of html tag.
3835         Otherwise, the following code
3836
3837           .di xxx
3838           .ps 10
3839           a
3840           .br
3841           .di
3842           x\*[xxx]
3843
3844         produces `x a' instead of `xa'.  This is a temporary fix, disabling
3845         font changes in diversions for -Thtml.
3846
3847         * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
3848         `HTML-TAG'.
3849         (an-do-tag-html): Merge with ...
3850         (an-do-tag): This macro.
3851         Change code slightly to circumvent grohtml bug.
3852         * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
3853
3854         * src/devices/grohtml/html-table.cc (html_table::emit_col,
3855         html_table::is_gap): Round `width' properly.
3856
3857         * tmac/html.tmac: Provide some default layout parameters for
3858         grohtml.
3859
3860         * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
3861         command.
3862
3863 2003-03-28  Werner LEMBERG  <wl@gnu.org>
3864
3865         src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
3866
3867 2003-03-27  Werner LEMBERG  <wl@gnu.org>
3868
3869         * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
3870         defined.
3871
3872 2003-03-20  Werner LEMBERG  <wl@gnu.org>
3873
3874         * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
3875         `.vs'.
3876         * doc/groff.texinfo: Updated.
3877
3878 2003-03-19  Werner LEMBERG  <wl@gnu.org>
3879
3880         * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
3881         TOKEN_END_TRAP>: Reset `have_input'.
3882
3883 2003-03-18  Werner LEMBERG  <wl@gnu.org>
3884
3885         * src/roff/groff/groff.man: Mention groff_trace man page.
3886
3887 2003-03-16  Werner LEMBERG  <wl@gnu.org>
3888
3889         * Makefile.in (LIBEXT): New variable to indicate the file extension
3890         of library files.  Computed heuristically from $(OBJEXT).
3891         (MDEFINES): Add $(LIBEXT).
3892         * Makefile.lib, Makefile.comm: Use it.
3893
3894         * src/utils/pfbtops/pfbtops.c (get_text): New function.  Split
3895         overlong lines into smaller chunks.
3896         (get_binary): New function.
3897         (main): Use them.
3898         * src/utils/pfbtops/pfbtops.man: Updated.
3899
3900 2003-03-15  Colin Watson  <cjwatson@debian.org>
3901
3902         * src/roff/groff/groff.man: Minor syntax fix.
3903
3904 2003-03-14  Egil Kvaleberg  <egil@kvaleberg.no>
3905
3906         * src/devices/grops/ps.cc (ps_printer::media_set,
3907         ps_printer::~ps_printer): Handle zero paper width and length.
3908
3909 2003-03-13  Werner LEMBERG  <wl@gnu.org>
3910
3911         Add options -p and -l to grodvi.
3912
3913         * src/devices/grodvi/dvi.cc: Include paper.h.
3914         (landscape_flag, user_paper_length, user_paper_width): New global
3915         variables.
3916         (dvi_printer::begin_page): Emit `papersize' special.
3917         Set color after initialization of `cur_h' and `cur_v'.
3918         (main): Add options `-l' and `-p'.
3919         * font/devdvi/Makefile.sub (DESC): Set `papersize'.
3920         * src/devices/grodvi/grodvi.man, NEWS: Updated.
3921
3922         * src/devices/grops/psrm.cc (valid_input_table): Fixed.
3923
3924 2003-03-12  Werner LEMBERG  <wl@gnu.org>
3925
3926         * src/devices/grops/grops.man: Move documentation of .PSPIC to...
3927         * man/groff_tmac.man: This man page.
3928         * man/groff_font.man: Declare `paperwidth' and `paperlength' as
3929         deprecated.
3930
3931         * tmac/X.tmac: Don't load pspic.tmac.
3932
3933 2003-03-11  Werner LEMBERG  <wl@gnu.org>
3934
3935         Make variable `pr' local to libdriver/input.cc.  Based on a patch
3936         by Bernd Warken <bwarken@mayn.de>.
3937
3938         * src/include/driver.h (pr): Removed.
3939
3940         * src/libs/libdriver/input.cc (pr): New global variable.
3941         (do_file): Deallocate `pr'.
3942         * src/libs/libdriver/printer.cc (pr): Removed.
3943
3944         * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
3945         (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
3946         (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
3947         (main): Don't delete `pr'.
3948
3949 2003-03-10  Werner LEMBERG  <wl@gnu.org>
3950
3951         * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
3952         * tmac/papersize.tmac: New file.
3953         * tmac/troffrc: Include `papersize.tmac'.
3954         * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
3955         * tmac/an-old.tmac: Set LT to LL by default.
3956
3957         * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
3958         doc/groff.texinfo: Updated.
3959
3960         * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
3961         bug which caused all odd iso papers to have wrong dimensions.
3962
3963         * src/devices/grops/ps.cc (user_paper_width): New global variable.
3964         (main) <'p'>: Set `user_paper_width' also.
3965         (ps_printer::media_width, ps_printer::media_height): Use values
3966         given with option `-p'.
3967
3968 2003-03-09  Werner LEMBERG  <wl@gnu.org>
3969
3970         * src/include/nonposix.h: Provide default for SET_BINARY.
3971
3972         * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
3973         src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
3974         unconditionally.
3975
3976         * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
3977         (main): Treat \r\n as \n.
3978
3979 2003-03-08  Werner LEMBERG  <wl@gnu.org>
3980
3981         * tmac/an-old.tmac: Use register `HY' to control hyphenation.
3982         * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
3983
3984 2003-03-07  Werner LEMBERG  <wl@gnu.org>
3985
3986         Added support to access more than 256 glyphs in Type 1 fonts.
3987
3988         * src/devices/grops/ps.cc (subencoding): New structure.
3989         (style): Add `sub' field.
3990         Updated all users.
3991         (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
3992         Add `set_subencoding', `get_subfont' and `encode_subfont' member
3993         functions.
3994         Updated all users.
3995         (ps_printer::set_char): Use `set_subencoding'.
3996         (make_subencoding_name): New function.
3997         (ps_printer::set_style): Handle case where `sty.sub' is not zero.
3998         (ps_printer::~ps_printer): Emit subencoding definitions.
3999
4000         * src/devices/grops/psrm.cc (valid_input_table): New array to
4001         properly support EBCDIC.
4002         (white_space): Add `\f'.
4003         (ps_get_line): Change first argument to be of type `string &'.
4004         Updated all callers.
4005         This allows to get lines of arbitrary length.
4006         Use `valid_input_table'.
4007         Remove warning about non-conforming PS line length.  This seems
4008         not to be of great importance -- for example, dvips don't emit
4009         a warning either.
4010         (PS_LINE_MAX): Removed.
4011         (matches_comment): Change first argument to be of type `string &'.
4012
4013         * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
4014
4015         * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
4016         %AGL_to_unicode, %default_ligatures): New hash tables.
4017         Read all map entries.
4018         Add unencoded characters.
4019         Check for default ligatures if there are no `L' entries.
4020         Print all kern entries.
4021         Print all characters in charset.
4022         * src/utils/afmtodit/afmtodit.man: Updated.
4023
4024         * font/devps/*: Regerated all fonts.
4025
4026         * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
4027         of characters, just use `.trin'.  Otherwise the mapping depends
4028         on the font encoding.
4029         * tmac/ps.tmac: Add `fi' and `fl'.
4030         Improve `Fi' and `Fl'.
4031         * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
4032         * tmac/Xps.tmac: Fix `em'.
4033
4034         * NEWS: Updated.
4035
4036 2003-03-04  Werner LEMBERG  <wl@gnu.org>
4037
4038         * src/roff/troff/input.cc (charinfo_to_node_list): Reset
4039         `have_input'.
4040
4041 2003-03-03  Werner LEMBERG  <wl@gnu.org>
4042
4043         * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
4044
4045         * font/devps/generate/textmap: Remove entry `similarequal'.
4046         * font/devps/symbolmap: Updated.
4047
4048 2003-03-02  Werner LEMBERG  <wl@gnu.org>
4049
4050         * src/libs/libgroff/font.cc (font::load): Fix error message for
4051         bad character type.
4052
4053         * src/devices/grops/grops.man: Improve documentation of the -b
4054         flag.
4055
4056         * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
4057         `ascii' and `cp1047'.
4058
4059 2003-03-01  Werner LEMBERG  <wl@gnu.org>
4060
4061         Document composite glyphs and the `composite' request.
4062
4063         * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
4064
4065 2003-02-28  Werner LEMBERG  <wl@gnu.org>
4066
4067         * font/devdvi/generate/ec.map: Add some more Unicode entities.
4068         * font/devdvi/*EC: Updated.
4069
4070         * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
4071         * tmac/latin1 (latin1-tr): Undo any previous mapping.
4072         * tmac/troffrc: Load `composite.tmac'.
4073         * tmac/Makefile.sub (NORMALFILES): Updated.
4074
4075         * doc/groff.texinfo (Input Encodings): New section.
4076         * NEWS: Updated.
4077
4078 2003-02-27  Werner LEMBERG  <wl@gnu.org>
4079
4080         * doc/texinfo.tex: New version 2003-02-11.06.
4081
4082         * tmac/doc-common (Dt): Don't emit warning for unknown section.
4083         * tmac/groff_mdoc.man: Fix description of `Dt'.
4084
4085 2003-02-26  Egil Kvaleberg  <egil@kvaleberg.no>
4086
4087         * font/devps/prologue.ps: Fix for included Postscript that does
4088         a setpagedevice -- which is now safely ignored.
4089
4090         * NEWS: Updated.
4091
4092         * src/devices/grops/ps.cc: Now sets the page size in the generated
4093         document.  This is done in two ways: Via a %%-comment for gv and
4094         the like, and via a PageSize and setpagedevice for programs that
4095         understands Postscript proper, like ps2pdf.
4096
4097         * src/devices/grops/ps.h: New broken-flag to avoid page size
4098         definition, if required.
4099
4100         * src/devices/grops/grops.man: New broken-flag 16 mentioned.
4101
4102         * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
4103         Not really necessary due to the fix in prologue.ps, but cleaner:
4104         Such information does not belong in an .eps file.
4105
4106         * doc/Makefile.sub: See doc/Makefile.in.
4107
4108 2003-02-26  Ralph Corderoy  <ralph@inputplus.co.uk>
4109
4110         * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
4111         instead of P1 since the latter is broken in some versions of netpbm.
4112         * configure: Updated.
4113
4114 2003-02-26  Larry Kollar  <kollar@alltel.net>
4115
4116         Make man pages more customizable.
4117
4118         * tmac/an-old.tmac (FT): New register holding footer distance from
4119         bottom.
4120         (HF): New string holding the default heading font.
4121         (TH): Handle registers `IN' and `SN' set on the command line.
4122         Use `FT'.
4123         (PT, BT): New strings to customize header and footer lines.
4124         (an-header, an-footer): Use them.
4125         (SH, SS): Use `HF'.
4126         * tmac/groff_man.man: Document changes.
4127
4128         * doc/groff.texinfo: Document man changes.
4129         Document Ultrix extensions of man.
4130
4131 2003-02-26  Werner LEMBERG  <wl@gnu.org>
4132
4133         * src/roff/troff/input.cc (do_width, do_if_request): Reset
4134         `have_input' after changing back to old environment.
4135
4136         * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
4137         function up to be defined before first call.  This is necessary to
4138         avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
4139
4140         * src/utils/afmtodit/afmtodit.pl: Make script search for files in
4141         the default font directory also.  Based on a patch from James
4142         J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
4143         * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
4144         * src/utils/afmtodit/afmtodit.man: Document it.
4145
4146         * NEWS: Updated.
4147
4148         * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
4149
4150 2003-02-25  Gaius Mulley  <gaius@glam.ac.uk>
4151
4152         * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
4153         (GROFF_PNMTOPS_NOSETPAGE): New macro.
4154         * configure.ac: Use it.
4155         * configure: Regenerated.
4156         * Makefile.in: Updated.
4157
4158         * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
4159         (CLEANADD): Add www.tmac-sed.
4160         (pnmtops_nosetpage): Define default.
4161         (install_data): Handle www.tmac-sed and substitute
4162         @PNMTOPS_NOSETPAGE@.
4163         (stamp-sed): Add www.tmac.
4164         * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
4165         It now breaks URLs at suitable places.
4166         (www:substring_ok): New register set by...
4167         (www:@test_substring): New macro.
4168         (www:error): New alias to www-error.
4169         (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
4170         New macros.
4171         (URL): Use www:url_breaks.
4172         (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
4173         (CDS, CDE): New macros.
4174
4175 2003-02-25  Werner LEMBERG  <wl@gnu.org>
4176
4177         * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
4178         buffer overflow.
4179
4180 2003-02-24  Werner LEMBERG  <wl@gnu.org>
4181
4182         Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
4183         can be negative also.
4184
4185         * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
4186         `int16'.
4187         (read_char_table): Avoid negative ascenders.
4188         (output_charset): Add cast.
4189         * font/devlj4/*: Regenerated.
4190
4191         Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
4192         possible.
4193
4194         * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
4195         * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
4196         of `<>'.
4197         * font/devdvi/*: Regenerated.
4198
4199         Map `la' and `ra' to U+27E8 and U+27E9.  These two characters have
4200         normal width, while the previously used characters (U+2329 and
4201         U+232A) are classified as wide due to canonical equivalence with the
4202         CJK punctuation characters U+3008 and U+3009.
4203
4204         * font/devutf8/R.proto: Updated.
4205         * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
4206
4207         * man/groff_char.man: Simplify handling of table traps by
4208         introducing `start block' and `end block' macros.
4209         (Ns, Ne, 2s, 2e, Ds, De): New macros.
4210         (DL): Make it work with Unix troff also.
4211         Fix code values of `la' and `ra'.
4212
4213         * tmac/dvi.tmac: Define `<>' for CW and CWI.
4214
4215 2003-02-23  Gaius Mulley  <gaius@glam.ac.uk>
4216
4217         * src/devices/grohtml/post-html.cc (element_list::~element_list):
4218         New destructor, fixing a major memory leak.
4219
4220 2003-02-22  Werner LEMBERG  <wl@gnu.org>
4221
4222         * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
4223         to be in conformance with Unicode 3.0 and newer.
4224
4225         * font/devlj4/generate/text.map: Add `Eu'.
4226         * font/devlj4/generate/special.map: Flip `*e' and `+e'.
4227         * font/devlj4/S: Regenerated.
4228
4229         * man/groff_char.man: Completely rewritten.
4230
4231         * doc/groff.texinfo: Fix description of request and macro arguments.
4232
4233 2003-02-20  Gaius Mulley  <gaius@glam.ac.uk>
4234
4235         Valgrind fixes.
4236
4237         * src/devices/grohtml/html-table.cc (html_table::~html_table):
4238         Deallocate `columns' list.
4239         * src/devices/grohtml/post-html.cc (char_block::~char_block):
4240         New destructor.
4241         (text_glob::text_glob_html, text_glob::text_glob_special,
4242         text_glob::text_glob_line, text_glob::text_glob_auto_image,
4243         text_glob::text_glob_tag): Avoid memory leaks.
4244         (text_glob::remember_table): Free memory before reassigning.
4245
4246 2003-02-19  Werner LEMBERG  <wl@gnu.org>
4247
4248         Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
4249         alias `hbar'), the Planck constant over two pi.
4250
4251         * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
4252         `+e' for position 34.
4253         * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
4254         `u2662' and `u2661'.
4255         * font/devdvi/{MI,S}: Regenerated.
4256         * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
4257         * font/devlbp/*: Add `hbar' alias.
4258         * font/devlj4/generate/special.map: Ditto.
4259         * font/devlj4/S: Regenerated.
4260         * font/devps/generate/symbolchars: Add `+e'.
4261         * font/devps/generate/textmap: Fix PS name for `-h'.
4262         Add `hbar' alias.
4263         * font/devps/symbolmap: Regenerated.
4264
4265         * src/devices/grops/ps.cc (transform_fill): Removed since unused.
4266
4267         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
4268         `-h', `hbar'.
4269         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
4270         `-h'.
4271
4272         * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
4273         `hbar'.
4274         * tmac/tty-char.tmac: Add `+e'.
4275
4276 2003-02-17  Werner LEMBERG  <wl@gnu.org>
4277
4278         Another round trying to really fix problems with `have_input'.
4279
4280         * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
4281         (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
4282
4283         * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
4284         handling if both foreground and background colors are default.
4285
4286         * doc/groff.texinfo (Debugging): Document .lf differences to
4287         AT&T troff.
4288
4289 2003-02-16  Werner LEMBERG  <wl@gnu.org>
4290
4291         * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
4292         null-bytes in created string.
4293
4294         * src/roff/troff/input.cc (lookup_color, interpolate_macro,
4295         alias_macro, lookup_request): Improve warning messages.
4296
4297         * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
4298         not `strdup'.
4299         Free `last_image_filename'.
4300
4301         * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
4302         `buffer'.
4303         (imageList::createPage, imageList::createImage): Use `free', not
4304         `a_delete'.
4305         (imageItem::~imageItem): Free `imageName'.
4306         (addRegDef): Use `strsave', not `strdup'.
4307         (get_resolution): Free `pathp'.
4308
4309 2003-02-15  Werner LEMBERG  <wl@gnu.org>
4310
4311         * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
4312         to `dummy'.
4313
4314 2003-02-14  Werner LEMBERG  <wl@gnu.org>
4315
4316         Add memory management for colors to deallocate unnamed colors
4317         properly.
4318
4319         * src/include/color.h (color): New members `free_list' and `next'.
4320         New member functions `new' and `delete'.
4321         Add destructor.
4322         * src/libs/libgroff/color.cc: Implement it.
4323
4324         * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
4325         for array size of new operator.
4326
4327         * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
4328         redundant comparison.
4329
4330         * src/roff/troff/input.cc (word_space_node::reread,
4331         hmotion_node::reread): Avoid warning about unused parameter.
4332         (reset_output_registers): Remove redundant parameter.
4333         (define_color): Undo change 2003-02-12.
4334
4335         * src/roff/troff/reg.h: Updated.
4336
4337         * src/roff/troff/node.cc (troff_output_file::really_print_line,
4338         output_file::put_filename, real_output_file::really_put_filename,
4339         ascii_output_file::really_print_line,
4340         break_char_node::get_hyphen_list): Avoid warning about unused
4341         parameter.
4342         (suppress_node::tprint): Updated.
4343
4344         * configure.ac: Check declaration for rand() and srand().
4345         * configure: Regenerated.
4346
4347         * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
4348         conditionally.
4349         * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
4350         and srand().
4351
4352         * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
4353         to avoid compiler warnings.
4354
4355         * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
4356         unused.
4357
4358         * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
4359         is unused.
4360         * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
4361         (unused) parameter.
4362         Updated all callers.
4363
4364         * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
4365         is unused.
4366         * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
4367         * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
4368
4369         * src/devices/grohtml/post-html.cc (html_printer::emit_line):
4370         Parameter is unused.
4371         (html_printer::add_table_end): Define parameter conditionally.
4372         * src/devices/grohtml/output.cc (simple_output::special): Parameter
4373         is unused.
4374
4375         * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
4376         (lbp_printer::set_char): Last parameter is unused.
4377
4378         * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
4379
4380 2003-02-13  Werner LEMBERG  <wl@gnu.org>
4381
4382         New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
4383         Make \D'f ...' move horizontally again for backwards compatibility.
4384         Replace it with \D'Fg ...' where appropriate to avoid dependency
4385         on horizontal resolution.
4386
4387         * src/roff/troff/input.cc (do_get_long_name): New function.
4388         (get_long_name): Call it.
4389
4390         (read_draw_node): Handle `\D'Fx ...' by calling ...
4391         (read_color_draw_node): New function.
4392
4393         (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
4394         `end'.
4395         Pass it to `do_get_long_name' which is used instead of
4396         `get_long_name'.
4397
4398         * src/libs/libdriver/input.cc (color_from_Df_command): Remove
4399         unnecessary value guard.
4400         (parse_D_command) <'f'>: Add horizontal shift.
4401
4402         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
4403         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
4404         (FILL_MAX): Removed.
4405
4406         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4407         Updated.
4408
4409 2003-02-12  Werner LEMBERG  <wl@gnu.org>
4410
4411         * src/roff/troff/input.cc (do_name_test, do_expr_test,
4412         do_zero_width): Push `\n' if closing delimiter is missing.
4413
4414         (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
4415         <'F'>: Make \F non-transparent at the beginning of line.
4416         (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
4417         token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
4418         `have_input'.
4419
4420         (define_color): Free color in case of reassignment.
4421
4422         * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
4423         @DefescListEnd): Use @Var, not @var.
4424         Fix all calls.
4425
4426         * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
4427
4428         * src/preproc/pic/object.cc (object_spec::~object_spec): Free
4429         `shaded' and `outlined' arrays.
4430         (object_spec::object_spec): Initialize `shaded' and `outlined'.
4431         (graphic_object::set_fill_color, graphic_object::set_outline_color):
4432         Use strsave.
4433         (closed_object::set_fill_color): Ditto.
4434         * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
4435         instead of strdup.
4436         (troff_output::reset_color): Use a_delete instead of free.
4437         * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
4438
4439 2003-02-11  Werner LEMBERG  <wl@gnu.org>
4440
4441         * doc/groff.texinfo: Improve documentation of `ad'.
4442         Document that \D'f...' is dependent on the horizontal resolution.
4443         * man/groff_diff.man: Improve documentation of \D'f...'.
4444
4445         * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
4446         compensating \h'...' for \D'f ...' since the latter no longer moves
4447         current position.
4448         * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
4449
4450 2003-02-10  Werner LEMBERG  <wl@gnu.org>
4451
4452         Improve error messages for `x F' (and `F') commands.
4453
4454         * src/include/error.h: Add declaration for
4455         `current_source_filename'.
4456         * src/libs/libgroff/filename.cc: Add `current_source_filename'.
4457         * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
4458         parameter for source file string.
4459         Updated all callers.
4460
4461         * src/libs/libdriver/input.cc: Add `current_source_filename'.
4462         (remember_source_filename): New function.
4463         (parse_x_command <'F'>, do_file <'F'>): Use it.
4464
4465 2003-02-09  Werner LEMBERG  <wl@gnu.org>
4466
4467         Make grotty not emit warnings about unknown colors more than
4468         necessary.
4469
4470         * src/devices/grotty/tty.cc: Include `ptable.h'.
4471         (TTY_MAX_COLORS): Removed.
4472         (DEFAULT_COLOR_IDX): Defined to -1.
4473         (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
4474         (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
4475         Change `tty_colors' to be a ptable.
4476         First arg of `put_color' is now `char'.
4477         New functions `make_rgb_string' and `tty_color'.
4478         (tty_printer::tty_printer): Use `tty_color'.
4479         (tty_printer::color_to_idx): Return value is now `char'.
4480         Use `tty_color'.
4481
4482         * src/include/color.h (color): Add `print_color' member function.
4483         * src/libs/libgroff/color.cc (color::print_color): Implement it.
4484
4485 2003-02-08  Werner LEMBERG  <wl@gnu.org>
4486
4487         Valgrind fixes.
4488
4489         * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
4490         encoding file.
4491
4492         * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
4493         assume that value has been allocated with `new[]', thus use
4494         `a_delete' for deallocation.
4495
4496         * src/libs/libdriver/input.cc (get_integer_arg,
4497         get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
4498         where appropriate.
4499
4500         * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
4501         * src/libs/libgroff/nametoindex.cc
4502         (character_indexer::named_char_index): Use `new <type>[1]'.
4503
4504         * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
4505         <type>[1]'.
4506         * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
4507         (split_text): Use `a_delete'.
4508
4509         * src/preproc/pic/pic.y (define_label, define_variable): Use `new
4510         <type>[1]'.
4511
4512         * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
4513         harmless memory leak.
4514         (hyphen_trie::read_patterns_file): Initialize `buf'.
4515         * src/roff/troff/node.cc (troff_output_file::troff_output_file):
4516         Initialize `current_fill_color'and `current_glyph_color'.
4517         * src/roff/troff/glyphuni.cc
4518         (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
4519         * src/roff/troff/uniuni.cc
4520         (unicode_decompose_init::unicode_decompose_init): Ditto.
4521         * src/roff/troff/uniglyph.cc
4522         (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
4523
4524 2003-01-26  Werner LEMBERG  <wl@gnu.org>
4525
4526         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
4527         `access' before calling `unlink'.
4528         (do_file): Handle __EMX__.
4529
4530         * src/include/nonposix.h: Handle __EMX__.
4531
4532         * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
4533         (fontpath,tmacpath): Use it.
4534         (MDEFINES): Add it.
4535         Sorted alphabetically.
4536
4537         * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
4538         @SEP@.
4539         * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
4540         @SEP@.
4541
4542 2003-01-27  Werner LEMBERG  <wl@gnu.org>
4543
4544         * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
4545         New files, copied from gnulib.
4546         * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
4547         * configure.ac: Updated.
4548         * configure: Regenerated.
4549
4550         * src/include/config.hin: Regenerated.
4551         * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
4552         Don't define `strcasecmp' as `strcmp'.
4553         [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
4554         Dont define `strncasecmp' as `strncmp'.
4555
4556         * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
4557         Removed.
4558
4559 2003-01-26  Werner LEMBERG  <wl@gnu.org>
4560
4561         * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
4562         s/unline/unlink/.
4563
4564 2003-01-25  Werner LEMBERG  <wl@gnu.org>
4565
4566         * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
4567
4568 2003-01-24  Werner LEMBERG  <wl@gnu.org>
4569
4570         Add US-english hyphenation exceptions (converted from Barbara
4571         Beeton's hyphenation exception log reports which appear irregularly
4572         in TUGBoat).
4573
4574         * tmac/hyphen.us: Updated to latest version.
4575         * tmac/README: Updated.
4576         * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
4577         * tmac/troffrc: Load `hyphenex.us'.
4578         * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
4579         * doc/groff.texinfo: Updated.
4580
4581 2003-01-23  Werner LEMBERG  <wl@gnu.org>
4582
4583         Improve hyphenation slightly.  This is a first step in redesigning
4584         the hyphenation algorithm to make it more flexible (e.g. allowing
4585         kerns and ligatures between the hyphenation character and the
4586         following character -- while not used normally in English, other
4587         languages like German would benefit).
4588
4589         * src/roff/troff/env.cc (environment::hyphenate_line): Use
4590         assertion instead of if-clause.
4591         Let `get_hyphen_list' return the number of involved characters in
4592         the hyphenation pattern instead of computing it directly (which
4593         often yields too small values).
4594         * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
4595         * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
4596         parameter.
4597
4598 2003-01-22  Werner LEMBERG  <wl@gnu.org>
4599
4600         Fixing a bug which caused groff to hang if the hyphenation exception
4601         dictionary tried to grow.
4602
4603         * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
4604         hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
4605         pointer to dictionary.
4606
4607 2003-01-20  Werner LEMBERG  <wl@gnu.org>
4608
4609         * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
4610         negative left italic correction.
4611         * src/utils/afmtodit/afmtodit.man: Document it.
4612
4613         * font/devps/generate/Makefile (RFLAG): Add `-m'.
4614         * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
4615         S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
4616
4617         * NEWS: Updated.
4618
4619 2003-01-16  Werner LEMBERG  <wl@gnu.org>
4620
4621         * NEWS: Updated.
4622
4623 2003-01-16  Jörgen Grahn  <jgrahn@algonet.se>
4624
4625         * src/preproc/refer/refer.man: Mention REFER environment variable.
4626
4627 2003-01-05  Werner LEMBERG  <wl@gnu.org>
4628
4629         Similar to \[is], the square root glyph (\[sr]) and the square root
4630         extension glyph (\[radicalex]) are now text symbols.  The new
4631         mathematical versions are called \[sqrt] and \[sqrtex],
4632         respectively.
4633
4634         * font/devX*/S: Regenerated.
4635         * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
4636         * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
4637         * font/devdvi/EX, font/devdvi/S: Regenerated.
4638         * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
4639         * font/devlj4/generate/special.map: Add `sqrt'.
4640         * font/devlj4/S: Regenerated.
4641         * font/devps/generate/textmap: Add `sqrt'.
4642         * font/devps/S, font/devps/symbolmap: Regenerated.
4643
4644         * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
4645         SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
4646         * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
4647         overlap horizontally.
4648
4649         * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
4650         * tmac/dvi.tmac: Add `sr', and `sqrtex'.
4651         Fix `radicalex'.
4652
4653         * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
4654         and `sqrtex' are overlapping glyphs.
4655
4656 2003-01-04  Werner LEMBERG  <wl@gnu.org>
4657
4658         * font/devdvi/generate/texsy.map: Add `is'.
4659         * font/devps/symbolmap: Regenerated.
4660         * font/devdvi/*TC, MI, S: Regenerated.
4661
4662         * tmac/dvi.tmac: Remove `is'.
4663
4664 2003-01-03  Werner LEMBERG  <wl@gnu.org>
4665
4666         `is' is now a text symbol (only relevant for dvi).  The math variant
4667         can be accessed with `integral'.
4668
4669         * font/devX*/S: Regenerated.
4670         * font/devdvi/generate/texex.map: Remove `is'.
4671         * font/devdvi/EX: Updated.
4672         * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
4673         * font/devlj4/generate/special.map: Ditto.
4674         * font/devlj4/S: Regenerated.
4675         * font/devps/generate/textmap: Add `integral'.
4676         * font/devps/S: Regenerated.
4677
4678         * tmac/dvi.tmac: Define `is'.
4679
4680         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
4681
4682         * src/preproc/tbl/main.cc (process_format): Fix error message.
4683
4684 2003-01-02  Werner LEMBERG  <wl@gnu.org>
4685
4686         * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
4687         * font/devps/textmap: Fix entries for `ne' and `nc'.
4688         * font/devps/symbolmap: Regenerated.
4689
4690         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
4691         src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
4692         `38', `58', `78', `-+', `|=', `nc', `ne'.
4693
4694         * tmac/dvi.tmac: Add `nm', `ne', `nc'.
4695         Use `schar' for `aq'.
4696         * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
4697         * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
4698         * tmac/tty.tmac: Add `ne'.
4699
4700         * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
4701         for fallback glyphs.
4702
4703 2002-12-29  Werner LEMBERG  <wl@gnu.org>
4704
4705         Add glyph `|='.
4706
4707         * font/devX*/*: Regenerated.
4708         * font/devdvi/generate/ec.map: Remove `eq'.
4709         * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
4710         Assign `|=' to position 39.
4711         * font/devdvi/*EC, S: Regenerated.
4712         * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
4713         * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
4714         Assign `|=' to position 549.
4715         * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
4716         `equalmath'.
4717         Add `uni2243' for `|='.
4718
4719         * tmac/ec.tmac: Add `eq'.
4720         * tmac/dvi.tmac: Add `=~'.
4721         * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
4722         `|='.
4723
4724 2002-12-21  Werner LEMBERG  <wl@gnu.org>
4725
4726         * font/devdvi/generate/tc.map: Remove `**'.
4727         * font/devdvi/*TC: Regenerated.
4728         * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
4729         `78', `<<', `>>'.
4730         * font/devutf8/NOTES: Updated.
4731
4732         * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
4733         Don't give default parameter to `set_macro'.
4734         * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
4735         instead of `set_macro'.
4736         (charinfo::setx_macro): Implement it.
4737         (charinfo::set_macro): Don't change `mode'.
4738
4739         * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
4740         * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
4741         * tmac/dvi.tmac: Define `!=' with `.schar'.
4742
4743 2002-12-20  Werner LEMBERG  <wl@gnu.org>
4744
4745         * font/devX*/S: Regenerated.
4746         * font/devdvi/generate/ec.map: Remove `pl'.
4747         * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
4748         * font/devdvi/*{TC,EC}: Regenerated.
4749         * font/devhtml/R.proto: Add `-+'.
4750         Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
4751         * font/devlbp/*: Remove `or'.
4752         * font/devlj4/generate/special.map: Remove `or'.
4753         * font/devlj4/S: Regenerated.
4754         * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
4755         `seveneighths', `threeeighths'.
4756         Remove `plusmath'.
4757         Replace `minusplus' with `uni2213'.
4758         * font/devps/symbolmap: Regenerated.
4759         * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
4760         Add `-+'.
4761
4762         * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
4763         function.
4764         * src/roff/troff/node.cc (troff_output_file::put_char_width):
4765         Call glyph_color and fill_color even if tcommand_flag isn't set.
4766         (make_node, node::add_char): Check not ci->is_fallback but
4767         ci->is_normal.
4768
4769         * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
4770         * tmac/ec.tmac: Add .rchar entry for `f/'.
4771         Don't remove `12', `14', `34'.
4772         Define `pl' to be always roman.
4773         * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
4774         Define `18', `38', `58', `78'.
4775         * tmac/tty.tmac: Add `-+'.
4776         * tmac/dvi.tmac: Define `f/'.
4777         (dvi-frac): Use `f/'.
4778         * tmac/X.tmac (X-frac, X-frac-mono): New macros.
4779         Define `18', `38', `58', `78'.
4780
4781 2002-12-15  Colin Watson  <cjwatson@debian.org>
4782
4783         * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
4784
4785 2002-12-10  Werner LEMBERG  <wl@gnu.org>
4786
4787         Add glyph `tno', a textual variant of `no'.
4788
4789         * font/devX*/*: Regenerated.
4790         * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
4791         * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
4792         * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
4793         * font/devdvi/*: Regenerated.
4794         * font/devlbp/*: Add `tno'.
4795         * font/devlj4/generate/tex.map: Replace `no' with `tno'.
4796         * font/devlj4/*: Regenerated.
4797         * font/devps/generate/textmap: Replace `no' with `tno'.
4798         * font/devps/generate/symbolchars: Add `no'.
4799         * font/devps/*: Regenerated.
4800
4801         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
4802
4803         * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
4804         * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
4805
4806         * NEWS: Updated.
4807
4808         * tmac/dvi.tmac: Replace most `\\' with `\E'.
4809         Add definition for `sd'.
4810         * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
4811
4812         * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
4813
4814 2002-12-08  Werner LEMBERG  <wl@gnu.org>
4815
4816         * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
4817         mode to avoid rounding errors.
4818         (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
4819
4820         * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
4821         src/roff/troff/troff.man: Improve documentation of -T.
4822
4823 2002-12-07  Jeff Conrad  <jeff_conrad@msn.com>
4824
4825         * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
4826         (run_pipeline) [_WIN32]: Provide working function without `fork'.
4827
4828 2002-12-06  Werner LEMBERG  <wl@gnu.org>
4829
4830         * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
4831         glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
4832         Scaling Euro.sansserif glyphs down to have the same height as
4833         digits.
4834         Removed unnecessary points; added some extrema.
4835
4836         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
4837         Regenerated.
4838
4839 2002-12-04  Werner LEMBERG  <wl@gnu.org>
4840
4841         * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
4842         and `Euro.symbol.bold.slanted'.
4843         Improve some glyph offsets and widths.
4844         * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
4845         Regenerated.
4846         * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
4847         typo.
4848         * font/devps/generate/sfdtopfa.pe: Generate PFA in current
4849         direcory.
4850
4851         * tmac/europs.tmac: Updated to new glyph indices.
4852         Use Euro.symbol for font familiy `A'.
4853
4854         * doc/groff.texinfo: Minor improvements.
4855
4856 2002-12-02  Werner LEMBERG  <wl@gnu.org>
4857
4858         * font/devdvi/generate.tc.map: s/%O/%0/.
4859         * font/devdvi/*TC: Regenerated.
4860
4861         * src/roff/troff/div.cc (init_div_requests): Sorted.
4862
4863         * tmac/dvi.tmac: Remove `Ye'.
4864         * tmac/ec.tmac: Remove `Ye'.
4865         Add .rchar entry for `de'.
4866
4867         * man/groff.man, man/groff_diff.man: Document register `.pe'.
4868         * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
4869         * NEWS: Updated.
4870
4871 2002-11-30  Werner LEMBERG  <wl@gnu.org>
4872
4873         Add PS font for various Euro glyphs.
4874
4875         * font/devps/generate/freeeuro.sfd: New master font file for
4876         pfaedit.
4877         * font/devps/generate/sfdtopfa.pe: New conversion script for
4878         pfaedit.
4879         * font/devps/generate/Makefile (FONTS): Add `EURO'.
4880         (EURO, freeeuro.afm, freeeuro.pfa): New rules.
4881         * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
4882         `freeeuro.sfd'.
4883         * font/devps/EURO: Generated from `freeeuro.afm'.
4884         * font/devps/download: Add `freeuro.pfa'.
4885         * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
4886         `freeeuro.pfa'.
4887
4888         * tmac/europs.tmac: New file.
4889         * tmac/ps.tmac: Include `europs.tmac'.
4890         * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
4891
4892 2002-11-29  Werner LEMBERG  <wl@gnu.org>
4893
4894         * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
4895         * font/devdvi/S: Regenerated.
4896         * font/devhtml/R.proto: Fix `CR' and `ci'.
4897         Add `OK'.
4898         * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
4899         Remove `bs'.
4900         * font/devps/symbolmap: Regenerated.
4901         * font/devutf8/R.proto: Fix `CR' and `ci'.
4902         Add `OK'.
4903         * font/devutf8/NOTES: Updated.
4904
4905         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
4906         `ci'.
4907         Add `OK'.
4908         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
4909
4910         * tmac/dvi.tmac: Add `lh' and `rh'.
4911         * tmac/Xps.tmac: Fix `lh' and `rh'.
4912         * tmac/X.tmac: Add `OK'.
4913         * tmac/lj4.tmac: Ditto.
4914
4915 2002-11-24  Werner LEMBERG  <wl@gnu.org>
4916
4917         * font/devX*/S: Regenerated.
4918         * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
4919         `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
4920         * font/devdvi/generate/texsy.map: Remove `or' glyph.
4921         * font/devdvi/S: Regenerated.
4922         * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
4923         `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
4924         `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
4925         `bracketleftbt', `bracketrighttp', `bracketrightex',
4926         `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
4927         `braceex', `braceleftex', `bracerightex', `bracerighttp',
4928         `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
4929         `rb', and `bv'.
4930         * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
4931         * font/devutf8/NOTES: Updated.
4932         * font/devlj4/generate/special.map: Add glyph `braceex'.
4933         * font/devlj4/S: Regenerated.
4934
4935         * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
4936
4937 2002-11-14  Werner LEMBERG  <wl@gnu.org>
4938
4939         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
4940         and `vA'.
4941         Fix code for `an'.
4942         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
4943
4944         * doc/texinfo.tex: New version from texinfo 4.3.
4945         * doc/groff.texinfo: Updated for texinfo 4.3.
4946         Use @tie{} where appropriate.
4947         * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
4948         * font/devdvi/generate/tc.map: Remove `rn'.
4949         * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
4950         * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
4951         Fix code for `an'.
4952         * font/devX100/*, font/devX100-12/*, font/devX75/*,
4953         font/devX75-12/*: Regenerated.
4954
4955         * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
4956         Use .char (again) for `br', `ul', `rn', `or', and `ru'.
4957         Improve definition of `an'.
4958         * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
4959         `ru'.
4960         * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
4961         * tmac/X.tmac: Add definition for `or'.
4962         * tmac/Xps.tmac: Undo change 2002-11-05.
4963         * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
4964
4965 2002-11-11  Werner LEMBERG  <wl@gnu.org>
4966
4967         * src/roff/troff/node.cc (troff_output_file::put_char): Always
4968         call flush_tbuf.
4969
4970 2002-11-10  Werner LEMBERG  <wl@gnu.org>
4971
4972         Added three new requests `schar', `fschar', and `rfschar'.  `schar'
4973         defines a glyph which is searched after the check for fonts declared
4974         with `.special' (and before the check for all mounted special
4975         fonts).  `fschar' defines a glyph for a particular font which is
4976         searched after the check for fonts declared with `.fspecial' (and
4977         before the check for fonts declared with `.special').  `rfschar'
4978         removes glyphs defined with `fschar'.
4979
4980         * src/roff/troff/token.h (char_mode): New enum.
4981         Declare do_define_character.
4982         * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
4983         `mode'.
4984         (charinfo::is_fallback): Updated.
4985         (charinfo::is_special): New method.
4986         * src/roff/troff/input.cc (do_define_character): Add and use
4987         optional second parameter used as a prefix for font-specific glyph
4988         names.
4989         (define_character, define_fallback_character): Updated.
4990         (define_special_character): New function.
4991         (init_input_requests): Add `schar'.
4992         (charinfo::charinfo, charinfo::set_macro): Updated.
4993         * src/roff/troff/node.cc: Include `stringclass.h'.
4994         (make_glyph_node): Handle special glyphs defined with `.schar' and
4995         `.fschar'.
4996         (define_font_special_character, remove_font_special_character): New
4997         functions.
4998         (init_node_requests): Sorted.
4999         Add `fschar' and `rfschar'.
5000         * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5001         Document new requests.
5002
5003         * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
5004         * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
5005
5006 2002-11-08  Werner LEMBERG  <wl@gnu.org>
5007
5008         Added new font `SC' (cmtex10) to devdvi.
5009
5010         * devdvi/generate/Makefile (FONTS): Add `SC'.
5011         (SC): New rule.
5012         * devdvi/generate/textex.map: New map file for cmtex.
5013         * devdvi/SC: New.
5014         * devdvi/Makefile.sub (DEVFILES): Updated.
5015         * tmac/dvi.tmac: Add fspecial entries for SC.
5016         Add `MI', `S' and `CW' to the `special' call.  Otherwise, `SC' is
5017         found before `S' since the font position of `SC' is lower due to the
5018         gaps in DESC's `font' line.
5019         * tmac/ec.tmac: Add a `special' call.
5020         * NEWS: Updated.
5021
5022         * font/devhtml/R.proto: Remove double entry for `ti'.
5023         * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
5024         * tmac/tty-char.tmac: Remove entry for `bq'.
5025         * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
5026         * tmac/ec.tmac: Don't remove `aq' glyph.
5027         * tmac/X.tmac: Fix entry for `em'.
5028         Add entries for `fo' and `fc'.
5029         * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
5030
5031         * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
5032         documentation of `special' and `fspecial' requests.
5033
5034 2002-11-05  Werner LEMBERG  <wl@gnu.org>
5035
5036         * font/devascii/R.proto, font/devcp1047/R.proto,
5037         font/devlatin1/R.proto: Remove entry for `.i'.
5038         * font/devdvi/generate/textt.map: Add entry for `ad'.
5039         * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
5040         font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
5041         We need this for getting kerning values to compose `/l' and `/L'.
5042         * font/devdvi: Regenerated font definition files for CM fonts.
5043         * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
5044         * font/devutf8/R.proto: Ditto.
5045         Remove double entry for `ti'.
5046
5047         * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
5048         for (groff) ligatures, `la', and `ra'.
5049         Add "'C", "'c", `IJ', and `ij'.
5050         Remove double entry for `ti'.
5051         * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
5052         double entries.
5053         Add "'C", "'c", `IJ', and `ij'.
5054         Fix entries for (groff) ligatures, `la', and `ra'.
5055
5056         * tmac/ps.tmac (ps-achar): New macro.
5057         Define "'c" and "'C".
5058         * tmac/tty.tmac: Add entry for `.i'.
5059         * tmac/X.tmac (X-achar): New macro.
5060         Define "'c", "'C", and `:Y'.
5061         Add entries for `IJ' and `ij'.
5062         * tmac/Xps.tmac (Xps-achar): New macro.
5063         Define "'c" and "'C".
5064         Add entries for `IJ' and `ij'.
5065         * tmac/lbp.tmac (lbp-achar): New macro.
5066         Add fallback characters for all groff ligatures and many other
5067         glyphs.
5068         * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
5069         Add entries for `/l' and `/L'.
5070         Define "'c" and "'C".
5071         Add entries for `IJ' and `ij'.
5072
5073 2002-11-02  Larry Kollar  <kollar@alltel.net>
5074
5075         * PROBLEMS: Document how to solve Mac OS X compilation problems.
5076
5077 2002-11-02  Werner LEMBERG  <wl@gnu.org>
5078
5079         Adding support for composite glyphs: \[xxx yyy ...] and the
5080         `composite' request.
5081
5082         * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
5083         to Unicode-based glyph names.
5084         * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
5085         glyph names to groff glyph names.
5086         * src/roff/troff/uniuni.cc: New file for canonically decomposing
5087         Unicode-based glyph names.
5088         * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
5089         for handling Unicode glyph names.
5090         * src/roff/troff/input.cc: Include unicode.h.
5091         (composite_glyph_name): New function.
5092         (token::next) <'['>: Handle Unicode glyph names and composite
5093         glyphs.
5094         (composite_dictionary): New dictionary for the `composite' request.
5095         (composite_request): Implement `composite' request.
5096         (init_input_requests): Add `composite'.
5097         Alphabetically sorted.
5098         * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
5099         commented out).
5100         (init_env_requests): Alphabetically sorted.
5101         Removed `tas' and `tar' (already commented out).
5102         * src/roff/troff/Makefile.sub: Updated.
5103
5104 2002-10-31  Ruslan Ermilov  <ru@FreeBSD.org>
5105
5106         * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
5107         of options.
5108
5109 2002-10-29  Werner LEMBERG  <wl@gnu.org>
5110
5111         Fix computation of .trunc register.  Additionally, its value (and
5112         the value of the .ne register) is now always set before entering the
5113         trap.
5114
5115         * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
5116         `needed_space' before calling `space'.
5117         (top_level_diversion::space): Remove special code for 'sp before the
5118         first page.
5119         Call `begin_page' with the discarded space as a parameter.
5120         (top_level_diversion::begin_page): Add optional parameter to set
5121         `truncated_space'.
5122         * src/roff/troff/div.h: Updated.
5123
5124         * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
5125         \n[.ne].
5126
5127         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
5128         (LP): Remove superfluous call to `br'.
5129         * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
5130         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5131
5132 2002-10-26  Werner LEMBERG  <wl@gnu.org>
5133
5134         * tmac/doc-ditroff: Remove useless switch/variable -rC.
5135         (doc-setup-header): Don't set page register `%'.
5136         * tmac/doc-nroff: Remove variable `C'.
5137         (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
5138         (doc-setup-header): Don't set page register `%'.
5139         Don't call `bp'.
5140         * tmac/doc-common (doc-header): Call `ns'.
5141         (doc-paragraph): Protect .sp with .br so that it survives traps
5142         possibly set by the user.
5143         * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5144
5145         * tmac/doc*: Replace ' with . for consistency if no effect.
5146
5147 2002-10-26  Werner LEMBERG  <wl@gnu.org>
5148
5149         * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
5150         so that it survives traps possibly set by the user.
5151
5152         * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
5153         (troff_output_file::set_font): Call flush_tbuf if necessary.
5154         (troff_output_file::fill_color, troff_output_file::glyph_color): Call
5155         flush_tbuf and do_motion only if necessary.
5156         (troff_output_file::start_special,
5157         troff_output_file::put_char_width, troff_output_file::put_char,
5158         troff_output_file::draw): Updated.
5159         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5160         vmotion_node::tprint): Undo change 2002-10-23.
5161
5162 2002-10-25  Werner LEMBERG  <wl@gnu.org>
5163
5164         * tmac/www.tmac (DC): Fix case of overlapping images.
5165
5166 2002-10-23  Werner LEMBERG  <wl@gnu.org>
5167
5168         * src/roff/troff/node.cc (troff_output_file::fill_color,
5169         troff_output_file::glyph_color): Set current color before testing
5170         color_flag.
5171         (troff_output_file::put_char_width, troff_output_file::put_char,
5172         troff_output_file::draw): Don't call flush_tbuf and/or do_motion
5173         before glyph_color.
5174         (troff_output_file::file_color, troff_output_file::glyph_color):
5175         Call do_motion.
5176         (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5177         vmotion_node::tprint): Move first, then call fill_color.
5178
5179 2002-10-20  Werner LEMBERG  <wl@gnu.org>
5180
5181         * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
5182         possible to use multiple main macro packages.
5183
5184 2002-10-19  Werner LEMBERG  <wl@gnu.org>
5185
5186         * src/devices/grops/ps.cc (cmyk_flag): New global variable.
5187         (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
5188         (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
5189         is set.
5190         * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
5191         `where' construction since `cmyksetcolor' is a PS Level 2 operator.
5192
5193 2002-10-16  Werner LEMBERG  <wl@gnu.org>
5194
5195         * NEWS, doc/webpage.ms: Updated.
5196
5197 2002-10-14  Werner LEMBERG  <wl@gnu.org>
5198
5199         * src/roff/troff/node.cc (troff_output_file::put_char_width,
5200         troff_output_file::put_char, troff_output_file::fill_color,
5201         troff_output_file::glyph_color): Handle case where color pointer
5202         is null.
5203
5204 2002-10-13  Ruslan Ermilov  <ru@FreeBSD.org>
5205
5206         Add the new -r option to grotty.  It is similar to the -i option
5207         except it tells grotty(1) to use the `reverse video' attribute to
5208         render italic fonts.
5209
5210         * src/devices/grotty/tty.cc (reverse_flag): New global variable.
5211         (SGR_REVERSE, SGR_NO_REVERSE): New macros.
5212         (tty_printer::make_underline, tty_printer::put_color,
5213         tty_printer::end_page): Use it.
5214         (main): Add -r switch.
5215         (usage): Updated.
5216         * src/devices/grotty/grotty.man: Document it.
5217
5218 2002-10-11  Ruslan Ermilov  <ru@FreeBSD.org>
5219
5220         * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
5221         cast to `unsigned char' to properly read patterns with 8bit
5222         characters.
5223
5224 2002-10-08  Werner LEMBERG  <wl@gnu.org>
5225
5226         * REVISION: Increased to 2.
5227
5228 Copyright 2002-2005
5229   Free Software Foundation, Inc.
5230
5231 Copying and distribution of this file, with or without modification,
5232 are permitted in any medium without royalty provided the copyright
5233 notice and this notice are preserved.
5234
5235 Local Variables:
5236 version-control: never
5237 coding: latin-1
5238 End: