ChangeLog revision 114402
12003-04-29  Werner LEMBERG  <wl@gnu.org>
2
3	* VERSION: Set to 1.19.
4	* REVISION: Set to 0.
5	* doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
6
7	* src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
8	Define charset as `US-ASCII' in html output.
9
10	* tmac/www.tmac (ULE): Add missing scaling indicator.
11
12	* win32-diffs: Removed.
13
142003-04-28  Werner LEMBERG  <wl@gnu.org>
15
16	* doc/groff.texinfo: Document `dn' and `dl' registers if used with
17	`.da' and `.boxa'.
18	Document how to insert discardable whitespace with `.ss'.
19
202003-04-27  Werner LEMBERG  <wl@gnu.org>
21
22	* src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
23	work with plain TeX also.
24
25	* src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
26
272003-04-25  Gaius Mulley  <gaius@glam.ac.uk>
28
29	* src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
30	Use a loose DTD.
31
322003-04-24  Werner LEMBERG  <wl@gnu.org>
33
34	* src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
35	vbox with positive height and zero depth if in TeX mode.
36
37	* NEWS: Document glyph name changes for grodvi and grolj4.
38
392003-04-23  Werner LEMBERG  <wl@gnu.org>
40
41	* src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
42	* doc/pic.ms: Fixed.
43
442003-04-21  Werner LEMBERG  <wl@gnu.org>
45
46	HP-UX 10.20 has `snprintf' but it isn't declared.
47
48	* configure.ac: Add declaration test for snprintf.
49	* configure: Regenerated.
50	* src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
51	* src/include/config.hin: Regenerated.
52
532003-04-19  Werner LEMBERG  <wl@gnu.org>
54
55	Add keyword `figname' to pic, specifying the name of the picture
56	box in TeX mode.  Based on a patch from William J Poser
57	<wjposer@unagi.cis.upenn.edu>.
58
59	* src/preproc/pic/pic.y: New token `FIGNAME'.
60	(macro_name): New rule of type <str>.
61	(placeless_element): Handle `FIGNAME'.
62	* src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
63	* src/preproc/pic/main.cpp (graphname): New global variable.
64	(do_picture): Initialize `graphname'.
65	* src/preproc/pic/pic.h: Updated.
66	* src/preproc/pic/tex.cpp (tex_output::start_picture): Use
67	`graphname'.
68	Simplify TeX code.
69	(tex_output::text): Beautify output.
70	* src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
71	`shaded' and `outlined' unconditionally.
72	* NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
73	Minor improvements.
74
75	* PROBLEMS, README.CVS: Mention that bison version 1.875b or
76	greater is necessary.
77
782003-04-17  Hartmut Henkel  <hartmut_henkel@gmx.de>
79
80	Add option -r to soelim to avoid emission of `.lf' lines.
81	Add option -t to produces TeX comment lines instead of `.lf' lines.
82
83	* src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
84	and `tex_flag'.
85	(usage): Updated.
86	(main): Handle `-r' and `-t'.
87	(set_location): Handle `raw_flag' and `tex_flag'.
88	* src/preproc/soelim/soelim.man, NEWS: Updated.
89
902003-04-17  Werner LEMBERG  <wl@gnu.org>
91
92	* tmac/hyphenex.sh: Replaced with...
93	* tmac/hyphenex.pl: This perl script to avoid sed compatibility
94	nightmares.
95
96	* aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
97	if --quiet is used for the configure script.
98	* configure: Regenerated.
99
1002003-04-16  Werner LEMBERG  <wl@gnu.org>
101
102	* src/devices/grohtml/post-html.cpp (text_glob::text_glob):
103	Add `const' to second argument.
104	(html_printer::add_table_end): Add `const' to argument.
105	* src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
106	`const' to arguments.
107	* src/devices/grohtml/html-text.h: Updated.
108
109	* src/devices/grolbp/charset.h (symset): Use `unsigned char'.
110	* src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
111	argument.
112
113	* src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
114	cast for integer constant.
115
116	* src/preproc/html/pre-html.cpp (image_device): Use `const'.
117	(writeNbytes): Add `const' to first argument.
118	(writeString): Add `const' to argument.
119	(char_buffer::can_see): Add `const' to third argument.
120	* src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
121	`const' to argument.
122	* src/preproc/html/pushback.h: Updated.
123
124	* src/preproc/soelim/soelim.cpp (include_list): Add `const'.
125	(include_path_append): Add `const' to argument.
126	(do_file): Updated.
127
128	* src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
129	for `value'.
130	(unicode_to_glyph_init::unicode_to_glyph_init): Updated.
131	* src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
132	for `value'.
133	(unicode_decompose_init::unicode_decompose_init): Updated.
134	* src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
135	for `value'.
136	(glyph_to_unicode_init::glyph_to_unicode_init): Updated.
137	* src/roff/troff/input.cc (process_startup_file): Add `const' to
138	argument.
139
140	* tmac/hyphenex.sh: Make script more portable by using a here
141	document.
142
1432003-04-15  Werner LEMBERG  <wl@gnu.org>
144
145	Renamed all `*.cc' files to `*.cpp'.
146	Updated all configuration files, makefiles, and documentation.
147
1482003-04-14  Werner LEMBERG  <wl@gnu.org>
149
150	* tmac/hyphenex.sh: Slight improvements.
151
1522003-04-13  Werner LEMBERG  <wl@gnu.org>
153
154	* font/devascii/R.proto, font/devcp1037/R.proto,
155	font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
156	character slots with unnamed glyphs.
157
158	* tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
159	(an-first): New global variable.
160	(an-header): Emit vertical space between multiple man pages.
161
1622003-04-11  Werner LEMBERG  <wl@gnu.org>
163
164	* doc/groff.texinfo, man/groff_out.man: \S only accepts integer
165	values.
166
1672003-04-10  Werner LEMBERG  <wl@gnu.org>
168
169	* PROBLEMS: Revised.
170
1712003-04-10  Bernd Warken  <bwarken@mayn.de>
172
173	* doc/webpage.ms: Improved.
174
1752003-04-09  Werner LEMBERG  <wl@gnu.org>
176
177	Add register \n[.height] which returns the value of \H.
178	Add register \n[.slant] which returns the value of \S.
179
180	* src/roff/troff/env.cc (init_env_requests): Implement.
181	* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
182	Document.
183
1842003-04-08  Werner LEMBERG  <wl@gnu.org>
185
186	* tmac/html.tmac: Move some of the data into html-end.tmac.
187	Remove most of the character translations for eqn since html fonts
188	now cover those characters.
189	Load www.tmac.
190	* tmac/html-end.tmac: New file.
191	* tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
192	* tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
193	* tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
194
1952003-04-07  Werner LEMBERG  <wl@gnu.org>
196
197	* man/groff_out.man: Document negative values of `N' if -Thtml is
198	used.
199
2002003-04-06  Werner LEMBERG  <wl@gnu.org>
201
202	* Makefile.comm (depend.temp): Check location of YTABC.
203
2042003-04-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
205
206	* contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
207	binary path.
208	(groff_bin_path): Rename to GROFF_BIN_PATH.
209	(GROFF): Use GROFFBIN and GROFF_BIN_PATH.
210	* doc/Makefile.in (TROFFBIN): New variable for troff
211	binary path.
212	(GROFFBIN): New variable for groff binary path.
213	(groff_bin_path): Rename to GROFF_BIN_PATH.
214	(TROFF): Use TROFFBIN.
215	(GROFF): Use GROFFBIN and GROFF_BIN_PATH.
216	* doc/Makefile.sub (GROFFBIN): New variable for groff
217	binary path.
218	(groff_bin_path): Rename to GROFF_BIN_PATH.
219	(GROFF): Use GROFFBIN and GROFF_BIN_PATH.
220
221	* Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
222	with INSTALL_SCRIPT.
223	(uninstall_dev): Uninstall scripts from DEVSCRIPTS.
224	* Makefile.dev (all): Depend on DEVSCRIPTS.
225	(install_dev): Likewise.
226	* font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
227	scripts.
228	* font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
229	(DEVGENSCRIPTS): New variable to hold generated scripts.
230
2312003-04-05  Werner LEMBERG  <wl@gnu.org>
232
233	* src/libs/libdriver/input.cc (IntArray::operator[],
234	IntArray::get_data): Remove meaningless `const' in return value.
235
236	* README.CVS: New file.
237
2382003-04-04  Werner LEMBERG  <wl@gnu.org>
239
240	Check for stdint.h in C++, not in C.
241
242	* aclocal.m4 (GROFF_STDINT_H): New function,
243	* configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
244	AC_CHECK_HEADERS.
245	* configure, src/include/config.hin: Regenerated.
246	* src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
247
248
249	Fix handling of &nbsp; in grohtml.  To do this, troff emits `N'
250	with a negative value, representing the width of the unbreakable
251	space (only for -Thtml).  grohtml then converts this back to
252	&nbsp; and uses the value of N as its width.
253
254	* src/roff/troff/node.cc (space_char_hmotion_node::tprint,
255	unbreakable_space_node::tprint): Emit `N-<width>'.
256	* src/include/printer.h (printer::set_numbered_char): Make it
257	virtual.
258	Make members `font_table' and `nfonts' protected instead of private.
259	* src/devices/grohtml/post-html.cc
260	(html_printer::set_numbered_char): New member function.
261
262
263	* src/libs/libgroff/maxfilename.cc:
264	s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
265
266	* src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
267	emit word marker.
268
2692003-04-03  Sergey A. Osokin  <osa@freebsd.org.ru>
270
271	* man/roff.man: Small fixes.
272
2732003-04-03  Werner LEMBERG  <wl@gnu.org>
274
275	Make groff independent from locale's numeric settings.
276
277	* configure.ac: Check for `setlocale'.
278	* configure, src/include/config.hin: Regenerated.
279
280	* src/include/lib.h: Handle HAVE_SETLOCALE.
281
282	* src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
283	(main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
284	(main), src/preproc/pic/main.cc (main): Call `setlocale'.
285
286
287	* doc/groff.texinfo: Change dir category to `Typesetting'.
288	(Man font macros): Mention that there is no space between arguments
289	of .BI and friends.
290
291	* src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
292	(*printer::change_color, *printer::change_fill_color): Add missing
293	`const'.
294
2952003-04-02  Werner LEMBERG  <wl@gnu.org>
296
297	* src/devices/grohtml/html-table.cc (html_table::emit_col,
298	html_table::is_gap): Compute table widths after converting border
299	positions to avoid rounding errors.
300
3012003-04-01  Werner LEMBERG  <wl@gnu.org>
302
303	* src/devices/grohtml/html-text.cc (html_text::do_space): Handle
304	`space_emitted' properly.
305
3062003-03-31  Werner LEMBERG  <wl@gnu.org>
307
308	* src/devices/grohtml/html-table.cc: Fix column width calculation.
309	(html_table::set_linelength): Don't add 1.
310	(html_table::add_indent): Don't subtract 1.
311
312	* tmac/html.tmac: Set default page offset to zero.
313
3142003-03-30  Werner LEMBERG  <wl@gnu.org>
315
316	Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
317
318	* src/roff/troff/node.cc (space_char_hmotion_node::tprint,
319	unbreakable_space_node::tprint): New functions.
320	(troff_output_file): Make space_char_hmotion_mode::tprint and
321	unbreakable_space_node::tprint to friends.
322	* src/roff/troff/node.h: Updated.
323
324	* font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
325	in the HTML standard).
326
3272003-03-29  Werner LEMBERG  <wl@gnu.org>
328
329	* src/roff/troff/env.cc (point_size): Fix emission of html tag.
330	Otherwise, the following code
331
332	  .di xxx
333	  .ps 10
334	  a
335	  .br
336	  .di
337	  x\*[xxx]
338
339	produces `x a' instead of `xa'.  This is a temporary fix, disabling
340	font changes in diversions for -Thtml.
341
342	* tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
343	`HTML-TAG'.
344	(an-do-tag-html): Merge with ...
345	(an-do-tag): This macro.
346	Change code slightly to circumvent grohtml bug.
347	* tmac/troffrc-end: Define dummy for HTML-TAG-NS.
348
349	* src/devices/grohtml/html-table.cc (html_table::emit_col,
350	html_table::is_gap): Round `width' properly.
351
352	* tmac/html.tmac: Provide some default layout parameters for
353	grohtml.
354
355	* font/devhtml/DESC.proto: Don't use discrete values for `sizes'
356	command.
357
3582003-03-28  Werner LEMBERG  <wl@gnu.org>
359
360	src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
361
3622003-03-27  Werner LEMBERG  <wl@gnu.org>
363
364	* tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
365	defined.
366
3672003-03-20  Werner LEMBERG  <wl@gnu.org>
368
369	* src/roff/troff/env.cc (vertical_spacing): Allow zero value for
370	`.vs'.
371	* doc/groff.texinfo: Updated.
372
3732003-03-19  Werner LEMBERG  <wl@gnu.org>
374
375	* src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
376	TOKEN_END_TRAP>: Reset `have_input'.
377
3782003-03-18  Werner LEMBERG  <wl@gnu.org>
379
380	* src/roff/groff/groff.man: Mention groff_trace man page.
381
3822003-03-16  Werner LEMBERG  <wl@gnu.org>
383
384	* Makefile.in (LIBEXT): New variable to indicate the file extension
385	of library files.  Computed heuristically from $(OBJEXT).
386	(MDEFINES): Add $(LIBEXT).
387	* Makefile.lib, Makefile.comm: Use it.
388
389	* src/utils/pfbtops/pfbtops.c (get_text): New function.  Split
390	overlong lines into smaller chunks.
391	(get_binary): New function.
392	(main): Use them.
393	* src/utils/pfbtops/pfbtops.man: Updated.
394
3952003-03-15  Colin Watson  <cjwatson@debian.org>
396
397	* src/roff/groff/groff.man: Minor syntax fix.
398
3992003-03-14  Egil Kvaleberg  <egil@kvaleberg.no>
400
401	* src/devices/grops/ps.cc (ps_printer::media_set,
402	ps_printer::~ps_printer): Handle zero paper width and length.
403
4042003-03-13  Werner LEMBERG  <wl@gnu.org>
405
406	Add options -p and -l to grodvi.
407
408	* src/devices/grodvi/dvi.cc: Include paper.h.
409	(landscape_flag, user_paper_length, user_paper_width): New global
410	variables.
411	(dvi_printer::begin_page): Emit `papersize' special.
412	Set color after initialization of `cur_h' and `cur_v'.
413	(main): Add options `-l' and `-p'.
414	* font/devdvi/Makefile.sub (DESC): Set `papersize'.
415	* src/devices/grodvi/grodvi.man, NEWS: Updated.
416
417	* src/devices/grops/psrm.cc (valid_input_table): Fixed.
418
4192003-03-12  Werner LEMBERG  <wl@gnu.org>
420
421	* src/devices/grops/grops.man: Move documentation of .PSPIC to...
422	* man/groff_tmac.man: This man page.
423	* man/groff_font.man: Declare `paperwidth' and `paperlength' as
424	deprecated.
425
426	* tmac/X.tmac: Don't load pspic.tmac.
427
4282003-03-11  Werner LEMBERG  <wl@gnu.org>
429
430	Make variable `pr' local to libdriver/input.cc.  Based on a patch
431	by Bernd Warken <bwarken@mayn.de>.
432
433	* src/include/driver.h (pr): Removed.
434
435	* src/libs/libdriver/input.cc (pr): New global variable.
436	(do_file): Deallocate `pr'.
437	* src/libs/libdriver/printer.cc (pr): Removed.
438
439	* src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
440	(main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
441	(main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
442	(main): Don't delete `pr'.
443
4442003-03-10  Werner LEMBERG  <wl@gnu.org>
445
446	* tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
447	* tmac/papersize.tmac: New file.
448	* tmac/troffrc: Include `papersize.tmac'.
449	* tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
450	* tmac/an-old.tmac: Set LT to LL by default.
451
452	* NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
453	doc/groff.texinfo: Updated.
454
455	* src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
456	bug which caused all odd iso papers to have wrong dimensions.
457
458	* src/devices/grops/ps.cc (user_paper_width): New global variable.
459	(main) <'p'>: Set `user_paper_width' also.
460	(ps_printer::media_width, ps_printer::media_height): Use values
461	given with option `-p'.
462
4632003-03-09  Werner LEMBERG  <wl@gnu.org>
464
465	* src/include/nonposix.h: Provide default for SET_BINARY.
466
467	* src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
468	src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
469	unconditionally.
470
471	* src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
472	(main): Treat \r\n as \n.
473
4742003-03-08  Werner LEMBERG  <wl@gnu.org>
475
476	* tmac/an-old.tmac: Use register `HY' to control hyphenation.
477	* NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
478
4792003-03-07  Werner LEMBERG  <wl@gnu.org>
480
481	Added support to access more than 256 glyphs in Type 1 fonts.
482
483	* src/devices/grops/ps.cc (subencoding): New structure.
484	(style): Add `sub' field.
485	Updated all users.
486	(ps_printer): Add `subencodings' and `next_subencoding_index' fields.
487	Add `set_subencoding', `get_subfont' and `encode_subfont' member
488	functions.
489	Updated all users.
490	(ps_printer::set_char): Use `set_subencoding'.
491	(make_subencoding_name): New function.
492	(ps_printer::set_style): Handle case where `sty.sub' is not zero.
493	(ps_printer::~ps_printer): Emit subencoding definitions.
494
495	* src/devices/grops/psrm.cc (valid_input_table): New array to
496	properly support EBCDIC.
497	(white_space): Add `\f'.
498	(ps_get_line): Change first argument to be of type `string &'.
499	Updated all callers.
500	This allows to get lines of arbitrary length.
501	Use `valid_input_table'.
502	Remove warning about non-conforming PS line length.  This seems
503	not to be of great importance -- for example, dvips don't emit
504	a warning either.
505	(PS_LINE_MAX): Removed.
506	(matches_comment): Change first argument to be of type `string &'.
507
508	* src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
509
510	* src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
511	%AGL_to_unicode, %default_ligatures): New hash tables.
512	Read all map entries.
513	Add unencoded characters.
514	Check for default ligatures if there are no `L' entries.
515	Print all kern entries.
516	Print all characters in charset.
517	* src/utils/afmtodit/afmtodit.man: Updated.
518
519	* font/devps/*: Regerated all fonts.
520
521	* tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
522	of characters, just use `.trin'.  Otherwise the mapping depends
523	on the font encoding.
524	* tmac/ps.tmac: Add `fi' and `fl'.
525	Improve `Fi' and `Fl'.
526	* tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
527	* tmac/Xps.tmac: Fix `em'.
528
529	* NEWS: Updated.
530
5312003-03-04  Werner LEMBERG  <wl@gnu.org>
532
533	* src/roff/troff/input.cc (charinfo_to_node_list): Reset
534	`have_input'.
535
5362003-03-03  Werner LEMBERG  <wl@gnu.org>
537
538	* Makefile.sub (DISTCLEANFILES): Add gxditview._man.
539
540	* font/devps/generate/textmap: Remove entry `similarequal'.
541	* font/devps/symbolmap: Updated.
542
5432003-03-02  Werner LEMBERG  <wl@gnu.org>
544
545	* src/libs/libgroff/font.cc (font::load): Fix error message for
546	bad character type.
547
548	* src/devices/grops/grops.man: Improve documentation of the -b
549	flag.
550
551	* tmac/tty.tmac: Load latin1.tmac for all TTY devices except
552	`ascii' and `cp1047'.
553
5542003-03-01  Werner LEMBERG  <wl@gnu.org>
555
556	Document composite glyphs and the `composite' request.
557
558	* man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
559
5602003-02-28  Werner LEMBERG  <wl@gnu.org>
561
562	* font/devdvi/generate/ec.map: Add some more Unicode entities.
563	* font/devdvi/*EC: Updated.
564
565	* tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
566	* tmac/latin1 (latin1-tr): Undo any previous mapping.
567	* tmac/troffrc: Load `composite.tmac'.
568	* tmac/Makefile.sub (NORMALFILES): Updated.
569
570	* doc/groff.texinfo (Input Encodings): New section.
571	* NEWS: Updated.
572
5732003-02-27  Werner LEMBERG  <wl@gnu.org>
574
575	* doc/texinfo.tex: New version 2003-02-11.06.
576
577	* tmac/doc-common (Dt): Don't emit warning for unknown section.
578	* tmac/groff_mdoc.man: Fix description of `Dt'.
579
5802003-02-26  Egil Kvaleberg  <egil@kvaleberg.no>
581
582	* font/devps/prologue.ps: Fix for included Postscript that does
583	a setpagedevice -- which is now safely ignored.
584
585	* NEWS: Updated.
586
587	* src/devices/grops/ps.cc: Now sets the page size in the generated
588	document.  This is done in two ways: Via a %%-comment for gv and
589	the like, and via a PageSize and setpagedevice for programs that
590	understands Postscript proper, like ps2pdf.
591
592	* src/devices/grops/ps.h: New broken-flag to avoid page size
593	definition, if required.
594
595	* src/devices/grops/grops.man: New broken-flag 16 mentioned.
596
597	* doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
598	Not really necessary due to the fix in prologue.ps, but cleaner:
599	Such information does not belong in an .eps file.
600
601	* doc/Makefile.sub: See doc/Makefile.in.
602
6032003-02-26  Ralph Corderoy  <ralph@inputplus.co.uk>
604
605	* aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
606	instead of P1 since the latter is broken in some versions of netpbm.
607	* configure: Updated.
608
6092003-02-26  Larry Kollar  <kollar@alltel.net>
610
611	Make man pages more customizable.
612
613	* tmac/an-old.tmac (FT): New register holding footer distance from
614	bottom.
615	(HF): New string holding the default heading font.
616	(TH): Handle registers `IN' and `SN' set on the command line.
617	Use `FT'.
618	(PT, BT): New strings to customize header and footer lines.
619	(an-header, an-footer): Use them.
620	(SH, SS): Use `HF'.
621	* tmac/groff_man.man: Document changes.
622
623	* doc/groff.texinfo: Document man changes.
624	Document Ultrix extensions of man.
625
6262003-02-26  Werner LEMBERG  <wl@gnu.org>
627
628	* src/roff/troff/input.cc (do_width, do_if_request): Reset
629	`have_input' after changing back to old environment.
630
631	* src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
632	function up to be defined before first call.  This is necessary to
633	avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
634
635	* src/utils/afmtodit/afmtodit.pl: Make script search for files in
636	the default font directory also.  Based on a patch from James
637	J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
638	* src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
639	* src/utils/afmtodit/afmtodit.man: Document it.
640
641	* NEWS: Updated.
642
643	* tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
644
6452003-02-25  Gaius Mulley  <gaius@glam.ac.uk>
646
647	* aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
648	(GROFF_PNMTOPS_NOSETPAGE): New macro.
649	* configure.ac: Use it.
650	* configure: Regenerated.
651	* Makefile.in: Updated.
652
653	* tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
654	(CLEANADD): Add www.tmac-sed.
655	(pnmtops_nosetpage): Define default.
656	(install_data): Handle www.tmac-sed and substitute
657	@PNMTOPS_NOSETPAGE@.
658	(stamp-sed): Add www.tmac.
659	* tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
660	It now breaks URLs at suitable places.
661	(www:substring_ok): New register set by...
662	(www:@test_substring): New macro.
663	(www:error): New alias to www-error.
664	(www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
665	New macros.
666	(URL): Use www:url_breaks.
667	(PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
668	(CDS, CDE): New macros.
669
6702003-02-25  Werner LEMBERG  <wl@gnu.org>
671
672	* src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
673	buffer overflow.
674
6752003-02-24  Werner LEMBERG  <wl@gnu.org>
676
677	Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
678	can be negative also.
679
680	* src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
681	`int16'.
682	(read_char_table): Avoid negative ascenders.
683	(output_charset): Add cast.
684	* font/devlj4/*: Regenerated.
685
686	Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
687	possible.
688
689	* font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
690	* font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
691	of `<>'.
692	* font/devdvi/*: Regenerated.
693
694	Map `la' and `ra' to U+27E8 and U+27E9.  These two characters have
695	normal width, while the previously used characters (U+2329 and
696	U+232A) are classified as wide due to canonical equivalence with the
697	CJK punctuation characters U+3008 and U+3009.
698
699	* font/devutf8/R.proto: Updated.
700	* src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
701
702	* man/groff_char.man: Simplify handling of table traps by
703	introducing `start block' and `end block' macros.
704	(Ns, Ne, 2s, 2e, Ds, De): New macros.
705	(DL): Make it work with Unix troff also.
706	Fix code values of `la' and `ra'.
707
708	* tmac/dvi.tmac: Define `<>' for CW and CWI.
709
7102003-02-23  Gaius Mulley  <gaius@glam.ac.uk>
711
712	* src/devices/grohtml/post-html.cc (element_list::~element_list):
713	New destructor, fixing a major memory leak.
714
7152003-02-22  Werner LEMBERG  <wl@gnu.org>
716
717	* font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
718	to be in conformance with Unicode 3.0 and newer.
719
720	* font/devlj4/generate/text.map: Add `Eu'.
721	* font/devlj4/generate/special.map: Flip `*e' and `+e'.
722	* font/devlj4/S: Regenerated.
723
724	* man/groff_char.man: Completely rewritten.
725
726	* doc/groff.texinfo: Fix description of request and macro arguments.
727
7282003-02-20  Gaius Mulley  <gaius@glam.ac.uk>
729
730	Valgrind fixes.
731
732	* src/devices/grohtml/html-table.cc (html_table::~html_table):
733	Deallocate `columns' list.
734	* src/devices/grohtml/post-html.cc (char_block::~char_block):
735	New destructor.
736	(text_glob::text_glob_html, text_glob::text_glob_special,
737	text_glob::text_glob_line, text_glob::text_glob_auto_image,
738	text_glob::text_glob_tag): Avoid memory leaks.
739	(text_glob::remember_table): Free memory before reassigning.
740
7412003-02-19  Werner LEMBERG  <wl@gnu.org>
742
743	Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
744	alias `hbar'), the Planck constant over two pi.
745
746	* font/devdvi/generate/texmi.map: Use `*e' for position 15 and
747	`+e' for position 34.
748	* font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
749	`u2662' and `u2661'.
750	* font/devdvi/{MI,S}: Regenerated.
751	* font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
752	* font/devlbp/*: Add `hbar' alias.
753	* font/devlj4/generate/special.map: Ditto.
754	* font/devlj4/S: Regenerated.
755	* font/devps/generate/symbolchars: Add `+e'.
756	* font/devps/generate/textmap: Fix PS name for `-h'.
757	Add `hbar' alias.
758	* font/devps/symbolmap: Regenerated.
759
760	* src/devices/grops/ps.cc (transform_fill): Removed since unused.
761
762	* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
763	`-h', `hbar'.
764	* src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
765	`-h'.
766
767	* tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
768	`hbar'.
769	* tmac/tty-char.tmac: Add `+e'.
770
7712003-02-17  Werner LEMBERG  <wl@gnu.org>
772
773	Another round trying to really fix problems with `have_input'.
774
775	* src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
776	(token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
777
778	* src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
779	handling if both foreground and background colors are default.
780
781	* doc/groff.texinfo (Debugging): Document .lf differences to
782	AT&T troff.
783
7842003-02-16  Werner LEMBERG  <wl@gnu.org>
785
786	* src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
787	null-bytes in created string.
788
789	* src/roff/troff/input.cc (lookup_color, interpolate_macro,
790	alias_macro, lookup_request): Improve warning messages.
791
792	* src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
793	not `strdup'.
794	Free `last_image_filename'.
795
796	* src/preproc/html/pre-html.cc (char_block::char_block): Initialize
797	`buffer'.
798	(imageList::createPage, imageList::createImage): Use `free', not
799	`a_delete'.
800	(imageItem::~imageItem): Free `imageName'.
801	(addRegDef): Use `strsave', not `strdup'.
802	(get_resolution): Free `pathp'.
803
8042003-02-15  Werner LEMBERG  <wl@gnu.org>
805
806	* src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
807	to `dummy'.
808
8092003-02-14  Werner LEMBERG  <wl@gnu.org>
810
811	Add memory management for colors to deallocate unnamed colors
812	properly.
813
814	* src/include/color.h (color): New members `free_list' and `next'.
815	New member functions `new' and `delete'.
816	Add destructor.
817	* src/libs/libgroff/color.cc: Implement it.
818
819	* src/libs/libgroff/font.cc (font::add_kern): Use integer cast
820	for array size of new operator.
821
822	* src/libs/libdriver/input.cc (IntArray::operator[]): Remove
823	redundant comparison.
824
825	* src/roff/troff/input.cc (word_space_node::reread,
826	hmotion_node::reread): Avoid warning about unused parameter.
827	(reset_output_registers): Remove redundant parameter.
828	(define_color): Undo change 2003-02-12.
829
830	* src/roff/troff/reg.h: Updated.
831
832	* src/roff/troff/node.cc (troff_output_file::really_print_line,
833	output_file::put_filename, real_output_file::really_put_filename,
834	ascii_output_file::really_print_line,
835	break_char_node::get_hyphen_list): Avoid warning about unused
836	parameter.
837	(suppress_node::tprint): Updated.
838
839	* configure.ac: Check declaration for rand() and srand().
840	* configure: Regenerated.
841
842	* src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
843	conditionally.
844	* src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
845	and srand().
846
847	* src/preproc/eqn/delim.cc (delim_table): Add missing initializers
848	to avoid compiler warnings.
849
850	* src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
851	unused.
852
853	* src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
854	is unused.
855	* src/devices/grops/psrm.cc (skip_possible_newline): Remove first
856	(unused) parameter.
857	Updated all callers.
858
859	* src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
860	is unused.
861	* src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
862	* src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
863
864	* src/devices/grohtml/post-html.cc (html_printer::emit_line):
865	Parameter is unused.
866	(html_printer::add_table_end): Define parameter conditionally.
867	* src/devices/grohtml/output.cc (simple_output::special): Parameter
868	is unused.
869
870	* src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
871	(lbp_printer::set_char): Last parameter is unused.
872
873	* src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
874
8752003-02-13  Werner LEMBERG  <wl@gnu.org>
876
877	New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
878	Make \D'f ...' move horizontally again for backwards compatibility.
879	Replace it with \D'Fg ...' where appropriate to avoid dependency
880	on horizontal resolution.
881
882	* src/roff/troff/input.cc (do_get_long_name): New function.
883	(get_long_name): Call it.
884
885	(read_draw_node): Handle `\D'Fx ...' by calling ...
886	(read_color_draw_node): New function.
887
888	(read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
889	`end'.
890	Pass it to `do_get_long_name' which is used instead of
891	`get_long_name'.
892
893	* src/libs/libdriver/input.cc (color_from_Df_command): Remove
894	unnecessary value guard.
895	(parse_D_command) <'f'>: Add horizontal shift.
896
897	* src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
898	* src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
899	(FILL_MAX): Removed.
900
901	* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
902	Updated.
903
9042003-02-12  Werner LEMBERG  <wl@gnu.org>
905
906	* src/roff/troff/input.cc (do_name_test, do_expr_test,
907	do_zero_width): Push `\n' if closing delimiter is missing.
908
909	(token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
910	<'F'>: Make \F non-transparent at the beginning of line.
911	(process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
912	token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
913	`have_input'.
914
915	(define_color): Free color in case of reassignment.
916
917	* doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
918	@DefescListEnd): Use @Var, not @var.
919	Fix all calls.
920
921	* src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
922
923	* src/preproc/pic/object.cc (object_spec::~object_spec): Free
924	`shaded' and `outlined' arrays.
925	(object_spec::object_spec): Initialize `shaded' and `outlined'.
926	(graphic_object::set_fill_color, graphic_object::set_outline_color):
927	Use strsave.
928	(closed_object::set_fill_color): Ditto.
929	* src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
930	instead of strdup.
931	(troff_output::reset_color): Use a_delete instead of free.
932	* src/preproc/pic/main.cc (do_file): Free `out' in case of error.
933
9342003-02-11  Werner LEMBERG  <wl@gnu.org>
935
936	* doc/groff.texinfo: Improve documentation of `ad'.
937	Document that \D'f...' is dependent on the horizontal resolution.
938	* man/groff_diff.man: Improve documentation of \D'f...'.
939
940	* src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
941	compensating \h'...' for \D'f ...' since the latter no longer moves
942	current position.
943	* src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
944
9452003-02-10  Werner LEMBERG  <wl@gnu.org>
946
947	Improve error messages for `x F' (and `F') commands.
948
949	* src/include/error.h: Add declaration for
950	`current_source_filename'.
951	* src/libs/libgroff/filename.cc: Add `current_source_filename'.
952	* src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
953	parameter for source file string.
954	Updated all callers.
955
956	* src/libs/libdriver/input.cc: Add `current_source_filename'.
957	(remember_source_filename): New function.
958	(parse_x_command <'F'>, do_file <'F'>): Use it.
959
9602003-02-09  Werner LEMBERG  <wl@gnu.org>
961
962	Make grotty not emit warnings about unknown colors more than
963	necessary.
964
965	* src/devices/grotty/tty.cc: Include `ptable.h'.
966	(TTY_MAX_COLORS): Removed.
967	(DEFAULT_COLOR_IDX): Defined to -1.
968	(glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
969	(tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
970	Change `tty_colors' to be a ptable.
971	First arg of `put_color' is now `char'.
972	New functions `make_rgb_string' and `tty_color'.
973	(tty_printer::tty_printer): Use `tty_color'.
974	(tty_printer::color_to_idx): Return value is now `char'.
975	Use `tty_color'.
976
977	* src/include/color.h (color): Add `print_color' member function.
978	* src/libs/libgroff/color.cc (color::print_color): Implement it.
979
9802003-02-08  Werner LEMBERG  <wl@gnu.org>
981
982	Valgrind fixes.
983
984	* src/devices/grops/ps.cc (ps_printer::define_encoding): Close
985	encoding file.
986
987	* src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
988	assume that value has been allocated with `new[]', thus use
989	`a_delete' for deallocation.
990
991	* src/libs/libdriver/input.cc (get_integer_arg,
992	get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
993	where appropriate.
994
995	* src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
996	* src/libs/libgroff/nametoindex.cc
997	(character_indexer::named_char_index): Use `new <type>[1]'.
998
999	* src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
1000	<type>[1]'.
1001	* src/preproc/eqn/text.cc (set_special_char_type): Ditto.
1002	(split_text): Use `a_delete'.
1003
1004	* src/preproc/pic/pic.y (define_label, define_variable): Use `new
1005	<type>[1]'.
1006
1007	* src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
1008	harmless memory leak.
1009	(hyphen_trie::read_patterns_file): Initialize `buf'.
1010	* src/roff/troff/node.cc (troff_output_file::troff_output_file):
1011	Initialize `current_fill_color'and `current_glyph_color'.
1012	* src/roff/troff/glyphuni.cc
1013	(glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
1014	* src/roff/troff/uniuni.cc
1015	(unicode_decompose_init::unicode_decompose_init): Ditto.
1016	* src/roff/troff/uniglyph.cc
1017	(unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
1018
10192003-01-26  Werner LEMBERG  <wl@gnu.org>
1020
1021	* src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
1022	`access' before calling `unlink'.
1023	(do_file): Handle __EMX__.
1024
1025	* src/include/nonposix.h: Handle __EMX__.
1026
1027	* Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
1028	(fontpath,tmacpath): Use it.
1029	(MDEFINES): Add it.
1030	Sorted alphabetically.
1031
1032	* src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
1033	@SEP@.
1034	* src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
1035	@SEP@.
1036
10372003-01-27  Werner LEMBERG  <wl@gnu.org>
1038
1039	* src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
1040	New files, copied from gnulib.
1041	* src/libs/libgroff/Makefile.sub (CSRCS): Add them.
1042	* configure.ac: Updated.
1043	* configure: Regenerated.
1044
1045	* src/include/config.hin: Regenerated.
1046	* src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
1047	Don't define `strcasecmp' as `strcmp'.
1048	[!HAVE_STRNCASECMP]: Declare `strncasecmp'.
1049	Dont define `strncasecmp' as `strncmp'.
1050
1051	* src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
1052	Removed.
1053
10542003-01-26  Werner LEMBERG  <wl@gnu.org>
1055
1056	* src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
1057	s/unline/unlink/.
1058
10592003-01-25  Werner LEMBERG  <wl@gnu.org>
1060
1061	* doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
1062
10632003-01-24  Werner LEMBERG  <wl@gnu.org>
1064
1065	Add US-english hyphenation exceptions (converted from Barbara
1066	Beeton's hyphenation exception log reports which appear irregularly
1067	in TUGBoat).
1068
1069	* tmac/hyphen.us: Updated to latest version.
1070	* tmac/README: Updated.
1071	* tmac/hyphenex.us, tmac/hyphenex.sh: New files.
1072	* tmac/troffrc: Load `hyphenex.us'.
1073	* tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
1074	* doc/groff.texinfo: Updated.
1075
10762003-01-23  Werner LEMBERG  <wl@gnu.org>
1077
1078	Improve hyphenation slightly.  This is a first step in redesigning
1079	the hyphenation algorithm to make it more flexible (e.g. allowing
1080	kerns and ligatures between the hyphenation character and the
1081	following character -- while not used normally in English, other
1082	languages like German would benefit).
1083
1084	* src/roff/troff/env.cc (environment::hyphenate_line): Use
1085	assertion instead of if-clause.
1086	Let `get_hyphen_list' return the number of involved characters in
1087	the hyphenation pattern instead of computing it directly (which
1088	often yields too small values).
1089	* src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
1090	* src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
1091	parameter.
1092
10932003-01-22  Werner LEMBERG  <wl@gnu.org>
1094
1095	Fixing a bug which caused groff to hang if the hyphenation exception
1096	dictionary tried to grow.
1097
1098	* src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
1099	hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
1100	pointer to dictionary.
1101
11022003-01-20  Werner LEMBERG  <wl@gnu.org>
1103
1104	* src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
1105	negative left italic correction.
1106	* src/utils/afmtodit/afmtodit.man: Document it.
1107
1108	* font/devps/generate/Makefile (RFLAG): Add `-m'.
1109	* font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
1110	S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
1111
1112	* NEWS: Updated.
1113
11142003-01-16  Werner LEMBERG  <wl@gnu.org>
1115
1116	* NEWS: Updated.
1117
11182003-01-16  J�rgen Grahn  <jgrahn@algonet.se>
1119
1120	* src/preproc/refer/refer.man: Mention REFER environment variable.
1121
11222003-01-05  Werner LEMBERG  <wl@gnu.org>
1123
1124	Similar to \[is], the square root glyph (\[sr]) and the square root
1125	extension glyph (\[radicalex]) are now text symbols.  The new
1126	mathematical versions are called \[sqrt] and \[sqrtex],
1127	respectively.
1128
1129	* font/devX*/S: Regenerated.
1130	* font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
1131	* font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
1132	* font/devdvi/EX, font/devdvi/S: Regenerated.
1133	* font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
1134	* font/devlj4/generate/special.map: Add `sqrt'.
1135	* font/devlj4/S: Regenerated.
1136	* font/devps/generate/textmap: Add `sqrt'.
1137	* font/devps/S, font/devps/symbolmap: Regenerated.
1138
1139	* src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
1140	SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
1141	* src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
1142	overlap horizontally.
1143
1144	* tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
1145	* tmac/dvi.tmac: Add `sr', and `sqrtex'.
1146	Fix `radicalex'.
1147
1148	* doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
1149	and `sqrtex' are overlapping glyphs.
1150
11512003-01-04  Werner LEMBERG  <wl@gnu.org>
1152
1153	* font/devdvi/generate/texsy.map: Add `is'.
1154	* font/devps/symbolmap: Regenerated.
1155	* font/devdvi/*TC, MI, S: Regenerated.
1156
1157	* tmac/dvi.tmac: Remove `is'.
1158
11592003-01-03  Werner LEMBERG  <wl@gnu.org>
1160
1161	`is' is now a text symbol (only relevant for dvi).  The math variant
1162	can be accessed with `integral'.
1163
1164	* font/devX*/S: Regenerated.
1165	* font/devdvi/generate/texex.map: Remove `is'.
1166	* font/devdvi/EX: Updated.
1167	* font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
1168	* font/devlj4/generate/special.map: Ditto.
1169	* font/devlj4/S: Regenerated.
1170	* font/devps/generate/textmap: Add `integral'.
1171	* font/devps/S: Regenerated.
1172
1173	* tmac/dvi.tmac: Define `is'.
1174
1175	* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
1176
1177	* src/preproc/tbl/main.cc (process_format): Fix error message.
1178
11792003-01-02  Werner LEMBERG  <wl@gnu.org>
1180
1181	* font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
1182	* font/devps/textmap: Fix entries for `ne' and `nc'.
1183	* font/devps/symbolmap: Regenerated.
1184
1185	* src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
1186	src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
1187	`38', `58', `78', `-+', `|=', `nc', `ne'.
1188
1189	* tmac/dvi.tmac: Add `nm', `ne', `nc'.
1190	Use `schar' for `aq'.
1191	* tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
1192	* tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
1193	* tmac/tty.tmac: Add `ne'.
1194
1195	* src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
1196	for fallback glyphs.
1197
11982002-12-29  Werner LEMBERG  <wl@gnu.org>
1199
1200	Add glyph `|='.
1201
1202	* font/devX*/*: Regenerated.
1203	* font/devdvi/generate/ec.map: Remove `eq'.
1204	* font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
1205	Assign `|=' to position 39.
1206	* font/devdvi/*EC, S: Regenerated.
1207	* font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
1208	* font/devlj4/generate/special.map: Make `~=' the same as `~~'.
1209	Assign `|=' to position 549.
1210	* font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
1211	`equalmath'.
1212	Add `uni2243' for `|='.
1213
1214	* tmac/ec.tmac: Add `eq'.
1215	* tmac/dvi.tmac: Add `=~'.
1216	* tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
1217	`|='.
1218
12192002-12-21  Werner LEMBERG  <wl@gnu.org>
1220
1221	* font/devdvi/generate/tc.map: Remove `**'.
1222	* font/devdvi/*TC: Regenerated.
1223	* font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
1224	`78', `<<', `>>'.
1225	* font/devutf8/NOTES: Updated.
1226
1227	* src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
1228	Don't give default parameter to `set_macro'.
1229	* src/roff/troff/input.cc (do_define_character): Use `setx_macro'
1230	instead of `set_macro'.
1231	(charinfo::setx_macro): Implement it.
1232	(charinfo::set_macro): Don't change `mode'.
1233
1234	* tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
1235	* tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
1236	* tmac/dvi.tmac: Define `!=' with `.schar'.
1237
12382002-12-20  Werner LEMBERG  <wl@gnu.org>
1239
1240	* font/devX*/S: Regenerated.
1241	* font/devdvi/generate/ec.map: Remove `pl'.
1242	* font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
1243	* font/devdvi/*{TC,EC}: Regenerated.
1244	* font/devhtml/R.proto: Add `-+'.
1245	Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
1246	* font/devlbp/*: Remove `or'.
1247	* font/devlj4/generate/special.map: Remove `or'.
1248	* font/devlj4/S: Regenerated.
1249	* font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
1250	`seveneighths', `threeeighths'.
1251	Remove `plusmath'.
1252	Replace `minusplus' with `uni2213'.
1253	* font/devps/symbolmap: Regenerated.
1254	* font/devutf8/R.proto: Replace `shc' with unnamed glyph.
1255	Add `-+'.
1256
1257	* src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
1258	function.
1259	* src/roff/troff/node.cc (troff_output_file::put_char_width):
1260	Call glyph_color and fill_color even if tcommand_flag isn't set.
1261	(make_node, node::add_char): Check not ci->is_fallback but
1262	ci->is_normal.
1263
1264	* tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
1265	* tmac/ec.tmac: Add .rchar entry for `f/'.
1266	Don't remove `12', `14', `34'.
1267	Define `pl' to be always roman.
1268	* tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
1269	Define `18', `38', `58', `78'.
1270	* tmac/tty.tmac: Add `-+'.
1271	* tmac/dvi.tmac: Define `f/'.
1272	(dvi-frac): Use `f/'.
1273	* tmac/X.tmac (X-frac, X-frac-mono): New macros.
1274	Define `18', `38', `58', `78'.
1275
12762002-12-15  Colin Watson  <cjwatson@debian.org>
1277
1278	* contrib/pic2graph/pic2graph.sh: Add missing `;;'.
1279
12802002-12-10  Werner LEMBERG  <wl@gnu.org>
1281
1282	Add glyph `tno', a textual variant of `no'.
1283
1284	* font/devX*/*: Regenerated.
1285	* font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
1286	* font/devdvi/generate/{tc.map: Replace `no' with `tno'.
1287	* font/devdvi/generated/{texsy,textex}.map: Add `tno'.
1288	* font/devdvi/*: Regenerated.
1289	* font/devlbp/*: Add `tno'.
1290	* font/devlj4/generate/tex.map: Replace `no' with `tno'.
1291	* font/devlj4/*: Regenerated.
1292	* font/devps/generate/textmap: Replace `no' with `tno'.
1293	* font/devps/generate/symbolchars: Add `no'.
1294	* font/devps/*: Regenerated.
1295
1296	* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
1297
1298	* tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
1299	* tmac/tty-char.tmac: Add entry for `tno' and `3d'.
1300
1301	* NEWS: Updated.
1302
1303	* tmac/dvi.tmac: Replace most `\\' with `\E'.
1304	Add definition for `sd'.
1305	* tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
1306
1307	* tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
1308
13092002-12-08  Werner LEMBERG  <wl@gnu.org>
1310
1311	* tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
1312	mode to avoid rounding errors.
1313	(an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
1314
1315	* src/roff/groff/groff.man, src/roff/nroff/nroff.man,
1316	src/roff/troff/troff.man: Improve documentation of -T.
1317
13182002-12-07  Jeff Conrad  <jeff_conrad@msn.com>
1319
1320	* src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
1321	(run_pipeline) [_WIN32]: Provide working function without `fork'.
1322
13232002-12-06  Werner LEMBERG  <wl@gnu.org>
1324
1325	* font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
1326	glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
1327	Scaling Euro.sansserif glyphs down to have the same height as
1328	digits.
1329	Removed unnecessary points; added some extrema.
1330
1331	* font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
1332	Regenerated.
1333
13342002-12-04  Werner LEMBERG  <wl@gnu.org>
1335
1336	* font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
1337	and `Euro.symbol.bold.slanted'.
1338	Improve some glyph offsets and widths.
1339	* font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
1340	Regenerated.
1341	* font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
1342	typo.
1343	* font/devps/generate/sfdtopfa.pe: Generate PFA in current
1344	direcory.
1345
1346	* tmac/europs.tmac: Updated to new glyph indices.
1347	Use Euro.symbol for font familiy `A'.
1348
1349	* doc/groff.texinfo: Minor improvements.
1350
13512002-12-02  Werner LEMBERG  <wl@gnu.org>
1352
1353	* font/devdvi/generate.tc.map: s/%O/%0/.
1354	* font/devdvi/*TC: Regenerated.
1355
1356	* src/roff/troff/div.cc (init_div_requests): Sorted.
1357
1358	* tmac/dvi.tmac: Remove `Ye'.
1359	* tmac/ec.tmac: Remove `Ye'.
1360	Add .rchar entry for `de'.
1361
1362	* man/groff.man, man/groff_diff.man: Document register `.pe'.
1363	* doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
1364	* NEWS: Updated.
1365
13662002-11-30  Werner LEMBERG  <wl@gnu.org>
1367
1368	Add PS font for various Euro glyphs.
1369
1370	* font/devps/generate/freeeuro.sfd: New master font file for
1371	pfaedit.
1372	* font/devps/generate/sfdtopfa.pe: New conversion script for
1373	pfaedit.
1374	* font/devps/generate/Makefile (FONTS): Add `EURO'.
1375	(EURO, freeeuro.afm, freeeuro.pfa): New rules.
1376	* font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
1377	`freeeuro.sfd'.
1378	* font/devps/EURO: Generated from `freeeuro.afm'.
1379	* font/devps/download: Add `freeuro.pfa'.
1380	* font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
1381	`freeeuro.pfa'.
1382
1383	* tmac/europs.tmac: New file.
1384	* tmac/ps.tmac: Include `europs.tmac'.
1385	* tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
1386
13872002-11-29  Werner LEMBERG  <wl@gnu.org>
1388
1389	* font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
1390	* font/devdvi/S: Regenerated.
1391	* font/devhtml/R.proto: Fix `CR' and `ci'.
1392	Add `OK'.
1393	* font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
1394	Remove `bs'.
1395	* font/devps/symbolmap: Regenerated.
1396	* font/devutf8/R.proto: Fix `CR' and `ci'.
1397	Add `OK'.
1398	* font/devutf8/NOTES: Updated.
1399
1400	* src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
1401	`ci'.
1402	Add `OK'.
1403	* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
1404
1405	* tmac/dvi.tmac: Add `lh' and `rh'.
1406	* tmac/Xps.tmac: Fix `lh' and `rh'.
1407	* tmac/X.tmac: Add `OK'.
1408	* tmac/lj4.tmac: Ditto.
1409
14102002-11-24  Werner LEMBERG  <wl@gnu.org>
1411
1412	* font/devX*/S: Regenerated.
1413	* font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
1414	`lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
1415	* font/devdvi/generate/texsy.map: Remove `or' glyph.
1416	* font/devdvi/S: Regenerated.
1417	* font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
1418	`parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
1419	`parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
1420	`bracketleftbt', `bracketrighttp', `bracketrightex',
1421	`bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
1422	`braceex', `braceleftex', `bracerightex', `bracerighttp',
1423	`bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
1424	`rb', and `bv'.
1425	* src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
1426	* font/devutf8/NOTES: Updated.
1427	* font/devlj4/generate/special.map: Add glyph `braceex'.
1428	* font/devlj4/S: Regenerated.
1429
1430	* tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
1431
14322002-11-14  Werner LEMBERG  <wl@gnu.org>
1433
1434	* src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
1435	and `vA'.
1436	Fix code for `an'.
1437	* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
1438
1439	* doc/texinfo.tex: New version from texinfo 4.3.
1440	* doc/groff.texinfo: Updated for texinfo 4.3.
1441	Use @tie{} where appropriate.
1442	* font/devdvi/generate/ec.map: Don't include `or' and `bv'.
1443	* font/devdvi/generate/tc.map: Remove `rn'.
1444	* font/devdvi/*TC, font/devdvi/*EC: Regenerated.
1445	* font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
1446	Fix code for `an'.
1447	* font/devX100/*, font/devX100-12/*, font/devX75/*,
1448	font/devX75-12/*: Regenerated.
1449
1450	* tmac/dvi.tmac: Add special fonts `SA' and `SB'.
1451	Use .char (again) for `br', `ul', `rn', `or', and `ru'.
1452	Improve definition of `an'.
1453	* tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
1454	`ru'.
1455	* tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
1456	* tmac/X.tmac: Add definition for `or'.
1457	* tmac/Xps.tmac: Undo change 2002-11-05.
1458	* tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
1459
14602002-11-11  Werner LEMBERG  <wl@gnu.org>
1461
1462	* src/roff/troff/node.cc (troff_output_file::put_char): Always
1463	call flush_tbuf.
1464
14652002-11-10  Werner LEMBERG  <wl@gnu.org>
1466
1467	Added three new requests `schar', `fschar', and `rfschar'.  `schar'
1468	defines a glyph which is searched after the check for fonts declared
1469	with `.special' (and before the check for all mounted special
1470	fonts).  `fschar' defines a glyph for a particular font which is
1471	searched after the check for fonts declared with `.fspecial' (and
1472	before the check for fonts declared with `.special').  `rfschar'
1473	removes glyphs defined with `fschar'.
1474
1475	* src/roff/troff/token.h (char_mode): New enum.
1476	Declare do_define_character.
1477	* src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
1478	`mode'.
1479	(charinfo::is_fallback): Updated.
1480	(charinfo::is_special): New method.
1481	* src/roff/troff/input.cc (do_define_character): Add and use
1482	optional second parameter used as a prefix for font-specific glyph
1483	names.
1484	(define_character, define_fallback_character): Updated.
1485	(define_special_character): New function.
1486	(init_input_requests): Add `schar'.
1487	(charinfo::charinfo, charinfo::set_macro): Updated.
1488	* src/roff/troff/node.cc: Include `stringclass.h'.
1489	(make_glyph_node): Handle special glyphs defined with `.schar' and
1490	`.fschar'.
1491	(define_font_special_character, remove_font_special_character): New
1492	functions.
1493	(init_node_requests): Sorted.
1494	Add `fschar' and `rfschar'.
1495	* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
1496	Document new requests.
1497
1498	* font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
1499	* tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
1500
15012002-11-08  Werner LEMBERG  <wl@gnu.org>
1502
1503	Added new font `SC' (cmtex10) to devdvi.
1504
1505	* devdvi/generate/Makefile (FONTS): Add `SC'.
1506	(SC): New rule.
1507	* devdvi/generate/textex.map: New map file for cmtex.
1508	* devdvi/SC: New.
1509	* devdvi/Makefile.sub (DEVFILES): Updated.
1510	* tmac/dvi.tmac: Add fspecial entries for SC.
1511	Add `MI', `S' and `CW' to the `special' call.  Otherwise, `SC' is
1512	found before `S' since the font position of `SC' is lower due to the
1513	gaps in DESC's `font' line.
1514	* tmac/ec.tmac: Add a `special' call.
1515	* NEWS: Updated.
1516
1517	* font/devhtml/R.proto: Remove double entry for `ti'.
1518	* tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
1519	* tmac/tty-char.tmac: Remove entry for `bq'.
1520	* tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
1521	* tmac/ec.tmac: Don't remove `aq' glyph.
1522	* tmac/X.tmac: Fix entry for `em'.
1523	Add entries for `fo' and `fc'.
1524	* tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
1525
1526	* doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
1527	documentation of `special' and `fspecial' requests.
1528
15292002-11-05  Werner LEMBERG  <wl@gnu.org>
1530
1531	* font/devascii/R.proto, font/devcp1047/R.proto,
1532	font/devlatin1/R.proto: Remove entry for `.i'.
1533	* font/devdvi/generate/textt.map: Add entry for `ad'.
1534	* font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
1535	font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
1536	We need this for getting kerning values to compose `/l' and `/L'.
1537	* font/devdvi: Regenerated font definition files for CM fonts.
1538	* font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
1539	* font/devutf8/R.proto: Ditto.
1540	Remove double entry for `ti'.
1541
1542	* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
1543	for (groff) ligatures, `la', and `ra'.
1544	Add "'C", "'c", `IJ', and `ij'.
1545	Remove double entry for `ti'.
1546	* src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
1547	double entries.
1548	Add "'C", "'c", `IJ', and `ij'.
1549	Fix entries for (groff) ligatures, `la', and `ra'.
1550
1551	* tmac/ps.tmac (ps-achar): New macro.
1552	Define "'c" and "'C".
1553	* tmac/tty.tmac: Add entry for `.i'.
1554	* tmac/X.tmac (X-achar): New macro.
1555	Define "'c", "'C", and `:Y'.
1556	Add entries for `IJ' and `ij'.
1557	* tmac/Xps.tmac (Xps-achar): New macro.
1558	Define "'c" and "'C".
1559	Add entries for `IJ' and `ij'.
1560	* tmac/lbp.tmac (lbp-achar): New macro.
1561	Add fallback characters for all groff ligatures and many other
1562	glyphs.
1563	* tmac/dvi.tmac: Fix definitions of `_' and `ul'.
1564	Add entries for `/l' and `/L'.
1565	Define "'c" and "'C".
1566	Add entries for `IJ' and `ij'.
1567
15682002-11-02  Larry Kollar  <kollar@alltel.net>
1569
1570	* PROBLEMS: Document how to solve Mac OS X compilation problems.
1571
15722002-11-02  Werner LEMBERG  <wl@gnu.org>
1573
1574	Adding support for composite glyphs: \[xxx yyy ...] and the
1575	`composite' request.
1576
1577	* src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
1578	to Unicode-based glyph names.
1579	* src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
1580	glyph names to groff glyph names.
1581	* src/roff/troff/uniuni.cc: New file for canonically decomposing
1582	Unicode-based glyph names.
1583	* src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
1584	for handling Unicode glyph names.
1585	* src/roff/troff/input.cc: Include unicode.h.
1586	(composite_glyph_name): New function.
1587	(token::next) <'['>: Handle Unicode glyph names and composite
1588	glyphs.
1589	(composite_dictionary): New dictionary for the `composite' request.
1590	(composite_request): Implement `composite' request.
1591	(init_input_requests): Add `composite'.
1592	Alphabetically sorted.
1593	* src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
1594	commented out).
1595	(init_env_requests): Alphabetically sorted.
1596	Removed `tas' and `tar' (already commented out).
1597	* src/roff/troff/Makefile.sub: Updated.
1598
15992002-10-31  Ruslan Ermilov  <ru@FreeBSD.org>
1600
1601	* src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
1602	of options.
1603
16042002-10-29  Werner LEMBERG  <wl@gnu.org>
1605
1606	Fix computation of .trunc register.  Additionally, its value (and
1607	the value of the .ne register) is now always set before entering the
1608	trap.
1609
1610	* src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
1611	`needed_space' before calling `space'.
1612	(top_level_diversion::space): Remove special code for 'sp before the
1613	first page.
1614	Call `begin_page' with the discarded space as a parameter.
1615	(top_level_diversion::begin_page): Add optional parameter to set
1616	`truncated_space'.
1617	* src/roff/troff/div.h: Updated.
1618
1619	* doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
1620	\n[.ne].
1621
1622	* tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
1623	(LP): Remove superfluous call to `br'.
1624	* tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
1625	* tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
1626
16272002-10-26  Werner LEMBERG  <wl@gnu.org>
1628
1629	* tmac/doc-ditroff: Remove useless switch/variable -rC.
1630	(doc-setup-header): Don't set page register `%'.
1631	* tmac/doc-nroff: Remove variable `C'.
1632	(doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
1633	(doc-setup-header): Don't set page register `%'.
1634	Don't call `bp'.
1635	* tmac/doc-common (doc-header): Call `ns'.
1636	(doc-paragraph): Protect .sp with .br so that it survives traps
1637	possibly set by the user.
1638	* tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
1639
1640	* tmac/doc*: Replace ' with . for consistency if no effect.
1641
16422002-10-26  Werner LEMBERG  <wl@gnu.org>
1643
1644	* tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
1645	so that it survives traps possibly set by the user.
1646
1647	* src/roff/troff/node.cc: Fix the changes from 2002-10-23.
1648	(troff_output_file::set_font): Call flush_tbuf if necessary.
1649	(troff_output_file::fill_color, troff_output_file::glyph_color): Call
1650	flush_tbuf and do_motion only if necessary.
1651	(troff_output_file::start_special,
1652	troff_output_file::put_char_width, troff_output_file::put_char,
1653	troff_output_file::draw): Updated.
1654	(word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
1655	vmotion_node::tprint): Undo change 2002-10-23.
1656
16572002-10-25  Werner LEMBERG  <wl@gnu.org>
1658
1659	* tmac/www.tmac (DC): Fix case of overlapping images.
1660
16612002-10-23  Werner LEMBERG  <wl@gnu.org>
1662
1663	* src/roff/troff/node.cc (troff_output_file::fill_color,
1664	troff_output_file::glyph_color): Set current color before testing
1665	color_flag.
1666	(troff_output_file::put_char_width, troff_output_file::put_char,
1667	troff_output_file::draw): Don't call flush_tbuf and/or do_motion
1668	before glyph_color.
1669	(troff_output_file::file_color, troff_output_file::glyph_color):
1670	Call do_motion.
1671	(word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
1672	vmotion_node::tprint): Move first, then call fill_color.
1673
16742002-10-20  Werner LEMBERG  <wl@gnu.org>
1675
1676	* doc/groff.texinfo, man/groff_tmac.man: Document that it is not
1677	possible to use multiple main macro packages.
1678
16792002-10-19  Werner LEMBERG  <wl@gnu.org>
1680
1681	* src/devices/grops/ps.cc (cmyk_flag): New global variable.
1682	(ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
1683	(ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
1684	is set.
1685	* font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
1686	`where' construction since `cmyksetcolor' is a PS Level 2 operator.
1687
16882002-10-16  Werner LEMBERG  <wl@gnu.org>
1689
1690	* NEWS, doc/webpage.ms: Updated.
1691
16922002-10-14  Werner LEMBERG  <wl@gnu.org>
1693
1694	* src/roff/troff/node.cc (troff_output_file::put_char_width,
1695	troff_output_file::put_char, troff_output_file::fill_color,
1696	troff_output_file::glyph_color): Handle case where color pointer
1697	is null.
1698
16992002-10-13  Ruslan Ermilov  <ru@FreeBSD.org>
1700
1701	Add the new -r option to grotty.  It is similar to the -i option
1702	except it tells grotty(1) to use the "reverse video" attribute to
1703	render italic fonts.
1704
1705	* src/devices/grotty/tty.cc (reverse_flag): New global variable.
1706	(SGR_REVERSE, SGR_NO_REVERSE): New macros.
1707	(tty_printer::make_underline, tty_printer::put_color,
1708	tty_printer::end_page): Use it.
1709	(main): Add -r switch.
1710	(usage): Updated.
1711	* src/devices/grotty/grotty.man: Document it.
1712
17132002-10-11  Ruslan Ermilov  <ru@FreeBSD.org>
1714
1715	* src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
1716	cast to `unsigned char' to properly read patterns with 8bit
1717	characters.
1718
17192002-10-08  Werner LEMBERG  <wl@gnu.org>
1720
1721	* REVISION: Increased to 2.
1722
1723Version 1.18.1 released
1724=======================
1725
17262002-10-08  Werner LEMBERG  <wl@gnu.org>
1727
1728	* doc/webpage.ms, NEWS: Updated.
1729
17302002-10-07  Werner LEMBERG  <wl@gnu.org>
1731
1732	* tmac/doc-common (Ss): Add final `.ns' (similar to `.Sh') to
1733	suppress additional whitespace after the header.
1734
1735	* tmac/doc-ditroff, tmac/doc-nroff (Am): New string to be in sync
1736	with NetBSD.
1737
1738	* src/preproc/grn/grn.man, tmac/groff_mdoc.man, NEWS: Updated.
1739
17402002-10-07  Ruslan Ermilov  <ru@FreeBSD.org>
1741
1742	* tmac/doc-common(doc-volume-operating-system-ateol): New flag.
1743	(Dt): Use it to improve language localization (especially Russian
1744	and French).
1745
17462002-10-07  Daniel Senderowicz  <daniel@synchrods.com>
1747
1748	* src/preproc/grn/gprint.h (BSPLINE, BEZIER): New macros.
1749	* src/preproc/grn/hdb.cc (DBGetType): Parse spline and bezier
1750	drawing commands.
1751	* src/preproc/grn/hgraph.cc (drawwig): Add parameter to control
1752	curve type.
1753	Call `picurve' for BSPLINE.
1754	(HGPrintElt): Handle BSPLINE.
1755	* src/preproc/grn/README: Document it.
1756
17572002-10-03  Werner LEMBERG  <wl@gnu.org>
1758
1759	* src/roff/troff/node.cc (break_char_node::col): New variable.
1760	Updated constructor.
1761	(space_node::tprint, word_space_node::tprint): Call `fill_color'
1762	unconditionally.
1763	(space_node::space_node): Remove assertion.
1764	(break_char_node::add_self): Pass color argument to space node.
1765	* src/roff/troff/input.cc (token::add_to_node_list, token::process):
1766	Ditto.
1767	* src/roff/troff/env.cc (environment::do_break,
1768	environment::add_padding): Ditto.
1769
17702002-10-02  Werner LEMBERG  <wl@gnu.org>
1771
1772	Redesigning color support in troff.  Colors are no longer
1773	represented as separate nodes but are now part of glyph nodes and
1774	friends.  This fixes the current formatting misbehaviour due to the
1775	changes introduced on 2002-09-20.  Some extra code is necessary for
1776	proper grotty support: Without adding color variables to
1777	space-related nodes, the background color would be changed too late.
1778
1779	* src/roff/troff/node.h, src/roff/troff/node.cc:
1780	s/current_pagecolor/current_fill_color/.
1781	s/current_glyphcolor/current_glyph_color/.
1782	(glyph_color_node, fill_color_node): Removed.
1783	(node::get_glyph_color, node::get_fill_color): New virtual member
1784	functions.
1785	(space_node::col): New variable.
1786	Updated constructors of space_node and derived classes accordingly.
1787	(hmotion_node::col): New variable.
1788	Updated constructors of hmotion_node and space_char_hmotion_node
1789	accordingly.
1790	(vmotion_node::col): New variable.
1791	Updated constructor accordingly.
1792	(draw_node::gcol, draw_node::fcol): New variables.
1793	Updated constructor accordingly.
1794	(special_node::gcol, special_node::fcol): New variables.
1795	Updated constructors accordingly.
1796	(troff_output_file::put_char, troff_output_file::put_charwidth,
1797	troff_output_file::draw): Set glyph and fill color.
1798	(troff_output_file::start_special): Set glyph and fill color.
1799	Always set current font.
1800	(troff_output_file::fill_color, troff_output_file::glyph_color):
1801	Don't call `do_motion'.
1802	(glyph_node::gcol, glyph_node::fcol): New variables.
1803	Updated constructors of glyph_node and ligature_node accordingly.
1804	(glyph_node::get_glyph_color, glyph_node::get_fill_color): New
1805	member functions.
1806	(glyph_node::merge_glyph_node,
1807	kern_pair_node::add_discretionary_hyphen,
1808	node::add_discretionary_hyphen): Updated.
1809	(break_char_node::merge_self): Updated.
1810	(word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
1811	vmotion_node::tprint): Handle color.
1812	(make_glyph_node, make_node, node::add_char): Updated.
1813
1814	* src/roff/troff/env.cc (environment::space_newline,
1815	environment::space, environment::output_line, environment::do_break,
1816	environment::make_tab_node, environment::add_padding, title):
1817	Updated.
1818	(environment_switch, environment_copy): Don't add color nodes.
1819
1820	* src/roff/troff/input.cc (do_glyph_color, do_fill_color): Return
1821	nothing.
1822	(token::next): Updated.
1823	\m and \M now are as transparent as \s.
1824	(process_input_stack, token::add_to_node_list, token::process,
1825	read_draw_node): Updated.
1826	(charinfo_to_node_list): Don't add color nodes.
1827
1828	* doc/groff.texinfo: Updated.
1829
18302002-09-27  Ruslan Ermilov  <ru@FreeBSD.org>
1831
1832	* tmac/doc-common (ds-operating-system-FreeBSD-4.*): New version
1833	strings.
1834
18352002-09-27  Colin Watson  <cjwatson@debian.org>
1836
1837	* src/roff/troff/node.cc (bracket_node::copy): Check `list' != 0.
1838
18392002-09-23  Werner LEMBERG  <wl@gnu.org>
1840
1841	* src/devices/grolbp/lbp.cc: Replace `300' with `font::res' where
1842	appropriate.
1843	(DEFAULT_LINEWIDTH_FACTOR): New macro.
1844	(linewidth_factor): New global variable.
1845	(lbp_printer::set_line_thickness): Fix case for size < 0, using
1846	linewidth_factor.
1847	(long_options): Add -w/--linewidth option.
1848	(usage): Updated.
1849	(main): Handle -w option to set linewidth_factor.
1850	(lbp_printer::lbp_printer): Initialize req_linethickness, not
1851	line_thickness.
1852
1853	* src/devices/grolbp/grolbp.man, NEWS, doc/webpage.ms: Updated.
1854
18552002-09-22  Paco Andr�s Verd�  <pandres@dragonet.es>
1856
1857	Fixed a bug in the line thickness setting code.
1858
1859	* src/devices/grolbp/lbp.cc (lbp_printer::req_linethickness): New
1860	variable.
1861	(lbp_printer::set_line_thickness): Pass environment as second
1862	parameter.
1863	Implement it actually.
1864	(lpb_printer::set_char, lbp_printer::draw): Use `req_linethickness'
1865	and `set_line_thickness, depending on the current font size.
1866
18672002-09-21  Werner LEMBERG  <wl@gnu.org>
1868
1869	Some Debian patches.
1870
1871	* src/roff/groff/pipeline.h (MAX_COMMANDS): Increase to 12.
1872	* src/roff/troff/node.cc (bracket_node::copy): Initialize
1873	`list->last'.
1874
18752002-09-20  Werner LEMBERG  <wl@gnu.org>
1876
1877	* configure: Regenerated with autoconf 2.54.
1878
18792002-09-20  Werner LEMBERG  <wl@gnu.org>
1880
1881	* src/roff/troff/env.h (environment): Rename cur_glyph_color to
1882	glyph_color.
1883	Rename cur_fill_color to fill_color.
1884	* src/roff/troff/env.cc: Updated.
1885
18862002-09-20  Werner LEMBERG  <wl@gnu.org>
1887
1888	* src/roff/troff/env.cc (title): Copy color status after processing
1889	title.
1890	* src/roff/troff/input.cc (charinfo_to_node_list): Emit glyph and
1891	fill color nodes to reset colors properly.
1892
1893	* tmac/www.tmac (DC): Fix color handling.
1894
1895	* src/preproc/pic/pic.man, doc/pic.ms: Document some color issues.
1896	* doc/groff.texinfo: Fixing documentation of `tl' request.
1897	* doc/webpage.ms: Updated.
1898
18992002-09-19  Werner LEMBERG  <wl@gnu.org>
1900
1901	* src/roff/troff/env.cc (environent_switch, environment_copy):
1902	Emit glyph and fill color nodes to initialize colors properly.
1903
19042002-09-17  Colin Watson  <cjwatson@debian.org>
1905
1906	* src/roff/troff/env.cc (environment::set_glyph_color,
1907	environment::set_fill_color): Fix typo which prevented \m[] work
1908	correctly.
1909
19102002-09-17  Werner LEMBERG  <wl@gnu.org>
1911
1912	Add left and right italic correction to non-slanted PS fonts.  This
1913	is an experimental feature to improve image rendering of grohtml.
1914
1915	* font/devps/generate/Makefile (RFLAG): New variable, set to `-i 0'.
1916	({T,H,C,P,N,BM,A,HN}{R,B}, ZD, S, ZDR): Use it.
1917	* font/devps/*: All non-slanted fonts regenerated.
1918	* NEWS: Updated.
1919
19202002-09-16  Werner LEMBERG  <wl@gnu.org>
1921
1922	Add a site-specific font directory.
1923
1924	* Makefile.in (localfontdir, legacyfontdir): New variables.
1925	(fontpath): Use them.
1926	(MDEFINES, uninstall_dirs): Updated.
1927	* Makefile.comm (.man.n): Add `LOCALFONTDIR' and `LEGACYFONTDIR'.
1928	Remove `FONTPATH' and `MACROPATH'.
1929
1930	* src/roff/troff/troff.man, NEWS: Updated.
1931	* doc/groff.texinfo (Font Directories): New section.
1932	Other minor fixes.
1933
1934	* src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
1935	src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
1936	src/preproc/grn/grn.man: Minor fixes.
1937
1938	* src/devices/grohtml/post-html.cc (html_printer::do_tab_ts):
1939	Remove unused variable.
1940
19412002-09-11  Werner LEMBERG  <wl@gnu.org>
1942
1943	* doc/groff.texinfo, man/groff_font.man: Clarify argument of \N.
1944	* man/groff_out.man: Fix documentation of 'N'.
1945
19462002-09-09  Gaius Mulley  <gaius@glam.ac.uk>
1947
1948	* doc/Makefile.in (webpage.html): Depend on gnu.eps also.
1949	* src/roff/troff/env.cc (indent): Emit html tag only if break_flag is
1950	set.
1951	* src/devices/grohtml/post-html.cc (text_glob::is_br_ni): Removed.
1952	(text_glob::is_br, html_printer::lookahead_for_tables): Updated.
1953	(html_printer::do_tab_ts): Call `emit_table_header' with `FALSE'.
1954	* src/devices/grohtml/html-text.cc (html_text::start_tag) <P_TAG,
1955	PRE_TAG>: Call `begin' with `FALSE'.
1956
19572002-09-09  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
1958
1959	* src/libs/libgroff/string.cc (string::extract): Fix position of
1960	terminating null byte.
1961
19622002-09-08  Werner LEMBERG  <wl@gnu.org>
1963
1964	Add global option `nospaces' to tbl so that leading and trailing
1965	spaces in data items are ignored.
1966
1967	* src/libs/libgroff/string.cc (string::remove_spaces): New member
1968	function to remove leading and trailing spaces.
1969	* src/include/stringclass.h: Updated.
1970
1971	* src/preproc/tbl/table.h (table): Add flag `NOSPACES'.
1972
1973	* src/preproc/tbl/main.cc (process_options): Handle `nospaces'
1974	option.
1975	Fix typo in error messages.
1976	(process_data): Implement `nospaces' option.
1977	* src/preproc/tbl/tbl.man, NEWS, doc/webpage.ms: Updated.
1978
19792002-09-07  Werner LEMBERG  <wl@gnu.org>
1980
1981	* src/include/config.hin: Add `HAVE_ISATTY'.
1982	* src/libs/libgroff/tmpfile.cc (xtmpfile_list): Drop `const' for
1983	`fname' member.
1984	* src/libs/libgroff/tmpname.cc: Include `time.h'.
1985	* src/libs/libdriver/input.cc (Char): Add `operator==' and
1986	`operator!=' for `char'.
1987	* doc/groff.texinfo: Replace @ifnottex block for top node with
1988	@ifhtml block.
1989
19902002-09-06  Werner LEMBERG  <wl@gnu.org>
1991
1992	* doc/Makefile.in (.texinfo.html): Add -I switch.
1993	* doc/groff.texinfo: Add @ifnottex block for top node to make
1994	translation to HTML work.
1995
19962002-09-05  Gaius Mulley  <gaius@glam.ac.uk>
1997
1998	* src/preproc/html/pre-html.cc (LETTER_LENGTH): Removed.
1999	(get_papersize, determine_vertical_offset): Removed.
2000	(char_buffer::do_image): Always specify letter size.
2001	(main): Updated.
2002	(imageList::createPage): Use -dDEVICEHEIGHTPOINTS instead of
2003	-sPAPERSIZE.
2004
20052002-09-05  Werner LEMBERG  <wl@gnu.org>
2006
2007	* doc/groff.texinfo, tmac/groff_man.man: Improve documentation of
2008	default indentation.
2009
20102002-09-04  Gaius Mulley  <gaius@glam.ac.uk>
2011
2012	* src/preproc/html/pre-html.cc (imageList::createPage): Use
2013	-sPAPERSIZE for gs.
2014	(generateImages): Clean up push-back buffer.
2015
20162002-09-04  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
2017
2018	* doc/groff.texinfo: Minor fixes.
2019
20202002-08-21  Gaius Mulley  <gaius@glam.ac.uk>
2021
2022	* src/preproc/html/pre-html.cc (DEFAULT_LINE_LENGTH): New macro.
2023	(MAX_WIDTH, A4_LENGTH, A4_OFFSET, LETTER_OFFSET): Removed.
2024	(gsPaper): Removed.
2025	(determine_vertical_offset): Use LETTER_LENGTH.
2026	(createPage): Moved to ...
2027	(imageList::createPage): This.
2028	Call gs with -dDEVICEWIDTHPOINTS to avoid cropping.
2029	(imageList::getMaxX): New function.
2030	(createImage): Moved to ...
2031	(imageList::createImage): This.
2032	(imageList::createImages): New function.
2033	(generateImages): Read `maxx' directly.
2034	Updated.
2035	(scanArguments): Don't specify `gsPaper' for `-o'.
2036	(makeTempFiles): Call `xtmpfile' with the last argument set to
2037	`TRUE'.
2038
20392002-08-24  Werner LEMBERG  <wl@gnu.org>
2040
2041	* src/include/nonposix.h (mkdir, WAIT, creat) [_MSC_VER]: Define.
2042	(WAIT, _WAIT_CHILD) [!_MSC_VER]: Define.
2043	* src/preproc/html/pre-html.cc (waitForChild): Use WAIT.
2044	* src/preproc/html/pushback.cc: Include nonposix.h.
2045	* src/roff/groff/pipeline.c: Define strcasecmp and strncasecmp
2046	conditionally.
2047
20482002-08-23  Werner LEMBERG  <wl@gnu.org>
2049
2050	Use $(OBJEXT) for the object file extension.
2051
2052	* Makefile.comm (.SUFFIXES): Add .obj.
2053	(.cc.obj, .c.obj): New implicit rules.
2054	* Makefile.in (OBJEXT): New variable, initialized from autoconf.
2055	(MDEFINES): Add EXEEXT and OBJEXT.
2056	* */Makefile.sub: s/.o/.$(OBJEXT)/.
2057
20582002-08-22  Werner LEMBERG  <wl@gnu.org>
2059
2060	* INSTALL: Mention texinfo 4.2 as a prerequisite.
2061
20622002-08-21  Gaius Mulley  <gaius@glam.ac.uk>
2063
2064	* src/devices/grohtml/post-html.cc (colType): Make enum global to
2065	the file.
2066	(html_printer::update_min_max, html_printer::add_table_end): New
2067	methods.
2068	(html_printer::lookahead_for_tables): Use them.
2069	Reset page offset correctly.
2070	(html_printer::~html_printer): Add creation of creator comment up.
2071
20722002-08-20  Werner LEMBERG  <wl@gnu.org>
2073
2074	* tmac/an-old.tmac (T&): New dummy macro to avoid warning.
2075	* man/groff_tmac.man: Fix typos.
2076	* man/groff_font.man: Minor reordering.
2077	* contrib/eqn2graph/eqn2graph.man (Tp): New macro.
2078	* contrib/groffer/groffer.man: Fix typos.
2079
20802002-08-18  Gaius Mulley  <gaius@glam.ac.uk>
2081
2082	Avoid endless loops while scanning for tables.
2083
2084	* src/devices/grohtml/post-html.cc (list::insert): Set
2085	ptr->right->left.
2086	(html_printer::next_horiz_pos): Add `text_glob' argument; update
2087	all callers.
2088	Return immediately if that argument is NULL.
2089	(html_printer::calc_nf): Don't test if `g' is NULL.
2090	(html_printer::lookahead_for_tables): Use
2091	`glyphs.move_right_get_data'.
2092	Don't test if `g' is NULL.
2093
20942002-08-18  Gaius Mulley  <gaius@glam.ac.uk>
2095
2096	A better fix, replacing fix 2002-08-15, for increasing SIZE.
2097
2098	* src/devices/grohtml/post-html.cc (char_block): Make `buffer'
2099	a pointer.
2100	(char_block::char_block): Allocate `buffer'.
2101	(char_buffer::add_string): Use it.
2102
21032002-08-15  Werner LEMBERG  <wl@gnu.org>
2104
2105	* src/devices/grops/grops.man, src/devices/grolj4/grolj4.man,
2106	src/devices/grodvi/grodvi.man: Document default line thickness.
2107
21082002-08-15  Gaius Mulley  <gaius@glam.ac.uk>
2109
2110	* src/devices/grohtml/post-html.cc (char_block): Increase SIZE to
2111	8192.
2112
21132002-08-14  Werner LEMBERG  <wl@gnu.org>
2114
2115	* doc/webpage.ms: Updated.
2116
21172002-08-09  Werner LEMBERG  <wl@gnu.org>
2118
2119	* src/roff/troff/node.cc (node::add_char): Call `freeze_space' for
2120	unbreakable space.
2121
21222002-08-08  Aaron Campbell  <aaron@monkey.org>
2123
2124	* src/preproc/pic/object.cc (object_spec::make_move): Fix typo
2125	(&& -> &).
2126
21272002-08-08  Werner LEMBERG  <wl@gnu.org>
2128
2129	* src/roff/troff/input.cc (read_rgb, read_cmy, read_cmyk): Call
2130	tok.next().
2131	(read_gray): Ditto.
2132	Don't push back a space but a newline onto the stack.
2133
21342002-08-07  Gaius Mulley  <gaius@glam.ac.uk>
2135
2136	Add fonts `CI', `CB', and `CBI' to grohtml which have been omitted
2137	inadvertently.
2138
2139	* src/devices/grohtml/post-html.cc (html_printer::end_font,
2140	html_printer::start_font): Handle them.
2141	* src/devices/grohtml/html-text.cc (html_text::do_italic): Don't
2142	reset bold and tt.
2143	(html_text::do_bold): Don't reset italic and tt.
2144	(html_text::do_tt, html_text::do_pre): Don't reset bold and italic.
2145	* font/devhtml/DESC.proto: Add those fonts.
2146	* font/devhtml/Makefile.sub (PROTOFONTS): Updated.
2147
21482002-08-07  Werner LEMBERG  <wl@gnu.org>
2149
2150	* MORE.STUFF: Added gpresent.
2151
2152	* tmac/trace.tmac: Show nesting level by a corresponding amount of
2153	whitespace before printing the logging message.
2154
21552002-07-31  Colin Watson  <cjwatson@debian.org>
2156
2157	* src/devices/grohtml/html-table.cc (html_table::finish_row):
2158	Initialize `n' to zero.  This fixes a segfault on ARM.
2159
21602002-07-30  Werner LEMBERG  <wl@gnu.org>
2161
2162	* doc/grnexmpl.me: Remove calls to .st and .sc which are undefined.
2163
21642002-07-29  Werner LEMBERG  <wl@gnu.org>
2165
2166	* src/preproc/pic/pic.y (print_arg, relative_path): Add missing
2167	final semicolon.
2168
21692002-07-28  Colin Watson  <cjwatson@debian.org>
2170
2171	* src/devices/grohtml/post-html (html_printer::troff_tag): Handle
2172	`.ps'.
2173	(html_printer::html_printer): Initialize `pointsize'.
2174
21752002-07-26  Werner LEMBERG  <wl@gnu.org>
2176
2177	* doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Remove gnu.eps and
2178	gnu.png.
2179	(CLEANNOTSRCDIRADD): Add gnu.eps and gnu.png.
2180	(gnu.eps): Add -rle switch to pnmtops.
2181	(distfiles): Add gnu.eps and gnu.png.
2182
21832002-07-25  Petter Reinholdtsen  <pere@hungry.com>
2184
2185	* src/libs/libdriver/input.cc (Char): Add const to `operator=='.
2186	Add `operator!='.
2187
21882002-07-24  Werner LEMBERG  <wl@gnu.org>
2189
2190	* doc/Makefile.in, doc/Makefile.sub (groff_bin_path): Don't use
2191	' \+' but '  *' for sed.
2192	(GROFF): Set GROFF_COMMAND_PREFIX to empty value.
2193
21942002-07-23  Werner LEMBERG  <wl@gnu.org>
2195
2196	* doc/groff.texinfo: Document `papersize' keyword.
2197	* NEWS, man/groff_font.man: Updated.
2198
21992002-07-23  Colin Watson  <cjwatson@debian.org>
2200
2201	Extend papersize keyword to accept more than a single entry.  The
2202	first valid will be used.
2203
2204	* src/libs/libgroff/font.cc (font::load_desc): Implement it.
2205	(font::scan_papersize): Really skip final newline.
2206	* src/preproc/html/pre-html.cc (get_papersize): Ditto.
2207
22082002-07-23  Werner LEMBERG  <wl@gnu.org>
2209
2210	* configure.ac: Test for isatty.
2211	* configure: Regenerated.
2212	* src/include/posix.h: Check HAVE_ISATTY.
2213	* src/roff/troff/input.cc [ISATTY_MISSING]: Removed.
2214	* src/utils/lookbib/lookbib.cc: Include posix.h.
2215	Don't declare isatty.
2216
22172002-07-21  Werner LEMBERG  <wl@gnu.org>
2218
2219	* NEWS: Add `output' request.
2220
2221	* REVISION: Increased to 1.
2222
2223Version 1.18.0 released
2224=======================
2225
22262002-07-19  Gaius Mulley  <gaius@glam.ac.uk>
2227
2228	Allow internal glyph indices > 0xFF in grohtml for input characters.
2229
2230	* src/devices/grohtml/post-html.cc (to_unicode): Use `unsigned int'
2231	as parameter.
2232	(html_printer::add_to_sbuf): Use `unsigned int' as first parameter.
2233	Updated all callers.
2234	(html_printer::sbuf_continuation, html_printer::overstrike): Ditto.
2235	(html_printer): Updated.
2236
22372002-07-19  Werner LEMBERG  <wl@gnu.org>
2238
2239	* font/devhtml/R.proto: Updated to HTML 4, adding many glyphs.
2240	* font/devutf8/R.proto: Adding some missing glyphs.
2241	* font/devutf8/NOTES: Updated.
2242
2243	* tmac/dvi.tmac: Add more composite glyphs.
2244	* tmac/html.tmac: Updated.
2245
2246	* man/groff_char.man: Add `sum' and `product' entities.
2247
2248	* NEWS: Updated.
2249
22502002-07-18  Gaius Mulley  <gaius@glam.ac.uk>
2251
2252	Improved table, tab, and indenting support.
2253
2254	* src/roff/troff/input.cc (file_iterator::suppress_newline_flag,
2255	string_iterator::suppress_newline_flag): Removed.  Updated all
2256	function which have used it.
2257
2258	* src/roff/troff/env.cc: Include `input.h'.
2259	(environment::add_node): Accept 0 as parameter.
2260	(environment::add_html_tag): Add `force' parameter.
2261	Updated all callers.
2262	(environment::add_html_tag_tabs): Ditto.
2263	For the moment, support left-aligned tabs only.
2264	(environment::make_html_tag): New function.
2265	(fill, no_fill): Set .br html tag additionally.
2266	(environment::newline): Emit `eol.ce' or `eol' tag for html.
2267	(environment::add_html_tag_eol): Removed.
2268	(tab_stops::distance_to_next_tab): Add variant for handling 
2269	nextpos'.
2270	(environment::distance_to_next_tab): Ditto.
2271	Updated all callers.
2272	(environment::handle_tab): Handle tabs for html.
2273	
2274	* src/roff/troff/env.h: Updated.
2275
2276	* src/roff/troff/div.cc: Updated all callers of
2277	`environment::add_html_tag'.
2278
2279	* src/devices/grohtml/html-table.cc,
2280	src/devices/grohtml/html-table.h: New files.
2281
2282	* src/devices/grohtml/html-text.cc (html_text): New members
2283	`blank_para' and `start_space'.
2284	(html_text::issue_tag): Don't emit TABLE_TAG.
2285	Handle indentation for PRE_TAG and P_TAG.
2286	(html_text::end_tag): Updated.
2287	(html_text::table_is_void, html_text::issue_table_begin,
2288	html_text::issue_table_end): Removed.
2289	(html_text::do_push): Simplified.
2290	[DEBUGGING]: Small fix.
2291	(html_text::push_para): Add new parameter for indentation; updated
2292	all callers.
2293	Handle PRE_TAG.
2294	(html_text::do_indent, html_text::do_table, html_text::done_table,
2295	html_text::is_in_table): Removed.
2296	(html_text::do_pre): Handle P_TAG also.
2297	(html_text::shutdown): Handle p->indent.
2298	(html_text::check_emit_text): Simplified.
2299	(html_text::do_emittext): Reset `blank_para'.
2300	(html_text::do_para): Add new parameter for indentation; updated
2301	all callers.
2302	(html_text::remove_indent): New function.
2303	(html_text::do_space): Handle verbatim text properly.
2304	(html_text::ever_emitted_text, html_text::starts_with_space,
2305	html_text::remove_para_align): New functions.
2306	(html_text::dump_stack_element, html_text::dump_stack): Updated.
2307
2308	* src/devices/grohtml/html_text.h (HTML_TAG): Remove TABLE_TAG.
2309	Updated.
2310
2311	* src/devices/grohtml/post-html.cc: Include html-table.h.
2312	(INDENTATION): Removed.
2313	(text_glob): Added many `is_<foo>' functions.
2314	Added table description `tab'.
2315	Added `get_arg',`get_tab_args', `remember_table', and `get_table'
2316	member functions.
2317	(list): Add `insert' and `move_to' member functions.
2318	(page): Add `insert_tag' member function.
2319	(page::dump_page) [DEBUG_TABLES]: Improved.
2320	(html_printer): Add `table' and `max_linelength' elements.
2321	Add many `do_<foo>', `insert_<foo>', `next_horiz_pos',
2322	`lookahead_for_tables', `shutdown_table', `calc_nf', `calc_po_in',
2323	`remove_tabs', `remove_courier_tabs'.
2324	(html_printer::emit_raw): Handle indentation.
2325	(html_printer::do_center, html_printer::write_header): Updated.
2326	(html_printer::is_courier_until_eol): Check for tag.
2327	(html_printer::do_linelength): Handle max_linelength.
2328	(html_printer::do_page_offset, html_printer::do_indentation): Handle
2329	fill_on.
2330	(html_printer::do_tempindent): Updated.
2331	(html_printer::do_indentedparagraph): Removed.
2332	(html_printer::do_indent): Simplified.
2333	(html_printer::do_eol): Use `ever_emitted_text'.
2334	(html_printer::do_flush, html_printer::do_links): Don't call
2335	done_table.
2336	(html_printer::do_break): Handle end_tempindent.
2337	(html_printer::troff_tag): Get argument.
2338	Don't handle `.ip'.
2339	Handle `.tab-ts', `.tab-te', `.col', `tab', and `tab0' tags.
2340	(html_printer::flush_page): Call `lookahead_for_tables'.
2341	Don't call `done_table'.
2342	(html_printer::add_to_sbuf): Always call do_indent.
2343
2344	* src/devices/grohtml/Makefile.sub: Updated.
2345
2346	* tmac/an-old.tmac (TP): Don't handle html device specially.
2347	(an-do-tag-html): New function which will be used instead of
2348	`an-do-tag' if html device is used.
2349
2350	* tmac/html.tmac: Call .po to pass default page offset to grohtml.
2351
2352	* tmac/s.tmac (@IP): Don't handle html device specially.
2353	(@IP-html): New function which will be used instead of `@IP' if
2354	html device is used.
2355
2356	* tmac/www.tmac (HTML-NS, HTML-TAG-NS): New auxiliary macros -- this
2357	is a hack which will eventually vanish again.
2358	(PIMG): Handle `-C' option correctly if not html.
2359	(HR): Use HTML-NS.
2360
23612002-07-17  Werner LEMBERG  <wl@gnu.org>
2362
2363	* src/utils/afmtodit/afmtodit.pl: Don't use `-P-' for invoking perl.
2364
23652002-07-14  Eric S. Raymond  <esr@thyrsus.com>
2366
2367	* contrib/pic2graph/pic2graph.*: Use convert(1).
2368	* contrib/eqn2graph/eqn2graph.*: Minor fixes.
2369
23702002-07-14  Bernd Warken  <bwarken@mayn.de>
2371
2372	* tmac/groff_trace.man: New file.
2373	* tmac/Makefile.sub: Updated.
2374	* NEWS: Updated.
2375
23762002-07-13  Werner LEMBERG  <wl@gnu.org>
2377
2378	* src/roff/groff/groff.man: Add some cross references.
2379
23802002-07-12  Werner LEMBERG  <wl@gnu.org>
2381
2382	* src/roff/troff/input.cc (substring_request): Add warnings for
2383	string indices out of range.
2384
23852002-07-11  Werner LEMBERG  <wl@gnu.org>
2386
2387	* font/devdvi/generate/ec.map: Fix typo (`(l' -> `/l').
2388	* font/devdvi/*EC: Regenerated.
2389
23902002-07-10  Bernd Warken  <bwarken@mayn.de>
2391
2392	* man/groff_char.man: Updated and extended.
2393
23942002-07-10  Werner LEMBERG  <wl@gnu.org>
2395
2396	* src/roff/troff/input.cc (length_macro): Renamed to...
2397	(length_request): This.
2398	Move call of `tok.next()' to the very end, otherwise the register
2399	value hasn't been updated yet.
2400	(init_input_requests): Updated.
2401
24022002-07-09  Werner LEMBERG  <wl@gnu.org>
2403
2404	* src/roff/troff/input.cc (substring_macro): Renamed to...
2405	(substring_request): This.
2406	(init_input_requests): Updated.
2407	* src/roff/troff/request.h: Updated.
2408
24092002-07-08  Robert D. Goulding  <goulding@Princeton.EDU>
2410
2411	* src/roff/grog/grog.sh: Fix typo.
2412
24132002-07-08  Werner LEMBERG  <wl@gnu.org>
2414
2415	* win32-diffs: Updated.
2416
2417	Handle `papersize' keyword properly in DESC.
2418
2419	* src/libs/libgroff/font.cc (font::scan_papersize): Fix argument
2420	type.
2421	Updated all callers.
2422	* src/libs/libgroff/paper.cc: Add four more paper formats used by
2423	grolj4.
2424	* src/include/paper.h: Updated.
2425
2426	* src/devices/grolbp/lbp.cc: Remove unnecessary semicolons.
2427	Other minor C syntax fixes.
2428	(papersize, paperlength, paperwidth): Renamed to `user_*'.
2429	(lbp_printer): Add `papersize', `paperlength', and `paperwidth'
2430	members.
2431	(lbp_printer::lbp_printer): Pass three arguments.
2432	Set paper dimensions properly.
2433	(make_printer, main): Updated.
2434	(handle_unknown_desc_command): Fix error messages.
2435	(main): Handle papersize keyword in DESC properly.
2436
2437	* src/devices/grolj4/lj4.cc (paper_size): Renamed to
2438	`user_paper_size'.
2439	(lbp_printer::lbp_printer): Pass an argument.
2440	Set paper_size properly.
2441	(handle_unknown_desc_command): Removed.
2442	(make_printer, main): Updated.
2443	* src/devices/grolj4/grolj4.man: Minor documentation fix.
2444
2445	* man/groff_font.man, NEWS: Updated.
2446
24472002-07-07  Werner LEMBERG  <wl@gnu.org>
2448
2449	Integrated eqn2graph, contributed by Eric S. Raymond.
2450
2451	* contrib/eqn2graph/{Makefile.sub, eqn2graph.sh, eqn2graph.man}: New
2452	files.
2453	* Makefile.in, NEWS: Updated.
2454
24552002-06-04  Werner LEMBERG  <wl@gnu.org>
2456
2457	Changing the substring request to make it fit better with other
2458	string manipulation functions in other programming languages:
2459	Index 0 is now the first character in the string, and index -1
2460	indicates the last character.  Since this request didn't work
2461	properly anyway in the last release, it doesn't harm too much to
2462	change the syntax.
2463
2464	* src/roff/troff/input.cc (substring_macro): Use loops to get
2465	the real string length (ignoring COMPATIBLE_SAVE and
2466	COMPATIBLE_RESTORE) and offsets.
2467	Implement change described above.
2468
2469	* man/groff_char.man, tmac/doc-common (doc-header), tmac/doc.tmac
2470	(doc-do-Bd-args, doc-do-Bl-args: Changed accordingly.
2471
2472	* NEWS, doc/groff.texinfo, man/groff_diff.man: Updated.
2473
24742002-06-03  Werner LEMBERG  <wl@gnu.org>
2475
2476	Make .chop work with .de1 and friends.  COMPATIBLE_SAVE and
2477	COMPATIBLE_RESTORE are completely ignored.
2478
2479	* src/roff/troff/input.cc (char_list::set, char_list::get): New
2480	functions.
2481	(macro): `length' field renamed to `len'.
2482	Added new field `empty_macro' (1 if macro is empty), to be used
2483	instead of checking `len'.
2484	Updated all callers.
2485	(macro::empty): Updated.
2486	(macro::length, macro::set, macro::get): New functions.
2487	(macro::append): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
2488	Set `empty_macro'.
2489	(chop_macro): Check and remove trailing COMPATIBLE_SAVE/
2490	COMPATIBLE_RESTORE pairs.
2491	(asciify): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
2492	* src/roff/troff/request.h: Updated.
2493
2494	* doc/groff.texinfo: Document .chop's behaviour better.
2495
24962002-06-02  Werner LEMBERG  <wl@gnu.org>
2497
2498	* doc/pic.ms: Fix documentation for the addition of positions.
2499
2500	* tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18.
2501
25022002-06-29  Werner LEMBERG  <wl@gnu.org>
2503
2504	Implementation of string arguments of the form \*[foo arg1 arg2 ...]
2505
2506	* src/roff/troff/input.cc (have_string_arg): New global variable.
2507	(read_mode): New enumeration.
2508	(read_escape_name): Use it.  Update all calls.
2509	(read_long_escape_name): Use it.  Update all calls.
2510	Set have_string_arg if appropriate.
2511	(get_char_for_escape_name): Add parameter for handling space
2512	character.
2513	(interpolate_string_with_args, decode_string_args): New functions.
2514	(get_copy, token::next): Call it if necessary.
2515	(interpolate_string): Fix error message.
2516
2517	* NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
2518	Document it.
2519
25202002-06-24  Bernd Warken  <bwarken@mayn.de>
2521
2522	* man/groff_tmac.man: Updated and extended.
2523
25242002-06-24  Werner LEMBERG  <wl@gnu.org>
2525
2526	* doc/pic.ms, src/preproc/pic/pic.man: Fix description of `:='.
2527
25282002-06-23  Werner LEMBERG  <wl@gnu.org>
2529
2530	* doc/pic.ms: Improve documentation of composite block objects.
2531
25322002-06-22  Werner LEMBERG  <wl@gnu.org>
2533
2534	* src/roff/troff/input.cc (init_registers): Add three registers
2535	`seconds', `minutes', and `hours' to hold the current time.
2536
2537	* NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
2538	Updated.
2539
25402002-06-20  Werner LEMBERG  <wl@gnu.org>
2541
2542	Make \X accept both `\ ' and `\~', converting them to single space
2543	characters.
2544
2545	* src/roff/troff/token.h (token): Add TOKEN_UNSTRETCHABLE_SPACE.
2546	(token::unstretchable_space): New inline function.
2547	* src/roff/troff/input.cc (token::next, token::delimiter,
2548	token::description, token::add_to_node_list, token::process): Handle
2549	TOKEN_UNSTRETCHABLE_NODE.
2550	(encode_char): Handle tok.stretchable_space and
2551	tok.unstretchable_space.
2552
2553	* NEWS, doc/groff.texinfo: Document it..
2554
25552002-06-19  Werner LEMBERG  <wl@gnu.org>
2556
2557	* src/devices/grops/ps.cc (ps_printer::special): Fix error message.
2558
2559	* src/devices/grotty/tty.cc (tty_printer::special): Add `sgr'
2560	keyword to enable/disable SGR output.
2561	(tty_printer::change_fill_color): New function.
2562	* NEWS, src/devices/grotty/grotty.man: Document `sgr' special.
2563
2564	* src/roff/troff/input.cc (output_request): Add missing `tok.next()'
2565	call.
2566
25672002-06-18  Werner LEMBERG  <wl@gnu.org>
2568
2569	Add a `color' request and a `.color' register to control usage of
2570	colours.
2571
2572	* src/roff/troff/input.cc (disable_color_flag): Replaced with...
2573	(color_flag): This (which is the inverse).
2574	(activate_color): New function.
2575	(main, init_input_requests): Updated.
2576	* src/roff/troff/troff.h, src/roff/troff/node.cc
2577	(troff_output_file::fill_color, troff_output_file::glyph_color):
2578	Updated.
2579
2580	* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
2581	Document the changes.
2582
25832002-06-17  Colin Watson  <cjwatson@debian.org>
2584
2585	Circumvent bug in autoconf 2.53 regarding top_builddir.
2586
2587	* aclocal.m4 (GROFF_BUILDDIR): s/top_builddir/groff_top_builddir/.
2588	* Makefile.in, doc/Makefile.in:
2589	s/@top_builddir@/@groff_top_builddir@/.
2590	* configure: Regenerated (with autoconf 2.53).
2591
25922002-06-17  Werner LEMBERG  <wl@gnu.org>
2593
2594	* src/libs/libgroff/font.cc (font::load_desc): Fix computation of
2595	`paperwidth' and `paperlength' for the `papersize' keyword.
2596
25972002-06-16  P. Alejandro Lopez-Valencia  <dradul@007mundo.com>
2598
2599	* src/devices/grops/grops.man: Add info about Type 42 fonts.
2600
26012002-06-15  Gaius Mulley  <gaius@glam.ac.uk>
2602
2603	* src/devices/grohtml/post-html.cc (html_printer::emit_raw,
2604	html_printer::do_linelength, html_printer::do_pageoffset,
2605	html_printer::do_indentation, html_printer::do_tempindent,
2606	html_printer::do_break, html_printer::begin_page): Clear indented
2607	text.
2608	* tmac/html.tmac: Disable hyphenation.
2609
26102002-06-15  Werner LEMBERG  <wl@gnu.org>
2611
2612	Don't produce HTML files if utility programs are missing.
2613
2614	* Makefile.in (make_html, make_install_html): New variables.
2615	(MDEFINES): Updated.
2616
2617	* aclocal.m4 (GROFF_HTML_PROGRAMS): New function to test for HTML
2618	utility programs.
2619	* configure.ac: Use it.
2620	* configure: Regenerated.
2621
2622	* doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Move webpage.html to...
2623	(HTMLEXAMPLESFILES): This new variable.
2624	(EXAMPLESIMAGEFILES): Renamed to...
2625	(HTMLEXAMPLEIMAGEFILES): This.
2626	(CLEANADD): Add HTMLEXAMPLEFILES.
2627	(all): Use `make_html'.
2628	(html): New target.
2629	(install_data): Use `make_install_html'.
2630	Move html stuff to...
2631	(install_html): This new target.
2632	(uninstall_sub): Updated.
2633
26342002-06-14  Bernd Warken  <bwarken@mayn.de>
2635
2636	* src/roff/grog/Makefile.sub (grog): Renamed to...
2637	(grog.old): This.
2638	(grog): New rule to always install grog.sh as grog.
2639
26402002-06-08  Bernd Warken  <bwarken@mayn.de>
2641
2642	* src/roff/grog/grog.pl: Fix typo.
2643
26442002-06-07  Werner LEMBERG  <wl@gnu.org>
2645
2646	* doc/groff.texinfo: Add more info on .tr arguments.
2647
26482002-06-05  Werner LEMBERG  <wl@gnu.org>
2649
2650	* NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated.
2651
2652	* aclocal.m4 (GROFF_MKSTEMP): Include unistd.h.
2653	* configure: Regenerated.
2654
26552002-06-05  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
2656
2657	* src/roff/troff/symbol.cc (table_sizes): Add more values.
2658
2659	* src/roff/grog/grog.pl, src/roff/grog/grog.sh: Recognize mom.
2660
26612002-06-04  Werner LEMBERG  <wl@gnu.org>
2662
2663	* aclocal.m4 (GROFF_PAGE): Don't use `prefix' directly since it
2664	is not initialized at the time we need it in case `--prefix' hasn't
2665	been set.  Check for `ac_default_prefix' also.
2666	Test for `papersize' keyword also and generalize allowed whitespace.
2667	* configure: Regenerated.
2668
2669	* font/devps/Makefile.sub (DESC): Use `papersize' instead of
2670	`paperlength'.
2671
2672	* src/libs/libgroff/Makefile.sub (version, revision): Replaced
2673	with...
2674	(src_version, src_revision): New variables to avoid overwriting
2675	from parent make process.
2676	(version.cc): Updated.
2677
2678	* src/preproc/html/pre-html.cc: Include paper.h and font.h.
2679	(linebuf, linebufsize): New global variables.
2680	(sys_fatal): Use `fatal' to abort properly.
2681	(get_line): New function.
2682	(get_resolution): Use it.
2683	Improve error messages.
2684	(get_papersize): Check `papersize' also.
2685	Use `get_line'.
2686	Improve error messages.
2687
26882002-06-03  Werner LEMBERG  <wl@gnu.org>
2689
2690	* Makefile.comm (CLEANNOTSRCDIRADD): New target for files which
2691	should be removed only if builddir is not srcdir.
2692	(mostlyclean): Handle `CLEANNOTSRCDIRADD'.
2693	(clean): Depend on `mostlyclean'.
2694	(distclean): Depend on `clean'.
2695	(realclean, extraclean): Depend on `distclean'.
2696	(.y.cc, .y.o): Simplified.  The output files are no longer written
2697	to srcdir but to builddir.
2698	* Makefile.in (MDEFINES): Add `version' and `revision'.
2699	(uninstall_dirs): Fix order of directories.
2700	* doc/Makefile.sub (version, revision): Removed.
2701	(CLEANADD): Removed grnexmpl.g, groff, groff-*.
2702	Added `HTMLDOCFILES'.
2703	(CLEANNOTSRCDIRADD): New target for grnexmpl.h, groff, groff-*.
2704	* src/preproc/eqn/Makefile.sub, src/preproc/pic/Makefile.sub,
2705	src/preproc/refer/Makefile.sub (YTABC, YTABH): Don't use `srcdir'
2706	as prefix.
2707
2708	* doc/texinfo.tex (\authortt): New macro.
2709	(\shortcontt): Define.
2710	(\titlepage): Set \tt to \authortt while defining \authorfont.
2711	(\appendixbox): New macro.
2712	(\chapmacro, \appendixentry): Use \appendixbox to get even
2713	indentation for letters.
2714	(\summarycontents): Set \tt.
2715	(\internalpagesize): Add two arguments for real paper width and
2716	height as needed by pdfTeX.
2717	(\letterpaper, \smallbook, \afourpaper, \afivepaper, \afourlatex):
2718	Updated.
2719	(\tempdima, \tempdimb): New temporary dimensions.
2720	(\pagesizesyyy): Updated.
2721
27222002-06-02  Werner LEMBERG  <wl@gnu.org>
2723
2724	Adding a new keyword `papersize' to the DESC file format (similar
2725	but not completely identical to grolbp's extension).  grops now has
2726	a -p command line option to override `papersize'.  Finally, grolbp
2727	has been adapted to the new syntax.
2728
2729	* src/libs/libgroff/paper.cc, src/include/paper.h: New files.  It
2730	defines and initializes the `papersizes[]' array with NUM_PAPERSIZES
2731	elements.
2732	* src/libs/libgroff/Makefile.sub (OBJS): Add `paper.o'.
2733	(CCSRCS): Add `paper.cc'.
2734
2735	* src/include/font.h (font): Add `papersize' element.
2736	* src/libs/libgroff/font.cc (font::unit_scale): New helper function.
2737	(font::scan_papersize): New function.
2738	(font::load_desc): Use it for handling `papersize' keyword.
2739	* src/libs/libgroff/fontfile.cc: Initialize `font::papersize'.
2740
2741	* src/devices/grops/ps.cc: Include paper.h.
2742	(user_paper_length): New global variable.
2743	(ps_printer): Use paper length as initializer.
2744	(make_printer): Updated.
2745	(main): Handle new `-p' option.
2746	* src/devices/grops/grops.man: Updated.
2747
2748	* src/devices/grolbp/lbp.cc: Include paper.h.
2749	s/papersizes/lbp_papersizes/.
2750	(set_papersize): Use new `papersizes' array.
2751	(handle_unknown_desc_command): Don't handle `papersize'.
2752	(main): Use `font::scan_papersize' for handling `-p' option.
2753	* src/devices/grolbp/grolbp.man: Updated.
2754
2755	* man/groff_font.man: Document `papersize'.
2756	* NEWS: Updated.
2757
27582002-05-30  Werner LEMBERG  <wl@gnu.org>
2759
2760	* src/devices/grops/TODO: Updated.
2761	* src/devices/grops/grops.man: More info on paper formats.
2762	* man/groff_font.man: Document `paperheight' and `paperwidth'.
2763
27642002-05-29  Werner LEMBERG  <wl@gnu.org>
2765
2766	* doc/Makefile.sub (CLEANADD): Add grnexmpl.g, groff, and groff-*
2767	to list only if srcdir != currdir.
2768	(distfiles): New target.
2769
2770	* Makefile.in (EXTRADIRS): Add font/devlj4/generate.
2771	(NOMAKEDIRS): New variable.
2772	(DISTDIRS): Use it.
2773
27742002-05-26  Werner LEMBERG  <wl@gnu.org>
2775
2776	Add .output request, similar to \! at top-level.
2777
2778	* src/roff/troff/input.cc (transparent): Remove unused declaration.
2779	(output_request): New function.
2780	(init_input_requests): Add it.
2781	Sorted.
2782	* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
2783	Document it.
2784
2785	* Makefile.in (MDEFINES): Add INSTALL_INFO.
2786	(prepare_examples): Fix typo.
2787	* doc/groff.texinfo (@direntry): Fix it.
2788
27892002-05-25  Werner LEMBERG  <wl@gnu.org>
2790
2791	Including the doc subdir into groff's Makefile system.
2792
2793	* aclocal.m4 (GROFF_INSTALL_INFO): New function.
2794	* configure.ac: Use it.
2795	Generate `doc/Makefile'.
2796	* configure: Regenerated.
2797
2798	* Makefile.in (infodir, INSTALL_INFO): New variables.
2799	(MDEFINES, uninstall_dirs): Updated.
2800	(OTHERDIRS): Add `doc'.
2801	* Makefile.comm (CLEANDIRADD): New variable.
2802	(mostlyclean): Use it.
2803
2804	* doc/Makefile.sub, doc/Makefile.in: New files.
2805	* doc/Makefile: Removed.
2806
2807	* NEWS, INSTALL: Updated.
2808
28092002-05-24  Werner LEMBERG  <wl@gnu.org>
2810
2811	* doc/homepage.ms: Renamed to ...
2812	* doc/webpage.ms: This.
2813	Use `.NHR'.
2814
28152002-05-23  Werner LEMBERG  <wl@gnu.org>
2816
2817	Integrating the `mom' macro package, contributed by Peter Schaffter
2818	<df191@ncf.ca>.
2819
2820	* contrib/mom/*: New subdirectory tree.
2821	* Makefile.in (docdir, exampledir, htmldocdir): New variables to
2822	be used for documentation files.
2823	(MDEFINES, uninstall_dirs): Use them.
2824	(OTHERDIRS): Add contrib/mom.
2825	* Makefile.comm (.man.n): Add @DOCDIR@, @EXAMPLEDIR@, and
2826	@HTMLDOCDIR@.
2827	* MANIFEST, NEWS: Updated.
2828
28292002-05-22  Gaius Mulley  <gaius@glam.ac.uk>
2830
2831	Change syntax of \O: \O[0] suppresses output, \O[1] enables output
2832	if at outer level; at start-up we are at outer level.
2833
2834	* src/roff/troff/input.cc (do_suppress): Implement it.
2835	Simplify \O[3].
2836
2837	Add option -p to show progress information.
2838	pre-grohtml will now render only one page at a time, reducing the
2839	size of needed disk resources enormously.
2840
2841	* src/preproc/html/pre-html.cc (imagePageStem): Replaced with...
2842	(imagePageName): New global variable.
2843	(psPageName, show_progress, currentPageNo): New global variables.
2844	(html_system): Close saved stderr and stdout handles.
2845	(write_end_image): Accept a parameter to control \O escape.
2846	(write_start_image): Adapted to new \O meaning.
2847	(char_buffer::write_upto_newline): Updated.
2848	(createAllPages): Replaced with...
2849	(createPage): This new function to create a single page for images.
2850	It uses `psselect' from the psutils package.
2851	(removeAllPages): Removed.
2852	(createImage): Updated.
2853	Handle progress display.
2854	(char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Removed.
2855	(scanArguments): Add option -p.
2856	(makeTempFiles): Updated to create temp files for psPageName and
2857	imagePageName.
2858	(removeTempFiles): Removed.
2859	(main): Updated.
2860
2861	* src/devices/grohtml/post-html.cc (header_desc::write_headings,
2862	html_printer::write_header): Append `\0' to `buffer'.
2863	(html_printer::do_eol): Depend on `current_paragraph->emitted_text'.
2864	(main): Handle -p.
2865	* src/devices/grohtml/html-text.cc (html_text::dump_stack_element):
2866	Handle `text_emitted'.
2867	(html_text::table_is_void): Slightly rewritten.
2868	(stop): New external symbol.
2869	(html_text::do_push) [DEBUGGING]: Use it and simplify.
2870	(html_text::shutdown): Call `dump_stack'.
2871	(html_text::do_space): Rewritten.
2872	* src/devices/grohtml/grohtml.man: Document -p and the need of
2873	`psselect'.
2874
2875	* tmac/www.tmac (DC, HTML-DO-IMAGE, HTML-IMAGE-END): Updated to
2876	new \O syntax.
2877	Call \O[0] if `ps4html' is active.
2878	* tmac/s.tmac (@EQ, @EN): Handle html better.
2879	(@TS, TE): Ditto.
2880	* tmac/html.tmac: Don't use black for background colour.
2881
2882	* src/roff/troff/node.cc: Include `div.h'.
2883	(troff_output_file::really_print_line): Don't use `is_on'. 
2884	(troff_output_file::word_marker, troff_output_file::flush_tbuf
2885	troff_output_file::check_charinfo,
2886	troff_output_file::put_char_width, troff_output_file::put_char,
2887	troff_output_file::determine_line_limits, troff_output_file::draw,
2888	real_output_file::begin_page, glyph_color_node::tprintf,
2889	fill_color_node::tprint, hline_node::tprint, vline_node::tprint):
2890	Use `is_on'.
2891	(troff_output_file::really_on): Call `do_motion'.
2892	(suppress_node::tprint): Use `get_page_number' instead of `%'
2893	register.
2894	Call `reset_output_registers' conditionally on `is_on'.
2895
2896	* doc/groff.texinfo: Document new syntax of \O.
2897	* NEWS, man/groff_diff.man: Updated.
2898
28992002-05-22  Werner LEMBERG  <wl@gnu.org>
2900
2901	* MORE.STUFF: Add info about David Frey's deroff implementation.
2902	Mention troff.org.
2903
29042002-05-16  Werner LEMBERG  <wl@gnu.org>
2905
2906	Pic's `with' attribute now accepts positions.
2907
2908	* src/preproc/pic/pic.y: Make `.', BOX, CIRCLE, ELLIPSE, ARC, LINE,
2909	ARROW, SPLINE, and `[' left-associative tokens to fix shift/reduce
2910	conflicts.
2911	(object_spec): Add rule for `WITH' and `position'.
2912	(relative_path): Give `corner' the precedence of `CHOP'.
2913	* src/preproc/pic/object.h (path): New members `pos' and
2914	`is_position'.
2915	* src/preproc/pic/object.cc: Updated initializers of `path'.
2916	(path::follow): Handle `is_position'.
2917
2918	* doc/pic.ms: Completely updated grammar description.
2919	Many typographical improvements.
2920
29212002-05-15  Werner LEMBERG  <wl@gnu.org>
2922
2923	* src/roff/troff/env.cc(hyphen_trie::hpf_getc): Accept ^^x (char
2924	code of x in range 0-127) also.
2925	* doc/groff.texinfo, man/groff_diff.man: Updated.
2926
2927	Added keywords `north', `south', `east', and `west' for corners
2928	in pic.
2929
2930	* src/preproc/pic/lex.cc (lookup_keyword): Add NORTH, SOUTH, EAST,
2931	and WEST.
2932	(yylex): Handle them.
2933	* src/preproc/pic/pic.y: Add tokens NORTH, SOUTH, EAST, and WEST.
2934	(corner): Handle them.
2935
29362002-05-14  Werner LEMBERG  <wl@gnu.org>
2937
2938	* src/devices/grops/grops.man: Clarify handling of `download' file.
2939
29402002-05-11  Werner LEMBERG  <wl@gnu.org>
2941
2942	Adding `warnscale' and `spreadwarn' requests, based on a patch from
2943	Jeffrey Friedl <jfriedl@yahoo.com>.
2944
2945	* src/roff/troff/input.cc (spread_limit, warn_scale,
2946	warn_scaling_indicator): New global variables.
2947	(warnscale_request, spreadwarn_requests): New functions.
2948	(main): Initialize `warn_scale' and `warn_scaling_indicator'.
2949	(init_input_requests): Updated.
2950	(error_type): Add `OUTPUT_WARNING'.
2951	(do_error): Handle it.
2952	(output_warning): New warning function which shows output location.
2953	* src/roff/troff/env.h (spread_limit): New external variable.
2954	* src/roff/troff/env.cc (environment::choose_breakpoint): Use
2955	`output_warning'.
2956	(distribute_space): Emit warning if added space is larger than
2957	`spread_limit'.
2958	(environment::possibly_break_line): Emit warning if a line can't
2959	be adjusted on both sides.
2960
2961	* doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it.
2962
29632002-05-08  Werner LEMBERG  <wl@gnu.org>
2964
2965	* src/roff/troff/node.cc (special_node::special_node): Use
2966	env_definite_font(curenv) instead of curenv->get_font().  Otherwise
2967	\X''\% crashes, for example.
2968
2969	* doc/groff.texinfo: Document \! and \? used at top-level.
2970
29712002-05-06  Werner LEMBERG  <wl@gnu.org>
2972
2973	* src/preproc/pic/pic.man: Fix some keyword syntax.
2974	Other minor typographical fixes.
2975
2976	* src/roff/groff/groff.man: Fix typos.
2977
29782002-05-04  Werner LEMBERG  <wl@gnu.org>
2979
2980	* src/roff/groff/groff.man ([ShortOpt]): Renamed to...
2981	(ShortOpt[]): This to avoid problems with refer.
2982
2983	* doc/pic.ms: Fix typo.
2984	Fix pic grammar description.
2985
2986	* tmac/an-old.tmac (ne): Use de1, not de.
2987
29882002-05-03  Werner LEMBERG  <wl@gnu.org>
2989
2990	* doc/groff.texinfo: Finished separation of glyphs and characters.
2991	Don't use the string `Appendix' for appendix headers (both in
2992	the text and the table of contents).
2993	* man/groff_tmac.man, src/roff/troff/troff.man: Fix order of tmac
2994	directories.
2995
2996	Use registers LL and LT (similar to -ms) for controlling the
2997	length of title and line, respectively, in the -man and -mdoc
2998	macro packages.
2999
3000	* tmac/doc-ditroff (doc-setup-page-layout), tmac/doc-nroff
3001	(doc-setup-page-layout): Use \n[LL] and \n[LT].
3002	* tmac/an-old.tmac: Set \n[LL] and \n[LT] if not defined.
3003	(TH): Use \n[LL].
3004	(an-header, an-p-footer): Use \n[LT].
3005	* NEWS, tmac/groff_man.man, tmac/groff_mdoc.man,
3006	doc/groff.texinfo: Document it.
3007
30082002-05-02  Werner LEMBERG  <wl@gnu.org>
3009
3010	* doc/fdl.texi: New file.
3011	* doc/groff.texinfo: Include it.
3012	Define and use @copying.
3013	Starting with separating glyph, symbol, and character.
3014
30152002-04-27  Werner LEMBERG  <wl@gnu.org>
3016
3017	* Makefile.in (EXEEXT): Set it.
3018	* src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script
3019	programs.
3020
3021	* src/include/nonposix.h: Define GS_NAME.
3022	* src/preproc/html/pre-html.cc (createAllPages): Use GS_NAME.
3023
3024	Some preliminary changes for EMX support under OS/2.
3025
3026	* src/preproc/pic/main.cc (main), src/roff/groff/pipeline.c: Add
3027	__EMX__ similar to __MSDOS__.
3028	* src/utils/indxbib/indxbib.cc (main) [__EMX__]: Use `unlink'.
3029
30302002-04-25  Werner LEMBERG  <wl@gnu.org>
3031
3032	* doc/groff.texinfo: Integrated groff_out.man.
3033	Some macro fixes.
3034
30352002-04-23  Werner LEMBERG  <wl@gnu.org>
3036
3037	* man/groff_out.man: Minor fixes.
3038
30392002-04-23  Werner LEMBERG  <wl@gnu.org>
3040
3041	* doc/groff.texinfo: Moving @cindex entries after @Def* to get
3042	correct page references.
3043	Fixed many index entries.
3044
30452002-04-23  Bernd Warken  <bwarken@mayn.de>
3046
3047	* man/roff.man: Enlarged.
3048
30492002-04-22  Werner LEMBERG  <wl@gnu.org>
3050
3051	* doc/groff.texinfo: More examples, other fixes.
3052
30532002-04-20  Werner LEMBERG  <wl@gnu.org>
3054
3055	* src/roff/troff/input.cc (pipe_output): Multiple calls to `pi'
3056	will now form a chain, e.g.
3057
3058	  .pi foo
3059	  .pi bar
3060
3061	is now the same as
3062
3063	  .pi foo | bar
3064
3065	This is for compatibility with plan 9's troff.
3066
3067	* tmac/tty.tmac: Set default tab values to 0.8i to be compatible
3068	with UNIX troff.
3069	* NEWS: Updated.
3070
3071	* doc/groff.texinfo: Add documentation of remaining requests and
3072	registers.
3073
30742002-04-19  Werner LEMBERG  <wl@gnu.org>
3075
3076	* doc/groff.texinfo: Add documentation of remaining escapes.
3077
3078	* font/devdvi/generate/tc.map: Remove entry for `sr'.
3079	* font/devdvi/*TC: Regenerated.
3080
30812002-04-18  Werner LEMBERG  <wl@gnu.org>
3082
3083	* src/roff/troff/input.cc (token::next): Make \H behave consistently
3084	if not in compatibility mode, i.e., increment relative to the
3085	previous height.
3086	* doc/groff.texinfo: Updated accordingly.
3087
30882002-04-17  Werner LEMBERG  <wl@gnu.org>
3089
3090	* doc/groff.texinfo: Document \\, \e, \E, \., and \c.
3091
30922002-04-16  Bernd Warken  <bwarken@mayn.de>
3093
3094	* src/roff/groff/groff.man: Improve documentation of -P option.
3095	Other minor fixes.
3096
30972002-04-15  Werner LEMBERG  <wl@gnu.org>
3098
3099	Add new escape \F to switch font family.
3100
3101	* src/roff/troff/input.cc (token::next): Handle \F.
3102	* src/roff/troff/env.cc (environment::set_family): Handle
3103	`interrupted' flag.
3104	* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
3105	Document it.
3106
31072002-04-14  Werner LEMBERG  <wl@gnu.org>
3108
3109	* tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of
3110	spaces in tags.
3111
31122002-04-13  Werner LEMBERG  <wl@gnu.org>
3113
3114	Implement \f[] as an alternative to \fP.  Change \mP and \MP to
3115	\m[] and \M[], respectively.
3116
3117	* src/roff/troff/symbol.cc (EMPTY_SYMBOL): New global variable.
3118	(symbol::symbol): Handle NULL string and empty string differently.
3119	* src/roff/troff/symbol.h (symbol::is_empty): New inline function.
3120	* src/roff/troff/input.cc (read_escape_name, read_long_escape_name):
3121	Add optional parameter.
3122	Updated calling functions.
3123	(get_copy, do_glyph_color, do_fill_color, token::next): Use
3124	`symbol::is_empty'.
3125	* src/roff/troff/env.cc (environment::set_font): Ditto.
3126
3127	* src/preproc/pic/troff.cc (troff_output::set_fill,
3128	troff_output::reset_color: Updated.
3129
3130	* tmac/www.tmac: Updated.
3131
3132	* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo,
3133	doc/homepage.ms, src/devices/grotty/grotty.man, tmac/groff_www.man:
3134	Updated.
3135
3136	* tmac/Xps.tmac: Remove some redundant code.
3137
3138	* tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac,
3139	tmac/dvi.tmac, contrib/groffer/groffer.man, man/roff.man,
3140	man/groff_out.man, man/groff.man, man/groff_diff.man,
3141	src/roff/groff/groff.man: Replace \f[P] with \f[].
3142
31432002-04-13  Bernd Warken  <bwarken@mayn.de>
3144
3145	* src/include/printer.h, src/libs/libdriver/printer.cc
3146	(printer::change_fill_color): New member function.
3147	* src/libs/libdriver/input.cc (parse_D_command): Use it.
3148
31492002-04-12  Werner LEMBERG  <wl@gnu.org>
3150
3151	* doc/groff.texinfo: Completed pass on gtroff reference.
3152
31532002-04-11  Werner LEMBERG  <wl@gnu.org>
3154
3155	* doc/groff.texinfo: More fixes.
3156
31572002-04-11  Bernd Warken  <bwarken@mayn.de>
3158
3159	* src/include/color.h: Decorate with `const'.
3160	Use `size_t'.
3161	Include `stddef.h'.
3162	* src/libs/libgroff.color.cc: Decorate with `const'.
3163	Use `size_t'.
3164	(color::color): Initialize members.
3165	* src/libs/libdriver/input.cc (parse_D_command): Handle `f'
3166	command according to the documentation.
3167
3168	* man/groff_out.man: Updated.
3169	Minor fixes.
3170
31712002-04-11  Gaius Mulley  <gaius@glam.ac.uk>
3172
3173	* src/preproc/html/pre-html.cc (write_start_image): Remove
3174	redundant output.
3175	* tmac/www.tmac (DC, HTML-DO-IMAGE): Ditto.
3176
3177	* src/devices/grohtml/post-html.cc (page::add_and_encode): Using
3178	\C'hy' caused an assertion failure.
3179
3180	* src/roff/troff/env.cc (environment::environment): Initialize
3181	`emitted_node'.
3182	(environment::copy): Handle `ignore_next_eol' and `emitted_node'.
3183
31842002-04-10  Werner LEMBERG  <wl@gnu.org>
3185
3186	* man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3187	Document pvs request and .pvs register.
3188
31892002-04-09  Werner LEMBERG  <wl@gnu.org>
3190
3191	* doc/groff.texinfo: Improve and fix documentation of diversions
3192	and environments.
3193
31942002-04-08  Werner LEMBERG  <wl@gnu.org>
3195
3196	* doc/groff.texinfo: Fix documentation of drawing functions.
3197	Other minor fixes.
3198
31992002-04-07  Werner LEMBERG  <wl@gnu.org>
3200
3201	* doc/groff.texinfo: Better documentation of double quotes as
3202	arguments.
3203	Other minor fixes.
3204
32052002-04-06  Werner LEMBERG  <wl@gnu.org>
3206
3207	* man/groff_font.man: Document names of special characters better.
3208	* doc/groff.texinfo: Minor improvements.
3209
3210	* tmac/lbp.tmac: Load latin1.tmac.
3211	* tmac/X.tmac, tmac/Xps.tmac: Load latin1.tmac or cp1047.tmac.
3212
3213	* font/devX*/*: Regenerated (all chars > 0x80 removed).
3214
32152002-04-05  Werner LEMBERG  <wl@gnu.org>
3216
3217	* tmac/tty.tmac: Don't use shc request.
3218	* tmac/latin1.tmac, tmac/cp1047.tmac: Translate soft hyphen to `\%'.
3219	* NEWS: Updated.
3220
3221	* man/groff_diff.man: Minor fixes.
3222
3223	* font/devlbp/*: Remove all `charXXX' entities.
3224
3225	* src/libs/libgroff/font.cc (font::~font): Deallocate
3226	`special_device_coding'.
3227	(font::load): Use `new' for allocating `special_device_coding'.
3228	* src/libs/libgroff/nametoindex.cc (character_indexer::lookup_char):
3229	Removed unused member.
3230
32312002-04-05  Werner LEMBERG  <wl@gnu.org>
3232
3233	* src/drivers/grops/psrm.cc (skip_possible_newline): New function.
3234	(resource_manager::do_begin_binary,
3235	resource_manager::do_begin_data): Use it.
3236
3237	* doc/texinfo.tex: Updated to version 4.2.
3238
3239	* src/roff/troff/token.h: Add TOKEN_ZERO_WIDTH_BREAK for `\:'.
3240	(token::zero_width_break): New inline function.
3241	* src/roff/troff/input.cc (token::next): Use it.
3242	(token::description): Updated.
3243	(encode_char): Ignore `\%', `\&', `\)', and `\:'.
3244	(token::add_to_node_list, token::process): Use it.
3245	* NEWS, doc/groff.texinfo: Updated.
3246
3247	* src/preproc/eqn/over.cc (over_box::output): Fix typo.
3248	* tmac/tty.tmac: Add missing backslash.
3249
32502002-04-04  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
3251
3252	* src/preproc/eqn/box.cc (set_script_size, box::top_level): Use
3253	`.ps' register instead of `.s' to handle fractional point sizes.
3254	* src/preproc/eqn/limit.cc (limit_box::compute_metrics,
3255	limit_box::output): Ditto.
3256	* src/preproc/eqn/other.cc (size_box::compute_metrics,
3257	size_box::output): Ditto.
3258	* src/preproc/eqn/over.cc (over_box::compute_metrics,
3259	over_box::output): Ditto.
3260	* src/preproc/eqn/script.cc (script_box::compute_metrics,
3261	script_box::output): Ditto.
3262	* src/preproc/eqn/sqrt.cc (sqrt_box::compute_metrics,
3263	sqrt_box::output): Ditto.
3264
32652002-04-03  Michael Selway  <mas@ssl.co.uk>
3266
3267	* src/drivers/grops/psrm.cc (resource_manager::do_begin_binary):
3268	Fix typo.
3269
32702002-04-03  Werner LEMBERG  <wl@gnu.org>
3271
3272	* doc/homepage.ms: Reduce title size.
3273	* doc/groff.texinfo: Fix documentation of .t register.
3274	Fix handling of colon.
3275	Fix `\' vs. `\\'.
3276
3277	* src/roff/troff/input.cc (exit_troff): Emit LAST_PAGE_EJECTOR
3278	only if page length is positive to avoid a loop.
3279
3280	* tmac/an-old.tmac (ne): Increase page length to avoid problems with
3281	tbl.
3282
32832002-04-02  P. Alejandro Lopez-Valencia  <dradul@yahoo.com>
3284
3285	* src/include/nonposix.h, src/roff/groff/pipeline.c:
3286	s/__CYGWIN32__/__CYGWIN__/.
3287
32882002-03-28  Gaius Mulley  <gaius@glam.ac.uk>
3289
3290	* doc/gnu.xpm: New image contributed by Emily Mulley.
3291	* doc/Makefile (gnu.eps, gnu.png): Use pnmdepth.
3292	(homepage.html): Be dependent on gnu.eps.
3293	* doc/homepage.ms: Updated to new image.
3294
3295	* src/devices/grohtml/post-html.cc (html_printer): New member
3296	`sbuf_prev_hpos'.
3297	(html_printer::flush_sbuf, html_printer::set_char): Set it.
3298	(html_printer::sbuf_continuation): Use it.
3299
33002002-03-28  Werner LEMBERG  <wl@gnu.org>
3301
3302	* src/libs/libgroff/getopt.c: Updated to latest version.
3303
3304	* tmac/README: More on hyphen.tex license.
3305
33062002-03-26  Larry Kollar  <kollar@alltel.net>
3307
3308	* doc/groff.texinfo: Add documentation of most missing requests.
3309
33102002-03-25  Werner LEMBERG  <wl@gnu.org>
3311
3312	Add three glyphs `t+-', `tmu', and `tdi' which are textual variants
3313	of `+-', `mu', and `di', respectively.
3314
3315	* font/devascii/R.proto, font/devutf8/R.proto,
3316	font/devlatin1/R.proto, font/devhtml/R.proto,
3317	font/devcp1047/R.proto, font/devlpb/*: Add them.
3318	* font/devps/generate/textmap: Ditto.
3319	* font/devps/*: Regenerated.
3320	* font/devlj4/generate/text.map: Add them.
3321	* font/devlj4/*: Regenerated.
3322	* font/devdvi/generate/tc.map: Use them.
3323	* font/devdvi/generate/texsy.map: Add them.
3324	* font/devdvi/*: Regenerated.
3325	* font/devX*/*: Regenerated.
3326
3327	* tmac/latin1.tmac, tmac/cp1047.tmac, tmac/tty.tmac,
3328	tmac/tty-char.tmac: Updated.
3329
3330	* NEWS, man/groff_char.man: Updated.
3331
33322002-03-24  Werner LEMBERG  <wl@gnu.org>
3333
3334	* tmac/dvi.tmac, tmac/X.tmac, tmac/ps.tmac, tmac/html.tmac,
3335	tmac/lj4.tmac, tmac/tty.tmac: Replace most `.char' with `.fchar'.
3336	* tmac/ec.tmac: Remove `.rchar' calls (no longer necessary since
3337	we use `.fchar' in dvi.tmac.
3338	* tmac/dvi.tmac: Improve definition of \[Fo] and \[Fc].
3339	* tmac/Xps.tmac: Simplify some char definitions.
3340	Add definition for \[f/].
3341	* man/groff_char.man: Updated for new X.tmac.
3342
3343	* tmac/README: New file.
3344
33452002-03-23  Phil Lobbes  <phil@perkpartners.com>
3346
3347	* Makefile.comm (.y.o): New rule for make on Solaris 2.5.1 -- the
3348	internal .y.o rule took precendence over the .y.cc rule, compiling
3349	the yacc files with gcc instead of g++.
3350
33512002-03-23  Werner LEMBERG  <wl@gnu.org>
3352
3353	* tmac/dvi.tmac: Add replacement font for `CB'.
3354
3355	* tmac/doc.tmac: s/request/macro/ in messages.
3356	(doc-generic-macro): Improve error message.
3357	* tmac/groff_mdoc.man: Minor improvements.
3358
33592002-03-22  Werner LEMBERG  <wl@gnu.org>
3360
3361	* doc/groff.texinfo: Document possible conflict between `tr' and
3362	`char' requests.
3363
33642002-03-21  Werner LEMBERG  <wl@gnu.org>
3365
3366	Improve handling of hyphenation patterns.  It is now possible to
3367	use most of TeX's pattern files unmodified.  To make the process
3368	more flexible, a new request `hpfcode' has been added which
3369	provides a character code mapping for the `hpf' request.  See
3370	comment before hpf_getc() for more details.
3371
3372	* src/roff/troff/env.cc (insert_hyphenation, hpf_getc): New
3373	functions.
3374	(read_patterns_file): Additional parameter for exception dictionary.
3375	Extended to recognize \pattern, \hyphenation, and \endinput.
3376	(do_hyphenation_patterns_file): Updated.
3377	* src/roff/troff/env.h (hpf_code_table): New extern.
3378
3379	* src/roff/troff/input.cc (hpf_code_table): New array.
3380	(init_hpf_code_table, hyphenation_patterns_file_code): New
3381	functions.
3382	(hyphenation_code): Handle translation from `trin' correctly.
3383	(main, init_input_requests): Updated.
3384	(charinfo::set_translation): Handle hyphenation code also.
3385
3386	* src/roff/troff/charinfo.h (charinfo::get_translation_input): New
3387	inline function.
3388
3389	* src/roff/troff/env.cc (WORD_MAX): Reduced to 256 since `unsigned
3390	char' is used for offsets in hyphenation exceptions.
3391
3392	* tmac/hyphen.us: Replace with contents of unmodified `hyphen.tex'.
3393
3394	* NEWS, man/groff_diff.man, man/groff.man: Document it.
3395
33962002-03-20  Larry Kollar  <kollar@alltel.net>
3397
3398	* doc/groff.texinfo: Add documentation for `hpfa' and `trin'
3399	requests.
3400
34012002-03-18  Werner LEMBERG  <wl@gnu.org>
3402
3403	* tmac/html.tmac: Fix serious typo.
3404
34052002-03-17  Larry Kollar  <kollar@alltel.net>
3406
3407	* doc/groff.texinfo: Add documentation for `writec' request.
3408
34092002-03-17  Werner LEMBERG  <wl@gnu.org>
3410
3411	Added request `hpfa' to append hyphenation patterns.
3412
3413	* src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
3414	parameter `append'.
3415	(hyphenation_patterns_file): Renamed to...
3416	(do_hyphenation_patterns_file): This.
3417	(hyphenation_patterns_file, hyphenation_patterns_file_append): New
3418	functions.
3419	(init_hyphen_requests): Updated.
3420	* NEWS, man/groff.man, man/groff_diff.man: Document it.
3421
34222002-03-16  Werner LEMBERG  <wl@gnu.org>
3423
3424	Added request `writec' in analogy to `tmc'.
3425
3426	* src/roff/troff/input.cc (write_request): Renamed to...
3427	(do_write_request): This.
3428	Added one parameter.
3429	(write_request, write_request_continue): New functions.
3430	(init_input_requests): Updated.
3431	* NEWS, man/groff.man, man/groff_diff.man: Document it.
3432
3433	* font/devdvi/DESC.in (sizes): Allow all sizes in the range
3434	5-10000pt.
3435	* NEWS: Document it.
3436
34372002-03-15  Werner LEMBERG  <wl@gnu.org>
3438
3439	* man/groff.man: Add writem request.
3440
3441	Add request `trin' (translate input) to make `.asciify' work
3442	correctly.  This is necessary since `charXXX' entity names are no
3443	longer hardcoded in font definition files.
3444
3445	* src/roff/troff/charinfo.h (charinfo): Add `asciify_code' and
3446	`translate_input' members.
3447	(charinfo::set_asciify_code, charinfo::get_asciify_code,
3448	charinfo::set_translation_input): New methods.
3449	(charinfo::set_translation): Add third argument.
3450	* src/roff/troff/input.cc (charinfo:set_translation): Set
3451	`asciify_code'.
3452	(do_translate): Add second argument.
3453	(translate_input): New function.
3454	(init_input_requests): Updated.
3455	* src/roff/troff/node.cc (glyph_node::asciify,
3456	composite_node::asciify): Use `get_asciify_code'.
3457
3458	* tmac/cp1047.tmac, tmac/latin1.tmac: Use `trin'.
3459
3460	* NEWS, man/groff.man, man/groff_diff.man: Updated.
3461
34622002-03-14  Larry Kollar  <kollar@alltel.net>
3463
3464	* doc/groff.texinfo: Improve documentation of .RS and .RE.
3465
34662002-03-14  Werner LEMBERG  <wl@gnu.org>
3467
3468	Add a new request `sizes' similar to the `sizes' command in DESC
3469	files.
3470
3471	* src/roff/troff/env.cc (override_sizes): New function.
3472	(init_env_requests): Use it.
3473	* src/roff/troff/token.h: Export `read_string'.
3474	* NEWS, man/groff_diff.man, man/groff.man: Document it.
3475
34762002-03-12  Werner LEMBERG  <wl@gnu.org>
3477
3478	* doc/groff.texinfo: More fixes for texinfo 4.1 and higher.
3479
34802002-03-10  Werner LEMBERG  <wl@gnu.org>
3481
3482	* tmac/pspic.tmac: Add support for -Tdvi.
3483	* tmac/dvi.tmac: Include pspic.tmac.
3484	* src/devices/grodvi/grodvi.man: Document it.
3485	* NEWS: Updated.
3486
3487	* font/devlj4/generate/Makefile: Fix URL of metric files.
3488
34892002-03-09  Werner LEMBERG  <wl@gnu.org>
3490
3491	* PROBLEMS: The static constructor bug has been fixed in z/OS V1R3.
3492
34932002-03-09  Larry Kollar  <kollar@alltel.net>
3494
3495	* tmac/groff_ms.man: Add documentation for RS and RE macros.
3496
34972002-03-08  Werner LEMBERG  <wl@gnu.org>
3498
3499	* doc/groff.texinfo: Fixes for texinfo 4.1.
3500
35012002-03-07  Werner LEMBERG  <wl@gnu.org>
3502
3503	* src/include/lib.h: Include getopt.h if groff-getopt.h can't be
3504	included.
3505	Handle CYGWIN properly.
3506
35072002-03-07  Paco Andr�s Verd�  <pandres@dragonet.es>
3508
3509	* font/devlbp/Makefile.sub (DEVFILES): Add some missing fonts.
3510	* tmac/lbp.tmac: Add some font translations.
3511
35122002-03-02  Werner LEMBERG  <wl@gnu.org>
3513
3514	* font/devcp1047/R.proto, font/devlatin1/R.proto,
3515	font/devhtml/R.proto: Remove `charXXX'	entries.
3516	* tmac/tty.tmac, tmac/html.tmac: Load latin1.tmac or cp1047.tmac
3517	where appropriate.
3518
3519	* font/devlj4/generate/text.map: Remove `charXXX' entries.
3520	* font/devlj4/*: Regenerated all font definition files.
3521	* tmac/lj4.tmac: Load latin1.tmac.
3522
3523	* src/utils/hpftodit/hpftodit.cc (do_file): Partially undo change
3524	from 2000-06-17: LJ4 metric files are *not* text files.
3525
3526	* tmac/troffrc, tmac/dvi.tmac, tmac/ps.tmac: Don't use .T string
3527	register to test for EBCDIC.
3528
35292002-03-01  Werner LEMBERG  <wl@gnu.org>
3530
3531	* src/utils/afmtodit/afmtodit.pl: Skip comment lines in encoding
3532	files (as grops already does).
3533	* src/utils/afmtodit/afmtodit.man: Document comment lines in map
3534	files.
3535	* src/devices/grops/grops.man: Document comment lines in encoding
3536	files.
3537
3538	* tmac/cp1047.tmac: New file.
3539	* tmac/dvi.tmac, tmac/tty-char.tmac: Use it.
3540	* tmac/ps.tmac: Load latin1.tmac or cp1047.tmac.
3541	* tmac/Makefile.sub (NORMALFILES): Updated.
3542
3543	* tmac/ec.tmac: Don't load latin1.tmac again.
3544
3545	* font/devps/generate/lgreekmap, font/devps/generate/symbolchars,
3546	font/devps/generate/dingbats.map,
3547	font/devps/generate/dingbats.rmap, font/devps/text.enc,
3548	font/devps/generate/Makefile (symbolmap): Add header comment.
3549	* font/devps/generate/textmap: Ditto.
3550	Remove `charXXX' entries.
3551	* font/devps/symbolmap: Regenerated.
3552	* font/devps/*: Regenerated all font definition files.
3553
35542002-02-28  Werner LEMBERG  <wl@gnu.org>
3555
3556	Add color support to grodvi (for drawing colors are currently
3557	translated to gray values).
3558
3559	* src/devices/grodvi/dvi.cc (FILL_MAX): Removed.
3560	(dvi_printer): Add `cur_color' member.
3561	(dvi_printer::set_color): New function.
3562	(draw_dvi_printer): Remove `fill'.
3563	(draw_dvi_printer::fill_next): Pass environment as parameter.
3564	Update code for new color support translated to gray.
3565	(dvi_printer::set_char): Updated.
3566	(dvi_printer::begin_page, dvi_printer::end_page): Handle color
3567	changes crossing the page border.
3568	(dvi_printer::draw): Updated.
3569	Remove cases `f' and `F'.
3570	* tmac/dvi.tmac: Add color definitions.
3571	* NEWS, src/devices/grodvi/grodvi.man: Updated.
3572
3573	* tmac/an-old.tmac (R): Make this a macro to emit a warning if
3574	used incorrectly.
3575
3576	* aclocal.m4 (GROFF_NEED_DECLARATION): Use test similar to recent
3577	versions of autoconf.
3578	* configure: Updated.
3579
3580	* doc/homepage.ms: Use `.blm'.
3581	* tmac/www.tmac (www-depth): New auxiliary variable.
3582	(www-pop-level): Don't issue HTML tag.
3583	(ULS, ULE, LI): Use absolute indentation.
3584
3585	* src/devices/grops/ps.cc (ps_printer::begin_page,
3586	ps_printer::end_page): Switch forth and back to default color while
3587	starting a new page.
3588
35892002-02-27  Werner LEMBERG  <wl@gnu.org>
3590
3591	Add EC and TC fonts to devdvi.
3592
3593	* src/utils/tfmtodit/tfmtodit.man: Document patching of exbase.mf.
3594	* font/devdvi/generate/cork.map: Renamed to...
3595	* font/devdvi/generate/ec.map: This.
3596	Remove entry for `aq'.
3597	* font/devdvi/generate/tc.map: New file.
3598	* font/devdvi/generate/Makefile (*EC, *TC): New creation rules for
3599	EC and TC fonts.
3600	(FONTS): Updated.
3601	* font/devdvi/*EC, font/devdvi/*TC: New font definition files.
3602	* font/devdvi/Makefile.sub (DEVFILES): Updated.
3603	* tmac/ec.tmac: New file.
3604	* tmac/Makefile.sub (NORMALFILES): Updated.
3605	* NEWS, src/devices/grodvi/grodvi.man: Updated.
3606	* man/groff_char.man: Check `ECFONTS' register.
3607
3608	* font/devdvi/{TR,TI,TB,TBI,HR}: Fix `name' field.
3609
36102002-02-26  Werner LEMBERG  <wl@gnu.org>
3611
3612	* font/devdvi/generate/*.map: Remove all `charXXX' entries.
3613	* font/devdvi/generate/cork.map: Add 'y and 'Y.
3614	* font/devdvi/*: Updated.
3615	* tmac/dvi.tmac: Formatting.
3616
3617	Add font `HBI' for the dvi output.
3618	Add support for font families `T' and `H'.
3619
3620	* font/devdvi/HBI: New file.
3621	* font/devdvi/B: Renamed to ...
3622	* font/devdvi/TB: This.
3623	* font/devdvi/BI: Renamed to ...
3624	* font/devdvi/TBI: This.
3625	* font/devdvi/I: Renamed to ...
3626	* font/devdvi/TI: This.
3627	* font/devdvi/R: Renamed to ...
3628	* font/devdvi/TR: This.
3629	* font/devdvi/H: Renamed to ...
3630	* font/devdvi/HR: This.
3631	* font/devdvi/Makefile.sub (DEVFILES): Updated.
3632	* font/devdvi/generate/Makefile (HBI): New rule.
3633	(FONTS): Updated.
3634	(R, I, B, BI, H): Renamed to ...
3635	(TR, TI, TB, TBI, HR): This, respectively.
3636	(srcdir): Fixed.
3637	* NEWS, src/devices/grodvi/grodvi.man: Updated.
3638	* font/devdvi/DESC.in: Don't mount R, I, B, BI, and CWI.
3639	Add `styles' and `family' keywords.
3640	* tmac/dvi.tmac: Alias `H' to `HR'.
3641	Add some fspecial requests for italic fonts.
3642	Add TR and TI as special.
3643	Add support for `_' with font CWI.
3644
3645	* src/roff/troff/number.cc (parse_expr): Add missing `break' for
3646	operator `:'.  Until now, the expression `0:1' would return 2
3647	instead of 1.
3648
36492002-02-25  Werner LEMBERG  <wl@gnu.org>
3650
3651	* man/groff_char.man: Added some missing PS glyph names (from the
3652	Adobe Glyph List).
3653	* font/devps/generate/textmap, font/devps/symbolmap: Add
3654	`arrowupdn'.
3655
3656	* doc/groff.texinfo: Minor additions and fixes.
3657	* man/groff_diff.man: Remove documentation of fp request.  This
3658	is already covered in the original troff manual.
3659	Updated to be consistent with other doc files.
3660	* NEWS: Updated.
3661
36622002-02-24  Werner LEMBERG  <wl@gnu.org>
3663
3664	* aclocal.m4 (GROFF_EBCDIC): Don't include `font/devutf8' in
3665	TTYDEVDIRS.
3666	Define new variable OTHERDEVDIRS (containing `font/devlj4
3667	font/devlbp' if not EBCDIC).
3668	* Makefile.in (TTYDEVDIRS): Always include `font/devutf8'.
3669	(OTHERDEVDIRS): New variable.
3670	(MDEFINES, DEVDIRS, ALLDIRS, DISTDIRS): Updated.
3671	* configure: Regenerated.
3672
3673	* NEWS, src/devices/grotty/grotty.man: Updated.
3674
36752002-02-23  Werner LEMBERG  <wl@gnu.org>
3676
3677	* src/roff/troff/input.cc (do_overstrike, do_bracket,
3678	get_line_arg): Honour input level.
3679
3680	Add new symbol `mc' corresponding to U+00B5 MICRO SIGN.
3681
3682	* font/*/*: Implement it in all font files.
3683	* font/devps/generate/textmap, font/devps/generate/symbolchars,
3684	* font/devps/symbolmap: Updated.
3685	* font/devlj4/generate/text.map: Updated.
3686	* font/devdvi/generate/CompileFonts (sizes): Add LaTeX sizes.
3687	* font/devdvi/generate/texmi.map: Updated.
3688
3689	* font/devutf8/R.proto: Remove all `charXXX' entries.
3690	* font/devutf8/NOTES: Updated.
3691
3692	* font/devX*/*: Regenerated with xtotroff, using fonts from XFree86
3693	version 4.1.0.
3694
3695	* tmac/latin1.tmac, tmac/psold.tmac, tmac/tty-char.tmac: Updated.
3696
3697	* NEWS, man/groff_char.man: Updated.
3698
36992002-02-21  Phil Lobbes  <phil@perkpartners.com>
3700
3701	* src/include/lib.h [HAVE_SNPRINTF]: Include stdarg.h.
3702
37032002-02-20  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
3704
3705	* src/roff/grog/grog.pl: Fix computation of $refer.
3706
37072002-02-19  Werner LEMBERG  <wl@gnu.org>
3708
3709	* src/include/lib.h [!HAVE_SNPRINTF]: Add declarations for
3710	`snprintf' and `vsnprintf'.
3711
3712	* src/include/htmlindicate.h: Renamed to...
3713	* src/include/htmlhint.h: This.
3714	* src/include/Makefile.sub: Updated.
3715	* src/preproc/eqn/main.cc: Updated.
3716
37172002-02-18  Werner LEMBERG  <wl@gnu.org>
3718
3719	* man/roff.man, man/groff_out.man, man/groff.man,
3720	man/groff_diff.man, man/ditroff.man, src/roff/groff/groff.man,
3721	src/roff/troff/troff.man: Updated to latest changes in www.tmac.
3722
3723	* win32-diffs: Updated.
3724
37252002-02-17  Werner LEMBERG  <wl@gnu.org>
3726
3727	* doc/Makefile (clean): Add *.eps.
3728	(MEMACROS): Removed.
3729	(TFLAG): New variable.
3730	(TROFF): Use it.
3731	Add -ww.
3732	(GROFF): Use TFLAG, FFLAG, -U, -p, -e, -t, and -ww.
3733	(.me.dit): Fixed.
3734	(.ms.html, .ms.ascii, .ms.ps, homepage.html): Simplify.
3735
3736	* tmac/www.tmac: Use dummy diversion while resetting and disabling
3737	`.tl'.
3738	* tmac/e.tmac: Inserted some more `\"' to remove warnings if used
3739	unstripped.
3740	* src/roff/troff/troff.man: Fix order of parameter description.
3741
3742	* NEWS: Updated.
3743
37442002-02-16  Gaius Mulley  <gaius@glam.ac.uk>
3745
3746	Simplify image handling for grohtml.
3747	Fix <p> bug.
3748
3749	* src/devices/grohtml/html-text.cc (DEBUGGING): Don't undefine but
3750	comment out.
3751	(html_text::dump_stack): Don't emit newline while debugging.
3752	(html_text::do_push) [DEBUGGING]: Print more info.
3753	(html_text::check_emit_text): Fix handling of <p>.
3754	* src/devices/grohtml/html.h: Updated.
3755	* src/devices/grohtml/output.cc (FPUTC, FPUTS, PUTC): New macros,
3756	replacing `fputc', `fputs', `putc'.  If DEBUGGING is defined, they
3757	send its data to stderr also.
3758	Update all callers.
3759	(simple_output::space_or_newline) [DEBUGGING]: Removed.
3760	* src/devices/grohtml/post-html.cc (html_printer::do_links,
3761	html_printer::html_printer): Remove `DEBUGGING' conditionals.
3762
3763	* src/include/html-strings.h (HTML_IMAGE_{CENTERED,LEFT,RIGHT,END}):
3764	Removed.
3765	* src/libs/libgroff/htmlhint.cc (is_in_graphic_start,
3766	is_inline_image): Removed.
3767	(html_begin_suppress, html_end_suppress): Don't take a parameter.
3768	(graphic_start, graphic_end): Removed.
3769	* src/include/htmlindicate.h: Updated.
3770	* src/preproc/html/pre-html.cc (DEBUG_HTML): Removed.
3771	(macroset_template): New global variable.
3772	(makeFileName): Use `macroset_template'.
3773	(write_end_image): Don't take a parameter.
3774	Don't emit newline.
3775	(write_start_image: Don't emit newline.
3776	(char_buffer::write_upto_newline): Updated.
3777	(char_buffer::skip_to_newline): Renamed to ...
3778	(char_buffer::skip_until_newline): This.
3779	Fix code.
3780	(char_buffer::write_file_troff, char_buffer::write_file_html):
3781	Simplified.
3782	(createAllPages, createImage) [DEBUGGING]: Handle `debug' flag.
3783	(removeAllPages): Remove `DEBUGGING' conditionals.
3784	(addRegDef, dump_args): New functions.
3785	(char_buffer::do_html, char_buffer::do_image): Handle
3786	`www-image-template' command line variable.
3787	Add more debugging code.
3788	(addps4html): Removed.
3789	(removeTempFiles) [DEBUGGING]: Handle `debug' flag.
3790
3791	* src/preproc/eqn/main.cc: Include `ctype.h'.
3792	(suppress_html): Removed.
3793	(do_file): Updated.
3794	(inline_equation): Use `html_begin_suppress' and
3795	`html_end_suppress'.
3796	* src/preproc/pic/troff.cc: Don't include `htmlindicate.h'.
3797	(troff_output::start_picture, troff_output::finish_picture):
3798	Updated.
3799	* src/preproc/tbl/main.cc: Don't include `htmlindicate.h'.
3800	(process_input_file): Updated.
3801
3802	* src/roff/troff/div.cc (page_number): Set page number only if the
3803	`ps4html' register isn't defined.
3804	* src/roff/troff/input.cc (image_no): New external variable.
3805	(do_suppress): Use it.
3806	* src/roff/troff/node.h (suppress_node::image_id): New member.
3807	* src/roff/troff/node.cc (image_no): Remove `static' keyword.
3808	(suppress_node::suppress_node): Initialize `image_id' member.
3809	(suppress_node::same): Handle `image_id' also.
3810	(suppress_node::copy): Updated.
3811	(last_image_id): New global variable.
3812	(suppress_node::tprint): Use it.
3813
3814	* tmac/an-old.tmac (TS, TE, EQ, EN): Use HTML-IMAGE and
3815	HTML-IMAGE-END.
3816	* tmac/pspic.mac (PSPIC): Fix html support.
3817	* tmac/s.tmac (@EQ, @EN, @TS, TE, PS, PE): Ditto.
3818	* tmac/www.tmac (www-image-template): Set up.
3819	(HTMLINDEX): Renamed to...
3820	(HX): This.
3821	(BODYCOLOR): Renamed to...
3822	(BCL): This.
3823	(BACKGROUND): Renamed to...
3824	(BGIMG): This.
3825	(URL): Change order of parameters for consistency.
3826	(MAILTO): Renamed to...
3827	(MTO): This.
3828	(IMAGE, PNG-IMAGE, MARGIN-PNG-IMAGE): Renamed to...
3829	(IMG, PIMG, MPIMG): This.
3830	(HTML-H-BEGIN, HTML-H-END): Renamed to...
3831	(HnS, HnE): This.
3832	(LINKS): Renamed to...
3833	(LK): This.
3834	(LINE): Renamed to...
3835	(HR): This.
3836	(NO-AUTO-RULE): Renamed to...
3837	(NHR): This.
3838	(HTML-TL): Renamed to...
3839	(HTL): This.
3840	(UL-BEGIN, UL-END): Renamed to...
3841	(ULS, ULE): This.
3842	(DROPCAP): Renamed to...
3843	(DC): This.
3844	(TS, TE, EQ, EN): Provide default definitions.
3845	(www-make-unique-name): Updated.
3846	(HTML-IMAGE-INLINE): Fix typo.
3847	* tmac/groff_www.man: Updated.
3848
3849	* doc/Makefile (homepage.html): Add option -r to grohtml.
3850	Use shortened image name.
3851	* doc/groff.texinfo: Updated info on grohtml strings and macros.
3852	* doc/homepage.ms: Updated and extended.
3853
38542002-02-14  Werner LEMBERG  <wl@gnu.org>
3855
3856	Don't use `CSI 39 m' and `CSI 49 m' but `CSI 0 m'.
3857
3858	* src/devices/grotty/tty.cc (SGR_DEFAULT_COLOR,
3859	SGR_BACK_DEFAULT_COLOR): Replaced with ...
3860	(tty_printer::put_color): Use it.
3861	(ttr_printer::end_page): Simplify.
3862
38632002-02-13  Werner LEMBERG  <wl@gnu.org>
3864
3865	* tmac/groff_tmac.man: Moved to...
3866	* man/groff_tmac.man: This place.
3867	* tmac/Makefile.sub, man/Makefile.sub: Updated.
3868
38692002-02-12  Werner LEMBERG  <wl@gnu.org>
3870
3871	* src/libs/libgroff/Makefile.sub (snprintf.o): Don't use
3872	$(COMPILE.c) to not include groff's assert.h.
3873
3874	* src/drivers/grotty/tty.cc (main): Add GROFF_NO_SGR environment
3875	variable.
3876	* NEWS, src/drivers/grotty/grotty.man: Document it.
3877
38782002-02-11  Werner LEMBERG  <wl@gnu.org>
3879
3880	* src/libs/snprintf/snprintf.c: Updated to latest version
3881	(2002-02-11).
3882
3883	* src/roff/grog/grog.pl (process): Fix handling of `.['.  We now
3884	test whether there is `.]' also.
3885	Don't check for spaces after `.['.
3886	* src/roff/grog/grog.sh: Do the same.
3887
38882002-02-10  Werner LEMBERG  <wl@gnu.org>
3889
3890	Illegal -> Invalid.
3891
3892	* src/libs/libgroff/illegal.cc: Renamed to ...
3893	* src/libs/libgroff/invalid.cc: This.
3894	(illegal_char_table): Renamed to ...
3895	(invalid_char_table): This.
3896	* src/libs/libgroff/Makefile.sub: Updated.
3897	* win32-diffs: Updated.
3898
3899	* doc/groff.texinfo, src/devices/grops/psrm.cc (ps_get_line),
3900	src/libs/libdriver/input.cc (fatal_command, parse_color_command,
3901	parse_x_command), src/libs/libgroff/font.cc (text_file::next,
3902	font::load), src/preproc/eqn/main.cc (read_line, main),
3903	src/preproc/eqn/lex.cc (file_input::read_line),
3904	src/preproc/pic/lex.cc (file_input::read_line,
3905	simple_file_input::get, simple_file_input::peek),
3906	src/preproc/pic/main.cc (top_input::get, top_input::peek),
3907	src/preproc/pic/pic.man, src/preproc/refer/main.cc
3908	(input_stack::push_file), src/preproc/refer/refer.cc (do_file,
3909	do_bib), src/preproc/tbl/main.cc (table_input::get),
3910	src/preproc/grn/grn.man, src/preproc/grn/main.cc (interpret),
3911	src/roff/troff/input.cc (file_iterator::fill, file_iterator::peek,
3912	do_zero_width, read_request, encode_char, ps_get_line,
3913	transparent_file, get_char_for_escape_name, transparent_translate,
3914	asciify, input_char_description, read_string, set_string),
3915	src/roff/troff/env.cc (environment::add_html_tag),
3916	src/roff/troff/troff.man, tmac/e.tmac (`@(', `(f'): Do it.
3917
3918	* src/include/lib.h: Updated.
3919
3920	* src/preproc/eqn/eqn.cc: Removed.
3921
3922	* NEWS: Updated.
3923
3924	* src/preproc/grn/hdb.cc (DBRead): Fix fscanf() fields.
3925
39262002-02-09  Werner LEMBERG  <wl@gnu.org>
3927
3928	* doc/gnu.xpm: New image.
3929	* doc/Makefile (DOCS): Add homepage.ps.
3930	Add rules for converting xpm->png and xpm->eps.
3931	Use `gnu.{xpm,eps}' as image names.
3932	* doc/homepage.ms: Updated.
3933
39342002-02-09  Gaius Mulley  <gaius@glam.ac.uk>
3935
3936	* tmac/www.tmac (www-error): New macro, replacing calls to `@error'.
3937	(IMAGE): Change image position parameters to `-L', `-R', and `-C'.
3938	Remove calls to `B1' and `B2'
3939	(PNG-IMAGE): New macro for inclusion of images in PNG format.
3940	(www-left-ll-trap, www-left-po-trap, www-right-ll-trap): New
3941	auxiliary variables for MARGIN-PNG-IMAGE.
3942	(www-finish-left-po, www-finish-right-ll, www-finish-left-ll): New
3943	auxiliary macros for MARGIN-PNG-IMAGE.
3944	(MARGIN-PNG-IMAGE): New macro to put an image in PNG format into
3945	the margin.
3946	(www-heading-no): New auxiliary variable for HTML-H-{BEGIN,END}.
3947	(HTML-H-BEGIN, HTML-H-END): New macros to begin and end a heading.
3948	(DROPCAP): New macro to produce dropcap characters.
3949	(www-do-image): Renamed back to...
3950	(HTML-DO-IMAGE): This.
3951	Updated all callers.
3952
3953	* doc/Makefile (gnubw.eps): Updated.
3954	* doc/homepage.ms: Updated.
3955
39562002-02-08  Werner LEMBERG  <wl@gnu.org>
3957
3958	* doc/pic.ms: Fixed typos (\(*tx -> \*(tx).
3959	Added `linethick' to table in section `Style Variables'.
3960
39612002-02-08  Gaius Mulley  <gaius@glam.ac.uk>
3962
3963	* src/libs/libdriver/input.cc (get_extended_arg): Fix conditional.
3964
39652002-02-07  Werner LEMBERG  <wl@gnu.org>
3966
3967	Adding options -C (compatibility mode) and -c (grotty's old output
3968	scheme) to nroff.
3969
3970	* src/roff/nroff/nroff.sh: Implement it.
3971	Remove `-Wall'.
3972	* NEWS, src/roff/nroff/nroff.man: Updated.
3973
3974	* PROBLEMS: Document bison 1.32 bug.
3975
3976	Some fixes to make groff compile on z/OS 1.2 UNIX (was OS/390).
3977
3978	* src/roff/troff/node.cc (make_tfont): Define it earlier.
3979	* src/roff/troff/div.h: Add prototype for `end_diversions'.
3980	* src/roff/troff/input.cc: Add prototype for `process_input_stack'.
3981	* src/roff/troff/env.h: Add prototype for `title'.
3982
3983	Adding EBCDIC support to grotty.
3984
3985	* src/devices/grotty/tty.cc (CSI): New macro.
3986	(SGR_*, tty_printer::put_color): Use it.
3987
39882002-02-06  Werner LEMBERG  <wl@gnu.org>
3989
3990	Implementing color support in grotty.  The new switch -c activates
3991	the old drawing scheme, disabling color at the same time.  The new
3992	switch `-i' selects italic instead of underlining (SGR only).
3993
3994	* src/devices/grotty/tty.cc (putstring): New define instead of
3995	`fputs'.  Updated all callers.
3996	(old_drawing_scheme): New global variable.
3997	(COLOR_CHANGE): New enum value.
3998	(SGR_*): New defines containing color handling escape sequences.
3999	(TTY_MAX_COLORS, DEFAULT_COLOR_IDX): New defines.
4000	(glyph): New members `back_color_idx' and `fore_color_idx'.
4001	(glyph::order): Add COLOR_CHANGE.
4002	(tty_printer): New members `cur_fore_idx', `curr_back_idx',
4003	`is_underline', `is_bold', `cu_flag', `tty_colors'.
4004	New methods `make_underline', `make_bold', `color_to_idx',
4005	`change_color', `put_color'.
4006	(cu_flag): Moved into `tty_printer' class.
4007	(tty_printer::tty_printer): Initialize colors.
4008	(tty_printer::add_char, tty_printer::set_char, tty_printer::special,
4009	tty_printer::draw, tty_printer::end_page): Handle colors also.
4010	(main): Add options `-c' and `-i'.
4011	(usage): Updated.
4012	* NEWS, src/devices/grotty/grotty.man: Updated.
4013
4014	* src/include/errarg.h (errarg): Add support for `unsigned int'.
4015	* src/libs/libgroff/errarg.c: Implement it.
4016
4017	* src/include/printer.h (printer): Add `change_color' method
4018	(currently used by grotty only).
4019	* src/libs/libdriver/printer.cc: Implement it.
4020	* src/libs/libdriver/input.cc (parse_D_command, do_file): Add
4021	call to `pr->change_color'.
4022
4023	* src/roff/troff/node.cc (troff_output_file::fill_color,
4024	troff_output_file::glyph_color): Call `do_motion'.
4025
4026	* tmac/tty.tmac: Add color definitions.
4027
4028	* src/roff/groff/groff.man: Minor fixes.
4029
40302002-02-05  Bernd Warken  <bwarken@mayn.de>
4031
4032	* src/libs/libdriver/input.cc: Introduce `EnvInt' typedef and use
4033	it.  This is a preparation for future changes.
4034
40352002-02-05  Werner LEMBERG  <wl@gnu.org>
4036
4037	* src/roff/troff/input.cc (process_input_stack): Fix the case
4038	where leading spaces are followed by \f or \s; previously, an
4039	incorrect space width has been used.
4040
4041	* doc/roff.man (quoted_char): Fix argument.
4042	(comment): Define string.
4043
40442002-02-04  Larry Kollar  <kollar@alltel.net>
4045
4046	* doc/groff.texinfo: More fixes.
4047
40482002-02-04  Werner LEMBERG  <wl@gnu.org>
4049
4050	* src/preproc/eqn/box.cc (output_string): Don't use \\*[...].
4051	* src/preproc/eqn/main.cc (do_file, inline_equation): Call
4052	`restore_compatibility' before `output_string' -- the LINE_STRING
4053	register now already contains proper switches from and to
4054	compatibility mode.
4055
4056	* man/groff_char.man: Add Euro symbol.
4057	* man/groff_diff.man: Improve documentation of `.am1' and `.as1'.
4058	* tmac/tty.tmac: Add `EUR' as replacement for `eu' and `Eu'.
4059	* doc/groff.texinfo (Defstr*): Print strings with full syntax.
4060	Other minor fixes.
4061
4062	* doc/Makefile (.SUFFIXES, .texinfo.pdf, clean): Add support for
4063	texinfo->pdf.
4064	(.texinfo.html): Add support for texinfo->html.
4065
40662002-02-03  Werner LEMBERG  <wl@gnu.org>
4067
4068	Added three new requests `ds1', `as1', and `ami'.  The former two
4069	are equivalent to `ds' and `as' with the difference that
4070	compatibility mode is saved on entry, switched off during string
4071	expansion, and restored on exit.  The latter is the pendant to `dei'
4072	for `am'.
4073
4074	(do_define_string): Use `define_mode' and `calling mode'.
4075	Insert COMPATIBLE_SAVE and COMPATIBLE_RESTORE at the beginning and
4076	end of string, respectively.
4077	(define_string, append_string): Use `calling_mode'.
4078	(define_nocomp_string, append_nocomp_string,
4079	define_string_indirect): New functions.
4080	(init_input_requests): Updated.
4081	* NEWS, man/groff_diff.man, man/groff.man: Document it.
4082
4083	* src/preproc/eqn/box.cc (box::top_level, box::extra_space): Use
4084	`as1' for assigning LINE_STRING (this is `10' usually).  Sun's
4085	mm macro package accesses this string register directly.
4086	* src/preproc/eqn/main.cc (inline_equation): Use `as1'.
4087
4088	* tmac/trace.tmac: Trace calls to `am' also.  Make it work in
4089	compatibility mode.
4090
40912002-02-02  Larry Kollar  <kollar@alltel.net>
4092
4093	* doc/groff.texinfo, tmac/groff_ms.man: More fixes.
4094
40952002-01-31  Werner LEMBERG  <wl@gnu.org>
4096
4097	* tmac/an-old.tmac (I): Use \, and \/ to improve spacing.
4098
40992002-01-31  Bernd Warken  <bwarken@mayn.de>
4100
4101	* src/devices/grolbp/lbp.cc (main): Delete `pr'.
4102	* man/groff_out.man: Revised and updated.
4103
41042002-01-30  Bernd Warken  <bwarken@mayn.de>
4105
4106	* src/libs/libdriver/input.cc [USE_ENV_STACK]: New macro to comment
4107	out the unused `{' and `}' commands.  Undefined by default.
4108	(IntArray): Make `data' private.
4109	(IntArray::operator[], IntArray::get_data, IntArray::len): Use these
4110	new methods instead.
4111	(skip_line_D, skip_to_end_of_line): New functions.
4112	(get_D_fixed_args): Use `skip_line_D'.
4113	Changed to handle dummy odd arguments by ...
4114	(get_D_fixed_args_odd_dummy): This new function.
4115	(get_D_variable_args): Split some code into ...
4116	(get_possibly_integer_args): This new function.
4117	(send_draw): Use more `const'.
4118	(delete_current_env): New function.
4119	(position_to_end_of_args): Use `size_t'.
4120	Updated.
4121	(send_draw): Updated.
4122	(parse_D_command): Handle `c', `C', and `t' better.
4123	Updated.
4124	(do_file): Updated.
4125
41262002-01-29  Werner LEMBERG  <wl@gnu.org>
4127
4128	* NEWS: Revised.
4129	* doc/groff.texinfo: Introduce @Def...List, @Def...Item, and
4130	@Def...ListEnd which replaces @Def...x.  This is necessary to get
4131	proper HTML output -- see the comment in the file for more
4132	information.
4133	Updated all calls.
4134
41352002-01-29  Gaius Mulley  <gaius@glam.ac.uk>
4136
4137	Fixes to make color changes of 2002-01-21 work with grohtml.
4138
4139	* src/devices/grohtml/post-html.cc (style): Updated.
4140	(html_printer): Remove unused methods.
4141	(html_printer::do_font, html_printer::draw, html_printer::set_char,
4142	html_printer::special): Updated.
4143	* src/devices/grohtml/html-text.cc (debugStack, turnDebug,
4144	html_text::dump_stack_element, html_text::dump_stack) [DEBUGGING]:
4145	Added some debugging code.
4146	(html_text::start_tag): Updated.
4147	(html_text::do_push): New method.
4148	(html_text::push_para): Call it.
4149	Add method for handling color.
4150	(html_text::do_color): Updated.
4151	(html_text::shutdown): Handle color.
4152	* src/devices/grohtml/html-text.h (tag_definition): New member
4153	`col'.
4154	Updated.
4155
41562002-01-28  Werner LEMBERG  <wl@gnu.org>
4157
4158	* tmac/ps.tmac, tmac/html.tmac: Fix compatibility mode issues.
4159
41602002-01-27  Gaius Mulley  <gaius@glam.ac.uk>
4161
4162	Add two switches -a and -g to control the antialiasing bits for
4163	text and graphics, respectively.
4164
4165	* src/devices/grohtml/post-html.cc (main): Dummy code for `-a' and
4166	`-g'.
4167	* src/devices/grohtml/grohtml.man: Document them.
4168	* src/preproc/html/pre-html.cc (MIN_ALPHA_BITS, MAX_ALPHA_BITS):
4169	New macros.
4170	(textAlphaBits, graphicAlphaBits, antiAlias): New global variables.
4171	(setupAntiAlias): New function.
4172	(createAllPages): Updated.
4173	(scanArguments): Handle `-a' and `-g'.
4174	(main): Call `setupAntiAlias'.
4175	* NEWS: Updated.
4176
41772002-01-27  Werner LEMBERG  <wl@gnu.org>
4178
4179	* doc/groff.texinfo (Def*): Call index function after deffn.
4180
4181	* tmac/html.tmac: Call `nroff' request.
4182
41832002-01-26  Larry Kollar  <kollar@alltel.net>
4184
4185	* tmac/groff_ms.man: Add some omissions.
4186
41872002-01-25  Larry Kollar  <kollar@alltel.net>
4188
4189	* tmac/groff_ms.man: Typographical improvements.
4190
41912002-01-25  Werner LEMBERG  <wl@gnu.org>
4192
4193	* doc/groff.texinfo: Updated version and copyright.
4194	* src/devices/grops/grops.man: Updated.
4195
4196	* tmac/groff_tmac.man: Fix `ig' macro.
4197
4198	* tmac/an-old.tmac (ne): Redefine `ne' request to be a no-op in
4199	nroff mode.
4200	Use `.ne' unconditionally everywhere.
4201	(TS): Only insert some vertical space.  Doing a page break is no
4202	longer necessary due to the redefinition of the `ne' request.
4203
4204	* src/libs/libdriver/input.cc (parse_D_command): Don't emit a
4205	warning for unknown subcommands but parse and pass them to the
4206	device driver.
4207
42082002-01-24  Werner LEMBERG  <wl@gnu.org>
4209
4210	* tmac/groff_www.man, NEWS: Fix typos.
4211
42122002-01-21  Werner LEMBERG  <wl@gnu.org>
4213
4214	Complete revision of color support:
4215
4216	  Adapt programs to the new libdriver/input.cc.
4217
4218	  Color spaces are no longer converted to RGB but transferred as-is
4219	  in the troff intermediate output format.
4220
4221	  Handle default color gracefully.  troff now supports a `default'
4222	  color (which can't be changed).
4223
4224	  grops will now use the proper color space functions if available.
4225
4226	  Update pic.
4227
4228	Note that currently grohtml doesn't handle colors properly.  This
4229	has to be fixed.
4230
4231	* src/libs/libgroff/itoa.c (UINT_DIGITS): New macro.
4232	(ui_to_a): New function.
4233	* src/include/lib.h: Updated.
4234
4235	* src/include/color.h (color_scheme): Replace `NONE' with `DEFAULT'.
4236	(color): Simplified; removed all `double' members and methods.
4237	A new array `components' now holds the color parameters.
4238	(color::is_default, color::get_components): New methods.
4239	(color::operator==, color:operator!=): New.
4240	(Red, Green, Blue, Cyan, Magenta, Yellow, Black, Gray): New macros
4241	to make access to the `components' array more comprehensible.
4242	* src/libs/libgroff/color.cc: Implement new color support.
4243	(atoh): Small fixes.
4244	(color::read_encoding): Simplified for new troff intermediate color
4245	output format.
4246	(default_color): New global variable.
4247
4248	* src/roff/troff/input.cc (default_symbol): New global variable.
4249	(lookup_color): Use it.
4250	(default_black): Removed.
4251	(do_glyph_color, do_fill_color): Simplified.
4252	(define_color): Handle default color.
4253	Improve warnings.
4254	(do_if_request): Handle default color.
4255	* src/roff/troff/env.cc (environment::environment): Initialize
4256	colors with `default_color'.
4257	* src/roff/troff/node.cc (troff_output_file::put): Add method
4258	for `unsigned int'.
4259	(troff_output_file::hex): Removed.
4260	(troff_output_file::fill_color, troff_output_file::glyph_color):
4261	Updated to include/color.h and libdriver/input.cc.
4262
4263	* src/preproc/pic/object.cc (draw_arrow): New parameter to set
4264	fill color properly (identically to the outline color).  \D'f...'
4265	doesn't work any more.
4266	All function calls to it updated.
4267
4268	* src/devices/grohtml/post-html.cc (html_printer::do_body, main):
4269	Updated.
4270	* src/devices/grohtml/html-text.cc (html_text::issue_color_begin):
4271	Updated.
4272
4273	* src/devices/grops/ps.cc (ps_output::put_color): New method.
4274	(ps_printer::sbuf_color): Make a real member instead of pointer.
4275	(ps_printer::fill_color, ps_printer::output_color): Removed.
4276	(ps_printer::ps_printer): Updated.
4277	(ps_printer::set_char): Ditto.
4278	(ps_printer::set_color): Use various color schemes.
4279	Use `put_color' method.
4280	(ps_printer::flush_sbuf): Don't set color.
4281	(ps_printer::fill_path): Take `environment' as parameter.
4282	Simplify color handling.
4283	(ps_printer::set_line_thickness): Renamed to ...
4284	(ps_printer::set_line_thickness_and_color): This (and updated).
4285	(ps_printer::set_color): Change second parameter from `complete'
4286	to `fill' which better describes what it does.
4287	(ps_printer::draw): Call `flush_sbuf' to output graphic commands
4288	and text in the right order.
4289	Updated.
4290	Remove branches for `f' and `F'; this is handled by
4291	libdriver/input.cc.
4292	* src/devices/grops/ps.h: Updated.
4293	* font/devps/prologue (FL): Redefined.
4294	({F,C}r,k,g: New color functions (with and without filling).
4295
4296	* doc/pic.ms, src/preproc/pic/pic.man: Small fixes.
4297	* man/groff_diff.man, man/groff.man, man/groff_out.man,
4298	doc/groff.texinfo, NEWS: Updated.
4299
43002002-01-20  Bernd Warken  <bwarken@mayn.de>
4301
4302	* src/libs/libdriver/input.cc: Completely rewritten.  See comments
4303	in this file for what has been changed.
4304
43052002-01-19  Werner LEMBERG  <wl@gnu.org>
4306
4307	* test-groff: Fix GROFF_FONT_PATH.
4308	* tmac/andoc.tmac: Add dummy macros for equation support -- eqnrc
4309	is read before .TH or .Dd is parsed.
4310
43112002-01-18  Gaius Mulley  <gaius@glam.ac.uk>
4312
4313	* src/libs/libgroff/geometry.cc (check_output_arc_limits): Fix
4314	quadrant boundaries.
4315
43162002-01-18  Werner LEMBERG  <wl@gnu.org>
4317
4318	* devices/grops/ps.cc: Aargh!  Fix the fix of the incorrectly
4319	applied last patch.
4320
43212002-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
4322
4323	* tmac/doc.common: Initialize %I register for the %I macro to
4324	avoid (harmless) warning.
4325	* tmac/doc.tmac (Bd): There is no reason to enforce -compact
4326	when in the SYNOPSIS section.
4327
43282002-01-17  Bruno Haible  <haible@clisp.cons.org>
4329
4330	* src/preproc/pic/lex.cc (get_token): Fix typo.
4331
43322002-01-17  Werner LEMBERG  <wl@gnu.org>
4333
4334	* devices/grops/ps.cc: Fix incorrectly applied last patch.
4335
43362002-01-17  Larry Kollar  <kollar@alltel.net>
4337
4338	* tmac/groff_ms.man: Completely rewritten.
4339
43402002-01-16  Werner LEMBERG  <wl@gnu.org>
4341
4342	* tmac/an-old.tmac (TS): Force break, inserting some vertical space.
4343
43442002-01-15  Gaius Mulley  <gaius@glam.ac.uk>
4345
4346	* devices/grops/ps.cc (ps_printer::fill_path): Fix handling of
4347	fill colors.
4348	(ps_printer::draw): Ditto.
4349
43502002-01-14  Ruslan Ermilov  <ru@FreeBSD.org>
4351
4352	* tmac/groff_mdoc.man: Minor fixes.
4353
43542002-01-13  Werner LEMBERG  <wl@gnu.org>
4355
4356	* man/groff_out.man: Some fixes.
4357
43582002-01-13  Gaius Mulley  <gaius@glam.ac.uk>
4359
4360	* doc/pic.ms: Fix typos.
4361
43622002-01-12  Werner LEMBERG  <wl@gnu.org>
4363
4364	* doc/groff.texinfo, doc/groff.man: More on a printable backslash.
4365
43662002-01-10  Werner LEMBERG  <wl@gnu.org>
4367
4368	* font/devutf8/R.proto, font/devhtml/R.prot: Add `Eu' and `eu'
4369	symbols.
4370	* NEWS: Updated.
4371
43722002-01-09  Bernd Warken  <bwarken@mayn.de>
4373
4374	* man/groff_out.man: Revised.
4375	* man/roff.man: Minor fixes.
4376	* src/roff/troff/troff.man: Some reordering.
4377
43782002-01-09  Werner LEMBERG  <wl@gnu.org>
4379
4380	* tmac/an-old.tmac: Add dummy macros for equation support.
4381
43822002-01-07  Werner LEMBERG  <wl@gnu.org>
4383
4384	doc/groff.texinfo: Fix documentation of glyph searching algorithm.
4385
4386	* tmac/an-old.tmac: Revert change 2001-12-23.  This breaks too many
4387	man pages.
4388	* tmac/groff_man.man: Small improvements.
4389
43902002-01-07  Bernd Warken  <bwarken@mayn.de>
4391
4392	* man/groff_diff.man: Revised.
4393
43942002-01-06  Werner LEMBERG  <wl@gnu.org>
4395
4396	* tmac/www.tmac: Remove extraneous backslash.
4397
43982002-01-06  Bernd Warken  <bwarken@mayn.de>
4399
4400	* man/ditroff.man, src/roff/groff/groff.man, man/groff.man: Revised.
4401
44022002-01-05  Werner LEMBERG  <wl@gnu.org>
4403
4404	Integrated groffer, contributed by Bernd Warken.
4405
4406	* contrib/groffer/*: New.	
4407	* Makefile.in, NEWS: Updated.
4408
44092002-01-04  Werner LEMBERG  <wl@gnu.org>
4410
4411	* doc/groff.texinfo: Added macros `@Defmpreg' and `@Defmpregx' for
4412	registers defined in macro packages.
4413	Revising the ms part.
4414
44152002-01-04  Larry Kollar  <kollar@alltel.net>
4416
4417	* doc/groff.texinfo: Add documentation for ms macros.
4418
44192002-01-02  Werner LEMBERG  <wl@gnu.org>
4420
4421	First step in adding PS support for the Euro symbol.  `eu' is the
4422	official Euro logo, `Eu' is a font-specific glyph variant.
4423
4424	* font/devps/text.enc: Add `Euro' at position 9.
4425	* font/devps/generate/textmap: Add `Euro' as symbol `Eu'.
4426	* font/devps/symbolmap: Regenerated.
4427
4428	* NEWS: Updated.
4429
44302002-01-02  Bernd Warken  <bwarken@mayn.de>
4431
4432	* man/roff.man: Revised.
4433
44342002-01-01  Bernd Warken  <bwarken@mayn.de>
4435
4436	* src/roff/groff/groff.man: Completely rewritten.
4437
44382001-12-31  Werner LEMBERG  <wl@gnu.org>
4439
4440	* doc/Makefile: Updated.
4441
44422001-12-30  Werner LEMBERG  <wl@gnu.org>
4443
4444	* tmac/www.tmac: Make all names of internal macros/registers/strings
4445	lowercase, and prepend `www-'.
4446	Other minor changes.
4447	* src/roff/troff/troff.man: Add preprocessor string at BOF.
4448
44492001-12-30  Gaius Mulley  <gaius@glam.ac.uk>
4450
4451	Implement option `-b' in grohtml to set the HTML background colour.
4452
4453	* src/devices/grohtml/post-html.cc (default_background): New global
4454	variable.
4455	(html_printer::html_printer): Initialize `background' to
4456	`default_background'.
4457	(main): Implement option `-b'.
4458	(usage): Updated.
4459	* src/preproc/html/pre-html.cc (scanArguments): Add dummy handling
4460	of `-b' option.
4461	* src/devices/grohtml/grohtml.man: Updated.
4462	* doc/Makefile (.ms.html): Use `-b'.
4463	* tmac/html.tmac: Don't set background color.
4464
4465	Add new grohtml tag `.html-tl'.
4466
4467	* src/devices/grohtml/post-html.cc (title_desc): Add `with_h1'
4468	member variable.
4469	(title_desc::title_desc): Updated.
4470	(html_printer::troff_tag): Handle `.html-tl'.
4471	(html_printer::write_title): Use `with_h1'.
4472	* tmac/www.tmac (www-end-nowhere): New auxiliary macro.
4473	(HTML-TL): New macro.
4474
4475	Add support for unordered lists in HTML.
4476
4477	* tmac/www.tmac (www-level): New auxiliary register.
4478	(www-level1, www-level2, www-level3): New auxiliary strings.
4479	(www-push-level, www-pop-level): New auxiliary macros
4480	(UL-BEGIN, UL-END, LI): User macros for unordered lists.
4481
4482	Miscellaneous.
4483
4484	* src/preproc/html/pre-html.cc (DEFAULT_IMAGE_RES): Increase to 100.
4485	(DEFAULT_VERTICAL_OFFSET): Removed.
4486	(IMAGE_BOARDER_PIXELS): Set to 0.
4487	(A4_LENGTH, A4_OFFSET, LETTER_LENGTH, LETTER_OFFSET): New macros.
4488	(vertical_offset): Initialize with 0.
4489	(gsPaper): New global variable.
4490	(get_resolution): Scan for and return unsigned int.
4491	(get_papersize): New function to get paper length from devps/DESC.
4492	(determine_vertical_offset): New function.
4493	(createAllPages): Produce gray-level images and use proper page
4494	length.
4495	(createImage): Use `-quiet' option of pnmcrop.
4496	(addZ): Fix passing of `-Z'.
4497	(scanArguments): Fix handling of `-o'.
4498	(main): Call `determine_vertical_offset'.
4499	* src/devices/grohtml/post-html.cc (html_printer::draw): Comment out
4500	code for `l'.
4501
4502	* src/libs/libgroff/tmpfile.cc (add_tmp_file): Fix buffer length.
4503	* src/roff/troff/node.cc (troff_output_file::check_charinfo): Handle
4504	glyph descenders properly.
4505
4506	* doc/homepage.ms: Include `gnubw.eps'.
4507	* doc/Makefile (gnubw.eps): New rule.
4508	(homepage.html): Depend on `gnubw.eps'.
4509
45102001-12-25  Werner LEMBERG  <wl@gnu.org>
4511
4512	* src/roff/troff/input.cc (default_black): Fix return value.
4513
45142001-12-24  Ruslan Ermilov  <ru@FreeBSD.org>
4515
4516	* tmac/doc-common (Dt): Change output of architecture strings.
4517	Do some syntax cleanup.
4518	* tmac/groff_mdoc.man: Updated.
4519
45202001-12-23  Werner LEMBERG  <wl@gnu.org>
4521
4522	Adding an `itc' request (input line trap accepting \c).
4523
4524	* src/roff/troff/env.h (environment): New member
4525	`continued_input_trap'.
4526	Make `do_input_trap' a friend function instead of `input_trap'.
4527	* src/roff/troff/env.cc (environment::environment,
4528	environment::copy): Updated.
4529	(environment::newline): Implement it.
4530	(do_input_trap): New function.
4531	(input_trap): Call `do_input_trap'.
4532	(input_trap_continued): New function.
4533	(init_env_requests): Updated.
4534	* src/roff/troff/TODO: Updated.
4535
4536	* tmac/an-old.tmac (SH, SS, B, I, SM, SB, TP): Use `.itc' instead of
4537	`.it'.
4538
4539	* src/preproc/grn/hdb.cc (DBRead): Really chop after 127 characters.
4540
45412001-12-22  Ruslan Ermilov  <ru@FreeBSD.org>
4542
4543	* tmac/doc-common, tmac/doc-syms: Small updates.
4544
45452001-12-22  Colin Watson  <cjwatson@debian.org>
4546
4547	* tmac/an-old.tmac (an-p-footer): Set title length in environment 1.
4548
45492001-12-22  Bernd Warken  <bwarken@mayn.de>
4550
4551	* MANIFEST: New file.
4552
45532001-12-22  Werner LEMBERG  <wl@gnu.org>
4554
4555	* src/preproc/grn/grn.man: Updated.
4556
45572001-12-22  Solar Designer  <solar@openwall.com>
4558
4559	* src/preproc/grn/hdb.cc (MAXSTRING_S): New macro.
4560	(DBRead): Use it.
4561
45622001-12-19  Werner LEMBERG  <wl@gnu.org>
4563
4564	Implement a fallback character request `.fchar'.
4565
4566	* src/roff/troff/charinfo.h (charinfo): New flag `fallback'.
4567	(is_fallback): New inline function.
4568	* src/roff/troff/input.cc (do_define_character): New function.
4569	(define_character): Call `do_define_character'.
4570	(define_fallback_character): New function.
4571	(init_input_requests): Add `fchar'.
4572	(charinfo::charinfo): Updated.
4573	(charinfo::set_macro): New argument to set `fallback' flag.
4574	* src/roff/troff/node.cc (make_glyph_node, make_node,
4575	node::add_char): Check `fallback' flag.
4576	* NEWS, man/groff_diff.man, man/groff_man: Updated.
4577
45782001-12-16  Werner LEMBERG  <wl@gnu.org>
4579
4580	* groff.texinfo: Document exact search algorithm for glyphs.
4581
45822001-12-15  Werner LEMBERG  <wl@gnu.org>
4583
4584	* Makefile.cpg, Makefile.ccpg, Makefile.man: Add dummy file to
4585	the left side of $(MANPAGES) rule to make it always non-empty.
4586
45872001-12-14  Werner LEMBERG  <wl@gnu.org>
4588
4589	* src/roff/troff/input.cc (default_black): Define default color
4590	`black' if not yet defined.
4591
45922001-12-13  Werner LEMBERG  <wl@gnu.org>
4593
4594	Implement new string-valued register `.fn' to return the current
4595	real (internal) font name.
4596
4597	* env.cc (environment::get_font_name_string): New function.
4598	(init_env_requests): Add `.fn' register.
4599	* env.h (environment): Updated.
4600	* node.cc (font_info): Make `get_font_name' a friend.
4601	(get_font_name): New function.
4602	* node.h: Updated.
4603
4604	* man/groff_diff.man, man/groff.man, NEWS: Updated.
4605
46062001-12-12  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
4607
4608	* src/preproc/eqn/main.cc (inline_equation): Fix typos.
4609
46102001-12-12  Werner LEMBERG  <wl@gnu.org>
4611
4612	* tmac/groff_man.man, doc/groff.texinfo: There is no .R macro.
4613
46142001-12-10  Gaius Mulley  <gaius@glam.ac.uk>
4615
4616	* man/groff_diff.man: Adding documentation for \O.
4617
46182001-12-10  Werner LEMBERG  <wl@gnu.org>
4619
4620	* src/preproc/html/pre-html.cc (TROFF_COMMAND): Removed.
4621	(scanArguments): Use PROG_PREFIX for the name of the troff binary.
4622
46232001-12-09  Werner LEMBERG  <wl@gnu.org>
4624
4625	* man/roff.man: Revised.
4626	* src/roff/groff/groff.man: Replace man page references with a
4627	pointer to roff.man.
4628
46292001-12-09  Bernd Warken  <bwarken@mayn.de>
4630
4631	* man/roff.man: Completely rewritten.
4632
46332001-12-06  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
4634
4635	* src/preproc/eqn/main.cc (inline_equation): Improve error message.
4636
46372001-12-05  Werner LEMBERG  <wl@gnu.org>
4638
4639	* src/roff/troff/input.cc (get_delim_file_name): Removed since no
4640	longer used.
4641	* src/devices/grohtml/post-html.cc (html_printer::html_printer): Fix
4642	order of initializers.
4643	* NEWS: Updated.
4644
46452001-12-05  Gaius Mulley  <gaius@glam.ac.uk>
4646
4647	* doc/groff.texinfo: Fix documentation of \O.
4648
4649	* src/devices/grohtml/html-text.cc (html_text::do_indent,
4650	html_text::do_table, html_text::do_emittext, html_text::do_para):
4651	Use `const' for first argument.
4652	(html_text::do_table): Use cast.
4653	* src/devices/grohtml/html-text.h: Updated.
4654	* src/devices/grohtml/output.cc (simple_output::put_string): Add
4655	method for `const string &s'.
4656	* src/devices/grohtml/html.h: Updated.
4657	* src/devices/grohtml/post-html.cc (MAX_STRING_LENGTH): Removed.
4658	(ANCHOR_TEMPLATE): Modified.
4659	(manufacture_headings): New global variable to handle `-h' option.
4660	(is_subsection): Removed.
4661	(char_buffer::add_string): Add `const' to first argument.
4662	Protect against invalid string argument.
4663	Add method for `const string &s'.
4664	(text_glob): Completely redesigned.
4665	(page): Use `const' for strings and remove string length variable.
4666	(page::add_html): Removed.
4667	(page::add_end_encode): New member function.
4668	(to_unicode): Moved upwards.
4669	(title_desc, header_desc): Updated.
4670	(header_desc::write_headings): Updated to new ANCHOR_TEMPLATE
4671	definition.
4672	(html_printer::is_bold, html_printer::make_bold): New member
4673	functions.
4674	(html_printer::end_of_line): Updated.
4675	(generate_img_src, html_printer::do_auto_image,
4676	html_printer::do_title, html_printer::write_header,
4677	html_printer::determine_header_level, html_printer::do_heading,
4678	html_printer::do_linelength, html_printer::do_pageoffset,
4679	html_printer::do_indentation, html_printer::do_tempindent,
4680	html_printer::do_indentedparagraph, html_printer::do_break,
4681	html_printer::flush_sbuf, get_html_translation,
4682	html_printer::begin_page, html_printer::special): Rewritten to get
4683	rid of static string length limit.
4684	(html_printer::troff_tag): Added `.no-auto-rule'.
4685	(html_printer::flush_globs): Small fix.
4686	(html_printer::determine_space): Don't compute `space_width'.
4687	(html_printer::translate_to_html): Renamed to ...
4688	(html_printer::emit_html): This (with updates).
4689	(html_printer::write_header): Implement `-h' option.
4690	(html_printer::draw): Remove commented-out code.  Handle `F'
4691	command.
4692	(html_printer::add_char_to_sbuf): Removed.
4693	(html_printer::add_to_sbuf): Rewritten.
4694	(html_printer::sbuf_continuation): Fixed.
4695	(html_printer::seen_backwards_escape, reverse,
4696	html_printer::remove_last_char_from_sbuf): Removed.
4697	(char_translate_to_html, str_translate_to_html): Removed.
4698	(html_printer::overstrike): New function member.
4699	(html_printer::set_char): Use it.
4700	(html_printer::do_body): New function member.
4701	(html_printer::~html_printer): Use it.
4702	(main): Handle `-h' option.
4703	(usage): Updated.
4704	* src/devices/grohtml/grohtml.man: Document -h switch.
4705
4706	* src/preproc/html/pre-html.cc: Include searchpath.h
4707	Replace `POSTSCRIPTRES' macro with `postscriptRes' variable.
4708	(get_resolution): New function.
4709	(checkImageDir): Use `0777' permissions in mkdir()
4710	(write_start_image): Rewritten to use `\O[5...]'.
4711	(createImage, generateImages): Updated.
4712	(main): Handle `F' and `h' options.
4713	Use `get_resolution'.
4714
4715	* src/roff/troff/input.cc (begin, end, image): Removed.
4716	(do_suppress): Take parameter.
4717	Handle modified syntax of `\O'.
4718	(token::next): Updated.
4719	(init_markup_requests): Removed.
4720	(main): Updated.
4721
4722	* src/roff/troff/div.h: Add declaration for begin_page().
4723
4724	* tmac/color-html.tmac: Removed.  Contents moved to...
4725	* tmac/html.tmac: Here.  Set background color.
4726	* tmac/color.tmac: Removed.  Contents moved to...
4727	* tmac/ps.tmac: Here.
4728	* tmac/www.tmac: Remove the title command when generating images
4729	for html.
4730	(NO_AUTO_RULE): New macro.
4731	(HTML_DO_IMAGE): Use revised `\O' escapes.
4732	* tmac/Makefile.sub, tmac/groff_www.man, tmac/troffrc: Updated.
4733
47342001-12-02  Werner LEMBERG  <wl@gnu.org>
4735
4736	* tmac/groff_mdoc.man: Fix typo.
4737
47382001-12-01  Colin Watson  <cjwatson@debian.org>
4739
4740	* man/roff.man: Fix typo.
4741
47422001-11-29  Werner LEMBERG  <wl@gnu.org>
4743
4744	* src/libs/libbib/map.c, src/utils/pfbtops/pfbtops.c: Include
4745	stdlib.h.
4746
4747	* src/roff/troff/input.cc (read_draw_node): Emit error message if
4748	more than one argument to \D'f ...'.
4749
4750	* tmac/Makefile.sub (NORMALFILES): Add lbp.tmac.
4751
47522001-11-28  Werner LEMBERG  <wl@gnu.org>
4753
4754	* tmac/an-old.tmac, tmac/doc.tmac: Assure that the macro package is
4755	loaded only once.
4756
4757	* tmac/groff_man.man: Minor cosmetic fix.
4758
47592001-11-27  Werner LEMBERG  <wl@gnu.org>
4760
4761	* src/roff/groff/groff.man, tmac/groff_tmac.man,
4762	tmac/groff_www.man: s/mwww/www/.
4763
47642001-11-26  Werner LEMBERG  <wl@gnu.org>
4765
4766	* aclocal.m4 (GROFF_MKSTEMP): Implement test using C++ linkage.
4767	* configure: Regenerated.
4768	* win32-diffs: Updated.
4769
4770	* tmac/groff_mwww.tmac: Renamed to ...
4771	* tmac/groff_www.tmac: This.
4772	* tmac/mwww.tmac: Removed.
4773	* NEWS, tmac/Makefile.sub: Updated.
4774
47752001-11-21  Werner LEMBERG  <wl@gnu.org>
4776
4777	* doc/groff.texinfo: Improve documentation of the `\v' escape.
4778	Fix explanation of `\D' and `rt'.
4779
47802001-11-20  Werner LEMBERG  <wl@gnu.org>
4781
4782	* tmac/an-old.tmac (an-header): Set header length equal to page
4783	width.
4784	* doc/groff.texinfo: Improve documentation of `ne' request.  Other
4785	minor fixes.
4786	* NEWS: Small fix.
4787
47882001-11-19  Werner LEMBERG  <wl@gnu.org>
4789
4790	* NEWS, man/Makefile.sub: Updated.
4791
47922001-11-19  Bernd Warken  <bwarken@mayn.de>
4793
4794	* man/ditroff.man: New file.
4795
47962001-11-17  Werner LEMBERG  <wl@gnu.org>
4797
4798	* man/groff_differences.man: Renamed to ...
4799	* man/groff_diff.man: This.  Updated.
4800	* man/Makefile.sub, src/roff/troff/troff.man, NEWS: Updated.
4801
4802	* src/preproc/html/pushbackbuffer.cc: Renamed to ...
4803	* src/preproc/html/pushback.cc: This.  Updated.
4804	* src/preproc/html/pushbackbuffer.h: Renamed to ...
4805	* src/preproc/html/pushback.h: This.
4806	* src/preproc/html/Makefile.sub, src/preproc/html/pre-html.cc:
4807	Updated.
4808
4809	* src/libs/libgroff/htmlindicate.cc: Renamed to ...
4810	* src/libs/libgroff/htmlhint.cc: This.
4811	* src/libs/libgroff/Makefile.sub: Updated.
4812
4813	* tmac/an-old.tmac (an-end): Fix page length.
4814
48152001-11-16  Werner LEMBERG  <wl@gnu.org>
4816
4817	* NEWS, man/groff_differences.man, doc/groff.texinfo: Updated.
4818	* man/Makefile.sub: Include groff_differences.man.
4819	* VERSION: Set to 1.18.
4820	* REVISION: Set to 0.
4821
48222001-11-16  Bernd Warken  <bwarken@mayn.de>
4823
4824	* src/roff/troff/input.cc (do_define_macro): Allow whitespace before
4825	the second dot (or ending macro name) to end a macro.
4826	* doc/groff.texinfo: Doc fix.
4827
48282001-11-16  Ruslan Ermilov  <ru@FreeBSD.org>
4829
4830	* tmac/doc-common (doc-header): Handle very long document titles
4831	better.
4832
48332001-11-16  Werner LEMBERG  <wl@gnu.org>
4834
4835	* tmac/doc.tmac (doc-do-Bl-args): Fix .substring requests.
4836
48372001-11-15  Werner LEMBERG  <wl@gnu.org>
4838
4839	* src/roff/troff/troff.man: Revised and split into troff.man and...
4840	* man/groff_differences.man: New file.
4841	* NEWS: Updated.
4842
48432001-11-13  Werner LEMBERG  <wl@gnu.org>
4844
4845	* tmac/an-old.tmac (TS, TE): New macros for table support.
4846
48472001-11-12  Werner LEMBERG  <wl@gnu.org>
4848
4849	* src/include/lib.h: Provide a fix for emx to not include
4850	groff-getopt.h.
4851
48522001-10-27  Werner LEMBERG  <wl@gnu.org>
4853
4854	* src/roff/troff/input.cc (substring_macro): Fix computation of
4855	boundary values.
4856
48572001-10-20  Werner LEMBERG  <wl@gnu.org>
4858
4859	Undo change from 2001-08-28.
4860
4861	* src/roff/troff/input.cc (have_input): New global variable.
4862	(token::next): Set `have_input' for \f, \H, \R, \s, and \S if not
4863	in compatibility mode.
4864	(process_input_stack): Use it.
4865
48662001-10-19  Ruslan Ermilov  <ru@FreeBSD.org>
4867
4868	* tmac/doc.tmac (doc-flag-recursion): Protect arguments against
4869	being handled as end-of-sentence characters,
4870
48712001-10-10  Gaius Mulley  <gaius@glam.ac.uk>
4872
4873	* src/roff/troff/input.cc (file_iterator): New members
4874	`suppress_newline_flag' and `seen_escape'.
4875	(file_iterator::next_file): Updated.
4876	(file_iterator::fill): Use it.
4877	(string_iterator): New member `suppress_newline_flag'.
4878	(string_iterator::fill): Set it.
4879	(get_color_element): Use MAX_COLOR_VAL.
4880	* src/roff/troff/env.cc (environment): Remove `need_eol'.
4881	(no_fill): Don't set `env->ignore_next_eol'.
4882	(environment::newline): Handle `eol' tag properly.
4883	Emit `eol.ce'.
4884	(environment::add_html_tag): Set `env->ignore_next_eol'.
4885	Don't handle `.ce'.
4886	* src/roff/troff/env.h (environment): Updated.
4887
4888	* src/devices/grohtml/post-html.cc (text_glob::is_eol_ce): New
4889	member function.
4890	(html_printer::outstanding_eol): New member function.
4891	(html_printer::do_title): Use new functions.
4892	(html_printer::troff_tag): Test `id_eol_ce'.
4893
48942001-10-10  Werner LEMBERG  <wl@gnu.org>
4895
4896	* tmac/color.tmac, tmac/color-html.tmac: Use `.do' to make those
4897	files work with -C also.
4898
48992001-10-05  Werner LEMBERG  <wl@gnu.org>
4900
4901	* doc/pic.ms: Minor fix.
4902	* src/preproc/html/pre-html.cc (scanArguments): Don't handle `-?'
4903	as a valid command line switch.
4904	* src/devices/grohtml/post-html.cc (main): Ditto.
4905	(usage): Updated.
4906	* src/devices/grohtml/grohtml.man: Updated.
4907	* src/roff/groff/groff.cc (main): Pass `-v' to predriver also.
4908
49092001-10-04  Werner LEMBERG  <wl@gnu.org>
4910
4911	Implementing color support in troff, pic, grops, and grohtml.  These
4912	changes are based on a major patch provided by Gaius Mulley
4913	<gaius@glam.ac.uk>.
4914
4915	New request: `defcolor', supporting rgb, cmy, cmyk, and gray
4916	definitions with both hex values and fractions.
4917
4918	New escapes: \m and \M for drawing and background color,
4919	respectively.  This corresponds to the troff output commands `m'
4920	and `DF'.
4921
4922	groff and troff accept command line switch `-c' to disable color
4923	output (which is automatically disabled in compatibility mode).
4924
4925	New scaling indicator `f' for fractions (1f = 65536u).
4926
4927	New conditional operator `m' to test for defined colors with `if'
4928	and `ie'.
4929
4930	New keywords `color' (or `colour', `colored', `coloured'), `outline'
4931	(or `outlined'), and `shaded' added to pic.
4932
4933	* src/include/color.h: New file.
4934	* src/include/driver.h: Include it.
4935	* src/include/printer.h: Include color.h.
4936	(environment): New members `col' and `fill'.
4937	(printer): Remove `adjust_arc_center' member function.
4938	* src/include/Makefile.sub: Updated.
4939
4940	* src/libs/libdriver/input.cc (do_file): Initialize `env.col' and
4941	`env.fill'.
4942	Handle `m' and `DF' troff commands.
4943	* src/libs/libgroff/color.cc: New file.
4944	* src/libs/libgroff/Makefile.sub: Updated.
4945
4946	* src/preproc/html/pre-html.cc (IMAGE_BORDER_PIXELS): Set to 2.
4947	(stop): Removed.
4948	(createImage): Fix computation of `y2'.
4949	Use `pnmcrop' also.
4950	(buffer::write_file_html): Remove calls to `stop'.
4951
4952	* src/preproc/pic/common.h (common_output): New abstract function
4953	members `set_color', `reset_color', `get_last_filled', and
4954	`get_outline_color'.
4955	* src/preproc/pic/object.h: Add `IS_SHADED' and `IS_OUTLINED'.
4956	(object_spec): Add members `shaded' and `outlined'.
4957	* src/preproc/pic/output.h (output): `command' is now abstract.
4958	New function members `set_color', `reset_color', `get_last_filled',
4959	and `get_outline_color'.
4960	* src/preproc/pic/lex.cc (lookup_keyword): Recognize `colo[u]r[ed]',
4961	`outline[d]', and `shaded'.
4962	* src/preproc/pic/object.cc (output::command): Removed.
4963	(output::set_location):	Moved to output.h.
4964	(graphic_object): Add protected members `outline_color' and
4965	`color_fill'.
4966	Add member functions `set_outline_color', `get_outline_color', and
4967	`set_fill_color'.
4968	(closed_object): Add member function `set_fill_color'.
4969	Add member `color_fill'.
4970	(graphic_object::print_text): Use `out->set_color' and
4971	`out->reset_color'.
4972	(box_object::print, ellipse_object::print, circle_object::print,
4973	line_object::print, spline_object::print, arc_object::print): Ditto.
4974	(object_spec::make_object): Implement `IS_OUTLINED' and `IS_SHADED'.
4975	* src/preproc/pic/pic.y: Add tokens `COLORED', `OUTLINED', and
4976	`SHADED', making them `%left'.
4977	Add rules `object_spec [SHADED|COLORED|OUTLINED] text'.
4978	* src/preproc/pic/tex.cc (tex_output): New dummy function members
4979	`set_color', `reset_color', `get_last_filled', and
4980	`get_outline_color'.
4981	* src/preproc/pic/troff.cc (simple_output): New abstract function
4982	members `set_color', `reset_color', and `get_last_filled'.
4983	(simple_output::polygon, simple_output::circle,
4984	simple_output::ellipse): Use `get_last_filled'.
4985	(troff_output): New members `last_filled' and `last_outlined'.
4986	New function members `set_color', `reset_color', `get_last_filled',
4987	and `get_outline_color'.
4988	(troff_output::finish_picture): Use `reset_color'.
4989	(troff_output::set_fill): Test `last_filled'.
4990	* src/preproc/pic/pic.man: Updated.
4991
4992	* src/roff/groff/groff.cc (main): Implement `-c' option.
4993	(synopsis, help): Updated.
4994	src/roff/groff/groff.man: Updated.
4995
4996	* src/roff/troff/troff.h: Include color.h.
4997	(warning_type): Add WARN_COLOR.
4998	* src/roff/troff/env.h (environment): New members
4999	`{cur,prev}_{glyph,fill}_color'.
5000	New member functions `get_{prev_,}{glyph,fill}_color'.
5001	* src/roff/troff/env.cc: Initialize and implement them.
5002	* src/roff/troff/input.cc: New global variable `disable_color_flag'.
5003	Replace `NULL' with `0' everywhere for consistency.
5004	(lookup_color, default_black, do_glyph_color, do_fill_color,
5005	get_color_element, read_rgb, read_cmy, read_cmyk, read_gray,
5006	define_color): New functions.
5007	(token::next): Implement \M and \m escapes.
5008	(do_if_request): Implement `m' operator.
5009	(usage): Updated.
5010	(main): Implement `-c' option.
5011	(init_markup_requests): Add `defcolor' request.
5012	(warning_table): Add `color' warning.
5013	* src/roff/troff/node.h (glyph_color_node, fill_color_node): New
5014	classes.
5015	* src/roff/troff/node.cc (troff_output_file): New members
5016	`current_{page,glyph}color'.  New member functions `put_hex',
5017	`glyph_color', and `fill_color'.
5018	(glyph_color_node::*, fill_color_node::*): Implement it.
5019	* src/roff/troff/number.cc (SCALE_INDICATOR_CHARS): Add `f'.
5020	(parse_term): Add support for `f'.
5021	* src/roff/troff/troff.man: Updated.
5022
5023	* src/devices/grodvi/dvi.cc (draw_dvi_printer::draw): Add dummy
5024	entry for `F'.
5025	* src/devices/grolbp/lbp.cc (lbp_printer::draw): Ditto.
5026	* src/devices/grolj4/lj4.cc (lj4_printer::draw): Ditto.
5027
5028	* src/devices/grohtml/html-text.h (HTML_TAG): Add COLOR_TAG.
5029	(tag_definition): Use `void *' for arg1.
5030	(html_text): New member functions `do_color' and `done_color'.
5031	Use `void *' for second parameter of `push_para' member function.
5032	New `push_para' member function with a single parameter.
5033	Use `char *' for parameter of `issue_table_begin' member funtion.
5034	New `issue_color_begin' member function.
5035	* src/devices/grohtml/html-text.cc (html_text::end_tag): Handle
5036	COLOR_TAG.
5037	(html_text::issue_color_begin): New function.
5038	(html_text::issue_table_begin): Use `char *' for parameter.
5039	(html_text::start_tag, html_text::shutdown,
5040	html_text::check_emit_text): Updated.
5041	(html_text::push_para): Use `void *' for second parameter.
5042	Add same function with only one parameter.
5043	(html_text::do_*): Updated.
5044	(html_text::do_color, html_text::done_color): New functions.
5045	* src/devices/grohtml/post-html.cc (style): New member `col'.
5046	Mew member `style' with 6 parameters.
5047	(style::style, style::operator==): Updated.
5048	(html_printer::do_font): Use it.
5049	(html_printer::draw): Add dummy entry for `F'.
5050	(html_printer::set_char): Updated.
5051	* src/devices/grohtml/grohtml.man: Updated.
5052
5053	* src/devices/grops/ps.cc (ps_output::put_float): Use `%g' to have
5054	trailing zeroes removed.
5055	(ps_printer): New members `sbuf_color', `fill_color', and
5056	`output_color'.
5057	Removed member `fill'.
5058	New member function `set_color'.
5059	(ps_printer::ps_printer, ps_printer::set_char): Updated.
5060	(ps_printer::flush_sbuf, ps_printer::set_line_thickness,
5061	ps_printer::fill_path, ps_printer::draw): Use `set_color'.
5062
5063	* tmac/color-html.tmac, tmac/color.tmac: New files.
5064	* tmac/troffrc: Include them.
5065	* tmac/www.tmac (URL, FTP, MAILTO): Use blue color.
5066	* tmac/Makefile.sub: Updated.
5067
5068	* NEWS, doc/groff.texinfo, doc/pic.ms, man/groff_out.man,
5069	man/groff.man: Updated.
5070	* font/devps/prologue.ps: Define FC and CO functions.
5071
50722001-10-04  Gaius Mulley  <gaius@glam.ac.uk>
5073
5074	Fix incorrect cropping of images and incorrect handling of special
5075	characters.  Fix handling of file names in \O.
5076
5077	* src/include/geometry.h: New file.
5078	* src/libs/libgroff/geometry.cc: New file.
5079	* src/libs/libdriver/printer.cc (printer::adjust_arc_center): Moved
5080	to `geometry.cc'.
5081	* src/roff/troff/input.cc (get_delim_file_name): Fixed problem with
5082	initial spaces.
5083	(do_suppress): Updated.
5084	* src/roff/troff/node.cc: Include geometry.h.
5085	(troff_output_file::flush_tbuf): Fixed parameters to
5086	`check_output_limits'.
5087	(troff_output_file::check_charinfo): Ditto.
5088	(troff_output_file::determine_line_limits): Add support for `Da'
5089	and `Dl' commands.
5090
5091	* src/devices/grohtml/post-html.cc (str_translate_to_html):
5092	Add new parameter `is_special' to decode special characters from
5093	escape sequences.
5094	(html_printer::do_title, html_printer::do_heading,
5095	html_printer::do_indentedparagraph,
5096	html_printer::translate_to_html, html_printer::special): Updated.
5097
50982001-10-03  Werner LEMBERG  <wl@gnu.org>
5099
5100	* Makefile.sub (DISTCLEANFILES): Add stamp-h.
5101	Fix entry for config.h.
5102	* test-groff (GROFF_BIN_PATH): Add $builddir/roff/groff.
5103	* tmac/troffrc: Translate nonbreakable space character to `\~'.
5104	* src/preproc/eqn/eqn.man: Document -d command line option.
5105
51062001-09-27  Werner LEMBERG  <wl@gnu.org>
5107
5108	* man/groff.man: Use
5109
5110	  .ev xxx
5111	  .na
5112	  .nh
5113	  <table>
5114	  .ev
5115
5116	instead of the old code (`.ad .hy' after the table) to suppress
5117	incorrect hyphenation for grohtml output.
5118
51192001-09-22  Werner LEMBERG  <wl@gnu.org>
5120
5121	* man/groff_font.man, man/groff_out.man: Minor fixes.
5122
51232001-09-20  Werner LEMBERG  <wl@gnu.org>
5124
5125	* PROBLEMS: Updated, reordered.  Improved EPS section (thanks to
5126	Arnold Robbins <arnold@skeeve.com>).
5127
51282001-09-09  Werner LEMBERG  <wl@gnu.org>
5129
5130	* configure: Regenerated with autoconf 2.52.
5131
5132	* doc/groff.texinfo: Complete revision of indices.
5133
51342001-09-07  Werner LEMBERG  <wl@gnu.org>
5135
5136	* doc/Makefile (clean): Updated to delete all indices.
5137
51382001-09-05  Werner LEMBERG  <wl@gnu.org>
5139
5140	* src/roff/troff/troff.man: Remove superfluous line.
5141
5142	* tmac/s.tmac: Enable all warnings only if no -W or -w option is
5143	given on the command line (or rather, if only the default warnings
5144	are set).
5145
51462001-09-03  Werner LEMBERG  <wl@gnu.org>
5147
5148	* man/groff.man, src/preproc/eqn/eqn.man, tmac/groff_mdoc.man: Don't
5149	use .ne for TTY devices.
5150
51512001-08-31  Werner LEMBERG  <wl@gnu.org>
5152
5153	* src/roff/troff/token.h, src/roff/troff/input.cc:
5154	s/TOKEN_TRANSPARENT_ESCAPE/TOKEN_OPAQUE_ESCAPE/.
5155
51562001-08-28  Werner LEMBERG  <wl@gnu.org>
5157
5158	* src/roff/troff/token.h (token_type): Add TOKEN_TRANSPARENT_ESCAPE.
5159	* src/roff/troff/input.cc (token::next): Return
5160	TOKEN_TRANSPARENT_ESCAPE for \f, \H, \R, \s, and \S if not in
5161	compatibility mode.
5162	(token::description): Updated.
5163	(process_input_stack): Reset `bol' for TOKEN_TRANSPARENT_ESCAPE.
5164	(token::add_to_node_list, token::process): Ignore
5165	TOKEN_TRANSPARENT_ESCAPE.
5166
51672001-08-27  Werner LEMBERG  <wl@gnu.org>
5168
5169	* tmac/an-old.tmac: Fix `S' string.
5170
51712001-08-26  Werner LEMBERG  <wl@gnu.org>
5172
5173	* src/roff/troff/troff.man: Don't use .ne for TTY devices.
5174
51752001-08-25  Werner LEMBERG  <wl@gnu.org>
5176
5177	* doc/pic.ms: Replace `\\' with `\e' (and fixing some single
5178	backslashes).
5179	Many other minor fixes.
5180
5181	* configure.ac: Add message at end to inform how to compile
5182	xditview.
5183	* configure: Regenerated.
5184
51852001-08-24  Werner LEMBERG  <wl@gnu.org>
5186
5187	* src/include/getopt.h, src/libs/libgroff/{getopt.c, getopt1.c}:
5188	Updated to latest version of libc.
5189
51902001-08-23  Werner LEMBERG  <wl@gnu.org>
5191
5192	* configure.ac: Don't create subdirectories before AC_CONFIG_FILES.
5193	Autoconf 2.50 and newer can handle this.
5194	* configure: Regenerated.
5195
51962001-08-21  Werner LEMBERG  <wl@gnu.org>
5197
5198	* doc/pic.ms: Fix typo.
5199	* src/preproc/tbl/tbl.man: Document case of global options.
5200
52012001-08-21  Gaius Mulley  <gaius@glam.ac.uk>
5202
5203	* src/devices/grohtml/post-html.cc (html_printer::end_font): Fix
5204	handling of `CR' font.
5205
52062001-08-20  Werner LEMBERG  <wl@gnu.org>
5207
5208	Use a config.h file.
5209
5210	* src/include/lib.h: Include config.h.
5211	* All C files: Ditto (if necessary).
5212	* All C++ source and header files: Include lib.h first (if
5213	necessary).
5214
5215	* src/include/config.hin: New file (autogenerated by autoheader).
5216	* stamp-h.in: New file.
5217	* configure.ac: Updated.
5218	* aclocal.m4: Add third parameters to AC_DEFINE macros.
5219	(GROFF_ARRAY_DELETE): Simplified.
5220	* Makefile.sub (DISTCLEANFILES): Updated.
5221	Added targets for remaking config.status, config.hin, config.h,
5222	stamp-h.in, and stamp-h.
5223	* configure: Regenerated.
5224
52252001-08-19  Werner LEMBERG  <wl@gnu.org>
5226
5227	* NEWS: Updated.
5228
52292001-08-18  Sebastian Krahmer  <krahmer@suse.de>
5230
5231	* src/preproc/pic/pic.y (format_number): Use do_sprintf().
5232	(do_sprintf): Use snprintf().
5233
52342001-08-18  Werner LEMBERG  <wl@gnu.org>
5235
5236	* src/libs/snprintf/*: Added an snprintf module written by Mark
5237	Martinec.
5238	* src/libs/libgroff/Makefile.sub: Updated.
5239	* configure.ac: Add test for snprintf().
5240	* Makefile.in: Updated.
5241	* configure: Regenerated.
5242
5243	* src/preproc/html/pre-html.cc (make_message): Reactivate code which
5244	uses snprintf().
5245
52462001-08-14  Ruslan Ermilov  <ru@FreeBSD.org>
5247
5248	* tmac/doc.tmac (Ex): New implementation.
5249	* tmac/doc-common, tmac/groff_tmac.man: Updated.
5250
52512001-08-13  Ruslan Ermilov  <ru@FreeBSD.org>
5252
5253	* tmac/doc.tmac (Rv): Implement support for 0 or more than 1
5254	argument.
5255	* tmac/groff_tmac.man: Updated.
5256
52572001-08-13  Werner LEMBERG  <wl@gnu.org>
5258
5259	* src/preproc/tbl/tbl.man: Minor documentation update.
5260
52612001-08-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5262
5263	* src/libs/libgroff/tmpname.cc: Add prototype for gettimeofday().
5264	* configure.ac: Add declaration test for gettimeofday().
5265	* Makefile.in: Document NEED_DECLARATION_GETTIMEOFDAY defines.
5266	* aclocal.m4: Include sys/time.h for gettimeofday declaration test.
5267	* configure: Regenerated.
5268
52692001-08-11  Werner LEMBERG  <wl@gnu.org>
5270
5271	* aclocal.m4 (GROFF_MKSTEMP): Define HAVE_MKSTEMP.
5272	* configure.ac: Add declaration test for strcasecmp().
5273	* Makefile.in: Updated.
5274	* configure: Regenerated.
5275	* src/include/lib.h [!HAVE_MKSTEMP]: Add prototype for mkstemp() --
5276	this is necessary because groff's mkstemp.cc is C++.
5277	Add declaration conditionally for strcasecmp().
5278
52792001-08-10  Werner LEMBERG  <wl@gnu.org>
5280
5281	Integrated pic2graph, contributed by Eric S. Raymond.
5282
5283	* contrib/pic2graph/{Makefile.sub, pic2graph.sh, pic2graph.man}: New
5284	files.
5285	* Makefile.in, NEWS: Updated.
5286
5287	* src/preproc/tbl/tbl.man: Revised.
5288
52892001-08-09  Eric S. Raymond  <esr@thyrsus.com>
5290
5291	* src/preproc/tbl/tbl.man: Extended to cover all tbl features.
5292
52932001-08-09  Werner LEMBERG  <wl@gnu.org>
5294
5295	* src/preproc/tbl/main.cc (process_data): Fix recognition of .lf
5296	requests.
5297
52982001-08-08  Paul Eggert  <eggert@twinsun.com>
5299
5300	* Makefile.sub (configure): Depend on configure.ac, not
5301	configure.in.
5302	* INSTALL.gen: Upgrade to autoconf 2.52's INSTALL.
5303
53042001-08-07  Werner LEMBERG  <wl@gnu.org>
5305
5306	* src/utils/afmtodit/afmtodit.man, src/roff/groff/groff.man: Minor
5307	fixes.
5308
53092001-08-06  Werner LEMBERG  <wl@gnu.org>
5310
5311	* src/roff/troff/troff.man: Improve documentation of -E option.
5312
53132001-07-28  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
5314
5315	* src/preproc/html/pushbackbuffer.cc (pushBackBuffer::readNumber):
5316	Simplified.
5317
53182001-07-27  Werner LEMBERG  <wl@gnu.org>
5319
5320	* src/preproc/refer/refer.cc: Undo last change.
5321	* src/devices/grohtml/post-html.cc: Ditto.
5322
53232001-07-26  Werner LEMBERG  <wl@gnu.org>
5324
5325	* src/preproc/refer/refer.cc: Include `lib.h'.
5326	* src/devices/grohtml/post-html.cc: Ditto.
5327
53282001-07-25  Gaius Mulley  <gaius@glam.ac.uk>
5329
5330	* aclocal.m4 (GROFF_PAGE): Add `AC_DEFINE(PAGEA4)'.
5331	* src/preproc/html/pre-html.cc: Use it for DEFAULT_VERTICAL_OFFSET.
5332	* Makefile.in: Comment updated.
5333	* configure: Regenerated.
5334
53352001-07-25  Werner LEMBERG  <wl@gnu.org>
5336
5337	* src/preproc/pic/pic.cc: Removed.
5338	* src/preproc/pic/pic_tab.h: Removed.
5339	* src/preproc/refer/label.cc: Removed.
5340
5341	* doc/Makefile (.ms.html): Don't use a file name extension in
5342	argument to grohtml's -I option.
5343	* Makefile.in (dist): Remove CVS directories.
5344	Call `distfiles' target.
5345
5346	* src/devices/grohtml/grohtml.man: Add information about valid
5347	versions of pnmtopng.
5348	* src/preproc/html/pre-html.cc (TRANSPARENT): Use `white' as colour
5349	name instead of number.
5350
53512001-07-24  Werner LEMBERG  <wl@gnu.org>
5352
5353	* doc/groff.texinfo: Minor fixes.
5354
53552001-07-21  Gaius Mulley  <gaius@glam.ac.uk>
5356
5357	* doc/Makefile (.ms.html): Put image files into a subdirectory.
5358	(clean): Updated.
5359
53602001-07-20  Werner LEMBERG  <wl@gnu.org>
5361
5362	* src/libs/libgroff/tmpname.cc: New file, defining get_tempname().
5363	* src/libs/libgroff/mkstemp.cc: New file.
5364	* src/libs/libgroff/mksdir.cc: New file.
5365	* src/libs/libgroff/tmpfile.cc [HAVE_MKSTEMP_PROTO]: Removed.
5366	(xtmpfile) [!HAVE_MKSTEMP]: Removed.
5367	* src/libs/libgroff/Makefile.sub: Updated.
5368	* src/include/lib.h: Add mksdir() prototype.
5369	* src/include/posix.h: Define S_IXUSR if not yet defined.
5370
5371	* src/preproc/html/pre-html.cc (MAX_RETRIES): Removed.
5372	(createAllPages): Use mksdir() instead of current code.
5373	* src/utils/indxbib/indxbib.cc [HAVE_MKSTEMP_PROTO]: Removed.
5374	(main): [!HAVE_MKSTEMP]: Removed.
5375
5376	* aclocal.m4 (GROFF_MKSTEMP): Updated to use new mkstemp.cc file.
5377	(GROFF_INTTYPES_H, GROFF_UNSIGNED_LONG_LONG, GROFF_UINTMAX_T): New
5378	macros.
5379	* configure.ac: Add tests for stdint.h, sys/time.h, and
5380	gettimeofday().
5381	Call new GROFF_xxx macros.
5382	* configure: Regenerated.
5383	* Makefile.in: Comments updated.
5384
53852001-07-20  Gaius Mulley  <gaius@glam.ac.uk>
5386
5387	* src/preproc/html/pre-html.cc (scanArguments): Use getopt_long()
5388	instead of current code.
5389	* src/devices/grohtml/post-html.cc (main): Handle `-d' option.
5390	* src/roff/groff/groff.cc (possible_command::insert_args): New
5391	function.
5392	(main): Use it for predriver handling instead of insert_arg().
5393
53942001-07-19  Werner LEMBERG  <wl@gnu.org>
5395
5396	* doc/Makefile: Added GROFF_BIN_PATH to make it work with uninstalled
5397	groff also.
5398
5399	* src/include/posix.h: Define S_IWUSR if not yet defined.
5400
54012001-07-18  Werner LEMBERG  <wl@gnu.org>
5402
5403	* NEWS: Updated.
5404
54052001-07-18  Ruslan Ermilov  <ru@FreeBSD.org>
5406
5407	* tmac/groff_mdoc.man: Document new -width and -column syntax.
5408	Some other minor fixes.
5409	* tmac/an-old.tmac: Add `AT' and `UC' macros.
5410
54112001-07-17  Gaius Mulley  <gaius@glam.ac.uk>
5412
5413	Replace call to `troff' with `groff -Z' to make it aware of
5414	GROFF_BIN_PATH.
5415
5416	* src/preproc/html/pre-html.cc (TROFF_COMMAND): New macro.
5417	(troff_command, command_prefix): Removed.
5418	(alterDeviceTo): Use groff.
5419	(addZ): New function.
5420	(char_buffer::do_html): Use it.
5421	(scanArguments): Use TROFF_COMMAND.
5422	(findPrefix): Removed.
5423	(main): Updated.
5424	* src/roff/groff/groff.cc (main): Handle zflag for preprocessors.
5425
54262001-07-17  Eric S. Raymond  <esr@snark.thyrsus.com>
5427
5428	* doc/pic.ms: Documentation fixes.
5429
54302001-07-17  Werner LEMBERG  <wl@gnu.org>
5431
5432	Replace atexit() with global destructor.
5433
5434	* src/libs/libgroff/tmpfile.cc (xtmpfile_list): Add constructor.
5435	(xtmpfile_list_init): New global structure to deallocate
5436	xtmpfile_list on exit.  Its destructor inherits most code from
5437	remove_tmp_files().
5438	(remove_tmp_files): Deleted.
5439	(add_tmp_file): Simplified.
5440
54412001-07-16  Werner LEMBERG  <wl@gnu.org>
5442
5443	Replace strdup() with strsave().
5444
5445	* src/devices/grolbp/lbp.cc [!HAVE_STRDUP]: Removed.
5446	(set_papersize): Use strsave() and a_delete.
5447	(main): Use strsave().
5448	* src/preproc/html/pre-html.cc (make_message, createAllPages,
5449	removeAllPages): Use strsave() and a_delete.
5450
5451	* configure.ac: Remove test for strdup.
5452	* Makefile.in: Comment updated.
5453	* configure: Regenerated.
5454
54552001-07-15  Werner LEMBERG  <wl@gnu.org>
5456
5457	* win32-diffs: Updated.
5458
54592001-07-14  Werner LEMBERG  <wl@gnu.org>
5460
5461	* src/preproc/html/pre-html.cc (makeTempFiles): Activate new code,
5462	removing the old one.
5463	* src/utils/indxbib/indxbib.cc (main): Remove compiler warning.
5464
54652001-07-14  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
5466
5467	* src/libs/libgroff/tmpfile.cc (xtmpfile): Fix guard for `namep'.
5468
54692001-07-12  Ruslan Ermilov  <ru@FreeBSD.org>
5470
5471	Merge -xwidth into -width.  Add -xwidth functionality to -column
5472	also.
5473
5474	* tmac/doc.tmac (Bl): Add dummy doc-typeXXX and doc-spaceXXX to
5475	avoid warning.
5476	(doc-do-Bl-args): Merge -xwidth code with -width.  Test whether
5477	string immediately following a leading dot starts with a valid mdoc
5478	argument.
5479	Add similar code to the -column branch.
5480	(doc-Bl-usage): Updated.
5481	* groff_mdoc.man: s/-xwidth/-width/.
5482
54832001-07-12  Gaius Mulley  <gaius@glam.ac.uk>
5484
5485	* src/devices/grohtml/post-html.cc (text_glob::is_br): Stop titles
5486	running into centered or non-formatted text.
5487
54882001-07-11  Werner LEMBERG  <wl@gnu.org>
5489
5490	Introduce short and long prefixes to have the selection at run-time
5491	whether there is a 8+3 limit for names of temporary files.
5492
5493	* src/libs/libgroff/tmpfile.cc (TMPFILE_PREFIX): Replaced with...
5494	(TMPFILE_PREFIX_SHORT, TMPFILE_PREFIX_LONG): This.
5495	(tmpfile_prefix, tmpfile_prefix_len, use_short_prefix): New
5496	variables.
5497	(temp_init): New global structure to initialize above three
5498	variables.
5499	(xtmptemplate): Use two parameters for long and short prefix.
5500	Simplify code use above three variables.
5501	(xtmpfile): Use long and short prefixes as parameters.
5502	* src/include/lib.h: Updated.
5503
5504	* src/preproc/html/pre-html.cc ({PAGE,PS,REGION}_TEMPLATE): Replace
5505	with ...
5506	({PAGE,PS,REGION}_TEMPLATE_{SHORT,LONG}): This.
5507	(createAllPages, makeTempFiles): Updated.
5508
55092001-07-09  Werner LEMBERG  <wl@gnu.org>
5510
5511	* REVISION: Increased to 3.
5512
5513Version 1.17.2 released
5514=======================
5515
55162001-07-07  Werner LEMBERG  <wl@gnu.org>
5517
5518	* src/utils/indxbib/indxbib.cc (main): Change type of `name_max'
5519	to size_t.
5520
55212001-07-06  Ruslan Ermilov  <ru@FreeBSD.org>
5522
5523	* tmac/doc.tmac (Rv): Make `Rv' really not parseable.
5524	Fix synopsis.
5525	* tmac/groff_mdoc.man: Fix synopsis.
5526
55272001-07-05  Ruslan Ermilov  <ru@FreeBSD.org>
5528
5529	* tmac/doc.tmac (doc-inset-list, doc-hang-list, doc-ohang-list):
5530	Restore `doc-Pa-font'.
5531
55322001-07-04  Werner LEMBERG  <wl@gnu.org>
5533
5534	* src/utils/indxbib/dirnamemax.c: Moved to ...
5535	* src/libs/libgroff/maxfilename.cc: Here.
5536	s/dir_name_max/file_name_max/.
5537	Add copyright.
5538	* src/include/lib.h: Add file_name_max.
5539	* src/utils/indxbib/indxbib.cc: Updated.
5540	* src/utils/indxbib/Makefile.sub, src/libs/libgroff/Makefile.sub:
5541	Updated.
5542
5543	* src/libs/libgroff/tmpfile.cc (TMPFILE_PREFIX) [__MSDOS__]: Define
5544	as empty.
5545	(xtmpfile) [_MSC_VER]: Removed -- MSVC has mktemp().
5546
5547	* src/preproc/html/pre-html.cc (PAGE_TEMPLATE, PS_TEMPLATE,
5548	REGION_TEMPLATE): New macros.
5549	(createAllPages, makeTempFiles): Use them.
5550	Include `nonposix.h'.
5551	(html_system): New function.
5552	(createAllPages, createImage): Use it.
5553	Use EXE_EXT.
5554
5555	* tmac/www.tmac: Fix typos.
5556
55572001-07-03  Werner LEMBERG  <wl@gnu.org>
5558
5559	* tmac/www.tmac: Disable hyphenation in normal text only if output
5560	device is html.
5561	(URL, FTP, MAILTO): Disable hyphenation of actual URL with `\%'.
5562	* tmac/groff_mwww.man, NEWS: Updated.
5563
55642001-07-03  Gaius Mulley  <gaius@glam.ac.uk>
5565
5566	* tmac/www.tmac (.IMAGE): Add fourth parameter to specify vertical
5567	image location.
5568
55692001-07-02  Ruslan Ermilov  <ru@FreeBSD.org>
5570
5571	* tmac/doc-common, tmac/doc.tmac (doc-display-ft-stack,
5572	doc-display-ps-stack): Implement font and font size stack for
5573	displays.
5574
55752001-07-02  Werner LEMBERG  <wl@gnu.org>
5576
5577	* REVISION: Increased to 2.
5578	* src/roff/troff/input.cc (read_size): Fix special case `\s[0]'.
5579
5580	* src/groff/grog/grog.pl (process): Handle `Oo' and `Oc' not at the
5581	beginning of a line.
5582	* src/groff/grog/grog.sh: Ditto.
5583
55842001-06-29  Peter Marquardt  <wwwutz@molgen.mpg.de>
5585
5586	* src/preproc/eqn/neqn.sh: Put `export' keyword in a new line to
5587	make it portable.
5588
55892001-06-27  Werner LEMBERG  <wl@gnu.org>
5590
5591	Fix problems with preprocessor string for `man' program.
5592
5593	* *.man: Don't use `s' in preprocessor string --  it doesn't exist.
5594	Updated/added copyright.
5595	Moved Emacs's local variable to identify nroff mode to the end of
5596	the file; add local variable if missing.
5597
55982001-06-26  Andras Salamon  <andras@cs.wits.ac.za>
5599
5600	* aclocal.m4: Replace AC_LANG_SAVE + AC_LANG_CPLUSPLUS with
5601	AC_LANG_PUSH(C++) and AC_LANG_RESTORE with AC_LANG_POP(C++).
5602	* configure: Regenerated.
5603
56042001-06-25  Andras Salamon  <andras@cs.wits.ac.za>
5605
5606	* aclocal.m4 (GROFF_PAGE): Fix page detection code.
5607	* configure: Regenerated.
5608
56092001-06-24  Werner LEMBERG  <wl@gnu.org>
5610
5611	* doc/homepage.ms: Don't include arkup.tmac (which no longer exists)
5612	but www.tmac.
5613	* doc/pic.ms: Fix typos.
5614
5615Version 1.17.1 released
5616=======================
5617
56182001-06-21  Golubev I. N.  <gin@mo.msk.ru>
5619
5620	* aclocal.m4 (GROFF_NEED_DECLARATION): Fix inclusion of strings.h.
5621	* configure: Updated.
5622
56232001-06-20  Gaius Mulley  <gaius@glam.ac.uk>
5624
5625	* src/roff/preproc/html/pre-html.cc (make_message): Fix incorrect
5626	image names.
5627	* src/roff/troff/dic.cc (blank_line): Add html tag.
5628
56292001-06-19  Gaius Mulley  <gaius@glam.ac.uk>
5630
5631	* src/roff/troff/input.cc (do_suppress): Fix typo.
5632
56332001-06-18  Gaius Mulley  <gaius@glam.ac.uk>
5634
5635	Added two new options (-D and -I) to specify image names and a
5636	subdirectory to place the images in.
5637
5638	Change syntax from \\Ox to \\O[x].
5639
5640	* src/devices/grohtml/post-html.cc (main): Add options.
5641	(usage): Updated.
5642	* src/preproc/html/pre-html.cc: Include `stdarg.h'.
5643	Use `NULL' instead of `0' for null string pointers.
5644	(MAX_RETRIES): New macro.
5645	(lengthOfintToStr, intToStr, make_message): New functions.
5646	(makeFileName): Make function static.
5647	Implement -D and -I options.
5648	(checkImageDir): New function.
5649	(write_end_image, write_start_image): Use new syntax of \O.
5650	(createAllPages, removeAllPages): Implement -D and -I options.  Use
5651	make_message().
5652	(createImage): Use make_message().
5653	(addps4html): Add guard for malloc().
5654	(usage, scanArguments): Updated.
5655	(makeTempFiles): Use mkstemp().
5656	(removeTempFiles): Use unlink().
5657	(findPrefix): Add guard for malloc().
5658	(main): Updated.
5659	* src/roff/troff/input.cc (get_delim_file_name): New function to
5660	parse \O.
5661	(do_suppress): Updated to parse new syntax.
5662	* src/devices/grohtml/grohtml.man: Updated.
5663	* tmac/www.tmac: Updated to new syntax.
5664
5665	* NEWS: Updated.
5666
56672001-06-15  Werner LEMBERG  <wl@gnu.org>
5668
5669	* src/roff/grog/Makefile.sub: Remove NAMEPREFIX.
5670
5671	* src/devices/grohtml/grohtml.man: Minor improvements.
5672
56732001-06-14  Werner LEMBERG  <wl@gnu.org>
5674
5675	* src/preproc/html/Makefile.sub: Remove NAMEPREFIX.
5676
56772001-06-11  Werner LEMBERG  <wl@gnu.org>
5678
5679	* man/roff.man, mann/groff.man: Use '\" instead of .\" in the first
5680	line to specify preprocessor options -- mandb 2.3.1 only recognizes
5681	the former.
5682	* src/preproc/grn/grn.man: Add proper '\" string.
5683
56842001-06-11  OKAZAKI Tetsurou  <okazaki@be.to>
5685
5686	* test-groff: Don't use PATH but GROFF_BIN_PATH.
5687
56882001-06-08  Werner LEMBERG  <wl@gnu.org>
5689
5690	Updated to autoconf 2.50.
5691
5692	* configure.in: Renamed to...
5693	* configure.ac: This.
5694	* aclocal.m4 (AC_OUTPUT_MAKE_DEFS): Removed.
5695	(GROFF_OS390): Updated.
5696	* configure: Regenerated.
5697
56982001-05-18  Werner LEMBERG  <wl@gnu.org>
5699
5700	* src/roff/troff/env.c, src/roff/troff/env.h,
5701	src/roff/troff/input.cc, src/roff/troff/troff.man: Undo `ss' change
5702	from 2000-12-21.
5703
57042001-05-17  Jeffrey Friedl  <jfriedl@yahoo-inc.com>
5705
5706	* src/roff/troff/input.cc (read_size): Fix special case `\s0'.
5707
57082001-05-16  Werner LEMBERG  <wl@gnu.org>
5709
5710	* src/roff/troff/input.cc (read_size): Emit warning if value becomes
5711	less than or equal zero; set it to 1 then.
5712	* src/roff/troff/node.h (node::node): Initialize `last'.
5713
57142001-05-08  Werner LEMBERG  <wl@gnu.org>
5715
5716	* tmac/an-old.tmac: Make predefined strings work in compatibility
5717	mode.
5718	Add troff version guard.
5719	* tmac/doc.tmac: Simplify version guard.
5720
57212001-05-07  Werner LEMBERG  <wl@gnu.org>
5722
5723	The .ns and .rs requests are now honoured not only in the top-level
5724	but in all diversions (similar to UNIX troff).
5725
5726	This change is based on a patch from Tadziu Hoffmann
5727	<hoffmann@usm.uni-muenchen.de>.
5728
5729	* src/roff/troff/div.h (diversion): Add `no_space_mode' member.
5730	(top_level_diversion): Remove `no_space_mode' member.
5731	* src/roff/troff/div.cc (diversion::diversion,
5732	top_level_diversion::top_level_diversion): Updated.
5733	(macro_diversion::output): Reset `no_space_mode'.
5734	(no_space, restore_spacing): Use `curdiv' unconditionally.
5735	(space_request, blank_line): Check `curdiv->no_space_mode'.
5736	(no_space_mode_reg::get_value, no_space_mode_reg::get_string): Use
5737	`curdiv' unconditionally.
5738	* NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo:
5739	Updated.
5740
57412001-05-06  Werner LEMBERG  <wl@gnu.org>
5742
5743	Added two new requests `de1' and `am1' which are similar to `de' and
5744	`am' with the difference that compatibility mode is saved on entry,
5745	switched off during macro execution, and restored on exit.
5746
5747	* src/roff/troff/input.h: Added two new special characters
5748	(COMPATIBLE_SAVE, COMPATIBLE_RESTORE).
5749	* src/roff/troff/input.cc (input_iterator): Added two member
5750	functions `save_compatible_flag' and `get_compatible_flag'.
5751	(input_stack): Ditto.
5752	(string_iterator): Ditto.  Also add private member
5753	`saved_compatible_flag'.
5754	(token::next): Use COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
5755	(calling_mode): New enumeration.
5756	(do_define_macro): Use it.  Insert COMPATIBLE_SAVE and
5757	COMPATIBLE_RESTORE at the beginning and end of macro, respectively.
5758	(define_macro, define_indirect_macro, append_macro, ignore): Use
5759	`calling_mode'.
5760	(define_nocomp_macro, append_nocomp_macro): New functions.
5761	(init_input_requests): Updated.
5762	(do_request): Rename local variable `saved_compatible_flag' to
5763	`old_compatible_flag'.
5764	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
5765
5766	* tmac/an-old.tmac: Use `de1' instead of `de' request for all
5767	public and trap-invoked macros.  As a consequence, the man macros
5768	work in compatibility mode also.
5769
57702001-05-06  Solar Designer  <solar@openwall.com>
5771
5772	* Makefile.in: Use $(mandir).
5773
57742001-05-06  Alexios Zavras  <zvr@pobox.com>
5775
5776	* src/utils/afmtodit/afmtodit.pl: Fix serious typo.
5777
57782001-05-05  Werner LEMBERG  <wl@gnu.org>
5779
5780	Added `.ns' number register: Returns 1 in no-space mode (if in
5781	top-level diversion), 0 otherwise.
5782
5783	* src/roff/troff/div.cc (no_space_mode_reg): New class.
5784	(init_div_requests): Updated.
5785	* NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo:
5786	Document it.
5787
57882001-05-04  Werner LEMBERG  <wl@gnu.org>
5789
5790	* src/roff/nroff/nroff.man: Improved documentation (especially
5791	locales).
5792
57932001-05-02  Werner LEMBERG  <wl@gnu.org>
5794
5795	Added `brp' request: This is \p as a request.
5796
5797	* src/roff/troff/env.cc (environment::do_break): Add parameter
5798	`spread'.
5799	(do_break_request): New function (was `break_request').
5800	(break_request): Calls `do_break_request'.
5801	(break_spread_request): New; calls `do_break_request'.
5802	(init_env_requests): Updated.
5803	* src/roff/troff/env.h: Updated.
5804	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
5805
5806	* REVISION: Increased to 1.
5807	* win32-diffs: Updated.
5808
58092001-05-01  Werner LEMBERG  <wl@gnu.org>
5810
5811	* tmac/an-old.tmac: Fix minor compatibility mode issue.
5812	* tmac/troffrc-end: Make it really work in compatibility mode.
5813
58142001-04-27  Werner LEMBERG  <wl@gnu.org>
5815
5816	* src/utils/lkbib/lkbib.cc: Switch inclusion order of stdio.h and
5817	stdlib.h.
5818
58192001-04-22  Werner LEMBERG  <wl@gnu.org>
5820
5821	* src/libs/libgroff/getopt.c, src/include/getopt.h: Updating to
5822	latest versions from glibc CVS archive.
5823
5824	* MORE.STUFF: Updated, using a patch from Kees Zeelenberg
5825	<c.zeelenberg@hccnet.nl>.
5826
58272001-04-21  Werner LEMBERG  <wl@gnu.org>
5828
5829	* configure.in: Move check for mkstemp() to...
5830	* aclocal.m4 (GROFF_MKSTEMP): This new function.
5831	* configure: Regenerated.
5832
5833	* src/include/groff-getopt.h: Don't use variable names in
5834	declarations.
5835
5836	* src/devices/grohtml/html-chars.h: Removed.  It isn't used.
5837	* src/devices/grohtml/Makefile.sub,
5838	src/devices/grohtml/post-html.cc: Updated.
5839
58402001-04-21  Albert Chin-A-Young  <china@thewrittenword.com>
5841
5842	* configure.in: Add special check for mkstemp().
5843	* src/libs/libgroff/tmpfile.cc: Use it.
5844	* src/utils/indxbib/indxbib.cc: Ditto.
5845	* src/utils/pfbtops/pfbtops.c (main): Don't use C++ comment style.
5846	* src/devices/grolbp/lbp.h (lbpprintf, lbpputs, vdmprintf): Use
5847	`const'.
5848
58492001-04-20  Bruce Lilly  <blilly@erols.com>
5850
5851	`Version_string' as C++ object was not visible to linker from C
5852	object files.
5853	Add `const' to `Version_string'.
5854
5855	* src/utils/pfbtops/pfbtops.c (main), src/roff/groff/groff.cc
5856	(main), src/roff/troff/input.cc (main), src/preproc/tbl/main.cc
5857	(main), src/preproc/pic/main.cc (main), src/preproc/eqn/main.cc
5858	(main), src/preproc/grn/main.cc (main), src/preproc/html/pre-html.cc
5859	(scanArguments), src/preproc/refer/refer.cc (main),
5860	src/preproc/soelim/soelim.cc (main), src/devices/grotty/tty.cc
5861	(main), src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5862	(main), src/devices/grohtml/post-html.cc (main),
5863	src/devices/grolbp/lbp.cc (main), src/utils/tfmtodit/tfmtodit.cc
5864	(main), src/utils/hpftodit/hpftodit.cc (main),
5865	src/utils/lookbib/lookbib.cc (main), src/utils/indxbib/indxbib.cc
5866	(main), src/utils/lkbib/lkbib.cc (main),
5867	src/utils/addftinfo/addftinfo.cc (main): Implement it.
5868
5869	* src/roff/groff/pipeline.c: Add _UWIN.
5870	* src/include/nonposix.h: Ditto.
5871
58722001-04-20  Werner LEMBERG  <wl@gnu.org>
5873
5874	* src/include/lib.h: Use HAVE_STRERROR.
5875	* src/roff/groff/pipeline.c: Ditto.
5876	* src/preproc/html/pre-html.cc: Remove declaration of `strerror'.
5877	* src/libs/libgroff/Makefile.sub (version.cc): Add `extern "C"'.
5878	* src/utils/pfbtops/pfbtops.c: Add copyright notice.
5879	* win32-diffs: Updated.
5880	* src/utils/hpftodit/hpftodit.cc (read_map): Fix compiler warning.
5881
58822001-04-19  Werner LEMBERG  <wl@gnu.org>
5883
5884	* src/preproc/html/pre-html.cc (scanArguments): Use `troff_command'
5885	instead of hardwired `"troff"'.
5886	(char_buffer::read_file): Remove unused variables.
5887	(char_buffer::write_file_troff): Ditto.
5888	(char_buffer::write_file_html): Ditto.
5889	(generateImages): Ditto.
5890	(abs): Removed.
5891	* src/utils/addftinfo/addftinfo.cc (main): Fix compilation problem.
5892
5893	* src/include/lib.h: Don't include `groff-getopt.h' for UWIN.
5894
5895	* src/libs/libgroff/font.cc (font::load_desc): Fix compiler warning.
5896	* src/libs/libbib/index.cc (index_search_item_iterator::get_tag,
5897	index_search_item::search1): Ditto.
5898	* src/roff/troff/node.h (width_list): Reorder members.
5899	* src/roff/troff/input.cc (do_define_macro): Fix compiler warning.
5900	(lookup_warning): Ditto.
5901	(prepend_string): Commented out.
5902	* src/roff/troff/dictionary.cc (is_good_size): Fix compiler warning.
5903	* src/roff/troff/reg.cc (number_value_to_ascii): Ditto.
5904	* src/preproc/tbl/main.cc (process_format): Ditto.
5905	* src/preproc/pic/pic.y (define_variable, reset, reset_all): Fix
5906	compiler warnings.
5907	* src/preproc/pic/pic.cc: Updated.
5908	* src/preproc/eqn/lex.cc (init_table): Fix compiler warnings.
5909	* src/preproc/eqn/over.cc (over_box::compute_metrics): Ditto.
5910	* src/preproc/refer/command.cc (execute_command): Ditto.
5911	* src/preproc/refer/ref.cc (sortify_title, find_month): Ditto.
5912	* src/preproc/refer/token.cc (lookup_token): Ditto.
5913	* src/preproc/soelim/soelim.cc: Ditto.
5914	* src/preproc/html/pushbackbuffer.cc (ERROR): Ditto.
5915	(isHexDigit): Commented out.
5916	(pushBackBuffer::isString): Remove unused variable.
5917	* src/devices/grops/ps.cc (ps_printer::special): Fix compiler
5918	warning.
5919	* src/devices/grops/psrm.cc (resource_manager::lookup_font,
5920	resource_manager::read_resource_arg, read_one_of, parse_extensions):
5921	Ditto.
5922	* src/devices/grodvi/dvi.cc (dvi_printer::draw): Ditto.
5923	* src/devices/grolj4/lj4.cc (lj4_font::handle_unknown_font_command,
5924	lookup_paper_size): Ditto.
5925	* src/devices/grohtml/post-html.cc (is_subsection): Commented out.
5926	(text_glob, element_list): Reorder members.
5927	* src/devices/grohtml/html-text.cc (html_text::do_pre): Remove
5928	compiler warning.
5929	* src/devices/grohtml/html-text.h (html_text::emit_space): Change
5930	return value to `void'.
5931	* src/devices/grohtml/output.cc (word_list::word_list): Fix order
5932	of initializers.
5933	* src/devices/grohtml/html.h (simple_output::check_newline,
5934	simple_output::space_or_newline, simple_output::enable_newlines):
5935	Add return value.
5936	* src/devices/grolbp/lbp.cc (wp54charset, set_papersize): Remove
5937	compiler warnings.
5938	* src/utils/tfmtodit/tfmtodit.cc (tfm::load, gf::load, main): Ditto.
5939	* src/utils/hpftodit/hpftodit.cc (File::seek, read_symbol_sets,
5940	output_ligatures, output_charset, read_map): Ditto.
5941	* src/utils/lookbib/lookbib.cc (main): Ditto.
5942	* src/utils/indxbib/indxbib.cc (main, fwrite_or_die): Ditto.
5943	(do_file): Fix typo (`=' -> `==').
5944	* src/utils/lkbib/lkbib.cc (main): Remove compiler warning.
5945	* src/utils/addftinfo/addftinfo.cc (main): Ditto.
5946
59472001-04-18  Ruslan Ermilov  <ru@FreeBSD.org>
5948
5949	* src/roff/nroff/nroff.sh: Adding -p (pic) and -t (tbl) options.
5950	Fix usage of GROFF_BIN_PATH.
5951	* src/roff/nroff/nroff.man: Updated.
5952
59532001-04-18  Werner LEMBERG  <wl@gnu.org>
5954
5955	* NEWS: Fixing typos.
5956	Updated.
5957
5958Version 1.17 released
5959=====================
5960
59612001-04-17  Werner LEMBERG  <wl@gnu.org>
5962
5963	* tmac/Makefile.sub (install-data): mdoc.local-s is in current
5964	directory, not in $(srcdir).
5965
59662001-04-16  Werner LEMBERG  <wl@gnu.org>
5967
5968	* doc/groff.texinfo: More info on conditionals.
5969
59702001-04-15  Werner LEMBERG  <wl@gnu.org>
5971
5972	* doc/groff.texinfo: Added some info about groff internals.
5973
5974	* src/roff/troff/node.cc (make_glyph_node): Emit warning message
5975	about missing special character only if the name is non-null.
5976
59772001-04-14  Werner LEMBERG  <wl@gnu.org>
5978
5979	Removing the grohtml-old device driver which is now obsolete.
5980
5981	* src/devices/grohtml-old/*: Removed.
5982	* font/devhtml-old/*: Removed.
5983	* src/libs/libgroff/htmlindicate.cc (graphic_start, graphic_end):
5984	Remove comments.
5985	* Makefile.in (CCPROGDIRS, DEVDIRS): Updated.
5986	* test-groff (PATH): Updated.
5987	* tmac/Makefile.sub (NORMALFILES): Updated.
5988	* tmac/an-old.tmac: Remove special code for html-old device.
5989	Replace `html-or-html-old' register with `an-html'.
5990	* tmac/eqnrc: Updated.
5991	* tmac/html-old.tmac: Removed.
5992	* tmac/troffrc, tmac/troffrc-end: Updated.
5993	* tmac/www.tmac: Remove special code for html-old device.
5994	Replace `html-or-html-old' register with `www-html'.
5995
5996	* src/libs/libgroff/tmpfile.cc (remove_tmp_files),
5997	src/libs/libgroff/htmlindicate.cc (graphic_end),
5998	include/htmlindicate.h, src/preproc/grn/*.cc,
5999	src/roff/groff/env.{cc,h}: Remove `void' parameter if used as a
6000	single argument for consistency with rest of source code.
6001
6002	* aclocal.m4, tmac/an-old.tmac: Fix copyright.
6003
60042001-04-13  Ruslan Ermilov  <ru@FreeBSD.org>
6005
6006	* src/roff/troff/troff.man: Fixing typos.
6007
60082001-04-13  Werner LEMBERG  <wl@gnu.org>
6009
6010	* doc/pic.ms: Fixing many font switches.
6011	* doc/groff.texinfo: Fixes, additions.
6012	* MORE.STUFF: Updated.
6013
60142001-04-12  Gaius Mulley  <gaius@glam.ac.uk>
6015
6016	* src/devices/grohtml/grohtml.man: Updated manual page regarding
6017	simple anchor.
6018	* src/preproc/html/pre-html.cc (createImage): Fixed right hand
6019	cropping of images.
6020	(removeTempFiles): New function to tidy up temporary files.
6021	* src/preproc/html/pre-html.cc (main): Calls `removeTempFiles()'.
6022	Many fixes to do with the new inline suppress node and image regions
6023	are much tighter.
6024	* src/devices/grohtml/post-html.cc: New method `is_auto_img'.
6025	(generate_img_src): New function.
6026	(html_printer::do_auto_image): Utilizes it.
6027	(do_heading, do_title): Include inline images within their contents.
6028	(html_printer::begin_page): Tidied up comments that are issued to
6029	the html output file.
6030	(html_printer::do_fill): Fixed so that `.nf' works with fonts other
6031	than courier.
6032	(text_glob::is_br): New method used by do_heading.
6033	* tmac/s.tmac: If -Thtml then emit $1 in .IP rather than its
6034	equivalent diversion.
6035	* src/include/html-strings.h: Altered image tags to reflect the
6036	inline image node.
6037	* src/include/htmlindicate.h (html_end_suppress): Added `is_inline'
6038	parameter.
6039	* src/preproc/eqn/main.cc: Will suppress generation of image tags if
6040	it is already inside a pic image.  Only emit tags if the argument
6041	`-Tps:html' is present.
6042	* src/preproc/tbl/main.cc: Changes to reflect additional
6043	`html_end_suppress' parameter.
6044	* src/roff/troff/env.cc: Only emit eol tag if a node has been
6045	emitted since the last eol tag was written.
6046	* src/roff/troff/env.h: New boolean `emitted_node'.
6047	* src/roff/troff/input.cc (do_suppress): Handles extra suppress
6048	nodes \O3, \O4, \O5.  No longer use `output_low_mark_miny'.
6049	* src/roff/troff/node.cc (check_charinfo): New method. 
6050	(troff_output_file::determine_line_limits): Alterations to limit
6051	checking.
6052	* tmac/www.tmac: Changes to reflect new suppress nodes.
6053	  
60542001-04-12  Bruno Haible  <haible@clisp.cons.org>
6055
6056	* src/devices/grohtml/post-html.cc (html_printer::add_to_sbuf):
6057	Escape the html_glyph in the buffer.
6058	(str_translate_to_html): Output the unescaped escaped_char.
6059	* src/devices/grohtml/html-text.cc (issue_table_begin): Set
6060	`frame=void', not `frame=none'.  Add `border=0'.
6061
60622001-04-12  Werner LEMBERG  <wl@gnu.org>
6063
6064	* PROBLEMS: Add some words on how to avoid wrapper macros.
6065
60662001-04-11  Blake McBride  <blake@florida-software.com>
6067
6068	* src/include/nonposix.h (fileno) [_MSC_VER]: Removed.
6069
60702001-04-11  Werner LEMBERG  <wl@gnu.org>
6071
6072	* font/devlbp/Makefile.sub (CLEANADD): Set it.
6073	* tmac/Makefile.sub (CLEANADD): Add tmac.local-s.
6074	* Makefile.in (dist): Don't remove src/xditview/Imakefile, but ...
6075	* Makefile.sub (DISTCLEANFILES): Here.
6076
6077	* libs/libgroff/new.cc: Include `nonposix.h'.
6078	* win32-diffs: Updated.
6079
60802001-04-10  Ruslan Ermilov  <ru@FreeBSD.org>
6081
6082	Added skeleton macro for defunct macros.
6083
6084	Updated documentation.
6085
6086	When inside displays, an empty input line warning should be
6087	suppressed.  If another macro call is put inside a display,
6088	all subsequent empty lines found in that display caused a
6089	warning to be emitted.
6090
6091	* tmac/doc.tmac (doc-defunct-macro): New macro.
6092	(Db, Ds, Ex, Or, Sf): Reimplemented using this macro.
6093	(doc-restore-global-vars): Fixed typo.
6094	(doc-empty-line): Check the `doc-display-depth' register to
6095	determine whether we are inside display or not.
6096
6097	* tmac/doc-common: Removed `Or' and `Sf' registers.
6098	Moved obsolete `Ds' macro to doc.tmac.
6099
6100	* tmac/groff_mdoc.man: Bump document date.
6101	Document `.Vt' under ``Variable Types''.
6102	Removed documentation for obsolete `.Or' macro.
6103
61042001-04-10  Werner LEMBERG  <wl@gnu.org>
6105
6106	* NEWS: Updated.
6107	* doc/groff.texinfo: Many fixes, additions, clarifications, etc.
6108
61092001-04-10  Bruno Haible  <haible@clisp.cons.org>
6110
6111	* src/devices/grodvi/dvi.cc (main): Accept --help and --version.
6112	(usage): Add stream argument. Don't exit.
6113	* src/devices/grohtml/post-html.cc (main): Accept --help and --version.
6114	Write --version output to stdout, not stderr.
6115	(usage): Add stream argument. Don't exit.
6116	* src/devices/grohtml-old/html.cc (main): Accept --help and --version.
6117	(usage): Add stream argument. Don't exit.
6118	* src/devices/grolbp/lbp.cc (long_options): Use symbolic getopt.h
6119	constants.
6120	(usage): Add stream argument. Don't exit.
6121	(main): Write --help output to stdout, not stderr.
6122	* src/devices/grolj4/lj4.cc (main): Accept --help and --version.
6123	(usage): Add stream argument. Don't exit.
6124	* src/devices/grops/ps.cc (main): Accept --help and --version.
6125	(usage): Add stream argument. Don't exit.
6126	* src/devices/grotty/tty.cc (main): Accept --help and --version.
6127	(usage): Add stream argument. Don't exit.
6128	* src/preproc/eqn/main.cc (usage): Add stream argument. Don't exit.
6129	(main): Accept --help and --version.
6130	* src/preproc/grn/main.cc (usage): Add stream argument. Don't exit.
6131	(main): Accept --help and --version.
6132	* src/preproc/html/pre-html.cc (usage): Add stream argument.
6133	(scanArguments): Accept --help and --version.
6134	* src/preproc/pic/main.cc (usage): Add stream argument. Don't exit.
6135	(main): Accept --help and --version.
6136	* src/preproc/refer/refer.cc (main): Accept --help and --version.
6137	(usage): Add stream argument. Don't exit.
6138	* src/preproc/soelim/soelim.cc (usage): Add stream argument. Don't
6139	exit.
6140	(main): Accept --help and --version.
6141	* src/preproc/tbl/main.cc (usage): Add stream argument. Don't exit.
6142	(main): Accept --help and --version.
6143	* src/roff/groff/groff.cc (main): Accept --help and --version.
6144	(synopsis): Add stream argument.
6145	(help): Write --help output to stdout, not stderr.
6146	(usage): Add stream argument. Don't exit.
6147	* src/roff/grog/grog.pl: Accept --help and --version.
6148	(help): New sub.
6149	* src/roff/grog/grog.sh: Accept --help and --version.
6150	* src/roff/nroff/nroff.sh: Accept --help and --version.
6151	* src/roff/troff/input.cc (USAGE_EXIT_CODE): Remove macro.
6152	(usage): Add stream argument. Don't exit.
6153	(main): Accept --help and --version.
6154	* src/utils/addftinfo/addftinfo.cc (main): Accept --help and --version.
6155	(usage): New function with stream argument, doesn't exit.
6156	* src/utils/hpftodit/hpftodit.cc (main): Accept --help and --version.
6157	(usage): New function with stream argument, doesn't exit.
6158	* src/utils/indxbib/indxbib.cc (main): Accept --help and --version.
6159	(usage): Add stream argument. Don't exit.
6160	* src/utils/lkbib/lkbib.cc (usage): Add stream argument. Don't exit.
6161	(main): Accept --help and --version.
6162	* src/utils/lookbib/lookbib.cc (usage): Add stream argument. Don't
6163	exit.
6164	(main): Accept --help and --version.
6165	* src/utils/pfbtops/pfbtops.c (usage): Add stream argument. Don't exit.
6166	(main): Accept --help and --version.
6167	* src/utils/tfmtodit/tfmtodit.cc (main): Accept --help and --version.
6168	(usage): Add stream argument. Don't exit.
6169
61702001-04-10  Ruslan Ermilov  <ru@freebsd.org>
6171
6172	Fix indentation in SYNOPSIS.
6173
6174	Updated to include changes of latest BSD mdoc version (basically,
6175	the only change is that `.Fn' and `.Fc' put a final semicolon after
6176	a function declaration in the SYNOPSIS section).
6177
6178	* tmac/doc.tmac (doc-in-synopsis-count): Replaced with ...
6179	(doc-in-synopsis-section): New variable.  Updated all related
6180	functions.
6181	(doc-indent-synopsis-active): New register.
6182	(Nd, Fn, Fo): Use it.
6183	(Cd): It requires manipulation of \n[doc-indent-synopsis] so that
6184	`.Cd' with long argument line produces indented wrapped lines. 
6185	Also, the misplaced `.nop \*[doc-Nm-font]\c'' caused extra
6186	undesirable line break to be output.
6187	(doc-do-func-decl, Nm, Vt, Fn, Fo): Remove extraneous calls to
6188	`.rs'.
6189	(Fn, Fc): Add final `;' to output.
6190	(doc-save-global-vars, doc-restore-global-vars): Updated.
6191	* tmac/doc-common: Remove `Ex' register.
6192	Updated.
6193	* tmac/doc-ditroff, tmac/doc-nroff, tmac/doc-syms: Updated
6194	copyright.
6195
61962001-04-06  Ruslan Ermilov  <ru@freebsd.org>
6197
6198	* tmac/doc.tmac (Cd): Simplify code.
6199	* tmac/groff_mdoc.man: Document some behaviour of `Cd' request.
6200
62012001-04-06  Werner LEMBERG  <wl@gnu.org>
6202
6203	Implement continuous underlining for nroff mode.  To do that, a new
6204	request in the ditroff language has been added: `x u N' (N is 0
6205	or 1).
6206
6207	\X and \Y are now transparent to end-of-sentence recognition.
6208
6209	* src/include/printer.h (printer): Add `type' parameter to `special'
6210	method.
6211	* src/libs/libdriver/printer.cc (printer::special): Updated.
6212	* src/libs/libdriver/input.cc (do_file): Handle `x u N'.
6213
6214	* src/devices/dvi/dvi.cc (dvi_printer::special): Handle only
6215	specials of type `p'.
6216	* src/devices/grohtml/post-html.cc (html_printer::special): Ditto.
6217	* src/devices/grohtml-old/html.cc (html_printer::special): Ditto.
6218	* src/devices/grops/ps.cc (ps_printer::special): Ditto.
6219	* src/devices/grotty/tty.cc: Add new enum CU_MODE.
6220	(glyph::order): New method.
6221	(tty_printer::add_char): Use it.
6222	(tty_printer::special): New method.
6223	(tty_printer::end_page): Implement it.
6224
6225	* src/roff/troff/node.h (special_node): Add `no_init_string' member.
6226	* src/roff/troff/node.cc (special_node::special_node): Add parameter
6227	to set `no_init_string'.
6228	(special_node::tprint_start): Use it.
6229	(special_node::same, special_node::copy): Updated.
6230	(special_node::ends_sentence): New method.
6231	(troff_output_file::start_special): Add parameter to include
6232	inititialization of special conditionally.
6233
6234	* src/roff/troff/env.h (environment): New member `underline_spaces'.
6235	* src/roff/troff/env.cc (do_underline_special): New function.
6236	(environment::set_font): Use it.
6237	(do_underline): Use it.  This was `underline()'.
6238	(underline): Call `do_underline()'.
6239	(continuous_underline): New function which calls `do_underline()'.
6240	(environment::newline): Use `do_underline_special()'.
6241	(init_env_requests): Updated.
6242
6243	* NEWS, man/troff_out.man: Updated.
6244
62452001-04-06  Bruno Haible  <haible@clisp.cons.org>
6246
6247	* font/devutf8/R.proto: Fix code of 'shc'.
6248
62492001-04-06  Ruslan Ermilov  <ru@freebsd.org>
6250
6251	Many fixes.  Diag lists can now be nested also; additionally,
6252	`-compact' and `-offset' are supported.
6253
6254	* tmac/doc.tmac (doc-have-indent): Replaced with ...
6255	(doc-list-have-indent-stackXXX): A new register stack.
6256	(doc-have-diag-list): Removed.
6257	(Bl): Use `doc-list-have-indent-stackXXX'.
6258	(El): Updated.
6259	(doc-diag-list): Use `doc-compact-list-stackXXX'.
6260	(doc-tag-list): Use `doc-list-have-indent-stackXXX'.
6261	(doc-set-vertical-and-indent): Ditto.
6262	(doc-next-list-depth): Removed.
6263	(doc-increment-list-stack): Updated.
6264	(doc-decrement-list-stack): Use `doc-list-depth' instead of
6265	`doc-next-list-depth'.
6266	(doc-end-list, doc-end-column-list): Don't use
6267	`doc-increment-list-stack'.
6268	(doc-set-column-tab): Don't use `doc-list-offset-stackXXX'.
6269	(doc-save-global-vars, doc-restore-global-vars): Updated.
6270	* tmac/doc-common: Updated.
6271	* tmac/groff_mdoc.man: Updated.
6272	* NEWS: Fix typo.
6273
62742001-04-02  Werner LEMBERG  <wl@gnu.org>
6275
6276	* src/devices/grotty/grotty.man: Fix grammatical error.
6277
62782001-03-30  Ruslan Ermilov  <ru@freebsd.org>
6279
6280	Remove .Ld from mdoc package; replace it with special handling of
6281	`...'.
6282
6283	* tmac/doc-common: Remove `Ld' register.
6284	Uncomment `doc-volume-ds-*' strings.
6285	Remove `doc-operating-system-default'.
6286	(Os): Updated.
6287	* tmac/doc-syms (Ld): Removed.
6288	* tmac/doc.tmac (doc-parse-args, doc-parse-arg-vector): Handle
6289	`...' specially.
6290	* NEWS: Updated.
6291
6292	* tmac/groff_mdoc.man: Many fixes and updates.
6293
62942001-03-29  Werner LEMBERG  <wl@gnu.org>
6295
6296	* tmac/troffrc-end: Protect data with `.do'.  Reported by T. Kurt
6297	Bond <tkb@tkb.mpl.com>.
6298	* tmac/www.tmac: Save compatibility mode.
6299
63002001-03-28  Ruslan Ermilov  <ru@freebsd.org>
6301
6302	* tmac/groff_mdoc.man: Many fixes.
6303
63042001-03-28  Werner LEMBERG  <wl@gnu.org>
6305
6306	* src/preproc/soelim/soelim.man: Document that `.<whitespace>so'
6307	isn't recognized.
6308
63092001-03-27  Werner LEMBERG  <wl@gnu.org>
6310
6311	* tmac/an-old.tmac (TP, an-do-tag): Reduce line length while in
6312	diversion.  This fixes overlong tags.
6313
63142001-03-26  Werner LEMBERG  <wl@gnu.org>
6315
6316	* doc/groff.texinfo: Fixed and improved documentation of fonts.
6317	* tmac/doc-syms: Fix error messages.
6318	* tmac/an-old.tmac: Remove incorrect double backslashes.
6319
63202001-03-24  Ruslan Ermilov  <ru@freebsd.org>
6321
6322	* tmac/Makefile.sub: Strip mdoc.local also
6323	* tmac/strip.sed: Fixed.
6324
63252001-03-24  Werner LEMBERG  <wl@gnu.org>
6326
6327	* tmac/doc-nroff, tmac/doc-ditroff: Implement -rSxx switch for
6328	selecting the font size.
6329	* tmac/groff_mdoc.man, NEWS: Document it.
6330
63312001-03-23  Werner LEMBERG  <wl@gnu.org>
6332
6333	* src/roff/troff/div.cc (save_vertical_space): Add default argument
6334	to `sv' request.
6335	* src/roff/troff/env.cc (family_change): Make `.fam' accept no
6336	argument to restore previous font family.
6337	* src/roff/troff/troff.man, man/groff.man, NEWS: Updated.
6338
6339	* doc/groff.texinfo: More fixes and additions (mainly for font
6340	manipulating commands).
6341
6342	* tmac/groff_mdoc.reference.man: Small updates and renamed to ...
6343	* tmac/groff_mdoc.man: This.  The quick reference has been removed.
6344	* tmac/Makefile.sub, NEWS: Updated.
6345
63462001-03-23  Werner LEMBERG  <wl@gnu.org>
6347
6348	Replaced mdoc implementation.  The new version is `state of the
6349	art', using almost all new features of groff 1.17 -- it won't run
6350	with older versions.
6351
6352	* tmac/doc.tmac: Completely rewritten.
6353	* tmac/doc-common: Ditto.
6354	* tmac/doc-nroff: Ditto.
6355	* tmac/doc-ditroff: Ditto.
6356	* tmac/doc-syms: Ditto.
6357	* tmac/mdoc.local: New file.
6358	* tmac/groff_mdoc.samples.man: Replaced with ...
6359	* tmac/groff_mdoc.reference.man: New file, covering mdoc completely.
6360	* tmac/strip.sed: Updated.
6361	* tmac/Makefile.sub: Updated.
6362	* INSTALL: Updated.
6363
6364	* tmac/groff_man.man: Add `man.local' to the FILES section.
6365
63662001-03-22  Werner LEMBERG  <wl@gnu.org>
6367
6368	* doc/groff.texinfo: Added many @noindent.
6369	Replaced @end_Example -> @endExample.
6370	Added info whether registers are r/o.
6371	Many other additions and fixes.
6372
63732001-03-21  Werner LEMBERG  <wl@gnu.org>
6374
6375	* doc/groff.texinfo: Added macro @Var (and some hacks due to bugs
6376	in makeinfo of texinfo 4.0) to be used in @Def* macros.
6377	Improved @Def* macros: Now the exact syntax of request, register,
6378	and escapes is shown.
6379	Added macros for parentheses and brackets to be used in @Def*.
6380	Many fixes and improvements of the documentation.
6381
63822001-03-20  Werner LEMBERG  <wl@gnu.org>
6383
6384	* doc/groff.texinfo: Added new index: `st' (for strings).
6385	Added macros @Defstr(x).
6386	Added macro @Example (adding @group).
6387	Other minor improvements.
6388
63892001-03-19  Werner LEMBERG  <wl@gnu.org>
6390
6391	* doc/groff.texinfo: Added two new indices: `es' (for escapes) and
6392	`rq' for requests.  `fn' is no longer used.
6393	Added macros @Defreq(x), @Defreg(x), and @Defesc(x).
6394	Removed @Deffn(x).
6395
6396	* tmac/an-old.tmac (an-p-footer): If `cR' is set, replace page
6397	number with name of man page.
6398
63992001-03-19  Larry Kollar  <kollar@alltel.net>
6400
6401	* doc/groff.texinfo: Complete revision.  Added many @Deffn to gain
6402	consistency.
6403
64042001-03-19  Werner LEMBERG  <wl@gnu.org>
6405
6406	* man/groff_font.man: Document `prepro', `postpro', and `print'.
6407	* src/roff/groff/groff.man: Improve documentation of `-l' and `-L'.
6408	* src/devices/grohtml/grohtml.man: Fixing typos.
6409
64102001-03-19  Gaius Mulley  <gaius@glam.ac.uk>
6411
6412	* tmac/s.tmac (@IP): Pass `.ip' html tag.
6413	* tmac/groff_mwww.man: Remove .LINE macro
6414	* tmac/www.tmac (LINE): Add `.ti'.
6415
6416	* src/devices/grohtml/post-html.cc (html_printer): New member
6417	`indent'.
6418	(html_printer::emit_raw): Use it.
6419	(html_printer::do_linelength): Ditto.
6420	(html_printer::do_pageoffset): Ditto.
6421	(html_printer::do_indentation): Ditto.
6422	(html_printer::do_tempindent): Ditto.
6423	(html_printer::do_break): Ditto.
6424	(html_printer::begin_page): Ditto.
6425	(html_printer::do_indentedparagraph): New function.
6426	(html_printer::troff_tag): Handle `.ip'.
6427	* src/devices/grohtml/html-text.cc (html_text::issue_table_begin):
6428	Add `<td width=...>' handling.
6429	(html_text::do_table): Add parameter.
6430	(html_text::do_indent): Updated.
6431	* src/devices/groohtml/html-text.h: Updated.
6432
64332001-03-16  Gaius Mulley  <gaius@glam.ac.uk>
6434
6435	Introduced simple html tables to implement indentation.
6436
6437	* src/devices/grohtml/html.h (word, word_list): New structures.
6438	(simple_output): Use it.
6439	* src/devices/grohtml/post-html.cc: Add `INDENTATION'.
6440	(html_printer): Improve indentation handling.
6441	(html_printer::emit_raw): Set `in_table' element.  Handle
6442	indentation if set.
6443	(html_printer::write_header): Move conditional downwards.
6444	Don't allow whitespace in tags.
6445	(html_printer::do_linelength): Handle line length and indentation
6446	conditionally.
6447	(html_printer::do_pageoffset): Handle indentation conditionally.
6448	(html_printer::do_indentation): Ditto.
6449	(html_printer::do_tempindent): New function member.
6450	(html_printer::do_fill): Take care of indentation.
6451	(html_printer::do_flush): Finish table.
6452	(html_printer::do_links): Ditto.
6453	(html_printer::do_break): New function for handling `.br' and `.ti'.
6454	(html_printer::troff_tag): Use it.
6455	Handle `.ti'.
6456	(html_printer::flush_globs): Fix.
6457	(html_printer::flush_page): Finish table.
6458	(html_printer::html_printer): Fix error message.  Set up
6459	`linelength'.
6460	(html_printer::add_to_sbuf): Remove special handling of character
6461	code 255.
6462	(to_unicode): Remove `stop()'.
6463	(html_printer::write_title): Cleanup.
6464	(html_printer::begin_page): Use `put_string()'.  Handle indentation.
6465	(html_printer::~html_printer): Flush text and end the line.
6466	Use `put_string()'.
6467	* src/devices/grohtml/html_text.h: Add more *_TAG enum values.
6468	* src/devices/grohtml/html_text.cc (html_text::end_tag): Fix
6469	emission of tags.
6470	(html_text::start_tag): Disable newlines.
6471	(html_text::table_is_void): New function.
6472	(html_text::issue_table_begin): Ditto.
6473	(html_text::issue_table_end): Ditto.
6474	(html_text::push_para): Better table handling.
6475	(html_text::do_indent): New function.
6476	(html_text::do_table): Ditto.
6477	(html_text::done_table): Ditto.
6478	(html_text::do_tt): Handle PRE_TAG.
6479	(html_text::is_in_table): New function.
6480	(html_text::check_emit_text): Handle tables.
6481	(html_text::do_emittext): Use `nl()'.
6482	(html_text::do_para): Handle table.
6483	(html_text::remove_def): New function.
6484	* src/devices/grohtml/output.cc (word, word_list): Implement
6485	methods.
6486	(simple_output::end_line): Flush last word.
6487	(simple_output::simple_comment): Ditto.
6488	(simple_output::begin_comment): Recoded.
6489	(simple_output::end_comment): Ditto.
6490	(simple_output::comment_arg): Removed.
6491	(simple_output::check_newline): Improve test and flush last word.
6492	(simple_output::space_or_newline): Improved.
6493	(simple_output::write_newline): Replaced with...
6494	(simple_output::nl): This.
6495	(simple_output::put_raw_char): Flush last word.
6496	(simple_output::check_space): Removed.
6497	(simple_output::put_translated_string): Ditto.
6498	(simple_output::put_string): Simplified.
6499	(simple_output::put_number): Updated.
6500	(simple_output::put_float): Ditto.
6501	(simple_output::put_symbol): Removed.
6502	(simple_output::enable_newlines): Add `check_newline()'.
6503	(simple_output::flush_last_word): New function.
6504
6505	* src/roff/troff/enc.cc (no_fill): Remove call to add_html_tag().
6506	* src/roff/troff/div.cc (page_offset): Add call to add_html_tag().
6507
6508	* tmac/s.tmac (@PP, @IP): Add html conditional code.
6509	* tmac/an-old.tmac (TP): Ditto.
6510
65112001-03-09  Ruslan Ermilov  <ru@freebsd.org>
6512
6513	* mdate.sh: Make it POSIX compliant.
6514
65152001-03-09  Werner LEMBERG  <wl@gnu.org>
6516
6517	Added the `return' request to end a macro immediately.  It simply
6518	pops iterators from the input stack until a macro iterator is found.
6519
6520	* src/roff/troff/input.cc (input_iterator::is_macro,
6521	macro_iterator::is_macro): New member.
6522	(input_return_boundary): New class to signal an immediate return
6523	to while_request().
6524	(input_stack::add_return_boundary, input_stack::is_return_boundary):
6525	New functions.
6526	(input_stack::clear): Use it.
6527	(input_stack::pop_macro): New function.
6528	(while_request): Use `is_return_boundary()'.
6529	(return_macro_request): New function.
6530	(init_input_requests): Use it.
6531
6532	* src/roff/troff/TODO: Updated.
6533	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
6534
65352001-03-08  Werner LEMBERG  <wl@gnu.org>
6536
6537	* src/roff/troff/input.cc (input_iterator::is_boundary): Minor
6538	cleanup.
6539
65402001-03-07  Werner LEMBERG  <wl@gnu.org>
6541
6542	Make `\B' more rigid.
6543
6544	* src/roff/troff/number.cc (parse_expr, parse_term): Add `rigid'
6545	parameter.
6546	(get_number_rigidly): New function.
6547	* src/roff/troff/input.cc (do_expr_test): Use it.
6548	* src/roff/troff/token.h: Updated.
6549
6550	* src/roff/troff/request.h: Fix typo (init_html_request ->
6551	init_markup_request).
6552
65532001-03-04  Gaius Mulley  <gaius@glam.ac.uk>
6554
6555	Fixed grohtml handling of any named glyph for glyph indexes < 0x80. 
6556	Cosmetic changes to `.html-begin', `.html-end', `.html-image' which
6557	are now `.begin', `.end', `.image'.
6558
6559	* src/devices/grohtml/post-html.cc: Adding UNICODE_DESC_START.
6560	(html_printer::add_to_sbuf): Changing type of `code' parameter.
6561	Use add_char_to_sbuf().
6562	(to_unicode): New function.
6563	(char_translate_to_html): Changing type of `ch' parameter.
6564	Use `to_unicode()'.
6565	(html_printer::~html_printer): Comment out doctype string.
6566	* src/preproc/html/pre-html.cc (write_end_image): Use `.end'
6567	instead of `.html-end'.
6568	(write_start_image): Use `.begin' and `.image' instead of
6569	`.html-begin' and `.html-image'.
6570	* src/roff/troff/input.cc: Rename `html_level' to `begin_level'.
6571	(html_begin): Renamed to ...
6572	(begin): This.
6573	(html_end): Renamed to ...
6574	(end): This.
6575	(html_image): Renamed to ...
6576	(image): This.
6577	(init_html_requests): Renamed to ...
6578	(init_markup_requests): This.
6579	* tmac/www.tmac: Updated.
6580
65812001-02-28  Bram  <bram@avontuur.org>
6582
6583	* src/libs/libgroff/font.cc (font_widths_cache): Fixing syntax of
6584	constructor.
6585
65862001-02-26  David Leonard  <david.leonard@csee.uq.edu.au>
6587
6588	* doc/meref.me: Fixing some typos.
6589
65902001-02-16  Werner LEMBERG  <wl@gnu.org>
6591
6592	* src/roff/troff/node.cc (space_node::get_hyphenation_type): New
6593	method.  Return `HYPHEN_MIDDLE' if it was `\:'.
6594	* src/roff/troff/node.h: Updated.
6595
65962001-02-17  Ruslan Ermilov  <ru@FreeBSD.org>
6597
6598	* tmac/groff_tmac.man: Fix typo.
6599
66002001-02-16  Werner LEMBERG  <wl@gnu.org>
6601
6602	Fixing a bug which prevented proper end-of-sentence recognition
6603	between an `unformatted' box and the following text.  As a
6604	consequence, vertical line distances are no longer preserved in
6605	boxes after a call to `.unformat' -- because boxes aren't
6606	line-oriented (contrary to diversions), this doesn't make sense
6607	anyway.
6608
6609	* src/roff/troff/node.cc (*node::set_unformat_flag): Add return
6610	value.
6611	(vertical_size_node::set_unformat_flag): New method.
6612	* src/roff/troff/node.hh: Updated.
6613	* src/roff/troff/input.cc (word_space_node::reread,
6614	hmotion_node::reread): Reset `unformat' flag after usage.
6615	(unformat_macro): Append only if `set_unformat_flag()' returns
6616	non-zero.
6617	* src/roff/troff/troff.man: Updated.
6618
66192001-02-15  Werner LEMBERG  <wl@gnu.org>
6620
6621	* src/roff/troff/troff.man, NEWS, man/groff.man: Improved
6622	documentation of `asciify' and `unformat' requests.
6623
66242001-02-13  Werner LEMBERG  <wl@gnu.org>
6625
6626	Redesigned the `unformat' request.  It is no longer connected with
6627	`asciify' but rather uses new `reread()' methods if the `unformat'
6628	flag is set.  Additionally, the handling of space characters after
6629	unformatting has been fixed so that they retain their width.
6630
6631	* src/roff/troff/node.h (width_list): New structure to store
6632	original widths of spaces.
6633	(node): Added `unformat' member.
6634	Replaced `num_spaces' variable with `orig_width' list.
6635	* src/roff/troff/node.cc (*node::asciify,
6636	asciify_reverse_node_list): Removed `unformat_only' flag and related
6637	code.
6638	(word_space_node::asciify, word_space_node::word_space_node): Use
6639	`orig_width'.
6640	(word_space_node::~word_space_node): New destructor.
6641	(word_space_node::copy): Updated to handle `orig_width'.
6642	(hmotion_node::copy, unbreakable_space_node::copy): Updated.
6643	(*node::merge_space): Update `orig_width' list if necessary.
6644	(*node::set_unformat_flag): New methods to set the `unformat' flag.
6645	* src/roff/troff/enc.cc (environment::space_newline): Use
6646	`width_list'.
6647	(environment::space): Added method to handle space width and
6648	sentence space width as parameters.  Use `width_list'.
6649	(environment::make_tab_node): Updated.
6650	* src/roff/troff/env.h: Updated.
6651	* src/roff/troff/input.cc (word_space_node::reread,
6652	unbreakable_space_node::reread, hmotion_node::reread): New methods
6653	to handle nodes specially if `unformat' flag is set.
6654	(do_asciify_macro): Renamed back to ...
6655	(asciify_macro): This.
6656	(unformat_macro): New implementation to simply set the `unformat'
6657	flag.
6658
6659	* MORE.STUFF: Added more info about deroff.
6660
66612001-02-08  Werner LEMBERG  <wl@gnu.org>
6662
6663	* src/roff/troff/node.h (unbreakable_space_node, hmotion_node,
6664	space_char_hmotion_node, overstrike_node): Add `get_hyphen_list()'
6665	and `add_self()' methods to avoid hyphenation.  For example, the
6666	hyphen list for `foo\0\0bar' was `foobar', causing insertion of a
6667	soft hyphen after `foo'.  Now the hyphen list is correctly
6668	`foo<ignore><ignore>bar'.
6669
66702001-02-05  Yoshiteru Kageyama  <yt-kage@cb3.so-net.ne.jp>
6671
6672	* tmac/groff_tmac.man: Fix `BIR' macro.
6673
66742001-02-04  Werner LEMBERG  <wl@gnu.org>
6675
6676	A new escape sequence `\:', inserting a zero-width break point.
6677
6678	* src/roff/troff/input.h: Adding `ESCAPE_COLON'.
6679	* src/roff/troff/input.cc (get_copy, token::next, asciify):
6680	Implement it.
6681	* src/roff/troff/node.h (node): Add `is_escape_colon()' virtual
6682	method.
6683	(space_node): Add `was_escape_colon' member.  Add `is_escape_colon()'
6684	and `asciify()' methods.
6685	* src/roff/troff/node.cc (space_node::space_node): Updated.
6686	(space_node::asciify): Handle `was_escape_colon'.
6687	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
6688
6689	Handle `\~' similar to other comparable requests.
6690
6691	* src/roff/troff/input.cc (process_input_stack): Remove now obsolete
6692	label.
6693	(token::next): Move creation of an unbreakable_space_node to...
6694	(token::add_to_node_list): Here.
6695
6696	Fix a bug which sometimes prevented hyphenation of words connected
6697	with `\~' or `\ ' (and other escape sequences handled as
6698	TOKEN_NODE).  This also fixes a hyphenation problem with boxes
6699	(after a call to the `unformat' request).
6700
6701	* src/roff/troff/env.h (environment::possibly_break_line,
6702	environment::hyphenate_line): Introducing `start_here' parameter.
6703	* src/roff/troff/env.cc (environment::space_newline,
6704	environment::space): Use it.
6705	(environment::possibly_break_line, environment::hyphenate_line):
6706	Implement it.
6707	* src/roff/troff/input.cc (process_input_stack): Use it.
6708	* src/roff/troff/node.h (unbreakable_space_node, hmotion_node,
6709	space_char_hmotion_node, overstrike_node): Add
6710	`get_hyphenation_type()' method.
6711	* src/roff/troff/node.cc (break_char_node::asciify): Don't asciify
6712	if `unformat_only' is active.
6713
67142001-01-30  Werner LEMBERG  <wl@gnu.org>
6715
6716	Implemented new read-only number register `.linetabs' which
6717	returns 1 if in line-tabs mode, 0 otherwise.
6718
6719	* src/roff/troff/env.h (environment): Add get_line_tabs() member.
6720	* src/roff/troff/env.cc (get_line_tabs): New function.
6721	(init_env_requests): Use it.
6722	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
6723
6724	* VERSION, REVISION: Changing to 1.17.0.
6725
67262001-01-28  Werner LEMBERG  <wl@gnu.org>
6727
6728	Fixed a bug which prevented hyphenation of words which are finished
6729	with `\)'.
6730
6731	* src/roff/troff/token.h (token): Add enum type
6732	`TOKEN_TRANSPARENT_DUMMY' and method `transparent_dummy()'.
6733	* src/roff/troff/input.cc (token::next, token::description,
6734	get_line_arg, token::add_to_node_list, token::process): Use it.
6735
67362001-01-27  Werner LEMBERG  <wl@gnu.org>
6737
6738	* src/roff/troff/div.h (diversion): Add `saved_prev_line_interrupted'.
6739	* src/roff/troff/div.cc (do_divert): Use it.
6740
6741	* src/roff/troff/input.cc (asciify): Add ESCAPE_RIGHT_PARENTHESIS.
6742
67432001-01-25  Werner LEMBERG  <wl@gnu.org>
6744
6745	Adding the `linetabs' request.  If set, tab distances are not
6746	computed relative to the input line but relative to the output line.
6747
6748	* src/roff/troff/env.h (environment): New member `line_tabs'.
6749	* src/roff/troff/env.cc (line_tabs_request): Implement request.
6750	(environment::environment, environment::copy): Updated.
6751	(environment::distance_to_next_tab): Use `line_tabs'.
6752	(init_env_requests): Register request.
6753	* src/roff/troff/troff.man, man/groff.man, NEWS: Document it.  Other
6754	fixes.
6755
67562001-01-24  Werner LEMBERG  <wl@gnu.org>
6757
6758	Introducing a new read-only register `.int' which is set to a
6759	positive value if the last output line is interrupted (i.e., if it
6760	contains `\c').
6761
6762	* src/roff/troff/env.cc (init_env_requests): Add it.
6763	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
6764
67652001-01-23  Gaius Mulley  <gaius@glam.ac.uk>
6766
6767	* tmac/mwww.tmac: Call `www.tmac', not `arkup.tmac'.
6768	* src/preproc/html/pre-html.cc (findPrefix): New function which
6769	generates the troff executable name via the system prefix.
6770	* src/preproc/eqn/main.cc: Modified warning message.
6771
67722001-01-23  Werner LEMBERG  <wl@gnu.org>
6773
6774	troff's `box' and `boxa' requests didn't preserve temporary
6775	indentation.
6776
6777	* src/roff/troff/div.h (diversion): Add `saved_saved_indent' and
6778	`saved_target_text_length' members.
6779	* src/roff/troff/div.cc (do_divert): Use them.
6780
6781	Tabs (but not yet leaders and fields) are now handled correctly by
6782	`asciify' request.
6783
6784	* node.h (hmotion_node): Add field `was_tab'.
6785	* env.cc (environment::make_tab_node): Set it.
6786	* node.cc (hmotion_node::copy, hmotion_node::asciify): Use it.
6787
6788	Added new request `unformat' which will, contrary to `asciify',
6789	preserve font information after unformatting (i.e., only nodes
6790	dealing with horizontal space are converted back to input
6791	characters).
6792
6793	* input.cc (asciify_macro): Renamed to ...
6794	(do_asciify_macro): this, having a new parameter `unformat_only'.
6795	(asciify_macro, unformat_macro): New; using do_asciify_macro.
6796	(init_input_requests): Added `unformat'.
6797	* node.cc (*_node::asciify), asciify_reverse_node_list: Added
6798	parameter to control asciification process.
6799	* node.h (*_node::asciify): Ditto.
6800	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
6801
68022001-01-20  Werner LEMBERG  <wl@gnu.org>
6803
6804	* doc/groff.texinfo: Minor improvement of `.in' documentation.
6805
68062001-01-18  Werner LEMBERG  <wl@gnu.org>
6807
6808	* tmac/ps.tmac: Remove call of psold.tmac.
6809	* tmac/psold.tmac: Comment updated.
6810	* tmac/psnew.tmac: Removed since no longer needed.
6811	* tmac/Makefile.sub, NEWS, src/devices/grops/grops.man: Updated.
6812
6813	* font/devutf8/R.proto: Adding `shc' glyph.
6814	* font/devutf8/NOTES: Updated.
6815
6816	* test-groff: Updated.
6817
68182001-01-15  Gaius Mulley  <gaius@glam.ac.uk>
6819
6820	First cut of the new html device driver.  Changes to pre-html and
6821	the new grohtml are too numerous to be documented here.
6822
6823	Stuff related to `html' has been renamed to `html-old' and `html2'
6824	stuff has been renamed to `html' (including directories).  The new
6825	html device driver is therefore invoked as `-Thtml'.
6826
6827	Added new `\O' escape to suppress output (needed by html driver).
6828
6829	Added functions and code to pass info about input-level commands
6830	(`.in', `.fl', etc.) to html driver.
6831
6832	Three new functions (.html-begin, .html-end, and .html-image) for
6833	better html handling: `html-begin' will execute the remaining line
6834	if at the outermost nesting level, increasing an internal counter.
6835	`html-end' does the same but decreases the internal counter.
6836	`html_image' puts its arguments into a special node (suppress_node)
6837	to define an image region.
6838
6839	The `output' request has been removed.
6840
6841	* tmac/html-tags.tmac: Removed.
6842	* tmac/arkup.tmac: Updated and renamed to ...
6843	* tmac/www.tmac: New file.
6844	* tmac/markup.tmac Updated and renamed to ...
6845	* tmac/mwww.tmac: New file.
6846	* tmac/Makefile.sub: Updated.
6847	* tmac/an-old.tmac: Updated.
6848	* tmac/eqnrc: Updated.
6849	* tmac/groff_man.man
6850	* tmac/groff_markup.man: Updated and renamed to ...
6851	* tmac/groff_mwww.man: New file.
6852	* tmac/groff_tmac.man: Updated.
6853	* tmac/html-old.tmac: Updated and Renamed from html.tmac.
6854	* tmac/html.tmac: Updated and renamed from html2.tmac.
6855	* tmac/pspic.tmac: Updated html support.
6856	* tmac/s.tmac: Added html output support.
6857	* tmac/troffrc, tmac/troffrc-end: Updated.
6858
6859	* Makefile.in, doc/Makefile: Updated.
6860	* doc/groff.texinfo: Added info about new `\O' escape.
6861	* doc/homepage.ms: Use `MAILTO' macro.
6862
6863	* font/devhtml/DESC.proto: Add `C' font.
6864	* font/devhtml/Makefile.sub: Updated.
6865	* font/devhtml/R.proto: Minor fixes.
6866	* font/devhtml-old/Makefile.sub: Updated.
6867
6868	* src/devices/grohtml-old/Makefile.sub: Updated.
6869
6870	* src/libs/libdriver/printer.cc (printer::get_font_from_index): New
6871	method.
6872	* src/libs/libgroff/htmlindicate.cc (html_begin_suppress,
6873	graphic_start): Add `inline' parameter.  Update.
6874	(html_end_suppress, graphic_end): Update.
6875
6876	* src/include/html-strings.h: New file.
6877	* src/include/htmlindicate.h: Comments updated.
6878	* src/include/printer.h: Updated.
6879
6880	* src/preproc/eqn/main.cc (do_file, main): Updated.
6881	* src/preproc/pic/troff.cc (troff_output::start_picture,
6882	troff_output::finish_picture): Updated.
6883	* src/preproc/tbl/main.cc (process_input_file): Updated.
6884
6885	* src/roff/groff/groff.cc (main): Updated.
6886	Pass device arguments to predrivers also.
6887	Use `ps' device for `eqn' preprocessor if `-Thtml' is given.
6888	* src/roff/troff/env.h (environment): Updated.
6889	New elements `need_eol' and `ignore_next_eol' (for html output).
6890	* src/roff/troff/env.cc (environment::environment): Add initializers
6891	for `need_eol' and `ignore_next_eol'.
6892	(environment::add_html_tag_eol, environment::add_html_tag_tabs): New
6893	functions.
6894	(point_size, fill, no_fill, center, right_justify, line_length,
6895	indent, temporary_indent, break_request, handle_tab): Use
6896	`add_html_tag()'.
6897	(set_tabs): Use `add_html_tag_tabs()'.
6898	(environment::add_html_tag): Updated.
6899	(environment::do_break): Updated.
6900	* src/roff/troff/div.cc (space_request, flush_output): Use
6901	`environment::add_html_tag()'.
6902	* src/roff/troff/input.cc: Updated.
6903	New variable `html_level' to indicate nested `html-begin' requests.
6904	(file_iterator::fill): Use `environment::add_html_tag_eol()'.
6905	(non_interpreted_char_node, token_node, non_interpreted_node): Add
6906	`force_tprint()' method.
6907	(token::next): Handle `\O'.
6908	(do_suppress): Implement it.
6909	(html_begin, html_end, html_image): New functions.
6910	(init_output_requests): Renamed to ...
6911	(init_html_requests): this.
6912	(main): Use it.
6913	(macro::append_str, macro::append_unsigned, macro::append_int): New
6914	methods.
6915	New variable `output_low_mark_miny' to limit minimal value of y.
6916	(reset_output_registers): Use it.
6917	(output_request): Removed.
6918	(get_output_registers): New function.
6919	* src/roff/troff/node.h (node): Make `force_tprint()' virtual.
6920	(*_node): Added `force_tprint()' if necessary.
6921	(special_node): New elements `tf' and `get_tfont()'.
6922	(suppress_node): New class.
6923	* src/roff/troff/node.cc:
6924	New global variables `image_no' and `suppress_start_page'.
6925	(real_output_file): New method `is_on()'.
6926	(troff_output_file): New method `start_special(tfont)'.
6927	(troff_output_file::really_print_line): Use `tprint' conditionally.
6928	(real_output_file::print_line): Updated.
6929	(real_output_file::on): Updated.
6930	(*_node): Added `force_tprint()'.
6931	(special_node::special_node): Initializer updated.
6932	(special_node::same, special_node::copy, special_node::tprint_start):
6933	Updated.
6934	(get_reg_int, get_reg_str): New functions.
6935	(suppress_node::*): New methods.
6936	New global variables last_position, last_image_filename;
6937	(min): New inline function.
6938	* src/roff/troff/reg.h, src/roff/troff/request.h,
6939	src/roff/troff/troff.h: Updated.
6940
69412001-01-13  Werner LEMBERG  <wl@gnu.org>
6942
6943	* NEWS, src/roff/troff/troff.man, doc/groff.texinfo: Fix
6944	documentation of `asciify' request.
6945
69462001-01-12  Werner LEMBERG  <wl@gnu.org>
6947
6948	* src/roff/troff/input.cc: Move definition of special characters
6949	like `ESCAPE_TILDE' to ...
6950	* src/roff/troff/input.h: New file.
6951	* src/roff/troff/Makefile.sub (HDRS): Add it.
6952
6953	Extending the .asciify request to `unformat' space characters also.
6954
6955	* src/roff/troff/node.h (word_space_node): Add `num_spaces' element
6956	to count input space characters.
6957	Update constructors to take care of it.
6958	* src/roff/troff/node.cc (space_char_hmotion_node::asciify): Use
6959	`ESCAPE_SPACE' instead of normal space.
6960	(word_space_node::asciify): New method.
6961	(unbreakable_space_node::asciify): New method.
6962	(word_space_node::merge_space): New method.
6963	* src/roff/troff/env.cc (environment::space_newline,
6964	environment::space): Add code to initialize `num_spaces' (using the
6965	constructor of `word_space_node').
6966	* NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo:
6967	Document it.
6968
69692001-01-09  Werner LEMBERG  <wl@gnu.org>
6970
6971	* man/groff_char.man: Use table header traps only conditionally.
6972
69732001-01-09  Bjarni Ingi G�slason  <bjarniig@hi.is>
6974
6975	* man/groff_char.man: Add `�' and `�' to the `acute' group.
6976
69772001-01-08  Werner LEMBERG  <wl@gnu.org>
6978
6979	Introducing the `box' and `boxa' requests which are similar to
6980	`di' resp. `da' but omitting a partially filled line (which is
6981	restored after ending the diversion).
6982
6983	* src/roff/troff/div.h (diversion): Add elements to save partially
6984	filled line.
6985	* src/roff/troff/div.cc (do_divert): Add parameter `boxing' to save
6986	partially filled line.
6987	(divert, divert_append): Updated.
6988	(box, box_append): New functions.
6989	(init_div_requests): Use them.
6990	* src/roff/troff/env.h (environment): do_divert() is now a friend.
6991	* NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
6992
6993	* doc/groff.texinfo: Fix documentation of `lf' request.
6994
69952000-12-25  Werner LEMBERG  <wl@gnu.org>
6996
6997	* src/roff/troff/troff.man, NEWS: Document `writem' request.
6998
69992000-12-21  Werner LEMBERG  <wl@gnu.org>
7000
7001	Ignore `ss' request if in compatibility mode.
7002
7003	* src/roff/troff/input.cc: Make `compatible_flag' non-static.
7004	* src/roff/troff/env.h: Added extern `compatible_flag' declaration.
7005	* src/roff/troff/env.cc (space_size): Use it.
7006
7007	* doc/groff.texinfo, src/roff/troff/troff.man: Fix documentation of
7008	`ss' request in nroff mode.
7009
7010	* tmac/an-old.tmac: Fixed some serious bugs introduced with latest
7011	changes.
7012
70132000-12-15  Ruslan Ermilov  <ru@FreeBSD.org>
7014
7015	* tmac/troffrc, tmac/troffrc-end: Convert tmac.* to *.tmac.
7016
70172000-12-13  Werner LEMBERG  <wl@gnu.org>
7018
7019	* src/preproc/eqn/Makefile.sub (MAN1): Added neqn.man.
7020	* src/preproc/eqn/neqn.man: Small fixes and additions.
7021
70222000-12-13  Ruslan Ermilov  <ru@FreeBSD.org>
7023
7024	* src/utils/addftinfo/addftinfo.man, src/devices/grops/grops.man:
7025	Fixing typo.
7026
7027	* src/preproc/eqn/neqn.man: New file.
7028
7029	* src/preproc/tbl/table.cc (table::print): Fix `indent cannot be
7030	negative' warning.
7031
7032	* tmac/e.tmac: Add `T&' macro.
7033	Fix `indent cannot be negative' warning.
7034	* tmac/s.tmac: Fix `indent cannot be negative' warning.
7035
70362000-12-07  Werner LEMBERG  <wl@gnu.org>
7037
7038	* src/include/lib.h: Replaced __ALPHA with __alpha symbol.
7039
70402000-12-06  Werner LEMBERG  <wl@gnu.org>
7041
7042	* PROBLEMS: Added info about adding -lPW on HP-UX to satisfy the
7043	`alloca' symbol .
7044
7045	* MORE.STUFF: Added info about deroff for djgpp.
7046
7047	* tmac/an-old.tmac, tmac/groff_man.man, doc/groff.texinfo, NEWS: Fix
7048	documentation of -rcR switch.
7049
70502000-12-03  Werner LEMBERG  <wl@gnu.org>
7051
7052	* tmac/an-old.tmac: Implementing the -rcR switch (similar to mdoc);
7053	if -rcR=1 (which is now the default in nroff mode), a single, very
7054	long page is created instead of multiple pages: All `ne' and `wh'
7055	requests are put into conditionals; a new macro `an-end' is added to
7056	be called with `em'.
7057
7058	Some other minor cleanups.
7059
7060	* NEWS, tmac/groff_man.man, doc/groff.texinfo: Updated.
7061
70622000-12-02  Werner LEMBERG  <wl@gnu.org>
7063
7064	Fixing a bug which prevented hyphenation in words followed
7065	immediately by a TOKEN_NODE (e.g. `\ ', `\~', etc.).
7066
7067	* src/roff/troff/input.cc (process_input_stack <token::TOKEN_NODE>):
7068	Adding possibly_break_line().
7069	* src/roff/troff/env.h (environment): Make possibly_break_line()
7070	public.
7071
7072	Make `\~' usable in .tr request.
7073
7074	* src/roff/troff/token.h (token_type): Add TOKEN_STRETCHABLE_SPACE.
7075	(token): Add stretchable_space().
7076	* src/roff/troff/input.cc (token::next, token::delimiter,
7077	token::description, process_input_stack, do_translate,
7078	add_to_node_list, token::process): Use it.
7079	* src/roff/troff/node.h (node): Add fourth parameter to add_char()
7080	for adjusting the space.
7081	* src/roff/troff/node.cc (node::add_char): Implement it.  Add code
7082	for stretchable space.
7083	* src/roff/troff/input.cc (token::add_to_node_list): Use it.
7084	(make_node): Add code for stretchable space.
7085	* src/roff/troff/env.cc (environment::add_char): Use it.
7086	* src/roff/troff/input.cc: Add ESCAPE_TILDE special character.
7087	(get_copy, token::next, transparent_translate, asciify): Use it.
7088
7089	* NEWS, src/roff/troff/troff.man, src/roff/troff/TODO,
7090	doc/groff.texinfo: Updated.
7091	* man/groff.man: Small reorderings.
7092
70932000-11-23  Werner LEMBERG  <wl@gnu.org>
7094
7095	* NEWS: Fixes.
7096	* src/preproc/eqn/main.cc (main): Use `config_macro_path' for -M
7097	option.
7098	* src/roff/troff/input.cc (main): Add `config_macro_path' and
7099	`safer_macro_path' to -M option.
7100	* src/roff/troff/troff.man: Fixes.
7101
71022000-11-22  Werner LEMBERG  <wl@gnu.org>
7103
7104	Use safer path (except for config files) if -U isn't specified.  Add
7105	a special macro path (without home and current directory) for config
7106	files.  Add home directory to unsafe path for consistency.  Don't
7107	include the home directory in the font path.
7108
7109	* src/libs/libgroff/macropath.cc: Add `config_macro_path', change
7110	`macro_path'.
7111	* src/include/macropath.h: Add `config_macrp_path'.
7112	* src/libs/libgroff/fontfile.cc: Fix font path.
7113	* src/roff/troff/input.cc (process_startup_file): Use
7114	`config_macro_path'.
7115	(main): Select unsafe path if -U is given.
7116
7117	* src/preproc/eqn/main.cc (main): Fixing search path for
7118	configuration file.
7119	* src/preproc/eqn/eqn.man: Updated.
7120
7121	* src/roff/troff/troff.man, man/roff.man, tmac/groff_tmac.man:
7122	Updated.
7123
7124	* src/preproc/grn/grn.man, src/devices/grodvi/grodvi.man,
7125	src/devices/grohtml/grohtml.man, src/devices/grolbp/grplbp.man,
7126	src/devices/grolj4/grolj4.man, src/devices/grops/grops.man,
7127	src/devices/grotty/grotty.man: Updated.
7128
7129	* Makefile.in: Fix comments.
7130
71312000-11-17  Werner LEMBERG  <wl@gnu.org>
7132
7133	* tmac/safer.tmac: Empty file added (again) for compatibility
7134	reasons.
7135	* tmac/Makefile.sub: Updated.
7136
71372000-11-16  Werner LEMBERG  <wl@gnu.org>
7138
7139	* src/devices/grodvi/dvi.cc (main),
7140	src/devices/grohtml2/post-html.cc (main),
7141	src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
7142	(main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
7143	(main), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc
7144	(main), src/preproc/html2/pre-html.cc (main),
7145	src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main),
7146	src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc
7147	(main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc
7148	(main), src/utils/hpftodit/hpftodit.cc (main),
7149	src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc
7150	(main), src/utils/lookbib/lookbib.cc (main),
7151	src/utils/pfbtops/pfbtops.c (main), src/utils/tfmtodit/tfmtodit.cc
7152	(main): Use stdout for -v.
7153	* src/roff/groff/groff.cc (run_commands),
7154	src/roff/groff/pipeline.c (run_pipeline): New parameter `no_pipe'
7155	to make direct printing to stdout possible.
7156	* src/roff/groff/pipeline.h: Updated.
7157
7158	* src/utils/afmtodit/afmtodit.pl: Add -v switch.
7159	* src/utils/afmtodit/Makefile.sub (afmtodit): Use @VERSION@.
7160	* src/utils/afmtodit/afmtodit.man: Updated.
7161
7162	* src/utils/addftinfo/addftinfo.cc (main): Add -v switch.
7163	(version): New function.
7164	(usage): Updated.
7165	* src/utils/addftinfo/addftinfo.man: Updated.
7166
7167	* src/devices/*/*, src/preproc/*/*, src/roff/*/*, src/utils/*/*:
7168	Fixing copyright dates.
7169
7170	* src/preproc/eqn/neqn.sh: Adding GROFF_BIN_PATH to path instead of
7171	replacing it.
7172
7173	* src/devices/grolbp/lbp.cc (main): Use Version_string instead of
7174	version_string.
7175
7176	* src/roff/nroff/Makefile.sub (nroff): Fix use of @VERSION@.
7177
71782000-11-15  Werner LEMBERG  <wl@gnu.org>
7179
7180	In all programs, make -v return immediately with exit status 0 to
7181	be compliant with the GNU standard.
7182
7183	* src/devices/grodvi/dvi.cc (main),
7184	src/devices/grohtml2/post-html.cc (main),
7185	src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
7186	(main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
7187	(main) src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc
7188	(main), src/preproc/html2/pre-html.cc (main),
7189	src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main),
7190	src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc
7191	(main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc
7192	(main): Implement it.
7193	* NEWS: Updated.
7194
7195	* src/roff/groff/groff.cc (main): Add copyright notice.  Add refer
7196	and postprocessors to the -v option.
7197
7198	* src/roff/grog/grog.pl: Implement -v.
7199	* src/roff/grog/Makefile.sub (grog): Use @VERSION@.
7200	* src/roff/grog/grog.man, doc/groff.texinfo: Updated.
7201
7202	* src/roff/nroff/nroff.sh: Implement -v.
7203	* src/roff/nroff/Makefile.sub (nroff): Use @VERSION@.
7204	* src/roff/nroff/nroff.man: Updated.
7205	
7206	* src/preproc/eqn/main.cc (main): Fix comment typo.
7207
7208	* MORE.STUFF: Added info about djgpp port of grap.
7209
72102000-11-14  Werner LEMBERG  <wl@gnu.org>
7211
7212	* src/roff/grog/grog.{pl,sh}: Implemented -C switch for compatibility
7213	mode (or rather, implemented non-compatibility mode).
7214	* NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated.
7215
7216	* src/roff/groff/groff.cc (main): Add BIN_PATH to PATH instead of
7217	replacing it -- we don't find gxditview otherwise.
7218	* NEWS, src/roff/groff/groff.man, doc/groff.texinfo: Updated.
7219
7220	* src/preproc/pic/depend: Removed.  Unnecessary.
7221
7222	Implemented dummy keyword `solid' in pic for compatibility with
7223	AT&T pic.
7224
7225	* lex.cc (lookup_keyword): Added `solid'.
7226	* pic.y: Added SOLID with dummy rule.
7227	* pic.cc, pic_tab.h: Regenerated.
7228	* doc/pic.ms: Updated.
7229
72302000-11-13  Werner LEMBERG  <wl@gnu.org>
7231
7232	For security reasons, don't use the current directory but the home
7233	directory while searching and scanning troffrc and troffrc-end.
7234	Similarly, replace the current directory with the home directory
7235	in the font path.
7236
7237	* Makefile.in (fontpath, tmacpath): Remove current directory.
7238
7239	* src/libs/libgroff/searchpath.cc (search_path::search_path): Add
7240	two parameters `add_home' and `add_current'.
7241	(search_path::~search_path, search_path::command_line_dir,
7242	search_path::open_file): Remove tests for `dirs' being zero.
7243	* src/include/searchpath.h: Adjust.
7244	* src/libs/libgroff/macropath.cc, src/include/macropath.h: Add
7245	`safer_macro_path'.
7246	* src/libs/libgroff/fontfile.cc: Adjust `font_path'.
7247
7248	* src/roff/troff/troff.h: Add `searchpath.h' and `mac_path'.
7249	* src/roff/troff/input.cc: Use `mac_path', initialized with
7250	`macro_path'.
7251	(process_startup_file): Set `mac_path' to `safer_macro_path'.
7252	* src/roff/troff/env.cc: Use `mac_path'.
7253
7254	* src/preproc/eqn/main.cc (main): Use `safer_macro_path'.
7255
7256	* NEWS, man/roff.man, src/roff/troff/troff.man,
7257	src/roff/groff/groff.man, tmac/groff_tmac.man, arch/djgpp/README:
7258	Updated.
7259
72602000-11-12  Werner LEMBERG  <wl@gnu.org>
7261
7262	* src/include/lib.h: Don't include groff-getopt.h for OSF/1.
7263
7264	* aclocal.m4 (GROFF_SYS_ERRLIST): Do test in C, not in C++.
7265	* configure.in: Fix typo in comment.
7266	* configure: Regenerated.
7267
7268	* src/libs/libgroff/*, src/include/*, src/roff/troff/*: Fixing
7269	copyright dates.
7270
72712000-11-08  Werner LEMBERG  <wl@gnu.org>
7272
7273	Add system tmac directory (/usr/local/lib/groff/site-tmac).
7274
7275	* Makefile.in: Add $(libdir), $(libprogramdir), and $(systemtmacdir).
7276	(uninstall_dirs): Add $(libdir), $(libprogramdir), and
7277	$(systemtmacdir).
7278	Use @libdir@.
7279	* Makefile.comm (.man.n): Add @SYSTEMMACRODIR@.
7280	* tmac/Makefile.sub (install_data): Create
7281	$(systemtmacdir) and $(localtmacdir).
7282	(uninstall_sub): Use $(systemtmacdir) for wrapper macros.
7283	* man/roff.man, src/roff/troff/troff.man, src/roff/groff/groff.man,
7284	NEWS, doc/groff.texinfo: Updated and minor fixes.
7285
7286	* Makefile.comm, Makefile.in: Added tmac_{s,an}_prefix stuff again.
7287	* tmac/Makefile.sub: Added `wrap' stuff again, but installing into
7288	$(systemtmacdir) since the wrapper files are platform-dependent.
7289
72902000-11-01  Werner LEMBERG  <wl@gnu.org>
7291
7292	* doc/groff.texinfo: Fix typo.
7293
72942000-10-26  Werner LEMBERG  <wl@gnu.org>
7295
7296	Convert macros `tmac.XXX' to `XXX.tmac'.  Special cases:
7297	  tmac.doc.old -> doc-old.tmac
7298	  tmac.an.old  -> an-old.tmac
7299
7300	* tmac/tmac.*: Moved to ...
7301	* tmac/*.tmac: this.
7302	* tmac/man.local: Fix comment.
7303	* tmac/groff_man.man, tmac/groff_markup.man, tmac/groff_mdoc.man,
7304	tmac/groff_me.man, tmac/groff_ms.man, tmac/groff_tmac.man: Updated. 
7305	Added some `FILES' sections.  More use of @...@ directives.  Other
7306	minor updates.
7307	* arch/djgpp/README, font/devutf8/NOTES: Updated.
7308	* doc/homepage.ms, doc/groff.texinfo: Updated.
7309	* man/groff.man, man/roff.man: Updated.
7310	* src/devices/grodvi/grodvi.man, src/devices/grolbp/grolbp.man,
7311	src/devices/grolj4/grolj4.man, src/devices/grops/grops.man,
7312	src/devices/grotty/grotty.man: Updated.
7313	* src/preproc/pic/pic.man: Updated.
7314	* src/roff/grog/grog.pl, src/roff/grog/grog.sh: Use -mdoc-old
7315	instead of -mdoc.old.
7316	* src/roff/grog/grog.man: Document -mdoc and -mdoc-old.
7317	* src/roff/nroff/nroff.man: Updated.
7318	* NEWS: Updated.
7319
7320	* tmac/fixmacros.sed, tmac/strip.sed: Add explanatory comment.
7321
7322	* tmac/mm.diff: Removed -- it has no use now since the mm package
7323	is part of groff.
7324
7325	* tmac/*: Removed trailing spaces.
7326
7327	* arch/djgpp/t-groff.bat: Fix GROFF_TMAC_PATH (hyphen.us is now in
7328	the tmac subdirectory also).
7329
7330	* Makefile.comm, Makefile.in: Remove tmac_{s,an}_prefix stuff.
7331	* tmac/Makefile.sub: Adapted to new macro names; removed `wrap'
7332	stuff since it is no longer needed.
7333
7334	* README, PROBLEMS: Updated.
7335
73362000-10-25  Werner LEMBERG  <wl@gnu.org>
7337
7338	Invert current behaviour: Search first FOOBAR.tmac, then
7339	tmac.FOOBAR.
7340
7341	* src/roff/troff/input.cc: Introduce MACRO_POSTFIX.
7342	(open_mac_file, macro_source): Implement it.
7343	* src/roff/troff/troff.man, tmac/groff_tmac.man, man/roff.man,
7344	doc/groff.texinfo, NEWS: Document it.
7345
7346	* src/roff/nroff/nroff.man, src/roff/groff/groff.man, man/groff.man:
7347	Small documentation improvements.
7348
7349	* test-groff: Fix GROFF_TMAC_PATH (hyphen.us is now in the tmac
7350	subdirectory also).
7351
7352	* font/devps/Makefile.sub: Fix rules for dingbats.*map.
7353
73542000-10-24  Werner LEMBERG  <wl@gnu.org>
7355
7356	Add local tmac directory (groff/site-tmac).
7357
7358	* Makefile.in: Add $(localtmacdir).
7359	(uninstall_dirs): Add $(localtmacdir).
7360	* Makefile.comm (.man.n): Add @LOCALMACRODIR@.
7361	* tmac/Makefile.sub (install_data, uninstall_sub): Handle man.local
7362	in $(localtmacdir).  Create $(localtmacdir).
7363	* man/roff.man, src/roff/troff/troff.man, NEWS, doc/groff.texinfo:
7364	Updated and minor fixes.
7365
7366	Rename font/devps/generate/dingbats[r]map to dingbats.[r]map.
7367
7368	* font/devps/generate/Makefile.sub, arch/djgpp/README: Adjust.
7369
73702000-10-23  Werner LEMBERG  <wl@gnu.org>
7371
7372	Move hyphen.us to tmac directory.
7373
7374	* src/roff/troff/hyphen.us: Removed.
7375	* src/tmac/hyphen.us: Added.
7376	* src/roff/troff/Makefile.sub, tmac/Makefile.sub: Updated.
7377
7378	Change installation structure for data files from .../groff/... to
7379	.../groff/<version><revision>/... to be conform with other GNU
7380	programs.
7381
7382	* Makefile.in, Makefile.comm, src/utils/indxbib/Makefile.sub,
7383	doc/Makefile: Implement it.
7384	* aclocal.m4 (GROFF_PAGE): Add test for new directory structure.
7385	* configure: Updated.
7386	* arch/djgpp/README, font/devutf8/NOTES: Use it.
7387	* NEWS: Document it.
7388	* man/roff.man, tmac/groff_tmac.man: Use @FONTPATH@, @FONTDIR@, and
7389	@MACRODIR@ instead of hard-coded directories.
7390
73912000-10-22  Werner LEMBERG  <wl@gnu.org>
7392
7393	Implement $GROFF_BIN_PATH environment variable (which defaults to
7394	$bindir) used for child programs of groff and similar wrappers.
7395
7396	* gendefs.sh: Improve documentation.
7397	* Makefile.comm (,man.n), src/include/Makefile.sub (defs.h),
7398	src/preproc/eqn/Makefile.sub (neqn),
7399	src/roff/nroff/Makefile.sub (nroff): Add $(bindir).
7400	* src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Implement
7401	$GROFF_BIN_PATH.
7402	* src/roff/groff/groff.cc (main): Implement $GROFF_BIN_PATH and
7403	$GROFF_PATH__ (the latter for communication with troff).
7404	* src/roff/troff/input.cc (main): Use $GROFF_PATH__ for $PATH if
7405	set.
7406	* NEWS, src/roff/nroff/nroff.man, src/roff/groff/groff.man,
7407	doc/groff.texinfo: Document it.
7408
7409	* doc/groff.texinfo: Improve documentation of troff's -a option.
7410
74112000-10-17  Gaius Mulley  <gaius@glam.ac.uk>
7412
7413	* src/roff/troff/node.cc: Fixed calculation of opminx and fixed
7414	non-intrusive eol marker.
7415	(troff_output_file::determine_line_limits): New function.
7416	(troff_output_file::draw): Use it.
7417	* src/roff/troff/env.cc (environment::add_html_tag): Use output() +
7418	output_pending_lines() instead of output_line().
7419	* src/preproc/eqn/main.cc (do_file): Fix graphic_end().
7420	* src/preproc/html2/pre-html.cc (char_buffer::write_file_troff,
7421	createImage): Small fixes.
7422	
74232000-10-14  Werner LEMBERG  <wl@gnu.org>
7424
7425	Replace tmac.safer with a real secure solution.
7426
7427	* src/roff/troff/input.cc (open_request, opena_request, pipe_source,
7428	system_request, pipe_output): Disable requests if in safer mode.
7429	* src/roff/groff/groff.cc (main): Remove reference to tmac.safer.
7430	* tmac/tmac.safer, tmac/groff_msafer.man: Removed.
7431	* tmac/Makefile.sub, NEWS, man/roff.man, tmac/groff_tmac.man,
7432	doc/groff.texinfo, src/roff/groff/groff.man,
7433	src/roff/troff/troff.man, arch/djgpp/README: Updated.
7434
7435	* src/devices/grops/ps.cc (main), src/devices/grops/psrm.cc
7436	(resource_manager::output_prolog): Replace setenv() with putenv().
7437
74382000-10-09  Werner LEMBERG  <wl@gnu.org>
7439
7440	* src/libs/libbib/map.c, src/libs/libgroff/getcwd.c,
7441	src/libs/libgroff/strtol.c, src/preproc/html2/image.cc,
7442	src/preproc/html2/pre-html.cc, src/preproc/html2/pushbackbuffer.cc,
7443	src/roff/groff/pipeline.c: Removing `#ifndef errno' to avoid
7444	compilation errors with some compilers.  It seems that this code
7445	is no longer necessary -- if yes, it is easy to add some #ifdef's
7446	for that particular old-fashioned compiler.
7447
7448	* MORE.STUFF: Added info about Meta-tbl.
7449
7450	* doc/groff.texinfo: Added more info about `.if "..."..."'.
7451
74522000-10-07  Werner LEMBERG  <wl@gnu.org>
7453
7454	Adding a new escape sequence \B'...': If the string between
7455	the delimiters is a valid numeric expression, return the character
7456	`1', and `0' otherwise.  This is an analogon to \A.
7457
7458	* src/roff/troff/input.cc (do_expr_test): Implement it.
7459	(token::next): Use it.
7460	* src/roff/troff/troff.man, NEWS, man/groff.man: Document it.
7461
7462	* tmac/tmac.trace: Made independent from escape character.
7463
74642000-10-06  Werner LEMBERG  <wl@gnu.org>
7465
7466	Adding a new request .dei: define indirect.  The first and second
7467	parameter of .dei are taken from string registers instead directly;
7468	this very special request is needed to make tmac.trace independent
7469	from the escape character (which might even be disabled).
7470
7471	* src/roff/troff/input.cc (do_define_macro): Implement it.
7472	(define_macro_indirect): New function.
7473	(init_input_requests): Use it.
7474
7475	Adding two requests .ecs and .ecr: Save and restore the escape
7476	character.  These two requests are needed to make tmac.trace
7477	independent from the escape character (which might even be
7478	disabled).
7479
7480	* src/roff/troff/input.cc (save_escape_char, restore_escape_char):
7481	Implement it.
7482	(init_input_requests): Use it.
7483
7484	* src/roff/troff/troff.man, NEWS, man/groff.man: Updated.
7485
74862000-09-22  Ricardo Soares Guimar�es  <ricardo@conectiva.com.br>
7487
7488	Adding a new option -P and new environment variable GROPS_PROLOGUE
7489	to grops, selecting a different prologue file (minor modifications
7490	by WL).
7491
7492	* src/devices/grops/psrm.cc (resource_manager::output_prolog),
7493	src/devices/grops/ps.cc (main): Implement it.
7494	* src/devices/grops/grops.man, NEWS: Document it.
7495
74962000-09-22  Werner LEMBERG  <wl@gnu.org>
7497
7498	* INSTALL: Add info about selecting paper format.
7499
75002000-09-21  Werner LEMBERG  <wl@gnu.org>
7501
7502	* src/roff/troff/input.cc (main): Fixing compiler warning.
7503	* src/include/{driver.h, lib.h}: Move inclusion of string.h and
7504	strings.h from the former to the latter.
7505	* src/devices/grolbp/lpb.cc, src/include/lib.h: Move strncasecmp()
7506	stuff from the former to the latter.
7507
75082000-09-11  Werner LEMBERG  <wl@gnu.org>
7509
7510	Implementing two new requests .tm1 and .tmc: The former is similar
7511	to .tm but can output leading spaces; its syntax is similar to
7512	defining a string, i.e., a `"' can be used to mark the beginning of
7513	the string to be written to stderr: `.tm1 " test'.  The latter is
7514	similar to .tm1 but doesn't write out a final newline character.
7515
7516	* src/roff/troff/input.cc (terminal1, terminal_continue,
7517	do_terminal): New functions.
7518	(init_input_requests): Use them.
7519	* src/roff/troff/troff.man, NEWS, man/groff.man: Updated.
7520
75212000-09-09  Werner LEMBERG  <wl@gnu.org>
7522
7523	* tmac/groff_mdoc.samples.man: Small fixes.
7524
75252000-09-08  Werner LEMBERG  <wl@gnu.org>
7526
7527	* tmac/groff_mdoc.man: Fixing typo.
7528
75292000-09-02  Werner LEMBERG  <wl@gnu.org>
7530
7531	Implementing a .nop request which does nothing.
7532
7533	* src/roff/troff/input.cc (nop_request): New function.
7534	(init_input_requests): Use it.
7535	* src/roff/troff/troff.man, NEWS, man/groff.man: Updated.
7536
75372000-09-01  Werner LEMBERG  <wl@gnu.org>
7538
7539	* doc/groff.texinfo: Added some comments.
7540
75412000-08-30  Werner LEMBERG  <wl@gnu.org>
7542
7543	* src/roff/troff/TODO: Updated.
7544
75452000-08-25  Werner LEMBERG  <wl@gnu.org>
7546
7547	* doc/groff.texinfo: Fix comment how to compile the DVI file.
7548
75492000-08-25  Eli Zaretskii  <eliz@is.elta.co.il>
7550
7551	* font/devps/generate/Makefile (SHELL): Define explicitly to
7552	"/bin/sh", for non-Unix platforms.
7553	(extraclean): Use a more portable "" quoting instead of a
7554	backslash (which doesn't work on DOS/Windows).
7555	
7556	* font/devlj4/generate/Makefile (extraclean): Ditto.
7557
7558	* font/devdvi/generate/Makefile (extraclean): Ditto.
7559
75602000-08-25  Werner LEMBERG  <wl@gnu.org>
7561
7562	* NEWS, doc/groff.texinfo, tmac/groff_tmac.man, man/roff.man,
7563	src/roff/troff/troff.man: Document Eli's latest changes.
7564
75652000-08-25  Eli Zaretskii  <eliz@is.elta.co.il>
7566
7567	* src/roff/troff/input.cc (open_mac_file, macro_source): Support
7568	macro file names of the form NAME.tmac as well as tmac.NAME.
7569
75702000-08-25  Werner LEMBERG  <wl@gnu.org>
7571
7572	* src/include/posix.h: Remove definition of FILENAME_MAX.
7573
7574	* src/preproc/html2/pre-html.h, pre-html.cc: Add return type to
7575	`sys_fatal' and `stop' function().
7576
7577	* test-groff: Updated.
7578
75792000-08-24  Gaius Mulley  <gaius@glam.ac.uk>
7580
7581	Added the new troff command .output <arg> to suppress output (while
7582	still obeying motion) and also the opminx, opminy, opmaxx, opmaxy
7583	registers (for passing the output dimensions to the output device).
7584
7585	* src/roff/troff/div.cc (top_level_diversion::output): Use `width'
7586	parameter.
7587	* src/roff/troff/node.h, src/roff/troff/node.cc
7588	(troff_output_file::really_print_line,
7589	ascii_output_file::really_print_line,
7590	supress_output_file::really_print_line): Use `width' parameter.
7591	(troff_output_file::really_on, troff_output_file::really_off,
7592	output_file::on, output_file::off, real_output_file::on,
7593	real_output_file::off, real_output_file::really_on,
7594	real_output_file::really_off): New functions.
7595	(real_output_file:public output_file): New variable `output_on'.
7596	(real_output_file::begin_page, real_output_file::copy_file,
7597	real_output_file::transparent_char, real_output_file::print_line):
7598	Use it.
7599	(real_output_file::print_line): Use check_output_limits.
7600	* src/roff/troff/reg.h, src/roff/troff/request.h,
7601	src/roff/troff/input.cc (assign_registers): New function to remove
7602	two `goto's.
7603	(do_ps_file): Use it.
7604	(check_output_limits, reset_output_registers, output_request,
7605	init_output_requests): New functions.
7606	(init_input_requests): Updated.
7607
7608	Added new grohtml2 device and html2 preprocessor (coding
7609	not yet finished) which will eventually replace grohtml.
7610
7611	* Makefile.in, tmac/Makefile.sub, tmac/eqnrc, tmac/troffrc-end:
7612	Updated.
7613	* src/include/htmlindicate.h, src/include/htmlindicate
7614	(html_begin_suppress, html_end_suppress): New functions.
7615	* src/preproc/tbl/main.cc: Use it.
7616	* src/roff/groff/groff.cc: Add support for html2 device (which will
7617	automatically invoke the html2 preprocessor).
7618	* src/roff/troff/input.cc (is_html2): New variable.
7619	* src/roff/troff/troff.h, src/roff/troff/env.h,
7620	src/roff/troff/env.cc (environment::add_html_tag): New function
7621	(uses `is_html2').
7622	(environment::do_break): Use it.
7623	* font/devhtml2/*: New files.
7624	* src/devices/grohtml2: New device.
7625	* src/preproc/html2: New preprocessor.
7626	* tmac/tmac.html-tags, tmac/tmac.html2: New files.
7627
76282000-08-23  Werner LEMBERG  <wl@gnu.org>
7629
7630	* src/devices/grolbp/lbp.cc: Same workaround for sinix as for AIX.
7631
76322000-08-22  Werner LEMBERG  <wl@gnu.org>
7633
7634	* src/include/lib.h: Provide a fix for IRIX to not include
7635	groff-getopt.h.
7636
76372000-08-18  Werner LEMBERG  <wl@gnu.org>
7638
7639	* configure.in: Don't provide an empty value for SH_SCRIPT_SED_CMD
7640	since some non-GNU sed programs can't handle null regexps.
7641	* configure, src/preproc/eqn/Makefile.sub,
7642	src/roff/grog/Makefile.sub, src/roff/nroff/Makefile.sub: Updated.
7643
7644	* src/devices/grolbp/lbp.cc: Add an AIX workaround for an autoconf
7645	bug (string.h and strings.h are both needed according to latest
7646	POSIX standard).
7647
7648	* MORE.STUFF: Added info about unroff and troffcvt.
7649
76502000-08-08  Werner LEMBERG  <wl@gnu.org>
7651
7652	* tmac/tmac.a4: Will now work with ms macros also; -ma4 should be
7653	used before -ms.
7654
7655	* tmac/tmac.man.old: Remove unused number register.
7656
7657	* tmac.doc: Minor documentation fix.
7658
76592000-08-07  Paul Eggert  <eggert@twinsun.com>
7660
7661	* src/roff/groff/pipeline.c (is_system_shell):
7662	Fix typo: "monocased_shell" no longer exists.
7663
76642000-08-07  Paul Eggert  <eggert@twinsun.com>
7665
7666	Remove FILENAME_MAX limits.
7667
7668	* src/roff/groff/pipeline.c (is_system_shell): Do not assume
7669	that the argument length is less than FILENAME_MAX.
7670	* src/libs/libgroff/tmpfile.cc (add_tmp_file): Likewise.
7671	Use struct hack to allocate and free file name.
7672	(struct xtmpfile_list): fname is now part of the structure,
7673	not a pointer to another string.
7674
76752000-08-07  Tom Schmidt  <tschmidt@micron.com>
7676
7677	* src/include/posix.h: Add a default value for FILENAME_MAX.
7678
76792000-08-06  Paul Eggert  <eggert@twinsun.com>
7680
7681	Add support for new BSD-style man pages (with ".Dd" instead of
7682	".TH"), so that "groff -man" understands both styles, even
7683	when running "groff -man" on a host whose system man page
7684	macros don't support ".Dd".
7685
7686	* tmac/Makefile.sub (NORMALFILES): Add tmac.an.old.
7687	(stamp-wrap): Source tmac.andoc first when wrapping man macros,
7688	in case the system man macros don't define Dd or TH.
7689
7690	* tmac/tmac.an.old: Renamed from tmac/tmac.an.
7691	* tmac/tmac.an: New one-line file.
7692	* tmac/tmac.andoc (TH): Adjust to the tmac.an.old file renaming.
7693
76942000-08-06  Werner LEMBERG  <wl@gnu.org>
7695
7696	* src/roff/troff/troff.man: Fixing typos.
7697
7698Version 1.16.1 released
7699=======================
7700
77012000-07-31  Werner LEMBERG  <wl@gnu.org>
7702
7703	Preparing release 1.16.1.
7704
7705	* REVISION: Revision number set to 1.
7706	* MORE.STUFF: Added info about port to DOS.
7707	* NEWS, win32-diffs: Updated.
7708
7709	* src/include/nonposix.h: Remove first line -- this file is used
7710	in C also.
7711
7712	* Makefile.in (dist): Delete Imakefile earlier to avoid a soft
7713	link to it.
7714
77152000-07-30  Werner LEMBERG  <wl@gnu.org>
7716
7717	* doc/texinfo.tex: Update to latest version.
7718
77192000-06-28  Paul Eggert  <eggert@twinsun.com>
7720
7721	* Makefile.in (ENVSETUP): Don't assume POSIX make semantics for
7722	commands that fail.  Don't assume that "export a=b" is valid shell
7723	syntax.  This is needed for Solaris 2.5.1.
7724
7725	* src/libs/libgroff/tmpfile.cc, src/utils/indxbib/indxbib.cc: Fix
7726	comment about missing Solaris headers.
7727
7728	* PROBLEMS: Add section about problems with Sun Make and VPATH.
7729
77302000-06-25  Werner LEMBERG  <wl@gnu.org>
7731
7732	* src/devics/grodvi/dvi.cc: Replace _setmode() (for MSC) with
7733	SET_BINARY().
7734
7735	* src/include/posix.h: Use HAVE_UNISTD instead of _MSC_VER.
7736
7737	* win32-diffs: Updated.
7738	* README.WIN32: Added CRs to make all Windows editors happy.
7739
7740	* src/roff/troff/node.cc: Added WIFSIGNALED() macro (copied from
7741	src/roff/groff/pipeline.c).
7742
77432000-06-23  Eli Zaretskii  <eliz@is.elta.co.il>
7744
7745	* src/roff/grog/Makefile.sub (grog): Prepend `-e' to
7746	$(SH_SCRIPT_SED_CMD), for the case where its value is empty.
7747
77482000-06-17  Eli Zaretskii  <eliz@is.elta.co.il>
7749
7750	* src/utils/tfmtodit/tfmtodit.cc: #include nonposix.h.
7751	(tfm::load, gf::load): Open tfm and gf files in binary mode: these
7752	are binary files.
7753	(main): Support non-Posix systems with several different styles of
7754	slash characters in file names.
7755
7756	* src/utils/pfbtops/pfbtops.c: #include nonposix.h.
7757	(main) [SET_BINARY]: Switch stdin into binary mode.
7758
7759	* src/utils/indxbib/indxbib.cc: #include nonposix.h.
7760	(main): Support file names with several possible slash-type
7761	characters, as given by DIR_SEPS[] in nonposix.h.
7762	(main) [__MSDOS__]: If renaming the temporary index file fails
7763	because it has more than one dot in its trunk, replace the dot
7764	with an underscore and try again.
7765	(do_file): Use FOPEN_RB instead of "r".  Skip every CR before a
7766	Newline.
7767	[__MSDOS__ || _MSC_VER]: Stop at the first ^Z character.
7768
7769	* src/utils/hpftodit/hpftodit.cc: #include nonposix.h.
7770	(File::File): Open the input file in binary mode.  Strip CR
7771	characters from each CR-LF pair.
7772	(xbasename): Support file names with several possible slash-type
7773	characters, as given by DIR_SEPS[] in nonposix.h.
7774
7775	* src/include/Makefile.sub (HDRS): Add nonposix.h.
7776
7777	* src/roff/troff/node.cc [HAVE_UNISTD_H]: Include <unistd.h>.
7778	(WIFEXITED, WEXITSTATUS, WTERMSIG, WIFSTOPPED, WSTOPSIG)
7779	[!_POSIX_VERSION]: Define for traditional Unix systems.
7780	(real_output_file::real_output_file): Remove the MSVC-specific
7781	call to popen, use instead POPEN_WT, appropriately defined on
7782	nonposix.h.  #include nonposix.h.
7783	(real_output_file::~real_output_file): Remove the MSVC-specific
7784	call to pclose, a suitable macro is now defined on nonposix.h.
7785	Use the portable macros WIFEXITED, WIFSIGNALED, WTERMSIG, WSTOPSIG
7786	and WEXITSTATUS instead of assuming traditional Unix
7787	interpretation of the status returned by pclose.
7788
7789	* src/roff/troff/input.cc (pipe_source): Remove the MSVC-specific
7790	call to popen, use POPEN_RT instead (appropriately defined on
7791	nonposix.h).  #include nonposix.h.
7792	(ps_bbox_request): Open the PostScript file in binary mode.
7793	Close the file after processing it.
7794	(getpid) [_MSC_VER]: Remove; a suitable macro is now defined on
7795	nonposix.h.
7796
7797	* src/roff/groff/pipeline.c (run_pipeline) [__MSDOS__ || _WIN32]:
7798	A version of run_pipeline that doesn't use `fork'.
7799	(signal_catcher) [__MSDOS__ || _WIN32]: New function.
7800	(system_shell_name, system_shell_dash_c)
7801	(is_system_shell) [__MSDOS__ || _WIN32]: New functions, to hide
7802	the ugliness of testing DOS/Windows file names for equality, and
7803	support both stock shells and ports of Unix shells.
7804
7805	* src/roff/groff/groff.cc: #include nonposix.h.
7806	(BSHELL): Definition moved to nonposix.h.
7807	(main): Use PATH_SEP[0] instead of literal ':'.  Use BSHELL_DASH_C
7808	instead of a literal "-c".
7809	(xbasename): Support file names with several possible slash-type
7810	characters, as given by DIR_SEPS[] in nonposix.h.
7811	(possible_command::print): Use BSHELL_DASH_C and IS_BSHELL instead
7812	of literal strings.
7813
7814	* src/preproc/soelim/soelim.cc: #include nonposix.h.
7815	(do_file): Use IS_ABSOLUTE instead of testing for a literal '/'.
7816
7817	* src/preproc/pic/Makefile.sub (YTABH): Change pic.tab.h to
7818	pic_tab.h.
7819
7820	* src/preproc/pic/lex.cc: Change pic.tab.h to pic_tab.h.
7821
7822	* src/preproc/eqn/Makefile.sub (YTABH): Rename eqn.tab.h to
7823	eqn_tab.h.
7824
7825	* src/preproc/eqn/lex.cc: #include eqn_tab.h, not eqn.tab.h.
7826
7827	* src/libs/libgroff/tmpfile.cc (DEFAULT_TMPDIR) [P_tmpdir]: If
7828	P_tmpdir is defined, use it instead of the literal "/tmp".
7829	(remove_tmp_files, add_tmp_file): New functions.
7830	(xtmpfile): Record temporary files and register an atexit function
7831	to delete them explicitly, instead of relying on the OS to do
7832	that, which doesn't work on non-Unix systems.
7833
7834	* src/libs/libgroff/searchpath.cc: #include nonposix.h.
7835	(search_path::search_path): Use PATH_SEP instead of a literal
7836	colon.
7837	(search_path::command_line_dir): Ditto.
7838	(search_path::open_file): Use IS_ABSOLUTE, PATH_SEP and DIR_SEPS,
7839	to support non-Posix systems.
7840
7841	* src/libs/libbib/search.cc: #include nonposix.h.
7842	(search_list::add_file): Open the file in binary mode.
7843
7844	* src/libs/libbib/linear.cc: #include nonposix.h.
7845	(file_buffer::load): Remove \r characters preceding \n from the
7846	loaded buffer.
7847
7848	* src/libs/libbib/index.cc: #include nonposix.h.
7849	(make_index_search_item): Open index_filename in O_BINARY mode.
7850	(index_search_item_iterator::get_tag): Ditto.  Remove \r
7851	characters before \n characters.
7852	(index_search_item::check_files): Open files in binary mode.
7853	(index_search_item::munge_filename): Support DOS-style file names
7854	with backslashes and drive letters, use IS_ABSOLUTE.
7855
7856	* src/devices/grops/ps.cc: #include nonposix.h.
7857	(main) [SET_BINARY]: Switch stdout to binary mode.
7858
7859	* src/devices/grolj4/lj4.cc: #include nonposix.h.
7860	(main) [SET_BINARY]: Switch stdout to binary mode.
7861
7862	* src/devices/grolbp/lbp.cc: #include nonposix.h
7863	(fill_pattern) [SET_BINARY]: Switch stdout to binary mode.
7864
7865	* src/devices/grodvi/dvi.cc: #include nonposix.h.
7866	[_MSC_VER]: Remove inclusion of Windows-specific headers (done by
7867	nonposix.h).
7868	(main) [SET_BINARY]: Switch stdout to binary mode.
7869	[_MSC_VER]: Remove an explicit call to _setmode.
7870
7871	* src/include/nonposix.h: New file.
7872
7873	* Makefile.in (ENVSETUP): New variable, to set up case-sensitive
7874	operation when building with DJGPP.
7875	($(TARGETS), dot, $(LIBDIRS), $(CPROGDIRS), $(CCPROGDIRS))
7876	($(DEVDIRS), $(TTYDEVDIRS), $(INCDIRS), $(OTHERDIRS)): Use
7877	ENVSETUP.
7878
7879	* Makefile.comm: mv y.tab.[ch] to y_tab.[ch], to make it work on
7880	MS-DOS.
7881	(.man.n): Replace `;' with `|', since FONTPATH, MACROPATH,
7882	etc. can include a semi-colon on DOS/Windows.
7883	(depend.temp): Use depend1.temp instead of depend.temp1, to
7884	prevent files from overerwiting each other on 8+3 filesystems.
7885
7886	* gendef.sh (t): Change definition to work with DOS/Windows.
7887
7888	doc/groff.texinfo: Apart of some typo corrections, I also changed
7889	some index entris, to make them more non-ambiguous, and also put
7890	@ignore around some parts that are not yet written, to allow the
7891	Info output be readable.
7892
78932000-06-10  Gael Queri  <gqueri@mail.dotcom.fr>
7894
7895	Replaced specific checks for function declarations with a generic
7896	routine taken from GNU bfd.
7897
7898	* aclocal.m4 (GROFF_NEED_DECLARATION): New function.
7899	GROFF_PUTENV, GROFF_POPEN, GROFF_PCLOSE, GROFF_HYPOT: Removed.
7900	* configure.in: Use it.
7901	* src/devices/grolbp/lbp.cc, src/include/lib.h,
7902	src/preproc/grn/hgraph.cc, src/preproc/pic/pic.h,
7903	src/roff/groff/groff.cc: Use it.
7904	* Makefile.in, configure: Updated.
7905
79062000-06-07  Paco Andr�s Verd�  <pandres@dragonet.es>
7907
7908	* src/devides/grolbp/lbp.h: Removed unused variables.
7909
79102000-05-31  Keith Thompson  <kst@sdsc.edu>
7911
7912	* src/devices/grolbp/lbp.cc (set_papersizes): Add declaration of
7913	strncasecmp().
7914
79152000-05-31  Werner LEMBERG  <wl@gnu.org>
7916
7917	* aclocal.m4 (GROFF_SRAND): New function to test the return value
7918	of srand() -- at least SunOS 4.1.3 uses `int' instead of `void'.
7919	* configure.in: Use it.
7920	* src/preproc/pic/pic.y, src/preproc/pic/pic.cc: Use it.
7921	* configure, Makefile.in: Updated.
7922
7923	* configure.in: Add test for strncasecmp().
7924	* src/include/lib.h: Use it.
7925
79262000-05-29  Andrej Borsenkow  <Andrej.Borsenkow@mow.siemens.ru>
7927
7928	* src/preproc/grn/Makefile.sub: Add MLIB.
7929
79302000-05-29  Nix  <nix@esperi.demon.co.uk>
7931
7932	* Makefile.in: Use @datadir@ and @mandir@ appropriately.
7933
79342000-05-29  Werner LEMBERG  <wl@gnu.org>
7935
7936	* src/roff/grog/Makefile.sub, src/roff/grog/grog.sh: Add `@g@'.
7937
7938	* PROBLEMS: Small update.
7939
7940	* src/devices/grolbp/lbp.cc: Various small fixes.
7941
79422000-05-28  Keith Thompson  <kst@sdsc.edu>
7943
7944	* src/roff/nroff/nroff.sh: Fix main loop syntax.
7945
7946	* src/utils/indxbib/indxbib.cc: Add declaration of mkstemp().
7947
79482000-05-25  Werner LEMBERG  <wl@gnu.org>
7949
7950	* man/roff.man: Removed unused macro.
7951
79522000-05-24  Werner LEMBERG  <wl@gnu.org>
7953
7954	* Makefile.in (dist): Remove src/xditview/Imakefile explicitly. 
7955	This is needed e.g. if you do
7956	`make distclean; ./configure; make dist'.
7957
7958Version 1.16 released
7959=====================
7960
79612000-05-23  Werner LEMBERG  <wl@gnu.org>
7962
7963	Adding font CWI (constant width italic) to devdvi.
7964
7965	* font/devdvi/CWI: New file.
7966	* font/devdvi/generate/Makefile: Add generating rule.
7967	* font/devdvi/DESC.in, font/devdvi/Makefile.sub, win32-diffs,
7968	tmac/tmac.dvi: Use it.
7969	* NEWS: Announce it.
7970
7971	* font/devlj4/*: Regenerated (only adding kernings for `cq' glyph).
7972	* font/devlj4/generate/Makefile: Cosmetic changes only.
7973
7974	* man/groff.man: Removed most of the redundant description of
7975	special characters (which is in groff_char.man).  Added font
7976	translation CB->CR for devdvi.  Other minor fixes.
7977
7978	* tmac/tmac.dvi: Improved appearance of \(co (copyright) and \(rg
7979	(registered) symbols.
7980
79812000-05-22  Werner LEMBERG  <wl@gnu.org>
7982
7983	* doc/Makefile: Added rule for creating info files.
7984
7985	* font/devdvi/*: Added kernings for `cq' glyph.  Updated to latest
7986	AMS font metrics.
7987	* font/devdvi/generate/Makefile: Fixed dependencies.
7988
7989	* font/devps/*: Regenerated.  Heavy changes for Bookman and
7990	NewCentury Schoolbook!
7991	* font/devps/generate/afmname: Will now run with GNU awk.
7992	* font/devps/generate/textmap: Added forgotten `cq' glyph name.
7993	* font/devps/generate/Makefile: Cosmetic changes only.
7994
79952000-05-21  Werner LEMBERG  <wl@gnu.org>
7996
7997	* tmac/tmac.an: Added a new command line option `-rSxx' (`xx' can be
7998	10, 11, or 12) to support output with 11pt and 12pt base font sizes. 
7999	`.SS' now produces a heading with a smaller size than `.SH'. 
8000	Completely formatted.
8001	* doc/groff.texinfo, tmac/groff_man.man, NEWS: Document it.
8002
8003	* man/groff.man: Improved table appearance.  Use of `eo' request
8004	to reduce number of doubled backslashes in macro definitions.
8005	Replacing `\e' with `\(rs'.  Other minor fixes.
8006
8007	* src/preproc/tbl/main.cc: Insert HTML table end tag before `lf'
8008	to have correct line number.
8009
8010	* INSTALL: Small improvement.
8011
80122000-05-20  Bernd Warken  <bwarken@mayn.de>
8013
8014	* man/roff.man, tmac/groff_tmac.man: Updates (with corrections by
8015	WL).
8016
80172000-05-19  Bernd Warken  <bwarken@mayn.de>
8018
8019	* man/groff.man: Complete update (with a lot of corrections by WL).
8020
80212000-05-18  Werner LEMBERG  <wl@gnu.org>
8022
8023	Adding `cq' (PS name `quoteright') glyph name as an alias for "'".
8024
8025	* font/*/*: Implement it.
8026	* man/groff_char.man, NEWS: Document it.
8027
8028	* src/include/unix.h: Removed.  It isn't used.
8029
8030	* doc/groff.texinfo: Slight improvements.
8031
80322000-05-17  Werner LEMBERG  <wl@gnu.org>
8033
8034	* README, win32-diffs: Small fixes and improvements.
8035
80362000-05-16  Werner LEMBERG  <wl@gnu.org>
8037
8038	* FDL: New file (the Free Documentation License version 1.1).
8039
8040	* doc/groff.texinfo: Added many start-up values for gtroff.
8041	Some structural improvements of the source code.
8042
80432000-05-15  Werner LEMBERG  <wl@gnu.org>
8044
8045	* src/roff/troff/input.cc: Added small comment about troffrc-end.
8046	* src/roff/troff/troff.man: Added info about troffrc-end.
8047
80482000-05-14  Werner LEMBERG  <wl@gnu.org>
8049
8050	* Makefile.in (EXTRADIRS): Fix typos.
8051	(dist): Handle deletion of old .tar.gz file correctly.
8052	(DISTDIRS): Include all tty output devices.
8053
8054	* doc/groff.texinfo: Adding more cross references; countless other
8055	fixes.
8056
80572000-05-13  Werner LEMBERG  <wl@gnu.org>
8058
8059	* MORE.STUFF: Added Robert Marks's utilities.
8060
80612000-05-12  Werner LEMBERG  <wl@gnu.org>
8062
8063	Added win32 port contributed by Blake McBride
8064	<blake@florida-software.com>.
8065
8066	* README.WIN32, win32-diffs: New files.
8067	* NEWS: Updated.
8068
8069	* src/preproc/grn/hgraph.cc (HGSetBrush): Replace `%lf' with `%f'.
8070	(tmove, tmove2): Added parentheses to avoid compiler warnings.
8071	(change): Removed unused variables.
8072
8073	* src/preproc/grn/main.cc (main, conv): Removed unused variables.
8074	(savebounds): Changed return value from `int' to `void'.
8075	* src/preproc/grn/hdb.cc: Ditto.
8076
8077	* src/devices/grolbp/lbp.cc (lbp_printer::draw): Removed superfluous
8078	final backslash in comment to avoid compiler warning.
8079
8080	* src/utils/pfbtops/pfbtops.c: Added `getopt.h'.
8081
8082	* doc/groff.texinfo: More fixes.
8083
80842000-05-11  OKAZAKI Tetsurou  <okazaki@be.to>
8085
8086	* tmac/tmac.doc: Documentation fix.
8087
80882000-05-11  Werner LEMBERG  <wl@gnu.org>
8089
8090	* doc/groff.texinfo: Reading the source code shows up a lot of
8091	omissions and incorrect data...  More conversion to @Deffn macros.
8092
80932000-05-10  Werner LEMBERG  <wl@gnu.org>
8094
8095	* src/roff/troff/reg.cc (number_value_to_ascii): Remove ASCII
8096	dependency.
8097
8098	* src/roff/troff/request.h: Removing unused `no_break_flag'.
8099
81002000-05-09  Werner LEMBERG  <wl@gnu.org>
8101
8102	* man/groff.man, man/roff.man, tmac/groff_tmac.man: Minor
8103	improvements.
8104
8105	* doc/groff.texinfo: Extended history section.  More conversion to
8106	@Deffn macros.  More .tr documentation.
8107
81082000-05-07  Werner LEMBERG  <wl@gnu.org>
8109
8110	* doc/groff.texinfo: Completed tab section.  Added info about
8111	fields.
8112
81132000-05-06  Mike MacIsaac  <mikemac@us.ibm.com>
8114
8115	* PROBLEMS: Describe configure script fix for OS/390 Unix.
8116
81172000-05-05  Werner LEMBERG  <wl@gnu.org>
8118
8119	* font/devdvi/DESC.in: Change size 11pt to 10.95pt (as used in
8120	LaTeX 2e).
8121	* NEWS: Document it.
8122
8123	* man/troff.man: Minor optical improvements.
8124
81252000-05-03  Werner LEMBERG  <wl@gnu.org>
8126
8127	Adding `dq' (PS name `quotedbl') glyph name as an alias for `"'.
8128
8129	* font/*/*: Implement it.
8130	* man/groff_char.man, NEWS: Document it.
8131
81322000-05-02  Werner LEMBERG  <wl@gnu.org>
8133
8134	* tmac/groff_tmac.man, man/groff.man, man/roff.man: Fixing @MANxEXT@
8135	expansion.
8136	* NEWS: Document the three new man pages.
8137
8138	* aclocal.m4 (GROFF_CXX_CHECK): Removing obsolete AC_C_CROSS call.
8139	* configure: Updated.
8140
8141	* font/devcp1047/R.proto: Fixing fatal bug (a missing `"' character).
8142
81432000-05-01  Werner LEMBERG  <wl@gnu.org>
8144
8145	Added grap support to grog.
8146
8147	* src/roff/grog/grog.sh, src/roff/grog/grog.pl: Implement it.
8148	* src/roff/grog/grog.man: Document it.
8149
8150	* doc/groff.texinfo, NEWS: Add info about grap support.
8151
8152	Add new man pages comptributed by Bernd Warken <bwarken@mayn.de>
8153	(with slight fixes by me).
8154
8155	* tmac/groff_tmac.man: New file documenting tmac mechanism.
8156	* tmac/Makefile.sub: Add groff_tmac.man.
8157	* man/roff.man: New file giving overview of roff system.
8158	* man/troff.man: A short reference of troff.
8159	* man/Makefile.sub: Add roff.man and troff.man.
8160
81612000-04-30  Werner LEMBERG  <wl@gnu.org>
8162
8163	Added grap support to groff.
8164
8165	* src/roff/groff/groff.cc: Implement it.
8166	* src/roff/groff/groff.man: Document it.
8167
8168	* src/devices/grotty/grotty.man: Add cp1047 device.
8169	* src/preproc/eqn/eqn.man, src/preproc/eqn/neqn.sh, tmac/eqnrc:
8170	Ditto.
8171	* src/roff/groff/groff.man: Ditto.
8172	* src/roff/nroff/nroff.sh, src/roff/nroff/nroff.man: Ditto.
8173	* doc/groff.texinfo: Ditto.
8174
8175	* tmac/troffrc: Fix mapping of latin-1 char 160 (non-breakable space)
8176	for cp1047.
8177
81782000-04-29  Werner LEMBERG  <wl@gnu.org>
8179
8180	* man/groff_char.man: Add `pc' glyph.
8181	* tmac/tmac.latin1: Replacing `md' glyph with `pc'.
8182	* tmac/tmac.tty: Add `pc' glyph.
8183	* tmac/tmac.tty-char: Use/add `pc' glyph.  Don't call tmac.latin1 if
8184	we use cp1047 output device.
8185
8186	* Makefile.in, aclocal.m4: Don't build utf8 on EBCDIC hosts since
8187	there are still hardcoded latin1->unicode values in utf8's font
8188	definition files.
8189	* configure: Updated.
8190	* NEWS: Minor clarification.  Updated.
8191
8192	* PROBLEMS: Formatted.  Added info about C++ fix pack for OS/390
8193	Unix.
8194
81952000-04-28  Werner LEMBERG  <wl@gnu.org>
8196
8197	Adding EBCDIC code page 1047.
8198
8199	* font/devcp1047/R.proto, font/devcp1047/Makefile.sub,
8200	font/devcp1047/DESC.proto: New files.
8201
8202	* aclocal.m4 (GROFF_EBCDIC): Introduce TTYDEVDIRS which can be
8203	either ascii/latin1 or cp1047.
8204	* Makefile.in: Use it.
8205	* configure: Updated.
8206
8207	Replacing and/or adding `md' (mathdot) glyph with `pc'
8208	(periodcentered) in all text fonts.
8209
8210	* font/*/*: Change it.
8211
82122000-04-27  Werner LEMBERG  <wl@gnu.org>
8213
8214	* aclocal.m4 (GROFF_OS390): Fixing compiler flags.
8215
8216	* configure.in: Add check for strings.h.
8217	* src/include/driver.h: Use HAVE_STRINGS_H.
8218	* src/devices/grolbp/lpb.cc: Remove string.h.
8219
8220	* src/include/groff-getopt.h: New file.  It will be used instead of
8221	getopt.h (to be included in lib.h) to avoid endless problems with
8222	picky C++ compilers.
8223	* src/include/lib.h: Use groff-getopt.h.
8224	* src/include/Makefile.sub: Updated.
8225
8226	* configure: Updated.
8227	* Makefile.in: Updated.
8228
8229	* NEWS: Mention EBCDIC support.
8230
82312000-04-26  Werner LEMBERG  <wl@gnu.org>
8232
8233	* TODO: Some additions.
8234
82352000-04-25  Werner LEMBERG  <wl@gnu.org>
8236
8237	* src/roff/troff/troff.man, doc/groff.texinfo: Fixing documentation
8238	of mso request.
8239
82402000-04-23  Werner LEMBERG  <wl@gnu.org>
8241
8242	* src/roff/troff/troff.man: Minor fixes.
8243
82442000-04-22  Werner LEMBERG  <wl@gnu.org>
8245
8246	* src/roff/troff/troff.man, doc/groff.texinfo, NEWS: Document the
8247	`.T' string register and the incompatible definition of the `.T'
8248	number register (compared to Unix troff).
8249
8250	* man/groff_char.man: Add some missing characters.
8251	* font/devutf8/NOTES: Update.
8252
82532000-04-21  Werner LEMBERG  <wl@gnu.org>
8254
8255	* src/include/htmlindicate.h, src/include/lib.h,
8256	src/include/posix.h: Fix copyright.
8257
8258	* src/include/Makefile.sub: Update.
8259
82602000-04-20  Werner LEMBERG  <wl@gnu.org>
8261
8262	* src/roff/troff/input.cc (input_char_description): Removing
8263	superfluous space char.
8264
8265	* tmac/tmac.X: Fix typo \(bq -> \(Bq.
8266
8267	* doc/groff.texinfo: Document EBCDIC.
8268
82692000-04-19  Werner LEMBERG  <wl@gnu.org>
8270
8271	Introducing `shc' as the glyph name for the soft hyphen character.
8272
8273	* tmac/tmac.tty, tmac/tmac.latin1, tmac/tmac.html,
8274	font/devlatin1/R.proto: Use it.
8275
8276	* NEWS: Updated.
8277
82782000-04-18  Werner LEMBERG  <wl@gnu.org>
8279
8280	* src/devices/grops/ps.cc (ps_printer::flush_sbuf): Removing
8281	dependency on ASCII order.
8282
82832000-04-16  Sandor BARANY  <S.Barany@infosys.tuwien.ac.at>
8284
8285	* src/libs/libgroff/illegal.c: Added EBCDIC table.
8286	* src/roff/troff/input.cc: Added adaptation to EBCDIC.
8287
8288	* src/preproc/refer/refer.cc, src/roff/troff/env.cc: Minor changes
8289	to increase portability.
8290
82912000-04-15  Werner LEMBERG  <wl@gnu.org>
8292
8293	* aclocal.m4: Added GROFF_EBCDIC and GROFF_OS390 tests.
8294	Redefined AC_OUTPUT_MAKE_DEFS to replace ASCII character `012' with
8295	the generic `\n' if under OS/390 Unix.
8296
8297	* configure.in: Call GROFF_EBCDIC and GROFF_OS390.
8298
8299	* configure: Regenerated.
8300
83012000-04-14  Werner LEMBERG  <wl@gnu.org>
8302
8303	* doc/groff.texinfo: More conversions to @Deffn.
8304
83052000-04-12  Werner LEMBERG  <wl@gnu.org>
8306
8307	* tmac/tmac.psfig: Fix incorrect use of `&' operator by replacing it
8308	with `:'.
8309
8310	* src/roff/nroff/nroff.man: Add note about tmac.tty-char.
8311
83122000-04-10  Werner LEMBERG  <wl@gnu.org>
8313
8314	* doc/groff.texinfo: More conversions to @Deffn.
8315
83162000-04-08  Werner LEMBERG  <wl@gnu.org>
8317
8318	* src/libs/libgroff/{getopt.c,getopt1.c}, src/include/getopt.h:
8319	Updated to latest version (glibc 2.1.3).
8320
83212000-04-07  Werner LEMBERG  <wl@gnu.org>
8322
8323	* doc/Makefile (clean): Include more index files.
8324	Add rule texinfo->dvi.
8325
83262000-04-05  Werner LEMBERG  <wl@gnu.org>
8327
8328	* doc/groff.texinfo: Added new index `op' for operators.  More
8329	info on end of sentence characters.  More use of @Deffn.
8330
83312000-03-30  Werner LEMBERG  <wl@gnu.org>
8332
8333	* */*.man: Adding a note that a whitespace can be inserted between
8334	a command line option and its parameter -- we are using GNU getopt.
8335
8336	* src/roff/groff/groff.man: Add example of `-m mandoc'.
8337
83382000-03-28  Werner LEMBERG  <wl@gnu.org>
8339
8340	Correct anachronism of calling the man macro file with `-man'
8341	instead of `-m man' etc.
8342
8343	* tmac/tmac.man, tmac/tmac.mandoc, tmac/tmac.markup, tmac/tmac.mdoc,
8344	tmac/tmac.me, tmac/tmac.ms: New files tmac.m<package> which simply
8345	load tmac.<package>.
8346
8347	* tmac/Makefile.sub: Updated.  Take care of $(tmac_an_prefix) etc.
8348
8349	* NEWS: Updated.
8350
8351	* doc/groff.texinfo: Updated.
8352
8353	* tmac/groff_man.man: Copyright added.
8354
83552000-03-27  Werner LEMBERG  <wl@gnu.org>
8356
8357	* doc/groff.texinfo: Introducing macros `Deffn' and `Defmac' to
8358	typeset the request resp. escape name with a tt font -- due to a
8359	bug in texinfo.tex it is necessary to use the `-e' switch with
8360	texi2dvi.
8361
8362	Improving info about usage of groff units.
8363
8364	Other minor fixes.
8365
83662000-03-20  Werner LEMBERG  <wl@gnu.org>
8367
8368	* doc/groff.texinfo: Added section about man macro package
8369	(I've basically taken groff_man.man).  Introducing new indices `ma'
8370	for macros/strings and `gl' for glyph names.  Other minor fixes.
8371
8372	* tmac/groff_man.man: Fixed some typos.
8373
83742000-03-19  Werner LEMBERG  <wl@gnu.org>
8375
8376	* doc/groff.texinfo: Removed all occurrences of `you', `we', etc.
8377	Other minor fixes.
8378
8379	* doc/texinfo.tex: New file.
8380
83812000-03-18  Werner LEMBERG  <wl@gnu.org>
8382
8383	* doc/groff.texinfo: Improved section on number registers.  Other
8384	minor updates.
8385
83862000-03-16  Werner LEMBERG  <wl@gnu.org>
8387
8388	* src/roff/groff/groff.man: Added info about grolbp.  Make nicer
8389	synopsis.
8390
8391	* src/devices/grolbp/grolbp.man, src/roff/nroff/nroff.man,
8392	src/devices/grolj4/grlj4.man, src/devices/grops/grops.man,
8393	src/preproc/eqn/eqn.man, src/utils/afmtodit/afmtodit.man,
8394	src/utils/tfmtodit/tfmtodit.man: Make nicer synopsis.
8395
8396	* src/preproc/grn/grn.man: Better synopsis; added copyright.
8397
8398	* src/roff/grog/grog.man: Updated copyright date.
8399
84002000-03-14  Francisco Andr�s Verd�  <pandres@dragonet.es>
8401
8402	* configure.in: Added test for strdup.
8403
8404	* src/devices/grolbp/lbp.cc: Added a strdup() version in case none
8405	is available.
8406
8407	Replaced dynamic allocation of arrays `[...]' with `new' operator.
8408
8409	Other minor fixes.
8410
84112000-03-12  OKAZAKI Tetsurou  <okazaki@be.to>
8412
8413	* Makefile.comm: Add $(INCLUDES) to $(ALL_CFLAGS).
8414
84152000-03-11  Werner LEMBERG  <wl@gnu.org>
8416
8417	* src/preproc/grn/hdb.cc (DBGetType): Added return value to make
8418	compilers silent.
8419	* src/preproc/grn/hgraph.cc: Add #ifdef for hypot().
8420	* src/include/lib.h: Remove some spaces.
8421
84222000-03-10  Werner LEMBERG  <wl@gnu.org>
8423
8424	* src/libs/libgroff/tmpfile.cc (xtmptemplate, xtmpfile): Removing
8425	initializers from arguments (some compilers don't like this).
8426
84272000-03-09  Gaius Mulley  <gaius@glam.ac.uk>
8428
8429	* src/libs/libgroff/htmlindicate.cc: Added library file which is now
8430	used by pic and eqn to tell grohtml where the graphic regions start
8431	and end.
8432	* src/libs/libgroff/Makefile.sub: Use it.
8433	* src/preproc/eqn/main.cc, src/preproc/pic/troff.cc: Altered to use
8434	graphic_start() and graphic_end() from htmlindicate.cc.
8435
84362000-03-09  Werner LEMBERG  <wl@gnu.org>
8437
8438	* tmac/tmac.safer: Will now work correctly in compatibility mode.
8439	* tmac/groff_man.man: More fixes.
8440
84412000-03-08  Werner LEMBERG  <wl@gnu.org>
8442
8443	* doc/Makefile: Added texput.log to the `clean' target.
8444	* doc/groff.texinfo: Added info about delimiters for escapes.
8445
84462000-03-08  Bernd Warken  <bwarken@mayn.de>
8447
8448	* src/preproc/pic/pic.man: Add info on conversion of pic images to
8449	other graphic formats.
8450
84512000-03-07  OKAZAKI Tetsurou  <okazaki@be.to>
8452
8453	* Makefile.in, Makefile.sub, src/preproc/eqn/Makefile.sub,
8454	src/roff/groff/Makefile.sub, src/roff/nroff/Makefile.sub,
8455	src/utils/afmtodit/Makefile.sub: Use $(INSTALL_SCRIPT) for script
8456	files.
8457
84582000-03-07  Werner LEMBERG  <wl@gnu.org>
8459
8460	* doc/groff.texinfo: Spelling fixes.
8461
84622000-03-06  Werner LEMBERG  <wl@gnu.org>
8463
8464	* tmac/groff_man.man: Completely revised to cover everything in
8465	tmac.an.
8466
8467	* doc/groff.texinfo, src/roff/troff/troff.man: Document evc request.
8468	Other minor fixings.
8469	* src/roff/troff/env.cc (environment_copy): Improve error message and
8470	fix itoa->i_to_a.
8471	* src/roff/troff/TODO: Updated.
8472
8473	* doc/Makefile: Bug fixes -- this is still provisional, though...
8474
8475	* tmac/eqnrc: Small fixes.
8476
84772000-03-05  Abramo Bagnara  <abramo@alsa-project.org>
8478
8479	Adding a request `evc' to copy environments.
8480
8481	* src/roff/troff/env.cc (environment::copy, environment_copy):
8482	Implement it.
8483	* src/roff/troff/env.h: Add prototype.
8484
84852000-03-05  Francisco Andr�s Verd�  <pandres@dragonet.es>
8486
8487	Adding strsep() -- Solaris 8 doesn't have it.
8488
8489	* configure.in: Test it.
8490	* src/devices/grolbp/lbp.cc: Add code.
8491
84922000-03-05  Werner LEMBERG  <wl@gnu.org>
8493
8494	* src/roff/troff/div.cc (macro_diversion::output,
8495	top_level_diversion::output): Fixing an incompatibility with
8496	original troff: \x'0' updates the .a register also.  Thanks to
8497	<Andries.Brouwer@cwi.nl> for pointing this out.
8498	* doc/groff.texinfo: Document it.
8499
8500	* Makefile.in: Create Makefile.dep if necessary before calling the
8501	submake process to avoid warning about nonexistent file.
8502
8503	* NEWS, PROJECTS: Updated.
8504
85052000-03-04  Werner LEMBERG  <wl@gnu.org>
8506
8507	* tmac/troffrc: Add tmac.lbp.
8508
85092000-03-03  Francisco Andr�s Verd�  <pandres@dragonet.es>
8510
8511	* tmac/tmac.lbp: New file.
8512	* src/devices/grolbp/grolbp.man: Add documentation of `lbpname'
8513	command.
8514
85152000-03-03  Werner LEMBERG  <wl@gnu.org>
8516
8517	* Makefile.in: Fixing $(subdir).
8518
8519	* README, NEWS: Small fixes.
8520
8521	* test-groff: Adding path to grolbp.
8522
8523	* configure.in: The (new) file src/xditview/Imakefile.in will be
8524	also configured -- it is now possible to build gxditview in a
8525	directory different from $srcdir.
8526
85272000-03-02  Blake McBride  <blake@florida-software.com>
8528
8529	* src/libs/libgroff/searchpath.cc (open_file): Adapting to WinNT.
8530
8531	* MORE.STUFF: Added website of bell labs and info about plot2dev.
8532
85332000-03-01  Colin Phipps  <crp22@cam.ac.uk>
8534
8535	* src/utils/indxbib/indxbib.cc (main): Use mkstemp() for temporary
8536	files.
8537
85382000-02-29  Werner LEMBERG  <wl@gnu.org>
8539
8540	Adding GNU getopt to the groff distribution.
8541
8542	* src/include/getopt.h, src/libs/libgroff/{getopt.c,getopt1.c}:
8543	New files.
8544	* src/include/Makefile.sub, src/libs/libgroff/Makefile.sub: Update.
8545	* aclocal.a4: Remove GROFF_GETOPT function.
8546	* configure.in, Makefile.in, PROBLEMS: Update.
8547	* src/include/lib.h: Replace getopt tests with getopt.h.
8548	* src/devices/grolbp/lpb.cc: Remove inclusion of getopt.h.
8549
8550	* doc/groff.texinfo: Further checking/updating.  Adding more index
8551	entries.
8552
8553	* man/groff_out.man: Fix nroff mode activation (for emacs).
8554	* man/groff_font.man: Add missing ligature.
8555
85562000-02-28  Werner LEMBERG  <wl@gnu.org>
8557
8558	* doc/groff.texinfo: Further checking/updating.  Adding more index
8559	entries.
8560
8561	* src/devices/grolbp/grolbp.man: Added a comment line at the
8562	beginning of the file (similar to shell scripts) which indicates
8563	that `tbl' should be used as a preprocessor.
8564
85652000-02-27  Blake McBride  <blake@florida-software.com>
8566
8567	Adapting groff to MS Visual C++ 6.0 compiler (tested with
8568	Windows NT 4.0).  Uses _MSC_VER define where necessary.
8569
8570	* src/devices/grodvi/dvi.cc: Making stdout a binary stream.
8571	* src/devices/grolj4/lj4.cc: Making getopt variables `extern "C"'.
8572	* src/devices/grohtml/html.cc, src/devices/grops/ps.cc,
8573	src/include/lib.h, src/libs/libgroff/errarg.cc,
8574	src/libs/libgroff/itoa.c, src/libs/libgroff/nametoindex.cc,
8575	src/preproc/refer/label.y, src/preproc/refer/label.cc,
8576	src/roff/groff/pipeline.c, src/roff/troff/column.cc,
8577	src/roff/troff/div.cc, src/roff/troff/env.cc,
8578	src/roff/troff/input.cc, src/roff/troff/node.cc,
8579	src/roff/troff/reg.cc: Renaming itoa() to i_to_a() and iftoa() to
8580	if_to_a() to avoid name	clashes.
8581	* src/include/posix.h: Don't use unistd.h.
8582	* src/libs/libgroff/tmpfile.cc: Use `#ifndef...#else...#endif'
8583	clause for integrating non-Unix xtmpfile() code.
8584	* src/roff/troff/input.cc: Adding `public' keyword to macro_header
8585	structure; use "rt" for popen() in pipe_source(); add getpid()
8586	dummy function.
8587	* src/roff/troff/node.cc: Use special versions of popen() in
8588	real_output_file() and pclose() in ~real_output_file().
8589
85902000-02-27  Werner LEMBERG  <wl@gnu.org>
8591
8592	Adding a new driver, grolbp, for Canon CAPSL printers (LBP-4 and
8593	LBP-8 series laser printers).  This code has been contributed by
8594	Francisco Andr�s Verd� <pandres@dragonet.es>.
8595
8596	* src/devices/grolbp/*: The grolbp output device.
8597	* font/devlpb/*: The font description files.
8598	* Makefile.in: Add grolpb and devlbp subdirectories.
8599
8600	* src/devices/grodvi/grodvi.man, src/devices/grolj4/grolj4.man,
8601	src/devices/grotty/grotty.man,src/roff/troff/troff.man: Minor
8602	typographic fixes.
8603
8604	* doc/groff.texinfo: Further checking/updating.  Adding more index
8605	entries.
8606
8607	* NEWS: Updated.
8608
8609	* src/devices/grolbp/Makefile.sub: Adding $(srcdir).
8610
8611	* man/groff_font.man: Adding info about obsolete DESC keywords.
8612	* src/devices/grolj4/grolj4.man: Documenting additional DESC
8613	keywords.
8614
86152000-02-26  Werner LEMBERG  <wl@gnu.org>
8616
8617	* src/preproc/grn/grn.man: Added info about the gremlin file format
8618	(contributed by Daniel Senderowicz <daniel@synchrods.com>).
8619
86202000-02-25  Werner LEMBERG  <wl@gnu.org>
8621
8622	* src/preproc/grn/main.cc: Allow values of `narrow' parameter and
8623	friends to be non-integer.
8624
8625	* src/preproc/grn/grn.man: Document it.
8626
8627	* doc/groff.texinfo: Further checking/updating.  Adding more index
8628	entries.
8629
86302000-02-24  Werner LEMBERG  <wl@gnu.org>
8631
8632	* src/preproc/grn/main.cc: Introduce BASE_THICKNESS, defining
8633	line thicknesses to be integer multiples of this value.
8634
8635	* src/preproc/grn/grn.man: Commenting out the -s option -- the
8636	corresponding code doesn't work (yet).
8637
8638	* doc/groff.texinfo: Further checking/updating.  Adding more index
8639	entries.
8640
86412000-02-23  Werner LEMBERG  <wl@gnu.org>
8642
8643	* src/preproc/grn/{main.cc, hgraph.cc}: Using point units to
8644	specify line thickness instead of base units.  The new default
8645	values are now 0.15,pt 0.45pt, and 0.75pt for thin, middle, and
8646	thick lines respectively.
8647
8648	Removed unused variable `prevval'.
8649
8650	* src/preproc/grn/grn.man: Updated.
8651
86522000-02-22  Werner LEMBERG  <wl@gnu.org>
8653
8654	* src/preproc/grn/main.cc: Slight formatting.
8655
8656	* src/roff/groff/groff.man: Formatting fix.
8657	* src/preproc/grn/grn.man: Ditto.
8658
8659	* src/roff/grog/grog.pl: Fixing two embarassing bugs.
8660
8661	* doc/groff.texinfo: Further checking/updating.
8662
86632000-02-21  Werner LEMBERG  <wl@gnu.org>
8664
8665	* README, INSTALL, PROJECT, PROBLEMS, BUGREPORT: Updated.
8666
8667	* test-groff: Added grn subdir to path.
8668
8669	* doc/groff.texinfo: Some restructing and other small improvements.
8670
8671	* src/roff/groff/groff.cc (help): Fixed info string.
8672
86732000-02-20  Werner LEMBERG  <wl@gnu.org>
8674
8675	* doc/meref.me: Fix description of .GS request.
8676
8677	* src/roff/troff/troff.man: Fixing typo.
8678
8679	Adding the `grn' preprocessor for gremlin graphic files.
8680
8681	* src/preproc/grn/*: This is the Berkeley distribution written by
8682	David Slattengren and Barry Roitblat, adapted to groff by Daniel
8683	Senderowicz and Werner Lemberg.
8684
8685	* doc/grnexampl.{me,g}: A sample for grn.
8686
8687	* Makefile.in: Added subdirectory entry for grn.
8688
8689	* src/roff/groff/groff.cc: Added support for grn.  It can be now
8690	called with the switch `-g'.
8691
8692	* src/roff/groff/groff.man: Updated.
8693
8694	* src/roff/grog/grog.{man,pl,sh}: Updated.
8695
8696	* NEWS: Updated.
8697
86982000-02-11  Gaius Mulley  <gaius@glam.ac.uk>
8699
8700	* src/include/lib.h: Added xtmptemplate and made xtmpfile
8701	parametrically polymorphic.
8702
8703	* src/libs/libgroff/tmpfile.cc: Implemented xtmptemplate
8704	and the alterations to xtmpfile.
8705	xtmpfile can be requested to return the filename created
8706	and asked not to unlink the temp file.  The default behaviour
8707	if parameters are absent is exactly the same as before.
8708
87092000-02-11  Abramo Bagnara  <abramo@alsa-project.org>
8710
8711	A new request `length' is available which returns the length of a
8712	string in a number register:
8713
8714	* src/roff/troff/input.cc (length_macro): Implement it.
8715	* src/roff/troff/input.cc (init_input_requests): Register it.
8716
87172000-02-11  Werner LEMBERG  <wl@gnu.org>
8718
8719	* doc/groff.texinfo, src/roff/troff/troff.man: Add documentation
8720	of the `substring' request.
8721
8722	* src/roff/troff/troff.man, doc/groff.texinfo: Document `length'
8723	request.
8724
8725	* src/roff/troff/TODO, NEWS: Updated.
8726
87272000-02-09  Werner LEMBERG  <wl@gnu.org>
8728
8729	* src/roff/groff/groff.man: Added an example.
8730
87312000-02-06  Werner LEMBERG  <wl@gnu.org>
8732
8733	I've considerably modified the directory structure of the
8734	distribution to get a more vertical layout.  For example, the number
8735	of top level directories has been reduced from 42 to 6.
8736
8737	As a consequence, many changes, especially to the makefiles, were
8738	necessary:
8739
8740	* The makefile variables `top_builddir' and `top_srcdir' have been
8741	introduced.  Virtually all relative paths have been replaced with
8742	absolute ones using these two variables.
8743
8744	* Dependencies (in the files `Makefile.dep') are no longer part of
8745	the distribution.  Instead, they are created during a `make install'
8746	in the build directory.
8747
8748	* aclocal.m4 (GROFF_SRCDIR, GROFF_BUILDDIR): Two new functions to
8749	make `top_srcdir' and `top_builddir' absolute.
8750
8751	Some other changes:
8752
8753	* Man pages now depend on the files `VERSION' and `REVISION'.
8754
8755	* The added shell script `mkinstalldirs' will replace `mkdir' in
8756	almost all cases.
8757
8758	* VERSION: Version number increased to 1.16.
8759
87602000-02-04  Werner LEMBERG  <wl@gnu.org>
8761
8762	* grops/psrm.cc (read_one_of): Fixed pointer incrementation.
8763
8764	* Makefile.in: Removed $(tmac_m) since it is no longer needed
8765	(after an update of the mm stuff).
8766
8767	* troff/Makefile.sub (majorminor.cc): Fix dependencies.
8768
87692000-02-03  Werner LEMBERG  <wl@gnu.org>
8770
8771	The .psbb request will now also accept Mac PS images (i.e. using LF
8772	as the EOL character).
8773
8774	* troff/input.cc (ps_get_line): New function, taken from psrm.cc
8775	(with slight modifications).
8776	* troff/input.cc (do_ps_file): Use it.
8777
8778	* test-groff: Add grohtml and grolj4 output devices to PATH.
8779
87802000-01-30  Werner LEMBERG  <wl@gnu.org>
8781
8782	* NEWS, MORE.STUFF: Updated.
8783
87842000-01-30  Cary D. Renzema  <caryr@dollar.mxim.com>
8785
8786	Add the `srand' command to pic.
8787
8788	* pic/lex.cc, pic/pic.y: Implement it.
8789	* pic/pic.man: Document it.
8790	* pic/pic.cc, pic/pic.tab.h: Regenerated (with yacc).
8791
87922000-01-30  Werner LEMBERG  <wl@gnu.org>
8793
8794	Add a new request `.psbb'.  This does exactly what the external
8795	program psbb did.  It scans a PostScript image file for a
8796	%%BoundingBox comment and extracts the bounding box values (in
8797	PostScript units) which	are then stored in the four new (read-only)
8798	number registers `llx', `lly', `urx', and `ury'.
8799
8800	This will allow the usage of the .PSPIC macro without worrying
8801	about unsafe behaviour of groff, i.e., it will work without the
8802	`-U' switch of groff.
8803
8804	* troff/input.cc: Implement it.
8805	* tmac/tmac.pspic: Use it.
8806	* troff/troff.man, grops/grops.man, NEWS: Document it.
8807	* psbb/*, Makefile.in: Remove it since it is no longer needed.
8808
8809	This is bloody C code simply adapted from psbb.c!  Any improvements
8810	welcome.
8811
88122000-01-29  Werner LEMBERG  <wl@gnu.org>
8813
8814	* man/groff_font.man: Minor clarifications.
8815
8816	* NEWS: Updated.
8817
88182000-01-28  Werner LEMBERG  <wl@gnu.org>
8819
8820	* afmtodit/afmtodit.pl: Use new `--' comment delimiter.
8821
88222000-01-28  Gaius Mulley  <gaius@glam.ac.uk>
8823
8824	* man/groff_font.man: Brought up to date regarding tcommand
8825	extensions.
8826	* libgroff/font.cc: Handle everything after `--' as a comment
8827	in the font files.
8828	* devps/*: Added comment delimiter inside devps font files.
8829
88302000-01-28  Werner LEMBERG  <wl@gnu.org>
8831
8832	* tmac/tmac.arkup, tmac/groff_markup.man: Replace \fC...\fR with
8833	\fC...\fP (which now works as expected).
8834
8835	* troff/troff.man: Fix typo.
8836
88372000-01-27  Gaius Mulley  <gaius@glam.ac.uk>
8838
8839	Completed the pass_filenames implementation in troff.
8840
8841	* libdriver/input.cc: Will read the new `F' tcommand.
8842	* troff/node.cc, troff/node.h: Will issue the new `F' tcommand.
8843	* troff/input.cc: Use it.
8844
88452000-01-26  Werner LEMBERG  <wl@gnu.org>
8846
8847	* troff/env.cc (set_font): Fix the behaviour of \fP.  The previous
8848	font will now be updated even if an invalid font is selected.
8849
88502000-01-24  Werner LEMBERG  <wl@gnu.org>
8851
8852	* doc/homepage.ms: Updated for new tmac.arkup.
8853
8854	* tmac/tmac.html: Disable line breaks after hyphen-like characters.
8855
8856	* tmac/tmac.arkup: Cleanup.
8857
8858	Added `\&' to .HTML macro to `leave vertical mode', so to say.
8859
8860	Removed obsolete .LINK macro completely.
8861
8862	The macros .URL, .FTP, and .MAILTO now accept a third argument which
8863	will be immediately appended to the second argument (to be used with
8864	punctuation, for example).
8865
8866	Disabled .CDFTP macro temporarily for security reasons.
8867
8868	* tmac/groff_markup.man: Complete revision for latest changes in
8869	tmac.arkup -- note that it does not yet format correctly with
8870	grohtml :-(
8871
88722000-01-23  Bruno Haible  <haible@clisp.cons.org>
8873
8874	* nroff/nroff.sh: Accept -Tutf8 option and pass it through.
8875	* devutf8/R.proto: Add mappings for wp, lh, rh.
8876	* devutf8/NOTES: Updated.
8877
88782000-01-23  Werner LEMBERG  <wl@gnu.org>
8879
8880	* doc/groff.texinfo: Updated version/copyright info.
8881
88822000-01-21  Gaius Mulley  <gaius@glam.ac.uk>
8883
8884	Added support for two new directives in device descriptions:
8885	`pass_filenames' (to pass the input file name to the output device)
8886	and `use_charnames_in_special' (to support e.g. accented characters
8887	in the `X' request).
8888
8889	* include/font.h, troff/charinfo.h: Declare it.
8890
8891	* libgroff/font.cc, libgroff/fontfile.cc: Set it.
8892
8893	* devhtml/DESC: Use it.
8894
8895	* troff/input.cc: New function encoded_char.
8896
8897	* troff/token.h: Add test for `specialness'.
8898
88992000-01-21  Werner LEMBERG  <wl@gnu.org>
8900
8901	* tmac/Makefile.sub: tmac.a4 and tmac.trace have been removed by
8902	mistake from the list of files to be installed.
8903
89042000-01-18  Werner LEMBERG  <wl@gnu.org>
8905
8906	* README: Added info how to apply patches.
8907
89082000-01-15  Jan Echternach  <echter@informatik.uni-rostock.de>
8909
8910	* troff/node.cc (ligature_note::operator delete):  Fix g++ warning.
8911
89122000-01-15  Gaius Mulley  <gaius@glam.ac.uk>
8913
8914	* troff/input.cc: Add support for troffrc-end.
8915
8916	* tbl/main.cc: Altered to issue table-start and table-end special
8917	characters if using the html device.
8918
8919	* devhtml/*: Modified font files to incorporate html encoding of
8920	characters.
8921
8922	* tmac/groff_markup.man: New file documenting tmac.arkup.
8923
8924	* tmac/troffrc-end: New file.  This is invoked after all user
8925	specified macros.  Currently used by the html device to	include
8926	tmac.html.  Thus no need for users to specify -mhtml anymore.
8927
8928	* tmac/Makefile.sub (NORMALFILES): Add troffrc-end.
8929	(MAN7): Add groff_markup.man.
8930
8931	* tmac/tmac.an, tmac/tmac.html: Small html updates.
8932
8933	* tmac/troffrc: tmac.arkup will now be called for the html device.
8934
8935	* libgroff/font.cc, libgroff/font.h: Altered to include reading of
8936	extra device specific information about fonts.
8937
8938	* doc/homepage.ms: New file.  It is an example how an HTML home page
8939	could look like with grohtml.
8940
8941	* doc/Makefile: Add homepage.ms.  Remove rule for pic.html.
8942
89432000-01-12  Bruno Haible  <haible@clisp.cons.org>
8944
8945	* devutf8/R.proto: Add mappings for ti, Fn, st, an.  Change mappings
8946	of Im, Re.
8947
8948	* devutf8/NOTES: Updated.
8949
89502000-01-08  Bruno Haible  <haible@clisp.cons.org>
8951
8952	* eqn/box.cc, eqn/lex.cc, eqn/other.cc, eqn/over.cc, eqn/special.cc,
8953	eqn/text.cc, grodvi/dvi.cc, grops/ps.cc, grops/psrm.cc,
8954	libbib/index.cc, libbib/linear.cc, libbib/search.cc,
8955	libdriver/printer.cc, libgroff/font.cc, libgroff/string.cc,
8956	pic/lex.cc, pic/object.cc, refer/label.y, refer/ref.cc, tbl/main.cc,
8957	tbl/table.cc, tfmtodit/tfmtodit.cc, troff/dictionary.cc,
8958	troff/div.cc, troff/env.cc, troff/input.cc, troff/node.cc,
8959	troff/node.h, troff/reg.cc: Avoid most "g++ -Wall -Wno-sign-compare"
8960	warnings.
8961
8962	* troff/node.cc (bracket_node::copy): Initialize last to NULL.
8963
89642000-01-12  Fabrizio Polacco  <fab@prosa.it>
8965
8966	grolj4: Paper size will be searched case-insensitively.
8967
8968	* include/lib.h: Add check for strcasecmp().
8969	* grolj4/li4.cc (lookup_paper_size): Use strcasecmp().
8970	* configure.in: Check for strcasecmp().
8971
89722000-01-11  Werner LEMBERG  <wl@gnu.org>
8973
8974	* troff/Makefile.sub (majorminor.cc): Fix incorrect path to
8975	`REVISION'.
8976
89772000-01-10  Werner LEMBERG  <wl@gnu.org>
8978
8979	* Makefile.comm, Makefile.in, doc/Makefile: More fixes for the
8980	revision scheme.
8981
8982	Add a new read-only register, `.Y', which contains the groff
8983	revision.
8984
8985	* troff/input.cc (init_input_requests): Define it.
8986	* troff/Makefile.sub (majorminor.cc): Define `revision' string.
8987	* doc/groff.texinfo, troff/troff.man: Document it.
8988
8989	* libgroff/Makefile.sub (version.cc): Add definition of
8990	`Version_string[]', consisting of `<major>.<minor>.<revision>'
8991	* eqn/main.cc, grodvi/dvi.cc, grolj4/lj4.cc, grops/ps.cc,
8992	grotty/tty.cc, hpftodit/hpftodit.cc, indxbib/indxbib.cc, pic/main.cc,
8993	refer/refer.cc, soelim/soelim.cc, tbl/main.cc, tfmtodit/tfmtodit.cc,
8994	troff/input.cc, pfbtops/pfbtops.c: Use it.
8995
89962000-01-10  Fabrizio Polacco  <fab@prosa.it>
8997
8998	Add a revision scheme to the groff package.
8999
9000	* REVISION: New file.
9001	* libgroff/Makefile.sub (version.cc): Use it to define
9002	`revision_string[]'.
9003	* grops/psrm.cc: Use revision_string (converted to an unsigned
9004	integer) in constructor of resource_manager.
9005
90062000-01-10  Bruno Haible  <haible@clisp.cons.org>
9007
9008	* devutf8/Makefile.sub, devutf8/DESC.proto, devutf8/R.proto: New
9009	files.
9010	* Makefile.in (DEVDIRS): Add devutf8.
9011	* grotty/tty.cc: Include device.h.
9012	(glyph): Change type of `code' to `unsigned int'.
9013	(tty_printer): New field is_utf8.  Constructor takes device argument.
9014	(tty_printer::tty_printer): If device if `utf8', set is_utf8.
9015	(tty_printer::add_char): Change type of first arg to `unsigned int'.
9016	(tty_printer::put_char): New function.
9017	(tty_printer::end_page): Use put_char() instead of ::putchar().
9018	(make_printer): Pass device to tty_printer constructor.
9019	* nroff.sh: Determine default device by calling 'locale'.  As a
9020	fallback, look at all of $LC_ALL, $LC_CTYPE, $LANG, $LESSCHARSET.
9021	Recognize UTF-8 locales.
9022	* tmac/eqnrc: Recognize utf8 like latin1.
9023	* tmac/troffrc: Device utf8 needs tmac.tty.
9024
90252000-01-07  Werner LEMBERG  <wl@gnu.org>
9026
9027	* tmac/Makefile.sub: tmac.a4 and tmac.trace will now be installed.
9028
90292000-01-07  Paul Eggert  <eggert@twinsun.com>
9030
9031	Add a new predefined writeable number register, `year',
9032	which contains the current year.
9033
9034	* doc/groff.texinfo, PROBLEMS, troff/troff.man: Document it.
9035	* tmac/tmac.s: Use it.
9036	* troff/input.cc (init_registers): Initialize it.
9037
90382000-01-06  Werner LEMBERG  <wl@gnu.org>
9039
9040	* PROBLEMS: Fixed typo.
9041
90422000-01-04  Paul Eggert  <eggert@twinsun.com>
9043
9044	* PROBLEMS: Add Y2k advice for the yr number register.
9045
90462000-01-03  Paul Eggert  <eggert@twinsun.com>
9047
9048	* doc/groff.texinfo: Fix Y2k bug in documentation of \n(yr.
9049
90502000-01-02  Werner LEMBERG  <wl@gnu.org>
9051
9052	* tmac/tmac.arkup: Slight modification of macros to provide better
9053	appearance for non-HTML formats.
9054
90552000-01-01  Charles Levert  <charles@comm.polymtl.ca>
9056
9057	* soelim/soelim.cc (include_path_append): realloc(NULL, n)
9058	does not automatically translate to malloc(n) on all OSes
9059	(e.g., SunOS) so do it explicitly.  Also, check the returned
9060	value.
9061
90622000-01-01  Werner LEMBERG  <wl@gnu.org>
9063
9064	* tmac/tmac.arkup: Added .LINE macro.  Some formatting.
9065
9066	* Makefile.in: Added $(tmac_m) again since the Makefile in `mm'
9067	expects this variable
9068
90692000-01-01  Gaius Mulley  <gaius@glam.ac.uk>
9070
9071	* doc/Makefile: Added instructions to create HTML and text
9072	versions of some files.
9073
90741999-12-31  Werner LEMBERG  <wl@gnu.org>
9075
9076	* Updated INSTALL.gen.
9077
9078	* tmac/tmac.arkup: Added fixes so that .FTP and .MAILTO works
9079	better resp. correctly with non-HTML devices.
9080
9081Version 1.15 released
9082=====================
9083
90841999-12-28  Werner LEMBERG  <wl@gnu.org>
9085
9086	* NEWS, VERSION: Changed to 1.15
9087
90881999-12-27  Paul Eggert  <eggert@twinsun.com>
9089
9090	* nroff/nroff.man: -S is safer, not safe.
9091
9092	* groff/groff.cc (main): Use `safer', not `safe', in variable
9093	names.  This does not change the behavior.
9094
9095	* troff/input.cc (main): Likewise.
9096
9097	* nroff/nroff.sh: Likewise.
9098
9099	* troff/input.cc (prepend_string): New function.
9100	(main): Prepend -msafer, so that we check macro libraries for
9101	safety.
9102
9103	* PROBLEMS: Report problem with Sun C++ 5.0 and 5.1.
9104
9105Version 1.14 released
9106=====================
9107
91081999-12-26  Werner LEMBERG  <wl@gnu.org>
9109
9110	* NEWS, VERSION: Changed to 1.14.
9111
91121999-12-24  Werner LEMBERG  <wl@gnu.org>
9113
9114	* refer/refer.cc: Fixing the last fix.
9115
9116Version 1.13 released
9117=====================
9118
91191999-12-23  Werner LEMBERG  <wl@gnu.org>
9120
9121	* tmac/tmac.an: A typo (`.if' instead of `.ie') made the page
9122	number disappear.
9123
9124	* NEWS: Updated.
9125
9126	* tmac/tmac.safer: Forgot to remove `so' from the `rm' request.
9127
9128	* VERSION: Changed to 1.13 -- to be compliant with the Adobe 3.0
9129	document conventions, the version number must be a real.
9130
9131Version 1.12.1 released
9132=======================
9133
91341999-12-22  Werner LEMBERG  <wl@gnu.org>
9135
9136	* VERSION: Changed to 1.12.1.
9137
91381999-12-22  Alan Rooks  <arooks@istar.ca>
9139
9140	* refer/refer.cc (do_file): Slight modification to satisfy the
9141	`Standard system CC - C++ Compilation System 3.1 03/03/99' on SCO
9142	UnixWare 7.1.
9143
91441999-12-20  Werner LEMBERG  <wl@gnu.org>
9145
9146	* changed prep.ai.mit.edu -> ftp.gnu.org; updated copyright
9147	notices.
9148
9149	* tmac/tmac.safer, tmac/groff_msafer.man: Remove `so' (again) from
9150	list of unsafe requests.
9151
9152	* pic/pic.man: Fixed a typo.
9153
9154	* man/groff_out.man: Fixed a typo.
9155
91561999-12-18  Werner LEMBERG  <wl@gnu.org>
9157
9158	* Makefile.in: Doc fixes.
9159
91601999-12-17  Fabrizio Polacco  <fab@prosa.it>
9161
9162	* groff/groff.cc: Missing `U' option added to getopt().
9163
9164	* troff/troff.man: Missing `U' option added to synopsis.
9165
9166Version 1.12 released
9167=====================
9168
91691999-12-14  Werner LEMBERG  <wl@gnu.org>
9170
9171	* troff/input.cc (usage), groff/groff.cc (synopsis): Added -U flag
9172	to the synopsis.
9173
9174	* nroff/nroff.sh, nroff/nroff.man: Replaced `secure', `unsecure'
9175	with the more appropriate terms `safer' and `unsafe'.
9176
9177	* libgroff/strerror.c, aclocal.m4, configure.in: Added checks for
9178	sys_nerr and sys_errlist[].
9179
9180	* pic/pic.h, aclocal.m4, configure.in: Added check for hypot().
9181
9182	* pic/pic.y, pic/pic.cc: Added check for fmod().
9183
91841999-12-13  Werner LEMBERG  <wl@gnu.org>
9185
9186	* VERSION: Changed to 1.12.
9187
9188	Here some patches from various sources; most of them taken from
9189	the Debian distribution.
9190
9191	* tmac/groff_mdoc.man, tmac/groff_mdoc.samples.man,
9192	tmac/Makefile.sub: New files copied directly from the NetBSD
9193	distribution.  Probably, some additional adaptation later on is
9194	necessary...
9195
9196	* tmac/tmac.safer, tmac/groff_msafer.man: Added `so' to the list
9197	of unsafe requests.
9198
9199	* groff/groff.cc, groff/groff.man, nroff/nroff.sh,
9200	nroff/nroff.man, pic/main.cc, pic/pic.man, troff/input.cc,
9201	troff/troff.man: Added option `-U' for unsafe mode.  Safe mode
9202	(`-S') is now the default.
9203
9204	* README, NEWS: Updated.
9205
92061999-12-09  Werner LEMBERG  <wl@gnu.org>
9207
9208	* doc/groff.texinfo: Regenerated nodes and menus with emacs.
9209
9210	* doc/Makefile (clean): Added cleaning commands for groff.texinfo.
9211
92121999-12-06  Werner LEMBERG  <wl@gnu.org>
9213
9214	* configure.in: Removed AC_PREFIX_PROGRAM since it causes more
9215	grief than relief today.  Additionally, it is against the GNU
9216	coding standards.
9217
9218	* configure: Recreated.
9219
92201999-12-05  Werner LEMBERG  <wl@gnu.org>
9221
9222	* configure.in: Added GROFF_LIBM.
9223
9224	* configure: Recreated.
9225
9226	* aclocal.m4 (GROFF_LIBM): New function which tests whether -lm is
9227	necessary.
9228
9229	* Makefile.in: Added definition of $(LIBM).
9230
9231	* Makefile.comm (LIBM): Removed.
9232
9233	* pfbtops/Makefile.sub: On AIX, -lm is needed also.
9234
92351999-12-03  Gaius Mulley  <gaius@glam.ac.uk>
9236
9237	* doc/Makefile: Added rule for generation pic.html.
9238
9239	(clean): Files produced by grohtml will be removed also.
9240
9241	* doc/pic.ms: Small fix.
9242
9243	* tmac/tmac.html: Fixed suppression of headers.
9244
92451999-11-16  Gaius Mulley  <gaius@glam.ac.uk>
9246
9247	* tmac/tmac.html: Fixing horizontal arrows.
9248
9249	Turning off hyphenation.
9250
9251	* tmac/tmac.an: Improved support for grohtml; better indentation,
9252	no footers/headers.
9253
92541999-10-31  Gaius Mulley  <gaius@glam.ac.uk>
9255
9256	* tmac/tmac.arkup: Added CDFTP macro
9257
9258	* tmac/tmac.html: All headers are turned off for ms, me, and mm
9259	macros.
9260
9261	* tmac/troffrc: Some additions for HTML stuff.
9262
92631999-10-06  Gaius Mulley  <gaius@glam.ac.uk>
9264
9265	* tmac/tmac.html: Small changes.
9266
92671999-09-26  Werner LEMBERG  <wl@gnu.org>
9268
9269	* doc/groff.texinfo: Minor fixes.
9270
92711999-09-26  Gaius Mulley  <gaius@glam.ac.uk>
9272
9273	* devhtml/TR: Changed spacewidth to 3.
9274
9275	* tmac/Makefile.sub (NORMALFILES): Added tmac.arkup.
9276
9277	* tmac/tmac.html: Moved markup macros to tmap.arkup.
9278
9279	* tmac/tmac.arkup: New file.
9280
9281	* grohtml/ChangeLog: New file.
9282
92831999-09-16  Werner LEMBERG  <wl@gnu.org>
9284
9285	* doc/groff.texinfo (Common Features): Added Copying chapter.
9286	Changed format to @smallbook.
9287
92881999-09-15  Werner LEMBERG  <wl@gnu.org>
9289
9290	* NEWS: Added info about groff.texinfo.
9291
9292	* doc/groff.texinfo: Will now compile (using texi2dvi) without
9293	warning messages.
9294
92951999-09-14  Werner LEMBERG  <wl@gnu.org>
9296
9297	* groff/groff.man: More updates.
9298
92991999-09-13  Werner LEMBERG  <wl@gnu.org>
9300
9301	* doc/groff.texinfo: New file.  This manual is still very
9302	rudimentary.  It has been originally contributed by Trent
9303	A. Fisher <trent@gnurd.portland.or.us> with first corrections and
9304	additions by me.
9305
9306	* INSTALL: Added information about the `doc' subdir
9307
9308	* troff/troff.man: Minor fixes.
9309
9310	* groff/groff.man: Added missing `-L arg' to SYNOPSIS section;
9311	reordered options.
9312
9313	* troff/input.cc (usage): Added missing `-ffam' to usage message.
9314
9315	* Makefile.in (dist): groff-$(version).tar.gz must be removed
9316	also, otherwise it is included itself in another call of `make
9317	dist'.
9318
9319	* groff/groff.cc (synopsis): Removed superfluous space.
9320
9321	* PROJECTS, PROBLEMS, NEWS: Updated.
9322
9323	* VERSION: Updated to 1.12beta.
9324
9325	* BUG-REPORT: Some cosmetic fixes.  Corrected email address.
9326
9327	* README: Updated: Included documentation about CVS repository,
9328	mailing lists, and daily snapshots.
9329
9330	* tmac/Makefile.sub: Fixed $(tmap_wrap) finally.
9331
93321999-09-12  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
9333
9334	* tmac/tmac.an: If the tag didn't fit into the space that the
9335	macro `TP' specifies, the rest of the tag went into the space for
9336	the next line.
9337
93381999-09-12  Jeffrey Copeland  <jeff@opennt.com> 
9339
9340	* grolj4/lj4.cc: Added duplex printing (option `-d').
9341
9342	* grolj4/grolj4.man: Document duplex printing.
9343
93441999-09-12  Werner LEMBERG  <wl@gnu.org>
9345
9346	* doc/Makefile (pic.ps): Fixed rule which caused problems with
9347	non-GNUish sed programs.
9348
9349	* tmac/doc-syms: Removed extra space from -iso8802-3 macro
9350	definition.
9351
9352	* configure.in (LIBS): Added `-lc'
9353
9354	* Makefile.comm (.man.n): Added substitution for @TMAC_AN_PREFIX@.
9355
9356	* pic/tex.cc (solid_arc): Casting M_PI to double.
9357
9358	* libgroff/putenv.c (putenv): Changed function header to ANSI C.
9359
9360	* groff/groff.man, tmac/Makefile.sub (MAN7), tmac/groff_msafer.man
9361	(new file), tmac/msafer.man (deleted), tmac/groff_me.man (new
9362	file), tmac/me.man (deleted): {me,msafer} -> groff_{me,msafer}.
9363
9364	* groff/groff_man.man: New file.  This manual page was originally
9365	written for the Debian GNU/Linux system by Susan G. Kleinmann
9366	<sgk@debian.org>.
9367
9368	* eqn/list.cc (list_box::compute_metrics,
9369	list_box::compute_sublist_width): Removed variable declaration to
9370	avoid shadowing warnings.
9371
9372	* grops/psrm.cc (resource_manager::process_file): Ditto.
9373
9374	* tfmtodit/tfmtodit.cc (main): Ditto.
9375
9376	* libgroff/font.cc (font::load_desc): Renamed auxiliary variable
9377	to avoid shadowing warnings.
9378
9379	* tbl/table.cc (block_entry::do_divert, table::do_row): Renamed
9380	shadowing loop variable.
9381
9382	* groff/groff.man, troff/troff.man: Added doc about grohtml.
9383
93841999-09-12  Gaius Mulley  <gaius@glam.ac.uk>
9385
9386	New grohtml frontend to convert groff input to html.
9387
9388	* Makefile.in (CCPROGDIRS, DEVDIRS): Added html device.
9389
9390	* tmac/Makefile.sub (NORMALFILES): Added tmac.html.
9391
9392	* tmac/eqnrc: Added html device.
9393
9394	* tmac/tmac.html: New file.
9395
9396	* eqn/main.cc (do_file, inline_equation), pic/troff.cc
9397	(troff_output::start_picture, troff_output::finish_picture),
9398	tbl/main.cc (process_input_file):
9399	Surrounded output with `graphics_start' and `graphics_end' so that
9400	the html driver can identify non-text portions.
9401
9402	* grodvi/dvi.cc (dvi_printer::set_char), grolj4/lj4.cc
9403	(lj4_printer::set_char), grops/ps.cc (ps_printer::set_char),
9404	grotty/tty.ps (tty_printer::set_char): Additional parameter
9405	`name'.
9406
9407	* include/printer.h: Class printer: New function
9408	set_char_and_width; new variables (is_char_named, is_named_set,
9409	named_command, named_char_s, named_char_n) to hold information
9410	about named characters -- needed by the html driver.
9411
9412	* libdriver/printer.cc (printer::set_ascii_char,
9413	printer::set_special_char): Use set_char_and_width.
9414
9415	* devhtml/*: New device files for html driver.
9416
9417	* grohtml/*: New driver grohtml.
9418
94191999-09-11  Wilfredo Sanchez  <wsanchez@apple.com>
9420
9421	* tmac/doc-common, tmac/tmac.an: Removed the word `UNIX' in
9422	default strings.
9423
94241999-09-11  Luke Mewburn  <lukem@netbsd.org>
9425
9426	* libgroff/string.cc (search): Small fix to test against NULL
9427	pointer.
9428
94291999-09-11  Jeff Conrad  <jeff_conrad@msn.com>
9430
9431	* troff/node.cc (copy): The characters in a bracket escape (e.g.,
9432	\b'abc') were stacked in reverse order when processed in a
9433	diversion.
9434
9435	* troff/node.h: Added `*last' to struct `node' to make the above
9436	fix work.
9437
9438	* troff/input.cc (read_draw_node), libdriver/input.cc (do_file):
9439	The default scale for the 'f' and 't' graphics functions were 'm'
9440	rather than 'u' (i.e., no scaling).
9441
94421999-09-11  Peter Miller  <peterm@jna.com.au>
9443
9444	* groff/groff.cc (main), groff.man, soelim/soelim.cc (main,
9445	do_file), soelim/soelim.man: Added `-I file' option to soelim,
9446	defining include paths.
9447
9448	* soelim/soelim.cc (include_path_append): New function.
9449
94501999-09-11  Larry Jones  <larry.jones@sdrc.com>
9451
9452	* tbl/main.cc (process_options): Unix (at least Documenter's
9453	Workbench) tbl allows arbitrary non-alpha characters between
9454	options.
9455
94561999-09-11  Paul Eggert  <eggert@twinsun.com>
9457
9458	Y2k fixes.  Don't assume that the current year precedes 2000.
9459
9460	* doc/meref.me: Add \n(y2, \n(y4.
9461
9462	* tmac/doc-common (Yr): New number register.
9463	(Dd): Don't assume current year precedes 2000.
9464
9465	* tmac/tmac.e (td): Likewise.
9466	(y2, y4): New number registers.
9467
9468	* pic/pic.man: Update reference for pic paper to May, 1991
9469	version.
9470
94711999-09-11  Werner LEMBERG  <wl@gnu.org>
9472
9473	* tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub):
9474	Removed quotation marks which prevented correct expansion of
9475	$(tmac_wrap).
9476
9477	* devlj4/Makefile.sub (LJ4RES): Fixed value (600 instead of 300).
9478
94791999-09-10  Werner LEMBERG  <wl@gnu.org>
9480
9481	* Makefile.sub (DISTCLEANFILES): Added `config.log' and
9482	`config.cache'.
9483
9484	* Removed configure.old.
9485
94861999-08-31  Werner LEMBERG  <wl@gnu.org>
9487
9488	* VERSION: Updated to 1.11.1
9489
94901999-05-27  Werner LEMBERG  <wl@gnu.org>
9491
9492	* doc/Makefile: changed `.PS' postfix to `.ps' for consistency.
9493
9494	* tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub):
9495	added quotations around $(tmac_wrap) to avoid syntax error if
9496	variable is empty.
9497
9498	* configure: Newly generated using autoconf 2.13.
9499
9500	* Makefile.in (LDFLAGS): Set variable to @LDFLAGS@.
9501
9502Fri Aug 15 08:51:47 1997  Eric S. Raymond  <esr@snark.thyrsus.com>
9503
9504	* README, PROJECTS, NEWS, INSTALL, VERSION, 
9505	doc/Makefile. doc/pic.ms, groff/groff.man:
9506	Prepare for 1.11 release.  No code changes.
9507	Documentation for pic added (doc/pic.ms).
9508
9509Sun Nov 26 11:45:13 1995  James Clark  <jjc@jclark.com>
9510
9511	* Version 1.10 released.
9512
9513Fri Nov 24 09:56:16 1995  James Clark  <jjc@jclark.com>
9514
9515	* afmtodit/afmtodit.pl: Avoid comment on first line.
9516
9517Mon Nov 20 11:13:49 1995  James Clark  <jjc@jclark.com>
9518
9519	* aclocal.m4 (GROFF_INSTALL_SH): New macro.
9520	* configure.in: Call it.
9521
9522	* Makefile.sub (configure): Depends on aclocal.m4 not acgroff.m4.
9523	(distfiles): Doesn't depend on config.log or config.cache.
9524
9525Sun Oct  1 08:45:36 1995  James Clark  <jjc@jclark.com>
9526
9527	* grog/grog.sh: Use print "" rather than print in END rule.
9528
9529Wed Aug 23 13:30:52 1995  James Clark  <jjc@jclark.com>
9530
9531	* tbl/main.cc (process_data): Don't give error for excess data
9532	entries that are comments.
9533
9534Fri Jul 28 11:00:27 1995  James Clark  <jjc@jclark.com>
9535
9536	* tbl/main.cc (process_data): Fix case where new for-scope rules
9537	silently change meaning of code.
9538
9539Tue Jul  4 23:39:51 1995  James Clark  <jjc@jclark.com>
9540
9541	* troff/env.cc (hyphenate): Loop over all consecutive sequences
9542	of non-zero hyphenation codes.
9543
9544Sat Jul  1 00:42:15 1995  James Clark  <jjc@jclark.com>
9545
9546	* aclocal.m4 (GROFF_POSIX): Use conflicting declaration technique.
9547
9548Thu Jun 29 13:58:36 1995  James Clark  <jjc@jclark.com>
9549
9550	* tmac/tmac.e (ip): Divert the tag so as to freeze the spaces.
9551
9552Tue Jun 27 12:30:16 1995  James Clark  <jjc@jclark.com>
9553
9554	* tmac/tmac.andoc: Make it work in compatibility mode.
9555
9556	* refer/token.h (token_info::is_range_sep): New function.
9557	* refer/token.cc (init_special_chars): Make \(en a RANGE_SEP.
9558	* refer/ref.cc (reference::output): More sophisticated check for
9559	multiple pages.
9560
9561	* devps/prologue.ps (MANUAL): New procedure.
9562	* grops/ps.cc (main): New -m option.
9563	(usage): Include -m.
9564	(ps_printer::~ps_printer): Implement -m.
9565
9566	* aclocal.m4 (GROFF_G): New macro.
9567	* configure.in: Call it.
9568	* Makefile.in (g): Provided by configure.
9569
9570	* hpftodit/hpftodit.cc (basename): Rename to xbasename.
9571
9572	* tmac/tmac.tty: Disable warning about bad fonts.  Remove font
9573	translations.
9574
9575	* Makefile.in (tmacpath): Don't include /usr/lib/tmac.
9576	(tmac_m, tmac_s): Deleted.
9577	(sys_tmac_prefix, tmac_wrap, tmac_prefix, tmac_an_prefix,
9578	tmac_s_prefix): New variables.
9579	(MDEFINES): Change accordingly.
9580	* Makefile.comm (.man.n): Use new TMAC_* variables.
9581	* configure.in (GROFF_TMAC): Call.
9582	* aclocal.m4 (GROFF_TMAC): Define.
9583	* tmac/Makefile.sub (stamp_wrap): New target.
9584	(install_data, uninstall_sub): Handle macro wrapping.
9585
9586Mon Jun 26 14:54:39 1995  James Clark  <jjc@jclark.com>
9587
9588	* tbl/main.cc (main): Ignore -T option.
9589
9590Thu Jun 22 09:08:06 1995  James Clark  <jjc@jclark.com>
9591
9592	* devlj4/generate/special.map: Add definition of \(nb.
9593
9594	* tmac/tmac.dvi: Add definition of \(nb.
9595
9596	* troff/dictionary.c (dictionary::dictionary): association::v gets
9597	initialized by association::association.
9598
9599	* tmac/Makefile.sub: Avoid using temporary files when installing.
9600
9601	* troff/env.cc (environment::set_font): Make bad font number a
9602	warning.
9603
9604	* Makefile.in (fontpath): Remove $(prefix)/lib/font from fontpath.
9605
9606	* Makefile.in (datadir): Use share rather than lib.
9607
9608	* groff/groff.cc (basename): Rename to xbasename.
9609
9610Wed Jun 21 16:59:46 1995  James Clark  <jjc@jclark.com>
9611
9612	* Makefile (CCLIBS): Don't use.
9613	* Makefile.ccpg: Likewise.
9614
9615	* acgroff.m4: Rename to...
9616	* aclocal.m4: Modify extensively for autoconf 2.
9617	* configure.in: Likewise.
9618	* Makefile.in: Likewise.
9619
9620	* groff/pipeline.c (const): Declare as empty if __STDC__ not
9621	defined.
9622	(xstrsignal): Check for definition of NSIG. Conditionalize
9623	on SYS_SIGLIST_DECLARED.  Make return type const.
9624
9625Sat Jun 10 12:28:16 1995  James Clark  <jjc@jclark.com>
9626
9627	* troff/input.cc (interpolate_macro): Rephrase missing space
9628	warning.
9629
9630Thu May 11 01:07:16 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
9631
9632	* addftinfo/addftinfo.cc, eqn/delim.cc, eqn/lex.cc, eqn/list.cc,
9633	grodvi/dvi.cc, groff/groff.cc, grops/ps.cc, grops/psrm.cc,
9634	grotty/tty.cc, include/ptable.h indxbib/indxbib.cc,
9635	libbib/index.cc, libbib/linear.cc, libbib/search.cc,
9636	libdriver/input.cc, libdriver/printer.cc, libgroff/font.cc,
9637	libgroff/lf.cc, libgroff/nametoindex.cc, libgroff/ptable.cc,
9638	libgroff/string.cc, lkbib/lkbib.cc, lookbib/lookbib.cc,
9639	pic/lex.cc, pic/object.cc, pic/pic.y refer/label.y refer/ref.cc,
9640	refer/refer.cc, refer/token.cc, tbl/main.cc, tbl/table.cc,
9641	tfmtodit/tfmtodit.cc, troff/dictionary.cc, troff/div.cc,
9642	troff/env.cc, troff/input.cc, troff/node.cc, troff/symbol.cc:
9643	Fix 'for' scoping.
9644
9645Wed Apr 19 21:15:11 1995  James Clark  <jjc@jclark.com>
9646
9647	* troff/input.cc (spring_trap): Push a macro_iterator rather than a
9648	string_iterator.
9649	(spring_trap, postpone_traps, unpostpone_traps): Move to later in
9650	file.
9651	(macro_iterator::macro_iterator): Add additional argument.
9652
9653Mon Apr 10 12:06:02 1995  James Clark  <jjc@jclark.com>
9654
9655	* troff/div.cc (vertical_size::vertical_size): In place of integer
9656	specifying line spacing use cunits specifying post vertical
9657	space.
9658	(macro_diversion::output, top_level_diversion::output): Likewise.
9659	* troff/div.h: Change declarations accordingly.
9660	* troff/env.cc (pending_output_line): Replace ls field by post_vs
9661	field.
9662	(pending_output_line::pending_output_line,
9663	pending_output_line::output, environment::output,
9664	environment::output_line, environment::output_title,
9665	environment::hyphenate_line):  In place of
9666	integer specifying line spacing use cunits specifying post vertical
9667	space.
9668	(environment::environment): Add post_vertical_spacing and
9669	prev_post_vertical_spacing arguments.
9670	(environment::get_post_vertical_spacing): New function.
9671	(environment::total_post_vertical_spacing): New function.
9672	(environment::post_vertical_spacing): New function.
9673	(init_env_requests): Initialize pvs request and .pvs register.
9674	* troff/env.h: Change declarations.
9675
9676Tue Mar 28 09:52:07 1995  James Clark  <jjc@jclark.com>
9677
9678	* tmac/tmac.pspic: Immediately remove the temporary file.
9679
9680Sat Mar 25 10:43:11 1995  James Clark  <jjc@jclark.com>
9681
9682	* tmac/tmac.pspic (PSPIC): Scale graphic uniformly even when
9683	height is specified.
9684
9685Thu Jan 26 16:20:13 1995  James Clark  <jjc@jclark.com>
9686
9687	* tbl/table.c (struct vertical rule, class table_entry): Use int
9688	not short for start_row and end_row.
9689
9690Fri Jan 13 13:53:05 1995  James Clark  <jjc@jclark.com>
9691
9692	* troff/input.cc (trapping_blank_line, blank_line_macro): New
9693	functions.
9694	(diverted_space_node::reread, process_input_stack): Call
9695	trapping_blank_line() rather than blank_line().
9696	(init_input_requests): Bind "blm" to blank_line_macro().
9697
9698	* tmac/tmac.s (XA): Use .br and par@reset rather than XA.
9699
9700Tue Jan 10 11:40:35 1995  James Clark  <jjc@jclark.com>
9701
9702	* troff/env.cc (environment::possibly_break_line): Require that
9703	width total excluding width of final space node be greater than
9704	the target text length.
9705
9706Tue Jan  3 09:13:37 1995  James Clark  <jjc@jclark.com>
9707
9708	* troff/node.cc (kern_pair_node::vertical_extent): New function.
9709
9710Sun Dec  4 13:19:07 1994  James Clark  <jjc@jclark.com>
9711
9712	* troff/node.cc (charinfo_node): New class.
9713	(glyph_node, composite_node): Derive from charinfo_node.  Change
9714	member functions accordingly.
9715
9716Wed Nov 30 10:29:29 1994  James Clark  <jjc@jclark.com>
9717
9718	* nroff/nroff.sh: Use -Tlatin1 not -TLatin1.
9719
9720Mon Aug  8 10:17:59 1994  James Clark  (jjc@jclark.com)
9721
9722	* tmac/tmac.tty-char: Add definitions for \(ab and \[arrowvertex].
9723
9724	* devps/generate/textmap (notsubset): Add.
9725
9726	* tmac/tmac.a4: New file.
9727
9728Sun Jul 24 20:08:42 1994  James Clark  (jjc@jclark.com)
9729
9730	* pic/main.cc (had_parse_error): New variable.
9731	(do_picture, do_whole_file): Set had_parse_error if yyparse()
9732	returns non-zero.
9733	(main): Return 1 if had_parse_error is true.
9734
9735Tue Jul 19 13:40:31 1994  James Clark  (jjc@jclark.com)
9736
9737	* grolj4/lj4.cc (main): Avoid use of strtoul.
9738
9739Mon Jul 18 15:03:02 1994  James Clark  (jjc@jclark.com)
9740
9741	* nroff/nroff.sh: Default device is -Tlatin1 if $LC_CTYPE is
9742	iso_8859_1 or $LESSCHARSET is latin1.
9743
9744Sun Jul 10 13:38:35 1994  James Clark  (jjc@jclark.com)
9745
9746	* hpftodit: New directory.
9747	* Makefile.in (CCPROGDIRS): Add hpftodit.
9748	* devlj4/generate: New directory.
9749
9750Thu Jul  7 23:49:48 1994  James Clark  (jjc@jclark.com)
9751
9752	* configure.in: Don't use AC_VFORK.
9753	* groff/pipeline.c (run_pipeline): Use fork() always.
9754
9755Wed Jul  6 11:13:17 1994  James Clark  (jjc@jclark.com)
9756
9757	* grops/ps.cc (main): Use %1 not %s in error message for -w.
9758
9759	* Makefile.in (CCPROGDIRS): Add grolj4.
9760	(DEVDIRS): Add devlj4.
9761	* grolj4, devlj4: New directories.
9762	* tmac/troffrc: Handle lj4.
9763	* tmac/tmac.lj4: New file.
9764
9765Fri Jun 17 18:02:53 1994  James Clark  (jjc@jclark.com)
9766
9767	* tmac/tmac.e (@n): Set indent to 0 before calling |h.
9768
9769Wed Jun  1 07:33:47 1994  James Clark  (jjc@jclark.com)
9770
9771	* troff/input.cc (do_if_request): At end of second string, switch
9772	environments before getting next token.
9773
9774Fri May 20 07:39:18 1994  James Clark  (jjc@jclark.com)
9775
9776	* devps/psstrip.sed: Split rule that strips whitespace on either
9777	side of delimiters.
9778
9779Wed May 18 08:13:47 1994  James Clark  (jjc@jclark.com)
9780
9781	* troff/node.h (font_family::make_definition): Add return value to
9782	declaration.  * troff/symbol.h (symbol::operator==,
9783	symbol::operator!=): Likewise.
9784
9785Tue May 17 20:46:06 1994  James Clark  (jjc@jclark.com)
9786
9787	* groff/groff.cc (main, help, synopsis): Handle -S.
9788	(possible_command::insert_arg): New function.
9789
9790	* tmac/tmac.safer: New file.
9791	* tmac/msafer.man: New file.
9792	* tmac/Makefile.sub (FILES): Add tmac.safer and msafer.man.
9793
9794Thu Mar 10 01:58:30 1994  Paul Eggert  (eggert@twinsun.com)
9795
9796	* pic/pic.h, pic/main.cc (safer_flag): New variable.
9797	* pic/pic.y (placeless_element): Avoid unsafe operations if
9798	`safer_flag' is set.
9799	* pic/main.cc (main): Add -S option, which sets `safer_flag'.
9800
9801Tue May 10 13:02:31 1994  James Clark  (jjc@jclark.com)
9802
9803	* eqn/lex.cc (get_token): Put call to add_context() in block to
9804	work around Sun C++ 4.0 bug.
9805
9806	* include/stringclass.h (operator +): Use ?: instead of `if' to
9807	work around Sun C++ 4.0 bug.
9808
9809Thu May  5 11:18:03 1994  James Clark  (jjc@jclark.com)
9810
9811	* tbl/main.cc (process_format): Accept - as a synonym for the _
9812	key letter.
9813
9814	* libbib/index.cc (minus_one): Don't declare as const.
9815
9816Fri Apr 29 09:32:48 1994  James Clark  (jjc@jclark.com)
9817
9818	* troff/input.cc (get_char_for_escape_name): Push back a newline.
9819
9820Wed Apr 27 21:14:18 1994  James Clark  (jjc@jclark.com)
9821
9822	* troff/input.cc (write_macro_request): New function.
9823	(init_input_requests): Bind write_macro_request to writem.
9824
9825Sun Apr 17 11:15:38 1994  James Clark  (jjc@jclark.com)
9826
9827	* tmac/tmac.s (@EN): Turn filling back on even if there was no
9828	equation.
9829
9830	* eqn/lex.cc (do_space): Supply missing argument to lex_error.
9831
9832	* tmac/tmac.s (@TS): Renamed from TS.
9833	(TS): Call LP then TS again.
9834	(cov*ab-init): Alias @TS to TS.
9835
9836	* tmac/tmac.s: Allow QP or RS to initialize.
9837
9838	* tmac/tmac.s (par@load-init): New macro.  Call at end of file.
9839	Move initializations of PS and LL here.
9840	(par@init): Don't initialize HY.  Avoid changing environment 0.
9841	(par*env-init): Don't all par@reset.
9842
9843Thu Apr 14 19:15:45 1994  James Clark  (jjc@jclark.com)
9844
9845	* include/posix.h: Include <fcntl.h> only if not using <osfcn.h>.
9846
9847Sun Apr 10 09:54:44 1994  James Clark  (jjc@jclark.com)
9848
9849	* Makefile.in (MDEFINES): Add LDFLAGS.
9850	(LDFLAGS): Add definition line.
9851
9852Thu Apr  7 22:22:22 1994  James Clark  (jjc@jclark.com)
9853
9854	* troff/input.cc (get_optional_char): Split off error check into...
9855	(check_missing_character): New function.
9856	* troff/token.h: Declare it.
9857	* troff/env.cc (margin_character): Don't call get_optional_char.
9858	Only call tok.next() after making the node.
9859
9860	* include/lib.h (getopt): Make 2nd argument char *const *.
9861
9862Fri Mar 11 07:28:03 1994  James Clark  (jjc@jclark.com)
9863
9864	* nroff/conftest.sh: Deleted.
9865
9866Fri Mar  4 10:51:36 1994  James Clark  (jjc@jclark.com)
9867
9868	* pic/make-dos-dist: Deleted.
9869
9870Wed Mar  2 20:59:16 1994  James Clark  (jjc@jclark.com)
9871
9872	* devps/psstrip.sed: Strip comments before stripping trailing
9873	white space.
9874
9875Sat Feb 19 13:07:16 1994  James Clark  (jjc@jclark.com)
9876
9877	* Version 1.09 released.
9878
9879Wed Feb 16 16:53:49 1994  James Clark  (jjc@jclark.com)
9880
9881	* tmac/doc-ditroff (hK): Don't reset page number if \nC is > 0.
9882
9883Mon Feb 14 08:26:40 1994  James Clark  (jjc@jclark.com)
9884
9885	* libgroff/font.cc (font::load_desc): Fix typo in error message.
9886
9887Sun Feb 13 09:37:38 1994  James Clark  (jjc@jclark.com)
9888
9889	* libgroff/new.cc (operator new): Rewrite so as to avoid warning
9890	about returning without a value.
9891
9892	* troff/charinfo.h (charinfo::get_special_translation): Cast
9893	TRANSLATE_NONE to int.
9894
9895	* refer/token.cc (lookup_token, store_token): Remove bogus loop
9896	test.  Fix test so that it works with n unsigned.
9897
9898	* pic/pic.y (defaults_table): Fully bracket initializer.
9899	* pic/lex.cc (lookup_keyword): Likewise.
9900	* eqn/lex.cc (token_table, def_table): Likewise.
9901	* eqn/box.cc (param_table): Likewise.
9902	* troff/input.cc (warning_table): Likewise.
9903	* libgroff/font.cc (table): Likewise.
9904	* grops/ps.cc (ps_printer::special): Likewise.
9905	* grops/psrm.cc (resource_manager::process_file): Likewise.
9906	* tfmtodit/tfmtodit.cc (lig_chars, lig_table): Likewise.
9907	* refer/command.cc (command_table): Likewise.
9908	* addftinfo/addftinfo.cc (param_table): Likewise.
9909
9910	* troff/symbol.cc (symbol::symbol): Prevent compiler warnings
9911	about temp's being unused.
9912	(unused): New function.
9913
9914	* groff/pipeline.cc: Declare c_fatal.
9915
9916	* libbib/linear.cc (bmpattern::search): Cast patterrn[--j] to
9917	uchar.
9918
9919	* libbib/index.cc (index_search_item::load): Prevent compiler
9920	warnings about fd_closer's being unused.
9921	(unused): New function.
9922
9923Sat Feb 12 10:31:59 1994  James Clark  (jjc@jclark.com)
9924
9925	* troff/input.cc (copy_mode_error): Make `prefix' static.
9926	Fix typo.
9927
9928	* include/posix.h: Include <osfcn.h> is HAVE_CC_OSFCN_H is
9929	defined.
9930	* acgroff.m4, configure.in, Makefile: Rename HAVE_CC_UNISTD_H to
9931	HAVE_CC_OSFCN_H and modify accordingly.
9932
9933	* troff/input.cc (init_charset_table): radicalex overlaps
9934	horizontally.
9935
9936	* groff/acgroff.m4 (GROFF_ISC_SYSV3): New macro (from
9937	udodo!hans@relay.NL.net).
9938	* groff/configure.in: Call it.
9939
9940	* groff/acgroff.m4 (GROFF_PCLOSE): New macro.
9941	* groff/configure.in: Call it.
9942	* include/lib.h: Conditionalize declaration of pclose.
9943
9944	* troff/div.cc (last_page_number): New global variable.
9945	(top_level_diversion::begin_page): Exit if we just printed the
9946	last page.
9947	* troff/div.h (last_page_number): Declare it.
9948	* troff/input.cc (parse_output_page_list): Set last_page_number.
9949
9950	* eqn/sqrt.cc: Rename \(rn to \[radicalex].
9951	* devps/S, devps/textmap, tmac/tmac.ps, tmac/tmac.dvi,
9952	tmac/tmac.X: Likewise.
9953	* tmac/tmac.ps, tmac/tmac.X, tmac.dvi: Add definitions of \(rn.
9954	* tmac.dvi: Make \(ru and \(ul extend beyond their width by .04m.
9955
9956Fri Feb 11 11:45:40 1994  James Clark  (jjc@jclark.com)
9957
9958	* tmac/doc-ditroff (hK): Remove groff specific code which
9959	prevented page-breaks between separate manual entries.  If this is
9960	the first page, don't set the page number to 1.
9961
9962	* acgroff.m4 (GROFF_POSIX): New macro.
9963	* configure.in: Use it.
9964
9965	* troff/node.cc (class real_output_file,
9966	real_output_file::real_output_file,
9967	real_output_file::~real_output_file): Conditionalize use of
9968	popen/pclose on POPEN_MISSING.
9969	* troff/node.h: Conditionalize pipe_command on POPEN_MISSING.
9970	* troff/input.cc (pipe_command): Give an error if POPEN_MISSING.
9971	(pipe_source): Similarily.
9972
9973	* acgroff.m4 (GROFF_PROG_CCC): Update message about libg++.
9974
9975	* acgroff.m4 (GROFF_GETOPT, GROFF_PUTENV, GROFF_POPEN): Detect
9976	presence of declarations by trying to compile example with
9977	conflicting declarations.  (gcc only gives a warning for missing
9978	declarations.)
9979
9980Wed Feb  9 09:12:23 1994  James Clark  (jjc@jclark.com)
9981
9982	* tmac/tmac.pspic (PSPIC): Allow options to specify alignment
9983	(from Ulrich Lauther).
9984
9985Tue Feb  8 03:56:40 1994  James Clark  (jjc@jclark.com)
9986
9987	* libbib/linear.cc (file_buffer::load): Use S_ISREG macro.
9988
9989Thu Feb  3 09:34:35 1994  James Clark  (jjc@jclark.com)
9990
9991	* indxbib/indxbib.cc (write_hash_table): Add code for case where
9992	pointers and ints have different sizes.
9993
9994Sun Jan  9 16:17:51 1994  James Clark  (jjc@jclark.com)
9995
9996	* tmac/tmac.s (par*env-init): Call par@reset.
9997
9998Fri Jan  7 10:24:27 1994  James Clark  (jjc@jclark.com)
9999
10000	* tmac/tmac.s (@IP): Switch to a new environment when diverting
10001	tag.
10002	(par*push-tag-env, par*pop-tag-env): New macros.
10003
10004Wed Jan  5 21:18:34 1994  James Clark  (jjc@jclark.com)
10005
10006	* grops/ps.cc (ps_printer::ps_printer): Use MAX_LINE_LENGTH for
10007	initializing `out'.  Reduce MAX_LINE_LENGTH from 79 to 72.
10008
10009	* grops/ps.cc (ps_printer::~ps_printer): Output %%CreationDate
10010	comment.  Include <time.h>.
10011
10012Wed Dec 15 14:14:00 1993  James Clark  (jjc@jclark.com)
10013
10014	* grops/ps.cc (is_small_h, is_small_v): Deleted.
10015	(ps_printer::flush_sbuf): Use absolute motion only at beginning of
10016	lines.
10017
10018Tue Dec 14 10:06:34 1993  James Clark  (jjc@jclark.com)
10019
10020	* troff/input.cc (read_request): Only print a prompt if reading
10021	from the terminal.  Also clearerr on EOF if reading from the
10022	terminal.  Declare isatty.
10023
10024Mon Nov 29 08:38:15 1993  James Clark  (jjc@jclark.com)
10025
10026	* refer/label.y: Rename map_t to map_func and extractor_t to
10027	extractor_func.
10028
10029Sat Oct 30 06:38:12 1993  James Clark  (jjc@jclark.com)
10030
10031	* include/assert.h: Don't use volatile.
10032	* libgroff/assert.cc: Likewise.
10033
10034Fri Oct 29 15:00:23 1993  James Clark  (jjc@jclark.com)
10035
10036	* troff/input.cc (abort_request): Look at character in tok before
10037	calling get_copy().
10038
10039Thu Oct 28 14:09:48 1993  James Clark  (jjc@jclark.com)
10040
10041	* troff/troff.h (NO_RETURN): Deleted.
10042	* troff/div.cc (cleanup_and_exit):  Don't declare aas NO_RETURN.
10043	* troff/input.cc (exit_troff): Likewise
10044
10045	* Makefile.in: Remove `Making ...' messages since GNU make now
10046	gives these. 
10047
10048	* configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H.
10049
10050Wed Oct 27 11:12:51 1993  James Clark  (jjc@jclark.com)
10051
10052	* tmac/tmac.s (@init): Initialize PO to \n(.o here, rather than
10053	to constant 1 inch.
10054
10055Sat Oct 23 10:03:52 1993  James Clark  (jjc@jclark.com)
10056
10057	* tmac/tmac.e (hl): Use \n[.in] rather than \n(.i.
10058
10059Thu Oct 14 12:09:45 1993  James Clark  (jjc@jclark.com)
10060
10061	* eqn/delim.cc (delim_box::compute_metrics): Don't increase
10062	MARK_REG if there was no left delimiter.
10063
10064Sat Oct  2 19:54:47 1993  James Clark  (jjc@jclark.com)
10065
10066	* pic/troff.cc (troff_output::text): Set line thickness to
10067	relative before outputting text.
10068
10069	* tmac/tmac.e (@k): Don't zero ?T.
10070	((z): Likewise.
10071
10072Sat Sep 25 11:08:43 1993  James Clark  (jjc@jclark.com)
10073
10074	* tmac/tmac.e ($p): Handle possibility that $3 is empty.
10075
10076Wed Aug 18 08:51:41 1993  James Clark  (jjc@jclark.com)
10077
10078	* troff/input.cc (decode_args): Warn about unquoted tabs (from
10079	Paul Eggert).
10080
10081Tue Aug 10 08:38:32 1993  James Clark  (jjc@jclark.com)
10082
10083	* troff/input.cc (ignoring): New variable.
10084	(ignore): Set ignoring during call to do_define_macro.
10085	(do_define_macro): Clear ignoring before interpolating terminating
10086	macro.
10087	(copy_mode_error): New function.
10088	(get_char_for_escape_name, read_long_escape_name,
10089	interpolate_arg): Use copy_mode_error.
10090	(warning_table): Add WARN_IG.
10091	* troff/troff.h (WARN_IG): Declare.
10092	(WARN_TOTAL): Change accordingly.
10093
10094	* groff/pipeline.c (strsignal): Rename to xstrsignal.
10095	* groff/groff.cc (strsignal): Delete declaration.
10096
10097Fri Jul 16 01:43:12 1993  James Clark  (jjc@jclark.com)
10098
10099	* troff/div.cc (page_offset): Use 'm' as default scaling.
10100
10101Sat Jul  3 09:11:38 1993  James Clark  (jjc@jclark.com)
10102
10103	* nroff/nroff.sh: Ignore -u.
10104
10105Wed Jun  9 12:17:27 1993  James Clark  (jjc@jclark.com)
10106
10107	* Makefile.in (MDEFINES): Pass down MAKEOVERRIDES.
10108
10109Fri Jun  4 17:35:47 1993  James Clark  (jjc@jclark.com)
10110
10111	* tmac/tmac.s (par*box-draw): Set adjustment mode to l while
10112	drawing box.
10113	(B2): With -Tascii, leave additional vertical space before
10114	and after. Ensure that the left and right indent is restored to
10115	what it was even if the point size changes.  Don't call
10116	par@finish. Change the indent, line length and title length
10117	directly.  With -Tascii, make the width of the box 1n less.
10118	(B1): Remember 1n at the current point size.  Don't call
10119	par@reset.  Change the indent, line length and title length
10120	directly.  Ensure that the temporary indent is preserved.
10121	(par*box-mark-top): Turn off no spacing mode.
10122
10123Thu Jun  3 17:47:14 1993  James Clark  (jjc@jclark.com)
10124
10125	* Makefile.in (dist): Use .gz suffix.
10126
10127Thu May 27 20:04:59 1993  James Clark  (jjc@jclark.com)
10128
10129	* troff/input.cc (main): Add return 0.
10130	* pic/main.cc (main): Use return instead of exit.
10131	* tbl/main.cc (main): Likewise.
10132	* eqn/main.cc (main): Likewise.
10133	* grops/ps.cc (main): Likewise.
10134	* grotty/tty.cc (main): Likewise.
10135	* groff/groff.cc (main): Likewise.
10136	* grodvi/dvi.cc (main): Likewise.
10137	* refer/refer.cc (main): Likewise.
10138	* indxbib/indxbib.cc (main): Likewise.
10139	* lkbib/lkbib.cc (main): Likewise.
10140	* soelim/soelim.cc (main): Likewise.
10141	* addftinfo/addftinfo.cc (main): Likewise.
10142	* acgroff.m4 (GROFF_PROG_CCC, GROFF_CC_COMPILE_CHECK,
10143	GROFF_COOKIE_BUG, GROFF_CC_ANSI_BUG): Likewise.
10144
10145	* troff/token.h (process_input_stack): Don't declare as static.
10146	* troff/input.cc: Likewise.
10147
10148	* troff/node.c (invalidate_fontno): Make it a static member of
10149	class font_family.  Change callers.
10150	* troff/node.c: Change declaration.
10151
10152	* tbl/main.cc (struct input_entry_format): Add explicit public
10153	specifier.
10154	* tbl/table.cc (struct text_stuff, struct single_hline_stuff,
10155	struct double_hline_stuff): Likewise.
10156	* tbl/table.h (struct entry_format): Likewise.
10157	* pic/object.h (struct saved_state): Likewise.
10158
10159	* include/stringclass.h: Add forward declarations of friend
10160	functions that are later declared as inline.  Don't include inline
10161	specifier in friend declaration.
10162
10163	* libgroff/lib.h: Declare popen and pclose.
10164	* acgroff.m4 (GROFF_POPEN): New macro.
10165	* configure.in: Call it.
10166
10167	* include/lib.h (PI): New constant. Undef first if necessary.
10168	* tfmtodit/tfmtodit.cc (main): Use PI rather than M_PI.
10169	* grops/ps.cc (degrees, radians): Likewise.
10170	* libgroff/font.cc (font::get_skew): Likewise.
10171
10172	* grops/ps.cc (is_ascii): New function.
10173	(ps_output::put_string): Use is_ascii.  Use csprint rather than
10174	isprint.
10175	(ps_printer::define_encoding): Use csspace.
10176	* libgroff/strtol.c (ISASCII): New macro.
10177	(strtol): Cast arguments to is*() and tolower() to unsigned char.
10178	Use ISASCII rather than isascii.
10179	* libgroff/cmap.cc: Use isascii() only if <ctype.h> defines it.
10180	* libgroff/cset.cc: Likewise.
10181	* libdriver/input.cc: Include cset.h.
10182	(do_file, get_integer, possibly_get_integer): Use csdigit() rather
10183	than isdigit().
10184
10185	* refer/refer.cc (main): Use %ld rather than %d for longs.
10186
10187	* libbib/index.cc (index_search_item_iterator::get_tag): Use
10188	S_ISREG macro.
10189
10190	* addftinfo/addftinfo.cc (param_t): Add explicit `int'.
10191
10192Mon May 24 08:51:37 1993  James Clark  (jjc@jclark.com)
10193
10194	* troff/input.cc (hyphenation_code): Skip white space between
10195	char/code pairs.
10196
10197Sun May 16 08:15:52 1993  James Clark  (jjc at jclark.com)
10198
10199	* tbl/table.h (table::entry_list_tailp): New member.
10200	(table::table): Initialize it.
10201	(table::add_entry): Use entry_list_tailp to avoid O(n^2)
10202	behaviour.
10203
10204Sat May 15 17:26:00 1993  James Clark  (jjc at jclark.com)
10205
10206	* grotty/tty.cc (tty_printer::add_char): Don't discard characters
10207	with negative horizontal positions. Remove casts of glyph::hpos to
10208	int.
10209	(USHRT_MAX): Delete definition.
10210	(SHRT_MAX, SHRT_MIN): New definitions.
10211	(glyph::hpos): Change type to short.
10212	(tty_printer::end_page): Output multiple backspaces if necessary.
10213	 Remove casts of glyph::hpos to int.
10214	
10215Fri May  7 12:14:37 1993  James Clark  (jjc at jclark.com)
10216
10217	* tmac/tmac.s (@RT): New definition.
10218
10219Thu May  6 21:36:54 1993  James Clark  (jjc at jclark.com)
10220
10221	* refer/refer.cc (do_file): Make sure current_filename is set when
10222	filename is "-".
10223
10224	* pic/common.cc (common_output::dot_line): Handle zero length
10225	lines.
10226
10227Sun May  2 19:54:16 1993  James Clark  (jjc at jclark.com)
10228
10229	* tmac/tmac.s (par@reset): Get value for .hy for \n[HY].
10230	(par@init): Initialize \n[HY].
10231
10232Mon Apr 26 11:43:16 1993  James Clark  (jjc at jclark.com)
10233
10234	* troff/dictionary.cc (dictionary::remove): Continue when
10235	r < j < i.
10236
10237Sun Apr 25 11:03:00 1993  James Clark  (jjc at jclark.com)
10238
10239	* Makefile.com (.y.cc): Avoid ending up with two versions of
10240	$(YTABH).
10241
10242Thu Apr 22 21:03:45 1993  James Clark  (jjc at jclark.com)
10243
10244	* tmac/tmac.dvi (\(,c): Define only if it does not exist.
10245	(\(,C): Likewise.  Also fix typo.
10246
10247Wed Apr 21 08:47:32 1993  James Clark  (jjc at jclark.com)
10248
10249	* lib.h: Delete extraneous semi-colon.
10250
10251	* Add pso request: `so' from a pipe.
10252	* troff/input.c (file_iterator::file_iterator): Add 3rd argument.
10253	(file_iterator::close): New function.
10254	(file_iterator::~file_iterator, file_iterator::next_file): Use
10255	file_iterator::close.
10256	(file_iterator::backtrace): Say `process' rather than `file' when
10257	the stream is popened.
10258	(pipe_source): New function.
10259	(init_input_requests): Bind ".pso" to pipe_source.
10260
10261Tue Apr 20 00:02:26 1993  James Clark  (jjc at jclark.com)
10262
10263	* afmtodit/afmtodit.pl: Avoid single quotes in comments.
10264
10265	* pfbtops/pfbtops.c: Output 64 characters per line.  Output hex
10266	digits in lower case.
10267
10268Mon Apr 19 09:55:57 1993  James Clark  (jjc at jclark)
10269
10270	* Version 1.08 released.
10271
10272	* Makefile.in (dist): Insert || true after ln -s commands that
10273	might fail.
10274
10275	* mm: Update to mm 1.16.
10276
10277	* acgroff.m4 (GROFF_CSH_HACK): New macro.
10278	* configure.in: Call GROFF_CSH_HACK.  Substitute for
10279	SH_SCRIPT_SED_CMD.
10280	* Makefile.in (SH_SCRIPT_SED_CMD): New variable.  Include in
10281	MDEFINES.
10282	* nroff/Makefile.sub (nroff): New target.
10283	(install_data): Install nroff.
10284	* eqn/Makefile.sub (neqn): Sed with SH_SCRIPT_SED_CMD.
10285	* grog/Makefile.sub (grog): Sed grog.sh with SH_SCRIPT_SED_CMD.
10286
10287Sat Apr 17 08:24:28 1993  James Clark  (jjc at jclark)
10288
10289	* eqn/Makefile.sub (neqn): Add chmod +x.
10290
10291	* grog/Makefile.sub (grog): Remove spurious semi-colon.
10292
10293Fri Apr 16 22:41:57 1993  James Clark  (jjc at jclark)
10294
10295	* troff/input.cc (string_iterator::string_iterator()): Initialize
10296	lineno and count.
10297
10298Tue Apr 13 10:22:28 1993  James Clark  (jjc at jclark)
10299
10300	* troff/div.cc (macro_diversion::space,
10301	top_level_diversion::space): Don't set high_water_mark.
10302	(macro_diversion::output, top_level_diversion::output): Don't
10303	include post line space in high water mark.
10304
10305Wed Apr  7 12:48:18 1993  James Clark  (jjc at jclark)
10306
10307	* eqn/eqn.y: Don't define YYDEBUG.
10308	* pic/pic.y: Likewise.
10309
10310Mon Apr  5 10:15:15 1993  James Clark  (jjc at jclark)
10311
10312	* tmac/tmac.e ([3): Add space after comma following editors.
10313	Change double spaces to single spaces.
10314	([4): Change double spaces to single spaces.
10315
10316	* grops/ps.h (USE_PS_ADOBE_2_0): New flag for broken_flags.
10317	* grops/ps.cc (ps_printer::~ps_printer): If the USE_PS_ADOBE_2_0
10318	bit is set in broken_flags, use 2.0 rather than 3.0 as the version
10319	after %!PS-Adobe- (for Newsprint).
10320
10321	* troff/div.cc (top_level_diversion::begin_page): When
10322	before_first_page is 1, set page_number to 1.
10323
10324Sun Apr  4 14:28:53 1993  James Clark  (jjc at jclark)
10325
10326	* eqn/box.cc (box::top_level): Protect equation with \&.
10327
10328Sat Apr  3 23:27:25 1993  James Clark  (jjc at jclark)
10329
10330	* groff/groff.cc (possible_command::set_name): Delete old name.
10331
10332	* groff/groff.cc (possible_command::~possible_command): Use
10333	a_delete.
10334
10335	* troff/node.cc (troff_output_file::begun_page): New member.
10336	(troff_output_file::troff_output_file): Initialize it.
10337	(troff_output_file::really_begin_page): Only output V command if a
10338	page has been begun.
10339
10340	* pic/pic.y (placeless_element): Delete argument to PRINT after
10341	use.
10342
10343Fri Apr  2 11:31:02 1993  James Clark  (jjc at jclark)
10344
10345	* Make wrapman work.
10346	* troff/div.h (class top_level_diversion): Replace
10347	first_page_begun by before_first_page (with opposite sense).
10348	* Change first_page_begun to before_first_page inverting sense.
10349	* troff/div.cc (class nl_reg): New class.
10350	(init_div_requests): Use class nl_reg for \n(nl.
10351	(top_level_diversion::begin_page): Don't call
10352	output_file::begin_page if before_first_page is 2;
10353	reset before_first_page afterwards.  If have_next_page_number is
10354	false, then always increment page_number.
10355	* tmac/tmac.an: Set traps within TH rather than at the top-level.
10356	Restore compatibility mode after loading, and then disable
10357	compatibility mode in TH.
10358
10359Thu Apr  1 11:09:34 1993  James Clark  (jjc at jclark)
10360
10361	* grotty/tty.cc (tty_printer::end_page): Don't discard characters
10362	past last line.
10363	* troff/node.h (output_file::trailer): Declare.
10364	* troff/div.cc (cleanup_and_exit): Call output_file::trailer().
10365	* troff/node.cc (output_file::trailer): New function.
10366	(troff_output_file::~troff_output_file): Move most code into...
10367	(troff_output_file::trailer): New function.
10368	(class troff_output_file): Delete page_length member. Declare
10369	trailer().
10370	(troff_output_file::really_begin_page): Use current page length
10371	for final V command.
10372
10373	* tbl/main.cc (struct options): New decimal_point_char member.
10374	(options::options): Initialize this.
10375	(process_options): Implement decimalpoint option.
10376	(process_data): Pass decimal_point_char option to table::table.
10377	* tbl/table.h (class table): New decimal_point_char member.
10378	(table::table): Add additional argument.
10379	* tbl/table.cc (find_dot): Rename to find_decimal_point. Add
10380	second argument specifying decimal point character.  Use this
10381	instead of '.'.
10382	(table::table): Initialize decimal_point_char.
10383	(table::add_entry): Change call to find_dot.
10384
10385	* troff/input.cc (get_copy, token::next): Implement \V.
10386	(interpolate_environment_variable): New function.
10387
10388Tue Mar 30 14:41:39 1993  James Clark  (jjc at jclark)
10389
10390	* pic/lex.cc (lookup_keyword): Rename MIN to K_MIN, MAX to K_MAX.
10391	* pic/pic.y: Likewise.
10392
10393	* grotty/tty.cc (tty_printer::add_char, tty_printer::end_page):
10394	Add casts to int.
10395	* refer/ref.cc (reference::insert_field, reference::delete_field):
10396	Likewise.
10397	* troff/number.cc (parse_term): Likewise.
10398
10399	* acgroff.m4 (GROFF_PROG_YACC): New macro.
10400	* configure.in: Use GROFF_PROG_YACC.
10401
10402	* acgroff.m4 (GROFF_PROG_CCC): Don't add -O automatically for gcc
10403	and g++.
10404	* Makefile.in (OPTIMIZE): New define.
10405	(DEBUG): Empty by default.
10406	(CCFLAGS, CFLAGS): Include $(OPTIMIZE).
10407
10408	* acgroff.m4 (GROFF_SYS_SIGLIST): Don't quote program.
10409	(GROFF_ARRAY_DELETE): Likewise.
10410	(GROFF_CC_COMPILE_CHECK): Quote use of $2 and $3.
10411
10412	* troff/env.cc (trie::~trie): Make virtual to shut up g++.
10413
10414	* devps/psstrip.sed: Use different delimiter on last line (so that
10415	it works with BSD 4.4 sed.)
10416
10417Mon Mar 29 17:07:14 1993  James Clark  (jjc at jclark)
10418
10419	* devps/psstrip.sed: Delete comments.
10420
10421	* acgroff.m4 (AC_GETOPT): Don't test whether <unistd.h> declares
10422	optind, opterr, optarg.
10423	* lib.h: When UNISTD_H_DECLARES_GETOPT is defined, declare optind,
10424	opterr, optarg.
10425
10426Sun Mar 28 17:44:25 1993  James Clark  (jjc at jclark)
10427
10428	* Makefile.in (check): Dummy target.
10429
10430Wed Mar  3 04:53:38 1993  James Clark  (jjc at jclark)
10431
10432	* Version 1.07 released.
10433
10434	* Integrate mm 1.11.
10435
10436	* tbl/table.cc (alphabetic_block_entry::print): start_row was used
10437	where start_col was meant.
10438
10439Thu Feb 25 07:55:36 1993  James Clark  (jjc at jclark)
10440
10441	* grog/grog.sh, grog/grog.pl: Recognize PH and SA as -mm macros.
10442
10443Wed Feb 24 10:15:34 1993  James Clark  (jjc at jclark)
10444
10445	* troff/input.cc (token::next): Make \z\o'...' and similar things
10446	work.
10447
10448	* env.h (MARGIN_CHARACTER_ON, MARGIN_CHARACTER_NEXT): New
10449	constants.
10450	(environment): Add margin_character_flags member.
10451	* env.cc (environment::environment(symbol),
10452	environment::environment(const environment *): Initialize
10453	margin_character_flags.
10454	(margin_character): Rewrite.
10455	(environment::output_line): Add a margin character if
10456	margin_character_flags is non-zero.  Turn off the
10457	MARGIN_CHARACTER_NEXT bit.  If that makes margin_character_flags
10458	zero, use margin_character_node without copying and then set
10459	margin_character_node to 0.
10460
10461	* devps/DESC.in: Change minimum size to 1000.
10462
10463Tue Feb 23 14:57:49 1993  James Clark  (jjc at jclark)
10464
10465	* troff/symbol.h (symbol::hash): Change return type to unsigned
10466	long.
10467	* troff/dictionary.cc (dictionary::lookup, dictionary::remove):
10468	Add casts to int.
10469
10470	* test-groff: Use -r rather than -x.
10471
10472	* grops/psfig.diff: Include in distribution again.
10473
10474Mon Feb 22 09:10:44 1993  James Clark  (jjc at jclark)
10475
10476	* Makefile.in (dist): Use gzip.
10477
10478Sun Feb 21 11:12:53 1993  James Clark  (jjc at jclark)
10479
10480	* acgroff.m4 (GROFF_GETOPT): Check for declaration of getopt() in
10481	unistd.h as well as in stdlib.h.
10482	* include/lib.h: Include <stdlib.h> is STDLIB_H_DECLARES_GETOPT is
10483	defined; otherwise include <sys/types.h> and <unistd.h> if
10484	UNISTD_H_DECLARES_GETOPT is defined.
10485
10486	* configure.in: use builtin(include, ... rather than include(...
10487	* configure: Regenerate with autoconf 1.3.
10488
10489	* libdriver/print.cc (printer::adjust_arc_center): Use new
10490	algorithm suggested by Andy Fyfe.
10491
10492	* libdriver/printer.cc (printer::adjust_arc_center): New function.
10493	* include/printer.h: Declare this.
10494	* grops/ps.cc (ps_printer::draw): Use it.
10495	* grodvi/dvi.cc (dvi_printer::draw): Use it.
10496
10497Fri Feb 19 23:13:51 1993  James Clark  (jjc at jclark)
10498
10499	* Makefile.comm (.man.n): Replace macrodir by tmacdir.
10500
10501Thu Feb 11 16:46:59 1993  James Clark  (jjc at jclark)
10502
10503	* eqn/main.cc (main): Handle "eqn -".
10504
10505Mon Jan  4 20:29:56 1993  James Clark  (jjc at jclark)
10506
10507	* tmac/tmac.e (++): Install fix from comp.bugs.4sd.
10508
10509	* mm: Integrate version 1.08.
10510
10511	* pic/troff.cc (troff_output::finish_picture): Set
10512	EQN_NO_EXTRA_SPACE reg to 0 rather than removing it.
10513	* eqn/box.cc (box::extra_space): Set EQN_NO_EXTRA_SPACE_REG to 0
10514	if it's not defined. Check whether the register is non-zero rather
10515	than whether it's not defined.
10516	* tmac.e ({, <): Make argument to \x zero if \n(0x is non-zero.
10517
10518	* indxbib/indxbib.cc: Move all signal handling into...
10519	* indxbib/signal.c: New file.
10520	* configure.in: Call AC_RETSIGTYPE.
10521
10522	* acgroff.m4 (GROFF_STRUCT_EXCEPTION): New macro.
10523	* configure.in: Call GROFF_STRUCT_EXCEPTION.
10524	* libgroff/matherr.c: Protect with ifdef HAVE_STRUCT_EXCEPTION.
10525
10526	* troff/input.cc (token::token, token::operator=): Work round SGI
10527	C++ bug.
10528	* pic/object.cc (position::position): Likewise.
10529
10530Mon Dec 28 21:50:21 1992  James Clark  (jjc at jclark)
10531
10532	* pic/pic.h: Move declaration of hypot().
10533
10534Wed Dec 16 12:28:29 1992  James Clark  (jjc at jclark)
10535
10536	* pic/pic.h: Declare hypot().
10537
10538	* pic/pic.h: Define M_PI if necessary.
10539
10540Thu Dec 10 12:03:29 1992  James Clark  (jjc at jclark)
10541
10542	* tmac/tmac.e (re): Add alternative version that doesn't use groff
10543	`.ta T' feature.
10544
10545	* devps/prologue.ps (RE): Handle the possibility that the old font
10546	doesn't have a FontName entry.
10547
10548Wed Dec  2 10:25:29 1992  James Clark  (jjc at jclark)
10549
10550	* tmac/tmac.e (fam): Redefine to set family in environment 2.
10551	(@C): Use @fam not fam.
10552
10553Thu Nov 26 16:01:25 1992  James Clark  (jjc at jclark)
10554
10555	* lookbib/lookbib.cc (main): Change type of start to const char *.
10556	* lkbib/lkbib.cc (main): Likewise.
10557
10558	* eqn/lex.cc (definition::definition): Don't use member
10559	initializer syntax for members of anonymous unions.
10560
10561	* troff/input.cc (input_stack::backtrace): Change type of to const
10562	char *.
10563
10564Wed Nov 25 13:43:09 1992  James Clark  (jjc at jclark)
10565
10566	* include/stringclass.h (class string): Declare inline friend
10567	functions as inline in class declaration.
10568	* troff/hvunits.h (class hunits, class vunits): Likewise.
10569	* include/refid.h (class reference_id): Likewise
10570	* troff/troff.h (points_to_units(units), scale(units, double)):
10571	Delete declarations.
10572	* libdriver/input.cc (get_char): Delete declaration.
10573	* include/lib.h: Change 2nd argument of getopt from const char **
10574	to char **.
10575	* troff/symbol.cc (symbol::symbol): Cast `new char *[n]' to `const
10576	char **' before assigning to a `const char **'.
10577	* tbl/table.cc: Delete extra declarations of prints().
10578
10579Tue Nov 24 14:33:13 1992  James Clark  (jjc at jclark)
10580
10581	* libgroff/font.cc (font::load_desc): Cast `new char *[n]' to `const
10582	char **' before assigning to a `const char **'.
10583
10584	* libgroff/errarg.cc (errarg::errarg): Don't use member
10585	initializer syntax for members of anonymous unions.
10586
10587Sat Nov 21 05:02:23 1992  James Clark  (jjc at jclark)
10588
10589	* mm: Integrate version 1.07.
10590
10591Tue Nov 17 16:44:27 1992  James Clark  (jjc at jclark)
10592
10593	* troff/input.c (translate2): Rename to
10594	(translate_no_transparent).
10595	(init_input_requests): Rename tr2 to trnt.
10596
10597Mon Nov 16 09:49:32 1992  James Clark  (jjc at jclark)
10598
10599	* troff/charinfo.h (class charinfo): Add transparent_translate field.
10600	(charinfo::set_translation, charinfo::set_special_translation):
10601	Add second argument that specifies value for
10602	transparent_translate.
10603	(charinfo::get_translation, charinfo::get_special_translation):
10604	Add optional second argument that specifies whether translation is
10605	being used for transparent throughput.
10606	* troff/input.cc (charinfo::set_translation,
10607	charinfo::set_special_translation): Handle second argument.
10608	(charinfo::charinfo): Initialize transparent_translate.
10609	(translate): Split main part off into
10610	(do_translate): New function.  Pass argument saying whether
10611	translation applies to transparent throughput.
10612	(translate2): New request.
10613	(init_input_requests): Bind translate2 to `tr2'.
10614
10615Wed Nov 11 11:43:20 1992  James Clark  (jjc at jclark)
10616
10617	* tbl/table.h (class table): Add `nokeep' flag.
10618	* tbl/main.cc (process_options): Handle `nokeep' option.
10619	* tbl/table.cc (table::init_output, table::do_row, table::do_top,
10620	table::do_bottom): Don't output keep/release macro definitions or
10621	calls when `nokeep' option has been specified.
10622
10623Sat Nov  7 01:28:33 1992  James Clark  (jjc at jclark)
10624
10625	* tmac/tmac.Xps (Xps-char): Use " as delimiter for \Z.
10626
10627Wed Nov  4 16:29:04 1992  James Clark  (jjc at jclark)
10628
10629	* tbl/table.cc (table_entry::divert, block_entry::do_divert,
10630	block_entry::divert, alphabetic_block_entry::divert): Add extra
10631	argument giving column separation.
10632	(table::compute_widths): Pass column separation to
10633	table_entry::divert().
10634	(block_entry::do_divert): If an entry spans multiple columns and a
10635	minimumum width has been specified for each column, then set the
10636	line length to the sum of the widths (plus possibly the column
10637	separations).
10638
10639	* troff/input.cc (set_escape_char): Don't set the escape_char
10640	until after calling has_arg().
10641
10642Tue Nov  3 11:23:27 1992  James Clark  (jjc at jclark)
10643
10644	* tbl/table.cc (table::do_top): Add missing \s0 for double box
10645	case.
10646
10647	* tbl/table.cc (table::print_double_hline): Avoid extra new line
10648	in case where r > nrows - 1.
10649
10650	* tbl/table.cc (BODY_HEIGHT): Deleted.
10651	(LINE_SEP): New definition.
10652	(table::print_single_hline, table::print_double_hline,
10653	table::compute_vrule_top_adjust, table::compute_vrule_bot_adjust,
10654	table::do_row, table::do_top): Use LINE_SEP space before a line
10655	instead of \n[.v]-BODY_HEIGHT-BODY_DEPTH.
10656
10657	* tbl/table.cc (text_entry::print_contents): New function.
10658	(text_string_name, right_text_string_name): Deleted.
10659	(TEXT_STRING, RIGHT_TEXT_STRING): Deleted.
10660	(simple_text_entry::do_width, numeric_text_entry::do_width,
10661	alphabetic_text_entry::do_width): Don't store the contents of the
10662	entry in a string.
10663	(left_text_entry::simple_print, right_text_entry::simple_print,
10664	center_text_entry::simple_print,
10665	alphabetic_text_entry::simple_print,
10666	numeric_text_entry::simple_print): Print the entry directly
10667	instead of using the stored string.
10668
10669Fri Oct 30 10:39:32 1992  James Clark  (jjc at jclark)
10670
10671	* devps/Makefile: Strip PostScript files.
10672	* devps/prologue: Rename to...
10673	* devps/prologue.ps.
10674	* devps/psstrip.sed: New file.
10675	* devps/download: Use .pfa rather than .ps for installed versions
10676	of fonts.
10677
10678Thu Oct 29 09:14:43 1992  James Clark  (jjc at jclark)
10679
10680	* troff/env.cc (input_trap): Give a warning if the argument is out
10681	of range.
10682
10683	* troff/env.cc (adjust): Treat negative argument as missing. Round
10684	argument > 5 down to 5.
10685
10686	* troff/env.cc (center, right_justify): Make negative argument zero.
10687
10688	* troff/div.cc (page_offset, vertical_position_traps): Treat
10689	invalid argument as missing.
10690	* troff/env.cc (line_spacing, line_length, title_length, indent,
10691	underline, hyphen_line_max_request, control_char,
10692	no_break_control_char, widow_control_request, adjust, input_trap,
10693	point_size): Likewise.
10694	* troff/node.cc (ligature, kern_request, bold_font, track_kern,
10695	constant_space): Likewise.
10696	* troff/input.cc (compatible, shift, warn_request,
10697	set_escape_char): Likewise.
10698
10699	* tbl/main.cc (format::format): Avoid doing `new int[0]'.
10700	* tbl/table.cc (table::table): Likewise.
10701
10702	* Makefile.dev (install_dev): depends on $(DEVFILES).
10703
10704Wed Oct 28 08:30:57 1992  James Clark  (jjc at jclark)
10705
10706	* devX75, devX75-12, devX100, devX100-12: New directories.
10707	* Makefile.in: Add these to DEVDIRS.
10708
10709	* troff/Makefile.sub, eqn/Makefile.sub, indxbib/Makefile.sub,
10710	afmtodit/Makefile.sub, tmac/Makefile.sub, nroff/Makefile.sub,
10711	grog/Makefile.sub, mm/Makefile.sub (uninstall_sub): New target.
10712	* Makefile.in (uninstall, uninstall_sub, uninstall_dirs): New
10713	targets.
10714	* Makefile.ccpg, Makefile.cpg, Makefile.dev, Makefile.man
10715	(uninstall): New target.
10716	* Makefile.comm (uninstall, uninstall_sub, uninstall_man,
10717	uninstall_prog, uninstall_dev): New targets.
10718
10719	* troff/div.cc (return_request): Treat an invalid argument as
10720	missing.
10721
10722Mon Oct 26 11:33:47 1992  James Clark  (jjc at jclark)
10723
10724	* tmac/tmac.e ((f): Set up the environment even when there's a
10725	current diversion.  Transperently throughput a call to @N.
10726	(@N): New macro.
10727
10728Thu Oct 22 05:05:59 1992  James Clark  (jjc at jclark)
10729
10730	* tbl/table.cc (table::compute_vrule_top_adjust): Round adjustment
10731	up to vertical resolution.
10732
10733	* tbl/table.cc (table::do_row): Change row number after printing
10734	stuff list.
10735
10736	* pic/lex.cc (get_token_after_dot): Make .left and .right work.
10737
10738Wed Oct 21 14:46:45 1992  James Clark  (jjc at jclark)
10739
10740	* Rename CHANGES to NEWS.
10741
10742Tue Oct 20 23:25:21 1992  James Clark  (jjc at jclark)
10743
10744	* libgroff/new.cc (operator new): Avoid calling malloc(0).
10745
10746Mon Oct 19 09:10:13 1992  James Clark  (jjc at jclark)
10747
10748	* man.ultrix: Removed.
10749
10750Sun Oct 18 06:35:15 1992  James Clark  (jjc at jclark)
10751
10752	* Makefile.comm (extraclean): Delete files whose names begin with
10753	`='.
10754
10755	* pic/troff.cc (troff_output::text): Fix typo in implementation of
10756	aligned text.
10757
10758Sat Oct 10 09:32:29 1992  James Clark  (jjc at jclark)
10759
10760	* troff/env.cc (hyphenate_request, vertical_spacing, no_number):
10761	* troff/div.cc (page_length, need_space, space_request): Treat
10762	invalid optional argument as missing.
10763	* troff/env.cc (number_lines): If the first argument is present
10764	but not a number, turn on line numbering, don't change the next
10765	line number and parse the remaining arguments.
10766
10767	* tmac/tmac.e (@q): Do the `ne' before changing to environment 2.
10768
10769Thu Oct  8 10:24:40 1992  James Clark  (jjc at jclark)
10770
10771	* eqn/box.h: Change declaration accordingly.
10772	* eqn/box.cc (set_gsize): Change return type to int.  Return 0 if
10773	the specified size was bad but don't give an error.  Check for
10774	overflow.
10775	* eqn/main.cc (main): Change caller. Leave validation to set_gsize.
10776	* eqn/lex (do_size): Likewise.
10777
10778Wed Oct  7 09:48:59 1992  James Clark  (jjc at jclark)
10779
10780	* acgroff.m4 (GROFF_PROG_CCC): Use fopen when checking for C++
10781	compatible headers.
10782
10783Sun Oct  4 18:24:02 1992  James Clark  (jjc at jclark)
10784
10785	* tbl/table.cc (table::init_output): Improve error message when
10786	table won't fit on one page.
10787
10788Fri Oct  2 10:41:40 1992  James Clark  (jjc at jclark)
10789
10790	* pic/troff.cc (troff_output::start_picture): Generate line
10791	containing a horizontal motion equal to the width of the picture.
10792
10793	* groff/groff.cc (main): Allow PROG_PREFIX to be set at runtime
10794	using GROFF_COMMAND_PREFIX environment variable.
10795
10796Fri Sep 25 11:40:40 1992  James Clark  (jjc at jclark)
10797
10798	* mdate.sh: Use $NF rather than $(NF).
10799
10800Tue Sep 22 09:47:24 1992  James Clark  (jjc at jclark)
10801
10802	* pic/main.cc (main):  Use %1 not %c in argument to warning.
10803
10804	* eqn/main.cc (main): Output code to check that geqn was given the
10805	correct -T option.
10806
10807Mon Sep 21 10:59:16 1992  James Clark  (jjc at jclark)
10808
10809	* Makefile.in (dist): Instead of doing `make -f ../Makefile', do
10810	`ln -s ../Makefile .; make; rm -f Makefile'.
10811
10812	* troff/hyphen: Rename to...
10813	* troff/hyphen.us:
10814	* troff/input.cc (main): Delete -H option. Don't call
10815	read_hyphen_file().
10816	* troff/env.cc: Include searchpath.h and macropath.h.
10817	(exception_dictionary): Deleted.
10818	(ht): Deleted.
10819	(read_hyphen_file): Deleted.
10820	(hyphenation_language): New struct.
10821	(class trie, class hyphen_trie): Move declarations up.
10822	(trie_node::~trie_node): Deleted.
10823	(trie::delete_trie_node): New function.
10824	(trie::do_delete): New pure virtual function.
10825	(hyphen_trie::do_delete): New function.
10826	(trie::~trie): New function.
10827	(hyphen_trie::~hyphen_trie): New function.
10828	(trie::clear): No need to chcek that tp is not 0.
10829	(current_language, language_dictionary): New variables.
10830	(hyphen_word): Give an error if no current language.  Use
10831	exceptions dictionary in current language.
10832	(hyphen_trie::read_patterns_file): Find file using macro_path.
10833	Allow comments (starting with %) in patterns file.  Don't make it
10834	a fatal error if the file can't be found.
10835	(hyphenate): Return if no current language.  Get the exceptions
10836	dictionary and the hyphenation patterns from the current language.
10837	(set_hyphenation_language): New variable.
10838	(hyphenation_patterns_file): New function.
10839	(hyphenation_language_reg): New class.
10840	(hyphenation_language_reg::get_string): New function.
10841	(init_hyphen_requests): Bind "hla" to set_hyphenation_language and
10842	"hpf" to hyphenation_patterns_file.  Initialize `.hla' number
10843	register.
10844	* groff/groff.cc (main, help, synopsis): Delete -H option.
10845	* include/Makefile.sub: Don't define HYPHENFILE.
10846	* Makefile.in: Delete hyphenfile variable and remove from MDEFINES.
10847	* Makefile.comm (.man.n): Don't substitute for HYPHENFILE.
10848	* tmac/troffrc: Set hyphenation language to `us'. Load `hyphen.us'
10849	hyphenation patterns.
10850
10851Sun Sep 20 09:33:02 1992  James Clark  (jjc at jclark)
10852
10853	* eqn/neqn.sh: New file.
10854	* eqn/Makefile.sub: Handle neqn.sh.
10855
10856	* eqn/eqn.h: Declare `nroff' variable.
10857	* eqn/box.cc (param_table): Add `nroff' param.
10858	(nroff): Define it.
10859	* eqn/lex.cc (yylex): Handle TDEFINE and NDEFINE using `nroff'
10860	variable.
10861	* tmac/eqnrc: Set `nroff' to 1 for -Tascii or -Tlatin1.
10862
10863	* troff/troff.h (WARN_FONT): New warning.
10864	(WARN_TOTAL): Change accordingly.
10865	* troff/input.cc (DEFAULT_WARNING_MASK): Include WARN_FONT.
10866	(warning_table): Add WARN_FONT.
10867	* troff/node.cc (mount_font_no_translate): Pass argument to
10868	font::load_font.  If this is non-zero, give a warning.
10869	Don't give an error message when accessing a font that has already
10870	been found to be invalid.
10871	* include/font.h (font::load, font::load_font): Add additional
10872	optional argument which suppresses error message if the font is
10873	not found.
10874	* libgroff/font.cc (font::load_font): Handle additional argument.
10875	(font::load): Add additional argument. If this is non-null, set it
10876	to 1 and don't give error message.
10877
10878	* include/printer.h (printer::end_page): Add argument giving
10879	length of page.
10880	* libdriver/input.cc (do_file): Pass this.
10881	* grops/ps.cc (ps_printer::end_page): Add argument.
10882	* grodvi/dvi.cc (dvi_printer::end_page,
10883	draw_dvi_printer::end_page): Add argument.
10884	* grotty/tty.cc (class tty_printer): Remove lines_per_page and
10885	columns_per_page members. New member nlines.
10886	(DEFAULT_LINES_PER_PAGE): Deleted.
10887	(tty_printer::tty_printer): Don't compute lines_per_page from
10888	font::paperlength. Don't compute columns_per_page from
10889	font::paperwidth.
10890	(tty_printer::add_char): Don't check horizontal position against
10891	columns_per_page. Grow glyphs vector if neccessary.
10892	(tty_printer::end_page): Add argument giving page_length in units.
10893	Discard lines past end of page.
10894
10895Wed Sep 16 06:29:52 1992  James Clark  (jjc at jclark)
10896
10897	* tmac/tmac.tty-char: Fix definition of \(/l.
10898
10899	* tmac/tmac.X: Define \(en.
10900
10901Tue Sep 15 10:37:13 1992  James Clark  (jjc at jclark)
10902
10903	* acgroff.m4 (GROFF_PRINT): If a system has lpr and lp but not
10904	lpq, then use lp rather than lpr.
10905
10906	* tmac/tmac.s (par@reset): Don't call `ad'.
10907	(par*env-init): Call `ad'.
10908
10909Sun Sep 13 18:48:20 1992  James Clark  (jjc at jclark)
10910
10911	* mdate.sh: Use $(NF) instead of $6 to extract year from output of
10912	date.
10913
10914	* troff/symbol.cc: #undef BLOCK_SIZE if it's defined.
10915	* indxbib/indxbib.cc: Likewise.
10916
10917Sun Sep  6 09:44:46 1992  James Clark  (jjc at jclark)
10918
10919	* libgroff/putenv.c: New file.
10920	* libgroff/Makefile.sub: Add putenv.c to CSRCS.
10921	* Makefile.in: Say that putenv.o can be one of LIBOBJS.
10922	* configure.in: Test for putenv with AC_REPLACE_FUNCS. Test for
10923	stdlib.h with AC_HAVE_HEADERS.
10924
10925Sat Sep  5 18:11:52 1992  James Clark  (jjc at jclark)
10926
10927	* indxbib/dirnamemax.c: Include <sys/dir.h> only if <dirent.h>
10928	does not exist.
10929
10930Fri Sep  4 09:43:26 1992  James Clark  (jjc at jclark)
10931
10932	* eqn/box.cc (gsize): Make it an int.
10933	(set_gsize): Parse argument handling increment or decrement.
10934	(box::top_level): Convert gsize to a string.
10935
10936	* troff/input.cc (exit_troff): Make buf unsigned char [].
10937	Call to make_temp_iterator casts buf to char*.
10938
10939	* Makefile.in ($(TARGETS), dot): Pass $(MDEFINES) to recursive makes.
10940
10941	* Makefile.ccpg (depend.temp): Depends on $(YTABC).
10942	* Makefile.cpg (depend.temp): Likewise.
10943
10944	* Makefile.dep: Remove Makefile.dep from $(REALCLEANFILES).
10945
10946	* Makefile.comm: Add y.output to MOSTLYCLEANFILES.
10947
10948Thu Sep  3 08:01:55 1992  James Clark  (jjc at jclark)
10949
10950	* tmac/tmac.s (B, I, BI, CW): Rewrite avoiding aliases.
10951
10952Tue Sep  1 18:24:53 1992  James Clark  (jjc at jclark)
10953
10954	* Version 1.06 released.
10955
10956	* Integrate mm 1.04.
10957
10958Fri Aug 28 11:28:19 1992  James Clark  (jjc at jclark)
10959
10960	* Makefile.comm, Makefile.ccpg, Makefile.cpg: Fix TAGS target.
10961
10962Thu Aug 27 11:03:33 1992  James Clark  (jjc at jclark)
10963
10964	* afmtodit/afmtodit.pl: Add -n option that disables generation of
10965	ligatures command.
10966	* devps/generate/Makefile (CR, CB, CI, CBI): Pass -n flag to
10967	afmtodit. Regenerate.
10968
10969	* tmac/tmac.e ()z): Adjust _b if necessary so as to avoid moving
10970	@f back past the current position.
10971
10972	* tmac/tmac.e: Change calls to @R so that comments are not part of
10973	arguments.
10974
10975Tue Aug 25 10:42:07 1992  James Clark  (jjc at jclark)
10976
10977	* configure.in: Check for mkstemp with AC_HAVE_FUNCS.
10978
10979	* acgroff.m4 (GROFF_PROG_CCC): Don't check for <osfcn.h>. Instead
10980	check that we can link a call to a function declared in <stdio.h>.
10981	(GROFF_UNISTD_H): New macro.
10982	* configure.in: Call it.
10983	* Makefile.in: Document it.
10984	* include/posix.h: New file.
10985	* troff/troff.h: Don't include <osfcn.h>
10986	* troff/input.cc: Include posix.h.
10987	* libgroff/new.cc, libgroff/tmpfile.cc: Include posix.h rather than
10988	osfcn.h.
10989	* indxbib/indxbib.cc, libbib/{search.cc,linear.cc,index.cc}:
10990	Include posix.h rather <sys/types.h>, <sys/stat.h>, <osfcn.h>,
10991	<fcntl.h>.
10992	* indxbib/indxbib.cc (S_IRUSR, S_IRGRP, S_IROTH): Delete definitions.
10993	* libbib/index.cc (S_ISREG, O_RDONLY): Delete definitions.
10994	* libbib/search.cc (O_RDONLY): Delete definition.
10995	* refer/refer.cc, include/driver.h, pic/pic.h, groff/groff.cc:
10996	Don't include <osfcn.h>.
10997
10998	* acgroff.m4 (GROFF_TIME_T): New macro.
10999	* configure.in: Call it.
11000	* Makefile.in: Document it.
11001
11002	* acgroff.m4 (GROFF_TRADITIONAL_CPP): New macro.
11003	* configure.in: Call it.
11004	* Makefile.in: Document -DTRADITIONAL_CPP.
11005	* include/ptable.h: Don't include generic.h.
11006	(name2): Define it.
11007
11008	* tmac/tmac.s (][): Make [T1 and [T2 aliases for [T.
11009	Afterwards remove [T1 and [T2.
11010	(ref*spec!0, ref*spec!2): Use T1 rather than T.
11011	(ref*spec!1, ref*spec!4, ref*spec!4): Use T2 rather than T.
11012	(ref*add-T2): Renamed from ref*add-T.
11013	(ref*add-T1): New macro.
11014
11015Mon Aug 24 11:11:11 1992  James Clark  (jjc at jclark)
11016
11017	* acgroff.m4 (AC_PROG_CCC): Use GROFF_EXIT rather than exit 1.
11018
11019	* libbib/index.cc: Include <fcntl.h>.
11020	(O_RDONLY): Define if necessary.
11021	(make_index_search_item, index_search_item_iterator::get_tag,
11022	index_search_item::check_files): Use O_RDONLY.
11023	* libbib/seach.cc: Include <fcntl.h>, <sys/types.h>, <sys/stat.h>.
11024	(O_RDONLY): Define if necessary.
11025	(search_list::add_file): Use O_RDONLY.
11026	* indxbib/indxbib.cc: Include <fcntl.h>, <sys/types.h>,
11027	<sys/stat.h>.
11028	(S_IRUSR, S_IRGRP, S_IROTH): Define if necessary.
11029	(main): Use these.
11030
11031	* libbib/index.cc (S_ISREG): Define it if necessary.
11032	(index_search_item::load): Use S_ISREG.
11033
11034	* include/driver.h: Include <errno.h>.
11035
11036Sun Aug 23 11:32:18 1992  James Clark  (jjc at jclark)
11037
11038	* eqn/box.cc (body_height): Increase default value to 85.
11039	(body_depth): Increase default value to 35.
11040
11041Fri Aug 21 05:34:42 1992  James Clark  (jjc at jclark)
11042
11043	* eqn/pbox.h (SAVE_FONT_STRING): Define it.
11044	* eqn/box.cc (box::top_level): Hide use of \R in a string that is
11045	protected from expansion with \E.
11046
11047	* acgroff.m4 (GROFF_PAGE): Use `case' to test domain.
11048
11049	* Makefile (Makefile): New target.
11050
11051	* Makefile.sub (configure, distfiles): New targets.
11052
11053	* acgroff.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Avoid using ${var:-val}
11054	construct.
11055
11056Thu Aug 20 12:27:26 1992  James Clark  (jjc at jclark)
11057
11058	* eqn/box.cc (param_table): Add body_height and body_depth.
11059
11060	* eqn/lex.cc (def_table): Make circumflex in hat_def roman.
11061
11062Tue Aug 18 16:24:25 1992  James Clark  (jjc at jclark)
11063
11064	* psbb/Makefile.sub: Don't link with libgroff.a.
11065
11066	* acgroff.m4 (GROFF_PUTENV): New macro.
11067	* configure.in: Call GROFF_PUTENV.
11068	* Makefile.in: Document STDLIB_H_DECLARES_PUTENV.
11069	* groff/groff.cc: Don't declare putenv if STDLIB_H_DECLARES_PUTENV
11070	is defined.
11071
11072	* troff/env.cc (distribute_space): Rename force_forward argument
11073	to force_reverse.  Reverse the list if force_reverse is true.
11074
11075Mon Aug 17 17:49:05 1992  James Clark  (jjc at jclark)
11076
11077	* tmac/tmac.an: Don't define a string `T'. Just define Tm.
11078
11079	* eqn/pile.cc (matrix_box::compute_metrics): Don't allow computed
11080	height or depth to be negative.  Guard against SUP_RAISE quantity
11081	being negative.
11082
11083Sat Aug 15 08:18:54 1992  James Clark  (jjc at jclark)
11084
11085	* devps/generate/textmap: Add `an' (arrowhorizex).
11086	* tmac/tmac.ps: \(an overlaps horizontally.
11087	* tmac/tmac.dvi, tmac/tmac.tty: Add `an'.
11088
11089	* devps/symbolchars: Add arrowverttp, arrowvertbt.
11090	* devps/textmap: Add arrowvertex.
11091	* eqn/delim.cc (delim_table): Add uparrow, downarrow and
11092	updownarrow delimiters.
11093	* tmac/tmac.ps, tmac/tmac.X: Add definition of \(va.
11094
11095	* tbl/table.cc (simple_entry::position_vertically,
11096	block_entry::position_vertically):  For a centered entry, perform
11097	the motion in two stages.
11098
11099	* refer/refer.cc (split_punct): Don't call lookup_token if there
11100	is no token.
11101
11102Fri Aug 14 11:14:58 1992  James Clark  (jjc at jclark)
11103
11104	* troff/input.cc (token::next): Delete token_node after copying
11105	token.
11106
11107	* grodvi/grodvi.cc (dvi_printer::dvi_printer): Initialize
11108	cur_point_size.
11109
11110	* libdriver/printer.cc (printer::load_font): Delete old_font_table.
11111
11112	* grops/ps.cc (ps_printer::define_encoding): Delete elements of vec.
11113
11114Tue Aug 11 13:50:38 1992  James Clark  (jjc at jclark)
11115
11116	* grops/ps.cc (usage): -b option takes an argument.
11117
11118	* devps/prologue (PLG): New procedure.
11119	* grops/ps.cc (main, usage): New -g option.
11120	(ps_printer::~ps_printer):  If guess_flag is set, guess the paper
11121	length using PLG.
11122
11123Mon Aug 10 11:17:53 1992  James Clark  (jjc at jclark)
11124
11125	* include/cset.h: Include <limits.h> if we have it.
11126
11127	* libgroff/illegal.cc: New file.
11128	* include/lib.h (illegal_input_char): Use table.
11129	* troff/input.cc (ESCAPE_RIGHT_PARENTHESIS): Renumber to 0206.
11130	* pic/lex.cc (ARG1): Renumber to 14.
11131	* eqn/lex.cc (ARG1): Likewise.
11132
11133	* troff/Makefile.sub (majorminor.cc): Handle 3 part versions
11134	(eg 1.05.90) correctly.
11135
11136Sun Aug  9 13:35:43 1992  James Clark  (jjc at jclark)
11137
11138	* tmac/tmac.e (sr): Deleted. Set $r and $R directly.
11139	Rename $r and $R registers to $v and $V.
11140	($r, $R): Initialize to 0.
11141	(@v, @V): New macros.
11142	(sz): Call @v.
11143	(@M): Call @V.
11144
11145	* troff/input.cc (main, usage): Add -R option that says not to
11146	load troffrc.
11147	* eqn/main.cc (main, usage): Rename -n to -R.
11148
11149Sat Aug  8 00:16:00 1992  James Clark  (jjc at jclark)
11150
11151	* devps/DESC.in: Leave font positions 5-9 blank.
11152	* devdvi/DESC.in: Likewise.
11153
11154	* grog/grog.pl: Handle `.PS <file' correctly.
11155
11156	* troff/input.cc (input_stack::push): Improve error message when
11157	input stack limit exceeded.
11158
11159Fri Aug  7 13:08:16 1992  James Clark  (jjc at jclark)
11160
11161	* refer/refer.cc (main): Fix typo in handling of `a' option.
11162
11163	* refer/refer.cc (do_bib): In state START after a newline remain
11164	in state START.
11165
11166	* groff/groff.sh: Deleted.
11167	* groff/Makefile.sub: Delete handling of groff.sh.
11168
11169	* pic/troff.cc (troff_output::text): Test \n(0p rather than \*(.T
11170	to determine whether to use \X'ps:...'.
11171	* tmac/troffrc: Set 0p register to 0.
11172	* tmac/tmac.ps: Set 0p register to 1.
11173
11174	* groff/groff.cc: Support -X option. Give warning for -TXps and
11175	transform to -X -Tps. Pass troff a -r.X=1 option if -X is used.
11176	* tmac/troffrc: Support -r.X=1.
11177
11178	* pic/troff.cc (troff_output::dot): Don't test
11179	zero_length_line_flag.
11180
11181Thu Aug  6 13:32:08 1992  James Clark  (jjc at jclark)
11182
11183	* include/lib.h: Declare getopt() and friends unless
11184	STDLIB_H_DECLARES_GETOPT is defined.
11185
11186	* doc/chars.tr: Delete.
11187	* man/groff_char.man: New file.
11188
11189Wed Aug  5 00:38:58 1992  James Clark  (jjc at jclark)
11190
11191	* tmac/tmac.e (np, bu): Test \n($p with string expression in case
11192	user has changed register format.
11193
11194Mon Aug  3 11:22:18 1992  James Clark  (jjc at jclark)
11195
11196	* groff/groff.cc: Get rid of device_table.  Get postprocessor from
11197	`postpro' command in DESC file.  Get spooler command from `print'
11198	command in DESC file.  Execute spooler command with /bin/sh.
11199
11200	* groff/groff.cc: Split Unix-specific parts into...
11201	* groff/pipeline.c: New file.
11202
11203	* LICENSE: Delete.
11204	* COPYING: New file.
11205	* all files: Update copyright notices.
11206
11207	* Rearrange files.  Redo Makefiles.  Use autoconf.
11208
11209Sat Aug  1 09:36:50 1992  James Clark  (jjc at jclark)
11210
11211	* troff/input.c (charinfo_to_node_list): Interpret character
11212	definition with escape_char of `\'.
11213
11214Tue Jul 28 12:20:12 1992  James Clark  (jjc at jclark)
11215
11216	* lib/strerror.c, lib/iftoa.c, lib/itoa.c: Don't include lib.h.
11217	Define INT_DIGITS as big enough for 64-bit integer.
11218	* lib/strtol.c: Don't include lib.h.
11219	* lib/lib.h: Delete ifdef __cplusplus stuff.
11220
11221Mon Jul 27 11:08:50 1992  James Clark  (jjc at jclark)
11222
11223	* ps/devps/Makefile: Add DESC to DEVICEFILES.  Separate out rule
11224	for making DESC.  Make $(FONTS) depend on DESC. afmtodit should
11225	get DESC from current directory.
11226
11227Sun Jul 26 15:38:26 1992  James Clark  (jjc at jclark)
11228
11229	* tbl/main.c (main): Always reset the line number when reading
11230	from stdin.
11231
11232	* tbl/table.c (table::print_single_hline, table::print_double_hline,
11233	table::define_bottom_macro, table::do_row, table::do_top): Round
11234	vertical spacing up to vertical resolution.
11235
11236Fri Jul 24 14:32:07 1992  James Clark  (jjc at jclark)
11237
11238	* ps/ps.h (enum resource_type): Avoid comma at end of
11239	enumerator-list.
11240	* dvi/dvi.c (class dvi_printer): Likewise.
11241	* dvi/tfmtodit.c (gf::load): Likewise.
11242	* refer/label.y (struct expression): Likewise.
11243	* refer/refer.c (class label_processing_state): Likewise.
11244	* refer/indxbib.c (do_file): Likewise.
11245	* troff/troff.c (enum warning_type): Likewise.
11246	* tbl/main.c (process_data): Likewise.
11247	* troff/charinfo.h (class charinfo):
11248
11249Wed Jul 22 09:17:58 1992  James Clark  (jjc at jclark)
11250
11251	* dvi/devdvi/textt.map: Add entry for `-'.  Regenerate fonts.
11252
11253Tue Jul 21 11:39:26 1992  James Clark  (jjc at jclark)
11254
11255	* groff.c: Move to new groff subdirectory.
11256	* groff/Makefile: New file.
11257	* Makefile: Remove handling of groff.c. Add groff to SUBDIRS.
11258
11259	* man/mdate.sh: Use ls -L if supported.
11260
11261	* Consolidate all header files produced by gendef into lib/defs.h.
11262	* lib/macropath.c, lib/fontfile.c, lib/device.c: Include defs.h.
11263	Don't include path.h.
11264	* lib/Makefile (path.h): Don't generate.
11265	* troff/input.c: Include defs.h. Don't include config.h.
11266	* troff/Makefile (config.h): Don't generate.
11267	* refer/index.h: Don't include suffix.h.
11268	* refer/index.c: Include defs.h.
11269	* refer/indxbib.c: Include defs.h.
11270	* refer/refer.h, refer/lkbib.h: Don't include path.h. Include
11271	defs.h.
11272	* refer/Makefile (suffix.h, path.h): Don't generate.
11273	* groff.c: Don't include config.h. Include defs.h.
11274	* Makefile (config.h): Don't generate.
11275	(lib/defs.h): Generate.
11276	(topclean): Remove lib/defs.h.
11277
11278Mon Jul 20 10:12:57 1992  James Clark  (jjc at jclark)
11279
11280	* lib/malloc.c, lib/getpagesize.h: Deleted.
11281	* Makefile: Add COOKIE_BUG configuration option.  Delete malloc
11282	related stuff.
11283	* lib/Makefile: Delete malloc-related stuff.
11284	* lib/new.c: Workaround COOKIE_BUG if necessary.
11285
11286	* refer/lkbib.c, refer/indxbib.c: Don't include refer.h.  Include
11287	needed header files directly.
11288	* refer/refer.h: Omit definition of DEFAULT_INDEX.
11289	* Makefile: Include definition of DEFAULT_INDEX in path.h.
11290
11291Sun Jul 19 10:19:22 1992  James Clark  (jjc at jclark)
11292
11293	* lib/font.c (FONT_COMMAND_HANDLER): Pass command name and single
11294	argument.
11295	* lib/font (font::load_desc, font::load): Don't split argument of
11296	unknown command.
11297	(font::handle_unknown_font_command): Change type.
11298	* ps/ps.c (ps_font::handle_unknown_font_command,
11299	handle_unknown_desc_command): Change type.
11300	* dvi/dvi.c (dvi_font::handle_unknown_font_command): Change type.
11301
11302Fri Jul 17 11:12:49 1992  James Clark  (jjc at jclark)
11303
11304	* lib/font.h (font::handle_unknown_font_command): Add file and
11305	line arguments.
11306	* lib/font.c (font::handle_unknown_font_command):
11307	* ps/ps.c (ps_font::handle_unknown_font_command):
11308	* dvi/dvi.c (dvi_font::handle_unknown_font_command): Add file and
11309	lineno arguments.  Use _with_file_and_line functions for error
11310	reporting.
11311
11312	* lib/fontfile.c (font::unknown_desc_command_handler): New static
11313	data member.
11314	* lib/font.c (font::set_unknown_desc_command_handler): New
11315	function.
11316	(font::load_desc): For unknown commands, call
11317	unknown_desc_command_handler if not null.
11318	* lib/font.h (class font): Declare them.
11319	(FONT_COMMAND_HANDLER): New typedef.
11320	* ps/ps.c (handle_unknown_desc_command): New function.
11321	(main): Set bflag if we had a -b option. Call
11322	font::set_unknown_desc_command_handler.
11323	(broken.h): Don't include.
11324	* ps/Makefile: No need for broken.h.  Pass BROKEN_SPOOLER_FLAGS to
11325	submake 
11326	* ps/devps/Makefile: Add `broken' command to DESC file using
11327	BROKEN_SPOOLER_FLAGS.
11328
11329	* macros/tmac.e ([, ]): Add as synonyms for { and }.
11330
11331	* macros/tmac.e ($p): Only exdent if \$3 > 0.
11332
11333	* macros/tmac.e (@R, @S): New macros.
11334	Declare @, po, $0, $i, $p, df, so, fu, bt, *, ?a, ?b, ?C, ?e, ?H,
11335	?I, ?n, ?o, ?R, ?s, ?T, ?W, ?w registers with @R.
11336	Declare $H, $[0-9], .. macros with @S.
11337	Declare |0, |1, |2, |3 strings with @S.
11338
11339	* macros/tmac.e (@S): Rename to @U.
11340
11341	* macros/tmac.e (@z): Define @b and bp as empty instead of
11342	deleting them,
11343
11344	* macros/tmac.e (@m): Deleted.
11345	(@h): Don't call @m.
11346	(@z): Don't set @m trap.
11347
11348	* macros/tmac.e ($h, $f): Define |z as empty string.
11349
11350	* macros/tmac.e (@D): Rework to avoid unbalanced .el requests.
11351	(@q): Likewise.
11352
11353	* macros/tmac.e (@h): Set ?H, ?C , ?s registers to 0 rather than
11354	removing them.
11355	()f): Likewise for * register.
11356
11357	* macros/tmac.e (sr): Don't ever scale the arguments. If the third
11358	argument is missing, don't change $R.  Call sr with three
11359	arguments when initializing.
11360
11361Thu Jul 16 12:17:12 1992  James Clark  (jjc at jclark)
11362
11363	* macros/tmac.e (sr): New macro.
11364	Initialize $r and $R using sr.
11365
11366	* macros/tmac.e (,): Delete \*(#[.
11367
11368	* troff/env.c (set_tabs): Read the tab type even if the position
11369	is bad.  Allow the position of the first tab stop to be negative.
11370
11371Wed Jul 15 13:14:37 1992  James Clark  (jjc at jclark)
11372
11373	* refer/dirnamemax.c: Use pathconf() if <unistd.h> defines
11374	_POSIX_VERSION.
11375	* refer/Makefile: Compile dirnamemax.c using -DHAVE_UNISTD_H
11376	rather than -DPATHCONF_MISSING.
11377	* Makefile: Get rid of PATHCONF_MISSING.
11378
11379	* refer/map.c: New file.
11380	* refer/index.c: Interface to mmap through map.c.  Rename map_size
11381	to map_len.
11382	* refer/Makefile: Handle map.c.
11383	* Makefile: Include -DHAVE_MMAP in OLDCFLAGS rather than CFLAGS.
11384
11385Tue Jul 14 14:15:20 1992  James Clark  (jjc at jclark)
11386
11387	* Makefile: RANLIB should be `true' if there is no ranlib.
11388	* lib/Makefile (libgroff.a): Simplify.
11389	* driver/Makefile (libdriver.a): Simplify.
11390
11391	* Makefile: Change -DWAIT_COREDUMP_0200 to -DWCOREFLAG=0200.
11392	* groff.c (WCOREDUMP): Use WCOREFLAG.  Define only if not already
11393	defined.
11394
11395Sat Jul 11 09:19:17 1992  James Clark  (jjc at jclark)
11396
11397	* troff/env.c (compare_ranges): Declare as extern "C".
11398
11399	* troff/input.c (init_registers): Use `struct tm' instead of `tm'.
11400
11401	* macros/tmac.s, macros/tmac.e: Change .nx /dev/null to .nx.
11402
11403Wed Jul  8 11:52:27 1992  James Clark  (jjc at jclark)
11404
11405	* pic/troff.c (troff_output::text): Merge in grops_output::text,
11406	but conditionalize use of \X based on \*(.T.
11407	(grops_output::*): Deleted.
11408	* pic/output.h: Delete declaration of make_grops_output.
11409	* pic/main.c (main): Ignore -p and -x.  driver_extension_flag is 1
11410	by default. -n sets it to 0.
11411	(usage): Corresponding changes.
11412	* groff.c (main): Don't pass -x or -p to pic.
11413	* groff.sh: Likewise.
11414
11415	* ps/ps.c (ps_printer::do_exec, ps_printer::do_file): Force ndefs
11416	to be non-zero.
11417
11418	* ps/devps/afmtodit: Change calculation of asc_boundary and
11419	desc_boundary.  Make these bounds inclusive.
11420	* ps/devps: Regenerate font files.
11421
11422Tue Jul  7 13:14:15 1992  James Clark  (jjc at jclark)
11423
11424	* macros/tmac.latin1: New file.
11425	* macros/tmac.tty-char: Use tmac.latin1.
11426	(tmac.tty-tr): Deleted.
11427	* macros/Makefile: Install tmac.latin1.
11428	* macros/tmac.dvi: Use tmac.latin1.
11429	* macros/troffrc: Translate \[char160] onto no-break space here.
11430	* macros/{tmac.dvi,tmac.ps,tmac.tty,tmac.X75}: Don't do it here.
11431
11432Mon Jul  6 11:06:52 1992  James Clark  (jjc at jclark)
11433
11434	* macros/tmac.Xps: Use `do' request.
11435
11436	* macros/tmac.ps: Use `do' request.
11437
11438	* macros/tmac.e (@C): Use `do' request.
11439
11440	* macros/tmac.X, macros/tmac.Xps: Moved from xditview.
11441	* macros/Makefile: Install tmac.X*.
11442
11443	* tty/tmac.tty, tty/tmac.tty-char: Move to macros.
11444	* tty/Makefile: Don't install tmac.tty*.
11445	* macros/Makefile: Install tmac.tty*.
11446
11447	* dvi/tmac.dvi: Move to macros.
11448	* dvi/Makefile: Don't install tmac.dvi.
11449	* macros/Makefile: Install tmac.dvi.
11450
11451	* ps/tmac.ps*: Move to macros.
11452	* ps/Makefile: Don't install tmac.ps*.
11453	* macros/Makefile: Install tmac.ps*.
11454
11455	* eqn/box.c: Provide draw_lines parameter corresponding to -D
11456	option.
11457	* macros/eqnrc: Set draw_lines parameter based on device.
11458	* groff.c: Don't pass -D flag to eqn.
11459	* groff.sh: Likewise.
11460	* eqn/main.c: Warn about use of -D.
11461
11462	* troff/input.c (process_startup_file): New function.
11463	(main): Call process_startup_file().
11464	* macros/troffrc: New file.
11465	* macros/Makefile: Install troffrc.
11466	* groff.c (main): Don't pass extra -m option to troff. For a 
11467	pseudo device pass the name of the pseudo device to troff using
11468	-d.
11469	* groff.sh: Likewise.
11470	* groff.c (possible_command::prepend_arg): Deleted.
11471
11472	* troff/input.c (do_request): New function.
11473	(init_input_requests): Bind "do" to do_request.
11474
11475	* eqn/main.c (main): Instead of loading eqnchar from device directory,
11476	load eqnrc from macro directory.
11477	* macros/eqnrc: New file.
11478	* macros/Makefile: Install eqnrc.
11479	* ps/devps/eqnchar: Deleted.
11480	* ps/devps/Makefile: Don't install eqnchar.
11481	* dvi/devdvi/eqnchar: Deleted.
11482	* dvi/devdvi/Makefile: Don't install eqnchar.
11483	* groff.c (main): Pass -M to eqn. Don't pass -F to eqn. New
11484	variable optM.
11485
11486	* lib/device.[ch]: New files.
11487	* lib/font.h (font::set_device_name, font::get_device_name):
11488	Deleted.
11489	* lib/fontfile.c: Use device.h.
11490	* lib/Makefile: Handle device.[ch]. Make paths.h define DEVICE.
11491	* troff/input.c: Delete definition of `device'.
11492	(main): Don't initialize device.
11493	* troff/troff.h: Include device.h rather than declaring device.
11494	* troff/Makefile: No need to handle DEVICE.
11495	* driver/input.c: Include device.h. Don't use
11496	font::{set,get}_device_name.
11497	* groff.c, Makefile: Rename device.h to config.h.
11498	* groff.c: Use library device variable.
11499	* eqn/main.c: Use library device variable.
11500	* eqn/Makefile: No need to handle DEVICE.
11501
11502	* lib/searchpath.[ch]: New files.
11503	* lib/Makefile: Handle searchpath.[ch].
11504	* troff/input.c (open_file, init_dirs): Deleted.
11505	(macro_dirs): Deleted.
11506	(open_mac_file, macro_source): Use class search_path.
11507	(add_string, struct string_list): Move definition.
11508	(main): Change -M option to use macro_path. Delete call to
11509	init_dirs().
11510	* lib/fontfile.c (font::command_line_font_dir, font::open_file):
11511	Rewrite to use class search_path.
11512	* lib/font.h, lib/fontfile.c (font::cl_font_dirs): Deleted.
11513	* lib/Makefile: fontfile.c depends on searchpath.h.
11514	* lib/Makefile: Rename fontpath.h to paths.h. Make paths.h define
11515	MACROPATH.
11516	* lib/macropath.[ch]: New files.
11517	* troff/Makefile: No need to handle MACROPATH.
11518
11519	* troff/input.c: Delete DUMP code.
11520	* lib/fontfile.c, lib/font.h: Delete
11521	font::forget_command_line_font_dirs.
11522
11523	* troff/input.c (push_token): New function.
11524	(handle_first_page_transition): Use push_token().
11525	(process_input_stack): Change handling of a space at the beginning
11526	of the line.
11527
11528Sun Jul  5 17:11:09 1992  James Clark  (jjc at jclark)
11529
11530	* troff/input.c (font_dirs): Delete unused variable.
11531
11532	* eqn/lex.c (do_set): Correct error messages.
11533
11534Sat Jul  4 10:20:55 1992  James Clark  (jjc at jclark)
11535
11536	* troff/input.c (do_define_string): Allow the string name to be
11537	followed immediately by a tab.
11538	(define_character): Likewise.
11539
11540Thu Jul  2 10:59:15 1992  James Clark  (jjc at jclark)
11541
11542	* ps/ps.c (ps_printer::draw): When drawing an arc, don't allow k to
11543	be negative.
11544
11545	* troff/input.c (input_iterator::is_file): New virtual function.
11546	(file_iterator::is_file): New function.
11547	(input_stack::end_file): New function.
11548	(input_stack::next_file): Handle the situation where there is no
11549	file on the input stack correctly.  Avoid making two passes over
11550	the input stack.
11551	(next_file): Make the filename optional; in this case call
11552	input_stack::end_file().
11553
11554Wed Jul  1 10:17:25 1992  James Clark  (jjc at jclark)
11555
11556	* dvi/tmac.dvi: Change the definitions of \(ul and _ so that they
11557	produce a real _ charater when the current font is CW and _
11558	otherwise.
11559
11560	* lib/errarg.c (errarg::errarg(const char *)): Invert conditional
11561	expression to work around gcc 2.2 bug.
11562
11563Wed Jun 24 08:12:24 1992  James Clark  (jjc at jclark)
11564
11565	* eqn/main.c (main): Don't give an error if we can't find eqnchar.
11566
11567	* troff/env.c (environment::add_padding): New function.
11568	(environment::add_char): Use add_padding().
11569	(environment::space): Likewise.
11570	(environment::wrap_up_field): Add some padding if there is none
11571	and there's no current tab.
11572	* troff/env.h: Declare environment::add_padding.
11573
11574Mon Jun 22 08:37:45 1992  James Clark  (jjc@jclark)
11575
11576	* pic/pic.y: undef fmod and rand before declaring them.
11577
11578Sun Jun 14 11:40:18 1992  James Clark  (jjc@jclark)
11579
11580	* troff/input.c (main): If the DESC file specifies a font name of
11581	0, then leave the corresponding font position empty.
11582
11583	* nroff.sh: New file.
11584	* Makefile (install.nobin): Install nroff.sh.
11585
11586	* tty/devlatin1/R.proto: Add ao as synonym for de.
11587	* tty/tmac.tty-char: Define ao as o.
11588
11589	* tty/dev{ascii,latin1}/R.proto: Add aq.
11590	* tty/tmac.tty-char: Delete definition of aq.
11591
11592Mon Jun  8 11:43:20 1992  James Clark  (jjc@jclark)
11593
11594	* troff/input.c (init_charset_table): Don't translate 0240.
11595	* ps/tmac.ps: Translate char160 to space.
11596	* dvi/tmac.dvi: Likewise.
11597	* tty/tmac.tty: Likewise.
11598
11599Sun Jun  7 10:52:35 1992  James Clark  (jjc@jclark)
11600
11601	* dvi/tmac.dvi: Add support for all Latin-1 characters.
11602
11603	* macros/tmac.s: Delete definitions of \(rg, \(ah, \(ad, \(a-,
11604	\(ao, \(ac, \(ho, \(-D, \(Sd, \(TP, \(Tp, \(ss, \(AE, \(ae, \(OE,
11605	\(oe, \(r?, \(r!.
11606
11607	* tty/tmac.tty-char: Add \(ah.
11608
11609	* dvi/tmac.dvi: Add definitions of Tp, TP, Sd, -D, ho.
11610	No need to define \(FM and \(!/. Conditionalize all character
11611	definitions.
11612
11613	* ps/devps/lgreekmap: Add +h, +f, +p.
11614
11615	* ps/tmac.psnew: New file.
11616	* ps/Makefile: Install tmac.psnew.
11617
11618	* troff/input.c (charinfo_to_node_list): Don't ever interpret
11619	character definitions in compatible mode.
11620
11621	* troff/input.c (remove_character): New function.
11622	(init_input_requests): Bind remove_character to "rchar".
11623
11624	* ps/tmac.psold: New file.
11625	* ps/Makefile: Install tmac.psold.
11626	* ps/tmac.ps: Load tmac.psold. Move definitions of ISO Latin-1
11627	characters into tmac.psold.  Make these definitions unconditional.
11628
11629	* tty/tmac.tty-char: Define \n(_C only if it is not already defined.
11630
11631	* ps/tmac.ps: Don't define \('c and \('C.
11632
11633	* ps/devps/textmap: Move Greek characters to...
11634	* ps/devps/symbolchars:
11635
11636Sat Jun  6 16:41:17 1992  James Clark  (jjc@jclark)
11637
11638	* ps/devps/text.enc: Add quotesingle.
11639	* ps/devps/textmap: Add +h, +f, +p, Fn, Bq, bq, aq, lz.
11640	* tty/tmac.tty-char: Likewise.
11641	* dvi/devdvi/texmi.map: Add +h, +f, +p.
11642	* dvi/devdvi/texi.map: Add Fn.
11643	* dvi/devdvi/msam.map: Add lz.
11644	* dvi/tmac.dvi: Handle Bq, bq, aq.
11645
11646	* pic/lex.c (get_token): Recognize 'th.
11647	* pic/map.y: Allow `expr'th in contexts where ORDINAL was allowed.
11648
11649Fri Jun  5 11:20:46 1992  James Clark  (jjc@jclark)
11650
11651	* ps/devps/textmap: Move di, mu, +- to...
11652	* ps/devps/symbolchars:
11653
11654	* macros/tmac.s (@XS): Don't call par@reset or fi.
11655	(XA): Call LP. Turn off adjustment. Reduce line length.
11656
11657	* macros/tmac.s: Initially alias XS to LP.
11658	(XS): Rename to @XS.
11659	(cov*ab-init): Alias XS to @XS.
11660
11661Thu Jun  4 09:12:05 1992  James Clark  (jjc@jclark)
11662
11663	* troff/token.h: Delete TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT,
11664	TOKEN_FONT_NAME, TOKEN_FONT_POSITION, TOKEN_SIZE tokens.
11665	(token::is_size, token::changes_env): Deleted.
11666	* troff/number.c (parse_term): No need to process \s explicitly.
11667	Call tok.next() only after scale indicator has been processed.
11668	* troff/input.c (do_overstrike, do_bracket): No need to process \s,
11669	\f etc explicitly.
11670	(token::next): Handle \s, \f, \S, \H immediately rather than
11671	returning them as tokens.
11672	(token::operator==, token::description, token::add_to_node_list,
11673	token::process): Remove handling of deleted tokens.
11674
11675	* troff/env.c (environment::add_char): When adding padding
11676	indicator character, call start_line() if necessary.
11677
11678Wed Jun  3 09:55:50 1992  James Clark  (jjc@jclark)
11679
11680	* ps/devps/afmtodit: Don't output 0 kerns.
11681
11682	* ps/devps/afmtodit: Remove directory from name of encoding in
11683	font description file.
11684
11685	* ps/devps/afmtodit: Improve error messages.
11686
11687	* ps/devps/afmtodit: Allow DESC file to be specified with -d.
11688
11689	* ps/devps/Makefile: Incorporate FontMakefile. Rework.
11690	* ps/devps/FontMakefile: Deleted.
11691	* ps/devps/afmname: New file.
11692
11693	* ps/devps/symbol.sed: New file.
11694	* ps/devps/symbol.diff: Deleted.
11695	* ps/devps/FontMakefile: Generate symbol.afm using symbol.sed.
11696	Generate zapfdr.afm from zapfd.afm.
11697
11698	* tty/tmac.tty (tty-char): Prefix definition with ".
11699
11700	* macros/tmac.an (TP): Don't start a diversion if one has already
11701	been started.
11702
11703	* tty/tmac.tty-char: Add Latin-1 characters.
11704
11705	* tty/tmac.tty-char: Incorporate suggestions from Paul Eggert.
11706
11707Tue Jun  2 00:54:34 1992  James Clark  (jjc@jclark)
11708
11709	* tbl/table.c (table::allocate): Delete old_vline, old_entry.
11710	Move declaration of struct horizontal_span.
11711
11712	* tbl/table.c (table::table): Initialize span_list.
11713	(table::~table): Delete span_list.
11714
11715	* lib/ptable.h (PTABLE(T)::~PTABLE(T)): Delete v.
11716
11717	* ps/devps/Makefile: Avoid dependency on GNU make.
11718
11719	* ps/tmac.ps: Check that character does not already exist before
11720	defining it.
11721
11722	* tty/tmac.tty: Add definitions of \(ff, \(!=, \(==, \(~=, \(sq,
11723	\(OE, \(oe, \(AE, \(ae, \(lh, \(rh. Delete definitions of \(en,
11724	\(ru, \(ul, \(br, \(bv, \(sl which are in the font description
11725	files.
11726
11727	* tty/tmac.tty-char: New file.
11728	* tty/Makefile: Install tmac.tty-char.
11729	* tty/tmac.tty: Move definitions of \(ua, \(da, \(uA, \(dA into
11730	tmac.tty-char.
11731
11732	* tty/tmac.tty: Fix definition of \(34.
11733
11734	* tty/dev{ascii,latin1}/R.proto: Add ha and ti. Map
11735	bracket-drawing characters onto |. Add *o.
11736
11737	* troff/env.c (environment::wrap_up_tab): Increment field_spaces
11738	only if current_field.
11739
11740	* troff/dictionary.c (dictionary::lookup): Free old_table after
11741	rehashing. 
11742
11743Mon Jun  1 10:15:22 1992  James Clark  (jjc@jclark)
11744
11745	* tty/dev{ascii,latin1}/R.proto: Add uppercase Greek characters
11746	whose glyphs are identical to glyphs of some Roman character.
11747
11748	* tty/devlatin1/R.proto (bu): Deleted.
11749	* tty/devascii/R.proto (bu): Deleted.
11750	* tty/tmac.tty: Add definition of \(bu.
11751
11752	* eqn/main.c (do_file): Pass FILE as argument.
11753	(main): Automatically load eqnchar.  New options -F and -n.
11754	Pass do_file an opened FILE.
11755	* groff.c: Don't pass eqnchar to eqn. Pass -F options onto eqn.
11756	No need to include font.h.
11757	* groff.sh: Likewise.  Don't need to use - for standard input.
11758	Prefix files with -- if first file starts with -.
11759
11760	* macros/tmac.e: Conditionalize use of \$* on \n(.g.
11761
11762	* troff/env.c (environment::possibly_break_line): Don't set line
11763	to 0 across call to output_line().  Don't call output_line() until
11764	after discarding nodes after break.
11765
11766Sun May 31 10:45:29 1992  James Clark  (jjc@jclark)
11767
11768	* request.h (macro::empty): Declare it.
11769	* input.c (macro::empty): New method.
11770	(interpolate_macro):  Don't give a WARN_SPACE if the two-character
11771	macro is empty.
11772
11773Sat May 30 10:27:15 1992  James Clark  (jjc@jclark)
11774
11775	* troff/env.c (environment::start_field): Decrement space_total
11776	when a space is frozen.
11777
11778Fri May 22 14:34:38 1992  James Clark  (jjc@jclark)
11779
11780	* macros/tmac.an (R): Delete macro.
11781
11782	* troff/input.c (get_copy, token::next): Support \# (like \" but
11783	newline is ignored).
11784
11785	* troff/input.c (token::next): Fix error message in 'Y' case.
11786
11787Thu May 21 09:26:24 1992  James Clark  (jjc@jclark)
11788
11789	* eqn/delim.c (define_extensible_string): Recognize any prefix of
11790	a delimiter name.
11791
11792Fri May 15 10:20:41 1992  James Clark  (jjc at jclark)
11793
11794	* c++test.c: Include <osfcn.h>.
11795
11796	* lib/strtol.c, lib/getcwd.c, ps/psbb.c: Declare errno in case
11797	<errno.h> doesn't.
11798
11799Fri May  8 09:37:19 1992  James Clark  (jjc at jclark)
11800
11801	* tbl/table.c (table::divide_span): Don't count column separation
11802	if expand was specified.
11803
11804	* tbl/main.c (process_format): Don't ignore width specs in
11805	continued format.  Give warning for changing equal widths or
11806	column separation in continued format.
11807	(process_data): Set column separation, minimum width, equal
11808	columns at end of table.
11809
11810Thu May  7 08:50:40 1992  James Clark  (jjc at jclark)
11811
11812	* troff/node.c (kern_pair_node::add_discretionary_hyphen,
11813	node::add_discretionary_hyphen): Use soft_hyphen_char.
11814	(set_soft_hyphen_char): New function.
11815	(init_node_requests): Bind to shc.  Initialize soft_hyphen_char.
11816
11817	* Makefile (c++tested): Give more helpful message if test fails.
11818
11819Tue May  5 10:58:39 1992  James Clark  (jjc at jclark)
11820
11821	* troff/input.c (init_charset_table): Translate 0240 to
11822	an unbreakable space.
11823
11824	* troff/token.h (token::hyphen_indicator): New function.
11825	* troff/charinfo.h (TRANSLATE_HYPHEN_INDICATOR): New special
11826	translation.
11827	* troff/input.c (translate): Allow translation to \%.
11828	* troff/node.c (node::add_char): Handle
11829	TRANSLATE_HYPHEN_INDICATOR.	
11830	(make_node): Don't allow TRANSLATE_HYPHEN_INDICATOR here.
11831
11832	* troff/input.c (init_charset_table): Don't set BREAK_AFTER flag
11833	for \(hy.
11834
11835	* tty/devlatin1/R.proto: \(hy and - should print as 055.
11836
11837Tue Apr 21 09:24:42 1992  James Clark  (jjc at jclark)
11838
11839	* groff.c (run_commands): If the last command gets a SIGPIPE send
11840	a SIGPIPE to all children than haven't yet terminated.  When
11841	command terminates, set pid field to -1.
11842
11843Fri Apr 17 11:20:48 1992  James Clark  (jjc at jclark)
11844
11845	* groff.c (main): Pass an appropriate -filename option to gxditview.
11846
11847Thu Apr 16 15:11:40 1992  James Clark  (jjc at jclark)
11848
11849	* Makefile.bd (install): Remove existing program before copying.
11850
11851	* Makefile, */Makefile, Makefile.bd, groff.sh, groff.c: Allow
11852	programs which have Unix counterparts to be installed with
11853	user-specified prefix.
11854
11855	* troff/input.c (exit_troff): Don't check if exit_started.
11856	(exit_request): Don't call exit_troff if exit_started.
11857
11858	* Makefile.bd (install.mm): Rename to install.dwbmm.
11859
11860Tue Apr 14 10:05:10 1992  James Clark  (jjc at jclark)
11861
11862	* driver/input.c (do_file): Add missing break for '#' case.
11863
11864Mon Apr 13 10:11:02 1992  James Clark  (jjc at jclark)
11865
11866	* troff/input.c (input_stack::clear):  Clear past any boundaries and
11867	then add the boundaries back.
11868
11869	* troff/input.c (exit_troff): Return immediately if already
11870	exiting.
11871
11872	* macros/tmac.s (pg@end-text): New macro.  Use pg@end-text for the
11873	end macro.
11874	(pg*end-page): If the text has ended and there are no more
11875	footnotes or keeps, exit.
11876
11877	* macros/doc-ditroff (Lq, Rq): Define as \(lq and \(rq.
11878
11879	* troff/input.c (init_charset_table): Make \(rq transparent by
11880	default.
11881
11882	* macros/tmac.an: Define lq and rq strings.
11883
11884	* macros/tmac.s (Q, U): Define as \(lq and \(rq.
11885
11886Sun Apr 12 12:54:37 1992  James Clark  (jjc at jclark)
11887
11888	* troff/env.c (environment::final_break): New function.
11889	(environment::newline): Set prev_line_interrupted to 2 if
11890	exit_started.
11891	* troff/env.h: Declare environment::final_break.
11892	* troff/input.c (exit_troff): Call environment::final_break()
11893	instead of environment::do_break().
11894
11895	* macros/Makefile: Install man.local if $(MACRODIR)/man.local
11896	doesn't already exist.
11897	* macros/man.local: New file.
11898	* macros/tmac.an: Load man.local.
11899	* macros/man.ultrix: New file.
11900
11901Sat Apr 11 17:32:04 1992  James Clark  (jjc at jclark)
11902
11903	* troff/input.c (exit_groff): Rename to...
11904	(exit_troff): New function.
11905
11906	* troff/div.c (exit_started, done_end_macro,
11907	seen_last_page_ejector): New global variables.
11908	(began_page_in_end_macro): New static variable.
11909	(exit_flag): Deleted.
11910	(top_level_diversion::top_level_diversion): Initialize
11911	last_page_count.
11912	(top_level_diversion): More elaborate test for whether
11913	cleanup_and_exit() should be called.
11914	Set began_page_in_end_macro if the end macro isn't yet finished.
11915	* troff/div.h (top_level_diversion::last_page_count): New data
11916	member.
11917	(top_level_diversion::set_last_page): New function.
11918	(exit_started, done_end_macro, seen_last_page_ejector): Declare.
11919	* troff/env.c (do_break): Zero prev_line_interrupted.
11920	* troff/input.c (exit_flag): Delete declaration.
11921	(LAST_PAGE_EJECTOR): New magic cookie.
11922	(token::next): Handle LAST_PAGE_EJECTOR.
11923	(exit_groff): Set exit_started and done_end_macro instead of
11924	exit_flag.  Call top_level_diversion::set_last_page.  Push a
11925	LAST_PAGE_EJECTOR instead of calling push_page_ejector().  Do
11926	another ejection after setting seen_last_page_ejector.
11927
11928Thu Apr  9 04:37:11 1992  James Clark  (jjc at jclark)
11929
11930	* etc/grog.sh, etc/grog.sh: Recognize -me sh macro.
11931
11932	* macros/tmac.e (TH): Make sure there's room for the initial
11933	header.
11934
11935	* macros/tmac.s (par@init): Make PD and DD at least \n(.V.
11936	Set FVS in points rather than units.
11937
11938Mon Apr  6 11:21:32 1992  James Clark  (jjc at jclark)
11939
11940	* troff/div.c (top_level_diversion::add_trap): Don't consider the
11941	position of empty slots.
11942
11943Fri Apr  3 10:46:45 1992  James Clark  (jjc at jclark)
11944
11945	* ps/devps/S: Fix height and depth of parenrightex.
11946	* ps/devps/symbol.diff: Regenerate.
11947
11948Sat Mar 28 21:17:52 1992  James Clark  (jjc at jclark)
11949
11950	* tmac.e (u): Do underlining as in -mgs.
11951
11952Fri Mar 27 09:23:44 1992  James Clark  (jjc at jclark)
11953
11954	* tty/tty.c (tty_printer::end_page): If overstriking is
11955	suppressed, still turn overstruck horizontal and vertical lines
11956	into +.
11957
11958	* lib/new.c: Back out Feb 24 change; no longer needed with gcc
11959	2.1.
11960
11961	* refer/label.y (format_expr::evaluate): Avoid use of %0*d.
11962
11963Wed Mar 18 09:29:10 1992  James Clark  (jjc at jclark)
11964
11965	* Version 1.05 released.
11966
11967Tue Mar 17 16:50:45 1992  James Clark  (jjc at jclark)
11968
11969	* tty/tty.c: Instead of keeping an array of glyphs and then
11970	sorting it, keep a ordered linked list of glyphs for each line.
11971
11972	* driver/driver.h: Include stddef.h.
11973
11974	* tty/tty.c (compare_glyph):
11975	* refer/refer.c (rcompare):
11976	* troff/env.c (compare_ranges): Arguments of qsort comparison
11977	function should be const void *.
11978
11979	* troff/number.c (parse_term):
11980	* dvi/dvi.c (draw_dvi_printer::draw): Avoid initialization in
11981	switch statement.
11982
11983	* refer/label.y (consider_authors): Don't access variables
11984	constructed under a condition outside that condition: put braces
11985	round for statement containing declaration; redeclare use of same
11986	variable later.
11987
11988	* pic/pic.y (text_expr): Delete production that allows
11989	parenthesised text_expr.
11990	(expr): Allow a conditional_expr to appear in parentheses.
11991	(conditional_expr): Rename to any_expr.
11992
11993	* mm: Install new version 1.01 from jh.
11994
11995	* lib/font.c (font::get_width): Cache scaled widths.
11996	(font::font): Initialize widths_cache.
11997	(font::~font): Destroy widths_cache.
11998	* lib/font.h: Add font::widths_cache. Declare font_widths_cache.
11999
12000Mon Mar 16 10:16:10 1992  James Clark  (jjc at jclark)
12001
12002	* c++test.c, c++test.ref: New files.
12003	* Makefile: Check that the C++ compiler works.
12004
12005	* ps/tmac.pspic (PSPIC): Do a break.
12006
12007	* ps/tmac.ps: Move definition of PSPIC into...
12008	* ps/tmac.pspic: New file.
12009	(PSPIC): Draw box around picture, but make it invisible to grops.
12010	* ps/tmac.ps: Load tmac.pspic.
12011	* ps/Makefile: Install tmac.pspic.
12012
12013Sun Mar 15 14:18:08 1992  James Clark  (jjc at jclark)
12014
12015	* lib/font.c (scale_round): If n is negative,
12016	subtract .5 before truncating floating point result.
12017
12018	* lib/fontfile.c: Include <errno.h>.
12019
12020Tue Mar 10 14:17:03 1992  James Clark  (jjc at jclark)
12021
12022	* driver/input.c (get_char): Inline. Don't update current_lineno.
12023	Change callers to up date current_lineno if necessary.
12024	Use get_char() instead of getc(current_file).
12025
12026Sun Mar  8 18:05:28 1992  James Clark  (jjc at jclark)
12027
12028	* ps/tmac.ps: Fix up spacing of \(mo and \(nm.
12029
12030Fri Mar  6 19:38:58 1992  James Clark  (jjc at jclark)
12031
12032	* tty/tty.c (tmac.tty): Define \(rg as (R).
12033
12034Tue Mar  3 10:11:25 1992  James Clark  (jjc at jclark)
12035
12036	* lib/lib.h: New define a_delete.
12037	* Use a_delete instead of delete when deleting an array of objects
12038	without destructors.
12039
12040	* lib/lib.h: Rename adelete to ad_delete.
12041	* Change uses of adelete.
12042
12043Mon Mar  2 12:41:05 1992  James Clark  (jjc at jclark)
12044
12045	* eqn/eqn.y: Include lib.h.
12046
12047	* troff/node.c (grow_font_table): Delete old_font_table.
12048
12049	* mm: Install new version from jh.
12050
12051Fri Feb 28 10:42:23 1992  James Clark  (jjc at jclark)
12052
12053	* tbl/table.h (format_type): Make global instead of local to class
12054	entry_format.  Prefix enumerators with FORMAT_.
12055	* tbl/table.c, tbl/main.c: Corresponding changes.
12056	* refer/token.h (token_type): Make global.  Prefix enumerators
12057	with TOKEN_.
12058	* refer/token.[ch]: Corresponding changes.
12059	* Makefile: Get rid of -DNO_NESTED_TYPES configuration option.
12060
12061	* troff/div.c (node::set_vertical_size): Don't name argument.
12062
12063Thu Feb 27 10:29:19 1992  James Clark  (jjc at jclark)
12064
12065	* Makefile: New configuration option ARRAY_DELETE_NEEDS_SIZE.
12066	* lib/lib.h: Define adelete accordingly.
12067	* pic/object.c (graphic_object::graphic_object):
12068	* tbl/main.c (format::~format):
12069	* tbl/table.c (table::~table):
12070	* refer/ref.c (reference::~reference, reference::merge,
12071	reference::insert_field, reference::delete_field): Use adelete.
12072
12073	* Makefile: Change NESTED_TYPES to NO_NESTED_TYPES.
12074	* refer/token.h:
12075	* tbl/table.h: Corresponding changes.
12076
12077	* common.c (common_output::dashed_arc, common_output::dotted_arc):
12078	Ensure total_angle is positive.
12079
12080Wed Feb 26 08:49:26 1992  James Clark  (jjc at jclark)
12081
12082	* refer/ref.c (reference::merge, reference::insert_field,
12083	reference::delete_field): Avoid delete[0].
12084
12085	* refer/token.c (init_special_chars): Move calls to cmupper
12086	outside calls to init_two_char_letter to work around bug in gcc
12087	2.0.
12088
12089Mon Feb 24 14:20:00 1992  James Clark  (jjc at jclark)
12090
12091	* lib/new.c (operator new): Use __builtin_new for g++.
12092
12093	* pic/object.c (graphic_object::~graphic_object):  Don't use
12094	delete [] on 0.
12095
12096	* pic/object.c (output::compute_scale): Initialize max_width and
12097	max_height.
12098
12099Sat Feb 15 09:55:20 1992  James Clark  (jjc at jclark)
12100
12101	* troff/input.c (write_request): Call fflush.
12102
12103	* troff/node.h (class composite_node): Move declaration to node.c
12104	* troff/input.c (charinfo_to_node): Rename to ...
12105	(charinfo_to_node_list): Return node list rather than composite
12106	node.
12107	* troff/node.c (make_composite_node): New function.
12108	(make_node, add_char): Call make_composite_node instead of
12109	charinfo_to_node.
12110	(class composite_node): Add a tfont * member.  Delete font_size
12111	member.
12112	(composite_node::composite_node, composite_node::copy,
12113	composite_node::size): Corresponding changes.
12114	(composite_node::tprint): Provide constant spacing, emboldening
12115	and track kerning as specified in tfont.
12116	(composite_node::width): Change width calculation accordingly.
12117	* troff/env.h (environment::composite): New member.
12118	(environment::is_composite, environment::set_composite): New
12119	functions.
12120	* troff/env.c (environment::environment): Initialize composite.
12121	* troff/input.c (charinfo_to_node): Call
12122	environment::set_composite.
12123	* troff/node.c (make_composite_node, make_glyph_node): Use the
12124	plain version of the tfont if the environment is composite.
12125
12126	* troff/node.c (font_info::get_space_width): Additional argument
12127	giving space_size.  Handle constant space correctly. Scale by
12128	space_size unless constant spaced.
12129	(env_sentence_space_width): New function.
12130	* troff/node.h: Declare it.
12131	* troff/env.h (environment::get_space_size,
12132	environment::get_sentence_space_size,
12133	environment::get_narrow_space_width,
12134	environment::get_half_narrow_space_width): Make inline.
12135	(environment::get_space_width): Make inline.  Just call
12136	env_space_width.
12137	* troff/env.c: Delete definitions for funtions made inline.
12138	(environment::space_newline, environment::space): Use
12139	env_sentence_space_width(). Don't scale by space_size.
12140	* troff/node.h: Move declarations of env*space_width() functions
12141	into env.h.
12142
12143Sat Feb  8 09:30:22 1992  James Clark  (jjc at jclark)
12144
12145	* macros/tmac.s (PS): Don't try to set negative indent.
12146
12147Thu Feb  6 09:00:35 1992  James Clark  (jjc at jclark)
12148
12149	* pic/pic.y: Fix min function.
12150
12151Tue Jan 28 07:52:29 1992  James Clark  (jjc at jclark)
12152
12153	* man/mdate.sh: Clear LANGUAGE.
12154
12155Sun Jan 19 13:02:41 1992  James Clark  (jjc at jclark)
12156
12157	* pic/pic.y, pic/lex.c: Rename COMMAND token to COMMAND_LINE.
12158	* pic/lex.c: New COMMAND keyword.
12159	* pic/pic.y (print_args, print_arg): New rules.
12160	(placeless_element): Use print_args for PRINT.
12161	New COMMAND element.
12162
12163Tue Jan  7 13:14:31 1992  James Clark  (jjc at jclark)
12164
12165	* troff/input.c (terminal): Handle missing argument correctly.
12166
12167	* pic/pic.y (text_expr): New rule.
12168
12169	* pic/pic.y: Implement := operator.
12170
12171Sun Jan  5 10:23:02 1992  James Clark  (jjc at jclark)
12172
12173	* etc/grog.pl, etc/grog.sh: Distinguish old and new versions of
12174	mdoc.
12175
12176Sat Jan  4 14:42:26 1992  James Clark  (jjc at jclark)
12177
12178	* ps/devps/dingbatsrmap: Include this in the distribution.
12179
12180	* macros/tmac.doc: Replace with new version from 2nd Networking
12181	Release. Fix loading of doc-* files.
12182	* macros/{doc-common,doc-ditroff,doc-nroff,doc-syms}: New files.
12183	* macros/tmac.doc.old: New file.  Apply fixes that had been
12184	applied to old tmac.doc.
12185	* macros/tmac.andoc: Check that we're running under groff.
12186	* macros/Makefile: Rework.
12187
12188Fri Jan  3 13:27:51 1992  James Clark  (jjc at jclark)
12189
12190	* tbl/table.h (format_type): 
12191	* refer/token.h (token_type): If NESTED_TYPES is defined, use
12192	typedef to make these types visible at file scope.
12193	* Makefile: Add NESTED_TYPES configuration option.
12194
12195	* troff/div.c (mark): At the top level use the value of
12196	nl_reg_contents rather than the current vertical position.
12197
12198Thu Jan  2 10:34:51 1992  James Clark  (jjc at jclark)
12199
12200	* tty/tty.c: Implement \D for horizontal or vertical lines.
12201	(tty_printer::set_char): Use vec_used+2 as serial number.
12202	Don't allow size of vector to exceed USHRT_MAX-2.
12203	Split off part into...
12204	(tty_printer::add_char): New function.
12205	(tty_printer::draw): New function.
12206	(compare_glyph): Handle equal serial numbers.
12207	(tty_printer::end_page): Handle overstruck characters from \D.
12208	(main, usage): Implement -d option.
12209
12210Mon Dec 23 10:37:51 1991  James Clark  (jjc at jclark)
12211
12212	* tbl/main.c (process_format):
12213	* eqn/text.c (split_text):
12214	* troff/input.c (token::next): Use inner block for declarations
12215	with initializers in switch statement.
12216
12217Mon Dec 16 20:52:03 1991  James Clark  (jjc at jclark)
12218
12219	* pic/common.c (common_output::dash_line): Cope with zero-length
12220	lines.
12221
12222Sun Nov 17 12:04:08 1991  James Clark  (jjc at jclark)
12223
12224	* Version 1.04 released.
12225
12226Wed Nov 13 05:27:21 1991  James Clark  (jjc at jclark)
12227
12228	* macros/tmac.an (TH): Define a macro an-init to define variables
12229	based on command line arguments.
12230	(an-header): Call it.
12231
12232Sun Nov  3 12:07:34 1991  James Clark  (jjc at jclark)
12233
12234	* Makefile (install.mm): Rename to install.dwbmm.
12235
12236	* Makefile: Integrate mm.
12237	* mm: New directory.
12238
12239Wed Oct 30 10:11:34 1991  James Clark  (jjc at jclark)
12240
12241	* refer/dirnamemax.c: If PATHCONF_MISSING is defined, include
12242	<sys/types.h>.
12243
12244	* pic/troff.c (troff_output::simple_spline,
12245	troff_output::simple_polygon): Rename variable `v' to `d' to avoid
12246	shadowing parameter.
12247
12248	* lib/tmpfile.c (xtmpfile): Declare dir as const char *.
12249
12250	* lib/ptable.h: Add explicit casts when converting from unsigned
12251	long to unsigned.
12252
12253	* dvi/devdvi/{SA,SB,msam.map,msbm.map}: New files.
12254	* dvi/devdvi/Makefile: Install SA, SB.
12255
12256	* refer/indxbib.c: Add declaration of mktemp.
12257
12258	* refer/lookbib.c: Add declaration of isatty.
12259
12260Fri Oct 25 09:00:17 1991  James Clark  (jjc at jclark)
12261
12262	* pic/lex.c (interpolate_macro_with_args):  While collecting
12263	arguments, keep track of whether we're in a string.
12264
12265Wed Oct 23 08:42:48 1991  James Clark  (jjc at jclark)
12266
12267	* ps/tmac.ps (PSPIC): Do the .sp after the \X, and move the \X
12268	down with \v, so as to avoid problems with top of page trap
12269	setting no space mode.
12270
12271Tue Oct 22 17:38:49 1991  James Clark  (jjc at jclark)
12272
12273	* eqn/lex.c (get_delimited_text): Allow tab before macro body.
12274
12275Tue Oct 15 17:24:53 1991  James Clark  (jjc at jclark)
12276
12277	* ps/psrm.c (ps_get_line): Fix bug when lines longer than 255.
12278	Improve error message.
12279
12280Fri Oct 11 11:09:38 1991  James Clark  (jjc at jclark)
12281
12282	* ps/psrm.c (print_ps_string): Don't pass negative numbers to
12283	printf("%03o");
12284
12285Wed Oct  9 17:50:14 1991  James Clark  (jjc at jclark)
12286
12287	* groff.c (possible_command::execp): Always use _exit() after a
12288	failed exec.
12289
12290	* Makefile: Add HAVE_UNION_WAIT, HAVE_PID_T, WAIT_COREDUMP_0200,
12291	NO_SYS_WAIT_H 	configuration options.
12292	* groff.c: Use these options.  Use POSIX-style macros to extract
12293	fields from the status returned by wait().
12294
12295Fri Oct  4 12:12:27 1991  James Clark  (jjc at jclark)
12296
12297	* tbl/table.c (table::compute_separation_factor): Allow the
12298	separation factor to drop to 0.
12299
12300Tue Oct  1 18:12:38 1991  James Clark  (jjc at jclark)
12301
12302	* refer/search.c: Include <errno.h>.
12303
12304Sun Sep 29 08:40:57 1991  James Clark  (jjc at jclark)
12305
12306	* pic/pic.y (YYDEBUG): Don't define for Borland C++.
12307
12308	* lib/lib.h: #ifdef out declarations of itoa and iftoa for Borland
12309	C++. 
12310
12311	* pic/lex.c (input_stack::bol): Move definition out of class body.
12312
12313	* pic/main.c: On MSDOS munge argv[0].
12314
12315	* lib/ptable.h: Define name2 as _Paste2 for Borland C++.
12316
12317	* lib/ptable.c (hash_string): Use unsigned long rather than
12318	unsigned.
12319	(next_ptable_size): Use unsigned rather than int.  Give an error
12320	message if we've hit the largest table size.
12321	* lib/ptable.c: Corresponding changes.  Also use unsigneds for the
12322	table size.
12323
12324	* pic/object.h (object_spec): Make flags unsigned long.  Declare
12325	flags as const unisgned long rather than as enums.
12326
12327	* pic/output.c: Deleted.
12328
12329	* pic/troff.c (troff_output::simple_ellipse): Remove spurious %.
12330
12331	* tbl/table.c (simple_entry::note_double_vrule_on_{left,right}):
12332	Add additional argument.
12333	(line_entry::note_double_vrule_on_{left,right}): Set value of
12334	douvle_vrule_on_{right,left} flag according to argument.
12335	(simple_line_entry::simple_print,
12336	simple_line_entry::double_line_print): If adjacent to double vrule
12337	on a corner extend rather than shorten the rule by half the double
12338	vrule sep.
12339
12340	* troff/number.c (parse_term): In checking for overflow, handle the
12341	case where the current horizontal position is negative.
12342
12343Thu Sep 12 08:26:09 1991  James Clark  (jjc at jclark)
12344
12345	* pic/object.c (draw_arrow): Check for object having zero length.
12346
12347Wed Sep 11 10:32:38 1991  James Clark  (jjc at jclark)
12348
12349	* eqn/main.c (do_file): Split off inline equation handling into...
12350	(inline_equation): New function.  Search for starting delimiter
12351	using...
12352	(delim_search): New function. Don't recognize a delimiter that
12353	occurs in the name of an escape sequence, number register, string
12354	etc.
12355
12356Tue Sep 10 04:01:11 1991  James Clark  (jjc at jclark)
12357
12358	* eqn/delim.c (delim_box::compute_metrics): Don't call
12359	define_extensible_string if left is 0.
12360	(delim_box::output):  Don't print the left delimiter if left is 0.
12361	(delim_box::debug_print): Check for left == 0 before calling printf.
12362
12363Fri Aug 23 13:02:30 1991  James Clark  (jjc at jclark)
12364
12365	* troff/Makefile (majorminor.c): Include only digits in
12366	minor_version.
12367
12368Thu Aug 22 09:35:37 1991  James Clark  (jjc at jclark)
12369
12370	* refer/dirnamemax.c: new file.
12371	* refer/genlimits.c: Deleted.
12372	* refer/indxbib.c (main): Use dir_name_max() instead of NAME_MAX.
12373	Don't check path length.
12374	* refer/Makefile: Add dir_name_max.o; delete genlimits.
12375	* Makefile: Add PATHCONF_MISSING option.
12376
12377	* refer/indxbib.c (get_cwd): New function.
12378	(main): Use get_cwd().
12379	* lib/getcwd.c: New file.
12380	* Makefile: Delete -DHAVE_GETWD. Include GETCWD variable. Pass
12381	GETCWD in SUBFLAGS.
12382	* lib/Makefile: Compile getcwd.o.
12383
12384	* ps/tmac.psatk (psatk-defs): Define showpage after pushing
12385	userdict.
12386
12387	* refer/indxbib.c (main): Check success of mktemp.
12388
12389	* lib/tmpfile.c: New file.
12390	* lib/Makefile: Add tmpfile.c.
12391	* lib/lib.h: Declare xtmpfile(); include <stdio.h>.
12392	* ps/ps.h: Delete declaration of mktemp().
12393	* ps/ps.c (ps_printer::ps_printer): Use xtmpfile().
12394	* refer/refer.c (divert_to_temporary_file): Use xtmpfile().
12395	* driver/driver.h: No need now to include errno.h.
12396
12397	* everywhere: Set errno to 0 before calling fopen().
12398
12399	* eqn/eqn.h, etc/soelim.c, driver/driver.h, etc/addftinfo.c,
12400	dvi/tfmtodit.c, groff.c, refer/index.c, refer/linear.c,
12401	refer/lookbib.c, refer/refer.h, ps/psbb.c: Include <errno.h>.
12402
12403Mon Aug 19 10:52:18 1991  James Clark  (jjc at jclark)
12404
12405	* troff/env.h (translate_space_to_dummy): Declare it.
12406	* troff/env.c (environment::space_newline, environment::space):
12407	If translate_space_to_dummy is set then make the width of spaces 0.
12408	* troff/input.c (translate): If the second character of a
12409	translation is a space, translate to unbreakable space.  If the
12410	first character is a space, set or clear translate_space_to_dummy
12411	according to whether the second character is \&.  Weird!
12412
12413Tue Jul 30 10:03:56 1991  James Clark  (jjc at jclark)
12414
12415	* groff.c (run_commands): Don't use non-zero exit code because a
12416	command gets SIGPIPE.
12417
12418	* groff.c, groff.sh: Use -mXps with -TXps.
12419
12420	* ps/ps.c (ps_printer::special): Move call to flush_sbuf() into...
12421	(ps_printer::do_exec, ps_printer::do_file, ps_printer::do_def,
12422	ps_printer::do_mdef, ps_printer::do_import): Call flush_sbuf().
12423	(ps_printer::special): New specials invis and endinvis.
12424	(ps_printer::do_invis, ps_printer::do_endinvis): New functions.
12425	(ps_printer::set_char, ps_printer::draw): Return if invis_count>0. 
12426	(ps_printer::end_page): Check that invis_count == 0.
12427	(ps_printer::invis_count): New member.
12428	(ps_printer::ps_printer): Initialize invis_count to 0.
12429
12430	* troff/env.c (environment::hyphenate_line): Hyphenation
12431	indicator at beginning of word inhibits splitting after -, \(em
12432	etc.
12433
12434	* pic/pic.y (element): Allow another element to follow } without
12435	any intervening separator.
12436
12437Mon Jul 22 12:27:37 1991  James Clark  (jjc at jclark)
12438
12439	* pic/lex.c (get_delimited): Allow tabs before delimiter.
12440
12441Wed Jul 17 10:59:08 1991  James Clark  (jjc at jclark)
12442
12443	* groff.c: Get rid of HAVE_UNION_WAIT stuff.  Instead suppress
12444	declaration of wait() in header files.
12445	* Makefile: Get rid of -DHAVE_UNION_WAIT.
12446
12447	* tbl/table.c (alphabetic_text_entry::add_tab): New function.
12448
12449	* lib/lib.h: Declare return type of strerror as char *.
12450
12451	* man/Makefile: Add g flag to sed substitutions.
12452	* Makefile (shgroff, bindist): Likewise.
12453
12454Sun Jul 14 11:57:02 1991  James Clark  (jjc at jclark)
12455
12456	* ps/ps.c (ps_printer::do_import): Move push of userdict into...
12457	* ps/devps/prologue (PBEGIN): Define showpage after pushing
12458	userdict.
12459
12460Sat Jul 13 20:53:04 1991  James Clark  (jjc at jclark)
12461
12462	* ps/devps/prologue (PBEGIN): Zap any definition of showpage in
12463	userdict.
12464
12465Fri Jul 12 07:10:09 1991  James Clark  (jjc at jclark)
12466
12467	* man/mdate.sh: Handle the fact that BSD ls -l does not print the
12468	group.
12469
12470Sun Jul  7 08:00:23 1991  James Clark  (jjc at jclark)
12471
12472	* troff/input.c (define_number_reg):  If currently undefined,
12473	don't define it if the argument is an invalid expression.
12474
12475	* Makefile: Ignore return value of `if' commands without `else'
12476	parts.
12477
12478	* Makefile: Split up CPPDEFINES into a series of separate
12479	configuration options.
12480
12481	* troff/input.c (init_registers): Use time_t instead of long
12482	unless LONG_FOR_TIME_T is defined.  Use returned result rather
12483	than passing pointer.
12484	* Makefile: Document LONG_FOR_TIME_T as a CPPDEFINE.
12485
12486	* lib/Makefile (fontpath.h): Use gendef.
12487
12488Thu Jul  4 09:48:05 1991  James Clark  (jjc at jclark)
12489
12490	* troff/input.c (input_iterator::shift): Delete argument name.
12491	* troff/node.c (suppress_output_file::really_begin_page,
12492	suppress_output_file::really_transparent_char, node::ascii_print,
12493	node::tprint): Delete names of unused arguments.
12494
12495Wed Jul  3 17:34:57 1991  James Clark  (jjc at jclark)
12496
12497	* refer/label.y (string):  Pass $4 to command_error.
12498
12499Tue Jul  2 15:06:01 1991  James Clark  (jjc at jclark)
12500
12501	* Version 1.03 released.
12502
12503Sat Jun 29 08:14:01 1991  James Clark  (jjc at jclark)
12504
12505	* Makefile: Pass definition of SHELL in SUBFLAGS.
12506
12507	* gendef: New file.
12508	* Makefile, eqn/Makefile, refer/Makefile, troff/Makefile,
12509	ps/Makefile: Use gendef to construct header files that are
12510	constructed from the Makefile.
12511
12512	* macros/Makefile: make all should build stripped version of tmac.e.
12513
12514	* refer/Makefile (clean): Remove y.output.
12515
12516Fri Jun 28 09:44:36 1991  James Clark  (jjc at jclark)
12517
12518	* ps/pfbtops.c (main): Add -v option which prints out a version
12519	number.
12520	* ps/Makefile (pfbtops): Link with libgroff.a.
12521
12522Fri Jun 21 07:43:23 1991  James Clark  (jjc at jclark)
12523
12524	* refer/search.h (linear_searcher::get_nkeys): Delete declaration.
12525	* refer/linear.c (linear_searcher::get_nkeys): Delete definition.
12526
12527	* refer/lkbib.c (main): Always terminate reference with blank
12528	line.
12529	* refer/lookbib.c (main): Likewise.
12530
12531	* refer/linear.c (file_buffer::load): Check that the file is not a
12532	binary file.
12533
12534	* refer/Makefile (genlimits): Possibly add -DHAVE_SYS_DIR_H.
12535	(genlimits.c): Include <sys/dir.h> if HAVE_SYS_DIR_H is defined.
12536	Delete second inclusion of <sys/param.h>.
12537
12538Tue Jun 18 01:32:26 1991  James Clark  (jjc at jclark)
12539
12540	* troff/token.h (token::special): Deleted.
12541
12542	* tbl/main.c (process_format): Rework so that opt->tab_char is
12543	recognized only when appropriate.
12544
12545	* ps/Makefile (clean): Remove pfbtops.
12546
12547Sun Jun 16 09:37:19 1991  James Clark  (jjc at jclark)
12548
12549	* lib/font.c (text_file::next): Don't return if we have got a
12550	blank line.
12551
12552Fri Jun 14 09:52:26 1991  James Clark  (jjc at jclark)
12553
12554	* refer/refer.c (store_reference): Get hash code from old_table[i]
12555	when rehashing the table.
12556
12557Thu Jun 13 01:26:43 1991  James Clark  (jjc at jclark)
12558
12559	* eqn/box.c (box::top_level): Save size and prev size using \R and
12560	restore it afterwards. Set the size to the size at the beginning
12561	of the line.
12562	* eqn/pbox.h: Declare SAVED_INLINE_PREV_SIZE_REG,
12563	SAVED_INLINE_SIZE_REG, and SAVED_SIZE_REG.
12564
12565	* refer/Makefile (limits.h): Use ./genlimits.
12566
12567Wed Jun 12 16:05:34 1991  James Clark  (jjc at jclark)
12568
12569	* refer/index.c: Delete declarations of stat() and fstat().
12570
12571Tue Jun 11 14:52:49 1991  James Clark  (jjc at jclark)
12572
12573	* tty/tmac.tty: Add character definitions for \(>= and \(<=.
12574
12575Mon Jun 10 22:49:48 1991  James Clark  (jjc at jclark)
12576
12577	* etc/grog.sh, etc/grog.pl: Change regex for .PS.
12578
12579Fri Jun  7 09:13:06 1991  James Clark  (jjc at jclark)
12580
12581	* troff/input.c (token::get_char): Handle \e.
12582
12583	* refer/linear.c: Delete declarations of fstat() and stat().
12584
12585Wed Jun  5 09:11:59 1991  James Clark  (jjc at jclark)
12586
12587	* troff/node.c, troff/env.c, troff/input.c, Makefile: Remove
12588	OP_DELETE_BROKEN stuff, since we now have a fix for g++.
12589
12590Mon Jun  3 13:41:32 1991  James Clark  (jjc at jclark)
12591
12592	* troff/input.c (do_define_macro): Improve error handling for end
12593	of file while defining macro.
12594
12595Sun Jun  2 10:20:24 1991  James Clark  (jjc at jclark)
12596
12597	* eqn/box.h: Fix declaration of set_gsize.
12598	* eqn/box.c (set_gsize): Make argument const char *.
12599	(gsize): Declare as char *.
12600	* eqn/main.c (main): Don't convert gsize to int.
12601	* eqn/lex.c (do_gsize): Pass char * to set_gsize.
12602
12603	* Version 1.02 released.
12604
12605Sat Jun  1 12:19:46 1991  James Clark  (jjc at jclark)
12606
12607	* macros/tmac.andoc: New file.
12608	* macros/Makefile: Install tmac.andoc.
12609
12610	* troff/node.c, troff/env.c, troff/input.c: Conditionalize use of
12611	operator new and delete on OP_DELETE_BROKEN not being defined.
12612	* Makefile: Mention OP_DELETE_BROKEN.
12613
12614Mon May 27 13:49:07 1991  James Clark  (jjc at jclark)
12615
12616	* Makefile (bindist): Pass SUBFLAGS.
12617
12618Sun May 26 14:13:22 1991  James Clark  (jjc at jclark)
12619
12620	* Makefile, groff.c: Pass definitions to groff.c via device.h.
12621
12622	* tty/tty.c (tty_font::load_tty_font): Avoid shadowing
12623	parameter.
12624
12625	* ps/Makefile, ps.c: Pass BROKEN_SPOOLER_FLAGS via broken.h.
12626
12627	* ps/ps.h, ps/psrm.c: Make comment_table and
12628	header_comment_table local to resource_manager::process_file.
12629
12630	* groff.sh: With -TXps pass -printCommand option to gxditview.
12631
12632	* groff.c (possible_command::print): Implement using
12633	append_arg_to_string.
12634
12635	* xditview: Merge in new implementation with own ChangeLog.
12636
12637Sat May 25 18:33:20 1991  James Clark  (jjc at jclark)
12638
12639	* groff.c (main): Implement PRINT_OPTION.
12640	(append_arg_to_string): New command.
12641	(device_table): Set PRINT_OPTION flag for Xps.
12642
12643Fri May 24 09:48:58 1991  James Clark  (jjc at jclark)
12644
12645	* troff/groff.h: Rename to troff.h.
12646
12647	* pic/lex.c (lookup_keyword, docmp): New functions.
12648	(get_token): Use new lookup_keyword.
12649	Don't include key.h.
12650	* pic/key.[ch], pic/pic.gperf: Deleted.
12651	* pic/Makefile: Remove gperf stuff.
12652
12653	* pic/Makefile, pic/output.h: Move definition of TEX_SUPPORT
12654	into output.h.
12655	* pic/tex.c: Move include of pic.h before test of TEX_SUPPORT.
12656
12657	* troff/Makefile, troff/node.c: Move definition of
12658	STORE_WIDTH into node.c.
12659
12660	* etc/grog.pl, etc/grog.sh: Support -mdoc.
12661
12662Thu May 23 12:30:49 1991  James Clark  (jjc at jclark)
12663
12664	* dvi/devdvi/texr.map, dvi.devdvi/texi.map,
12665	dvi/devdvi/texb.map: Add lq and rq.
12666	dvi/devdvi: Regenerate fonts.
12667	* ps/devps/textmap: Add lq and rq.
12668	* ps/devps: Regenerate fonts.
12669	* tty/devascii/R.proto, tty/devlatin1/R.proto: Add lq and rq.
12670	* macros/tmac.e: Define \*(lq and \*(rq to be \(lq and \(rq.
12671
12672	* pic/object.c (position_rectangle): When checking radius
12673	cope with possiblity that width or height is negative.
12674	(box_object::box_object): Have separate xrad and yrad with
12675	signs matching signs of dim components.
12676	(box_object::{north,south}_{east,west}): Use xrad and yrad.
12677	(box_object::print): With rounded boxes use absolute values
12678	for dim and rad arguments.
12679
12680	* lib/Makefile, lib/fontfile.o: Pass definition of FONTPATH
12681	in fontpath.h.
12682
12683	* eqn/Makefile, eqn/main.c: Pass definition of DEVICE in device.h.
12684
12685	* various files: Add explicit destructors to keep Saber CC +d
12686	happy.
12687
12688Wed May 22 11:37:11 1991  James Clark  (jjc at jclark)
12689
12690	* eqn/box.c (box::top_level): Restore fonts correctly after
12691	font changes in line containing inline equation.  Also
12692	restore previous font as well as current font.
12693	* eqn/pbox.h: Define necessary string and register names.
12694
12695	* troff/input.c (token::next): Case 'R' calls do_register.
12696	(do_register): New function.
12697
12698Tue May 21 11:28:23 1991  James Clark  (jjc at jclark)
12699
12700	* groff.c, groff.sh: Support Xps device.  Allow each device
12701	to have a pseudo_name and a real_name.
12702
12703	* groff.c (run_commands): Don't print `Broken pipe' messages.
12704
12705	* ps/pfbtops.c: New file.
12706	* ps/Makefile: Add pfbtops.
12707
12708	* troff/number.c (parse_term): Improved error message.
12709
12710Mon May 20 11:22:14 1991  James Clark  (jjc at jclark)
12711
12712	* groff.c, groff.sh, etc/grog.sh, etc/grog.pl: Support grefer.
12713
12714	* Makefile: Integrate refer.
12715	* refer: New directory.
12716	* man/grefer.man, man/glookbib.man, man/gindxbib.man,
12717	man/lkbib.man: New files.
12718	* man/Makefile: Support refer man pages.
12719
12720	* lib/lib.h: Declare is_prime.
12721	* lib/prime.c: New file.
12722
12723	* troff/input.c (macro_source): New function.
12724	(init_input_requests): Bind "mso" to macro_source.
12725
12726	* troff/env.c (environment::possibly_break_line): Maintain
12727	pointer to pointer to node to be split in ndp so as to avoid
12728	using address of freed node.
12729
12730	* troff/env.c (environment::hyphenate_line): Maintain pointer to
12731	pointer to first node to be hyphenated in startp so as to
12732	avoid using address of freed node.
12733
12734	* troff/env.c (class trie, class hyphen_trie): Make the
12735	elements of the trie be of type char not unsigned char.
12736	Declare arguments to be const char* instead of unsigned char *.
12737	
12738	* troff/env.c (hyphenate): Initialize hbuf[0].
12739
12740	* troff/input.c (set_string): Declare p to be char * and cast
12741	*p to unsigned char when necessary.
12742
12743	* troff/input.c (do_define_macro): Declare s to be const
12744	char*. Cast element to unisgned char when necessary, Declare
12745	d to be an int.  Handle EOF better.
12746
12747	* troff/Makefile, troff/input.c: Different scheme for passing
12748	definitions of MACROPATH, HYPHENFILE and DEVICE.
12749
12750Tue May 14 13:41:36 1991  James Clark  (jjc at jclark)
12751
12752	* tty/devascii/R.proto: Delete entry for em.
12753	* tty/devlatin1/R.proto: Likewise.
12754
12755Sat May 11 11:13:28 1991  James Clark  (jjc at jclark)
12756
12757	* troff/input.c (translate): Stop when we get a space. Treat eof
12758	like newline.
12759
12760	* macros/tmac.an (IP): Only pass quoted argument to TP when \n(.$>1.
12761
12762Wed Apr 24 19:24:33 1991  James Clark  (jjc at jclark)
12763
12764	* tbl/main.c (process_format): A font name following a `f'
12765	modifier that starts with a digit can be only one character long.
12766	Also deal with EOF on the second character of the font name.
12767
12768Wed Apr 17 11:23:43 1991  James Clark  (jjc at jclark)
12769
12770	* troff/input.c (token::next): Turn \~ into an
12771	unbreakable_space_node.
12772	* troff/node.c (unbreakable_space_node): New class.
12773	* troff/node.h: Declare it.
12774
12775Tue Apr 16 10:47:12 1991  James Clark  (jjc at jclark)
12776
12777	* dvi/dvi.c (dvi_printer::set_char): Make code an int.  Check that
12778	it's >= 0, before outputting it as a single byte.
12779
12780Mon Apr 15 11:20:23 1991  James Clark  (jjc at jclark)
12781
12782	* lib/font.c: Make font_char_metric::code an int.
12783	(font::get_code): Change return type to int.
12784	(font::load): Allow code to be arbitrary integer.
12785	* lib/font.h (font::get_code): Change return type to int.
12786	(font::number_to_index): Change argument type to int.
12787	* troff/input.c (token::next):  In case 'N', allow any value.
12788	Store value in token::val.
12789	(token::operator==): For TOKEN_NUMBERED_CHAR test equality of val.
12790	(token::get_char, token::add_to_node_list, token::process): Get
12791	number from val.
12792	(charinfo::set_number): Change argument to int.
12793	(charinfo::get_number):  Require that NUMBERED flag be set.
12794	(get_charinfo_by_number): Store numbered characters not between 0
12795	and 255 in a dictionary.
12796	* troff/charinfo.h (get_charinfo_by_number): Change argument type
12797	to int.
12798	(charinfo::number): Change type to int.
12799	(charinfo::set_number): Change type of set_number to int.
12800	* troff/node.c (troff_output_file::put_char_width,
12801	troff_output_file::put_char): Test whether character is numbered
12802	using charinfo::numbered().
12803	* driver/printer.c (printer::set_numbered_char): Allow arbitrary
12804	values of num.
12805	* lib/nametoindex.c: New implementation to cope with arbitrary
12806	number characters.
12807
12808	* troff/input.c (token::operator==): Test val for
12809	TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT, TOKEN_FONT_POSITION, and
12810	TOKEN_SIZE.
12811
12812	* man/Makefile: Add definiton of BROKEN_SPOOLER_FLAGS.
12813	(.man.n):  sed out @BROKEN_SPOOLER_FLAGS@.
12814
12815Sun Apr 14 12:57:00 1991  James Clark  (jjc at jclark)
12816
12817	* ps/devps/zapfdr.ps: Don't copy UniqueID.  Avoid use of newdict
12818	variable.
12819
12820	* all Makefiles: rm targets of cp and >.
12821
12822	* xditview/xtotroff.c (MapFont): Unlink troff_name before opening
12823	it.
12824
12825	* eqn/lex.c (def_table): Add dollar.
12826
12827Sat Apr 13 13:02:44 1991  James Clark  (jjc at jclark)
12828
12829	* troff/input.c (do_width): Push back newline before closing delim
12830	like do_bracket.
12831
12832Fri Apr 12 15:16:03 1991  James Clark  (jjc at jclark)
12833
12834	* groff.c (possible_command::prepend_arg): New function.
12835	(main): Prepend device -m option.
12836	* groff.sh: Put device -m options before command-line options.
12837
12838Tue Apr  9 10:24:43 1991  James Clark  (jjc at jclark)
12839
12840	* macros/tmac.an (IP): Quote argument to TP.
12841
12842	* ps/ps.c (main): New option -b, which sets...
12843	(broken_flags): New variable.
12844	(ps_printer::~ps_printer): Incorporate the setup section in the
12845	prolog if (broken_flags & NO_SETUP_SECTION).
12846	(ps_printer::begin_page): Generate {Begin,End}PageSetup comments.
12847	(ps_printer::merge_download_fonts, ps_printer::merge_import_fonts,
12848	ps_printer::merge_ps_fonts, ps_printer::print_font_comment,
12849	ps_printer::print_needed_font_comment,
12850	ps_printer::print_supplied_font_comment,
12851	ps_printer::print_include_font_comments,
12852	ps_printer::lookup_doc_font, ps_printer::download_fonts,
12853	ps_printer::read_download_file, read_document_fonts, add_font,
12854	skip_line, parse_fonts_arg, document_font::document_font,
12855	document_font::~document_font, document_font::download,
12856	ps_output::include_file):  Deleted.
12857	(ps_printer::~ps_printer): Generate %%EOF. Generate %!PS-Adobe-3.0
12858	rather than %!PS-Adobe-2.0.  Make calls to
12859	resource_manager::need_font for each font that we used. Replace
12860	calls to merge_ps_fonts, merge_download_fonts, print_font_comment,
12861	print_supplied_font_comment, print_needed_font_comment by call to
12862	resource_manager::print_header_comments. Output %%Orientation
12863	comment. Output %%Requirements: numcopies comment if ncopies > 1.
12864	Don't output the prolog directly.  Instead call
12865	resource_manager::output_prolog.  Only define #copies when ncopies
12866	> 1.  Delete calls to print_include_font_comments  and
12867	download_fonts.  Add call to resource_manager::document_setup.
12868	(ps_printer::do_file): Call resource_manager::import_file instead
12869	of including it ourselves.
12870	(ps_printer::do_import): Likewise.  Also don't call
12871	merge_import_fonts. Push userdict on the dictionary stack before
12872	and pop it afterwards.
12873	Move declaration of ps_output into ps.h.
12874	* ps/psrm.c: New file implementing resource_manager class.
12875	* ps/ps.h: New file declaring ps_output and resource_manager
12876	classes.
12877	* ps/devps/zapfdr.ps:
12878	* ps/devps/symbolsl.ps:
12879	* ps/devps/prologue:  Use 3.0 conventions.
12880	* ps/Makefile: Pass definition of BROKEN_SPOOLER_FLAGS in DEFINES.
12881	Add default definition of BROKEN_SPOOLER_FLAGS.
12882	* Makefile: New variable BROKEN_SPOOLER_FLAGS.  Add
12883	BROKEN_SPOOLER_FLAGS to SUBFLAGS.
12884
12885Mon Apr  8 09:26:54 1991  James Clark  (jjc at jclark)
12886
12887	* etc/grog.pl: New file.
12888	* Makefile (GROG): New variable.
12889	Add GROG to SUBFLAGS.
12890	* etc/Makefile (GROG): New variable.
12891	(install.nobin): Install $(GROG) rather than grog.sh.
12892
12893Thu Apr  4 11:36:45 1991  James Clark  (jjc at jclark)
12894
12895	* eqn/special.c (special_box::compute_metrics): Make the input and
12896	output strings the same.  Get the new height and depth from the
12897	predefined height and depth registers.  Also make subscript kern
12898	and skew available.
12899	(special_box::compute_subscript_kern, special_box::compute_skew):
12900	New functions.
12901
12902	* eqn/box.c (pointer_box::compute_skew,
12903	simple_box::compute_metrics, box::top_level)
12904	* eqn/text.c (prime_box::compute_metrics,
12905	prime_box::comput_subscript_kern)
12906	* eqn/limit.c (limit_box::compute_metrics):
12907	* eqn/delim.c (build_extensible, delim_box::compute_metrics):
12908	* eqn/sqrt.c (sqrt_box::compute_metrics): Protect possibly
12909	negative numbers in `nr' requests with a leading 0.
12910
12911Wed Apr  3 15:58:23 1991  James Clark  (jjc at jclark)
12912
12913	* eqn/special.c: New file.
12914	* eqn/eqn.y: Declare token SPECIAL.  Make it right associative.
12915	Add new rule for simple.
12916	* eqn/lex.c (token_table): Add SPECIAL.
12917	* eqn/box.h: Declare make_special_box.
12918	* eqn/Makefile: Add special.[co].
12919
12920Sat Mar 30 10:57:53 1991  James Clark  (jjc at jclark)
12921
12922	* ps/devps/prologue: Possibly set packing to true while defining.
12923	Create grops dictionary here.  Initialize local variables before
12924	defining procedures.
12925	(PICTURE): Rename to PBEGIN. Also do save, noop showpage, count
12926	the dictionary stack. Set strokeadjust and overprint to false if
12927	the relevant operators are defined.
12928	(PEND): New procedure.
12929	* ps/ps.c (ps_printer::~ps_printer): In the prolog just include
12930	prologue.  Do everything else in the setup section.
12931	(ps_printer::do_import): Just call PBEGIN and PEND around the
12932	picture. Also push userdict before, and pop it afterwards.
12933
12934Wed Mar 27 07:59:50 1991  James Clark  (jjc at jclark)
12935
12936	* troff/node.c (bracket_node::tprint): Brackets were being printed
12937	1m too low.
12938
12939	* macros/tmac.an (SH, SS): Set fill mode.
12940
12941Tue Mar 26 07:46:31 1991  James Clark  (jjc at jclark)
12942
12943	* troff/div.c (top_level_diversion::begin_page): Set
12944	high_water_mark to 0.
12945
12946Fri Mar 22 09:19:46 1991  James Clark  (jjc at jclark)
12947
12948	* man/mdate.sh: New file.
12949	* man/mdate.c: Deleted.
12950	* man/Makefile: Use mdate.sh instead of mdate.
12951	(mdate): Deleted.
12952
12953	* eqn/lex.c (do_gsize): Supply missing argument to error message.
12954
12955Tue Mar 19 11:06:50 1991  James Clark  (jjc at jclark)
12956
12957	* man/mdate.c: New file.
12958	* man/*.man: Replace modification date by @MDATE@.
12959	* man/Makefile (.man.n): Replace @MDATE@ by `mdate $<`.
12960	(mdate): New target.
12961
12962	* lib/font.c (text_file::next): Deal with arbitrarily long lines.
12963	Remove illegal input characters.
12964
12965Mon Mar 18 08:32:25 1991  James Clark  (jjc at jclark)
12966
12967	* macros/tmac.s (pg*start-col): Do .ns *after* running the hooks.
12968
12969Sat Mar 16 03:52:25 1991  James Clark  (jjc at jclark)
12970
12971	* troff/div.c (begin_page): Change behaviour when
12972	!first_page_begun and !break_flag.
12973
12974	* troff/input.c (do_name_test): Return 0 if argument is empty.
12975
12976	* troff/input.c (read_long_escape_name): Require closing ] to be
12977	at same input level as opening [.
12978
12979	* troff/input.c (read_increment_and_escape_name): New function.
12980	(get_copy, process_input_stack): Use this for \n.
12981
12982Fri Mar 15 00:31:48 1991  James Clark  (jjc at jclark)
12983
12984	* troff/div.c (top_level_diversion::begin_page): Ignore the
12985	current value of page_number if !first_page_begun.
12986
12987	* groff.c (main): Fix declaration of buf.
12988
12989	* troff/input.c (do_name_test): New function.
12990	(token::next): Implement \A.
12991	(token::next): Implement \e by turning it into a TOKEN_ESCAPE.
12992	(token::description, token::add_to_node_list, token::process):
12993	Handle TOKEN_ESCAPE.
12994	* troff/token.h: New token TOKEN_ESCAPE.
12995
12996Thu Mar 14 10:22:26 1991  James Clark  (jjc at jclark)
12997
12998	* pic/main.c (do_picture): Allow space before and after filename
12999	following `<'.  Check that the filename is not empty.
13000
13001Wed Mar 13 12:49:40 1991  James Clark  (jjc at jclark)
13002
13003	* Version 1.01 released. 
13004
13005	* dvi/devdvi/CompileFonts: Add cm*ss10 fonts.
13006
13007	* dvi/tmac.dvi: ftr HR to H.
13008
13009	* macros/tmac.e: Round up computation of $r.
13010
13011	* xditview/tmac.X:  Don't give up completely in compatibility mode.
13012	Use \n(.s instead of \n[.s].
13013
13014	* dvi/tmac.dvi: Don't give up completely in compatibility mode.
13015	Use \(ci instead of \[ci]. Use \n(.s instead of \n[.s].
13016	Add u to factors inside \s[...]. Rename frac to dvi-frac.
13017	Translate \(FM onto \[prime] and \(!/ onto \[slashnot]; use these
13018	short names in the char definitions.
13019
13020	* ps/tmac.ps: Don't give up completely in compatibility mode.
13021	Fix the fraction definitions to use \n(.s and \(f/. Add an extra
13022	quote in front of \n(.s. Add u to factors inside \s[...].
13023
13024Mon Mar 11 12:01:20 1991  James Clark  (jjc at jclark)
13025
13026	* tty/tmac.tty: Call the nroff request.
13027
13028	* macros/tmac.e ((x, )x):  Better definitions that work properly
13029	in a diversion.
13030	(@0, @1): Helper macros for (x.
13031
13032	* macros/tmac.e ($s, hl): Use \l rather than \D.
13033
13034	* tty/tmac.tty: Make it work better in compatibility mode.
13035	(pchar): Rename to tty-char.
13036
13037	* macros/tmac.e (@E): New macro.
13038	(r, i, b, rb, bi): Use @E.
13039
13040	* macros/tmac.e (@F): Don't use (;...) syntax.
13041
13042	* macros/tmac.e: Remove mention of \*(||/revisions.  Mention that
13043	it was modified for groff.
13044
13045	* macros/tmac.e: Make sure \n(ps and \n(es are >= \n(.V.
13046
13047	* macros/tmac.e (<., .>): Removed.
13048	([., .]): If \n(.V>=1v, use [] instead of superscripting.
13049
13050	* macros/tmac.e: Remove check that groff is being used.
13051
13052	* macros/tmac.e (@C): Change families only if using groff; turn
13053	compatibility mode off while changing familes. Save compatibility
13054	mode before changing families and restore it afterwards.
13055
13056	* macros/tmac.e (@h): Remove test for offset + line length.
13057
13058	* macros/tmac.e (sorry): Rename to @S.  Use \$1 instead of \$0
13059	(lo, th, ac): Define to call @S instead of using als.
13060
13061	* macros/tmac.e: Make $r and $R now contain \n(.v*100/\n(.sp, ie
13062	the ratio of the vertical spacing to the point size in units
13063	expressed as a percentage.  Use these instead of $10r and $10R,
13064	Delete $10r and $10R.
13065
13066	* lib/font.c (font::load): In default computation of space_width,
13067	divide by sizescale.  Use scale_round.
13068
13069	* macros/tmac.an (TP): Don't call `nf'.
13070	(an-do-tag): Don't call `fi'.
13071
13072Sun Mar 10 09:52:35 1991  James Clark  (jjc at jclark)
13073
13074	* troff/input.c (process_input_stack): Handle the case where
13075	spaces at the beginning of an input line are followed by a
13076	newline.
13077
13078Thu Mar  7 20:18:07 1991  James Clark  (jjc at jclark)
13079
13080	* groff.c (device_table): Add PIC_X_OPTION for dvi device.
13081	* groff.sh: Use pic -x with the dvi device.
13082
13083	* dvi/devdvi/FontMakefile (H): Don't use -s.
13084
13085	* dvi/devdvi/HI, dvi/devdvi/HB: New files.
13086	* dvi/devdvi/Makefile: Add HI and HB to FONTS.
13087	* dvi/devdvi/FontMakefile: Add rules for HI and HB. Include these
13088	in FONTS.
13089
13090Mon Mar  4 13:20:14 1991  James Clark  (jjc at jclark)
13091
13092	* ps/psfig.diff: New file.
13093	* ps/tmac.psfig: New file.
13094
13095Sat Mar  2 00:15:09 1991  James Clark  (jjc at jclark)
13096
13097	* macros/tmac.s (]=, ref*do-tl, ref*bib-print): Deleted.
13098	(]-): Don't call ref*do-tl.
13099
13100	* macros/tmac.s (ref*end-print): Use XP if [F not defined.
13101
13102	* macros/tmac.s (ref*normal-print): Call FS rather than fn@do-FS.
13103	(fn@do-FS): Rename to fn*do-FS.
13104
13105	* troff/input.c (transparent_translate): New function.
13106	(process_input_stack): Apply transparent_translate before calling
13107	diversion::transparent_output(unsigned char).
13108
13109Wed Feb 27 00:13:25 1991  James Clark  (jjc at jclark)
13110
13111	* troff/input.c (do_define_macro): Define the macro before calling
13112	skip_line.
13113
13114	* xditview/Makefile: Add DEVICES variable.  Change install target
13115	to use this.
13116
13117Tue Feb 26 10:46:22 1991  James Clark  (jjc at jclark)
13118
13119	* groff.c (run_commands): Handle the possibility that there are
13120	child processes other than those forked by us.
13121
13122Sun Feb 24 21:32:30 1991  James Clark  (jjc at jclark)
13123
13124	* lib/string.c (string::append): New function.
13125	* lib/stringclass.h: Declare it.
13126
13127Thu Feb 21 11:49:26 1991  James Clark  (jjc at jclark)
13128
13129	* eqn/main.c (main): New option -N which sets
13130	no_newline_in_delim_flag. 
13131	(do_file): If no_newline_in_delim_flag is set don't allow newlines
13132	in delimiters.
13133	* groff.c (main): Pass -N on to eqn.
13134	(help, synopsis): Mention -N.
13135	* groff.sh: Implement -N.
13136
13137Wed Feb 20 15:16:10 1991  James Clark  (jjc at jclark)
13138
13139	* macros/tmac.s (]=, ref*bib-print, ref*do-tl): New macros.
13140	(]-): Call ref*do-tl if ref*need-tl is non-zero.
13141	(XP): Allow as initializer.
13142
13143Tue Feb 19 14:09:06 1991  James Clark  (jjc at jclark)
13144
13145	* troff/env.c (environment::wrap_up_field): If field_spaces are
13146	non-zero and we have a current_tab, subtract padding from
13147	tab_distance.  If this makes tab_distance <= 0, use the next tab
13148	stop instead.  If there isn't any next tab or it's a left tab,
13149	wrap up the current tab.
13150	(environment::start_field): Initialize tab_precedes_field.
13151	(environment::wrap_up_tab): If there's a current field, update
13152	pre_field_width, field_distance and tab_precedes_field.
13153	* troff/env.h (environment::tab_precedes_field): New member.
13154
13155Fri Feb 15 01:24:00 1991  James Clark  (jjc at jclark)
13156
13157	* ps/ps.c (ps_printer::do_file): New function.
13158	(ps_printer::special): Bind to `file' special.
13159	(ps_printer::do_exec): Set ndefined_styles to 0.
13160
13161Sat Feb  9 03:03:04 1991  James Clark  (jjc at jclark)
13162
13163	* eqn/text.c (split_text): Grok \* and similar escapes sequences.
13164	Avoid stripping first character from the start of unrecognized
13165	escapes.  Use lex_error instead of error to report errors.
13166	* eqn/lex.c (get_token): Rework handling of escapes.
13167	(lex_error): Move declaration into...
13168	* eqn/eqn.h.
13169
13170	* xditview/xditview.c (main): Make -page option work.
13171
13172	* Makefile: Correct comment about -DBROKEN_SPOOLER and pageview.
13173
13174Wed Feb  6 12:28:43 1991  James Clark  (jjc at jclark)
13175
13176	* macros/tmac.s (B2): Correct size of box.
13177
13178Tue Feb  5 00:37:35 1991  James Clark  (jjc at jclark)
13179
13180	* macros/tmac.s (B2): Postpone drawing the box until in the
13181	top-level diversion.
13182
13183	* tty/tmac.tty: Add font translations for C, CR, CW.
13184
13185	* groff.c (synopsis, help): Document -i.
13186	* groff.sh: Implement -i.
13187
13188	* macros/tmac.s (@NH): Put a `.' after multi-part numbers.
13189	Simplify the construction of SN.
13190
13191	* troff/number.c (parse_term): Give `|' a higher precedence.
13192	* tbl/table.c (numeric_text_entry::simple_print): Parenthesise
13193	accordingly.
13194
13195	* macros/tmac.s (B2): Use par@finish instead of par@reset.
13196
13197Mon Feb  4 12:36:09 1991  James Clark  (jjc at jclark)
13198
13199	* lib/string.c (string::move): New function.
13200	* lib/stringclass.h: Declare it.
13201
13202Sat Feb  2 16:02:16 1991  James Clark  (jjc at jclark)
13203
13204	* troff/env.c (distribute_space): Add optional argument
13205	`force_forward'.
13206	(environment::wrap_up_field): Call distribute_space with
13207	`force_forward' argument of 1.
13208
13209Fri Feb  1 19:36:33 1991  James Clark  (jjc at jclark)
13210
13211	* lib/string.c, lib/stringclass.h (string::operator+=(char)):
13212	Inline it.  Move reallocation into...
13213	(string::grow1): New function.
13214	* pic/Makefile, tbl/Makefile, eqn/Makefile, ps/Makefile: Redo
13215	dependencies to include library header files.
13216	* lib/Makefile: Make string.c and lf.c depend on stringclass.h.
13217
13218Thu Jan 31 15:02:27 1991  James Clark  (jjc at jclark)
13219
13220	* macros/tmac.s (@NH): Use the same number registers than -ms does
13221	for the heading level counters.  Use the same string that -ms does
13222	for the number for this heading.
13223
13224Wed Jan 30 14:25:40 1991  James Clark  (jjc at jclark)
13225
13226	* lib/new.c (operator new): Cast result of malloc to char *.
13227
13228	* troff/input.c (spring_trap, lookup_request): Add assert that nm
13229	is not null.
13230
13231Tue Jan 29 18:08:05 1991  James Clark  (jjc at jclark)
13232
13233	* groff.c (main): Support -i.
13234
13235Sun Jan 27 13:23:17 1991  James Clark  (jjc at jclark)
13236
13237	* pic/pic.h: Include <osfcn.h>.
13238
13239	* ps/ps.c: Add declaration of mktemp.
13240
13241	* Makefile: Add -DHAVE_UNION_WAIT option for CPPDEFINES.
13242	* groff.c: If HAVE_UNION_WAIT is defined, declare wait()'s
13243	argument as union wait *.
13244	(run_commands): If HAVE_UNION_WAIT is defined cast wait()'s
13245	argument to union wait *.
13246
13247Sat Jan 26 12:04:52 1991  James Clark  (jjc at jclark)
13248
13249	* tty/tmac.tty: Add definition of \(co.
13250
13251	* pic/object.c (make_arc): Only increase radius when radius
13252	strictly less than d.
13253	(arc_object::update_bounding_box): May need to add 4.0 to end_quad
13254	more than once.
13255
13256	* troff/env.c (environment::environment(symbol),
13257	environment::environment(const environment *)):  Initialize
13258	input_trap_count.
13259
13260Sat Jan 19 08:18:35 1991  James Clark  (jjc at jclark)
13261
13262	* tbl/main.c (main): Add exit(0).
13263
13264	* ps/ps.c (ps_printer::~ps_printer): Use fseek instead of rewind.
13265
13266	* pic/main.c (main):
13267	* eqn/main.c (main):
13268	* tbl/main.c (main):
13269	* etc/soelim.c (main):
13270	* driver/printer.c (printer::~printer):
13271	* troff/node.c (real_output_file::~real_output_file,
13272	real_output_file::flush):  Check for errors on stdout.
13273
13274	* most files: Add 1991 to copyright notice.
13275
13276	* macros/tmac.s: Don't test \n(.x and \n(.y.
13277
13278	* troff/input.c (token::next): Rename `escape_char' label to
13279	`handle_escape_char' and `normal_char' label to
13280	`handle_normal_char'.
13281
13282Thu Jan 17 15:46:35 1991  James Clark  (jjc at jclark)
13283
13284	* groff.c (main, synopsis, help): Support -a option.
13285	* groff.sh: Likewise.  Also eliminate Zflag variable by adding -z
13286	to trflags while parsing options.
13287
13288Tue Jan 15 13:07:27 1991  James Clark  (jjc at jclark)
13289
13290	* troff/number.c (parse_term): With `m', `M' and `n' scale
13291	indicators, convert scale factor to hunits before scaling.
13292
13293Mon Jan 14 12:39:12 1991  James Clark  (jjc at jclark)
13294
13295	* lib/font.c (scale_round): Better test for overflow when n is
13296	negative.
13297
13298Thu Jan 10 11:10:56 1991  James Clark  (jjc at jclark)
13299
13300	* tbl/main.c (process_format): Add second argument of type
13301	options*. Change callers.  Allow opt->tab_char as well as '\t'
13302	between format items.
13303
13304Mon Jan  7 12:30:18 1991  James Clark  (jjc at jclark)
13305
13306	* macros/tmac.an (PD): With no arguments, make sure register PD is
13307	at least \n[.V].
13308	(TH): Call PD with no argument, instead of setting register PD
13309	directly.
13310
13311Sun Jan  6 11:18:39 1991  James Clark  (jjc at jclark)
13312
13313	* Version 1.00 released.
13314
13315Sat Jan  5 08:44:30 1991  James Clark  (jjc at jclark)
13316
13317	* ps/tmac.ps, xditview/tmac.X: Add font translation of C to CR.
13318
13319	* dvi/devdvi/DESC: Mount CW instead of CR.
13320
13321	* dvi/tmac.dvi: Add definition of \(tm.
13322
13323	* dvi/devdvi/texsy.map: Add lh, and rh.
13324	* dvi/devdvi/texex.map: Add lt, rt, lb, rb, lk, rk.
13325	* dvi/devdvi/texmi.map: Add *o. Regenerate fonts.
13326
13327	* dvi/devdvi/FontMakefile: Generate H from cmss10.
13328	* dvi/devdvi/Makefile: Install H.
13329	* dvi/devdvi/H: New file.
13330
13331Fri Jan  4 15:04:57 1991  James Clark  (jjc at jclark)
13332
13333	* troff/env.c (vertical_spacing): Don't allow vertical spacing to
13334	be 0.
13335
13336Thu Jan  3 13:41:19 1991  James Clark  (jjc at jclark)
13337
13338	* macros/tmac.s (@EN): Add \n(.V to the argument to ds@need.
13339
13340	* macros/tmac.pic (PS): Avoid attempting to set negative indent.
13341
13342	* macros/tmac.s (@EN): Handle the case where the equation is empty
13343	but the label is not.
13344
13345Wed Jan  2 10:31:44 1991  James Clark  (jjc at jclark)
13346
13347	* troff/groff.h: New warning category WARN_SPACE.
13348	* troff/input.c: Add WARN_SPACE to DEFAULT_WARNING_MASK. Add
13349	WARN_SPACE to warning_table.
13350	(interpolate_macro): Give a warning of type WARN_SPACE if the name
13351	is longer than two characters and is not defined, but the first
13352	two characters do make a defined name.
13353
13354	* PROBLEMS: New file.
13355
13356	* CHANGES: New file.
13357	* README-0.6, README-1.00: Deleted.
13358
13359	* groff.c, groff.sh: Add X75-12 and X100-12 devices.
13360	* xditview/devX75/Makefile: Make devX75-12.
13361	* xditview/devX100/Makefile: Make devX100-12.
13362
13363	* xditview/devX100/eqnchar, xditview/devX75/eqnchar,
13364	dvi/devdvi/eqnchar, ps/devps/eqnchar: Remove use of \R.
13365
13366Tue Jan  1 19:24:01 1991  James Clark  (jjc at jclark)
13367
13368	* README-0.7: Rename to README-1.00.
13369
13370	* macros/tmac.pic: New file.
13371	* macros/Makefile (install.nobin): Install tmac.pic.
13372
13373Mon Dec 31 10:40:53 1990  James Clark  (jjc at jclark)
13374
13375	* troff/env.c (hyphen_word): Correct the test for whether the
13376	token is a hyphen.  Reset npos to 0.
13377
13378	* macros/tmac.s (par@sup-start, par@sup-end): New implementations.
13379
13380Sun Dec 30 15:53:13 1990  James Clark  (jjc at jclark)
13381
13382	* macros/tmac.s (ds*common-end): Call par*reset.
13383	(PE): Likewise.
13384	(par@reset-indent): Deleted.
13385
13386	* macros/tmac.s (@IP): Divert the label.
13387
13388Sat Dec 29 14:33:32 1990  James Clark  (jjc at jclark)
13389
13390	* xditview/draw.c (setGC): Use a line width of .1m rather than
13391	.04m by default; round rather than truncate value.
13392
13393	* tbl/table.c (class empty_entry): New class.
13394	(empty_entry::empty_entry, empty_entry::line_type): New functions.
13395	(table::add_entry): Represent empty entries by objects of type
13396	empty_entry.
13397	(table_entry::line_type): Return -1.
13398	(table::determine_row_type): Ignore entries with line_type 0.
13399	Treat type -1 as non-lines.
13400
13401Fri Dec 28 15:04:41 1990  James Clark  (jjc at jclark)
13402
13403	* ps/devps/textmap, xditview/libXdvi/DviChar.c, tty/devlatin1/R.proto,
13404	macros/tmac.s: Rename \(-d to \(Sd.
13405
13406Thu Dec 27 12:35:47 1990  James Clark  (jjc at jclark)
13407
13408	* ps/devps/textmap: Add `sd', `/_' and `3d' characters.
13409	* xditview/libXdvi/DviChar.c: Likewise.
13410	* dvi/devdvi/texsy.map: Add `<<', `>>'.
13411
13412Wed Dec 26 13:33:23 1990  James Clark  (jjc at jclark)
13413
13414	* troff/div.c (top_level_diversion::begin_page): Call
13415	init_output() if the_output is 0.
13416
13417Sat Dec 22 12:35:29 1990  James Clark  (jjc at jclark)
13418
13419	* troff/input.c: Replace ESCAPE_E by ESCAPE_e and ESCAPE_C by
13420	ESCAPE_c.
13421	(get_copy): Turn \E into ESCAPE_E.
13422	(token::process, asciify): Handle ESCAPE_E.
13423
13424	* macros/tmac.s (ds*common-end, par@reset): Add `.rj 0'.
13425	(RD): New macro.
13426	(DS): Implement `.DS R'.
13427
13428Fri Dec 21 11:41:53 1990  James Clark  (jjc at jclark)
13429
13430	* macros/tmac.s (FS): New macro.
13431
13432	* macros/tmac.s (fn@do-FS): Use @LP instead of LP.
13433
13434	* macros/tmac.s (cov*tl-init): Remove after first execution
13435	instead of aliasing to @nop.  Call top of page macro explicitly
13436	instead of setting trap; call @init first.  Set pg@top as top of
13437	page macro.
13438	(cov*auto-init): Deleted.  Set cov*tl-init instead of
13439	cov*auto-init as top of page trap. 
13440	(TL, LP): Do a break instead of calling cov*tl-init.
13441	(cov*print): With RP format but no TL, alias FS and FE to @FS and
13442	@FE; in this case also give a warning and always start another
13443	page. No need to set pg@top here.
13444	(cov*tl-init): Rename to cov*first-page-init.
13445
13446	* macros/tmac.s (RP): Do `.pn 0'.
13447	(cov*tl-init): With RP format don't do `.pn 0'.
13448
13449	* macros/tmac.s (pg@cs-top): Set no space mode.
13450
13451	* macros/tmac.s (par@TL, par@AU, par@AI): New macros.
13452	(cov*ab-init): Alias TL, AU and AI to these.
13453
13454Thu Dec 20 10:10:50 1990  James Clark  (jjc at jclark)
13455
13456	* macros/tmac.s (@EQ): Move the space before the equation into @EN
13457	(@EN): Do nothing unless \n[dl] is > 0.
13458
13459Tue Dec 18 12:20:47 1990  James Clark  (jjc at jclark)
13460
13461	* pic/object.c (ellipse_object::radius): New function.
13462
13463	* VERSION: Change version to 0.7.
13464
13465	* tbl/table.c (block_entry::do_divert): Declare return type as
13466	void.
13467	(block_entry::divert, alphabetic_block_entry::divert): Return 1.
13468
13469Mon Dec 17 12:30:34 1990  James Clark  (jjc at jclark)
13470
13471	* troff/column.c: New file.
13472	* troff/Makefile: Corresponding changes.
13473
13474	* troff/hvunits.c (scale(vunits, vunits, vunits)):  New function.
13475	Friend of vunits.
13476
13477	* troff/div.c (top_level_diversion::space): If the space causes
13478	the first-page transition and springs a trap, truncate the space
13479	to 0.
13480
13481Fri Dec 14 12:30:02 1990  James Clark  (jjc at jclark)
13482
13483	* ps/ps.c (ps_printer::do_import): Add a `clear' after including
13484	the document.
13485
13486	* pic/troff.c (troff_output::line_thickness,
13487	troff_output::set_fill): Do a horizontal motion to compensate for
13488	the width of the \D escape sequence.
13489
13490Thu Dec 13 10:17:14 1990  James Clark  (jjc at jclark)
13491
13492	* xditview/tmac.X: Reinstate definition of \(rn, but only for X100
13493	(not X75).
13494
13495	* eqn/sqrt.c (sqrt_box::compute_metrics):  Supply missing argument
13496	to printf.
13497
13498	* tbl/table.c (simple_entry::simply_print): Don't declare as pure.
13499	Supply empty definition.
13500	(text_entry::simple_print, simple_text_entry::simple_print):
13501	Delete declarations.
13502	(table::add_entry): Represent empty entries by objects of type
13503	`simple_entry'.
13504
13505Wed Dec 12 08:50:48 1990  James Clark  (jjc at jclark)
13506
13507	* troff/Makefile: Remove -DHYPHEN_CONTROL from DEFINES.
13508
13509	* tbl/table.c (left_text_entry::add_tab): New function.
13510
13511	* macros/tmac.s: Make @RT an alias for par@reset.  Make RT
13512	initialize like LP.
13513
13514Mon Dec 10 11:19:55 1990  James Clark  (jjc at jclark)
13515
13516	* troff/env.c (environment::start_field): Give an error message if
13517	there is no next tab.
13518
13519Sun Dec  9 11:46:40 1990  James Clark  (jjc at jclark)
13520
13521	* troff/env.c (hyphenate): Skip initial elements with zero
13522	hyphenation code.
13523
13524	* macros/tmac.s (par@init): Keep VS in points rather than units.
13525
13526Sat Dec  8 23:00:27 1990  James Clark  (jjc at jclark)
13527
13528	* pic/main.c (main): Implement `-c' option.
13529	* pic/output.h: Declare make_tpic_output().
13530	* pic/tex.c (tex_output::set_pen_size): Make it virtual and
13531	protected.
13532	(tpic_output): New class.
13533	(tpic_output::tpic_output, tpic_output::set_pen_size,
13534	tpic_output::command, make_tpic_output): New functions.
13535
13536Fri Dec  7 11:57:41 1990  James Clark  (jjc at jclark)
13537
13538	* tbl/main.c (main): Call `.ab' if \n(.g is false.  Define TS/TE
13539	if they're not already defined.
13540	* tbl/table.c (init_output): Don't test \n(.g.
13541
13542	* troff/input.c (do_if_request): Delete `g' condition. Recognize
13543	`d', `r' and `c' conditions even in compatibility mode.
13544
13545Tue Dec  4 09:13:47 1990  James Clark  (jjc at jclark)
13546
13547	* ps/tmac.ps (ps-bb): Protect against negative numbers in bounding
13548	box.
13549
13550Mon Dec  3 07:18:26 1990  James Clark  (jjc at jclark)
13551
13552	* troff/env.h (environment::prev_line_interrupted): New member.
13553	(environment::get_prev_line_interrupted): New function.
13554	* troff/env.c (environment::newline): Set prev_line_interrupted.
13555	(environment::environment(const environment *),
13556	environment::environment(symbol)): Initialize
13557	prev_line_interrupted.
13558	* troff/input.c (process_input_stack): Don't give special
13559	treatment to space and newline at the beginning of the line if the
13560	previous line was interrupted.
13561
13562Sat Dec  1 15:48:37 1990  James Clark  (jjc at jclark)
13563
13564	* eqn/eqn.y: Disallow PRIME by itself.
13565	* eqn/lex.c (token_table): Bind `opprime' instead of `prime' to
13566	PRIME.
13567	(def_table): Remove definition of '.  Define prime to be `.
13568
13569	* eqn/eqn.y: Split off part of rule `script' into a new rule
13570	`nonsup'.
13571
13572Fri Nov 30 10:23:44 1990  James Clark  (jjc at jclark)
13573
13574	* macros/tmac.s ({, }): New string aliases.
13575
13576Thu Nov 29 11:34:40 1990  James Clark  (jjc at jclark)
13577
13578	* README-0.7: New file.
13579
13580Wed Nov 28 10:09:57 1990  James Clark  (jjc at jclark)
13581
13582	* macros/tmac.s: New file.
13583	* man/groff_ms.man: New file.
13584	* Makefile: Add definition of TMAC_S. Pass TMAC_S in SUBFLAGS.
13585	* Makefile.bd: Similarily.
13586	* man/Makefile: Add groff_ms.n to MAN7PAGES. Replace @TMAC_S@. Add
13587	definition of TMAC_S.
13588	* macros/Makefile: Add definition of TMAC_S. Install tmac.s.
13589	* macros/TODO: New file.
13590
13591Sat Nov 24 20:04:54 1990  James Clark  (jjc at jclark)
13592
13593	* troff/env.c (right_justify): New function.
13594	(init_env_requests): Bind this to request "rj".
13595	(center_lines): Set right_justify_lines to 0. If we get a bad
13596	integer, center 1 line.
13597	(environment::environment(symbol), environment::environment(const
13598	environment *)): Initialize right_justify_lines.
13599	(environment::get_right_justify_lines): New function.
13600	(init_env_requests): Bind this to number_register ".rj".
13601
13602	* troff/env.c (environment::choose_breakpoint): Implement
13603	hyphenation_margin and hyphenation_space.
13604	(environment::get_hyphenation_space,
13605	environment::get_hyphenation_margin): New functions.
13606	(init_env_requests): Bind these to .hys and .hym.
13607	(hyphenation_space_request, hyphenation_margin_request): New
13608	functions
13609	(init_env_requests): Bind these to hys and hym.
13610	(environment::environment(symbol), environment::environment(const
13611	environment *)): Initialize hyphenation_margin and
13612	hyphenation_space.
13613	* troff/env.h: Corresponding changes to class environment.
13614
13615Fri Nov 23 09:08:16 1990  James Clark  (jjc at jclark)
13616
13617	* troff/div.c (blank_line): Always do a break.
13618
13619	* eqn/box.c (do_text): Turn off escapes while appending text to
13620	string.
13621
13622Thu Nov 22 10:58:59 1990  James Clark  (jjc at jclark)
13623
13624	* troff/input.c (while_break_request, while_continue_request): New
13625	functions.
13626	(init_input_requests): Bind these to "break" and "continue".
13627	(while_depth, while_break_flag): New variables.
13628	(while_request): Update while_depth.  Break out of loop if
13629	while_break_flag is set.
13630
13631Wed Nov 21 10:54:40 1990  James Clark  (jjc at jclark)
13632
13633	* tbl/table.c (init_span_reg): Initialize span_width_reg to \n(.H
13634	rather than 0.
13635
13636Mon Nov 19 00:45:03 1990  James Clark  (jjc at jclark)
13637
13638	* Makefile: Include -DBROKEN_SPOOLER by default.  Expand comment.
13639
13640	* stringify: New file.
13641	* Makefile (groff.o): Use stringify.
13642
13643	* xditview/tmac.X: Remove definition of \(rn.
13644	* xditview/libXdvi/DviChar.c: Remove radicalex from
13645	Adobe_symbol_map.
13646
13647Sat Nov 17 10:44:58 1990  James Clark  (jjc at jclark)
13648
13649	* tbl/table.c (table::add_entry): Allow alphabetic text blocks.
13650	(alphabetic_block_entry::alphabetic_block_entry,
13651	alphabetic_block_entry::divert, alphabetic_block_entry::print):
13652	New functions.
13653	(block_entry::divert): Split off body into ...
13654	(block_entry::do_divert): If the block is alphabetic, subtract 2n
13655	from the line length; also update the span width to dl+2n, and the
13656	alphabetic span width to dl.
13657
13658	* driver/input.c (do_file):  While reading argument to D command,
13659	when expanding buffer, multiply szp by sizeof(int) rather than 2
13660	in the argument to memcpy.
13661
13662	* tbl/table.c (compute_span_width): Add 2n rather than 1n to the
13663	width of alphabetic columns.
13664
13665Fri Nov 16 06:34:27 1990  James Clark  (jjc at jclark)
13666
13667	* troff/node.c (lookup_family): Supply second argument to lookup.
13668
13669	* troff/dictionary.c (dictionary::lookup): After an unsuccesful
13670	search, return immediately if v is 0.
13671
13672	* pic/troff.c: Define EQN_NO_EXTRA_SPACE_REG.
13673	(troff_output::start_picture): Set this reg.
13674	(troff_output::end_picture): Remove this reg
13675	* eqn/box.c (box::extra_space): Don't produce `\x's if
13676	EQN_NO_EXTRA_SPACE_REG is defined.
13677
13678	* eqn/eqn.y: Allow just a PRIME to be a `simple'.
13679	* eqn/text.c (split_text): Map ' to \(fm when it's the first
13680	character.
13681
13682Thu Nov 15 10:35:06 1990  James Clark  (jjc at jclark)
13683
13684	* macros/tmac.e: Use font 3 instead of B in $c. Remove `bd'
13685	requests.
13686
13687	* troff/div.c (top_level_diversion::top_level_diversion):
13688	Initialize page_number to 0.
13689
13690Wed Nov 14 21:41:58 1990  James Clark  (jjc at jclark)
13691
13692	* groff/troff (environment::environment(const environment *)):
13693	Initialize name to e->name, rather than "anonymous".
13694
13695Sat Nov 10 01:59:37 1990  James Clark  (jjc at jclark)
13696
13697	* xditview/libXdvi/Dvi.c (ShowDvi): If eof is encountered, reset
13698	requested_page.  Split middle part into ...
13699	(FindPage): New function.
13700	(SetValues): If we don't yet know the last page, and the requested
13701	page is greater than the current page, call FindPage.
13702	Update the font_map_string before doing this.
13703
13704	* xditview/tmac.X: Add definitions of \(sq, \(ga, \(dg and \(dd.
13705	Translate \(lh and \(rh into left and right double arrows.
13706
13707	* troff/node.c (class hyphen_inhibitor_node): New class.
13708	(hyphen_inhibitor_node::hyphen_inhibitor_node,
13709	hyphen_inhibitor_node::copy, hyphen_inhibitor_node::same,
13710	hyphen_inhibitor_node::type,
13711	hyphen_inhibitor_node::get_hyphenation_type): New functions.
13712	(node::add_discretionary_hyphen): Use hyphen_inhibitor_node rather
13713	than dbreak_node(0, 0) to represent a `\%' at the beginning of a
13714	word.
13715
13716Fri Nov  9 16:05:38 1990  James Clark  (jjc at jclark)
13717
13718	* troff/node.h (dummy_node::get_hyphenation_type,
13719	transparent_dummy_node::get_hyphenation_type):  Declare them.
13720	* troff/node.c: (dummy_node::get_hyphenation_type,
13721	transparent_dummy_node::get_hyphenation_type): New functions.
13722
13723Wed Nov  7 10:09:06 1990  James Clark  (jjc at jclark)
13724
13725	* xditview/libXdvi/draw.c: If M_PI not defined after including
13726	math.h, then define it.
13727
13728	* xditview/Makefile: Add definition of AR. Pass it to the submake
13729	in libXdvi.
13730	* xditview/libXdvi/Makefile: Add definitions of AR and RANLIB.
13731
13732Tue Nov  6 10:14:27 1990  James Clark  (jjc at jclark)
13733
13734	* troff/dictionary.h (object_dictionary::alias): Declare return
13735	value as int.
13736	* troff/dictionary.c (object_dictionary::alias): Return non-zero
13737	if the old name was defined.
13738	* troff/input.c (alias_macro): Give a warning if the old name was
13739	not defined.
13740	* troff/reg.c (alias_reg): Likewise.
13741
13742Mon Nov  5 00:31:39 1990  James Clark  (jjc at jclark)
13743
13744	* troff/input.c (token::next): Delete implementation of \R.
13745
13746	* macros/Makefile: Strip comments from tmac.e while installing it.
13747
13748	* troff/input.c: New variable `nroff_mode'.
13749	(troff_request, nroff_request): New functions.
13750	(init_input_requests): Bind `troff' and `nroff' to troff_request
13751	and nroff_request.
13752	(do_if_request): Compute results of t and n conditions from
13753	nroff_mode.
13754
13755	* text/text.c (split_text): Fix typo in >=.
13756
13757	* eqn/lex.c: Add definition of `==' to def_table.
13758
13759Fri Nov  2 02:49:09 1990  James Clark  (jjc at jclark)
13760
13761	* pic/tex.c (tex_output::start_picture): Change the definitions of
13762	\graph and \graphtemp so that they work properly with Plain TeX.
13763
13764	* pic/tex.c (tex_output::solid_arc): Ensure that the second angle
13765	argument to `ar' is not less than the first.
13766
13767	* pic/pic.y: Allow a comma between elements of the variable list
13768	in the argument to `reset'.
13769
13770	* pic/object.c (arc_object::arc_object): Fix computation of
13771	radius.
13772
13773	* eqn/main.c (main): Add exit(0).
13774
13775Thu Nov  1 02:03:50 1990  James Clark  (jjc at jclark)
13776
13777	* troff/div.c (begin_page): Test no_space_mode after doing the
13778	break, but still push the page ejector cookie before doing the
13779	break.  Also set the next page number after doing the break.
13780	
13781	* xditview/xditview.c (NewFile): Don't set the title and icon name
13782	if this is the first file and its name is `-'.
13783	* groff/groff.c: Define a new device flag XT_OPTION.  Set it for
13784	the X75 and X100 devices.
13785	(main): If a device has the XT_OPTION flag set and there's exactly
13786	one file argument, pass the driver -xrm and -title options to set
13787	the icon name and window title to the name of the file.
13788
13789	* troff/env.c (environment_switch): If there was an argument but
13790	it wasn't a valid number or name, then pop an environment but
13791	don't give an error message on underflow.
13792
13793	* troff/number.c (start_number): Correct spelling in error message.
13794
13795	* troff/input.c (token::delimiter): Don't print an error message
13796	if err is false.
13797
13798	* xditview/libXdvi/parse.c (ParseInput): In case 'D', only call
13799	ParseDrawFunction if dw->display_enable is true.
13800
13801Wed Oct 31 05:49:50 1990  James Clark  (jjc at jclark)
13802
13803	* pic/pic.y: Parse text positioning like normal attributes, so as
13804	to allow `"text" at 0,0 ljust'.  Don't allow `center' as a
13805	positioning attribute.
13806
13807Mon Oct 29 22:50:38 1990  James Clark  (jjc at jclark)
13808
13809	* tbl/main.c (process_data): When in state START while reading a
13810	text block, don't change to state MIDDLE if c is a newline.
13811
13812Sun Oct 28 21:59:56 1990  James Clark  (jjc at jclark)
13813
13814	* dvi/dvi.c (dvi_printer::begin_page): Rename `i' variable to `j'
13815	so as to avoid shadowing parameter.
13816
13817Wed Oct 24 18:35:39 1990  James Clark  (jjc at jclark)
13818
13819	* tbl/table.c (trim_space): Deleted.
13820	(table::add_entry): Don't call trim_space.
13821
13822Mon Oct 22 03:48:39 1990  James Clark  (jjc at jclark)
13823
13824	* VERSION: Change version to 0.6.
13825
13826	* troff/number.c (parse_expr): Make == work.
13827
13828Sat Oct 20 11:28:17 1990  James Clark  (jjc at jclark)
13829
13830	* man/grog.man: New file.
13831	* man/Makefile: Add grog.n to MAN1PAGES.
13832	* etc/grog.sh: New file.
13833	* etc/Makefile: Install grog.sh as grog.
13834
13835Fri Oct 19 11:17:15 1990  James Clark  (jjc at jclark)
13836
13837	* troff/input.c (token::next): Implement \E.
13838
13839Thu Oct 18 11:56:24 1990  James Clark  (jjc at jclark)
13840
13841	* xditview/tmac.X: Change font translations to match tmac.ps.
13842
13843	* troff/input.c (non_empty_name_warning): Don't give a warning if
13844	`\{' terminates the name.
13845
13846Tue Oct 16 10:04:23 1990  James Clark  (jjc at jclark)
13847
13848	* ps/devps/symbol.diff: New file.
13849	* ps/devps/FontMakefile: Mention symbol.diff.
13850
13851Sun Oct 14 11:46:46 1990  James Clark  (jjc at jclark)
13852
13853	* troff/node.c (font_position): Use get_long_name to read the
13854	external_name.
13855
13856	* troff/env.c (environment_switch): If we get a number that's < 0
13857	or >= NENVIRONMENTS, treat it like a name.
13858	Change NENVIRONMENTS to 10.
13859
13860	* troff/groff.h: Remove definition of FONTS_MAX.
13861	* troff/node.h (class font_family): Make map a pointer instead of
13862	an array. Add a map_size member. Make it a class. Make nm const
13863	and public. Make invalidate_fontno a friend.
13864	* troff/node.c: Define font_table_size. Make font_info a pointer
13865	rather than an array.
13866	(class troff_output_file): Allocate font_position dynamically. Add
13867	nfont_positions member.
13868	(troff_output_file::set_font): Grow font_position if necessary.
13869	(troff_output_file::~troff_output_file): Delete font_position.
13870	(troff_output_file::troff_output_file): Allocate font_position.
13871	(grow_font_table): New function.
13872	(troff_output_file::really_begin_page,
13873	troff_output_file:really_copy_page): Use nfont_positions rather
13874	than FONTS_MAX.
13875	(mount_font_no_translate, mount_style): Call grow_font_table if
13876	necessary.
13877	(font_family::font_family): Allocate map.
13878	(font_family::make_definite): Grow map if necessary. Use
13879	font_table_size instead of FONTS_MAX.
13880	(font_family::~font_family): New function.
13881	(invalidate_fontno): Use font_family::map_size.
13882	(get_fontno, env_space_width, env_half_narrow_space_width,
13883	env_narrow_space_width, symbol_fotno, is_good_fontno,
13884	get_bold_fontno, make_glyph_node): Use font_table_size rather than
13885	FONTS_MAX.
13886	(next_available_font_position): Never return 0.
13887
13888Fri Oct 12 10:17:52 1990  James Clark  (jjc at jclark)
13889
13890	* ps/tmac.ps: Add font translations for compatibility with dpost.
13891
13892Thu Oct 11 12:09:03 1990  James Clark  (jjc at jclark)
13893
13894	* eqn/pile.c: Rename default_baseline_sep to baseline_sep.
13895	Move BASELINE_SEP_FORMAT and COLUMN_WIDTH_FORMAT into pbox.h.
13896	Move definitions baseline_sep, shift_down, column_sep,
13897	matrix_side_sep into...
13898	* eqn/box.c: Add them to param_table.
13899	* eqn/pbox.h: Add declarations to pbox.h.
13900
13901	* troff/input.c (set_string): Cast value to unsigned char *.
13902
13903	* troff/token.h (process_input_stack): Declare it static before
13904	declaring it a friend.
13905
13906Wed Oct 10 09:59:13 1990  James Clark  (jjc at jclark)
13907
13908	* dvi/devdvi/texex.map: Fix positions of extensible brace middle
13909	and bottom.
13910	* dvi/devdvi/EX: Regenerate.
13911
13912	* troff/input.c (init_charset_table): Make ", ', ), ], *, \(dg
13913	transparent.
13914
13915Tue Oct  9 08:34:02 1990  James Clark  (jjc at jclark)
13916
13917	* eqn/lex.c: In defaults_table, make definition of `dot' call
13918	`dot_def'.  Don't explicitly make it roman.  Similarily for other
13919	accents.
13920
13921	* pic/lex.c (for_input::for_input): Add by_is_multiplicative
13922	argument.
13923	(for_input::get, for_input::peek): Use this.
13924	(do_for): Add by_is_multiplicative argument.
13925	* pic/pic.y: Change optional_by clause to allow '*' after `by'.
13926	Change semantic value of optional_by to be a double plus a flag
13927	saying whethet the by clause is multiplicative.
13928
13929	* eqn/lex.c (get_delimited_text): Remember location of start of
13930	definition.  Improve error handling when EOF is encountered.
13931
13932	* lib/font.h: Rename handle_x_command to
13933	handle_unknown_font_command.
13934	* lib/font.c (font::load): Call handle_unknown_font_command for
13935	any unknown command in the font description file.  Don't call
13936	handle_x_command. Include the name of the command in the argv.
13937	Improve message for unknown command after kernpairs or charset
13938	command.
13939	* ps/ps.c (ps_font::handle_x_command): Rename to
13940	handle_unknown_font_command.  Remove message about `x download'
13941	command.  Give error message for wrong number of arguments.
13942	* ps/devps/afmtodit: Generate `encoding' instead of `x encoding'.
13943	* dvi/dvi.c (dvi_font::handle_x_command): Rename to
13944	handle_unknown_font_command. Give an error message for wrong
13945	number of arguments.  Rename design_size to designsize.
13946	* dvi/tfmtodit.c (main): Generate `checksum' instead of `x
13947	checksum', `designsize' instead of `design_size'.
13948
13949Mon Oct  8 00:38:55 1990  James Clark  (jjc at jclark)
13950
13951	* eqn/*.[chy]: Change underaccent to uaccent.
13952
13953	* eqn/eqn.y: Add rule for underaccent.  Declare UNDERACCENT token;
13954	give it the same precedence as ACCENT.
13955	* eqn/other.c (make_underaccent_box): New function.
13956	* eqn/box.h: Declare it.
13957	* eqn/lex.c: Add UNDERACCENT to token_table. Add utilde to
13958	def_table.
13959
13960Sun Oct  7 11:25:16 1990  James Clark  (jjc at jclark)
13961
13962	* pic/pic.y (reset_all): New function. Called in rule for RESET.
13963	(parse_init): Call reset_all.
13964	(define_variable): When defining scale reset only those
13965	pre-defined variables that are scaled.
13966	(defaults_table): Add `scale' as non-scaled value.
13967
13968	* pic/pic.y: Redo parsing of text adjustments: parse adjustments
13969	together with the text; allow any number of positioning words;
13970	allow center as a positioning word.
13971
13972	* pic/object.c (output::compute_scale): Get picture maximum height
13973	and width from variables called maxpswid and maxpsht.
13974	* pic/pic.y: Add maxpswid and maxpsht to defaults_table.
13975
13976Sat Oct  6 10:16:56 1990  James Clark  (jjc at jclark)
13977
13978	* pic/object.c (object_spec::make_text): Multiply textht by number
13979	of text items.
13980
13981	* pic/pic.y: Allow `sprintf("string", expr,...)' wherever text can
13982	occur.
13983	(do_sprintf): New function.
13984	(pic.gperf): Add sprintf token.
13985	(text, sprintf): New rules.
13986
13987	* pic/pic.y: `rand()' with no arguments returns a random number
13988	in the range [0,1).
13989
13990	* pic/pic.y: Allow a bare expression to be an attribute: change
13991	precedences to support this.  Change optional_ordinal rule to
13992	optional_ordinal_last to avoid reduce/reduce conflict.
13993	* pic/object.c (object_spec::object_spec): Initialize direction.
13994
13995	* pic/pic.y: Implement ^ operator meaning exponentiation.
13996
13997	* troff/node.h: Add default argument to mount_font.
13998	* troff/node.c (font_position): Read an optional third argument
13999	giving the external_name.
14000	(mount_font): Add optional argument giving the external_name.
14001	(mount_font_not_translate): Have additional argument giving
14002	external name.  Use this name to load the font.  Pass both names
14003	to font_info::font_info.
14004	(font_info::font_info): Have additional argument giving
14005	external_name.
14006	(class tfont): New member external_name.
14007	(font_info::get_tfont): Use external name to construct tfont_spec.
14008
14009Fri Oct  5 04:03:13 1990  James Clark  (jjc at jclark)
14010
14011	* eqn/lex.c (init_table): Add argument giving device.  Define
14012	name of device to be "1".
14013	(do_ifdef): Counts as true if the argument has been defined with
14014	`define'.
14015	* eqn/main.c (main): Call init_table with device argument. Make
14016	device local to main.
14017	* eqn/eqn.h: Change declaration of init_table. Remove declaration
14018	of device.
14019
14020	* pic/lex.c (get_delimited): Allow text to be delimited by
14021	matching {}s.  Don't recognize ending delimiter within a string.
14022
14023	* troff/input.c (get_delim_name): New function.
14024	(token::next): Implement \C.
14025
14026	* lib/font.c (font::load): Grok ---.  Add an alias for each
14027	character based on its code.
14028	(font::get_code_width): Deleted.
14029	* lib/font.h (class font): Declare font::number_to_index().
14030	Remove declaration of font::get_code_width.
14031	* lib/nametoindex.c (font::name_to_index): Add 512 rather than 256
14032	to indices of named characters.
14033	(font::number_to_index): New function.
14034	* troff/input.c (font::number_to_index): New function.
14035	(get_charinfo_by_number, charinfo::get_number,
14036	charinfo::set_number): New functions.
14037	(token::next): Turn \N into a TOKEN_NUMBERED_CHAR.
14038	(token::process, token::description, token::get_char,
14039	token::add_to_node_list, token::operator==): Handle
14040	TOKEN_NUMBERED_CHAR.
14041	* troff/charinfo.h: Declare get_charinfo_by_number,
14042	charinfo::get_number, charinfo::set_number.  Add NUMBERED flag to
14043	charinfo class.
14044	(charinfo::numbered): New function.
14045	* troff/token.h: Add TOKEN_NUMBERED_CHAR.
14046	* troff/env.h (class environment): Remove declaration of ...
14047	* troff/env.c (environment::make_numbered_char_node): Deleted.
14048	* troff/node.c (make_numbered_node): Deleted.
14049	(class numbered_glyph_node): Remove.
14050	(troff_output_file::put_char_width, troff_output_file::put_char):
14051	Handle numbered chars.
14052	(troff_output_file::numbered_char): Removed.
14053	(tfont::get_code_width): Removed.
14054	(make_glyph_node): Don't search special fonts for numbered
14055	characters.
14056	* troff/node.h: Remove declaration of make_numbered_node.
14057	* driver/input.c (do_file): Handle N command.
14058	* driver/printer.h: Add declaration of ...
14059	* driver/printer.c (printer::set_numbered_char): New function.
14060	* dvi/tfmtodit.c (main): Generate unnamed entries.
14061	* ps/devps/afmtodit: Likewise.
14062	* xditview/xtotroff.c (MapFont): Likewise.
14063	* xditview/libXdvi/parse.c (ParseInput): Grok N command.
14064
14065	* tbl/main.c (process_format): If multiple widths are specified
14066	for a column but all the widths are the same, don't give an error
14067	message.
14068
14069	* tbl/table.c (table::do_row): If the current row is all lines and
14070	the stuff doesn't contains a line, mark the top of the row after
14071	printing stuff before the row.  If the current row is not all
14072	lines and the stuff doesn't contain a line, don't unnecessarily
14073	mark the top of the row before printing the stuff.
14074	
14075Mon Oct  1 11:42:00 1990  James Clark  (jjc at jclark)
14076
14077	* troff/groff.h: Remove MAX_PATH.
14078	* troff/input.c (open_file): Dynamically allocate space for the
14079	path.
14080	(open_mac_file, process_macro_file): Corresponding changes.
14081
14082Sun Sep 23 18:56:26 1990  James Clark  (jjc at jclark)
14083
14084	* troff/node.h (class output_file): Make copy_file pure.  Add
14085	vspace method ifdef COLUMN. Add is_printing method.
14086	* troff/node.c: Add class printing_reg. Add class
14087	real_output_file. Derive other output_file classes from
14088	real_output_file; in these classes rename begin_page to
14089	really_begin_page, print_line to really_print_line, copy_file to
14090	really_copy_file, transparent_char to really_transparent_char.
14091	Move output_file::flush to real_output_file. Add printing member
14092	to class output_file.
14093	* troff/div.h: Remove printing member from top_level_diversion.
14094	Add vspace member function to class diversion ifdef COLUMN. Add
14095	some declarations ifdef COLUMN.
14096	* troff/div.c (top_level_diversion::copy_file,
14097	top_level_diversion::transparent_output,
14098	top_level_diversion::output): Don't test printing member before
14099	output.
14100	* troff/input.c: Handle initial variable_space_request ifdef
14101	COLUMN.
14102	* troff/Makefile: Add column.c but comment it out. Add -DCOLUMN
14103	but comment it out.
14104
14105Sat Sep 22 11:32:22 1990  James Clark  (jjc at jclark)
14106
14107	* troff/div.c (diversion::need): Make any space forced.  If we
14108	sprung a trap, set truncated_space to minus the distance to the
14109	trap and set needed_space to the amount that was needed.
14110	(top_level_diversion::space): A forced space turns no_space_mode
14111	off.
14112	(class constant_vunits_reg): New class.
14113	(init_div_requests): Implement number registers .trunc and .ne
14114	using constant_vunits_reg.
14115	(class truncated_space_reg): Deleted.	
14116
14117	* troff/div.h: Don't have a no_space_mode member in diversion.
14118	Instead have it in top_level_diversion.
14119	* troff/div.c (diversion::diversion): Don't initialize
14120	no_space_mode.
14121	(top_level_diversion::top_level_diversion): Initialize
14122	no_space_mode.
14123	(no_space, restore_spacing): Do nothing if curdiv != topdiv.
14124	(macro_diversion::output): Don't clear no_space_mode.
14125
14126	* troff/input.c (diverted_space_node::reread): Don't call
14127	environment::do_break.  In fill mode, act like a blank line.
14128	(diverted_copy_file_node::reread): Don't call
14129	environment::do_break.
14130
14131	* troff/div.c (blank_line): New function.
14132	* troff/div.h: Declare it.
14133	* troff/input.c (process_input_stack): Call it.
14134
14135	* troff/div.c (truncated_space_reg::get_string): New function.
14136	(init_div_requests): Bind to .trunc.
14137	(space_request, top_level_diversion::space,
14138	top_level_diversion::output, macro_diversion::space,
14139	macro_diversion::output): Update truncated_space.
14140	(macro_diversion::output): Redo calculations when trap sprung.
14141	(macro_diversion::output, macro_diversion::space): No need for
14142	trap_flag.
14143
14144	* troff/div.c (top_level_diversion::output): Set nl_reg_contents
14145	after truncating post line spacing.
14146
14147Fri Sep 21 11:27:25 1990  James Clark  (jjc at jclark)
14148
14149	* ps/devps/prologue (MF, SF): Make them work even if setfont is
14150	defined as a procedure rather than as an operator.
14151
14152Thu Sep 20 12:55:05 1990  James Clark  (jjc at jclark)
14153
14154	* troff/div.c (macro_diversion::space): Ignore no_space_mode.
14155
14156Wed Sep 19 10:54:37 1990  James Clark  (jjc at jclark)
14157
14158	* troff/div.c (top_level_diversion::output): Merge
14159	output_file::print_line and output_file::end_of_line member
14160	functions.
14161	* troff/div.h (class output_file):
14162	* troff/node.c (troff_output_file::print_line,
14163	troff_output_file::end_of_line, output_file::end_of_line,
14164	ascii_output_file::print_line, suppress_output_file::print_line):
14165	Corresponding changes.	
14166
14167Tue Sep 18 11:31:47 1990  James Clark  (jjc at jclark)
14168
14169	* troff/input.c (token::next): Don't give a warning for `\.'.
14170
14171	* troff/env.c (environment::get_center_lines): New function.
14172	(init_env_requests): Bind number register .ce to it.
14173	* troff/env.h: Declare it.
14174	* tbl/table.c (table::init_output): Define reset macro to restore
14175	.ce.  If center option not given, store .ce in SAVED_CENTER_REG.
14176	Then do .ce 0.
14177	(table::print): If center option not given, then imply center
14178	option if SAVED_CENTER_REG > 0.
14179
14180Mon Sep 17 09:19:19 1990  James Clark  (jjc at jclark)
14181
14182	* ps/devps/Makefile: Remove T from FONTS. Remove TSymbol.ps and
14183	Troff.ps from DOWNLOAD.
14184	
14185	* troff/Makefile: Change comment in DEFINES to avoid confusing
14186	System V make.
14187
14188	* ps/ps.c (ps_printer::do_exec): Allow newlines within PostScript
14189	code.  Don't try to catch errors with stopped.
14190	(check_line_lengths): New function.
14191	* ps/devps/prologue (EXEC): Deleted.
14192	(EBEGIN, EEND): New procedures.
14193
14194Sun Sep 16 14:51:15 1990  James Clark  (jjc at jclark)
14195
14196	* troff/input.c: Include request.h before node.h.
14197	* troff/node.c: Likewise.
14198	* troff/env.c: Likewise.
14199	* troff/div.c: Likewise.
14200	* troff/node.h (class special_node): Store argument as a macro
14201	rather than a char *.
14202	* troff/node.c (special_node::special_node, special_node::copy):
14203	Grok this.
14204	(special_node::~special_node): Deleted.
14205	(special_node::tprint): Deleted.
14206	(special_node::tprint_start, special_node::tprint_end,
14207	special_node::tprint_char): New functions.
14208	(troff_output_file::special): Deleted.
14209	(troff_output_file::start_special, troff_output_file::end_special,
14210	troff_output_file::special_char): New functions.
14211	* troff/input.c (special_node::tprint): New function.
14212	(do_special): Use macro not char *.
14213	(do_transparent_macro): Deleted.
14214	(token::next): Don't call do_transparent_macro.
14215
14216	* troff/input.c (token::next): Add 'Y' case.
14217	(do_transparent_macro): New function.
14218	* troff/node.c (troff_output_file::special): Handle newlines with
14219	argument using new continuation convention.
14220	* driver/input.c (get_string): Cope with continuation convention.
14221	(do_file): Don't call skip_line after calling get_string(1).
14222	* ps/ps.c (ps_printer::special, ps_printer::do_import,
14223	ps_printer::do_def, ps_printer::do_exec): Cope with newlines in
14224	arg.
14225	* xditview/libXdvi/parse.c (ParseInput): Ignore lines starting
14226	with +.
14227
14228Sat Sep 15 19:00:10 1990  James Clark  (jjc at jclark)
14229
14230	* troff/input.c (asciify): By default, illegal input characters
14231	should return empty string.
14232
14233	* troff/input.c (copy_file): Handle first page transition like title.
14234	(token::next, process_input_stack): Grok COPY_FILE_REQUEST.
14235
14236	* troff/input.c (token::next): Improve error message for EOF after
14237	escape character.
14238	(input_char_description): New function.
14239	(get_char_for_escape_name): Use input_char_description.
14240	(token::next): Warn about unrecognized escape sequences.
14241	(warning_table): Add WARN_ESCAPE.
14242	* troff/groff.h: Declare WARN_ESCAPE. Change WARN_TOTAL
14243	accordingly.
14244
14245	* troff/token.h: Remove declaration of process_input_stack.
14246
14247	* troff/input.c: Remove declaration of init_hyphen_requests.
14248	* troff/request.h: Correct spelling in declaration of same.
14249
14250	* troff/input.c (token::next): Check whether escape_char is 0.
14251
14252Fri Sep 14 12:09:25 1990  James Clark  (jjc at jclark)
14253
14254	* groff.c (main, usage, help): Implement -P and -L options.
14255	* groff.sh: Likewise.
14256
14257	* troff/input.c (token::next): Use some gotos to avoid code
14258	duplication.
14259
14260	* troff/input.c (get_long_name, get_name, read_long_ecsape_name):
14261	Avoid calling symbol::symbol if name empty.
14262
14263Thu Sep 13 06:21:45 1990  James Clark  (jjc at jclark)
14264
14265	* troff/input.c (init_input_requests): Make \n(.x return the major
14266	version number and \n(.y return the minor version number.
14267	* troff/Makefile: Construct file majorminor.c defining
14268	major_version and minor_version automatically from ../VERSION.
14269
14270	* troff/node.c (class glyph_node): Make operator new and operator
14271	delete public.
14272	(class ligature_node): Similarily.
14273
14274	* troff/input.c (operator==(const macro &, const macro &)): New
14275	function.
14276	(non_interpreted_node::same): Use this.
14277	(string_iterator::string_iterator): Make macro& argument const.
14278
14279	* troff/input.c (input_iterator::get): New function. Don't make
14280	asciify_macro or class non_interpreted_node friends of class
14281	input_iterator.
14282	(non_interpreted_node::interpret): Use input_iterator::get.
14283	(asciify_macro): Likewise.
14284
14285	* troff/input.c (~token_node, ~string_iterator, ~arg_list,
14286	~non_interpreted_node): Deleted.
14287	* troff/node.c: (~suppress_output_file, ~ascii_output_file):
14288	Deleted.
14289
14290	* troff/symbol.h: Make all symbol member functions const.
14291
14292	* lib/strtol.c: New file.
14293	* lib/Makefile: Add strtol.c.
14294	* Makefile: Define STRTOL as strtol.o to include strtol in
14295	libgroff.a.
14296
14297Wed Sep 12 10:00:49 1990  James Clark  (jjc at jclark)
14298
14299	* pic/troff.c (troff_output::simple_circle): Divide by scale.
14300
14301Tue Sep 11 14:17:16 1990  James Clark  (jjc at jclark)
14302
14303	* troff/input.c (do_special): Use input_level.
14304
14305	* troff/token.h (TOKEN_BACKSPACE): New token.
14306	(token::backspace): New function.
14307	* troff/input.c (token::description, token::next, token::process):
14308	Grok TOKEN_BACKSPACE.
14309	(do_special): Turn TOKEN_BACKSPACE back into \b.
14310
14311	* troff/token.h (token::leader): New function.
14312	* troff/input.c (do_special): Turn TOKEN_LEADER back into \001.
14313
14314	* troff/input.c (do_special): Turn TOKEN_TAB back into \t.
14315
14316	* troff/input.c (do_special): Use token::description in error
14317	message.
14318
14319Mon Sep 10 11:06:27 1990  James Clark  (jjc at jclark)
14320
14321	* troff/input.c (decode_args): Combine quoted and
14322	quote_input_level variables. Make it a for (;;) loop.
14323
14324	* troff/input.c (get_char_for_escape_name): Check for \001 and \b.
14325
14326	* troff/input.c (read_long_escape_name): The test for whether to
14327	expand buffer was off by 1.
14328	(read_string): Similarily.
14329
14330Fri Sep  7 11:45:50 1990  James Clark  (jjc at jclark)
14331
14332	* troff/input.c: Use `const int' rather than `static const int'.
14333
14334	* troff/div.h (diversion::copy_file): Declare as pure virtual.
14335	(macro_diversion::copy_file): New function.
14336	* troff/node.h: New class diverted_copy_file_node.
14337	* troff/node.c: Implement it.
14338	* troff/input.c (copy_file): Use diversion::copy_file. Handle
14339	first page transition by pushing a diverted_copy_file_node.
14340	* troff/input.c (token::next, process_input_stack): Don't handle
14341	COPY_FILE_REQUEST.
14342
14343Thu Sep  6 13:29:10 1990  James Clark  (jjc at jclark)
14344
14345	* ps/ps.c (flush_sbuf): Remember to add sbuf_kern when checking
14346	whether space widths need adjusting.
14347
14348	* troff/charinfo.h: Generalize translated_to_space to
14349	special_translation so as to allow translation to \&.
14350	* troff/input.c (translate): Allow translation to \&.
14351	(charinfo::*): Corresponding changes.
14352	* troff/node.c (make_node, node::add_char): Corresponding changes.
14353	* troff/node.h (dummy_node::dummy_node): Allow optional first
14354	argument.
14355
14356	* lib/lib.h: Make codes 0200 to 0237 illegal input characters.
14357	* troff/token.h: Remove TOKEN_TITLE. Remove token::title. Add
14358	TOKEN_REQUEST.
14359	* troff/input.c (token::next): Turn a TITLE_REQUEST into a
14360	TOKEN_REQUEST with an argument of TITLE_REQUEST.
14361	(token::process): Grok that.
14362	* troff/input.c (copy_file): Handle first page transition like
14363	title by pushing a COPY_FILE_REQUEST cookie.
14364	(token::next, process_input_stack): Grok that.
14365	* troff/node.h (output_file::copy_file): Add x and y arguments.
14366	Make it non-pure.
14367	* troff/div.c (top_level_diversion::copy_file): Supply them.
14368	* troff/node.c (troff_output_file::copy_file): Add x and y
14369	arguments; moveto specified position.  Invalidate font_position
14370	array after copying file.
14371	(output_file::copy_file): New function.
14372	(suppressed_output_file::copy_file, ascii_output::copy_file):
14373	Removed.
14374	* troff/input.c (transparent_file): New function.
14375	(init_input_requests): Bind to "trf".
14376	(token::next): Handle TRANSPARENT_FILE_REQUEST cookie.
14377	(process_input_stack): Likewise.
14378
14379	* troff/Makefile: Add ../lib/lib.h to GROFF_H.
14380
14381	* troff/node.c (init_node_requests): New number registers .kern
14382	pointing to global_kern_mode, and .lg pointing to
14383	global_ligature_mode.
14384
14385	* troff/node.c (ligature): Don't change it if we get a bad
14386	integer.
14387
14388	* troff/input.c (do_define_string): Don't strip tabs.
14389
14390	* troff/input.c (asciify_macro): Make the string_iterator auto.
14391
14392	* troff/node.c (init_font_requests): Rename to...
14393	(init_node_requests):
14394	* troff/node.h: Change declaration.
14395	* troff/input.c (main): Change call.
14396
14397	* troff/input.c (node::reread, diverted_space_node::reread): New
14398	methods.
14399	(process_input_stack): Call reread rather than
14400	get_diverted_space_node.
14401	* troff/node.c (node::get_diverted_space_node,
14402	diverted_space_node::get_diverted_space_node): Removed.
14403	* troff/node.h: Declare reread methods instead of
14404	get_diverted_space_node methods. Make `n' member private.
14405	* troff/input.c: (token::diverted_space): Removed.
14406	* troff/token.h: Removed declaration.
14407	
14408
14409Tue Sep  4 00:48:04 1990  James Clark  (jjc at jclark)
14410
14411	* eqn/script.c (script_box::compute_metrics): Don't let
14412	SUP_RAISE_FORMAT become negative.
14413
14414	* tbl/table.c (table::do_row): Entries that don't end in the
14415	this row shouldn't make the row non-blank.
14416	
14417	* tbl/table.c (table::make_columns_equal): Only set the width of
14418	columns which are marked as equal.
14419	
14420	* tbl/main.c (process_data): Before issuing excess data error,
14421	if last character was a newline unget it; then get it again after
14422	the error.  Also include the contents of the entry in the message.
14423
14424	* groff.c: New file.
14425	* Makefile: Build groff from groff.c.  Make it possible to use
14426	either groff.sh or groff.c as groff.
14427	* Makefile.bd: Similarily.
14428
14429Mon Sep  3 09:39:49 1990  James Clark  (jjc at jclark)
14430
14431	* groff.sh: Don't delay expansion of $@ in assignment to files.
14432	Remove occurrences of \".
14433
14434Sun Sep  2 09:56:59 1990  James Clark  (jjc at jclark)
14435
14436	* all Makefiles: Simplify and rearrange.
14437
14438	* Makefile: Handle fmod like malloc.
14439	* lib/Makefile: Similarily.
14440	* lib/fmod.c: Remove #ifdef NEED_FMOD.
14441
14442	* Makefile: Rename OPTIMISE to OPTIMIZE.
14443
14444	* groff.sh: Remove assignment to PATH.
14445	* Makefile: Remove SHPATH variable.
14446	* Makefile.bd: Similarily.
14447
14448	* groff.sh: Add -V option to print the pipeline instead of
14449	executing it.
14450
14451Fri Aug 31 00:56:46 1990  James Clark  (jjc at jclark)
14452
14453	* lib/font.c: Split off file searching into ...
14454	* lib/fontfile.c: New file.
14455
14456	* lib/strerror.c (strerror): Use `Error %d' for unknown errors.
14457
14458Thu Aug 30 13:13:55 1990  James Clark  (jjc at jclark)
14459
14460	* tbl/table.c (table::do_hspan): Delete assertion that e != 0.
14461	Also change misleading comment.
14462	(table::do_vspan): Change similarily misleading comment.
14463	* tbl/main.c (process_data): A format row with an explicit `s'
14464	uses up a data line, even if all the other columns are `_' or `='.
14465
14466	* troff/input.c (token::description): Fix description of
14467	TOKEN_DUMMY and TOKEN_EMPTY.
14468
14469Wed Aug 29 04:12:08 1990  James Clark  (jjc at jclark)
14470
14471	* groff.sh: Fix description of -Z in help message.
14472
14473Tue Aug 28 07:28:33 1990  James Clark  (jjc at jclark)
14474
14475	* pic/object.c (object_spec::make_object): Allow negative and zero
14476	line thicknesses.
14477	* pic/pic.y: Give linethick default value of -1.0.
14478	* pic/troff.c (troff_output::troff_output): Initialize
14479	last_line_thickness to BAD_THICKNESS.
14480	(troff_output::finish_picture): Set thickness to BAD_THICKNESS.
14481	(troff_output::line_thickness): Canonicalize negative thicknesses
14482	to RELATIVE_THICKNESS.
14483	* pic/tex.c (tex_output::set_pen_size): Silently map negative line
14484	thicknesses to DEFAULT_PEN_SIZE. Canonicalize negative pen sizes
14485	to -1.0.
14486	(tex_output::start_picture): Set pen_size to -2.0.
14487
14488	* ps/ps.c (ps_printer::set_line_thickness): If line_thickness is
14489	0, then use 0 linewidth.
14490	(ps_printer::ps_printer): Initialize line_thickness to -1.
14491
14492	* pic/troff.c (troff_output::simple_ellipse): Divide by scale.
14493
14494	* ps/devps/symbolchars: Remove `or'.
14495	* ps/tmac.ps: Implement \(or with .char.
14496
14497	* ps/devps/symbolchars: Move most characters into textmap.
14498	* ps/devps/textmap: Add names for troff bracket characters. Remove
14499	ul, ru, br, bv.
14500
14501	* ps/devps/TSymbol.ps: Removed.
14502	* ps/devps/FontMakefile: Make S from Symbol not TSymbol.
14503	* ps/tmac.ps: Do with .char what TSymbol did.
14504	* ps/devps/download: Remove TSymbol.
14505
14506	* ps/devps/T: Removed.
14507	* ps/devps/Troff.ps: Removed.
14508	* ps/devps/Troff.afm: Removed.
14509	* ps/tmac.ps: Implement \(ru, \(ul, and \(br with .char.
14510	* ps/devps/download: Remove Troff.
14511	* ps/devps/FontMakefile: Remove T target.
14512	* ps/devps/DESC-A4: Remove T from font list.
14513	* ps/devps/DESC-letter: Likewise.
14514
14515	* troff/input.c (macro_to_node): Rename to ...
14516	(charinfo_to_node): Don't pass mac argument.  Temporarily remove the
14517	character's definition while processing it.
14518	* troff/node.c (node::add_char, make_node): Change calls to
14519	macro_to_node accordingly.
14520
14521	* troff/input.c (token::next): Translate \_ to \(ul.
14522
14523	* tty/devascii/R.proto: Add `|'.
14524	* tty/devlatin1/R.proto: Likewise.
14525
14526Mon Aug 27 11:25:41 1990  James Clark  (jjc at jclark)
14527
14528	* man: Put the version number in all the man pages.
14529
14530Sun Aug 26 11:40:05 1990  James Clark  (jjc at jclark)
14531
14532	* Makefile.bd: New file.
14533	* README.bd: New file.
14534
14535	* VERSION: New file.
14536	* lib/version.c: Removed.
14537	* lib/Makefile: Create version.c from ../VERSION. Remove version.c
14538	in clean target.
14539
14540	* troff/input.c (main): Get hyphen_file from GROFF_HYPHEN
14541	environment variable.
14542
14543	* all Makefiles: Split install target into install.bin for
14544	binaries, and install.nobin for everything else.
14545	* Makefile: Add bindist target.
14546
14547	* man/afmtodit.man: New file.
14548	* man/Makefile: Add afmtodit.n to MAN1PAGES.
14549	* ps/devps/Makefile: Add textmap to DEVICEFILES. Install afmtodit
14550	in BINDIR.
14551	* ps/Makefile: Pass BINDIR to make install in devps.
14552
14553	* ps/ps.c (ps_printer::set_char): Do nothing if the character is
14554	the space character.
14555
14556	* ps/devps/FontMakefile: Rename symbol.afm to tsymbol.afm.
14557
14558Sat Aug 25 15:39:03 1990  James Clark  (jjc at jclark)
14559
14560	* ps/ps.c: Redo font downloading.
14561	* ps/devps/download: New file.
14562	* ps/devps/Makefile: Add download to DEVICEFILES.
14563	* ps/devps/afmtodit: Remove -d option.
14564	* ps/devps/FontMakefile: Don't use -d option with afmtodit.
14565	* ps/devps/symbosl.ps: Add %%DocumentFonts comment.
14566	* ps/devps/zapfdr.ps: Likewise.
14567	* ps/devps/TSymbol.ps: Likewise.
14568
14569Fri Aug 24 20:10:30 1990  James Clark  (jjc at jclark)
14570
14571	* groff.sh: Initialize dev to ${GROFF_TYPESETTER:-@DEVICE@}.
14572
14573Thu Aug 23 10:03:47 1990  James Clark  (jjc at yquem)
14574
14575	* ps/ps.c (ps_output::include_file): If BROKEN_SPOOLER is defined,
14576	then strip the first line if it starts with %.
14577	* Makefile: Add a comment about this.
14578
14579	* man/tfmtodit.man: New file.
14580	* man/Makefile: Add tfmtodit.n to MAN1PAGES.
14581	* dvi/Makefile: Install tfmtodit in BINDIR.
14582
14583	* dvi/tfmtodit.c (usage): Mention -v option.
14584
14585Wed Aug 22 09:56:36 1990  James Clark  (jjc at yquem)
14586
14587	* troff/node.c (troff_output_file::end_of_line): Call do_motion.
14588	* troff/node.c (troff_output_file::transparent_char): Don't call
14589	flush_tbuf.
14590
14591	* eqn: Add check_tabs method to most box classes.
14592	* eqn/box.c (box::top_level): Call check_tabs.
14593
14594	* eqn/script.c (script_box::output): Use \Z.
14595	* eqn/limit.c (limit_box::output): Use \Z.
14596
14597	* eqn/box.c (box::top_level): Use itoa.
14598
14599Tue Aug 21 09:29:28 1990  James Clark  (jjc at yquem)
14600
14601	* dvi/tmac.dvi: Add font translations for CR, C, TT.
14602	* dvi/devdvi/Makefile: Don't make links to CW.
14603
14604	* ps/tmac.ps: Add font translations for C, CW, CO, CX, CD, H, HO,
14605	HX, HD.
14606	* xditview/tmac.X: Likewise.
14607
14608	* troff/node.c: Add font translation feature.
14609	(get_font_translation): New function.
14610	(symbol_fontno): Translate the font name.
14611	(mount_font_no_translate): Rename to mount_font to this.
14612	(mount_font): New function.
14613	(font_family::make_definite): Call mount_font_no_translate instead
14614	of mount_font.
14615	(mount_style): Translate the font name.
14616	(font_translate): New function.
14617	(init_font_requests): Bind "ftr" to font_translate.
14618
14619	* ps/devps/prologue (SN): New procedure that rounds a position to
14620	the nearest (pixel + (.25,.25)).
14621	(DL): Use SN to round endpoints.
14622
14623	* lib/version.c: Changed version to 0.5.
14624
14625Sat Aug 18 04:43:21 1990  James Clark  (jjc at yquem)
14626
14627	* Makefile: Move definition of PAGE to the very beginning, so that
14628	people are less likely to miss it.
14629
14630Fri Aug 17 02:15:11 1990  James Clark  (jjc at yquem)
14631
14632	* man/Makefile: Don't need to sed out @UPCASE_PROG_PREFIX@.
14633
14634	* troff/env.c (environment::choose_breakpoint): Make `can't find
14635	breakpoint' error a warning of type WARN_BREAK.  Change message to
14636	`can't break line'.
14637	* troff/groff.h: Declare WARN_BREAK with code 4; change WARN_INPUT to
14638	code 040000.
14639	* troff/input.c: Add WARN_BREAK to warning_table.  Include
14640	WARN_BREAK in DEFAULT_WARNING_MASK.
14641
14642	* tty/tmac.tty: Add definition of \(+-.
14643
14644	* groff.sh: Remove `--' option to set command.
14645
14646	* dvi/devdvi/texsy.map: Remove duplicate md entry.
14647
14648	* ps/devps/eqnchar: Better definition of cdot using md.
14649	* dvi/devdvi/eqnchar:  Likewise.
14650	* xditview/devX100/eqnchar:  Likewise.
14651	* xditview/devX75/eqnchar: Likewise.
14652	* eqn/lex.c: Add definition of cdot.
14653
14654Thu Aug 16 09:33:57 1990  James Clark  (jjc at yquem)
14655
14656	* troff/input.c (get_optional_char): New function.
14657	* troff/input.c (set_page_character): Use get_optional_char(),
14658	rather than has_arg() and tok.get_char(1).
14659	* troff/env.c (tab_character, leader_character, hyphen_char,
14660	field_characters): Likewise.
14661	(margin_character): Likewise.  Also always delete the
14662	margin_character_node.
14663
14664	* troff/input.c (token::get_char): Use token::description.
14665
14666	* troff/input.c (has_arg): Don't skip over tab and \}.
14667	* troff/number.c (start_number): Give a warning if the number
14668	starts with \} (WARN_RIGHT_BRACE) or tab (WARN_TAB).
14669
14670Wed Aug 15 10:04:37 1990  James Clark  (jjc at yquem)
14671
14672	* troff/input.c (empty_name_warning, non_empty_name_warning): New
14673	functions.
14674	(get_name, get_long_name): Use these.  Rename `warn' argument to
14675	`required'.
14676
14677	* troff/node.c (get_fontno): Test that the symbol is not null.
14678
14679	* troff/input.c (token::description): New function.
14680	* troff/number.c (parse_term): Use token::description in `numeric
14681	expression expected' message.
14682	* troff/groff.h: Add WARN_MISSING.
14683	* troff/number.c (start_number): New function.
14684	* troff/number.c (get_vunits, get_hunits, get_number, get_integer,
14685	get_incr_number): Use start_number().
14686	* troff/input.c (DEFAULT_WARNING_MASK): Enable WARN_NUMBER by
14687	default.
14688	* troff/input.c (get_name, get_long_name): Use WARN_MISSING.
14689	* troff/reg.c (alter_format): Use WARN_MISSING. Also use
14690	token::descripion.
14691	* troff/input.c (token::get_char): Use WARN_MISSING.
14692	* troff/input.c (token::delimiter): Use token::description.
14693	* troff/env.c (environment_switch): Back out Aug 3 change.
14694	* troff/input.c (has_arg): Skip over \}s and tabs but give a
14695	warning.
14696	* troff/token.h (token::tab): New function.
14697	* troff/node.c (get_fontno): Use tok.skip() rather than has_arg().
14698	* troff/reg.c (alter_format): Likewise.
14699	* troff/node.c (bold_font): Use has_arg() rather than tok.skip().
14700
14701Tue Aug 14 10:11:21 1990  James Clark  (jjc at yquem)
14702
14703	* troff (most files): Redo warnings. Divide warnings into various
14704	categories; warning() has an additional first argument indicating
14705	the category it falls into.
14706	* troff/input.c (main): -w now takes an argument. New option -W.
14707	(enable_warning, disable_warning): New functions.
14708
14709	* ps/devps/afmtodit: Add -a option to lie about the italic angle.
14710	* ps/devps/FontMakefile: Pretend TI has an angle of 7.
14711
14712Mon Aug 13 10:11:16 1990  James Clark  (jjc at yquem)
14713
14714	* ps/devps/eqnchar: Better definitions of dotdot, vec, dyad, inf.
14715	* xditview/devX100/eqnchar: Likewise. Remove definition of dot.
14716	* xditview/devX75/eqnchar: Likewise.
14717	* dvi/devdvi/eqnchar: Better definitions of vec, dyad, dotdot.
14718
14719	* eqn/other.c: When bar or over applies to a single character
14720	don't produce an overline_box or an underline_box. Instead produce
14721	an accent_box or an underaccent_box, with the accent a line
14722	whose width is accent_width.  New classes underaccent_box,
14723	overline_char_box and underline_char_box.
14724	* eqn/box.h: Move overline_box, underline_box, accent_box class
14725	declarations into eqn/other.c. Add declarations of
14726	make_underline_box, make_overline_box, make_accent_box.
14727	* eqn/eqn.y: Call make_overline_box, make_underline_box
14728	make_accent_box instead	of constructors.
14729	* eqn/pbox.h, eqn/box.c: Add accent_width parameter.
14730
14731	* eqn/other.c: Add accent_box::~accent_box.
14732	* eqn/box.h: Declare it.
14733
14734	* groff.sh: With -Tps, use eqn -D.
14735
14736	* eqn/other.c (overline_box::output): Use \Z. If draw_flag use \D
14737	rather than \l.
14738	(underline_box::output): Similarily.
14739	(accent_box::output): Use \Z.
14740
14741	* xditview/tmac.X: Add definitions of ~ and ^ (so that they are a
14742	bit smaller.)
14743
14744Sun Aug 12 09:41:15 1990  James Clark  (jjc at yquem)
14745
14746	* troff/div.c (top_level_diversion::transparent_output(unsigned
14747	char)): Use asciify.
14748	* troff/input.c (asciify): Don't make it static.
14749	* troff/token.h (asciify): Declare it.
14750	
14751	* troff/input.c (get_name, get_long_name, token::get_char,
14752	token::delimiter): Add an extra default argument which says
14753	whether a warning should be printed.
14754	* troff: Pass a non-zero argument to one of these rather than
14755	printing a warning directly.
14756
14757Sat Aug 11 09:02:21 1990  James Clark  (jjc at yquem)
14758
14759	* troff: Consistently use symbol::is_null.
14760
14761	* troff/dictionary.h: Move some inline functions into
14762	dictionary.c.
14763
14764	* troff/request.h: Move inline functions into input.c.
14765	(request_or_macro::invoke): Make it pure.
14766
14767	* troff/input.c, troff/reg.h: New class `constant_int_reg'.
14768	* troff/input.c (init_input_requests): Use class constant_int_reg.
14769	(class compatible_reg): Deleted.
14770	* troff/div.c (init_div_requests): Use class constant_int_reg.
14771	(class last_post_line_extra_space_reg): Deleted.
14772
14773	* troff/env.c (tab_character): Don't change the tab character if
14774	we get an invalid argument.
14775	(hyphen_char): Similarily.
14776
14777	* troff/reg.c (alter_format): Check that nm is not null.
14778
14779	* Makefile, groff.sh: Make it possible to customize the commands
14780	used for printing PostScript and dvi files. Also make it possible
14781	to customize the path used by groff.sh.
14782
14783	* eqn/eqn.y: Make `left' right associative.
14784
14785Fri Aug 10 18:20:39 1990  James Clark  (jjc at yquem)
14786
14787	* pic/pic.h: Added definition of M_SQRT2 for those systems that
14788	don't have it.
14789
14790	* pic/pic.h: Removed definition of INT_MAX.
14791
14792	* troff/node.c (italic_corrected_node::vertical_extent): Omit
14793	`return'.
14794
14795	* troff/input.c (token::next):  Handle \R like \n.
14796
14797Tue Aug  7 09:46:33 1990  James Clark  (jjc at yquem)
14798
14799	* ps/tmac.pc (PSPIC): Simplify.
14800
14801	* troff/env.c (tab_stops::to_string):
14802	* pic/pic.y (object_type_name):
14803	* pic/troff.c (simple_output::line):
14804	* pic/tex.c (tex_output::spline):
14805	* pic/object.c (object_spec::make_object):
14806	* tbl/main.c (process_data):  Add cases to switch statements to
14807	avoid cfront warnings. (Some of these are spurious, since the
14808	switch already has a default case.)
14809
14810	* ps/tmac.ps (PSPIC): Reformatted.  Prefix all local names with
14811	`ps-'.  Don't test systat; instead check number of arguments to
14812	ps-bb.
14813
14814Mon Aug  6 00:13:07 1990  James Clark  (jjc at yquem)
14815
14816	* macros/tmac.e: Do not decrease the page offset by 0.5i.
14817
14818	* ps/ps.c (ps_printer::ps_printer): Use mktemp instead of tempnam.
14819	Unlink the file as soon as we have opened it, so that we don't
14820	have to bother with signal handlers.
14821	(handler): Deleted.
14822	(fatal_error_exit): Deleted.
14823	(main): Don't call signal.
14824
14825	* dvi/tfmtodit.c: Add -k option so that kerns with the skewchar
14826	can be ignored.
14827	* dvi/devdvi/Makefile: Use the -k option with S and MI.
14828
14829	* pic/pic.y:  If there is a label, or an nth construction before
14830	the first `.' in the argument to `with', ignore it and generate a
14831	warning.
14832	* pic/lex.c (lex_warning): New function.
14833
14834	* tbl/table.c (table::init_output): In section keep and release
14835	macro, use 0 indent when diverting and the correct indent when
14836	rereading.
14837
14838	* troff/input.c (interpolate_number_format): Do not interpolate
14839	anything if the number register is not defined.
14840
14841	* tbl/main.c (process_data): Don't add entry when col >= ncolumns.
14842
14843Sat Aug  4 08:12:05 1990  James Clark  (jjc at yquem)
14844
14845	* ps/devps/prologue (PICTURE): Set components of graphics state to
14846	their default values.
14847
14848	* ps/devps/text.enc: Add trademark
14849	* ps/devps/textmap: Add names for club, spade, heart, diamond,
14850	carriagereturn, suchthat. Use Upsilon1 rather than Upsilon.
14851	* ps/devps/symbolchars: Add names for summation and product.
14852
14853	* dvi/devdvi/texsy.map: Add names for club, spade, heart, diamond,
14854	suchthat. Add pp. Add upper-case letters.
14855
14856	* xditview/libXdvi/DviChar.c: Add names for club, spade, heart,
14857	diamond, carriagereturn, suchthat. Use Upsilon1 rather than
14858	Upsilon.
14859
14860	* dvi/devdvi/texsy.map: Rename lA (left angle bracket) to la, and
14861	rA (right angle bracket) to ra.  Introduce names for double-headed
14862	arrows and double-barred arrows: <>, va, lA, rA, hA, uA, dA, vA.
14863	* ps/devps/textmap: Likewise for ps device.
14864	* xditview/libXdvi/DviChar.c: Likewise for X100 and X75 devices.
14865	* tty/devascii/R.proto: Rename lA to la and rA to ra.
14866	* tty/devascii/R.proto: Likewise.
14867	* tty/tmac.tty: Provide definitions for \(<>, \(lA, \(rA, \(hA,
14868	\(uA, \(dA.
14869	* eqn/delim.c: In delim_table, rename \(lA to \(la and \(rA to \(ra.
14870
14871	* xditview/tmac.X: Add definitions for \(fi \(fl \(ff \(Fi \(Fl.
14872
14873	* eqn/lex.c: Added definitions of `approx', `grad' and `del' to
14874	def_table.
14875
14876Fri Aug  3 09:59:27 1990  James Clark  (jjc at yquem)
14877
14878	* troff/div.c (when_request): Use symbol::is_null rather than
14879	has_arg to determine whether we have an argument.
14880	(change_trap): Remove the trap if we get an invalid number. Give
14881	an error if we don't get at least the macro name.
14882	(diversion_trap): Remove trap if we get an invalid name or number.
14883
14884	* troff/env.c (environment_switch): Pop if we get an invalid
14885	symbol or numeric expression.
14886
14887	* troff/input.c (do_define_macro):  If EOF is encoutered while
14888	defining the macro, do tok.next() before returning.
14889
14890	* troff/token.h (has_arg): Move definition from here, to ...
14891	* troff/input.c (has_arg): ... here
14892
14893	* troff/env.c (space_size): Do nothing if we get an invalid argument.
14894	* troff/input.c (shift): Likewise.
14895
14896	* pic/lex.c (get_token_after_dot):  Accept `.center' as a synonym
14897	for `.c'.
14898
14899	* pic/troff.c (troff_output::start_picture):  Comment out calls to
14900	`..'.
14901
14902	* eqn/main.c (do_file): Subtract 1 from current_lineno if
14903	interpret_lf_args succeeds.
14904
14905	* eqn/main.c (do_file): Don't recognize delimiter if preceded by
14906	\\.  This avoids problems with \$N.
14907
14908	* groff.sh: Pass -C to preprocessors.
14909
14910	* lib/lf.c (interpret_lf_args):  Be more flexible.
14911
14912	* tbl/main.c (main): Add -C option.
14913	(table_input::get): Do not recognize TE if followed by character
14914	other than a space or newline unless -C option given.
14915	(process_input_file): Likewise for lf, TS.
14916	(process_data): Likewise for lf in text blocks.
14917
14918	* eqn/main.c (main): Add -C option.
14919	(do_file): Don't recognize EQ, EN or lf if followed by character
14920	other than space or newline unless -C option given.
14921	* eqn/lex.c (file_input::read_line): Similarily.
14922	* eqn/eqn.h: Declare compatible_flag.
14923
14924	* etc/soelim.c (main): Add -C option.
14925	(interpret_lf_args): Use version in libgroff.
14926	(do_file):
14927
14928	* pic/main.c (main): Add -C option, which sets compatible_flag.
14929	(top_input::get), (top_input::peek):  If -C option not given,
14930	do not recognize .PS/.PE/.PF/.lf if followed by a character
14931	other than space or newline.
14932	* pic/lex.c (file_input::read_line): Similarily.
14933	* pic/pic.h: Add declaration of compatible_flag.
14934
14935Thu Aug  2 11:11:27 1990  James Clark  (jjc at yquem)
14936
14937	* ps/tmac.ps (PSPIC): Avoid use of `echo -n'.
14938
14939	* troff/node.c, troff/node.h:  Add `asciify' methods to classes
14940	derived from node.  New class space_char_hmotion_node.
14941	* troff/input.c (asciify_macro): New function.
14942	* troff/input.c (init_input_requests): New request `asciify' bound
14943	to asciify_macro.
14944	* macros/mm.diff: New file.
14945	* Makefile:  In install.mm target use `patch' to apply
14946	macros/mm.diff.
14947
14948	* troff/input.c (macro::print_size): Just print the size in bytes.
14949
14950	* troff/div.c (return_request): Correct the argument
14951	interpretation.
14952
14953Wed Aug  1 12:38:36 1990  James Clark  (jjc at yquem)
14954
14955	* troff/node.h (class composite_node): Add sz member.
14956	* troff/node.c (composite_node::size): Return sz.
14957	* troff/input.c (macro_to_node):  Use the initial size in the
14958	environment as the size of the composite_node.
14959
14960	* troff/node.c (node::zero_width_tprint):  Provide a reasonable
14961	default.
14962
14963Tue Jul 31 10:07:10 1990  James Clark  (jjc at yquem)
14964
14965	* troff/div.c (change_trap): If we get a bad number expression,
14966	do nothing.
14967
14968Mon Jul 30 10:30:49 1990  James Clark  (jjc at yquem)
14969
14970	* lib/matherr.c (matherr): Define this only if math.h defines
14971	TLOSS.
14972
14973Sun Jul 29 10:34:27 1990  James Clark  (jjc at yquem)
14974
14975	* troff/div.c (macro_diversion::distance_to_next_trap): If there
14976	no diversion trap return vunits(INT_MAX - vresolution).
14977
14978Sat Jul 28 14:28:14 1990  James Clark  (jjc at yquem)
14979
14980	* troff/input.c (do_zero_width): New implementation that doesn't
14981	use a temporary environment. Use instead:
14982	(token::add_to_node_list): New function.
14983	* troff/env.c (environment::get_prev_char_height),
14984	(environment::get_prev_char_height),
14985	(environment::get_prev_char_skew): New functions.
14986	(environment::get_prev_char): New function.
14987	(environment::get_prev_char_width): Change to use get_prev_char.
14988	(init_env_request): Implement new registers .cht, .cdp, .csk.
14989	* eqn/sqrt.c (sqrt_box::output): Don't rely upon the argument to
14990	\Z being processed in a separate environment.
14991
14992Fri Jul 27 10:21:25 1990  James Clark  (jjc at yquem)
14993
14994	* tbl/table.c: Removed TABLE_BOTTOM_REG.
14995
14996	* tbl/table.c (table::init_output): In the section release macro,
14997	give a warning message if the section won't fit on one page.
14998
14999	* tbl/table.c (table::do_top): Emit table keep only if table is
15000	boxed.
15001	(table::do_bottom): Likewise for table release.
15002	(table::table), (table::add_vertical_rule):  Remove reference to
15003	keep member.
15004	* tbl/table.h: Remove keep member.
15005
15006	* tbl/table.c: New register SUPPRESS_BOTTOM_REG. In
15007	SECTION_RELEASE_MACRO, if there's not enough space before the next
15008	trap to output the diversion, call T# ourselves, set
15009	SUPPRESS_BOTTOM_REG to 1, spring the trap, then set
15010	SUPPRESS_BOTTOM_REG back to 0.  In T#, do nothing if
15011	SUPPRESS_BOTTOM_REG is non-zero.  In T#, always mark the current
15012	vertical position and return to it before turning traps on again.
15013	
15014Thu Jul 26 02:54:32 1990  James Clark  (jjc at yquem)
15015
15016	* troff/node.c, troff/node.h: In classes derived from node,
15017	replace prev_char_width method by last_char_node method.
15018	* troff/env.c (environment::get_prev_char_width): Use
15019	node::last_char_node rather than node::get_prev_char_width.
15020
15021	* Makefile: Added comment about -fno-inline on 68030-based
15022	Apollos.
15023
15024	* troff/reg.c (number_format_to_ascii), eqn/delim.c (DELIM_TABLE_SIZE),
15025	tty/tty.c (tty_font::load_tty_font), dvi/tfmtodit.c (main): Cast
15026	expressions using sizeof to int.
15027	* dvi/dvi.c (dvi_font::handle_x_command): Avoid long->int warnings.
15028
15029	* macros/tmac.e (TS):  Don't move @f back past the current
15030	position.
15031
15032Wed Jul 25 09:11:08 1990  James Clark  (jjc at yquem)
15033
15034	* ps/ps.c (main): Buffer stderr.
15035	* dvi/dvi.c (main): Likewise.
15036	* tty/tty.c (main): Likewise.
15037
15038	* ps/ps.c (ps_printer::do_import): Improve error handling.
15039
15040	* troff/input.c (abort_request): Use asciify.
15041
15042	* driver/printer.h (printer::draw), driver/printer.c (printer::draw),
15043	ps/ps.c (ps_printer::draw), dvi/dvi.c (dvi_printer::draw): Make
15044	type of first argument int rather than char.  This works around a
15045	bug on the 68030 based Apollo using g++ 1.37.1.
15046
15047	* tbl/table.h (class table): Add `keep' member.
15048	* tbl/table.c (table::table): Initialize `keep'.
15049	(table::add_vertical_rule): Set `keep' to 1.
15050	(table::do_top): Only emit table keep macro is `keep' is non-zero.
15051	(table::do_bottom): Likewise for table release macro.
15052	(table::do_row): Emit section keep macro even if the row is 0.
15053
15054Tue Jul 24 08:35:07 1990  James Clark  (jjc at yquem)
15055
15056	* macros/tmac.e (@C): Preserve the font family across the change
15057	in environments.
15058
15059Mon Jul 23 10:15:23 1990  James Clark  (jjc at yquem)
15060
15061	* lib/font.c: Initialize font::hor and font::vert to 1.
15062	(font::load_desc): Check the values of font::hor and font::vert.
15063
15064	* lib/lib.h: Added definition of INT_DIGITS. Fix it so that it can
15065	be included in a C compilation.
15066	(iftoa): Use INT_DIGITS. Include lib.h.
15067	(itoa): Likewise.
15068	(as_string): Likewise.
15069	* tbl/table.c: Removed definition of INT_DIGITS.
15070	* eqn/box.c (box::top_level): Use INT_DIGITS + 1 instead of 12.
15071	* troff/input.c (input_input_requests): Likewise.
15072	* ps/ps.c (make_encoding_name): Likewise.
15073	(ps_printer::set_style): Likewise.
15074	(ps_output::put_number): Use 1 + INT_DIGITS + 1 instead	of 12.
15075
15076	* tty/devascii/R.proto: Map fm onto '.
15077	* tty/devlatin1/R.proto: Likewise.
15078
15079Sat Jul 21 12:45:07 1990  James Clark  (jjc at yquem)
15080
15081	* tbl/table.c: Use ' instead of DELIMITER_CHAR in places where the
15082	argument to \w is at a different input level.
15083
15084	* tbl/table.c (table::init_output): Define a new macro
15085	REPEATED_VPT_MACRO, like vpt but if in a diversion also
15086	transparently outputs itself.
15087	(table::define_bottom_macro): Use REPEATED_VPT_MACRO instead of
15088	vpt.
15089	(table::do_row): Likewise.
15090
15091	* tbl/table.c (vertical_rule::print): Prefix the .sp -1 line with
15092	TRANSPARENT_STRING_NAME.
15093
15094	* tbl/table.c (table::init_output): In the table release macro
15095	print an error message and don't produce any output if after
15096	issuing the need request the table still will not fit.  Also
15097	remove the diversion after bringing it back.
15098
15099	* tbl/table.c (table::init_output): Define a new macro
15100	REPEATED_MARK_MACRO, like mk but if in a diversion also
15101	transparently outputs itself.
15102	(table::do_row): Mark row_top_reg using	REPEATED_MARK_MACRO. This
15103	is necessary because .TH might not call .T#.
15104	(table::do_top): Likewise TOP_REG.
15105	(table::define_bottom_macro): If TOP_REG is no longer valid, use
15106	#T - DOUBLE_LINE_SEP rather than #T. This is necessary because the
15107	table header might contain just the two top rules.
15108
15109Fri Jul 20 10:51:42 1990  James Clark  (jjc at yquem)
15110
15111	* troff/div.c: Implement new request `ptr' to print all traps.
15112
15113	* troff/env.c (init_env_requests): Implement `.tabs' reg with
15114	init_string_env_reg.
15115	* troff/env.c (class tab_reg): Deleted.
15116
15117Thu Jul 19 12:07:16 1990  James Clark  (jjc at yquem)
15118
15119	* troff/div.c: New number register .pn returns the number of the
15120	next page as set by the pn request.
15121
15122	* macros/tmac.an: Redid headers and footers.  Number each manual
15123	entry starting from 1 unless \nC is > 0, like Sun.  Added an
15124	optional 5th argument to .TH which specifies the manual name and
15125	appears in the center of the header.  Understand the X, P and D
15126	registers like Sun.
15127
15128Wed Jul 18 10:23:31 1990  James Clark  (jjc at yquem)
15129
15130	* troff/env.c (init_env_requests): New number register `.lt' to
15131	return the title length.
15132
15133	* troff/node.h (class transparent_dummy_node): New class.
15134	* troff/node.c (class transparent_dummy_node): Provide member
15135	functions. 
15136	* troff/env.c (interrupt): Add a transparent_dummy_node, rather
15137	than a dummy_node.
15138
15139	* troff/input.c (token::next): New escape sequence \).
15140	* troff/input.c (get_copy): Recognize \) in copy mode.
15141
15142	* troff/input.c (input_stack::clear): New function.
15143	* troff/input.c (exit_request): Use input_stack::clear.
15144
15145	* troff/token.h: Removed TOKEN_NO_PRINT_CHAR.
15146	* troff/input.c (token::process): Removed case TOKEN_NO_PRINT_CHAR.
15147
15148	* troff/env.c: Move set_page_character to input.c.  Move
15149	page_character to input.c also.
15150	* troff/env.c (title): Split off the reading of the parts of the
15151	title into read_title_parts.
15152	* troff/input.c (read_title_parts): New function.  Check the
15153	input_level when testing whether a token matches the delimiter.
15154
15155	* troff/input.c (exit_request): New function.
15156	* troff/input.c (init_input_requests): Bind ex request to
15157	exit_request rather than exit_groff.
15158
15159	* troff/input.c (exit_groff): Call tok.next() before
15160	process_input_stack().
15161
15162Mon Jul 16 09:47:23 1990  James Clark  (jjc at yquem)
15163
15164	* troff/env.c: ifdef widow control support on WIDOW_CONTROL.
15165	* troff/env.h: ditto.
15166	* troff/input.c: ditto.
15167
15168	* troff/env.c (environment::is_empty): Test pending_lines.
15169
15170	* troff/env.c (environment::have_pending_lines): Removed.
15171
15172	* troff/input.c: Add request to flush pending lines from the
15173	environment.
15174
15175	* troff/env.c, troff/env.h: Add automatic widow control feature.
15176
15177	* troff/input.c (exit_groff):  Do process_input_stack() after
15178	do_break() but before setting exit_flag to 2.
15179
15180	* troff/input.c: Remove FLUSH_PENDING_LINES and
15181	TOKEN_FLUSH_PENDING_LINES. Instead, flush pending lines from
15182	environment after END_TRAP token seen, but only if there aren't
15183	any more traps still unfinished.
15184	* troff/token.h: Remove TOKEN_FLUSH_PENDING_LINES.
15185
15186Sun Jul 15 10:50:08 1990  James Clark  (jjc at yquem)
15187
15188	* troff/env.c: Rename the `retain_size' member of class
15189	pending_output_line to `no_fill'.
15190
15191	* troff/env.c (title): When the line is output, make the
15192	retain_size argument !fill.
15193
15194	* troff/node.h: Add `hyphenated' member to struct breakpoint.
15195	* troff/node.c (space_node::get_breakpoints),
15196	(dbreak_node::get_breakpoints):  Fill this in.
15197	* troff/env.c:  Allow specification of maximum number of
15198	consecutive hyphenated lines.
15199
15200	* troff/env.c (environment::is_empty): Add test for !current_tab.
15201
15202Sat Jul 14 11:23:01 1990  James Clark  (jjc at yquem)
15203
15204	* troff/env.c (environment::hyphenate_line): Don't completely give
15205	up if the word is not to be hyphenated; continue so that breaks
15206	can be made at break_char_node's.
15207
15208	* lib/lib.h: Only define INT_MAX if it's not already defined;
15209	undef INT_MIN if it's already defined.
15210
15211	* Makefile: Make it easy to define CFRONT_ANSI_BUG.
15212
15213	* lib/lib.h: If CFRONT_ANSI_BUG is defined, cast INT_MIN to long.
15214	This works around a bug in AT&T C++ 2.0 used with an ANSI C
15215	compiler.
15216	
15217	* macros/tmac.an (an-header): Set no-space mode.
15218
15219	* macros/tmac.an (TH): Start a new page if necessary.
15220
15221	* Started using ChangeLog at version 0.4.
15222
15223Local Variables:
15224version-control: never
15225coding: latin-1
15226End:
15227