1
2Version 1.18.1 released
3=======================
4
52002-10-08  Werner LEMBERG  <wl@gnu.org>
6
7	* doc/webpage.ms, NEWS: Updated.
8
92002-10-07  Werner LEMBERG  <wl@gnu.org>
10
11	* tmac/doc-common (Ss): Add final `.ns' (similar to `.Sh') to
12	suppress additional whitespace after the header.
13
14	* tmac/doc-ditroff, tmac/doc-nroff (Am): New string to be in sync
15	with NetBSD.
16
17	* src/preproc/grn/grn.man, tmac/groff_mdoc.man, NEWS: Updated.
18
192002-10-07  Ruslan Ermilov  <ru@FreeBSD.org>
20
21	* tmac/doc-common(doc-volume-operating-system-ateol): New flag.
22	(Dt): Use it to improve language localization (especially Russian
23	and French).
24
252002-10-07  Daniel Senderowicz  <daniel@synchrods.com>
26
27	* src/preproc/grn/gprint.h (BSPLINE, BEZIER): New macros.
28	* src/preproc/grn/hdb.cc (DBGetType): Parse spline and bezier
29	drawing commands.
30	* src/preproc/grn/hgraph.cc (drawwig): Add parameter to control
31	curve type.
32	Call `picurve' for BSPLINE.
33	(HGPrintElt): Handle BSPLINE.
34	* src/preproc/grn/README: Document it.
35
362002-10-03  Werner LEMBERG  <wl@gnu.org>
37
38	* src/roff/troff/node.cc (break_char_node::col): New variable.
39	Updated constructor.
40	(space_node::tprint, word_space_node::tprint): Call `fill_color'
41	unconditionally.
42	(space_node::space_node): Remove assertion.
43	(break_char_node::add_self): Pass color argument to space node.
44	* src/roff/troff/input.cc (token::add_to_node_list, token::process):
45	Ditto.
46	* src/roff/troff/env.cc (environment::do_break,
47	environment::add_padding): Ditto.
48
492002-10-02  Werner LEMBERG  <wl@gnu.org>
50
51	Redesigning color support in troff.  Colors are no longer
52	represented as separate nodes but are now part of glyph nodes and
53	friends.  This fixes the current formatting misbehaviour due to the
54	changes introduced on 2002-09-20.  Some extra code is necessary for
55	proper grotty support: Without adding color variables to
56	space-related nodes, the background color would be changed too late.
57
58	* src/roff/troff/node.h, src/roff/troff/node.cc:
59	s/current_pagecolor/current_fill_color/.
60	s/current_glyphcolor/current_glyph_color/.
61	(glyph_color_node, fill_color_node): Removed.
62	(node::get_glyph_color, node::get_fill_color): New virtual member
63	functions.
64	(space_node::col): New variable.
65	Updated constructors of space_node and derived classes accordingly.
66	(hmotion_node::col): New variable.
67	Updated constructors of hmotion_node and space_char_hmotion_node
68	accordingly.
69	(vmotion_node::col): New variable.
70	Updated constructor accordingly.
71	(draw_node::gcol, draw_node::fcol): New variables.
72	Updated constructor accordingly.
73	(special_node::gcol, special_node::fcol): New variables.
74	Updated constructors accordingly.
75	(troff_output_file::put_char, troff_output_file::put_charwidth,
76	troff_output_file::draw): Set glyph and fill color.
77	(troff_output_file::start_special): Set glyph and fill color.
78	Always set current font.
79	(troff_output_file::fill_color, troff_output_file::glyph_color):
80	Don't call `do_motion'.
81	(glyph_node::gcol, glyph_node::fcol): New variables.
82	Updated constructors of glyph_node and ligature_node accordingly.
83	(glyph_node::get_glyph_color, glyph_node::get_fill_color): New
84	member functions.
85	(glyph_node::merge_glyph_node,
86	kern_pair_node::add_discretionary_hyphen,
87	node::add_discretionary_hyphen): Updated.
88	(break_char_node::merge_self): Updated.
89	(word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
90	vmotion_node::tprint): Handle color.
91	(make_glyph_node, make_node, node::add_char): Updated.
92
93	* src/roff/troff/env.cc (environment::space_newline,
94	environment::space, environment::output_line, environment::do_break,
95	environment::make_tab_node, environment::add_padding, title):
96	Updated.
97	(environment_switch, environment_copy): Don't add color nodes.
98
99	* src/roff/troff/input.cc (do_glyph_color, do_fill_color): Return
100	nothing.
101	(token::next): Updated.
102	\m and \M now are as transparent as \s.
103	(process_input_stack, token::add_to_node_list, token::process,
104	read_draw_node): Updated.
105	(charinfo_to_node_list): Don't add color nodes.
106
107	* doc/groff.texinfo: Updated.
108
1092002-09-27  Ruslan Ermilov  <ru@FreeBSD.org>
110
111	* tmac/doc-common (ds-operating-system-FreeBSD-4.*): New version
112	strings.
113
1142002-09-27  Colin Watson  <cjwatson@debian.org>
115
116	* src/roff/troff/node.cc (bracket_node::copy): Check `list' != 0.
117
1182002-09-23  Werner LEMBERG  <wl@gnu.org>
119
120	* src/devices/grolbp/lbp.cc: Replace `300' with `font::res' where
121	appropriate.
122	(DEFAULT_LINEWIDTH_FACTOR): New macro.
123	(linewidth_factor): New global variable.
124	(lbp_printer::set_line_thickness): Fix case for size < 0, using
125	linewidth_factor.
126	(long_options): Add -w/--linewidth option.
127	(usage): Updated.
128	(main): Handle -w option to set linewidth_factor.
129	(lbp_printer::lbp_printer): Initialize req_linethickness, not
130	line_thickness.
131
132	* src/devices/grolbp/grolbp.man, NEWS, doc/webpage.ms: Updated.
133
1342002-09-22  Paco Andr�s Verd�  <pandres@dragonet.es>
135
136	Fixed a bug in the line thickness setting code.
137
138	* src/devices/grolbp/lbp.cc (lbp_printer::req_linethickness): New
139	variable.
140	(lbp_printer::set_line_thickness): Pass environment as second
141	parameter.
142	Implement it actually.
143	(lpb_printer::set_char, lbp_printer::draw): Use `req_linethickness'
144	and `set_line_thickness, depending on the current font size.
145
1462002-09-21  Werner LEMBERG  <wl@gnu.org>
147
148	Some Debian patches.
149
150	* src/roff/groff/pipeline.h (MAX_COMMANDS): Increase to 12.
151	* src/roff/troff/node.cc (bracket_node::copy): Initialize
152	`list->last'.
153
1542002-09-20  Werner LEMBERG  <wl@gnu.org>
155
156	* configure: Regenerated with autoconf 2.54.
157
1582002-09-20  Werner LEMBERG  <wl@gnu.org>
159
160	* src/roff/troff/env.h (environment): Rename cur_glyph_color to
161	glyph_color.
162	Rename cur_fill_color to fill_color.
163	* src/roff/troff/env.cc: Updated.
164
1652002-09-20  Werner LEMBERG  <wl@gnu.org>
166
167	* src/roff/troff/env.cc (title): Copy color status after processing
168	title.
169	* src/roff/troff/input.cc (charinfo_to_node_list): Emit glyph and
170	fill color nodes to reset colors properly.
171
172	* tmac/www.tmac (DC): Fix color handling.
173
174	* src/preproc/pic/pic.man, doc/pic.ms: Document some color issues.
175	* doc/groff.texinfo: Fixing documentation of `tl' request.
176	* doc/webpage.ms: Updated.
177
1782002-09-19  Werner LEMBERG  <wl@gnu.org>
179
180	* src/roff/troff/env.cc (environent_switch, environment_copy):
181	Emit glyph and fill color nodes to initialize colors properly.
182
1832002-09-17  Colin Watson  <cjwatson@debian.org>
184
185	* src/roff/troff/env.cc (environment::set_glyph_color,
186	environment::set_fill_color): Fix typo which prevented \m[] work
187	correctly.
188
1892002-09-17  Werner LEMBERG  <wl@gnu.org>
190
191	Add left and right italic correction to non-slanted PS fonts.  This
192	is an experimental feature to improve image rendering of grohtml.
193
194	* font/devps/generate/Makefile (RFLAG): New variable, set to `-i 0'.
195	({T,H,C,P,N,BM,A,HN}{R,B}, ZD, S, ZDR): Use it.
196	* font/devps/*: All non-slanted fonts regenerated.
197	* NEWS: Updated.
198
1992002-09-16  Werner LEMBERG  <wl@gnu.org>
200
201	Add a site-specific font directory.
202
203	* Makefile.in (localfontdir, legacyfontdir): New variables.
204	(fontpath): Use them.
205	(MDEFINES, uninstall_dirs): Updated.
206	* Makefile.comm (.man.n): Add `LOCALFONTDIR' and `LEGACYFONTDIR'.
207	Remove `FONTPATH' and `MACROPATH'.
208
209	* src/roff/troff/troff.man, NEWS: Updated.
210	* doc/groff.texinfo (Font Directories): New section.
211	Other minor fixes.
212
213	* src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
214	src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
215	src/preproc/grn/grn.man: Minor fixes.
216
217	* src/devices/grohtml/post-html.cc (html_printer::do_tab_ts):
218	Remove unused variable.
219
2202002-09-11  Werner LEMBERG  <wl@gnu.org>
221
222	* doc/groff.texinfo, man/groff_font.man: Clarify argument of \N.
223	* man/groff_out.man: Fix documentation of 'N'.
224
2252002-09-09  Gaius Mulley  <gaius@glam.ac.uk>
226
227	* doc/Makefile.in (webpage.html): Depend on gnu.eps also.
228	* src/roff/troff/env.cc (indent): Emit html tag only if break_flag is
229	set.
230	* src/devices/grohtml/post-html.cc (text_glob::is_br_ni): Removed.
231	(text_glob::is_br, html_printer::lookahead_for_tables): Updated.
232	(html_printer::do_tab_ts): Call `emit_table_header' with `FALSE'.
233	* src/devices/grohtml/html-text.cc (html_text::start_tag) <P_TAG,
234	PRE_TAG>: Call `begin' with `FALSE'.
235
2362002-09-09  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
237
238	* src/libs/libgroff/string.cc (string::extract): Fix position of
239	terminating null byte.
240
2412002-09-08  Werner LEMBERG  <wl@gnu.org>
242
243	Add global option `nospaces' to tbl so that leading and trailing
244	spaces in data items are ignored.
245
246	* src/libs/libgroff/string.cc (string::remove_spaces): New member
247	function to remove leading and trailing spaces.
248	* src/include/stringclass.h: Updated.
249
250	* src/preproc/tbl/table.h (table): Add flag `NOSPACES'.
251
252	* src/preproc/tbl/main.cc (process_options): Handle `nospaces'
253	option.
254	Fix typo in error messages.
255	(process_data): Implement `nospaces' option.
256	* src/preproc/tbl/tbl.man, NEWS, doc/webpage.ms: Updated.
257
2582002-09-07  Werner LEMBERG  <wl@gnu.org>
259
260	* src/include/config.hin: Add `HAVE_ISATTY'.
261	* src/libs/libgroff/tmpfile.cc (xtmpfile_list): Drop `const' for
262	`fname' member.
263	* src/libs/libgroff/tmpname.cc: Include `time.h'.
264	* src/libs/libdriver/input.cc (Char): Add `operator==' and
265	`operator!=' for `char'.
266	* doc/groff.texinfo: Replace @ifnottex block for top node with
267	@ifhtml block.
268
2692002-09-06  Werner LEMBERG  <wl@gnu.org>
270
271	* doc/Makefile.in (.texinfo.html): Add -I switch.
272	* doc/groff.texinfo: Add @ifnottex block for top node to make
273	translation to HTML work.
274
2752002-09-05  Gaius Mulley  <gaius@glam.ac.uk>
276
277	* src/preproc/html/pre-html.cc (LETTER_LENGTH): Removed.
278	(get_papersize, determine_vertical_offset): Removed.
279	(char_buffer::do_image): Always specify letter size.
280	(main): Updated.
281	(imageList::createPage): Use -dDEVICEHEIGHTPOINTS instead of
282	-sPAPERSIZE.
283
2842002-09-05  Werner LEMBERG  <wl@gnu.org>
285
286	* doc/groff.texinfo, tmac/groff_man.man: Improve documentation of
287	default indentation.
288
2892002-09-04  Gaius Mulley  <gaius@glam.ac.uk>
290
291	* src/preproc/html/pre-html.cc (imageList::createPage): Use
292	-sPAPERSIZE for gs.
293	(generateImages): Clean up push-back buffer.
294
2952002-09-04  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
296
297	* doc/groff.texinfo: Minor fixes.
298
2992002-08-21  Gaius Mulley  <gaius@glam.ac.uk>
300
301	* src/preproc/html/pre-html.cc (DEFAULT_LINE_LENGTH): New macro.
302	(MAX_WIDTH, A4_LENGTH, A4_OFFSET, LETTER_OFFSET): Removed.
303	(gsPaper): Removed.
304	(determine_vertical_offset): Use LETTER_LENGTH.
305	(createPage): Moved to ...
306	(imageList::createPage): This.
307	Call gs with -dDEVICEWIDTHPOINTS to avoid cropping.
308	(imageList::getMaxX): New function.
309	(createImage): Moved to ...
310	(imageList::createImage): This.
311	(imageList::createImages): New function.
312	(generateImages): Read `maxx' directly.
313	Updated.
314	(scanArguments): Don't specify `gsPaper' for `-o'.
315	(makeTempFiles): Call `xtmpfile' with the last argument set to
316	`TRUE'.
317
3182002-08-24  Werner LEMBERG  <wl@gnu.org>
319
320	* src/include/nonposix.h (mkdir, WAIT, creat) [_MSC_VER]: Define.
321	(WAIT, _WAIT_CHILD) [!_MSC_VER]: Define.
322	* src/preproc/html/pre-html.cc (waitForChild): Use WAIT.
323	* src/preproc/html/pushback.cc: Include nonposix.h.
324	* src/roff/groff/pipeline.c: Define strcasecmp and strncasecmp
325	conditionally.
326
3272002-08-23  Werner LEMBERG  <wl@gnu.org>
328
329	Use $(OBJEXT) for the object file extension.
330
331	* Makefile.comm (.SUFFIXES): Add .obj.
332	(.cc.obj, .c.obj): New implicit rules.
333	* Makefile.in (OBJEXT): New variable, initialized from autoconf.
334	(MDEFINES): Add EXEEXT and OBJEXT.
335	* */Makefile.sub: s/.o/.$(OBJEXT)/.
336
3372002-08-22  Werner LEMBERG  <wl@gnu.org>
338
339	* INSTALL: Mention texinfo 4.2 as a prerequisite.
340
3412002-08-21  Gaius Mulley  <gaius@glam.ac.uk>
342
343	* src/devices/grohtml/post-html.cc (colType): Make enum global to
344	the file.
345	(html_printer::update_min_max, html_printer::add_table_end): New
346	methods.
347	(html_printer::lookahead_for_tables): Use them.
348	Reset page offset correctly.
349	(html_printer::~html_printer): Add creation of creator comment up.
350
3512002-08-20  Werner LEMBERG  <wl@gnu.org>
352
353	* tmac/an-old.tmac (T&): New dummy macro to avoid warning.
354	* man/groff_tmac.man: Fix typos.
355	* man/groff_font.man: Minor reordering.
356	* contrib/eqn2graph/eqn2graph.man (Tp): New macro.
357
3582002-08-18  Gaius Mulley  <gaius@glam.ac.uk>
359
360	Avoid endless loops while scanning for tables.
361
362	* src/devices/grohtml/post-html.cc (list::insert): Set
363	ptr->right->left.
364	(html_printer::next_horiz_pos): Add `text_glob' argument; update
365	all callers.
366	Return immediately if that argument is NULL.
367	(html_printer::calc_nf): Don't test if `g' is NULL.
368	(html_printer::lookahead_for_tables): Use
369	`glyphs.move_right_get_data'.
370	Don't test if `g' is NULL.
371
3722002-08-18  Gaius Mulley  <gaius@glam.ac.uk>
373
374	A better fix, replacing fix 2002-08-15, for increasing SIZE.
375
376	* src/devices/grohtml/post-html.cc (char_block): Make `buffer'
377	a pointer.
378	(char_block::char_block): Allocate `buffer'.
379	(char_buffer::add_string): Use it.
380
3812002-08-15  Werner LEMBERG  <wl@gnu.org>
382
383	* src/devices/grops/grops.man, src/devices/grolj4/grolj4.man,
384	src/devices/grodvi/grodvi.man: Document default line thickness.
385
3862002-08-15  Gaius Mulley  <gaius@glam.ac.uk>
387
388	* src/devices/grohtml/post-html.cc (char_block): Increase SIZE to
389	8192.
390
3912002-08-14  Werner LEMBERG  <wl@gnu.org>
392
393	* doc/webpage.ms: Updated.
394
3952002-08-09  Werner LEMBERG  <wl@gnu.org>
396
397	* src/roff/troff/node.cc (node::add_char): Call `freeze_space' for
398	unbreakable space.
399
4002002-08-08  Aaron Campbell  <aaron@monkey.org>
401
402	* src/preproc/pic/object.cc (object_spec::make_move): Fix typo
403	(&& -> &).
404
4052002-08-08  Werner LEMBERG  <wl@gnu.org>
406
407	* src/roff/troff/input.cc (read_rgb, read_cmy, read_cmyk): Call
408	tok.next().
409	(read_gray): Ditto.
410	Don't push back a space but a newline onto the stack.
411
4122002-08-07  Gaius Mulley  <gaius@glam.ac.uk>
413
414	Add fonts `CI', `CB', and `CBI' to grohtml which have been omitted
415	inadvertently.
416
417	* src/devices/grohtml/post-html.cc (html_printer::end_font,
418	html_printer::start_font): Handle them.
419	* src/devices/grohtml/html-text.cc (html_text::do_italic): Don't
420	reset bold and tt.
421	(html_text::do_bold): Don't reset italic and tt.
422	(html_text::do_tt, html_text::do_pre): Don't reset bold and italic.
423	* font/devhtml/DESC.proto: Add those fonts.
424	* font/devhtml/Makefile.sub (PROTOFONTS): Updated.
425
4262002-08-07  Werner LEMBERG  <wl@gnu.org>
427
428	* MORE.STUFF: Added gpresent.
429
430	* tmac/trace.tmac: Show nesting level by a corresponding amount of
431	whitespace before printing the logging message.
432
4332002-07-31  Colin Watson  <cjwatson@debian.org>
434
435	* src/devices/grohtml/html-table.cc (html_table::finish_row):
436	Initialize `n' to zero.  This fixes a segfault on ARM.
437
4382002-07-30  Werner LEMBERG  <wl@gnu.org>
439
440	* doc/grnexmpl.me: Remove calls to .st and .sc which are undefined.
441
4422002-07-29  Werner LEMBERG  <wl@gnu.org>
443
444	* src/preproc/pic/pic.y (print_arg, relative_path): Add missing
445	final semicolon.
446
4472002-07-28  Colin Watson  <cjwatson@debian.org>
448
449	* src/devices/grohtml/post-html (html_printer::troff_tag): Handle
450	`.ps'.
451	(html_printer::html_printer): Initialize `pointsize'.
452
4532002-07-26  Werner LEMBERG  <wl@gnu.org>
454
455	* doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Remove gnu.eps and
456	gnu.png.
457	(CLEANNOTSRCDIRADD): Add gnu.eps and gnu.png.
458	(gnu.eps): Add -rle switch to pnmtops.
459	(distfiles): Add gnu.eps and gnu.png.
460
4612002-07-25  Petter Reinholdtsen  <pere@hungry.com>
462
463	* src/libs/libdriver/input.cc (Char): Add const to `operator=='.
464	Add `operator!='.
465
4662002-07-24  Werner LEMBERG  <wl@gnu.org>
467
468	* doc/Makefile.in, doc/Makefile.sub (groff_bin_path): Don't use
469	' \+' but '  *' for sed.
470	(GROFF): Set GROFF_COMMAND_PREFIX to empty value.
471
4722002-07-23  Werner LEMBERG  <wl@gnu.org>
473
474	* doc/groff.texinfo: Document `papersize' keyword.
475	* NEWS, man/groff_font.man: Updated.
476
4772002-07-23  Colin Watson  <cjwatson@debian.org>
478
479	Extend papersize keyword to accept more than a single entry.  The
480	first valid will be used.
481
482	* src/libs/libgroff/font.cc (font::load_desc): Implement it.
483	(font::scan_papersize): Really skip final newline.
484	* src/preproc/html/pre-html.cc (get_papersize): Ditto.
485
4862002-07-23  Werner LEMBERG  <wl@gnu.org>
487
488	* configure.ac: Test for isatty.
489	* configure: Regenerated.
490	* src/include/posix.h: Check HAVE_ISATTY.
491	* src/roff/troff/input.cc [ISATTY_MISSING]: Removed.
492	* src/utils/lookbib/lookbib.cc: Include posix.h.
493	Don't declare isatty.
494
4952002-07-21  Werner LEMBERG  <wl@gnu.org>
496
497	* NEWS: Add `output' request.
498
499	* REVISION: Increased to 1.
500
501Version 1.18.0 released
502=======================
503
5042002-07-19  Gaius Mulley  <gaius@glam.ac.uk>
505
506	Allow internal glyph indices > 0xFF in grohtml for input characters.
507
508	* src/devices/grohtml/post-html.cc (to_unicode): Use `unsigned int'
509	as parameter.
510	(html_printer::add_to_sbuf): Use `unsigned int' as first parameter.
511	Updated all callers.
512	(html_printer::sbuf_continuation, html_printer::overstrike): Ditto.
513	(html_printer): Updated.
514
5152002-07-19  Werner LEMBERG  <wl@gnu.org>
516
517	* font/devhtml/R.proto: Updated to HTML 4, adding many glyphs.
518	* font/devutf8/R.proto: Adding some missing glyphs.
519	* font/devutf8/NOTES: Updated.
520
521	* tmac/dvi.tmac: Add more composite glyphs.
522	* tmac/html.tmac: Updated.
523
524	* man/groff_char.man: Add `sum' and `product' entities.
525
526	* NEWS: Updated.
527
5282002-07-18  Gaius Mulley  <gaius@glam.ac.uk>
529
530	Improved table, tab, and indenting support.
531
532	* src/roff/troff/input.cc (file_iterator::suppress_newline_flag,
533	string_iterator::suppress_newline_flag): Removed.  Updated all
534	function which have used it.
535
536	* src/roff/troff/env.cc: Include `input.h'.
537	(environment::add_node): Accept 0 as parameter.
538	(environment::add_html_tag): Add `force' parameter.
539	Updated all callers.
540	(environment::add_html_tag_tabs): Ditto.
541	For the moment, support left-aligned tabs only.
542	(environment::make_html_tag): New function.
543	(fill, no_fill): Set .br html tag additionally.
544	(environment::newline): Emit `eol.ce' or `eol' tag for html.
545	(environment::add_html_tag_eol): Removed.
546	(tab_stops::distance_to_next_tab): Add variant for handling
547	nextpos'.
548	(environment::distance_to_next_tab): Ditto.
549	Updated all callers.
550	(environment::handle_tab): Handle tabs for html.
551	
552	* src/roff/troff/env.h: Updated.
553
554	* src/roff/troff/div.cc: Updated all callers of
555	`environment::add_html_tag'.
556
557	* src/devices/grohtml/html-table.cc,
558	src/devices/grohtml/html-table.h: New files.
559
560	* src/devices/grohtml/html-text.cc (html_text): New members
561	`blank_para' and `start_space'.
562	(html_text::issue_tag): Don't emit TABLE_TAG.
563	Handle indentation for PRE_TAG and P_TAG.
564	(html_text::end_tag): Updated.
565	(html_text::table_is_void, html_text::issue_table_begin,
566	html_text::issue_table_end): Removed.
567	(html_text::do_push): Simplified.
568	[DEBUGGING]: Small fix.
569	(html_text::push_para): Add new parameter for indentation; updated
570	all callers.
571	Handle PRE_TAG.
572	(html_text::do_indent, html_text::do_table, html_text::done_table,
573	html_text::is_in_table): Removed.
574	(html_text::do_pre): Handle P_TAG also.
575	(html_text::shutdown): Handle p->indent.
576	(html_text::check_emit_text): Simplified.
577	(html_text::do_emittext): Reset `blank_para'.
578	(html_text::do_para): Add new parameter for indentation; updated
579	all callers.
580	(html_text::remove_indent): New function.
581	(html_text::do_space): Handle verbatim text properly.
582	(html_text::ever_emitted_text, html_text::starts_with_space,
583	html_text::remove_para_align): New functions.
584	(html_text::dump_stack_element, html_text::dump_stack): Updated.
585
586	* src/devices/grohtml/html_text.h (HTML_TAG): Remove TABLE_TAG.
587	Updated.
588
589	* src/devices/grohtml/post-html.cc: Include html-table.h.
590	(INDENTATION): Removed.
591	(text_glob): Added many `is_<foo>' functions.
592	Added table description `tab'.
593	Added `get_arg',`get_tab_args', `remember_table', and `get_table'
594	member functions.
595	(list): Add `insert' and `move_to' member functions.
596	(page): Add `insert_tag' member function.
597	(page::dump_page) [DEBUG_TABLES]: Improved.
598	(html_printer): Add `table' and `max_linelength' elements.
599	Add many `do_<foo>', `insert_<foo>', `next_horiz_pos',
600	`lookahead_for_tables', `shutdown_table', `calc_nf', `calc_po_in',
601	`remove_tabs', `remove_courier_tabs'.
602	(html_printer::emit_raw): Handle indentation.
603	(html_printer::do_center, html_printer::write_header): Updated.
604	(html_printer::is_courier_until_eol): Check for tag.
605	(html_printer::do_linelength): Handle max_linelength.
606	(html_printer::do_page_offset, html_printer::do_indentation): Handle
607	fill_on.
608	(html_printer::do_tempindent): Updated.
609	(html_printer::do_indentedparagraph): Removed.
610	(html_printer::do_indent): Simplified.
611	(html_printer::do_eol): Use `ever_emitted_text'.
612	(html_printer::do_flush, html_printer::do_links): Don't call
613	done_table.
614	(html_printer::do_break): Handle end_tempindent.
615	(html_printer::troff_tag): Get argument.
616	Don't handle `.ip'.
617	Handle `.tab-ts', `.tab-te', `.col', `tab', and `tab0' tags.
618	(html_printer::flush_page): Call `lookahead_for_tables'.
619	Don't call `done_table'.
620	(html_printer::add_to_sbuf): Always call do_indent.
621
622	* src/devices/grohtml/Makefile.sub: Updated.
623
624	* tmac/an-old.tmac (TP): Don't handle html device specially.
625	(an-do-tag-html): New function which will be used instead of
626	`an-do-tag' if html device is used.
627
628	* tmac/html.tmac: Call .po to pass default page offset to grohtml.
629
630	* tmac/s.tmac (@IP): Don't handle html device specially.
631	(@IP-html): New function which will be used instead of `@IP' if
632	html device is used.
633
634	* tmac/www.tmac (HTML-NS, HTML-TAG-NS): New auxiliary macros -- this
635	is a hack which will eventually vanish again.
636	(PIMG): Handle `-C' option correctly if not html.
637	(HR): Use HTML-NS.
638
6392002-07-17  Werner LEMBERG  <wl@gnu.org>
640
641	* src/utils/afmtodit/afmtodit.pl: Don't use `-P-' for invoking perl.
642
6432002-07-14  Eric S. Raymond  <esr@thyrsus.com>
644
645	* contrib/pic2graph/pic2graph.*: Use convert(1).
646	* contrib/eqn2graph/eqn2graph.*: Minor fixes.
647
6482002-07-14  Bernd Warken  <bwarken@mayn.de>
649
650	* tmac/groff_trace.man: New file.
651	* tmac/Makefile.sub: Updated.
652	* NEWS: Updated.
653
6542002-07-13  Werner LEMBERG  <wl@gnu.org>
655
656	* src/roff/groff/groff.man: Add some cross references.
657
6582002-07-12  Werner LEMBERG  <wl@gnu.org>
659
660	* src/roff/troff/input.cc (substring_request): Add warnings for
661	string indices out of range.
662
6632002-07-11  Werner LEMBERG  <wl@gnu.org>
664
665	* font/devdvi/generate/ec.map: Fix typo (`(l' -> `/l').
666	* font/devdvi/*EC: Regenerated.
667
6682002-07-10  Bernd Warken  <bwarken@mayn.de>
669
670	* man/groff_char.man: Updated and extended.
671
6722002-07-10  Werner LEMBERG  <wl@gnu.org>
673
674	* src/roff/troff/input.cc (length_macro): Renamed to...
675	(length_request): This.
676	Move call of `tok.next()' to the very end, otherwise the register
677	value hasn't been updated yet.
678	(init_input_requests): Updated.
679
6802002-07-09  Werner LEMBERG  <wl@gnu.org>
681
682	* src/roff/troff/input.cc (substring_macro): Renamed to...
683	(substring_request): This.
684	(init_input_requests): Updated.
685	* src/roff/troff/request.h: Updated.
686
6872002-07-08  Robert D. Goulding  <goulding@Princeton.EDU>
688
689	* src/roff/grog/grog.sh: Fix typo.
690
6912002-07-08  Werner LEMBERG  <wl@gnu.org>
692
693	* win32-diffs: Updated.
694
695	Handle `papersize' keyword properly in DESC.
696
697	* src/libs/libgroff/font.cc (font::scan_papersize): Fix argument
698	type.
699	Updated all callers.
700	* src/libs/libgroff/paper.cc: Add four more paper formats used by
701	grolj4.
702	* src/include/paper.h: Updated.
703
704	* src/devices/grolbp/lbp.cc: Remove unnecessary semicolons.
705	Other minor C syntax fixes.
706	(papersize, paperlength, paperwidth): Renamed to `user_*'.
707	(lbp_printer): Add `papersize', `paperlength', and `paperwidth'
708	members.
709	(lbp_printer::lbp_printer): Pass three arguments.
710	Set paper dimensions properly.
711	(make_printer, main): Updated.
712	(handle_unknown_desc_command): Fix error messages.
713	(main): Handle papersize keyword in DESC properly.
714
715	* src/devices/grolj4/lj4.cc (paper_size): Renamed to
716	`user_paper_size'.
717	(lbp_printer::lbp_printer): Pass an argument.
718	Set paper_size properly.
719	(handle_unknown_desc_command): Removed.
720	(make_printer, main): Updated.
721	* src/devices/grolj4/grolj4.man: Minor documentation fix.
722
723	* man/groff_font.man, NEWS: Updated.
724
7252002-07-07  Werner LEMBERG  <wl@gnu.org>
726
727	Integrated eqn2graph, contributed by Eric S. Raymond.
728
729	* contrib/eqn2graph/{Makefile.sub, eqn2graph.sh, eqn2graph.man}: New
730	files.
731	* Makefile.in, NEWS: Updated.
732
7332002-06-04  Werner LEMBERG  <wl@gnu.org>
734
735	Changing the substring request to make it fit better with other
736	string manipulation functions in other programming languages:
737	Index 0 is now the first character in the string, and index -1
738	indicates the last character.  Since this request didn't work
739	properly anyway in the last release, it doesn't harm too much to
740	change the syntax.
741
742	* src/roff/troff/input.cc (substring_macro): Use loops to get
743	the real string length (ignoring COMPATIBLE_SAVE and
744	COMPATIBLE_RESTORE) and offsets.
745	Implement change described above.
746
747	* man/groff_char.man, tmac/doc-common (doc-header), tmac/doc.tmac
748	(doc-do-Bd-args, doc-do-Bl-args): Changed accordingly.
749
750	* NEWS, doc/groff.texinfo, man/groff_diff.man: Updated.
751
7522002-06-03  Werner LEMBERG  <wl@gnu.org>
753
754	Make .chop work with .de1 and friends.  COMPATIBLE_SAVE and
755	COMPATIBLE_RESTORE are completely ignored.
756
757	* src/roff/troff/input.cc (char_list::set, char_list::get): New
758	functions.
759	(macro): `length' field renamed to `len'.
760	Added new field `empty_macro' (1 if macro is empty), to be used
761	instead of checking `len'.
762	Updated all callers.
763	(macro::empty): Updated.
764	(macro::length, macro::set, macro::get): New functions.
765	(macro::append): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
766	Set `empty_macro'.
767	(chop_macro): Check and remove trailing COMPATIBLE_SAVE/
768	COMPATIBLE_RESTORE pairs.
769	(asciify): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
770	* src/roff/troff/request.h: Updated.
771
772	* doc/groff.texinfo: Document .chop's behaviour better.
773
7742002-06-02  Werner LEMBERG  <wl@gnu.org>
775
776	* doc/pic.ms: Fix documentation for the addition of positions.
777
778	* tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18.
779
7802002-06-29  Werner LEMBERG  <wl@gnu.org>
781
782	Implementation of string arguments of the form \*[foo arg1 arg2 ...]
783
784	* src/roff/troff/input.cc (have_string_arg): New global variable.
785	(read_mode): New enumeration.
786	(read_escape_name): Use it.  Update all calls.
787	(read_long_escape_name): Use it.  Update all calls.
788	Set have_string_arg if appropriate.
789	(get_char_for_escape_name): Add parameter for handling space
790	character.
791	(interpolate_string_with_args, decode_string_args): New functions.
792	(get_copy, token::next): Call it if necessary.
793	(interpolate_string): Fix error message.
794
795	* NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
796	Document it.
797
7982002-06-24  Bernd Warken  <bwarken@mayn.de>
799
800	* man/groff_tmac.man: Updated and extended.
801
8022002-06-24  Werner LEMBERG  <wl@gnu.org>
803
804	* doc/pic.ms, src/preproc/pic/pic.man: Fix description of `:='.
805
8062002-06-23  Werner LEMBERG  <wl@gnu.org>
807
808	* doc/pic.ms: Improve documentation of composite block objects.
809
8102002-06-22  Werner LEMBERG  <wl@gnu.org>
811
812	* src/roff/troff/input.cc (init_registers): Add three registers
813	`seconds', `minutes', and `hours' to hold the current time.
814
815	* NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
816	Updated.
817
8182002-06-20  Werner LEMBERG  <wl@gnu.org>
819
820	Make \X accept both `\ ' and `\~', converting them to single space
821	characters.
822
823	* src/roff/troff/token.h (token): Add TOKEN_UNSTRETCHABLE_SPACE.
824	(token::unstretchable_space): New inline function.
825	* src/roff/troff/input.cc (token::next, token::delimiter,
826	token::description, token::add_to_node_list, token::process): Handle
827	TOKEN_UNSTRETCHABLE_NODE.
828	(encode_char): Handle tok.stretchable_space and
829	tok.unstretchable_space.
830
831	* NEWS, doc/groff.texinfo: Document it..
832
8332002-06-19  Werner LEMBERG  <wl@gnu.org>
834
835	* src/devices/grops/ps.cc (ps_printer::special): Fix error message.
836
837	* src/devices/grotty/tty.cc (tty_printer::special): Add `sgr'
838	keyword to enable/disable SGR output.
839	(tty_printer::change_fill_color): New function.
840	* NEWS, src/devices/grotty/grotty.man: Document `sgr' special.
841
842	* src/roff/troff/input.cc (output_request): Add missing `tok.next()'
843	call.
844
8452002-06-18  Werner LEMBERG  <wl@gnu.org>
846
847	Add a `color' request and a `.color' register to control usage of
848	colours.
849
850	* src/roff/troff/input.cc (disable_color_flag): Replaced with...
851	(color_flag): This (which is the inverse).
852	(activate_color): New function.
853	(main, init_input_requests): Updated.
854	* src/roff/troff/troff.h, src/roff/troff/node.cc
855	(troff_output_file::fill_color, troff_output_file::glyph_color):
856	Updated.
857
858	* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
859	Document the changes.
860
8612002-06-17  Colin Watson  <cjwatson@debian.org>
862
863	Circumvent bug in autoconf 2.53 regarding top_builddir.
864
865	* aclocal.m4 (GROFF_BUILDDIR): s/top_builddir/groff_top_builddir/.
866	* Makefile.in, doc/Makefile.in:
867	s/@top_builddir@/@groff_top_builddir@/.
868	* configure: Regenerated (with autoconf 2.53).
869
8702002-06-17  Werner LEMBERG  <wl@gnu.org>
871
872	* src/libs/libgroff/font.cc (font::load_desc): Fix computation of
873	`paperwidth' and `paperlength' for the `papersize' keyword.
874
8752002-06-16  P. Alejandro Lopez-Valencia  <dradul@007mundo.com>
876
877	* src/devices/grops/grops.man: Add info about Type 42 fonts.
878
8792002-06-15  Gaius Mulley  <gaius@glam.ac.uk>
880
881	* src/devices/grohtml/post-html.cc (html_printer::emit_raw,
882	html_printer::do_linelength, html_printer::do_pageoffset,
883	html_printer::do_indentation, html_printer::do_tempindent,
884	html_printer::do_break, html_printer::begin_page): Clear indented
885	text.
886	* tmac/html.tmac: Disable hyphenation.
887
8882002-06-15  Werner LEMBERG  <wl@gnu.org>
889
890	Don't produce HTML files if utility programs are missing.
891
892	* Makefile.in (make_html, make_install_html): New variables.
893	(MDEFINES): Updated.
894
895	* aclocal.m4 (GROFF_HTML_PROGRAMS): New function to test for HTML
896	utility programs.
897	* configure.ac: Use it.
898	* configure: Regenerated.
899
900	* doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Move webpage.html to...
901	(HTMLEXAMPLESFILES): This new variable.
902	(EXAMPLESIMAGEFILES): Renamed to...
903	(HTMLEXAMPLEIMAGEFILES): This.
904	(CLEANADD): Add HTMLEXAMPLEFILES.
905	(all): Use `make_html'.
906	(html): New target.
907	(install_data): Use `make_install_html'.
908	Move html stuff to...
909	(install_html): This new target.
910	(uninstall_sub): Updated.
911
9122002-06-14  Bernd Warken  <bwarken@mayn.de>
913
914	* src/roff/grog/Makefile.sub (grog): Renamed to...
915	(grog.old): This.
916	(grog): New rule to always install grog.sh as grog.
917
9182002-06-08  Bernd Warken  <bwarken@mayn.de>
919
920	* src/roff/grog/grog.pl: Fix typo.
921
9222002-06-07  Werner LEMBERG  <wl@gnu.org>
923
924	* doc/groff.texinfo: Add more info on .tr arguments.
925
9262002-06-05  Werner LEMBERG  <wl@gnu.org>
927
928	* NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated.
929
930	* aclocal.m4 (GROFF_MKSTEMP): Include unistd.h.
931	* configure: Regenerated.
932
9332002-06-05  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
934
935	* src/roff/troff/symbol.cc (table_sizes): Add more values.
936
937	* src/roff/grog/grog.pl, src/roff/grog/grog.sh: Recognize mom.
938
9392002-06-04  Werner LEMBERG  <wl@gnu.org>
940
941	* aclocal.m4 (GROFF_PAGE): Don't use `prefix' directly since it
942	is not initialized at the time we need it in case `--prefix' hasn't
943	been set.  Check for `ac_default_prefix' also.
944	Test for `papersize' keyword also and generalize allowed whitespace.
945	* configure: Regenerated.
946
947	* font/devps/Makefile.sub (DESC): Use `papersize' instead of
948	`paperlength'.
949
950	* src/libs/libgroff/Makefile.sub (version, revision): Replaced
951	with...
952	(src_version, src_revision): New variables to avoid overwriting
953	from parent make process.
954	(version.cc): Updated.
955
956	* src/preproc/html/pre-html.cc: Include paper.h and font.h.
957	(linebuf, linebufsize): New global variables.
958	(sys_fatal): Use `fatal' to abort properly.
959	(get_line): New function.
960	(get_resolution): Use it.
961	Improve error messages.
962	(get_papersize): Check `papersize' also.
963	Use `get_line'.
964	Improve error messages.
965
9662002-06-03  Werner LEMBERG  <wl@gnu.org>
967
968	* Makefile.comm (CLEANNOTSRCDIRADD): New target for files which
969	should be removed only if builddir is not srcdir.
970	(mostlyclean): Handle `CLEANNOTSRCDIRADD'.
971	(clean): Depend on `mostlyclean'.
972	(distclean): Depend on `clean'.
973	(realclean, extraclean): Depend on `distclean'.
974	(.y.cc, .y.o): Simplified.  The output files are no longer written
975	to srcdir but to builddir.
976	* Makefile.in (MDEFINES): Add `version' and `revision'.
977	(uninstall_dirs): Fix order of directories.
978	* doc/Makefile.sub (version, revision): Removed.
979	(CLEANADD): Removed grnexmpl.g, groff, groff-*.
980	Added `HTMLDOCFILES'.
981	(CLEANNOTSRCDIRADD): New target for grnexmpl.h, groff, groff-*.
982	* src/preproc/eqn/Makefile.sub, src/preproc/pic/Makefile.sub,
983	src/preproc/refer/Makefile.sub (YTABC, YTABH): Don't use `srcdir'
984	as prefix.
985
986	* doc/texinfo.tex (\authortt): New macro.
987	(\shortcontt): Define.
988	(\titlepage): Set \tt to \authortt while defining \authorfont.
989	(\appendixbox): New macro.
990	(\chapmacro, \appendixentry): Use \appendixbox to get even
991	indentation for letters.
992	(\summarycontents): Set \tt.
993	(\internalpagesize): Add two arguments for real paper width and
994	height as needed by pdfTeX.
995	(\letterpaper, \smallbook, \afourpaper, \afivepaper, \afourlatex):
996	Updated.
997	(\tempdima, \tempdimb): New temporary dimensions.
998	(\pagesizesyyy): Updated.
999
10002002-06-02  Werner LEMBERG  <wl@gnu.org>
1001
1002	Adding a new keyword `papersize' to the DESC file format (similar
1003	but not completely identical to grolbp's extension).  grops now has
1004	a -p command line option to override `papersize'.  Finally, grolbp
1005	has been adapted to the new syntax.
1006
1007	* src/libs/libgroff/paper.cc, src/include/paper.h: New files.  It
1008	defines and initializes the `papersizes[]' array with NUM_PAPERSIZES
1009	elements.
1010	* src/libs/libgroff/Makefile.sub (OBJS): Add `paper.o'.
1011	(CCSRCS): Add `paper.cc'.
1012
1013	* src/include/font.h (font): Add `papersize' element.
1014	* src/libs/libgroff/font.cc (font::unit_scale): New helper function.
1015	(font::scan_papersize): New function.
1016	(font::load_desc): Use it for handling `papersize' keyword.
1017	* src/libs/libgroff/fontfile.cc: Initialize `font::papersize'.
1018
1019	* src/devices/grops/ps.cc: Include paper.h.
1020	(user_paper_length): New global variable.
1021	(ps_printer): Use paper length as initializer.
1022	(make_printer): Updated.
1023	(main): Handle new `-p' option.
1024	* src/devices/grops/grops.man: Updated.
1025
1026	* src/devices/grolbp/lbp.cc: Include paper.h.
1027	s/papersizes/lbp_papersizes/.
1028	(set_papersize): Use new `papersizes' array.
1029	(handle_unknown_desc_command): Don't handle `papersize'.
1030	(main): Use `font::scan_papersize' for handling `-p' option.
1031	* src/devices/grolbp/grolbp.man: Updated.
1032
1033	* man/groff_font.man: Document `papersize'.
1034	* NEWS: Updated.
1035
10362002-05-30  Werner LEMBERG  <wl@gnu.org>
1037
1038	* src/devices/grops/TODO: Updated.
1039	* src/devices/grops/grops.man: More info on paper formats.
1040	* man/groff_font.man: Document `paperheight' and `paperwidth'.
1041
10422002-05-29  Werner LEMBERG  <wl@gnu.org>
1043
1044	* doc/Makefile.sub (CLEANADD): Add grnexmpl.g, groff, and groff-*
1045	to list only if srcdir != currdir.
1046	(distfiles): New target.
1047
1048	* Makefile.in (EXTRADIRS): Add font/devlj4/generate.
1049	(NOMAKEDIRS): New variable.
1050	(DISTDIRS): Use it.
1051
10522002-05-26  Werner LEMBERG  <wl@gnu.org>
1053
1054	Add .output request, similar to \! at top-level.
1055
1056	* src/roff/troff/input.cc (transparent): Remove unused declaration.
1057	(output_request): New function.
1058	(init_input_requests): Add it.
1059	Sorted.
1060	* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
1061	Document it.
1062
1063	* Makefile.in (MDEFINES): Add INSTALL_INFO.
1064	(prepare_examples): Fix typo.
1065	* doc/groff.texinfo (@direntry): Fix it.
1066
10672002-05-25  Werner LEMBERG  <wl@gnu.org>
1068
1069	Including the doc subdir into groff's Makefile system.
1070
1071	* aclocal.m4 (GROFF_INSTALL_INFO): New function.
1072	* configure.ac: Use it.
1073	Generate `doc/Makefile'.
1074	* configure: Regenerated.
1075
1076	* Makefile.in (infodir, INSTALL_INFO): New variables.
1077	(MDEFINES, uninstall_dirs): Updated.
1078	(OTHERDIRS): Add `doc'.
1079	* Makefile.comm (CLEANDIRADD): New variable.
1080	(mostlyclean): Use it.
1081
1082	* doc/Makefile.sub, doc/Makefile.in: New files.
1083	* doc/Makefile: Removed.
1084
1085	* NEWS, INSTALL: Updated.
1086
10872002-05-24  Werner LEMBERG  <wl@gnu.org>
1088
1089	* doc/homepage.ms: Renamed to ...
1090	* doc/webpage.ms: This.
1091	Use `.NHR'.
1092
10932002-05-23  Werner LEMBERG  <wl@gnu.org>
1094
1095	Integrating the `mom' macro package, contributed by Peter Schaffter
1096	<df191@ncf.ca>.
1097
1098	* contrib/mom/*: New subdirectory tree.
1099	* Makefile.in (docdir, exampledir, htmldocdir): New variables to
1100	be used for documentation files.
1101	(MDEFINES, uninstall_dirs): Use them.
1102	(OTHERDIRS): Add contrib/mom.
1103	* Makefile.comm (.man.n): Add @DOCDIR@, @EXAMPLEDIR@, and
1104	@HTMLDOCDIR@.
1105	* MANIFEST, NEWS: Updated.
1106
11072002-05-22  Gaius Mulley  <gaius@glam.ac.uk>
1108
1109	Change syntax of \O: \O[0] suppresses output, \O[1] enables output
1110	if at outer level; at start-up we are at outer level.
1111
1112	* src/roff/troff/input.cc (do_suppress): Implement it.
1113	Simplify \O[3].
1114
1115	Add option -p to show progress information.
1116	pre-grohtml will now render only one page at a time, reducing the
1117	size of needed disk resources enormously.
1118
1119	* src/preproc/html/pre-html.cc (imagePageStem): Replaced with...
1120	(imagePageName): New global variable.
1121	(psPageName, show_progress, currentPageNo): New global variables.
1122	(html_system): Close saved stderr and stdout handles.
1123	(write_end_image): Accept a parameter to control \O escape.
1124	(write_start_image): Adapted to new \O meaning.
1125	(char_buffer::write_upto_newline): Updated.
1126	(createAllPages): Replaced with...
1127	(createPage): This new function to create a single page for images.
1128	It uses `psselect' from the psutils package.
1129	(removeAllPages): Removed.
1130	(createImage): Updated.
1131	Handle progress display.
1132	(char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Removed.
1133	(scanArguments): Add option -p.
1134	(makeTempFiles): Updated to create temp files for psPageName and
1135	imagePageName.
1136	(removeTempFiles): Removed.
1137	(main): Updated.
1138
1139	* src/devices/grohtml/post-html.cc (header_desc::write_headings,
1140	html_printer::write_header): Append `\0' to `buffer'.
1141	(html_printer::do_eol): Depend on `current_paragraph->emitted_text'.
1142	(main): Handle -p.
1143	* src/devices/grohtml/html-text.cc (html_text::dump_stack_element):
1144	Handle `text_emitted'.
1145	(html_text::table_is_void): Slightly rewritten.
1146	(stop): New external symbol.
1147	(html_text::do_push) [DEBUGGING]: Use it and simplify.
1148	(html_text::shutdown): Call `dump_stack'.
1149	(html_text::do_space): Rewritten.
1150	* src/devices/grohtml/grohtml.man: Document -p and the need of
1151	`psselect'.
1152
1153	* tmac/www.tmac (DC, HTML-DO-IMAGE, HTML-IMAGE-END): Updated to
1154	new \O syntax.
1155	Call \O[0] if `ps4html' is active.
1156	* tmac/s.tmac (@EQ, @EN): Handle html better.
1157	(@TS, TE): Ditto.
1158	* tmac/html.tmac: Don't use black for background colour.
1159
1160	* src/roff/troff/node.cc: Include `div.h'.
1161	(troff_output_file::really_print_line): Don't use `is_on'.
1162	(troff_output_file::word_marker, troff_output_file::flush_tbuf
1163	troff_output_file::check_charinfo,
1164	troff_output_file::put_char_width, troff_output_file::put_char,
1165	troff_output_file::determine_line_limits, troff_output_file::draw,
1166	real_output_file::begin_page, glyph_color_node::tprintf,
1167	fill_color_node::tprint, hline_node::tprint, vline_node::tprint):
1168	Use `is_on'.
1169	(troff_output_file::really_on): Call `do_motion'.
1170	(suppress_node::tprint): Use `get_page_number' instead of `%'
1171	register.
1172	Call `reset_output_registers' conditionally on `is_on'.
1173
1174	* doc/groff.texinfo: Document new syntax of \O.
1175	* NEWS, man/groff_diff.man: Updated.
1176
11772002-05-22  Werner LEMBERG  <wl@gnu.org>
1178
1179	* MORE.STUFF: Add info about David Frey's deroff implementation.
1180	Mention troff.org.
1181
11822002-05-16  Werner LEMBERG  <wl@gnu.org>
1183
1184	Pic's `with' attribute now accepts positions.
1185
1186	* src/preproc/pic/pic.y: Make `.', BOX, CIRCLE, ELLIPSE, ARC, LINE,
1187	ARROW, SPLINE, and `[' left-associative tokens to fix shift/reduce
1188	conflicts.
1189	(object_spec): Add rule for `WITH' and `position'.
1190	(relative_path): Give `corner' the precedence of `CHOP'.
1191	* src/preproc/pic/object.h (path): New members `pos' and
1192	`is_position'.
1193	* src/preproc/pic/object.cc: Updated initializers of `path'.
1194	(path::follow): Handle `is_position'.
1195
1196	* doc/pic.ms: Completely updated grammar description.
1197	Many typographical improvements.
1198
11992002-05-15  Werner LEMBERG  <wl@gnu.org>
1200
1201	* src/roff/troff/env.cc(hyphen_trie::hpf_getc): Accept ^^x (char
1202	code of x in range 0-127) also.
1203	* doc/groff.texinfo, man/groff_diff.man: Updated.
1204
1205	Added keywords `north', `south', `east', and `west' for corners
1206	in pic.
1207
1208	* src/preproc/pic/lex.cc (lookup_keyword): Add NORTH, SOUTH, EAST,
1209	and WEST.
1210	(yylex): Handle them.
1211	* src/preproc/pic/pic.y: Add tokens NORTH, SOUTH, EAST, and WEST.
1212	(corner): Handle them.
1213
12142002-05-14  Werner LEMBERG  <wl@gnu.org>
1215
1216	* src/devices/grops/grops.man: Clarify handling of `download' file.
1217
12182002-05-11  Werner LEMBERG  <wl@gnu.org>
1219
1220	Adding `warnscale' and `spreadwarn' requests, based on a patch from
1221	Jeffrey Friedl <jfriedl@yahoo.com>.
1222
1223	* src/roff/troff/input.cc (spread_limit, warn_scale,
1224	warn_scaling_indicator): New global variables.
1225	(warnscale_request, spreadwarn_requests): New functions.
1226	(main): Initialize `warn_scale' and `warn_scaling_indicator'.
1227	(init_input_requests): Updated.
1228	(error_type): Add `OUTPUT_WARNING'.
1229	(do_error): Handle it.
1230	(output_warning): New warning function which shows output location.
1231	* src/roff/troff/env.h (spread_limit): New external variable.
1232	* src/roff/troff/env.cc (environment::choose_breakpoint): Use
1233	`output_warning'.
1234	(distribute_space): Emit warning if added space is larger than
1235	`spread_limit'.
1236	(environment::possibly_break_line): Emit warning if a line can't
1237	be adjusted on both sides.
1238
1239	* doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it.
1240
12412002-05-08  Werner LEMBERG  <wl@gnu.org>
1242
1243	* src/roff/troff/node.cc (special_node::special_node): Use
1244	env_definite_font(curenv) instead of curenv->get_font().  Otherwise
1245	\X''\% crashes, for example.
1246
1247	* doc/groff.texinfo: Document \! and \? used at top-level.
1248
12492002-05-06  Werner LEMBERG  <wl@gnu.org>
1250
1251	* src/preproc/pic/pic.man: Fix some keyword syntax.
1252	Other minor typographical fixes.
1253
1254	* src/roff/groff/groff.man: Fix typos.
1255
12562002-05-04  Werner LEMBERG  <wl@gnu.org>
1257
1258	* src/roff/groff/groff.man ([ShortOpt]): Renamed to...
1259	(ShortOpt[]): This to avoid problems with refer.
1260
1261	* doc/pic.ms: Fix typo.
1262	Fix pic grammar description.
1263
1264	* tmac/an-old.tmac (ne): Use de1, not de.
1265
12662002-05-03  Werner LEMBERG  <wl@gnu.org>
1267
1268	* doc/groff.texinfo: Finished separation of glyphs and characters.
1269	Don't use the string `Appendix' for appendix headers (both in
1270	the text and the table of contents).
1271	* man/groff_tmac.man, src/roff/troff/troff.man: Fix order of tmac
1272	directories.
1273
1274	Use registers LL and LT (similar to -ms) for controlling the
1275	length of title and line, respectively, in the -man and -mdoc
1276	macro packages.
1277
1278	* tmac/doc-ditroff (doc-setup-page-layout), tmac/doc-nroff
1279	(doc-setup-page-layout): Use \n[LL] and \n[LT].
1280	* tmac/an-old.tmac: Set \n[LL] and \n[LT] if not defined.
1281	(TH): Use \n[LL].
1282	(an-header, an-p-footer): Use \n[LT].
1283	* NEWS, tmac/groff_man.man, tmac/groff_mdoc.man,
1284	doc/groff.texinfo: Document it.
1285
12862002-05-02  Werner LEMBERG  <wl@gnu.org>
1287
1288	* doc/fdl.texi: New file.
1289	* doc/groff.texinfo: Include it.
1290	Define and use @copying.
1291	Starting with separating glyph, symbol, and character.
1292
12932002-04-27  Werner LEMBERG  <wl@gnu.org>
1294
1295	* Makefile.in (EXEEXT): Set it.
1296	* src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script
1297	programs.
1298
1299	* src/include/nonposix.h: Define GS_NAME.
1300	* src/preproc/html/pre-html.cc (createAllPages): Use GS_NAME.
1301
1302	Some preliminary changes for EMX support under OS/2.
1303
1304	* src/preproc/pic/main.cc (main), src/roff/groff/pipeline.c: Add
1305	__EMX__ similar to __MSDOS__.
1306	* src/utils/indxbib/indxbib.cc (main) [__EMX__]: Use `unlink'.
1307
13082002-04-25  Werner LEMBERG  <wl@gnu.org>
1309
1310	* doc/groff.texinfo: Integrated groff_out.man.
1311	Some macro fixes.
1312
13132002-04-23  Werner LEMBERG  <wl@gnu.org>
1314
1315	* man/groff_out.man: Minor fixes.
1316
13172002-04-23  Werner LEMBERG  <wl@gnu.org>
1318
1319	* doc/groff.texinfo: Moving @cindex entries after @Def* to get
1320	correct page references.
1321	Fixed many index entries.
1322
13232002-04-23  Bernd Warken  <bwarken@mayn.de>
1324
1325	* man/roff.man: Enlarged.
1326
13272002-04-22  Werner LEMBERG  <wl@gnu.org>
1328
1329	* doc/groff.texinfo: More examples, other fixes.
1330
13312002-04-20  Werner LEMBERG  <wl@gnu.org>
1332
1333	* src/roff/troff/input.cc (pipe_output): Multiple calls to `pi'
1334	will now form a chain, e.g.
1335
1336	  .pi foo
1337	  .pi bar
1338
1339	is now the same as
1340
1341	  .pi foo | bar
1342
1343	This is for compatibility with plan 9's troff.
1344
1345	* tmac/tty.tmac: Set default tab values to 0.8i to be compatible
1346	with UNIX troff.
1347	* NEWS: Updated.
1348
1349	* doc/groff.texinfo: Add documentation of remaining requests and
1350	registers.
1351
13522002-04-19  Werner LEMBERG  <wl@gnu.org>
1353
1354	* doc/groff.texinfo: Add documentation of remaining escapes.
1355
1356	* font/devdvi/generate/tc.map: Remove entry for `sr'.
1357	* font/devdvi/*TC: Regenerated.
1358
13592002-04-18  Werner LEMBERG  <wl@gnu.org>
1360
1361	* src/roff/troff/input.cc (token::next): Make \H behave consistently
1362	if not in compatibility mode, i.e., increment relative to the
1363	previous height.
1364	* doc/groff.texinfo: Updated accordingly.
1365
13662002-04-17  Werner LEMBERG  <wl@gnu.org>
1367
1368	* doc/groff.texinfo: Document \\, \e, \E, \., and \c.
1369
13702002-04-16  Bernd Warken  <bwarken@mayn.de>
1371
1372	* src/roff/groff/groff.man: Improve documentation of -P option.
1373	Other minor fixes.
1374
13752002-04-15  Werner LEMBERG  <wl@gnu.org>
1376
1377	Add new escape \F to switch font family.
1378
1379	* src/roff/troff/input.cc (token::next): Handle \F.
1380	* src/roff/troff/env.cc (environment::set_family): Handle
1381	`interrupted' flag.
1382	* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
1383	Document it.
1384
13852002-04-14  Werner LEMBERG  <wl@gnu.org>
1386
1387	* tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of
1388	spaces in tags.
1389
13902002-04-13  Werner LEMBERG  <wl@gnu.org>
1391
1392	Implement \f[] as an alternative to \fP.  Change \mP and \MP to
1393	\m[] and \M[], respectively.
1394
1395	* src/roff/troff/symbol.cc (EMPTY_SYMBOL): New global variable.
1396	(symbol::symbol): Handle NULL string and empty string differently.
1397	* src/roff/troff/symbol.h (symbol::is_empty): New inline function.
1398	* src/roff/troff/input.cc (read_escape_name, read_long_escape_name):
1399	Add optional parameter.
1400	Updated calling functions.
1401	(get_copy, do_glyph_color, do_fill_color, token::next): Use
1402	`symbol::is_empty'.
1403	* src/roff/troff/env.cc (environment::set_font): Ditto.
1404
1405	* src/preproc/pic/troff.cc (troff_output::set_fill,
1406	troff_output::reset_color: Updated.
1407
1408	* tmac/www.tmac: Updated.
1409
1410	* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo,
1411	doc/homepage.ms, src/devices/grotty/grotty.man, tmac/groff_www.man:
1412	Updated.
1413
1414	* tmac/Xps.tmac: Remove some redundant code.
1415
1416	* tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac,
1417	tmac/dvi.tmac, man/roff.man, man/groff_out.man, man/groff.man,
1418	man/groff_diff.man, src/roff/groff/groff.man: Replace \f[P] with
1419	\f[].
1420
14212002-04-13  Bernd Warken  <bwarken@mayn.de>
1422
1423	* src/include/printer.h, src/libs/libdriver/printer.cc
1424	(printer::change_fill_color): New member function.
1425	* src/libs/libdriver/input.cc (parse_D_command): Use it.
1426
14272002-04-12  Werner LEMBERG  <wl@gnu.org>
1428
1429	* doc/groff.texinfo: Completed pass on gtroff reference.
1430
14312002-04-11  Werner LEMBERG  <wl@gnu.org>
1432
1433	* doc/groff.texinfo: More fixes.
1434
14352002-04-11  Bernd Warken  <bwarken@mayn.de>
1436
1437	* src/include/color.h: Decorate with `const'.
1438	Use `size_t'.
1439	Include `stddef.h'.
1440	* src/libs/libgroff.color.cc: Decorate with `const'.
1441	Use `size_t'.
1442	(color::color): Initialize members.
1443	* src/libs/libdriver/input.cc (parse_D_command): Handle `f'
1444	command according to the documentation.
1445
1446	* man/groff_out.man: Updated.
1447	Minor fixes.
1448
14492002-04-11  Gaius Mulley  <gaius@glam.ac.uk>
1450
1451	* src/preproc/html/pre-html.cc (write_start_image): Remove
1452	redundant output.
1453	* tmac/www.tmac (DC, HTML-DO-IMAGE): Ditto.
1454
1455	* src/devices/grohtml/post-html.cc (page::add_and_encode): Using
1456	\C'hy' caused an assertion failure.
1457
1458	* src/roff/troff/env.cc (environment::environment): Initialize
1459	`emitted_node'.
1460	(environment::copy): Handle `ignore_next_eol' and `emitted_node'.
1461
14622002-04-10  Werner LEMBERG  <wl@gnu.org>
1463
1464	* man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1465	Document pvs request and .pvs register.
1466
14672002-04-09  Werner LEMBERG  <wl@gnu.org>
1468
1469	* doc/groff.texinfo: Improve and fix documentation of diversions
1470	and environments.
1471
14722002-04-08  Werner LEMBERG  <wl@gnu.org>
1473
1474	* doc/groff.texinfo: Fix documentation of drawing functions.
1475	Other minor fixes.
1476
14772002-04-07  Werner LEMBERG  <wl@gnu.org>
1478
1479	* doc/groff.texinfo: Better documentation of double quotes as
1480	arguments.
1481	Other minor fixes.
1482
14832002-04-06  Werner LEMBERG  <wl@gnu.org>
1484
1485	* man/groff_font.man: Document names of special characters better.
1486	* doc/groff.texinfo: Minor improvements.
1487
1488	* tmac/lbp.tmac: Load latin1.tmac.
1489	* tmac/X.tmac, tmac/Xps.tmac: Load latin1.tmac or cp1047.tmac.
1490
1491	* font/devX*/*: Regenerated (all chars > 0x80 removed).
1492
14932002-04-05  Werner LEMBERG  <wl@gnu.org>
1494
1495	* tmac/tty.tmac: Don't use shc request.
1496	* tmac/latin1.tmac, tmac/cp1047.tmac: Translate soft hyphen to `\%'.
1497	* NEWS: Updated.
1498
1499	* man/groff_diff.man: Minor fixes.
1500
1501	* font/devlbp/*: Remove all `charXXX' entities.
1502
1503	* src/libs/libgroff/font.cc (font::~font): Deallocate
1504	`special_device_coding'.
1505	(font::load): Use `new' for allocating `special_device_coding'.
1506	* src/libs/libgroff/nametoindex.cc (character_indexer::lookup_char):
1507	Removed unused member.
1508
15092002-04-05  Werner LEMBERG  <wl@gnu.org>
1510
1511	* src/drivers/grops/psrm.cc (skip_possible_newline): New function.
1512	(resource_manager::do_begin_binary,
1513	resource_manager::do_begin_data): Use it.
1514
1515	* doc/texinfo.tex: Updated to version 4.2.
1516
1517	* src/roff/troff/token.h: Add TOKEN_ZERO_WIDTH_BREAK for `\:'.
1518	(token::zero_width_break): New inline function.
1519	* src/roff/troff/input.cc (token::next): Use it.
1520	(token::description): Updated.
1521	(encode_char): Ignore `\%', `\&', `\)', and `\:'.
1522	(token::add_to_node_list, token::process): Use it.
1523	* NEWS, doc/groff.texinfo: Updated.
1524
1525	* src/preproc/eqn/over.cc (over_box::output): Fix typo.
1526	* tmac/tty.tmac: Add missing backslash.
1527
15282002-04-04  Tadziu Hoffmann  <hoffmann@usm.uni-muenchen.de>
1529
1530	* src/preproc/eqn/box.cc (set_script_size, box::top_level): Use
1531	`.ps' register instead of `.s' to handle fractional point sizes.
1532	* src/preproc/eqn/limit.cc (limit_box::compute_metrics,
1533	limit_box::output): Ditto.
1534	* src/preproc/eqn/other.cc (size_box::compute_metrics,
1535	size_box::output): Ditto.
1536	* src/preproc/eqn/over.cc (over_box::compute_metrics,
1537	over_box::output): Ditto.
1538	* src/preproc/eqn/script.cc (script_box::compute_metrics,
1539	script_box::output): Ditto.
1540	* src/preproc/eqn/sqrt.cc (sqrt_box::compute_metrics,
1541	sqrt_box::output): Ditto.
1542
15432002-04-03  Michael Selway  <mas@ssl.co.uk>
1544
1545	* src/drivers/grops/psrm.cc (resource_manager::do_begin_binary):
1546	Fix typo.
1547
15482002-04-03  Werner LEMBERG  <wl@gnu.org>
1549
1550	* doc/homepage.ms: Reduce title size.
1551	* doc/groff.texinfo: Fix documentation of .t register.
1552	Fix handling of colon.
1553	Fix `\' vs. `\\'.
1554
1555	* src/roff/troff/input.cc (exit_troff): Emit LAST_PAGE_EJECTOR
1556	only if page length is positive to avoid a loop.
1557
1558	* tmac/an-old.tmac (ne): Increase page length to avoid problems with
1559	tbl.
1560
15612002-04-02  P. Alejandro Lopez-Valencia  <dradul@yahoo.com>
1562
1563	* src/include/nonposix.h, src/roff/groff/pipeline.c:
1564	s/__CYGWIN32__/__CYGWIN__/.
1565
15662002-03-28  Gaius Mulley  <gaius@glam.ac.uk>
1567
1568	* doc/gnu.xpm: New image contributed by Emily Mulley.
1569	* doc/Makefile (gnu.eps, gnu.png): Use pnmdepth.
1570	(homepage.html): Be dependent on gnu.eps.
1571	* doc/homepage.ms: Updated to new image.
1572
1573	* src/devices/grohtml/post-html.cc (html_printer): New member
1574	`sbuf_prev_hpos'.
1575	(html_printer::flush_sbuf, html_printer::set_char): Set it.
1576	(html_printer::sbuf_continuation): Use it.
1577
15782002-03-28  Werner LEMBERG  <wl@gnu.org>
1579
1580	* src/libs/libgroff/getopt.c: Updated to latest version.
1581
1582	* tmac/README: More on hyphen.tex license.
1583
15842002-03-26  Larry Kollar  <kollar@alltel.net>
1585
1586	* doc/groff.texinfo: Add documentation of most missing requests.
1587
15882002-03-25  Werner LEMBERG  <wl@gnu.org>
1589
1590	Add three glyphs `t+-', `tmu', and `tdi' which are textual variants
1591	of `+-', `mu', and `di', respectively.
1592
1593	* font/devascii/R.proto, font/devutf8/R.proto,
1594	font/devlatin1/R.proto, font/devhtml/R.proto,
1595	font/devcp1047/R.proto, font/devlpb/*: Add them.
1596	* font/devps/generate/textmap: Ditto.
1597	* font/devps/*: Regenerated.
1598	* font/devlj4/generate/text.map: Add them.
1599	* font/devlj4/*: Regenerated.
1600	* font/devdvi/generate/tc.map: Use them.
1601	* font/devdvi/generate/texsy.map: Add them.
1602	* font/devdvi/*: Regenerated.
1603	* font/devX*/*: Regenerated.
1604
1605	* tmac/latin1.tmac, tmac/cp1047.tmac, tmac/tty.tmac,
1606	tmac/tty-char.tmac: Updated.
1607
1608	* NEWS, man/groff_char.man: Updated.
1609
16102002-03-24  Werner LEMBERG  <wl@gnu.org>
1611
1612	* tmac/dvi.tmac, tmac/X.tmac, tmac/ps.tmac, tmac/html.tmac,
1613	tmac/lj4.tmac, tmac/tty.tmac: Replace most `.char' with `.fchar'.
1614	* tmac/ec.tmac: Remove `.rchar' calls (no longer necessary since
1615	we use `.fchar' in dvi.tmac.
1616	* tmac/dvi.tmac: Improve definition of \[Fo] and \[Fc].
1617	* tmac/Xps.tmac: Simplify some char definitions.
1618	Add definition for \[f/].
1619	* man/groff_char.man: Updated for new X.tmac.
1620
1621	* tmac/README: New file.
1622
16232002-03-23  Phil Lobbes  <phil@perkpartners.com>
1624
1625	* Makefile.comm (.y.o): New rule for make on Solaris 2.5.1 -- the
1626	internal .y.o rule took precendence over the .y.cc rule, compiling
1627	the yacc files with gcc instead of g++.
1628
16292002-03-23  Werner LEMBERG  <wl@gnu.org>
1630
1631	* tmac/dvi.tmac: Add replacement font for `CB'.
1632
1633	* tmac/doc.tmac: s/request/macro/ in messages.
1634	(doc-generic-macro): Improve error message.
1635	* tmac/groff_mdoc.man: Minor improvements.
1636
16372002-03-22  Werner LEMBERG  <wl@gnu.org>
1638
1639	* doc/groff.texinfo: Document possible conflict between `tr' and
1640	`char' requests.
1641
16422002-03-21  Werner LEMBERG  <wl@gnu.org>
1643
1644	Improve handling of hyphenation patterns.  It is now possible to
1645	use most of TeX's pattern files unmodified.  To make the process
1646	more flexible, a new request `hpfcode' has been added which
1647	provides a character code mapping for the `hpf' request.  See
1648	comment before hpf_getc() for more details.
1649
1650	* src/roff/troff/env.cc (insert_hyphenation, hpf_getc): New
1651	functions.
1652	(read_patterns_file): Additional parameter for exception dictionary.
1653	Extended to recognize \pattern, \hyphenation, and \endinput.
1654	(do_hyphenation_patterns_file): Updated.
1655	* src/roff/troff/env.h (hpf_code_table): New extern.
1656
1657	* src/roff/troff/input.cc (hpf_code_table): New array.
1658	(init_hpf_code_table, hyphenation_patterns_file_code): New
1659	functions.
1660	(hyphenation_code): Handle translation from `trin' correctly.
1661	(main, init_input_requests): Updated.
1662	(charinfo::set_translation): Handle hyphenation code also.
1663
1664	* src/roff/troff/charinfo.h (charinfo::get_translation_input): New
1665	inline function.
1666
1667	* src/roff/troff/env.cc (WORD_MAX): Reduced to 256 since `unsigned
1668	char' is used for offsets in hyphenation exceptions.
1669
1670	* tmac/hyphen.us: Replace with contents of unmodified `hyphen.tex'.
1671
1672	* NEWS, man/groff_diff.man, man/groff.man: Document it.
1673
16742002-03-20  Larry Kollar  <kollar@alltel.net>
1675
1676	* doc/groff.texinfo: Add documentation for `hpfa' and `trin'
1677	requests.
1678
16792002-03-18  Werner LEMBERG  <wl@gnu.org>
1680
1681	* tmac/html.tmac: Fix serious typo.
1682
16832002-03-17  Larry Kollar  <kollar@alltel.net>
1684
1685	* doc/groff.texinfo: Add documentation for `writec' request.
1686
16872002-03-17  Werner LEMBERG  <wl@gnu.org>
1688
1689	Added request `hpfa' to append hyphenation patterns.
1690
1691	* src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
1692	parameter `append'.
1693	(hyphenation_patterns_file): Renamed to...
1694	(do_hyphenation_patterns_file): This.
1695	(hyphenation_patterns_file, hyphenation_patterns_file_append): New
1696	functions.
1697	(init_hyphen_requests): Updated.
1698	* NEWS, man/groff.man, man/groff_diff.man: Document it.
1699
17002002-03-16  Werner LEMBERG  <wl@gnu.org>
1701
1702	Added request `writec' in analogy to `tmc'.
1703
1704	* src/roff/troff/input.cc (write_request): Renamed to...
1705	(do_write_request): This.
1706	Added one parameter.
1707	(write_request, write_request_continue): New functions.
1708	(init_input_requests): Updated.
1709	* NEWS, man/groff.man, man/groff_diff.man: Document it.
1710
1711	* font/devdvi/DESC.in (sizes): Allow all sizes in the range
1712	5-10000pt.
1713	* NEWS: Document it.
1714
17152002-03-15  Werner LEMBERG  <wl@gnu.org>
1716
1717	* man/groff.man: Add writem request.
1718
1719	Add request `trin' (translate input) to make `.asciify' work
1720	correctly.  This is necessary since `charXXX' entity names are no
1721	longer hardcoded in font definition files.
1722
1723	* src/roff/troff/charinfo.h (charinfo): Add `asciify_code' and
1724	`translate_input' members.
1725	(charinfo::set_asciify_code, charinfo::get_asciify_code,
1726	charinfo::set_translation_input): New methods.
1727	(charinfo::set_translation): Add third argument.
1728	* src/roff/troff/input.cc (charinfo:set_translation): Set
1729	`asciify_code'.
1730	(do_translate): Add second argument.
1731	(translate_input): New function.
1732	(init_input_requests): Updated.
1733	* src/roff/troff/node.cc (glyph_node::asciify,
1734	composite_node::asciify): Use `get_asciify_code'.
1735
1736	* tmac/cp1047.tmac, tmac/latin1.tmac: Use `trin'.
1737
1738	* NEWS, man/groff.man, man/groff_diff.man: Updated.
1739
17402002-03-14  Larry Kollar  <kollar@alltel.net>
1741
1742	* doc/groff.texinfo: Improve documentation of .RS and .RE.
1743
17442002-03-14  Werner LEMBERG  <wl@gnu.org>
1745
1746	Add a new request `sizes' similar to the `sizes' command in DESC
1747	files.
1748
1749	* src/roff/troff/env.cc (override_sizes): New function.
1750	(init_env_requests): Use it.
1751	* src/roff/troff/token.h: Export `read_string'.
1752	* NEWS, man/groff_diff.man, man/groff.man: Document it.
1753
17542002-03-12  Werner LEMBERG  <wl@gnu.org>
1755
1756	* doc/groff.texinfo: More fixes for texinfo 4.1 and higher.
1757
17582002-03-10  Werner LEMBERG  <wl@gnu.org>
1759
1760	* tmac/pspic.tmac: Add support for -Tdvi.
1761	* tmac/dvi.tmac: Include pspic.tmac.
1762	* src/devices/grodvi/grodvi.man: Document it.
1763	* NEWS: Updated.
1764
1765	* font/devlj4/generate/Makefile: Fix URL of metric files.
1766
17672002-03-09  Werner LEMBERG  <wl@gnu.org>
1768
1769	* PROBLEMS: The static constructor bug has been fixed in z/OS V1R3.
1770
17712002-03-09  Larry Kollar  <kollar@alltel.net>
1772
1773	* tmac/groff_ms.man: Add documentation for RS and RE macros.
1774
17752002-03-08  Werner LEMBERG  <wl@gnu.org>
1776
1777	* doc/groff.texinfo: Fixes for texinfo 4.1.
1778
17792002-03-07  Werner LEMBERG  <wl@gnu.org>
1780
1781	* src/include/lib.h: Include getopt.h if groff-getopt.h can't be
1782	included.
1783	Handle CYGWIN properly.
1784
17852002-03-07  Paco Andr�s Verd�  <pandres@dragonet.es>
1786
1787	* font/devlbp/Makefile.sub (DEVFILES): Add some missing fonts.
1788	* tmac/lbp.tmac: Add some font translations.
1789
17902002-03-02  Werner LEMBERG  <wl@gnu.org>
1791
1792	* font/devcp1047/R.proto, font/devlatin1/R.proto,
1793	font/devhtml/R.proto: Remove `charXXX'	entries.
1794	* tmac/tty.tmac, tmac/html.tmac: Load latin1.tmac or cp1047.tmac
1795	where appropriate.
1796
1797	* font/devlj4/generate/text.map: Remove `charXXX' entries.
1798	* font/devlj4/*: Regenerated all font definition files.
1799	* tmac/lj4.tmac: Load latin1.tmac.
1800
1801	* src/utils/hpftodit/hpftodit.cc (do_file): Partially undo change
1802	from 2000-06-17: LJ4 metric files are *not* text files.
1803
1804	* tmac/troffrc, tmac/dvi.tmac, tmac/ps.tmac: Don't use .T string
1805	register to test for EBCDIC.
1806
18072002-03-01  Werner LEMBERG  <wl@gnu.org>
1808
1809	* src/utils/afmtodit/afmtodit.pl: Skip comment lines in encoding
1810	files (as grops already does).
1811	* src/utils/afmtodit/afmtodit.man: Document comment lines in map
1812	files.
1813	* src/devices/grops/grops.man: Document comment lines in encoding
1814	files.
1815
1816	* tmac/cp1047.tmac: New file.
1817	* tmac/dvi.tmac, tmac/tty-char.tmac: Use it.
1818	* tmac/ps.tmac: Load latin1.tmac or cp1047.tmac.
1819	* tmac/Makefile.sub (NORMALFILES): Updated.
1820
1821	* tmac/ec.tmac: Don't load latin1.tmac again.
1822
1823	* font/devps/generate/lgreekmap, font/devps/generate/symbolchars,
1824	font/devps/generate/dingbats.map,
1825	font/devps/generate/dingbats.rmap, font/devps/text.enc,
1826	font/devps/generate/Makefile (symbolmap): Add header comment.
1827	* font/devps/generate/textmap: Ditto.
1828	Remove `charXXX' entries.
1829	* font/devps/symbolmap: Regenerated.
1830	* font/devps/*: Regenerated all font definition files.
1831
18322002-02-28  Werner LEMBERG  <wl@gnu.org>
1833
1834	Add color support to grodvi (for drawing colors are currently
1835	translated to gray values).
1836
1837	* src/devices/grodvi/dvi.cc (FILL_MAX): Removed.
1838	(dvi_printer): Add `cur_color' member.
1839	(dvi_printer::set_color): New function.
1840	(draw_dvi_printer): Remove `fill'.
1841	(draw_dvi_printer::fill_next): Pass environment as parameter.
1842	Update code for new color support translated to gray.
1843	(dvi_printer::set_char): Updated.
1844	(dvi_printer::begin_page, dvi_printer::end_page): Handle color
1845	changes crossing the page border.
1846	(dvi_printer::draw): Updated.
1847	Remove cases `f' and `F'.
1848	* tmac/dvi.tmac: Add color definitions.
1849	* NEWS, src/devices/grodvi/grodvi.man: Updated.
1850
1851	* tmac/an-old.tmac (R): Make this a macro to emit a warning if
1852	used incorrectly.
1853
1854	* aclocal.m4 (GROFF_NEED_DECLARATION): Use test similar to recent
1855	versions of autoconf.
1856	* configure: Updated.
1857
1858	* doc/homepage.ms: Use `.blm'.
1859	* tmac/www.tmac (www-depth): New auxiliary variable.
1860	(www-pop-level): Don't issue HTML tag.
1861	(ULS, ULE, LI): Use absolute indentation.
1862
1863	* src/devices/grops/ps.cc (ps_printer::begin_page,
1864	ps_printer::end_page): Switch forth and back to default color while
1865	starting a new page.
1866
18672002-02-27  Werner LEMBERG  <wl@gnu.org>
1868
1869	Add EC and TC fonts to devdvi.
1870
1871	* src/utils/tfmtodit/tfmtodit.man: Document patching of exbase.mf.
1872	* font/devdvi/generate/cork.map: Renamed to...
1873	* font/devdvi/generate/ec.map: This.
1874	Remove entry for `aq'.
1875	* font/devdvi/generate/tc.map: New file.
1876	* font/devdvi/generate/Makefile (*EC, *TC): New creation rules for
1877	EC and TC fonts.
1878	(FONTS): Updated.
1879	* font/devdvi/*EC, font/devdvi/*TC: New font definition files.
1880	* font/devdvi/Makefile.sub (DEVFILES): Updated.
1881	* tmac/ec.tmac: New file.
1882	* tmac/Makefile.sub (NORMALFILES): Updated.
1883	* NEWS, src/devices/grodvi/grodvi.man: Updated.
1884	* man/groff_char.man: Check `ECFONTS' register.
1885
1886	* font/devdvi/{TR,TI,TB,TBI,HR}: Fix `name' field.
1887
18882002-02-26  Werner LEMBERG  <wl@gnu.org>
1889
1890	* font/devdvi/generate/*.map: Remove all `charXXX' entries.
1891	* font/devdvi/generate/cork.map: Add 'y and 'Y.
1892	* font/devdvi/*: Updated.
1893	* tmac/dvi.tmac: Formatting.
1894
1895	Add font `HBI' for the dvi output.
1896	Add support for font families `T' and `H'.
1897
1898	* font/devdvi/HBI: New file.
1899	* font/devdvi/B: Renamed to ...
1900	* font/devdvi/TB: This.
1901	* font/devdvi/BI: Renamed to ...
1902	* font/devdvi/TBI: This.
1903	* font/devdvi/I: Renamed to ...
1904	* font/devdvi/TI: This.
1905	* font/devdvi/R: Renamed to ...
1906	* font/devdvi/TR: This.
1907	* font/devdvi/H: Renamed to ...
1908	* font/devdvi/HR: This.
1909	* font/devdvi/Makefile.sub (DEVFILES): Updated.
1910	* font/devdvi/generate/Makefile (HBI): New rule.
1911	(FONTS): Updated.
1912	(R, I, B, BI, H): Renamed to ...
1913	(TR, TI, TB, TBI, HR): This, respectively.
1914	(srcdir): Fixed.
1915	* NEWS, src/devices/grodvi/grodvi.man: Updated.
1916	* font/devdvi/DESC.in: Don't mount R, I, B, BI, and CWI.
1917	Add `styles' and `family' keywords.
1918	* tmac/dvi.tmac: Alias `H' to `HR'.
1919	Add some fspecial requests for italic fonts.
1920	Add TR and TI as special.
1921	Add support for `_' with font CWI.
1922
1923	* src/roff/troff/number.cc (parse_expr): Add missing `break' for
1924	operator `:'.  Until now, the expression `0:1' would return 2
1925	instead of 1.
1926
19272002-02-25  Werner LEMBERG  <wl@gnu.org>
1928
1929	* man/groff_char.man: Added some missing PS glyph names (from the
1930	Adobe Glyph List).
1931	* font/devps/generate/textmap, font/devps/symbolmap: Add
1932	`arrowupdn'.
1933
1934	* doc/groff.texinfo: Minor additions and fixes.
1935	* man/groff_diff.man: Remove documentation of fp request.  This
1936	is already covered in the original troff manual.
1937	Updated to be consistent with other doc files.
1938	* NEWS: Updated.
1939
19402002-02-24  Werner LEMBERG  <wl@gnu.org>
1941
1942	* aclocal.m4 (GROFF_EBCDIC): Don't include `font/devutf8' in
1943	TTYDEVDIRS.
1944	Define new variable OTHERDEVDIRS (containing `font/devlj4
1945	font/devlbp' if not EBCDIC).
1946	* Makefile.in (TTYDEVDIRS): Always include `font/devutf8'.
1947	(OTHERDEVDIRS): New variable.
1948	(MDEFINES, DEVDIRS, ALLDIRS, DISTDIRS): Updated.
1949	* configure: Regenerated.
1950
1951	* NEWS, src/devices/grotty/grotty.man: Updated.
1952
19532002-02-23  Werner LEMBERG  <wl@gnu.org>
1954
1955	* src/roff/troff/input.cc (do_overstrike, do_bracket,
1956	get_line_arg): Honour input level.
1957
1958	Add new symbol `mc' corresponding to U+00B5 MICRO SIGN.
1959
1960	* font/*/*: Implement it in all font files.
1961	* font/devps/generate/textmap, font/devps/generate/symbolchars,
1962	* font/devps/symbolmap: Updated.
1963	* font/devlj4/generate/text.map: Updated.
1964	* font/devdvi/generate/CompileFonts (sizes): Add LaTeX sizes.
1965	* font/devdvi/generate/texmi.map: Updated.
1966
1967	* font/devutf8/R.proto: Remove all `charXXX' entries.
1968	* font/devutf8/NOTES: Updated.
1969
1970	* font/devX*/*: Regenerated with xtotroff, using fonts from XFree86
1971	version 4.1.0.
1972
1973	* tmac/latin1.tmac, tmac/psold.tmac, tmac/tty-char.tmac: Updated.
1974
1975	* NEWS, man/groff_char.man: Updated.
1976
19772002-02-21  Phil Lobbes  <phil@perkpartners.com>
1978
1979	* src/include/lib.h [HAVE_SNPRINTF]: Include stdarg.h.
1980
19812002-02-20  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
1982
1983	* src/roff/grog/grog.pl: Fix computation of $refer.
1984
19852002-02-19  Werner LEMBERG  <wl@gnu.org>
1986
1987	* src/include/lib.h [!HAVE_SNPRINTF]: Add declarations for
1988	`snprintf' and `vsnprintf'.
1989
1990	* src/include/htmlindicate.h: Renamed to...
1991	* src/include/htmlhint.h: This.
1992	* src/include/Makefile.sub: Updated.
1993	* src/preproc/eqn/main.cc: Updated.
1994
19952002-02-18  Werner LEMBERG  <wl@gnu.org>
1996
1997	* man/roff.man, man/groff_out.man, man/groff.man,
1998	man/groff_diff.man, man/ditroff.man, src/roff/groff/groff.man,
1999	src/roff/troff/troff.man: Updated to latest changes in www.tmac.
2000
2001	* win32-diffs: Updated.
2002
20032002-02-17  Werner LEMBERG  <wl@gnu.org>
2004
2005	* doc/Makefile (clean): Add *.eps.
2006	(MEMACROS): Removed.
2007	(TFLAG): New variable.
2008	(TROFF): Use it.
2009	Add -ww.
2010	(GROFF): Use TFLAG, FFLAG, -U, -p, -e, -t, and -ww.
2011	(.me.dit): Fixed.
2012	(.ms.html, .ms.ascii, .ms.ps, homepage.html): Simplify.
2013
2014	* tmac/www.tmac: Use dummy diversion while resetting and disabling
2015	`.tl'.
2016	* tmac/e.tmac: Inserted some more `\"' to remove warnings if used
2017	unstripped.
2018	* src/roff/troff/troff.man: Fix order of parameter description.
2019
2020	* NEWS: Updated.
2021
20222002-02-16  Gaius Mulley  <gaius@glam.ac.uk>
2023
2024	Simplify image handling for grohtml.
2025	Fix <p> bug.
2026
2027	* src/devices/grohtml/html-text.cc (DEBUGGING): Don't undefine but
2028	comment out.
2029	(html_text::dump_stack): Don't emit newline while debugging.
2030	(html_text::do_push) [DEBUGGING]: Print more info.
2031	(html_text::check_emit_text): Fix handling of <p>.
2032	* src/devices/grohtml/html.h: Updated.
2033	* src/devices/grohtml/output.cc (FPUTC, FPUTS, PUTC): New macros,
2034	replacing `fputc', `fputs', `putc'.  If DEBUGGING is defined, they
2035	send its data to stderr also.
2036	Update all callers.
2037	(simple_output::space_or_newline) [DEBUGGING]: Removed.
2038	* src/devices/grohtml/post-html.cc (html_printer::do_links,
2039	html_printer::html_printer): Remove `DEBUGGING' conditionals.
2040
2041	* src/include/html-strings.h (HTML_IMAGE_{CENTERED,LEFT,RIGHT,END}):
2042	Removed.
2043	* src/libs/libgroff/htmlhint.cc (is_in_graphic_start,
2044	is_inline_image): Removed.
2045	(html_begin_suppress, html_end_suppress): Don't take a parameter.
2046	(graphic_start, graphic_end): Removed.
2047	* src/include/htmlindicate.h: Updated.
2048	* src/preproc/html/pre-html.cc (DEBUG_HTML): Removed.
2049	(macroset_template): New global variable.
2050	(makeFileName): Use `macroset_template'.
2051	(write_end_image): Don't take a parameter.
2052	Don't emit newline.
2053	(write_start_image: Don't emit newline.
2054	(char_buffer::write_upto_newline): Updated.
2055	(char_buffer::skip_to_newline): Renamed to ...
2056	(char_buffer::skip_until_newline): This.
2057	Fix code.
2058	(char_buffer::write_file_troff, char_buffer::write_file_html):
2059	Simplified.
2060	(createAllPages, createImage) [DEBUGGING]: Handle `debug' flag.
2061	(removeAllPages): Remove `DEBUGGING' conditionals.
2062	(addRegDef, dump_args): New functions.
2063	(char_buffer::do_html, char_buffer::do_image): Handle
2064	`www-image-template' command line variable.
2065	Add more debugging code.
2066	(addps4html): Removed.
2067	(removeTempFiles) [DEBUGGING]: Handle `debug' flag.
2068
2069	* src/preproc/eqn/main.cc: Include `ctype.h'.
2070	(suppress_html): Removed.
2071	(do_file): Updated.
2072	(inline_equation): Use `html_begin_suppress' and
2073	`html_end_suppress'.
2074	* src/preproc/pic/troff.cc: Don't include `htmlindicate.h'.
2075	(troff_output::start_picture, troff_output::finish_picture):
2076	Updated.
2077	* src/preproc/tbl/main.cc: Don't include `htmlindicate.h'.
2078	(process_input_file): Updated.
2079
2080	* src/roff/troff/div.cc (page_number): Set page number only if the
2081	`ps4html' register isn't defined.
2082	* src/roff/troff/input.cc (image_no): New external variable.
2083	(do_suppress): Use it.
2084	* src/roff/troff/node.h (suppress_node::image_id): New member.
2085	* src/roff/troff/node.cc (image_no): Remove `static' keyword.
2086	(suppress_node::suppress_node): Initialize `image_id' member.
2087	(suppress_node::same): Handle `image_id' also.
2088	(suppress_node::copy): Updated.
2089	(last_image_id): New global variable.
2090	(suppress_node::tprint): Use it.
2091
2092	* tmac/an-old.tmac (TS, TE, EQ, EN): Use HTML-IMAGE and
2093	HTML-IMAGE-END.
2094	* tmac/pspic.mac (PSPIC): Fix html support.
2095	* tmac/s.tmac (@EQ, @EN, @TS, TE, PS, PE): Ditto.
2096	* tmac/www.tmac (www-image-template): Set up.
2097	(HTMLINDEX): Renamed to...
2098	(HX): This.
2099	(BODYCOLOR): Renamed to...
2100	(BCL): This.
2101	(BACKGROUND): Renamed to...
2102	(BGIMG): This.
2103	(URL): Change order of parameters for consistency.
2104	(MAILTO): Renamed to...
2105	(MTO): This.
2106	(IMAGE, PNG-IMAGE, MARGIN-PNG-IMAGE): Renamed to...
2107	(IMG, PIMG, MPIMG): This.
2108	(HTML-H-BEGIN, HTML-H-END): Renamed to...
2109	(HnS, HnE): This.
2110	(LINKS): Renamed to...
2111	(LK): This.
2112	(LINE): Renamed to...
2113	(HR): This.
2114	(NO-AUTO-RULE): Renamed to...
2115	(NHR): This.
2116	(HTML-TL): Renamed to...
2117	(HTL): This.
2118	(UL-BEGIN, UL-END): Renamed to...
2119	(ULS, ULE): This.
2120	(DROPCAP): Renamed to...
2121	(DC): This.
2122	(TS, TE, EQ, EN): Provide default definitions.
2123	(www-make-unique-name): Updated.
2124	(HTML-IMAGE-INLINE): Fix typo.
2125	* tmac/groff_www.man: Updated.
2126
2127	* doc/Makefile (homepage.html): Add option -r to grohtml.
2128	Use shortened image name.
2129	* doc/groff.texinfo: Updated info on grohtml strings and macros.
2130	* doc/homepage.ms: Updated and extended.
2131
21322002-02-14  Werner LEMBERG  <wl@gnu.org>
2133
2134	Don't use `CSI 39 m' and `CSI 49 m' but `CSI 0 m'.
2135
2136	* src/devices/grotty/tty.cc (SGR_DEFAULT_COLOR,
2137	SGR_BACK_DEFAULT_COLOR): Replaced with ...
2138	(tty_printer::put_color): Use it.
2139	(ttr_printer::end_page): Simplify.
2140
21412002-02-13  Werner LEMBERG  <wl@gnu.org>
2142
2143	* tmac/groff_tmac.man: Moved to...
2144	* man/groff_tmac.man: This place.
2145	* tmac/Makefile.sub, man/Makefile.sub: Updated.
2146
21472002-02-12  Werner LEMBERG  <wl@gnu.org>
2148
2149	* src/libs/libgroff/Makefile.sub (snprintf.o): Don't use
2150	$(COMPILE.c) to not include groff's assert.h.
2151
2152	* src/drivers/grotty/tty.cc (main): Add GROFF_NO_SGR environment
2153	variable.
2154	* NEWS, src/drivers/grotty/grotty.man: Document it.
2155
21562002-02-11  Werner LEMBERG  <wl@gnu.org>
2157
2158	* src/libs/snprintf/snprintf.c: Updated to latest version
2159	(2002-02-11).
2160
2161	* src/roff/grog/grog.pl (process): Fix handling of `.['.  We now
2162	test whether there is `.]' also.
2163	Don't check for spaces after `.['.
2164	* src/roff/grog/grog.sh: Do the same.
2165
21662002-02-10  Werner LEMBERG  <wl@gnu.org>
2167
2168	Illegal -> Invalid.
2169
2170	* src/libs/libgroff/illegal.cc: Renamed to ...
2171	* src/libs/libgroff/invalid.cc: This.
2172	(illegal_char_table): Renamed to ...
2173	(invalid_char_table): This.
2174	* src/libs/libgroff/Makefile.sub: Updated.
2175	* win32-diffs: Updated.
2176
2177	* doc/groff.texinfo, src/devices/grops/psrm.cc (ps_get_line),
2178	src/libs/libdriver/input.cc (fatal_command, parse_color_command,
2179	parse_x_command), src/libs/libgroff/font.cc (text_file::next,
2180	font::load), src/preproc/eqn/main.cc (read_line, main),
2181	src/preproc/eqn/lex.cc (file_input::read_line),
2182	src/preproc/pic/lex.cc (file_input::read_line,
2183	simple_file_input::get, simple_file_input::peek),
2184	src/preproc/pic/main.cc (top_input::get, top_input::peek),
2185	src/preproc/pic/pic.man, src/preproc/refer/main.cc
2186	(input_stack::push_file), src/preproc/refer/refer.cc (do_file,
2187	do_bib), src/preproc/tbl/main.cc (table_input::get),
2188	src/preproc/grn/grn.man, src/preproc/grn/main.cc (interpret),
2189	src/roff/troff/input.cc (file_iterator::fill, file_iterator::peek,
2190	do_zero_width, read_request, encode_char, ps_get_line,
2191	transparent_file, get_char_for_escape_name, transparent_translate,
2192	asciify, input_char_description, read_string, set_string),
2193	src/roff/troff/env.cc (environment::add_html_tag),
2194	src/roff/troff/troff.man, tmac/e.tmac (`@(', `(f'): Do it.
2195
2196	* src/include/lib.h: Updated.
2197
2198	* src/preproc/eqn/eqn.cc: Removed.
2199
2200	* NEWS: Updated.
2201
2202	* src/preproc/grn/hdb.cc (DBRead): Fix fscanf() fields.
2203
22042002-02-09  Werner LEMBERG  <wl@gnu.org>
2205
2206	* doc/gnu.xpm: New image.
2207	* doc/Makefile (DOCS): Add homepage.ps.
2208	Add rules for converting xpm->png and xpm->eps.
2209	Use `gnu.{xpm,eps}' as image names.
2210	* doc/homepage.ms: Updated.
2211
22122002-02-09  Gaius Mulley  <gaius@glam.ac.uk>
2213
2214	* tmac/www.tmac (www-error): New macro, replacing calls to `@error'.
2215	(IMAGE): Change image position parameters to `-L', `-R', and `-C'.
2216	Remove calls to `B1' and `B2'
2217	(PNG-IMAGE): New macro for inclusion of images in PNG format.
2218	(www-left-ll-trap, www-left-po-trap, www-right-ll-trap): New
2219	auxiliary variables for MARGIN-PNG-IMAGE.
2220	(www-finish-left-po, www-finish-right-ll, www-finish-left-ll): New
2221	auxiliary macros for MARGIN-PNG-IMAGE.
2222	(MARGIN-PNG-IMAGE): New macro to put an image in PNG format into
2223	the margin.
2224	(www-heading-no): New auxiliary variable for HTML-H-{BEGIN,END}.
2225	(HTML-H-BEGIN, HTML-H-END): New macros to begin and end a heading.
2226	(DROPCAP): New macro to produce dropcap characters.
2227	(www-do-image): Renamed back to...
2228	(HTML-DO-IMAGE): This.
2229	Updated all callers.
2230
2231	* doc/Makefile (gnubw.eps): Updated.
2232	* doc/homepage.ms: Updated.
2233
22342002-02-08  Werner LEMBERG  <wl@gnu.org>
2235
2236	* doc/pic.ms: Fixed typos (\(*tx -> \*(tx).
2237	Added `linethick' to table in section `Style Variables'.
2238
22392002-02-08  Gaius Mulley  <gaius@glam.ac.uk>
2240
2241	* src/libs/libdriver/input.cc (get_extended_arg): Fix conditional.
2242
22432002-02-07  Werner LEMBERG  <wl@gnu.org>
2244
2245	Adding options -C (compatibility mode) and -c (grotty's old output
2246	scheme) to nroff.
2247
2248	* src/roff/nroff/nroff.sh: Implement it.
2249	Remove `-Wall'.
2250	* NEWS, src/roff/nroff/nroff.man: Updated.
2251
2252	* PROBLEMS: Document bison 1.32 bug.
2253
2254	Some fixes to make groff compile on z/OS 1.2 UNIX (was OS/390).
2255
2256	* src/roff/troff/node.cc (make_tfont): Define it earlier.
2257	* src/roff/troff/div.h: Add prototype for `end_diversions'.
2258	* src/roff/troff/input.cc: Add prototype for `process_input_stack'.
2259	* src/roff/troff/env.h: Add prototype for `title'.
2260
2261	Adding EBCDIC support to grotty.
2262
2263	* src/devices/grotty/tty.cc (CSI): New macro.
2264	(SGR_*, tty_printer::put_color): Use it.
2265
22662002-02-06  Werner LEMBERG  <wl@gnu.org>
2267
2268	Implementing color support in grotty.  The new switch -c activates
2269	the old drawing scheme, disabling color at the same time.  The new
2270	switch `-i' selects italic instead of underlining (SGR only).
2271
2272	* src/devices/grotty/tty.cc (putstring): New define instead of
2273	`fputs'.  Updated all callers.
2274	(old_drawing_scheme): New global variable.
2275	(COLOR_CHANGE): New enum value.
2276	(SGR_*): New defines containing color handling escape sequences.
2277	(TTY_MAX_COLORS, DEFAULT_COLOR_IDX): New defines.
2278	(glyph): New members `back_color_idx' and `fore_color_idx'.
2279	(glyph::order): Add COLOR_CHANGE.
2280	(tty_printer): New members `cur_fore_idx', `curr_back_idx',
2281	`is_underline', `is_bold', `cu_flag', `tty_colors'.
2282	New methods `make_underline', `make_bold', `color_to_idx',
2283	`change_color', `put_color'.
2284	(cu_flag): Moved into `tty_printer' class.
2285	(tty_printer::tty_printer): Initialize colors.
2286	(tty_printer::add_char, tty_printer::set_char, tty_printer::special,
2287	tty_printer::draw, tty_printer::end_page): Handle colors also.
2288	(main): Add options `-c' and `-i'.
2289	(usage): Updated.
2290	* NEWS, src/devices/grotty/grotty.man: Updated.
2291
2292	* src/include/errarg.h (errarg): Add support for `unsigned int'.
2293	* src/libs/libgroff/errarg.c: Implement it.
2294
2295	* src/include/printer.h (printer): Add `change_color' method
2296	(currently used by grotty only).
2297	* src/libs/libdriver/printer.cc: Implement it.
2298	* src/libs/libdriver/input.cc (parse_D_command, do_file): Add
2299	call to `pr->change_color'.
2300
2301	* src/roff/troff/node.cc (troff_output_file::fill_color,
2302	troff_output_file::glyph_color): Call `do_motion'.
2303
2304	* tmac/tty.tmac: Add color definitions.
2305
2306	* src/roff/groff/groff.man: Minor fixes.
2307
23082002-02-05  Bernd Warken  <bwarken@mayn.de>
2309
2310	* src/libs/libdriver/input.cc: Introduce `EnvInt' typedef and use
2311	it.  This is a preparation for future changes.
2312
23132002-02-05  Werner LEMBERG  <wl@gnu.org>
2314
2315	* src/roff/troff/input.cc (process_input_stack): Fix the case
2316	where leading spaces are followed by \f or \s; previously, an
2317	incorrect space width has been used.
2318
2319	* doc/roff.man (quoted_char): Fix argument.
2320	(comment): Define string.
2321
23222002-02-04  Larry Kollar  <kollar@alltel.net>
2323
2324	* doc/groff.texinfo: More fixes.
2325
23262002-02-04  Werner LEMBERG  <wl@gnu.org>
2327
2328	* src/preproc/eqn/box.cc (output_string): Don't use \\*[...].
2329	* src/preproc/eqn/main.cc (do_file, inline_equation): Call
2330	`restore_compatibility' before `output_string' -- the LINE_STRING
2331	register now already contains proper switches from and to
2332	compatibility mode.
2333
2334	* man/groff_char.man: Add Euro symbol.
2335	* man/groff_diff.man: Improve documentation of `.am1' and `.as1'.
2336	* tmac/tty.tmac: Add `EUR' as replacement for `eu' and `Eu'.
2337	* doc/groff.texinfo (Defstr*): Print strings with full syntax.
2338	Other minor fixes.
2339
2340	* doc/Makefile (.SUFFIXES, .texinfo.pdf, clean): Add support for
2341	texinfo->pdf.
2342	(.texinfo.html): Add support for texinfo->html.
2343
23442002-02-03  Werner LEMBERG  <wl@gnu.org>
2345
2346	Added three new requests `ds1', `as1', and `ami'.  The former two
2347	are equivalent to `ds' and `as' with the difference that
2348	compatibility mode is saved on entry, switched off during string
2349	expansion, and restored on exit.  The latter is the pendant to `dei'
2350	for `am'.
2351
2352	(do_define_string): Use `define_mode' and `calling mode'.
2353	Insert COMPATIBLE_SAVE and COMPATIBLE_RESTORE at the beginning and
2354	end of string, respectively.
2355	(define_string, append_string): Use `calling_mode'.
2356	(define_nocomp_string, append_nocomp_string,
2357	define_string_indirect): New functions.
2358	(init_input_requests): Updated.
2359	* NEWS, man/groff_diff.man, man/groff.man: Document it.
2360
2361	* src/preproc/eqn/box.cc (box::top_level, box::extra_space): Use
2362	`as1' for assigning LINE_STRING (this is `10' usually).  Sun's
2363	mm macro package accesses this string register directly.
2364	* src/preproc/eqn/main.cc (inline_equation): Use `as1'.
2365
2366	* tmac/trace.tmac: Trace calls to `am' also.  Make it work in
2367	compatibility mode.
2368
23692002-02-02  Larry Kollar  <kollar@alltel.net>
2370
2371	* doc/groff.texinfo, tmac/groff_ms.man: More fixes.
2372
23732002-01-31  Werner LEMBERG  <wl@gnu.org>
2374
2375	* tmac/an-old.tmac (I): Use \, and \/ to improve spacing.
2376
23772002-01-31  Bernd Warken  <bwarken@mayn.de>
2378
2379	* src/devices/grolbp/lbp.cc (main): Delete `pr'.
2380	* man/groff_out.man: Revised and updated.
2381
23822002-01-30  Bernd Warken  <bwarken@mayn.de>
2383
2384	* src/libs/libdriver/input.cc [USE_ENV_STACK]: New macro to comment
2385	out the unused `{' and `}' commands.  Undefined by default.
2386	(IntArray): Make `data' private.
2387	(IntArray::operator[], IntArray::get_data, IntArray::len): Use these
2388	new methods instead.
2389	(skip_line_D, skip_to_end_of_line): New functions.
2390	(get_D_fixed_args): Use `skip_line_D'.
2391	Changed to handle dummy odd arguments by ...
2392	(get_D_fixed_args_odd_dummy): This new function.
2393	(get_D_variable_args): Split some code into ...
2394	(get_possibly_integer_args): This new function.
2395	(send_draw): Use more `const'.
2396	(delete_current_env): New function.
2397	(position_to_end_of_args): Use `size_t'.
2398	Updated.
2399	(send_draw): Updated.
2400	(parse_D_command): Handle `c', `C', and `t' better.
2401	Updated.
2402	(do_file): Updated.
2403
24042002-01-29  Werner LEMBERG  <wl@gnu.org>
2405
2406	* NEWS: Revised.
2407	* doc/groff.texinfo: Introduce @Def...List, @Def...Item, and
2408	@Def...ListEnd which replaces @Def...x.  This is necessary to get
2409	proper HTML output -- see the comment in the file for more
2410	information.
2411	Updated all calls.
2412
24132002-01-29  Gaius Mulley  <gaius@glam.ac.uk>
2414
2415	Fixes to make color changes of 2002-01-21 work with grohtml.
2416
2417	* src/devices/grohtml/post-html.cc (style): Updated.
2418	(html_printer): Remove unused methods.
2419	(html_printer::do_font, html_printer::draw, html_printer::set_char,
2420	html_printer::special): Updated.
2421	* src/devices/grohtml/html-text.cc (debugStack, turnDebug,
2422	html_text::dump_stack_element, html_text::dump_stack) [DEBUGGING]:
2423	Added some debugging code.
2424	(html_text::start_tag): Updated.
2425	(html_text::do_push): New method.
2426	(html_text::push_para): Call it.
2427	Add method for handling color.
2428	(html_text::do_color): Updated.
2429	(html_text::shutdown): Handle color.
2430	* src/devices/grohtml/html-text.h (tag_definition): New member
2431	`col'.
2432	Updated.
2433
24342002-01-28  Werner LEMBERG  <wl@gnu.org>
2435
2436	* tmac/ps.tmac, tmac/html.tmac: Fix compatibility mode issues.
2437
24382002-01-27  Gaius Mulley  <gaius@glam.ac.uk>
2439
2440	Add two switches -a and -g to control the antialiasing bits for
2441	text and graphics, respectively.
2442
2443	* src/devices/grohtml/post-html.cc (main): Dummy code for `-a' and
2444	`-g'.
2445	* src/devices/grohtml/grohtml.man: Document them.
2446	* src/preproc/html/pre-html.cc (MIN_ALPHA_BITS, MAX_ALPHA_BITS):
2447	New macros.
2448	(textAlphaBits, graphicAlphaBits, antiAlias): New global variables.
2449	(setupAntiAlias): New function.
2450	(createAllPages): Updated.
2451	(scanArguments): Handle `-a' and `-g'.
2452	(main): Call `setupAntiAlias'.
2453	* NEWS: Updated.
2454
24552002-01-27  Werner LEMBERG  <wl@gnu.org>
2456
2457	* doc/groff.texinfo (Def*): Call index function after deffn.
2458
2459	* tmac/html.tmac: Call `nroff' request.
2460
24612002-01-26  Larry Kollar  <kollar@alltel.net>
2462
2463	* tmac/groff_ms.man: Add some omissions.
2464
24652002-01-25  Larry Kollar  <kollar@alltel.net>
2466
2467	* tmac/groff_ms.man: Typographical improvements.
2468
24692002-01-25  Werner LEMBERG  <wl@gnu.org>
2470
2471	* doc/groff.texinfo: Updated version and copyright.
2472	* src/devices/grops/grops.man: Updated.
2473
2474	* tmac/groff_tmac.man: Fix `ig' macro.
2475
2476	* tmac/an-old.tmac (ne): Redefine `ne' request to be a no-op in
2477	nroff mode.
2478	Use `.ne' unconditionally everywhere.
2479	(TS): Only insert some vertical space.  Doing a page break is no
2480	longer necessary due to the redefinition of the `ne' request.
2481
2482	* src/libs/libdriver/input.cc (parse_D_command): Don't emit a
2483	warning for unknown subcommands but parse and pass them to the
2484	device driver.
2485
24862002-01-24  Werner LEMBERG  <wl@gnu.org>
2487
2488	* tmac/groff_www.man, NEWS: Fix typos.
2489
24902002-01-21  Werner LEMBERG  <wl@gnu.org>
2491
2492	Complete revision of color support:
2493
2494	  Adapt programs to the new libdriver/input.cc.
2495
2496	  Color spaces are no longer converted to RGB but transferred as-is
2497	  in the troff intermediate output format.
2498
2499	  Handle default color gracefully.  troff now supports a `default'
2500	  color (which can't be changed).
2501
2502	  grops will now use the proper color space functions if available.
2503
2504	  Update pic.
2505
2506	Note that currently grohtml doesn't handle colors properly.  This
2507	has to be fixed.
2508
2509	* src/libs/libgroff/itoa.c (UINT_DIGITS): New macro.
2510	(ui_to_a): New function.
2511	* src/include/lib.h: Updated.
2512
2513	* src/include/color.h (color_scheme): Replace `NONE' with `DEFAULT'.
2514	(color): Simplified; removed all `double' members and methods.
2515	A new array `components' now holds the color parameters.
2516	(color::is_default, color::get_components): New methods.
2517	(color::operator==, color:operator!=): New.
2518	(Red, Green, Blue, Cyan, Magenta, Yellow, Black, Gray): New macros
2519	to make access to the `components' array more comprehensible.
2520	* src/libs/libgroff/color.cc: Implement new color support.
2521	(atoh): Small fixes.
2522	(color::read_encoding): Simplified for new troff intermediate color
2523	output format.
2524	(default_color): New global variable.
2525
2526	* src/roff/troff/input.cc (default_symbol): New global variable.
2527	(lookup_color): Use it.
2528	(default_black): Removed.
2529	(do_glyph_color, do_fill_color): Simplified.
2530	(define_color): Handle default color.
2531	Improve warnings.
2532	(do_if_request): Handle default color.
2533	* src/roff/troff/env.cc (environment::environment): Initialize
2534	colors with `default_color'.
2535	* src/roff/troff/node.cc (troff_output_file::put): Add method
2536	for `unsigned int'.
2537	(troff_output_file::hex): Removed.
2538	(troff_output_file::fill_color, troff_output_file::glyph_color):
2539	Updated to include/color.h and libdriver/input.cc.
2540
2541	* src/preproc/pic/object.cc (draw_arrow): New parameter to set
2542	fill color properly (identically to the outline color).  \D'f...'
2543	doesn't work any more.
2544	All function calls to it updated.
2545
2546	* src/devices/grohtml/post-html.cc (html_printer::do_body, main):
2547	Updated.
2548	* src/devices/grohtml/html-text.cc (html_text::issue_color_begin):
2549	Updated.
2550
2551	* src/devices/grops/ps.cc (ps_output::put_color): New method.
2552	(ps_printer::sbuf_color): Make a real member instead of pointer.
2553	(ps_printer::fill_color, ps_printer::output_color): Removed.
2554	(ps_printer::ps_printer): Updated.
2555	(ps_printer::set_char): Ditto.
2556	(ps_printer::set_color): Use various color schemes.
2557	Use `put_color' method.
2558	(ps_printer::flush_sbuf): Don't set color.
2559	(ps_printer::fill_path): Take `environment' as parameter.
2560	Simplify color handling.
2561	(ps_printer::set_line_thickness): Renamed to ...
2562	(ps_printer::set_line_thickness_and_color): This (and updated).
2563	(ps_printer::set_color): Change second parameter from `complete'
2564	to `fill' which better describes what it does.
2565	(ps_printer::draw): Call `flush_sbuf' to output graphic commands
2566	and text in the right order.
2567	Updated.
2568	Remove branches for `f' and `F'; this is handled by
2569	libdriver/input.cc.
2570	* src/devices/grops/ps.h: Updated.
2571	* font/devps/prologue (FL): Redefined.
2572	({F,C}r,k,g: New color functions (with and without filling).
2573
2574	* doc/pic.ms, src/preproc/pic/pic.man: Small fixes.
2575	* man/groff_diff.man, man/groff.man, man/groff_out.man,
2576	doc/groff.texinfo, NEWS: Updated.
2577
25782002-01-20  Bernd Warken  <bwarken@mayn.de>
2579
2580	* src/libs/libdriver/input.cc: Completely rewritten.  See comments
2581	in this file for what has been changed.
2582
25832002-01-19  Werner LEMBERG  <wl@gnu.org>
2584
2585	* test-groff: Fix GROFF_FONT_PATH.
2586	* tmac/andoc.tmac: Add dummy macros for equation support -- eqnrc
2587	is read before .TH or .Dd is parsed.
2588
25892002-01-18  Gaius Mulley  <gaius@glam.ac.uk>
2590
2591	* src/libs/libgroff/geometry.cc (check_output_arc_limits): Fix
2592	quadrant boundaries.
2593
25942002-01-18  Werner LEMBERG  <wl@gnu.org>
2595
2596	* devices/grops/ps.cc: Aargh!  Fix the fix of the incorrectly
2597	applied last patch.
2598
25992002-01-17  Ruslan Ermilov  <ru@FreeBSD.org>
2600
2601	* tmac/doc.common: Initialize %I register for the %I macro to
2602	avoid (harmless) warning.
2603	* tmac/doc.tmac (Bd): There is no reason to enforce -compact
2604	when in the SYNOPSIS section.
2605
26062002-01-17  Bruno Haible  <haible@clisp.cons.org>
2607
2608	* src/preproc/pic/lex.cc (get_token): Fix typo.
2609
26102002-01-17  Werner LEMBERG  <wl@gnu.org>
2611
2612	* devices/grops/ps.cc: Fix incorrectly applied last patch.
2613
26142002-01-17  Larry Kollar  <kollar@alltel.net>
2615
2616	* tmac/groff_ms.man: Completely rewritten.
2617
26182002-01-16  Werner LEMBERG  <wl@gnu.org>
2619
2620	* tmac/an-old.tmac (TS): Force break, inserting some vertical space.
2621
26222002-01-15  Gaius Mulley  <gaius@glam.ac.uk>
2623
2624	* devices/grops/ps.cc (ps_printer::fill_path): Fix handling of
2625	fill colors.
2626	(ps_printer::draw): Ditto.
2627
26282002-01-14  Ruslan Ermilov  <ru@FreeBSD.org>
2629
2630	* tmac/groff_mdoc.man: Minor fixes.
2631
26322002-01-13  Werner LEMBERG  <wl@gnu.org>
2633
2634	* man/groff_out.man: Some fixes.
2635
26362002-01-13  Gaius Mulley  <gaius@glam.ac.uk>
2637
2638	* doc/pic.ms: Fix typos.
2639
26402002-01-12  Werner LEMBERG  <wl@gnu.org>
2641
2642	* doc/groff.texinfo, doc/groff.man: More on a printable backslash.
2643
26442002-01-10  Werner LEMBERG  <wl@gnu.org>
2645
2646	* font/devutf8/R.proto, font/devhtml/R.prot: Add `Eu' and `eu'
2647	symbols.
2648	* NEWS: Updated.
2649
26502002-01-09  Bernd Warken  <bwarken@mayn.de>
2651
2652	* man/groff_out.man: Revised.
2653	* man/roff.man: Minor fixes.
2654	* src/roff/troff/troff.man: Some reordering.
2655
26562002-01-09  Werner LEMBERG  <wl@gnu.org>
2657
2658	* tmac/an-old.tmac: Add dummy macros for equation support.
2659
26602002-01-07  Werner LEMBERG  <wl@gnu.org>
2661
2662	doc/groff.texinfo: Fix documentation of glyph searching algorithm.
2663
2664	* tmac/an-old.tmac: Revert change 2001-12-23.  This breaks too many
2665	man pages.
2666	* tmac/groff_man.man: Small improvements.
2667
26682002-01-07  Bernd Warken  <bwarken@mayn.de>
2669
2670	* man/groff_diff.man: Revised.
2671
26722002-01-06  Werner LEMBERG  <wl@gnu.org>
2673
2674	* tmac/www.tmac: Remove extraneous backslash.
2675
26762002-01-06  Bernd Warken  <bwarken@mayn.de>
2677
2678	* man/ditroff.man, src/roff/groff/groff.man, man/groff.man: Revised.
2679
26802002-01-05  Werner LEMBERG  <wl@gnu.org>
2681
2682	Integrated groffer, contributed by Bernd Warken.
2683
2684	* contrib/groffer/*: New.	
2685	* Makefile.in, NEWS: Updated.
2686
26872002-01-04  Werner LEMBERG  <wl@gnu.org>
2688
2689	* doc/groff.texinfo: Added macros `@Defmpreg' and `@Defmpregx' for
2690	registers defined in macro packages.
2691	Revising the ms part.
2692
26932002-01-04  Larry Kollar  <kollar@alltel.net>
2694
2695	* doc/groff.texinfo: Add documentation for ms macros.
2696
26972002-01-02  Werner LEMBERG  <wl@gnu.org>
2698
2699	First step in adding PS support for the Euro symbol.  `eu' is the
2700	official Euro logo, `Eu' is a font-specific glyph variant.
2701
2702	* font/devps/text.enc: Add `Euro' at position 9.
2703	* font/devps/generate/textmap: Add `Euro' as symbol `Eu'.
2704	* font/devps/symbolmap: Regenerated.
2705
2706	* NEWS: Updated.
2707
27082002-01-02  Bernd Warken  <bwarken@mayn.de>
2709
2710	* man/roff.man: Revised.
2711
27122002-01-01  Bernd Warken  <bwarken@mayn.de>
2713
2714	* src/roff/groff/groff.man: Completely rewritten.
2715
27162001-12-31  Werner LEMBERG  <wl@gnu.org>
2717
2718	* doc/Makefile: Updated.
2719
27202001-12-30  Werner LEMBERG  <wl@gnu.org>
2721
2722	* tmac/www.tmac: Make all names of internal macros/registers/strings
2723	lowercase, and prepend `www-'.
2724	Other minor changes.
2725	* src/roff/troff/troff.man: Add preprocessor string at BOF.
2726
27272001-12-30  Gaius Mulley  <gaius@glam.ac.uk>
2728
2729	Implement option `-b' in grohtml to set the HTML background colour.
2730
2731	* src/devices/grohtml/post-html.cc (default_background): New global
2732	variable.
2733	(html_printer::html_printer): Initialize `background' to
2734	`default_background'.
2735	(main): Implement option `-b'.
2736	(usage): Updated.
2737	* src/preproc/html/pre-html.cc (scanArguments): Add dummy handling
2738	of `-b' option.
2739	* src/devices/grohtml/grohtml.man: Updated.
2740	* doc/Makefile (.ms.html): Use `-b'.
2741	* tmac/html.tmac: Don't set background color.
2742
2743	Add new grohtml tag `.html-tl'.
2744
2745	* src/devices/grohtml/post-html.cc (title_desc): Add `with_h1'
2746	member variable.
2747	(title_desc::title_desc): Updated.
2748	(html_printer::troff_tag): Handle `.html-tl'.
2749	(html_printer::write_title): Use `with_h1'.
2750	* tmac/www.tmac (www-end-nowhere): New auxiliary macro.
2751	(HTML-TL): New macro.
2752
2753	Add support for unordered lists in HTML.
2754
2755	* tmac/www.tmac (www-level): New auxiliary register.
2756	(www-level1, www-level2, www-level3): New auxiliary strings.
2757	(www-push-level, www-pop-level): New auxiliary macros
2758	(UL-BEGIN, UL-END, LI): User macros for unordered lists.
2759
2760	Miscellaneous.
2761
2762	* src/preproc/html/pre-html.cc (DEFAULT_IMAGE_RES): Increase to 100.
2763	(DEFAULT_VERTICAL_OFFSET): Removed.
2764	(IMAGE_BOARDER_PIXELS): Set to 0.
2765	(A4_LENGTH, A4_OFFSET, LETTER_LENGTH, LETTER_OFFSET): New macros.
2766	(vertical_offset): Initialize with 0.
2767	(gsPaper): New global variable.
2768	(get_resolution): Scan for and return unsigned int.
2769	(get_papersize): New function to get paper length from devps/DESC.
2770	(determine_vertical_offset): New function.
2771	(createAllPages): Produce gray-level images and use proper page
2772	length.
2773	(createImage): Use `-quiet' option of pnmcrop.
2774	(addZ): Fix passing of `-Z'.
2775	(scanArguments): Fix handling of `-o'.
2776	(main): Call `determine_vertical_offset'.
2777	* src/devices/grohtml/post-html.cc (html_printer::draw): Comment out
2778	code for `l'.
2779
2780	* src/libs/libgroff/tmpfile.cc (add_tmp_file): Fix buffer length.
2781	* src/roff/troff/node.cc (troff_output_file::check_charinfo): Handle
2782	glyph descenders properly.
2783
2784	* doc/homepage.ms: Include `gnubw.eps'.
2785	* doc/Makefile (gnubw.eps): New rule.
2786	(homepage.html): Depend on `gnubw.eps'.
2787
27882001-12-25  Werner LEMBERG  <wl@gnu.org>
2789
2790	* src/roff/troff/input.cc (default_black): Fix return value.
2791
27922001-12-24  Ruslan Ermilov  <ru@FreeBSD.org>
2793
2794	* tmac/doc-common (Dt): Change output of architecture strings.
2795	Do some syntax cleanup.
2796	* tmac/groff_mdoc.man: Updated.
2797
27982001-12-23  Werner LEMBERG  <wl@gnu.org>
2799
2800	Adding an `itc' request (input line trap accepting \c).
2801
2802	* src/roff/troff/env.h (environment): New member
2803	`continued_input_trap'.
2804	Make `do_input_trap' a friend function instead of `input_trap'.
2805	* src/roff/troff/env.cc (environment::environment,
2806	environment::copy): Updated.
2807	(environment::newline): Implement it.
2808	(do_input_trap): New function.
2809	(input_trap): Call `do_input_trap'.
2810	(input_trap_continued): New function.
2811	(init_env_requests): Updated.
2812	* src/roff/troff/TODO: Updated.
2813
2814	* tmac/an-old.tmac (SH, SS, B, I, SM, SB, TP): Use `.itc' instead of
2815	`.it'.
2816
2817	* src/preproc/grn/hdb.cc (DBRead): Really chop after 127 characters.
2818
28192001-12-22  Ruslan Ermilov  <ru@FreeBSD.org>
2820
2821	* tmac/doc-common, tmac/doc-syms: Small updates.
2822
28232001-12-22  Colin Watson  <cjwatson@debian.org>
2824
2825	* tmac/an-old.tmac (an-p-footer): Set title length in environment 1.
2826
28272001-12-22  Bernd Warken  <bwarken@mayn.de>
2828
2829	* MANIFEST: New file.
2830
28312001-12-22  Werner LEMBERG  <wl@gnu.org>
2832
2833	* src/preproc/grn/grn.man: Updated.
2834
28352001-12-22  Solar Designer  <solar@openwall.com>
2836
2837	* src/preproc/grn/hdb.cc (MAXSTRING_S): New macro.
2838	(DBRead): Use it.
2839
28402001-12-19  Werner LEMBERG  <wl@gnu.org>
2841
2842	Implement a fallback character request `.fchar'.
2843
2844	* src/roff/troff/charinfo.h (charinfo): New flag `fallback'.
2845	(is_fallback): New inline function.
2846	* src/roff/troff/input.cc (do_define_character): New function.
2847	(define_character): Call `do_define_character'.
2848	(define_fallback_character): New function.
2849	(init_input_requests): Add `fchar'.
2850	(charinfo::charinfo): Updated.
2851	(charinfo::set_macro): New argument to set `fallback' flag.
2852	* src/roff/troff/node.cc (make_glyph_node, make_node,
2853	node::add_char): Check `fallback' flag.
2854	* NEWS, man/groff_diff.man, man/groff_man: Updated.
2855
28562001-12-16  Werner LEMBERG  <wl@gnu.org>
2857
2858	* groff.texinfo: Document exact search algorithm for glyphs.
2859
28602001-12-15  Werner LEMBERG  <wl@gnu.org>
2861
2862	* Makefile.cpg, Makefile.ccpg, Makefile.man: Add dummy file to
2863	the left side of $(MANPAGES) rule to make it always non-empty.
2864
28652001-12-14  Werner LEMBERG  <wl@gnu.org>
2866
2867	* src/roff/troff/input.cc (default_black): Define default color
2868	`black' if not yet defined.
2869
28702001-12-13  Werner LEMBERG  <wl@gnu.org>
2871
2872	Implement new string-valued register `.fn' to return the current
2873	real (internal) font name.
2874
2875	* env.cc (environment::get_font_name_string): New function.
2876	(init_env_requests): Add `.fn' register.
2877	* env.h (environment): Updated.
2878	* node.cc (font_info): Make `get_font_name' a friend.
2879	(get_font_name): New function.
2880	* node.h: Updated.
2881
2882	* man/groff_diff.man, man/groff.man, NEWS: Updated.
2883
28842001-12-12  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
2885
2886	* src/preproc/eqn/main.cc (inline_equation): Fix typos.
2887
28882001-12-12  Werner LEMBERG  <wl@gnu.org>
2889
2890	* tmac/groff_man.man, doc/groff.texinfo: There is no .R macro.
2891
28922001-12-10  Gaius Mulley  <gaius@glam.ac.uk>
2893
2894	* man/groff_diff.man: Adding documentation for \O.
2895
28962001-12-10  Werner LEMBERG  <wl@gnu.org>
2897
2898	* src/preproc/html/pre-html.cc (TROFF_COMMAND): Removed.
2899	(scanArguments): Use PROG_PREFIX for the name of the troff binary.
2900
29012001-12-09  Werner LEMBERG  <wl@gnu.org>
2902
2903	* man/roff.man: Revised.
2904	* src/roff/groff/groff.man: Replace man page references with a
2905	pointer to roff.man.
2906
29072001-12-09  Bernd Warken  <bwarken@mayn.de>
2908
2909	* man/roff.man: Completely rewritten.
2910
29112001-12-06  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
2912
2913	* src/preproc/eqn/main.cc (inline_equation): Improve error message.
2914
29152001-12-05  Werner LEMBERG  <wl@gnu.org>
2916
2917	* src/roff/troff/input.cc (get_delim_file_name): Removed since no
2918	longer used.
2919	* src/devices/grohtml/post-html.cc (html_printer::html_printer): Fix
2920	order of initializers.
2921	* NEWS: Updated.
2922
29232001-12-05  Gaius Mulley  <gaius@glam.ac.uk>
2924
2925	* doc/groff.texinfo: Fix documentation of \O.
2926
2927	* src/devices/grohtml/html-text.cc (html_text::do_indent,
2928	html_text::do_table, html_text::do_emittext, html_text::do_para):
2929	Use `const' for first argument.
2930	(html_text::do_table): Use cast.
2931	* src/devices/grohtml/html-text.h: Updated.
2932	* src/devices/grohtml/output.cc (simple_output::put_string): Add
2933	method for `const string &s'.
2934	* src/devices/grohtml/html.h: Updated.
2935	* src/devices/grohtml/post-html.cc (MAX_STRING_LENGTH): Removed.
2936	(ANCHOR_TEMPLATE): Modified.
2937	(manufacture_headings): New global variable to handle `-h' option.
2938	(is_subsection): Removed.
2939	(char_buffer::add_string): Add `const' to first argument.
2940	Protect against invalid string argument.
2941	Add method for `const string &s'.
2942	(text_glob): Completely redesigned.
2943	(page): Use `const' for strings and remove string length variable.
2944	(page::add_html): Removed.
2945	(page::add_end_encode): New member function.
2946	(to_unicode): Moved upwards.
2947	(title_desc, header_desc): Updated.
2948	(header_desc::write_headings): Updated to new ANCHOR_TEMPLATE
2949	definition.
2950	(html_printer::is_bold, html_printer::make_bold): New member
2951	functions.
2952	(html_printer::end_of_line): Updated.
2953	(generate_img_src, html_printer::do_auto_image,
2954	html_printer::do_title, html_printer::write_header,
2955	html_printer::determine_header_level, html_printer::do_heading,
2956	html_printer::do_linelength, html_printer::do_pageoffset,
2957	html_printer::do_indentation, html_printer::do_tempindent,
2958	html_printer::do_indentedparagraph, html_printer::do_break,
2959	html_printer::flush_sbuf, get_html_translation,
2960	html_printer::begin_page, html_printer::special): Rewritten to get
2961	rid of static string length limit.
2962	(html_printer::troff_tag): Added `.no-auto-rule'.
2963	(html_printer::flush_globs): Small fix.
2964	(html_printer::determine_space): Don't compute `space_width'.
2965	(html_printer::translate_to_html): Renamed to ...
2966	(html_printer::emit_html): This (with updates).
2967	(html_printer::write_header): Implement `-h' option.
2968	(html_printer::draw): Remove commented-out code.  Handle `F'
2969	command.
2970	(html_printer::add_char_to_sbuf): Removed.
2971	(html_printer::add_to_sbuf): Rewritten.
2972	(html_printer::sbuf_continuation): Fixed.
2973	(html_printer::seen_backwards_escape, reverse,
2974	html_printer::remove_last_char_from_sbuf): Removed.
2975	(char_translate_to_html, str_translate_to_html): Removed.
2976	(html_printer::overstrike): New function member.
2977	(html_printer::set_char): Use it.
2978	(html_printer::do_body): New function member.
2979	(html_printer::~html_printer): Use it.
2980	(main): Handle `-h' option.
2981	(usage): Updated.
2982	* src/devices/grohtml/grohtml.man: Document -h switch.
2983
2984	* src/preproc/html/pre-html.cc: Include searchpath.h
2985	Replace `POSTSCRIPTRES' macro with `postscriptRes' variable.
2986	(get_resolution): New function.
2987	(checkImageDir): Use `0777' permissions in mkdir()
2988	(write_start_image): Rewritten to use `\O[5...]'.
2989	(createImage, generateImages): Updated.
2990	(main): Handle `F' and `h' options.
2991	Use `get_resolution'.
2992
2993	* src/roff/troff/input.cc (begin, end, image): Removed.
2994	(do_suppress): Take parameter.
2995	Handle modified syntax of `\O'.
2996	(token::next): Updated.
2997	(init_markup_requests): Removed.
2998	(main): Updated.
2999
3000	* src/roff/troff/div.h: Add declaration for begin_page().
3001
3002	* tmac/color-html.tmac: Removed.  Contents moved to...
3003	* tmac/html.tmac: Here.  Set background color.
3004	* tmac/color.tmac: Removed.  Contents moved to...
3005	* tmac/ps.tmac: Here.
3006	* tmac/www.tmac: Remove the title command when generating images
3007	for html.
3008	(NO_AUTO_RULE): New macro.
3009	(HTML_DO_IMAGE): Use revised `\O' escapes.
3010	* tmac/Makefile.sub, tmac/groff_www.man, tmac/troffrc: Updated.
3011
30122001-12-02  Werner LEMBERG  <wl@gnu.org>
3013
3014	* tmac/groff_mdoc.man: Fix typo.
3015
30162001-12-01  Colin Watson  <cjwatson@debian.org>
3017
3018	* man/roff.man: Fix typo.
3019
30202001-11-29  Werner LEMBERG  <wl@gnu.org>
3021
3022	* src/libs/libbib/map.c, src/utils/pfbtops/pfbtops.c: Include
3023	stdlib.h.
3024
3025	* src/roff/troff/input.cc (read_draw_node): Emit error message if
3026	more than one argument to \D'f ...'.
3027
3028	* tmac/Makefile.sub (NORMALFILES): Add lbp.tmac.
3029
30302001-11-28  Werner LEMBERG  <wl@gnu.org>
3031
3032	* tmac/an-old.tmac, tmac/doc.tmac: Assure that the macro package is
3033	loaded only once.
3034
3035	* tmac/groff_man.man: Minor cosmetic fix.
3036
30372001-11-27  Werner LEMBERG  <wl@gnu.org>
3038
3039	* src/roff/groff/groff.man, tmac/groff_tmac.man,
3040	tmac/groff_www.man: s/mwww/www/.
3041
30422001-11-26  Werner LEMBERG  <wl@gnu.org>
3043
3044	* aclocal.m4 (GROFF_MKSTEMP): Implement test using C++ linkage.
3045	* configure: Regenerated.
3046	* win32-diffs: Updated.
3047
3048	* tmac/groff_mwww.tmac: Renamed to ...
3049	* tmac/groff_www.tmac: This.
3050	* tmac/mwww.tmac: Removed.
3051	* NEWS, tmac/Makefile.sub: Updated.
3052
30532001-11-21  Werner LEMBERG  <wl@gnu.org>
3054
3055	* doc/groff.texinfo: Improve documentation of the `\v' escape.
3056	Fix explanation of `\D' and `rt'.
3057
30582001-11-20  Werner LEMBERG  <wl@gnu.org>
3059
3060	* tmac/an-old.tmac (an-header): Set header length equal to page
3061	width.
3062	* doc/groff.texinfo: Improve documentation of `ne' request.  Other
3063	minor fixes.
3064	* NEWS: Small fix.
3065
30662001-11-19  Werner LEMBERG  <wl@gnu.org>
3067
3068	* NEWS, man/Makefile.sub: Updated.
3069
30702001-11-19  Bernd Warken  <bwarken@mayn.de>
3071
3072	* man/ditroff.man: New file.
3073
30742001-11-17  Werner LEMBERG  <wl@gnu.org>
3075
3076	* man/groff_differences.man: Renamed to ...
3077	* man/groff_diff.man: This.  Updated.
3078	* man/Makefile.sub, src/roff/troff/troff.man, NEWS: Updated.
3079
3080	* src/preproc/html/pushbackbuffer.cc: Renamed to ...
3081	* src/preproc/html/pushback.cc: This.  Updated.
3082	* src/preproc/html/pushbackbuffer.h: Renamed to ...
3083	* src/preproc/html/pushback.h: This.
3084	* src/preproc/html/Makefile.sub, src/preproc/html/pre-html.cc:
3085	Updated.
3086
3087	* src/libs/libgroff/htmlindicate.cc: Renamed to ...
3088	* src/libs/libgroff/htmlhint.cc: This.
3089	* src/libs/libgroff/Makefile.sub: Updated.
3090
3091	* tmac/an-old.tmac (an-end): Fix page length.
3092
30932001-11-16  Werner LEMBERG  <wl@gnu.org>
3094
3095	* NEWS, man/groff_differences.man, doc/groff.texinfo: Updated.
3096	* man/Makefile.sub: Include groff_differences.man.
3097	* VERSION: Set to 1.18.
3098	* REVISION: Set to 0.
3099
31002001-11-16  Bernd Warken  <bwarken@mayn.de>
3101
3102	* src/roff/troff/input.cc (do_define_macro): Allow whitespace before
3103	the second dot (or ending macro name) to end a macro.
3104	* doc/groff.texinfo: Doc fix.
3105
31062001-11-16  Ruslan Ermilov  <ru@FreeBSD.org>
3107
3108	* tmac/doc-common (doc-header): Handle very long document titles
3109	better.
3110
31112001-11-16  Werner LEMBERG  <wl@gnu.org>
3112
3113	* tmac/doc.tmac (doc-do-Bl-args): Fix .substring requests.
3114
31152001-11-15  Werner LEMBERG  <wl@gnu.org>
3116
3117	* src/roff/troff/troff.man: Revised and split into troff.man and...
3118	* man/groff_differences.man: New file.
3119	* NEWS: Updated.
3120
31212001-11-13  Werner LEMBERG  <wl@gnu.org>
3122
3123	* tmac/an-old.tmac (TS, TE): New macros for table support.
3124
31252001-11-12  Werner LEMBERG  <wl@gnu.org>
3126
3127	* src/include/lib.h: Provide a fix for emx to not include
3128	groff-getopt.h.
3129
31302001-10-27  Werner LEMBERG  <wl@gnu.org>
3131
3132	* src/roff/troff/input.cc (substring_macro): Fix computation of
3133	boundary values.
3134
31352001-10-20  Werner LEMBERG  <wl@gnu.org>
3136
3137	Undo change from 2001-08-28.
3138
3139	* src/roff/troff/input.cc (have_input): New global variable.
3140	(token::next): Set `have_input' for \f, \H, \R, \s, and \S if not
3141	in compatibility mode.
3142	(process_input_stack): Use it.
3143
31442001-10-19  Ruslan Ermilov  <ru@FreeBSD.org>
3145
3146	* tmac/doc.tmac (doc-flag-recursion): Protect arguments against
3147	being handled as end-of-sentence characters,
3148
31492001-10-10  Gaius Mulley  <gaius@glam.ac.uk>
3150
3151	* src/roff/troff/input.cc (file_iterator): New members
3152	`suppress_newline_flag' and `seen_escape'.
3153	(file_iterator::next_file): Updated.
3154	(file_iterator::fill): Use it.
3155	(string_iterator): New member `suppress_newline_flag'.
3156	(string_iterator::fill): Set it.
3157	(get_color_element): Use MAX_COLOR_VAL.
3158	* src/roff/troff/env.cc (environment): Remove `need_eol'.
3159	(no_fill): Don't set `env->ignore_next_eol'.
3160	(environment::newline): Handle `eol' tag properly.
3161	Emit `eol.ce'.
3162	(environment::add_html_tag): Set `env->ignore_next_eol'.
3163	Don't handle `.ce'.
3164	* src/roff/troff/env.h (environment): Updated.
3165
3166	* src/devices/grohtml/post-html.cc (text_glob::is_eol_ce): New
3167	member function.
3168	(html_printer::outstanding_eol): New member function.
3169	(html_printer::do_title): Use new functions.
3170	(html_printer::troff_tag): Test `id_eol_ce'.
3171
31722001-10-10  Werner LEMBERG  <wl@gnu.org>
3173
3174	* tmac/color.tmac, tmac/color-html.tmac: Use `.do' to make those
3175	files work with -C also.
3176
31772001-10-05  Werner LEMBERG  <wl@gnu.org>
3178
3179	* doc/pic.ms: Minor fix.
3180	* src/preproc/html/pre-html.cc (scanArguments): Don't handle `-?'
3181	as a valid command line switch.
3182	* src/devices/grohtml/post-html.cc (main): Ditto.
3183	(usage): Updated.
3184	* src/devices/grohtml/grohtml.man: Updated.
3185	* src/roff/groff/groff.cc (main): Pass `-v' to predriver also.
3186
31872001-10-04  Werner LEMBERG  <wl@gnu.org>
3188
3189	Implementing color support in troff, pic, grops, and grohtml.  These
3190	changes are based on a major patch provided by Gaius Mulley
3191	<gaius@glam.ac.uk>.
3192
3193	New request: `defcolor', supporting rgb, cmy, cmyk, and gray
3194	definitions with both hex values and fractions.
3195
3196	New escapes: \m and \M for drawing and background color,
3197	respectively.  This corresponds to the troff output commands `m'
3198	and `DF'.
3199
3200	groff and troff accept command line switch `-c' to disable color
3201	output (which is automatically disabled in compatibility mode).
3202
3203	New scaling indicator `f' for fractions (1f = 65536u).
3204
3205	New conditional operator `m' to test for defined colors with `if'
3206	and `ie'.
3207
3208	New keywords `color' (or `colour', `colored', `coloured'), `outline'
3209	(or `outlined'), and `shaded' added to pic.
3210
3211	* src/include/color.h: New file.
3212	* src/include/driver.h: Include it.
3213	* src/include/printer.h: Include color.h.
3214	(environment): New members `col' and `fill'.
3215	(printer): Remove `adjust_arc_center' member function.
3216	* src/include/Makefile.sub: Updated.
3217
3218	* src/libs/libdriver/input.cc (do_file): Initialize `env.col' and
3219	`env.fill'.
3220	Handle `m' and `DF' troff commands.
3221	* src/libs/libgroff/color.cc: New file.
3222	* src/libs/libgroff/Makefile.sub: Updated.
3223
3224	* src/preproc/html/pre-html.cc (IMAGE_BORDER_PIXELS): Set to 2.
3225	(stop): Removed.
3226	(createImage): Fix computation of `y2'.
3227	Use `pnmcrop' also.
3228	(buffer::write_file_html): Remove calls to `stop'.
3229
3230	* src/preproc/pic/common.h (common_output): New abstract function
3231	members `set_color', `reset_color', `get_last_filled', and
3232	`get_outline_color'.
3233	* src/preproc/pic/object.h: Add `IS_SHADED' and `IS_OUTLINED'.
3234	(object_spec): Add members `shaded' and `outlined'.
3235	* src/preproc/pic/output.h (output): `command' is now abstract.
3236	New function members `set_color', `reset_color', `get_last_filled',
3237	and `get_outline_color'.
3238	* src/preproc/pic/lex.cc (lookup_keyword): Recognize `colo[u]r[ed]',
3239	`outline[d]', and `shaded'.
3240	* src/preproc/pic/object.cc (output::command): Removed.
3241	(output::set_location):	Moved to output.h.
3242	(graphic_object): Add protected members `outline_color' and
3243	`color_fill'.
3244	Add member functions `set_outline_color', `get_outline_color', and
3245	`set_fill_color'.
3246	(closed_object): Add member function `set_fill_color'.
3247	Add member `color_fill'.
3248	(graphic_object::print_text): Use `out->set_color' and
3249	`out->reset_color'.
3250	(box_object::print, ellipse_object::print, circle_object::print,
3251	line_object::print, spline_object::print, arc_object::print): Ditto.
3252	(object_spec::make_object): Implement `IS_OUTLINED' and `IS_SHADED'.
3253	* src/preproc/pic/pic.y: Add tokens `COLORED', `OUTLINED', and
3254	`SHADED', making them `%left'.
3255	Add rules `object_spec [SHADED|COLORED|OUTLINED] text'.
3256	* src/preproc/pic/tex.cc (tex_output): New dummy function members
3257	`set_color', `reset_color', `get_last_filled', and
3258	`get_outline_color'.
3259	* src/preproc/pic/troff.cc (simple_output): New abstract function
3260	members `set_color', `reset_color', and `get_last_filled'.
3261	(simple_output::polygon, simple_output::circle,
3262	simple_output::ellipse): Use `get_last_filled'.
3263	(troff_output): New members `last_filled' and `last_outlined'.
3264	New function members `set_color', `reset_color', `get_last_filled',
3265	and `get_outline_color'.
3266	(troff_output::finish_picture): Use `reset_color'.
3267	(troff_output::set_fill): Test `last_filled'.
3268	* src/preproc/pic/pic.man: Updated.
3269
3270	* src/roff/groff/groff.cc (main): Implement `-c' option.
3271	(synopsis, help): Updated.
3272	src/roff/groff/groff.man: Updated.
3273
3274	* src/roff/troff/troff.h: Include color.h.
3275	(warning_type): Add WARN_COLOR.
3276	* src/roff/troff/env.h (environment): New members
3277	`{cur,prev}_{glyph,fill}_color'.
3278	New member functions `get_{prev_,}{glyph,fill}_color'.
3279	* src/roff/troff/env.cc: Initialize and implement them.
3280	* src/roff/troff/input.cc: New global variable `disable_color_flag'.
3281	Replace `NULL' with `0' everywhere for consistency.
3282	(lookup_color, default_black, do_glyph_color, do_fill_color,
3283	get_color_element, read_rgb, read_cmy, read_cmyk, read_gray,
3284	define_color): New functions.
3285	(token::next): Implement \M and \m escapes.
3286	(do_if_request): Implement `m' operator.
3287	(usage): Updated.
3288	(main): Implement `-c' option.
3289	(init_markup_requests): Add `defcolor' request.
3290	(warning_table): Add `color' warning.
3291	* src/roff/troff/node.h (glyph_color_node, fill_color_node): New
3292	classes.
3293	* src/roff/troff/node.cc (troff_output_file): New members
3294	`current_{page,glyph}color'.  New member functions `put_hex',
3295	`glyph_color', and `fill_color'.
3296	(glyph_color_node::*, fill_color_node::*): Implement it.
3297	* src/roff/troff/number.cc (SCALE_INDICATOR_CHARS): Add `f'.
3298	(parse_term): Add support for `f'.
3299	* src/roff/troff/troff.man: Updated.
3300
3301	* src/devices/grodvi/dvi.cc (draw_dvi_printer::draw): Add dummy
3302	entry for `F'.
3303	* src/devices/grolbp/lbp.cc (lbp_printer::draw): Ditto.
3304	* src/devices/grolj4/lj4.cc (lj4_printer::draw): Ditto.
3305
3306	* src/devices/grohtml/html-text.h (HTML_TAG): Add COLOR_TAG.
3307	(tag_definition): Use `void *' for arg1.
3308	(html_text): New member functions `do_color' and `done_color'.
3309	Use `void *' for second parameter of `push_para' member function.
3310	New `push_para' member function with a single parameter.
3311	Use `char *' for parameter of `issue_table_begin' member funtion.
3312	New `issue_color_begin' member function.
3313	* src/devices/grohtml/html-text.cc (html_text::end_tag): Handle
3314	COLOR_TAG.
3315	(html_text::issue_color_begin): New function.
3316	(html_text::issue_table_begin): Use `char *' for parameter.
3317	(html_text::start_tag, html_text::shutdown,
3318	html_text::check_emit_text): Updated.
3319	(html_text::push_para): Use `void *' for second parameter.
3320	Add same function with only one parameter.
3321	(html_text::do_*): Updated.
3322	(html_text::do_color, html_text::done_color): New functions.
3323	* src/devices/grohtml/post-html.cc (style): New member `col'.
3324	Mew member `style' with 6 parameters.
3325	(style::style, style::operator==): Updated.
3326	(html_printer::do_font): Use it.
3327	(html_printer::draw): Add dummy entry for `F'.
3328	(html_printer::set_char): Updated.
3329	* src/devices/grohtml/grohtml.man: Updated.
3330
3331	* src/devices/grops/ps.cc (ps_output::put_float): Use `%g' to have
3332	trailing zeroes removed.
3333	(ps_printer): New members `sbuf_color', `fill_color', and
3334	`output_color'.
3335	Removed member `fill'.
3336	New member function `set_color'.
3337	(ps_printer::ps_printer, ps_printer::set_char): Updated.
3338	(ps_printer::flush_sbuf, ps_printer::set_line_thickness,
3339	ps_printer::fill_path, ps_printer::draw): Use `set_color'.
3340
3341	* tmac/color-html.tmac, tmac/color.tmac: New files.
3342	* tmac/troffrc: Include them.
3343	* tmac/www.tmac (URL, FTP, MAILTO): Use blue color.
3344	* tmac/Makefile.sub: Updated.
3345
3346	* NEWS, doc/groff.texinfo, doc/pic.ms, man/groff_out.man,
3347	man/groff.man: Updated.
3348	* font/devps/prologue.ps: Define FC and CO functions.
3349
33502001-10-04  Gaius Mulley  <gaius@glam.ac.uk>
3351
3352	Fix incorrect cropping of images and incorrect handling of special
3353	characters.  Fix handling of file names in \O.
3354
3355	* src/include/geometry.h: New file.
3356	* src/libs/libgroff/geometry.cc: New file.
3357	* src/libs/libdriver/printer.cc (printer::adjust_arc_center): Moved
3358	to `geometry.cc'.
3359	* src/roff/troff/input.cc (get_delim_file_name): Fixed problem with
3360	initial spaces.
3361	(do_suppress): Updated.
3362	* src/roff/troff/node.cc: Include geometry.h.
3363	(troff_output_file::flush_tbuf): Fixed parameters to
3364	`check_output_limits'.
3365	(troff_output_file::check_charinfo): Ditto.
3366	(troff_output_file::determine_line_limits): Add support for `Da'
3367	and `Dl' commands.
3368
3369	* src/devices/grohtml/post-html.cc (str_translate_to_html):
3370	Add new parameter `is_special' to decode special characters from
3371	escape sequences.
3372	(html_printer::do_title, html_printer::do_heading,
3373	html_printer::do_indentedparagraph,
3374	html_printer::translate_to_html, html_printer::special): Updated.
3375
33762001-10-03  Werner LEMBERG  <wl@gnu.org>
3377
3378	* Makefile.sub (DISTCLEANFILES): Add stamp-h.
3379	Fix entry for config.h.
3380	* test-groff (GROFF_BIN_PATH): Add $builddir/roff/groff.
3381	* tmac/troffrc: Translate nonbreakable space character to `\~'.
3382	* src/preproc/eqn/eqn.man: Document -d command line option.
3383
33842001-09-27  Werner LEMBERG  <wl@gnu.org>
3385
3386	* man/groff.man: Use
3387
3388	  .ev xxx
3389	  .na
3390	  .nh
3391	  <table>
3392	  .ev
3393
3394	instead of the old code (`.ad .hy' after the table) to suppress
3395	incorrect hyphenation for grohtml output.
3396
33972001-09-22  Werner LEMBERG  <wl@gnu.org>
3398
3399	* man/groff_font.man, man/groff_out.man: Minor fixes.
3400
34012001-09-20  Werner LEMBERG  <wl@gnu.org>
3402
3403	* PROBLEMS: Updated, reordered.  Improved EPS section (thanks to
3404	Arnold Robbins <arnold@skeeve.com>).
3405
34062001-09-09  Werner LEMBERG  <wl@gnu.org>
3407
3408	* configure: Regenerated with autoconf 2.52.
3409
3410	* doc/groff.texinfo: Complete revision of indices.
3411
34122001-09-07  Werner LEMBERG  <wl@gnu.org>
3413
3414	* doc/Makefile (clean): Updated to delete all indices.
3415
34162001-09-05  Werner LEMBERG  <wl@gnu.org>
3417
3418	* src/roff/troff/troff.man: Remove superfluous line.
3419
3420	* tmac/s.tmac: Enable all warnings only if no -W or -w option is
3421	given on the command line (or rather, if only the default warnings
3422	are set).
3423
34242001-09-03  Werner LEMBERG  <wl@gnu.org>
3425
3426	* man/groff.man, src/preproc/eqn/eqn.man, tmac/groff_mdoc.man: Don't
3427	use .ne for TTY devices.
3428
34292001-08-31  Werner LEMBERG  <wl@gnu.org>
3430
3431	* src/roff/troff/token.h, src/roff/troff/input.cc:
3432	s/TOKEN_TRANSPARENT_ESCAPE/TOKEN_OPAQUE_ESCAPE/.
3433
34342001-08-28  Werner LEMBERG  <wl@gnu.org>
3435
3436	* src/roff/troff/token.h (token_type): Add TOKEN_TRANSPARENT_ESCAPE.
3437	* src/roff/troff/input.cc (token::next): Return
3438	TOKEN_TRANSPARENT_ESCAPE for \f, \H, \R, \s, and \S if not in
3439	compatibility mode.
3440	(token::description): Updated.
3441	(process_input_stack): Reset `bol' for TOKEN_TRANSPARENT_ESCAPE.
3442	(token::add_to_node_list, token::process): Ignore
3443	TOKEN_TRANSPARENT_ESCAPE.
3444
34452001-08-27  Werner LEMBERG  <wl@gnu.org>
3446
3447	* tmac/an-old.tmac: Fix `S' string.
3448
34492001-08-26  Werner LEMBERG  <wl@gnu.org>
3450
3451	* src/roff/troff/troff.man: Don't use .ne for TTY devices.
3452
34532001-08-25  Werner LEMBERG  <wl@gnu.org>
3454
3455	* doc/pic.ms: Replace `\\' with `\e' (and fixing some single
3456	backslashes).
3457	Many other minor fixes.
3458
3459	* configure.ac: Add message at end to inform how to compile
3460	xditview.
3461	* configure: Regenerated.
3462
34632001-08-24  Werner LEMBERG  <wl@gnu.org>
3464
3465	* src/include/getopt.h, src/libs/libgroff/{getopt.c, getopt1.c}:
3466	Updated to latest version of libc.
3467
34682001-08-23  Werner LEMBERG  <wl@gnu.org>
3469
3470	* configure.ac: Don't create subdirectories before AC_CONFIG_FILES.
3471	Autoconf 2.50 and newer can handle this.
3472	* configure: Regenerated.
3473
34742001-08-21  Werner LEMBERG  <wl@gnu.org>
3475
3476	* doc/pic.ms: Fix typo.
3477	* src/preproc/tbl/tbl.man: Document case of global options.
3478
34792001-08-21  Gaius Mulley  <gaius@glam.ac.uk>
3480
3481	* src/devices/grohtml/post-html.cc (html_printer::end_font): Fix
3482	handling of `CR' font.
3483
34842001-08-20  Werner LEMBERG  <wl@gnu.org>
3485
3486	Use a config.h file.
3487
3488	* src/include/lib.h: Include config.h.
3489	* All C files: Ditto (if necessary).
3490	* All C++ source and header files: Include lib.h first (if
3491	necessary).
3492
3493	* src/include/config.hin: New file (autogenerated by autoheader).
3494	* stamp-h.in: New file.
3495	* configure.ac: Updated.
3496	* aclocal.m4: Add third parameters to AC_DEFINE macros.
3497	(GROFF_ARRAY_DELETE): Simplified.
3498	* Makefile.sub (DISTCLEANFILES): Updated.
3499	Added targets for remaking config.status, config.hin, config.h,
3500	stamp-h.in, and stamp-h.
3501	* configure: Regenerated.
3502
35032001-08-19  Werner LEMBERG  <wl@gnu.org>
3504
3505	* NEWS: Updated.
3506
35072001-08-18  Sebastian Krahmer  <krahmer@suse.de>
3508
3509	* src/preproc/pic/pic.y (format_number): Use do_sprintf().
3510	(do_sprintf): Use snprintf().
3511
35122001-08-18  Werner LEMBERG  <wl@gnu.org>
3513
3514	* src/libs/snprintf/*: Added an snprintf module written by Mark
3515	Martinec.
3516	* src/libs/libgroff/Makefile.sub: Updated.
3517	* configure.ac: Add test for snprintf().
3518	* Makefile.in: Updated.
3519	* configure: Regenerated.
3520
3521	* src/preproc/html/pre-html.cc (make_message): Reactivate code which
3522	uses snprintf().
3523
35242001-08-14  Ruslan Ermilov  <ru@FreeBSD.org>
3525
3526	* tmac/doc.tmac (Ex): New implementation.
3527	* tmac/doc-common, tmac/groff_tmac.man: Updated.
3528
35292001-08-13  Ruslan Ermilov  <ru@FreeBSD.org>
3530
3531	* tmac/doc.tmac (Rv): Implement support for 0 or more than 1
3532	argument.
3533	* tmac/groff_tmac.man: Updated.
3534
35352001-08-13  Werner LEMBERG  <wl@gnu.org>
3536
3537	* src/preproc/tbl/tbl.man: Minor documentation update.
3538
35392001-08-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3540
3541	* src/libs/libgroff/tmpname.cc: Add prototype for gettimeofday().
3542	* configure.ac: Add declaration test for gettimeofday().
3543	* Makefile.in: Document NEED_DECLARATION_GETTIMEOFDAY defines.
3544	* aclocal.m4: Include sys/time.h for gettimeofday declaration test.
3545	* configure: Regenerated.
3546
35472001-08-11  Werner LEMBERG  <wl@gnu.org>
3548
3549	* aclocal.m4 (GROFF_MKSTEMP): Define HAVE_MKSTEMP.
3550	* configure.ac: Add declaration test for strcasecmp().
3551	* Makefile.in: Updated.
3552	* configure: Regenerated.
3553	* src/include/lib.h [!HAVE_MKSTEMP]: Add prototype for mkstemp() --
3554	this is necessary because groff's mkstemp.cc is C++.
3555	Add declaration conditionally for strcasecmp().
3556
35572001-08-10  Werner LEMBERG  <wl@gnu.org>
3558
3559	Integrated pic2graph, contributed by Eric S. Raymond.
3560
3561	* contrib/pic2graph/{Makefile.sub, pic2graph.sh, pic2graph.man}: New
3562	files.
3563	* Makefile.in, NEWS: Updated.
3564
3565	* src/preproc/tbl/tbl.man: Revised.
3566
35672001-08-09  Eric S. Raymond  <esr@thyrsus.com>
3568
3569	* src/preproc/tbl/tbl.man: Extended to cover all tbl features.
3570
35712001-08-09  Werner LEMBERG  <wl@gnu.org>
3572
3573	* src/preproc/tbl/main.cc (process_data): Fix recognition of .lf
3574	requests.
3575
35762001-08-08  Paul Eggert  <eggert@twinsun.com>
3577
3578	* Makefile.sub (configure): Depend on configure.ac, not
3579	configure.in.
3580	* INSTALL.gen: Upgrade to autoconf 2.52's INSTALL.
3581
35822001-08-07  Werner LEMBERG  <wl@gnu.org>
3583
3584	* src/utils/afmtodit/afmtodit.man, src/roff/groff/groff.man: Minor
3585	fixes.
3586
35872001-08-06  Werner LEMBERG  <wl@gnu.org>
3588
3589	* src/roff/troff/troff.man: Improve documentation of -E option.
3590
35912001-07-28  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
3592
3593	* src/preproc/html/pushbackbuffer.cc (pushBackBuffer::readNumber):
3594	Simplified.
3595
35962001-07-27  Werner LEMBERG  <wl@gnu.org>
3597
3598	* src/preproc/refer/refer.cc: Undo last change.
3599	* src/devices/grohtml/post-html.cc: Ditto.
3600
36012001-07-26  Werner LEMBERG  <wl@gnu.org>
3602
3603	* src/preproc/refer/refer.cc: Include `lib.h'.
3604	* src/devices/grohtml/post-html.cc: Ditto.
3605
36062001-07-25  Gaius Mulley  <gaius@glam.ac.uk>
3607
3608	* aclocal.m4 (GROFF_PAGE): Add `AC_DEFINE(PAGEA4)'.
3609	* src/preproc/html/pre-html.cc: Use it for DEFAULT_VERTICAL_OFFSET.
3610	* Makefile.in: Comment updated.
3611	* configure: Regenerated.
3612
36132001-07-25  Werner LEMBERG  <wl@gnu.org>
3614
3615	* src/preproc/pic/pic.cc: Removed.
3616	* src/preproc/pic/pic_tab.h: Removed.
3617	* src/preproc/refer/label.cc: Removed.
3618
3619	* doc/Makefile (.ms.html): Don't use a file name extension in
3620	argument to grohtml's -I option.
3621	* Makefile.in (dist): Remove CVS directories.
3622	Call `distfiles' target.
3623
3624	* src/devices/grohtml/grohtml.man: Add information about valid
3625	versions of pnmtopng.
3626	* src/preproc/html/pre-html.cc (TRANSPARENT): Use `white' as colour
3627	name instead of number.
3628
36292001-07-24  Werner LEMBERG  <wl@gnu.org>
3630
3631	* doc/groff.texinfo: Minor fixes.
3632
36332001-07-21  Gaius Mulley  <gaius@glam.ac.uk>
3634
3635	* doc/Makefile (.ms.html): Put image files into a subdirectory.
3636	(clean): Updated.
3637
36382001-07-20  Werner LEMBERG  <wl@gnu.org>
3639
3640	* src/libs/libgroff/tmpname.cc: New file, defining get_tempname().
3641	* src/libs/libgroff/mkstemp.cc: New file.
3642	* src/libs/libgroff/mksdir.cc: New file.
3643	* src/libs/libgroff/tmpfile.cc [HAVE_MKSTEMP_PROTO]: Removed.
3644	(xtmpfile) [!HAVE_MKSTEMP]: Removed.
3645	* src/libs/libgroff/Makefile.sub: Updated.
3646	* src/include/lib.h: Add mksdir() prototype.
3647	* src/include/posix.h: Define S_IXUSR if not yet defined.
3648
3649	* src/preproc/html/pre-html.cc (MAX_RETRIES): Removed.
3650	(createAllPages): Use mksdir() instead of current code.
3651	* src/utils/indxbib/indxbib.cc [HAVE_MKSTEMP_PROTO]: Removed.
3652	(main): [!HAVE_MKSTEMP]: Removed.
3653
3654	* aclocal.m4 (GROFF_MKSTEMP): Updated to use new mkstemp.cc file.
3655	(GROFF_INTTYPES_H, GROFF_UNSIGNED_LONG_LONG, GROFF_UINTMAX_T): New
3656	macros.
3657	* configure.ac: Add tests for stdint.h, sys/time.h, and
3658	gettimeofday().
3659	Call new GROFF_xxx macros.
3660	* configure: Regenerated.
3661	* Makefile.in: Comments updated.
3662
36632001-07-20  Gaius Mulley  <gaius@glam.ac.uk>
3664
3665	* src/preproc/html/pre-html.cc (scanArguments): Use getopt_long()
3666	instead of current code.
3667	* src/devices/grohtml/post-html.cc (main): Handle `-d' option.
3668	* src/roff/groff/groff.cc (possible_command::insert_args): New
3669	function.
3670	(main): Use it for predriver handling instead of insert_arg().
3671
36722001-07-19  Werner LEMBERG  <wl@gnu.org>
3673
3674	* doc/Makefile: Added GROFF_BIN_PATH to make it work with uninstalled
3675	groff also.
3676
3677	* src/include/posix.h: Define S_IWUSR if not yet defined.
3678
36792001-07-18  Werner LEMBERG  <wl@gnu.org>
3680
3681	* NEWS: Updated.
3682
36832001-07-18  Ruslan Ermilov  <ru@FreeBSD.org>
3684
3685	* tmac/groff_mdoc.man: Document new -width and -column syntax.
3686	Some other minor fixes.
3687	* tmac/an-old.tmac: Add `AT' and `UC' macros.
3688
36892001-07-17  Gaius Mulley  <gaius@glam.ac.uk>
3690
3691	Replace call to `troff' with `groff -Z' to make it aware of
3692	GROFF_BIN_PATH.
3693
3694	* src/preproc/html/pre-html.cc (TROFF_COMMAND): New macro.
3695	(troff_command, command_prefix): Removed.
3696	(alterDeviceTo): Use groff.
3697	(addZ): New function.
3698	(char_buffer::do_html): Use it.
3699	(scanArguments): Use TROFF_COMMAND.
3700	(findPrefix): Removed.
3701	(main): Updated.
3702	* src/roff/groff/groff.cc (main): Handle zflag for preprocessors.
3703
37042001-07-17  Eric S. Raymond  <esr@snark.thyrsus.com>
3705
3706	* doc/pic.ms: Documentation fixes.
3707
37082001-07-17  Werner LEMBERG  <wl@gnu.org>
3709
3710	Replace atexit() with global destructor.
3711
3712	* src/libs/libgroff/tmpfile.cc (xtmpfile_list): Add constructor.
3713	(xtmpfile_list_init): New global structure to deallocate
3714	xtmpfile_list on exit.  Its destructor inherits most code from
3715	remove_tmp_files().
3716	(remove_tmp_files): Deleted.
3717	(add_tmp_file): Simplified.
3718
37192001-07-16  Werner LEMBERG  <wl@gnu.org>
3720
3721	Replace strdup() with strsave().
3722
3723	* src/devices/grolbp/lbp.cc [!HAVE_STRDUP]: Removed.
3724	(set_papersize): Use strsave() and a_delete.
3725	(main): Use strsave().
3726	* src/preproc/html/pre-html.cc (make_message, createAllPages,
3727	removeAllPages): Use strsave() and a_delete.
3728
3729	* configure.ac: Remove test for strdup.
3730	* Makefile.in: Comment updated.
3731	* configure: Regenerated.
3732
37332001-07-15  Werner LEMBERG  <wl@gnu.org>
3734
3735	* win32-diffs: Updated.
3736
37372001-07-14  Werner LEMBERG  <wl@gnu.org>
3738
3739	* src/preproc/html/pre-html.cc (makeTempFiles): Activate new code,
3740	removing the old one.
3741	* src/utils/indxbib/indxbib.cc (main): Remove compiler warning.
3742
37432001-07-14  Ralph Corderoy  <ralph@inputplus.demon.co.uk>
3744
3745	* src/libs/libgroff/tmpfile.cc (xtmpfile): Fix guard for `namep'.
3746
37472001-07-12  Ruslan Ermilov  <ru@FreeBSD.org>
3748
3749	Merge -xwidth into -width.  Add -xwidth functionality to -column
3750	also.
3751
3752	* tmac/doc.tmac (Bl): Add dummy doc-typeXXX and doc-spaceXXX to
3753	avoid warning.
3754	(doc-do-Bl-args): Merge -xwidth code with -width.  Test whether
3755	string immediately following a leading dot starts with a valid mdoc
3756	argument.
3757	Add similar code to the -column branch.
3758	(doc-Bl-usage): Updated.
3759	* groff_mdoc.man: s/-xwidth/-width/.
3760
37612001-07-12  Gaius Mulley  <gaius@glam.ac.uk>
3762
3763	* src/devices/grohtml/post-html.cc (text_glob::is_br): Stop titles
3764	running into centered or non-formatted text.
3765
37662001-07-11  Werner LEMBERG  <wl@gnu.org>
3767
3768	Introduce short and long prefixes to have the selection at run-time
3769	whether there is a 8+3 limit for names of temporary files.
3770
3771	* src/libs/libgroff/tmpfile.cc (TMPFILE_PREFIX): Replaced with...
3772	(TMPFILE_PREFIX_SHORT, TMPFILE_PREFIX_LONG): This.
3773	(tmpfile_prefix, tmpfile_prefix_len, use_short_prefix): New
3774	variables.
3775	(temp_init): New global structure to initialize above three
3776	variables.
3777	(xtmptemplate): Use two parameters for long and short prefix.
3778	Simplify code use above three variables.
3779	(xtmpfile): Use long and short prefixes as parameters.
3780	* src/include/lib.h: Updated.
3781
3782	* src/preproc/html/pre-html.cc ({PAGE,PS,REGION}_TEMPLATE): Replace
3783	with ...
3784	({PAGE,PS,REGION}_TEMPLATE_{SHORT,LONG}): This.
3785	(createAllPages, makeTempFiles): Updated.
3786
37872001-07-09  Werner LEMBERG  <wl@gnu.org>
3788
3789	* REVISION: Increased to 3.
3790
3791Local Variables:
3792version-control: never
3793coding: latin-1
3794End:
3795