ChangeLog revision 69626
12000-07-31  Werner LEMBERG  <wl@gnu.org>
2
3	Preparing release 1.16.1.
4
5	* REVISION: Revision number set to 1.
6	* MORE.STUFF: Added info about port to DOS.
7	* NEWS, win32-diffs: Updated.
8
9	* src/include/nonposix.h: Remove first line -- this file is used
10	in C also.
11
12	* Makefile.in (dist): Delete Imakefile earlier to avoid a soft
13	link to it.
14
152000-07-30  Werner LEMBERG  <wl@gnu.org>
16
17	* doc/texinfo.tex: Update to latest version.
18
192000-06-28  Paul Eggert  <eggert@twinsun.com>
20
21	* Makefile.in (ENVSETUP): Don't assume POSIX make semantics for
22	commands that fail.  Don't assume that "export a=b" is valid shell
23	syntax.  This is needed for Solaris 2.5.1.
24
25	* src/libs/libgroff/tmpfile.cc, src/utils/indxbib/indxbib.cc: Fix
26	comment about missing Solaris headers.
27
28	* PROBLEMS: Add section about problems with Sun Make and VPATH.
29
302000-06-25  Werner LEMBERG  <wl@gnu.org>
31
32	* src/devics/grodvi/dvi.cc: Replace _setmode() (for MSC) with
33	SET_BINARY().
34
35	* src/include/posix.h: Use HAVE_UNISTD instead of _MSC_VER.
36
37	* win32-diffs: Updated.
38	* README.WIN32: Added CRs to make all Windows editors happy.
39
40	* src/roff/troff/node.cc: Added WIFSIGNALED() macro (copied from
41	src/roff/groff/pipeline.c).
42
432000-06-23  Eli Zaretskii  <eliz@is.elta.co.il>
44
45	* src/roff/grog/Makefile.sub (grog): Prepend `-e' to
46	$(SH_SCRIPT_SED_CMD), for the case where its value is empty.
47
482000-06-17  Eli Zaretskii  <eliz@is.elta.co.il>
49
50	* src/utils/tfmtodit/tfmtodit.cc: #include nonposix.h.
51	(tfm::load, gf::load): Open tfm and gf files in binary mode: these
52	are binary files.
53	(main): Support non-Posix systems with several different styles of
54	slash characters in file names.
55
56	* src/utils/pfbtops/pfbtops.c: #include nonposix.h.
57	(main) [SET_BINARY]: Switch stdin into binary mode.
58
59	* src/utils/indxbib/indxbib.cc: #include nonposix.h.
60	(main): Support file names with several possible slash-type
61	characters, as given by DIR_SEPS[] in nonposix.h.
62	(main) [__MSDOS__]: If renaming the temporary index file fails
63	because it has more than one dot in its trunk, replace the dot
64	with an underscore and try again.
65	(do_file): Use FOPEN_RB instead of "r".  Skip every CR before a
66	Newline.
67	[__MSDOS__ || _MSC_VER]: Stop at the first ^Z character.
68
69	* src/utils/hpftodit/hpftodit.cc: #include nonposix.h.
70	(File::File): Open the input file in binary mode.  Strip CR
71	characters from each CR-LF pair.
72	(xbasename): Support file names with several possible slash-type
73	characters, as given by DIR_SEPS[] in nonposix.h.
74
75	* src/include/Makefile.sub (HDRS): Add nonposix.h.
76
77	* src/roff/troff/node.cc [HAVE_UNISTD_H]: Include <unistd.h>.
78	(WIFEXITED, WEXITSTATUS, WTERMSIG, WIFSTOPPED, WSTOPSIG)
79	[!_POSIX_VERSION]: Define for traditional Unix systems.
80	(real_output_file::real_output_file): Remove the MSVC-specific
81	call to popen, use instead POPEN_WT, appropriately defined on
82	nonposix.h.  #include nonposix.h.
83	(real_output_file::~real_output_file): Remove the MSVC-specific
84	call to pclose, a suitable macro is now defined on nonposix.h.
85	Use the portable macros WIFEXITED, WIFSIGNALED, WTERMSIG, WSTOPSIG
86	and WEXITSTATUS instead of assuming traditional Unix
87	interpretation of the status returned by pclose.
88
89	* src/roff/troff/input.cc (pipe_source): Remove the MSVC-specific
90	call to popen, use POPEN_RT instead (appropriately defined on
91	nonposix.h).  #include nonposix.h.
92	(ps_bbox_request): Open the PostScript file in binary mode.
93	Close the file after processing it.
94	(getpid) [_MSC_VER]: Remove; a suitable macro is now defined on
95	nonposix.h.
96
97	* src/roff/groff/pipeline.c (run_pipeline) [__MSDOS__ || _WIN32]:
98	A version of run_pipeline that doesn't use `fork'.
99	(signal_catcher) [__MSDOS__ || _WIN32]: New function.
100	(system_shell_name, system_shell_dash_c)
101	(is_system_shell) [__MSDOS__ || _WIN32]: New functions, to hide
102	the ugliness of testing DOS/Windows file names for equality, and
103	support both stock shells and ports of Unix shells.
104
105	* src/roff/groff/groff.cc: #include nonposix.h.
106	(BSHELL): Definition moved to nonposix.h.
107	(main): Use PATH_SEP[0] instead of literal ':'.  Use BSHELL_DASH_C
108	instead of a literal "-c".
109	(xbasename): Support file names with several possible slash-type
110	characters, as given by DIR_SEPS[] in nonposix.h.
111	(possible_command::print): Use BSHELL_DASH_C and IS_BSHELL instead
112	of literal strings.
113
114	* src/preproc/soelim/soelim.cc: #include nonposix.h.
115	(do_file): Use IS_ABSOLUTE instead of testing for a literal '/'.
116
117	* src/preproc/pic/Makefile.sub (YTABH): Change pic.tab.h to
118	pic_tab.h.
119
120	* src/preproc/pic/lex.cc: Change pic.tab.h to pic_tab.h.
121
122	* src/preproc/eqn/Makefile.sub (YTABH): Rename eqn.tab.h to
123	eqn_tab.h.
124
125	* src/preproc/eqn/lex.cc: #include eqn_tab.h, not eqn.tab.h.
126
127	* src/libs/libgroff/tmpfile.cc (DEFAULT_TMPDIR) [P_tmpdir]: If
128	P_tmpdir is defined, use it instead of the literal "/tmp".
129	(remove_tmp_files, add_tmp_file): New functions.
130	(xtmpfile): Record temporary files and register an atexit function
131	to delete them explicitly, instead of relying on the OS to do
132	that, which doesn't work on non-Unix systems.
133
134	* src/libs/libgroff/searchpath.cc: #include nonposix.h.
135	(search_path::search_path): Use PATH_SEP instead of a literal
136	colon.
137	(search_path::command_line_dir): Ditto.
138	(search_path::open_file): Use IS_ABSOLUTE, PATH_SEP and DIR_SEPS,
139	to support non-Posix systems.
140
141	* src/libc/libbib/search.cc: #include nonposix.h.
142	(search_list::add_file): Open the file in binary mode.
143
144	* src/libs/libbib/linear.cc: #include nonposix.h.
145	(file_buffer::load): Remove \r characters preceding \n from the
146	loaded buffer.
147
148	* src/libs/libbib/index.cc: #include nonposix.h.
149	(make_index_search_item): Open index_filename in O_BINARY mode.
150	(index_search_item_iterator::get_tag): Ditto.  Remove \r
151	characters before \n characters.
152	(index_search_item::check_files): Open files in binary mode.
153	(index_search_item::munge_filename): Support DOS-style file names
154	with backslashes and drive letters, use IS_ABSOLUTE.
155
156	* src/devices/grops/ps.cc: #include nonposix.h.
157	(main) [SET_BINARY]: Switch stdout to binary mode.
158
159	* src/devices/grolj4/lj4.cc: #include nonposix.h.
160	(main) [SET_BINARY]: Switch stdout to binary mode.
161
162	* src/devices/grolbp/lbp.cc: #include nonposix.h
163	(fill_pattern) [SET_BINARY]: Switch stdout to binary mode.
164
165	* src/devices/grodvi/dvi.cc: #include nonposix.h.
166	[_MSC_VER]: Remove inclusion of Windows-specific headers (done by
167	nonposix.h).
168	(main) [SET_BINARY]: Switch stdout to binary mode.
169	[_MSC_VER]: Remove an explicit call to _setmode.
170
171	* src/include/nonposix.h: New file.
172
173	* Makefile.in (ENVSETUP): New variable, to set up case-sensitive
174	operation when building with DJGPP.
175	($(TARGETS), dot, $(LIBDIRS), $(CPROGDIRS), $(CCPROGDIRS))
176	($(DEVDIRS), $(TTYDEVDIRS), $(INCDIRS), $(OTHERDIRS)): Use
177	ENVSETUP.
178
179	* Makefile.comm: mv y.tab.[ch] to y_tab.[ch], to make it work on
180	MS-DOS.
181	(.man.n): Replace `;' with `|', since FONTPATH, MACROPATH,
182	etc. can include a semi-colon on DOS/Windows.
183	(depend.temp): Use depend1.temp instead of depend.temp1, to
184	prevent files from overerwiting each other on 8+3 filesystems.
185
186	* gendef.sh (t): Change definition to work with DOS/Windows.
187
188	doc/groff.texinfo: Apart of some typo corrections, I also changed
189	some index entris, to make them more non-ambiguous, and also put
190	@ignore around some parts that are not yet written, to allow the
191	Info output be readable.
192
1932000-06-10  Gael Queri  <gqueri@mail.dotcom.fr>
194
195	Replaced specific checks for function declarations with a generic
196	routine taken from GNU bfd.
197
198	* aclocal.m4 (GROFF_NEED_DECLARATION): New function.
199	GROFF_PUTENV, GROFF_POPEN, GROFF_PCLOSE, GROFF_HYPOT: Removed.
200	* configure.in: Use it.
201	* src/devices/grolbp/lbp.cc, src/include/lib.h,
202	src/preproc/grn/hgraph.cc, src/preproc/pic/pic.h,
203	src/roff/groff/groff.cc: Use it.
204	* Makefile.in, configure: Updated.
205
2062000-06-07  Paco Andres Verdu  <pandres@dragonet.es>
207
208	* src/devides/grolbp/lbp.h: Removed unused variables.
209
2102000-05-31  Keith Thompson  <kst@sdsc.edu>
211
212	* src/devices/grolbp/lbp.cc (set_papersizes): Add declaration of
213	strncasecmp().
214
2152000-05-31  Werner LEMBERG  <wl@gnu.org>
216
217	* aclocal.m4 (GROFF_SRAND): New function to test the return value
218	of srand() -- at least SunOS 4.1.3 uses `int' instead of `void'.
219	* configure.in: Use it.
220	* src/preproc/pic/pic.y, src/preproc/pic/pic.cc: Use it.
221	* configure, Makefile.in: Updated.
222
223	* configure.in: Add test for strncasecmp().
224	* src/include/lib.h: Use it.
225
2262000-05-29  Andrej Borsenkow  <Andrej.Borsenkow@mow.siemens.ru>
227
228	* src/preproc/grn/Makefile.sub: Add MLIB.
229
2302000-05-29  Nix  <nix@esperi.demon.co.uk>
231
232	* Makefile.in: Use @datadir@ and @mandir@ appropriately.
233
2342000-05-29  Werner LEMBERG  <wl@gnu.org>
235
236	* src/roff/grog/Makefile.sub, src/roff/grog/grog.sh: Add `@g@'.
237
238	* PROBLEMS: Small update.
239
240	* src/devices/grolbp/lbp.cc: Various small fixes.
241
2422000-05-28  Keith Thompson  <kst@sdsc.edu>
243
244	* src/roff/nroff/nroff.sh: Fix main loop syntax.
245
246	* src/utils/indxbib/indxbib.cc: Add declaration of mkstemp().
247
2482000-05-25  Werner LEMBERG  <wl@gnu.org>
249
250	* man/roff.man: Removed unused macro.
251
2522000-05-24  Werner LEMBERG  <wl@gnu.org>
253
254	* Makefile.in (dist): Remove src/xditview/Imakefile explicitly. 
255	This is needed e.g. if you do
256	`make distclean; ./configure; make dist'.
257
258Version 1.16 released
259=====================
260
2612000-05-23  Werner LEMBERG  <wl@gnu.org>
262
263	Adding font CWI (constant width italic) to devdvi.
264
265	* font/devdvi/CWI: New file.
266	* font/devdvi/generate/Makefile: Add generating rule.
267	* font/devdvi/DESC.in, font/devdvi/Makefile.sub, win32-diffs,
268	tmac/tmac.dvi: Use it.
269	* NEWS: Announce it.
270
271	* font/devlj4/*: Regenerated (only adding kernings for `cq' glyph).
272	* font/devlj4/generate/Makefile: Cosmetic changes only.
273
274	* man/groff.man: Removed most of the redundant description of
275	special characters (which is in groff_char.man).  Added font
276	translation CB->CR for devdvi.  Other minor fixes.
277
278	* tmac/tmac.dvi: Improved appearance of \(co (copyright) and \(rg
279	(registered) symbols.
280
2812000-05-22  Werner LEMBERG  <wl@gnu.org>
282
283	* doc/Makefile: Added rule for creating info files.
284
285	* font/devdvi/*: Added kernings for `cq' glyph.  Updated to latest
286	AMS font metrics.
287	* font/devdvi/generate/Makefile: Fixed dependencies.
288
289	* font/devps/*: Regenerated.  Heavy changes for Bookman and
290	NewCentury Schoolbook!
291	* font/devps/generate/afmname: Will now run with GNU awk.
292	* font/devps/generate/textmap: Added forgotten `cq' glyph name.
293	* font/devps/generate/Makefile: Cosmetic changes only.
294
2952000-05-21  Werner LEMBERG  <wl@gnu.org>
296
297	* tmac/tmac.an: Added a new command line option `-rSxx' (`xx' can be
298	10, 11, or 12) to support output with 11pt and 12pt base font sizes. 
299	`.SS' now produces a heading with a smaller size than `.SH'. 
300	Completely formatted.
301	* doc/groff.texinfo, tmac/groff_man.man, NEWS: Document it.
302
303	* man/groff.man: Improved table appearance.  Use of `eo' request
304	to reduce number of doubled backslashes in macro definitions.
305	Replacing `\e' with `\(rs'.  Other minor fixes.
306
307	* src/preproc/tbl/main.cc: Insert HTML table end tag before `lf'
308	to have correct line number.
309
310	* INSTALL: Small improvement.
311
3122000-05-20  Bernd Warken  <bwarken@mayn.de>
313
314	* man/roff.man, tmac/groff_tmac.man: Updates (with corrections by
315	WL).
316
3172000-05-19  Bernd Warken  <bwarken@mayn.de>
318
319	* man/groff.man: Complete update (with a lot of corrections by WL).
320
3212000-05-18  Werner LEMBERG  <wl@gnu.org>
322
323	Adding `cq' (PS name `quoteright') glyph name as an alias for "'".
324
325	* font/*/*: Implement it.
326	* man/groff_char.man, NEWS: Document it.
327
328	* src/include/unix.h: Removed.  It isn't used.
329
330	* doc/groff.texinfo: Slight improvements.
331
3322000-05-17  Werner LEMBERG  <wl@gnu.org>
333
334	* README, win32-diffs: Small fixes and improvements.
335
3362000-05-16  Werner LEMBERG  <wl@gnu.org>
337
338	* FDL: New file (the Free Documentation License version 1.1).
339
340	* doc/groff.texinfo: Added many start-up values for gtroff.
341	Some structural improvements of the source code.
342
3432000-05-15  Werner LEMBERG  <wl@gnu.org>
344
345	* src/roff/troff/input.cc: Added small comment about troffrc-end.
346	* src/roff/troff/troff.man: Added info about troffrc-end.
347
3482000-05-14  Werner LEMBERG  <wl@gnu.org>
349
350	* Makefile.in (EXTRADIRS): Fix typos.
351	(dist): Handle deletion of old .tar.gz file correctly.
352	(DISTDIRS): Include all tty output devices.
353
354	* doc/groff.texinfo: Adding more cross references; countless other
355	fixes.
356
3572000-05-13  Werner LEMBERG  <wl@gnu.org>
358
359	* MORE.STUFF: Added Robert Marks's utilities.
360
3612000-05-12  Werner LEMBERG  <wl@gnu.org>
362
363	Added win32 port contributed by Blake McBride
364	<blake@florida-software.com>.
365
366	* README.WIN32, win32-diffs: New files.
367	* NEWS: Updated.
368
369	* src/preproc/grn/hgraph.cc (HGSetBrush): Replace `%lf' with `%f'.
370	(tmove, tmove2): Added parentheses to avoid compiler warnings.
371	(change): Removed unused variables.
372
373	* src/preproc/grn/main.cc (main, conv): Removed unused variables.
374	(savebounds): Changed return value from `int' to `void'.
375	* src/preproc/grn/hdb.cc: Ditto.
376
377	* src/devices/grolbp/lbp.cc (lbp_printer::draw): Removed superfluous
378	final backslash in comment to avoid compiler warning.
379
380	* src/utils/pfbtops/pfbtops.c: Added `getopt.h'.
381
382	* doc/groff.texinfo: More fixes.
383
3842000-05-11  OKAZAKI Tetsurou  <okazaki@be.to>
385
386	* tmac/tmac.doc: Documentation fix.
387
3882000-05-11  Werner LEMBERG  <wl@gnu.org>
389
390	* doc/groff.texinfo: Reading the source code shows up a lot of
391	omissions and incorrect data...  More conversion to @Deffn macros.
392
3932000-05-10  Werner LEMBERG  <wl@gnu.org>
394
395	* src/roff/troff/reg.cc (number_value_to_ascii): Remove ASCII
396	dependency.
397
398	* src/roff/troff/request.h: Removing unused `no_break_flag'.
399
4002000-05-09  Werner LEMBERG  <wl@gnu.org>
401
402	* man/groff.man, man/roff.man, tmac/groff_tmac.man: Minor
403	improvements.
404
405	* doc/groff.texinfo: Extended history section.  More conversion to
406	@Deffn macros.  More .tr documentation.
407
4082000-05-07  Werner LEMBERG  <wl@gnu.org>
409
410	* doc/groff.texinfo: Completed tab section.  Added info about
411	fields.
412
4132000-05-06  Mike MacIsaac  <mikemac@us.ibm.com>
414
415	* PROBLEMS: Describe configure script fix for OS/390 Unix.
416
4172000-05-05  Werner LEMBERG  <wl@gnu.org>
418
419	* font/devdvi/DESC.in: Change size 11pt to 10.95pt (as used in
420	LaTeX 2e).
421	* NEWS: Document it.
422
423	* man/troff.man: Minor optical improvements.
424
4252000-05-03  Werner LEMBERG  <wl@gnu.org>
426
427	Adding `dq' (PS name `quotedbl') glyph name as an alias for `"'.
428
429	* font/*/*: Implement it.
430	* man/groff_char.man, NEWS: Document it.
431
4322000-05-02  Werner LEMBERG  <wl@gnu.org>
433
434	* tmac/groff_tmac.man, man/groff.man, man/roff.man: Fixing @MANxEXT@
435	expansion.
436	* NEWS: Document the three new man pages.
437
438	* aclocal.m4 (GROFF_CXX_CHECK): Removing obsolete AC_C_CROSS call.
439	* configure: Updated.
440
441	* font/devcp1047/R.proto: Fixing fatal bug (a missing `"' character).
442
4432000-05-01  Werner LEMBERG  <wl@gnu.org>
444
445	Added grap support to grog.
446
447	* src/roff/grog/grog.sh, src/roff/grog/grog.pl: Implement it.
448	* src/roff/grog/grog.man: Document it.
449
450	* doc/groff.texinfo, NEWS: Add info about grap support.
451
452	Add new man pages comptributed by Bernd Warken <bwarken@mayn.de>
453	(with slight fixes by me).
454
455	* tmac/groff_tmac.man: New file documenting tmac mechanism.
456	* tmac/Makefile.sub: Add groff_tmac.man.
457	* man/roff.man: New file giving overview of roff system.
458	* man/troff.man: A short reference of troff.
459	* man/Makefile.sub: Add roff.man and troff.man.
460
4612000-04-30  Werner LEMBERG  <wl@gnu.org>
462
463	Added grap support to groff.
464
465	* src/roff/groff/groff.cc: Implement it.
466	* src/roff/groff/groff.man: Document it.
467
468	* src/devices/grotty/grotty.man: Add cp1047 device.
469	* src/preproc/eqn/eqn.man, src/preproc/eqn/neqn.sh, tmac/eqnrc:
470	Ditto.
471	* src/roff/groff/groff.man: Ditto.
472	* src/roff/nroff/nroff.sh, src/roff/nroff/nroff.man: Ditto.
473	* doc/groff.texinfo: Ditto.
474
475	* tmac/troffrc: Fix mapping of latin-1 char 160 (non-breakable space)
476	for cp1047.
477
4782000-04-29  Werner LEMBERG  <wl@gnu.org>
479
480	* man/groff_char.man: Add `pc' glyph.
481	* tmac/tmac.latin1: Replacing `md' glyph with `pc'.
482	* tmac/tmac.tty: Add `pc' glyph.
483	* tmac/tmac.tty-char: Use/add `pc' glyph.  Don't call tmac.latin1 if
484	we use cp1047 output device.
485
486	* Makefile.in, aclocal.m4: Don't build utf8 on EBCDIC hosts since
487	there are still hardcoded latin1->unicode values in utf8's font
488	definition files.
489	* configure: Updated.
490	* NEWS: Minor clarification.  Updated.
491
492	* PROBLEMS: Formatted.  Added info about C++ fix pack for OS/390
493	Unix.
494
4952000-04-28  Werner LEMBERG  <wl@gnu.org>
496
497	Adding EBCDIC code page 1047.
498
499	* font/devcp1047/R.proto, font/devcp1047/Makefile.sub,
500	font/devcp1047/DESC.proto: New files.
501
502	* aclocal.m4 (GROFF_EBCDIC): Introduce TTYDEVDIRS which can be
503	either ascii/latin1 or cp1047.
504	* Makefile.in: Use it.
505	* configure: Updated.
506
507	Replacing and/or adding `md' (mathdot) glyph with `pc'
508	(periodcentered) in all text fonts.
509
510	* font/*/*: Change it.
511
5122000-04-27  Werner LEMBERG  <wl@gnu.org>
513
514	* aclocal.m4 (GROFF_OS390): Fixing compiler flags.
515
516	* configure.in: Add check for strings.h.
517	* src/include/driver.h: Use HAVE_STRINGS_H.
518	* src/devices/grolbp/lpb.cc: Remove string.h.
519
520	* src/include/groff-getopt.h: New file.  It will be used instead of
521	getopt.h (to be included in lib.h) to avoid endless problems with
522	picky C++ compilers.
523	* src/include/lib.h: Use groff-getopt.h.
524	* src/include/Makefile.sub: Updated.
525
526	* configure: Updated.
527	* Makefile.in: Updated.
528
529	* NEWS: Mention EBCDIC support.
530
5312000-04-26  Werner LEMBERG  <wl@gnu.org>
532
533	* TODO: Some additions.
534
5352000-04-25  Werner LEMBERG  <wl@gnu.org>
536
537	* src/roff/troff/troff.man, doc/groff.texinfo: Fixing documentation
538	of mso request.
539
5402000-04-23  Werner LEMBERG  <wl@gnu.org>
541
542	* src/roff/troff/troff.man: Minor fixes.
543
5442000-04-22  Werner LEMBERG  <wl@gnu.org>
545
546	* src/roff/troff/troff.man, doc/groff.texinfo, NEWS: Document the
547	`.T' string register and the incompatible definition of the `.T'
548	number register (compared to Unix troff).
549
550	* man/groff_char.man: Add some missing characters.
551	* font/devutf8/NOTES: Update.
552
5532000-04-21  Werner LEMBERG  <wl@gnu.org>
554
555	* src/include/htmlindicate.h, src/include/lib.h,
556	src/include/posix.h: Fix copyright.
557
558	* src/include/Makefile.sub: Update.
559
5602000-04-20  Werner LEMBERG  <wl@gnu.org>
561
562	* src/roff/troff/input.cc (input_char_description): Removing
563	superfluous space char.
564
565	* tmac/tmac.X: Fix typo \(bq -> \(Bq.
566
567	* doc/groff.texinfo: Document EBCDIC.
568
5692000-04-19  Werner LEMBERG  <wl@gnu.org>
570
571	Introducing `shc' as the glyph name for the soft hyphen character.
572
573	* tmac/tmac.tty, tmac/tmac.latin1, tmac/tmac.html,
574	font/devlatin1/R.proto: Use it.
575
576	* NEWS: Updated.
577
5782000-04-18  Werner LEMBERG  <wl@gnu.org>
579
580	* src/devices/grops/ps.cc (ps_printer::flush_sbuf): Removing
581	dependency on ASCII order.
582
5832000-04-16  Sandor BARANY  <S.Barany@infosys.tuwien.ac.at>
584
585	* src/libs/libgroff/illegal.c: Added EBCDIC table.
586	* src/roff/troff/input.cc: Added adaptation to EBCDIC.
587
588	* src/preproc/refer/refer.cc, src/roff/troff/env.cc: Minor changes
589	to increase portability.
590
5912000-04-15  Werner LEMBERG  <wl@gnu.org>
592
593	* aclocal.m4: Added GROFF_EBCDIC and GROFF_OS390 tests.
594	Redefined AC_OUTPUT_MAKE_DEFS to replace ASCII character `012' with
595	the generic `\n' if under OS/390 Unix.
596
597	* configure.in: Call GROFF_EBCDIC and GROFF_OS390.
598
599	* configure: Regenerated.
600
6012000-04-14  Werner LEMBERG  <wl@gnu.org>
602
603	* doc/groff.texinfo: More conversions to @Deffn.
604
6052000-04-12  Werner LEMBERG  <wl@gnu.org>
606
607	* tmac/tmac.psfig: Fix incorrect use of `&' operator by replacing it
608	with `:'.
609
610	* src/roff/nroff/nroff.man: Add note about tmac.tty-char.
611
6122000-04-10  Werner LEMBERG  <wl@gnu.org>
613
614	* doc/groff.texinfo: More conversions to @Deffn.
615
6162000-04-08  Werner LEMBERG  <wl@gnu.org>
617
618	* src/libs/libgroff/{getopt.c,getopt1.c}, src/include/getopt.h:
619	Updated to latest version (glibc 2.1.3).
620
6212000-04-07  Werner LEMBERG  <wl@gnu.org>
622
623	* doc/Makefile (clean): Include more index files.
624	Add rule texinfo->dvi.
625
6262000-04-05  Werner LEMBERG  <wl@gnu.org>
627
628	* doc/groff.texinfo: Added new index `op' for operators.  More
629	info on end of sentence characters.  More use of @Deffn.
630
6312000-03-30  Werner LEMBERG  <wl@gnu.org>
632
633	* */*.man: Adding a note that a whitespace can be inserted between
634	a command line option and its parameter -- we are using GNU getopt.
635
636	* src/roff/groff/groff.man: Add example of `-m mandoc'.
637
6382000-03-28  Werner LEMBERG  <wl@gnu.org>
639
640	Correct anachronism of calling the man macro file with `-man'
641	instead of `-m man' etc.
642
643	* tmac/tmac.man, tmac/tmac.mandoc, tmac/tmac.markup, tmac/tmac.mdoc,
644	tmac/tmac.me, tmac/tmac.ms: New files tmac.m<package> which simply
645	load tmac.<package>.
646
647	* tmac/Makefile.sub: Updated.  Take care of $(tmac_an_prefix) etc.
648
649	* NEWS: Updated.
650
651	* doc/groff.texinfo: Updated.
652
653	* tmac/groff_man.man: Copyright added.
654
6552000-03-27  Werner LEMBERG  <wl@gnu.org>
656
657	* doc/groff.texinfo: Introducing macros `Deffn' and `Defmac' to
658	typeset the request resp. escape name with a tt font -- due to a
659	bug in texinfo.tex it is necessary to use the `-e' switch with
660	texi2dvi.
661
662	Improving info about usage of groff units.
663
664	Other minor fixes.
665
6662000-03-20  Werner LEMBERG  <wl@gnu.org>
667
668	* doc/groff.texinfo: Added section about man macro package
669	(I've basically taken groff_man.man).  Introducing new indices `ma'
670	for macros/strings and `gl' for glyph names.  Other minor fixes.
671
672	* tmac/groff_man.man: Fixed some typos.
673
6742000-03-19  Werner LEMBERG  <wl@gnu.org>
675
676	* doc/groff.texinfo: Removed all occurrences of `you', `we', etc.
677	Other minor fixes.
678
679	* doc/texinfo.tex: New file.
680
6812000-03-18  Werner LEMBERG  <wl@gnu.org>
682
683	* doc/groff.texinfo: Improved section on number registers.  Other
684	minor updates.
685
6862000-03-16  Werner LEMBERG  <wl@gnu.org>
687
688	* src/roff/groff/groff.man: Added info about grolbp.  Make nicer
689	synopsis.
690
691	* src/devices/grolbp/grolbp.man, src/roff/nroff/nroff.man,
692	src/devices/grolj4/grlj4.man, src/devices/grops/grops.man,
693	src/preproc/eqn/eqn.man, src/utils/afmtodit/afmtodit.man,
694	src/utils/tfmtodit/tfmtodit.man: Make nicer synopsis.
695
696	* src/preproc/grn/grn.man: Better synopsis; added copyright.
697
698	* src/roff/grog/grog.man: Updated copyright date.
699
7002000-03-14  Francisco Andres Verdu  <pandres@dragonet.es>
701
702	* configure.in: Added test for strdup.
703
704	* src/devices/grolbp/lbp.cc: Added a strdup() version in case none
705	is available.
706
707	Replaced dynamic allocation of arrays `[...]' with `new' operator.
708
709	Other minor fixes.
710
7112000-03-12  OKAZAKI Tetsurou  <okazaki@be.to>
712
713	* Makefile.comm: Add $(INCLUDES) to $(ALL_CFLAGS).
714
7152000-03-11  Werner LEMBERG  <wl@gnu.org>
716
717	* src/preproc/grn/hdb.cc (DBGetType): Added return value to make
718	compilers silent.
719	* src/preproc/grn/hgraph.cc: Add #ifdef for hypot().
720	* src/include/lib.h: Remove some spaces.
721
7222000-03-10  Werner LEMBERG  <wl@gnu.org>
723
724	* src/libs/libgroff/tmpfile.cc (xtmptemplate, xtmpfile): Removing
725	initializers from arguments (some compilers don't like this).
726
7272000-03-09  Gaius Mulley  <gaius@glam.ac.uk>
728
729	* src/libs/libgroff/htmlindicate.cc: Added library file which is now
730	used by pic and eqn to tell grohtml where the graphic regions start
731	and end.
732	* src/libs/libgroff/Makefile.sub: Use it.
733	* src/preproc/eqn/main.cc, src/preproc/pic/troff.cc: Altered to use
734	graphic_start() and graphic_end() from htmlindicate.cc.
735
7362000-03-09  Werner LEMBERG  <wl@gnu.org>
737
738	* tmac/tmac.safer: Will now work correctly in compatibility mode.
739	* tmac/groff_man.man: More fixes.
740
7412000-03-08  Werner LEMBERG  <wl@gnu.org>
742
743	* doc/Makefile: Added texput.log to the `clean' target.
744	* doc/groff.texinfo: Added info about delimiters for escapes.
745
7462000-03-08  Bernd Warken  <bwarken@mayn.de>
747
748	* src/preproc/pic/pic.man: Add info on conversion of pic images to
749	other graphic formats.
750
7512000-03-07  OKAZAKI Tetsurou  <okazaki@be.to>
752
753	* Makefile.in, contrib/mm/Makefile.sub, src/preproc/eqn/Makefile.sub,
754	src/roff/groff/Makefile.sub, src/roff/nroff/Makefile.sub,
755	src/utils/afmtodit/Makefile.sub: Use $(INSTALL_SCRIPT) for script
756	files.
757
7582000-03-07  Werner LEMBERG  <wl@gnu.org>
759
760	* doc/groff.texinfo: Spelling fixes.
761
7622000-03-06  Werner LEMBERG  <wl@gnu.org>
763
764	* tmac/groff_man.man: Completely revised to cover everything in
765	tmac.an.
766
767	* doc/groff.texinfo, src/roff/troff/troff.man: Document evc request.
768	Other minor fixings.
769	* src/roff/troff/env.cc (environment_copy): Improve error message and
770	fix itoa->i_to_a.
771	* src/roff/troff/TODO: Updated.
772
773	* doc/Makefile: Bug fixes -- this is still provisional, though...
774
775	* tmac/eqnrc: Small fixes.
776
7772000-03-05  Abramo Bagnara <abramo@alsa-project.org>
778
779	Adding a request `evc' to copy environments.
780
781	* src/roff/troff/env.cc (environment::copy, environment_copy):
782	Implement it.
783	* src/roff/troff/env.h: Add prototype.
784
7852000-03-05  Francisco Andres Verdu  <pandres@dragonet.es>
786
787	Adding strsep() -- Solaris 8 doesn't have it.
788
789	* configure.in: Test it.
790	* src/devices/grolbp/lbp.cc: Add code.
791
7922000-03-05  Werner LEMBERG  <wl@gnu.org>
793
794	* src/roff/troff/div.cc (macro_diversion::output,
795	top_level_diversion::output): Fixing an incompatibility with
796	original troff: \x'0' updates the .a register also.  Thanks to
797	<Andries.Brouwer@cwi.nl> for pointing this out.
798	* doc/groff.texinfo: Document it.
799
800	* Makefile.in: Create Makefile.dep if necessary before calling the
801	submake process to avoid warning about nonexistent file.
802
803	* NEWS, PROJECTS: Updated.
804
8052000-03-04  Werner LEMBERG  <wl@gnu.org>
806
807	* tmac/troffrc: Add tmac.lbp.
808
8092000-03-03  Francisco Andres Verdu  <pandres@dragonet.es>
810
811	* tmac/tmac.lbp: New file.
812	* src/devices/grolbp/grolbp.man: Add documentation of `lbpname'
813	command.
814
8152000-03-03  Werner LEMBERG  <wl@gnu.org>
816
817	* Makefile.in: Fixing $(subdir).
818
819	* README, NEWS: Small fixes.
820
821	* test-groff: Adding path to grolbp.
822
823	* configure.in: The (new) file src/xditview/Imakefile.in will be
824	also configured -- it is now possible to build gxditview in a
825	directory different from $srcdir.
826
8272000-03-02  Blake McBride  <blake@florida-software.com>
828
829	* src/libs/libgroff/searchpath.cc (open_file): Adapting to WinNT.
830
831	* MORE.STUFF: Added website of bell labs and info about plot2dev.
832
8332000-03-01  Colin Phipps  <crp22@cam.ac.uk>
834
835	* src/utils/indxbib/indxbib.cc (main): Use mkstemp() for temporary
836	files.
837
8382000-02-29  Werner LEMBERG  <wl@gnu.org>
839
840	Adding GNU getopt to the groff distribution.
841
842	* src/include/getopt.h, src/libs/libgroff/{getopt.c,getopt1.c}:
843	New files.
844	* src/include/Makefile.sub, src/libs/libgroff/Makefile.sub: Update.
845	* aclocal.a4: Remove GROFF_GETOPT function.
846	* configure.in, Makefile.in, PROBLEMS: Update.
847	* src/include/lib.h: Replace getopt tests with getopt.h.
848	* src/devices/grolbp/lpb.cc: Remove inclusion of getopt.h.
849
850	* doc/groff.texinfo: Further checking/updating.  Adding more index
851	entries.
852
853	* man/groff_out.man: Fix nroff mode activation (for emacs).
854	* man/groff_font.man: Add missing ligature.
855
8562000-02-28  Werner LEMBERG  <wl@gnu.org>
857
858	* doc/groff.texinfo: Further checking/updating.  Adding more index
859	entries.
860
861	* src/devices/grolbp/grolbp.man: Added a comment line at the
862	beginning of the file (similar to shell scripts) which indicates
863	that `tbl' should be used as a preprocessor.
864
8652000-02-27  Blake McBride  <blake@florida-software.com>
866
867	Adapting groff to MS Visual C++ 6.0 compiler (tested with
868	Windows NT 4.0).  Uses _MSC_VER define where necessary.
869
870	* src/devices/grodvi/dvi.cc: Making stdout a binary stream.
871	* src/devices/grolj4/lj4.cc: Making getopt variables `extern "C"'.
872	* src/devices/grohtml/html.cc, src/devices/grops/ps.cc,
873	src/include/lib.h, src/libs/libgroff/errarg.cc,
874	src/libs/libgroff/itoa.c, src/libs/libgroff/nametoindex.cc,
875	src/preproc/refer/label.y, src/preproc/refer/label.cc,
876	src/roff/groff/pipeline.c, src/roff/troff/column.cc,
877	src/roff/troff/div.cc, src/roff/troff/env.cc,
878	src/roff/troff/input.cc, src/roff/troff/node.cc,
879	src/roff/troff/reg.cc: Renaming itoa() to i_to_a() and iftoa() to
880	if_to_a() to avoid name	clashes.
881	* src/include/posix.h: Don't use unistd.h.
882	* src/libs/libgroff/tmpfile.cc: Use `#ifndef...#else...#endif'
883	clause for integrating non-Unix xtmpfile() code.
884	* src/roff/troff/input.cc: Adding `public' keyword to macro_header
885	structure; use "rt" for popen() in pipe_source(); add getpid()
886	dummy function.
887	* src/roff/troff/node.cc: Use special versions of popen() in
888	real_output_file() and pclose() in ~real_output_file().
889
8902000-02-27  Werner LEMBERG  <wl@gnu.org>
891
892	Adding a new driver, grolbp, for Canon CAPSL printers (LBP-4 and
893	LBP-8 series laser printers).  This code has been contributed by
894	Francisco Andres Verdu <pandres@dragonet.es>.
895
896	* src/devices/grolbp/*: The grolbp output device.
897	* font/devlpb/*: The font description files.
898	* Makefile.in: Add grolpb and devlbp subdirectories.
899
900	* src/devices/grodvi/grodvi.man, src/devices/grolj4/grolj4.man,
901	src/devices/grotty/grotty.man,src/roff/troff/troff.man: Minor
902	typographic fixes.
903
904	* doc/groff.texinfo: Further checking/updating.  Adding more index
905	entries.
906
907	* NEWS: Updated.
908
909	* src/devices/grolbp/Makefile.sub: Adding $(srcdir).
910
911	* man/groff_font.man: Adding info about obsolete DESC keywords.
912	* src/devices/grolj4/grolj4.man: Documenting additional DESC
913	keywords.
914
9152000-02-26  Werner LEMBERG  <wl@gnu.org>
916
917	* src/preproc/grn/grn.man: Added info about the gremlin file format
918	(contributed by Daniel Senderowicz <daniel@synchrods.com>).
919
9202000-02-25  Werner LEMBERG  <wl@gnu.org>
921
922	* src/preproc/grn/main.cc: Allow values of `narrow' parameter and
923	friends to be non-integer.
924
925	* src/preproc/grn/grn.man: Document it.
926
927	* doc/groff.texinfo: Further checking/updating.  Adding more index
928	entries.
929
9302000-02-24  Werner LEMBERG  <wl@gnu.org>
931
932	* src/preproc/grn/main.cc: Introduce BASE_THICKNESS, defining
933	line thicknesses to be integer multiples of this value.
934
935	* src/preproc/grn/grn.man: Commenting out the -s option -- the
936	corresponding code doesn't work (yet).
937
938	* doc/groff.texinfo: Further checking/updating.  Adding more index
939	entries.
940
9412000-02-23  Werner LEMBERG  <wl@gnu.org>
942
943	* src/preproc/grn/{main.cc, hgraph.cc}: Using point units to
944	specify line thickness instead of base units.  The new default
945	values are now 0.15,pt 0.45pt, and 0.75pt for thin, middle, and
946	thick lines respectively.
947
948	Removed unused variable `prevval'.
949
950	* src/preproc/grn/grn.man: Updated.
951
9522000-02-22  Werner LEMBERG  <wl@gnu.org>
953
954	* src/preproc/grn/main.cc: Slight formatting.
955
956	* src/roff/groff/groff.man: Formatting fix.
957	* src/preproc/grn/grn.man: Ditto.
958
959	* src/roff/grog/grog.pl: Fixing two embarassing bugs.
960
961	* doc/groff.texinfo: Further checking/updating.
962
9632000-02-21  Werner LEMBERG  <wl@gnu.org>
964
965	* README, INSTALL, PROJECT, PROBLEMS, BUGREPORT: Updated.
966
967	* test-groff: Added grn subdir to path.
968
969	* doc/groff.texinfo: Some restructing and other small improvements.
970
971	* src/roff/groff/groff.cc (help): Fixed info string.
972
9732000-02-20  Werner LEMBERG  <wl@gnu.org>
974
975	* doc/meref.me: Fix description of .GS request.
976
977	* src/roff/troff/troff.man: Fixing typo.
978
979	Adding the `grn' preprocessor for gremlin graphic files.
980
981	* src/preproc/grn/*: This is the Berkeley distribution written by
982	David Slattengren and Barry Roitblat, adapted to groff by Daniel
983	Senderowicz and Werner Lemberg.
984
985	* doc/grnexampl.{me,g}: A sample for grn.
986
987	* Makefile.in: Added subdirectory entry for grn.
988
989	* src/roff/groff/groff.cc: Added support for grn.  It can be now
990	called with the switch `-g'.
991
992	* src/roff/groff/groff.man: Updated.
993
994	* src/roff/grog/grog.{man,pl,sh}: Updated.
995
996	* NEWS: Updated.
997
9982000-02-11  Gaius Mulley  <gaius@glam.ac.uk>
999
1000	* src/include/lib.h: Added xtmptemplate and made xtmpfile
1001	parametrically polymorphic.
1002
1003	* src/libs/libgroff/tmpfile.cc: Implemented xtmptemplate
1004	and the alterations to xtmpfile.
1005	xtmpfile can be requested to return the filename created
1006	and asked not to unlink the temp file.  The default behaviour
1007	if parameters are absent is exactly the same as before.
1008
10092000-02-11  Abramo Bagnara  <abramo@alsa-project.org>
1010
1011	A new request `length' is available which returns the length of a
1012	string in a number register:
1013
1014	* src/roff/troff/input.cc (length_macro): Implement it.
1015	* src/roff/troff/input.cc (init_input_requests): Register it.
1016
10172000-02-11  Werner LEMBERG  <wl@gnu.org>
1018
1019	* doc/groff.texinfo, src/roff/troff/troff.man: Add documentation
1020	of the `substring' request.
1021
1022	* src/roff/troff/troff.man, doc/groff.texinfo: Document `length'
1023	request.
1024
1025	* src/roff/troff/TODO, NEWS: Updated.
1026
10272000-02-09  Werner LEMBERG  <wl@gnu.org>
1028
1029	* src/roff/groff/groff.man: Added an example.
1030
10312000-02-06  Werner LEMBERG  <wl@gnu.org>
1032
1033	I've considerably modified the directory structure of the
1034	distribution to get a more vertical layout.  For example, the number
1035	of top level directories has been reduced from 42 to 6.
1036
1037	As a consequence, many changes, especially to the makefiles, were
1038	necessary:
1039
1040	* The makefile variables `top_builddir' and `top_srcdir' have been
1041	introduced.  Virtually all relative paths have been replaced with
1042	absolute ones using these two variables.
1043
1044	* Dependencies (in the files `Makefile.dep') are no longer part of
1045	the distribution.  Instead, they are created during a `make install'
1046	in the build directory.
1047
1048	* aclocal.m4 (GROFF_SRCDIR, GROFF_BUILDDIR): Two new functions to
1049	make `top_srcdir' and `top_builddir' absolute.
1050
1051	Some other changes:
1052
1053	* Man pages no depend on the files `VERSION' and `REVISION'.
1054
1055	* The added shell script `mkinstalldirs' will replace `mkdir' in
1056	almost all cases.
1057
1058	* VERSION: Version number increased to 1.16.
1059
10602000-02-04  Werner LEMBERG  <wl@gnu.org>
1061
1062	* grops/psrm.cc (read_one_of): Fixed pointer incrementation.
1063
1064	* Makefile.in: Removed $(tmac_m) since it is no longer needed
1065	(after an update of the mm stuff).
1066
1067	* troff/Makefile.sub (majorminor.cc): Fix dependencies.
1068
10692000-02-03  Werner LEMBERG  <wl@gnu.org>
1070
1071	The .psbb request will now also accept Mac PS images (i.e. using LF
1072	as the EOL character).
1073
1074	* troff/input.cc (ps_get_line): New function, taken from psrm.cc
1075	(with slight modifications).
1076	* troff/input.cc (do_ps_file): Use it.
1077
1078	* test-groff: Add grohtml and grolj4 output devices to PATH.
1079
10802000-01-30  Werner LEMBERG  <wl@gnu.org>
1081
1082	* NEWS, MORE.STUFF: Updated.
1083
10842000-01-30  Cary D. Renzema  <caryr@dollar.mxim.com>
1085
1086	Add the `srand' command to pic.
1087
1088	* pic/lex.cc, pic/pic.y: Implement it.
1089	* pic/pic.man: Document it.
1090	* pic/pic.cc, pic/pic.tab.h: Regenerated (with yacc).
1091
10922000-01-30  Werner LEMBERG  <wl@gnu.org>
1093
1094	Add a new request `.psbb'.  This does exactly what the external
1095	program psbb did.  It scans a PostScript image file for a
1096	%%BoundingBox comment and extracts the bounding box values (in
1097	PostScript units) which	are then stored in the four new (read-only)
1098	number registers `llx', `lly', `urx', and `ury'.
1099
1100	This will allow the usage of the .PSPIC macro without worrying
1101	about unsafe behaviour of groff, i.e., it will work without the
1102	`-U' switch of groff.
1103
1104	* troff/input.cc: Implement it.
1105	* tmac/tmac.pspic: Use it.
1106	* troff/troff.man, grops/grops.man, NEWS: Document it.
1107	* psbb/*, Makefile.in: Remove it since it is no longer needed.
1108
1109	This is bloody C code simply adapted from psbb.c!  Any improvements
1110	welcome.
1111
11122000-01-29  Werner LEMBERG  <wl@gnu.org>
1113
1114	* man/groff_font.man: Minor clarifications.
1115
1116	* NEWS: Updated.
1117
11182000-01-28  Werner LEMBERG  <wl@gnu.org>
1119
1120	* afmtodit/afmtodit.pl: Use new `--' comment delimiter.
1121
11222000-01-28  Gaius Mulley  <gaius@glam.ac.uk>
1123
1124	* man/groff_font.man: Brought up to date regarding tcommand
1125	extensions.
1126	* libgroff/font.cc: Handle everything after `--' as a comment
1127	in the font files.
1128	* devps/*: Added comment delimiter inside devps font files.
1129
11302000-01-28  Werner LEMBERG  <wl@gnu.org>
1131
1132	* tmac/tmac.arkup, tmac/groff_markup.man: Replace \fC...\fR with
1133	\fC...\fP (which now works as expected).
1134
1135	* troff/troff.man: Fix typo.
1136
11372000-01-27  Gaius Mulley  <gaius@glam.ac.uk>
1138
1139	Completed the pass_filenames implementation in troff.
1140
1141	* libdriver/input.cc: Will read the new `F' tcommand.
1142	* troff/node.cc, troff/node.h: Will issue the new `F' tcommand.
1143	* troff/input.cc: Use it.
1144
11452000-01-26  Werner LEMBERG  <wl@gnu.org>
1146
1147	* troff/env.cc (set_font): Fix the behaviour of \fP.  The previous
1148	font will now be updated even if an invalid font is selected.
1149
11502000-01-24  Werner LEMBERG  <wl@gnu.org>
1151
1152	* doc/homepage.ms: Updated for new tmac.arkup.
1153
1154	* tmac/tmac.html: Disable line breaks after hyphen-like characters.
1155
1156	* tmac/tmac.arkup: Cleanup.
1157
1158	Added `\&' to .HTML macro to `leave vertical mode', so to say.
1159
1160	Removed obsolete .LINK macro completely.
1161
1162	The macros .URL, .FTP, and .MAILTO now accept a third argument which
1163	will be immediately appended to the second argument (to be used with
1164	punctuation, for example).
1165
1166	Disabled .CDFTP macro temporarily for security reasons.
1167
1168	* tmac/groff_markup.man: Complete revision for latest changes in
1169	tmac.arkup -- note that it does not yet format correctly with
1170	grohtml :-(
1171
11722000-01-23  Bruno Haible  <haible@clisp.cons.org>
1173
1174	* nroff/nroff.sh: Accept -Tutf8 option and pass it through.
1175	* devutf8/R.proto: Add mappings for wp, lh, rh.
1176	* devutf8/NOTES: Updated.
1177
11782000-01-23  Werner LEMBERG  <wl@gnu.org>
1179
1180	* doc/groff.texinfo: Updated version/copyright info.
1181
11822000-01-21  Gaius Mulley  <gaius@glam.ac.uk>
1183
1184	Added support for two new directives in device descriptions:
1185	`pass_filenames' (to pass the input file name to the output device)
1186	and `use_charnames_in_special' (to support e.g. accented characters
1187	in the `X' request).
1188
1189	* include/font.h, troff/charinfo.h: Declare it.
1190
1191	* libgroff/font.cc, libgroff/fontfile.cc: Set it.
1192
1193	* devhtml/DESC: Use it.
1194
1195	* troff/input.cc: New function encoded_char.
1196
1197	* troff/token.h: Add test for `specialness'.
1198
11992000-01-21  Werner LEMBERG  <wl@gnu.org>
1200
1201	* tmac/Makefile.sub: tmac.a4 and tmac.trace have been removed by
1202	mistake from the list of files to be installed.
1203
12042000-01-18  Werner LEMBERG  <wl@gnu.org>
1205
1206	* README: Added info how to apply patches.
1207
12082000-01-15  Jan Echternach  <echter@informatik.uni-rostock.de>
1209
1210	* troff/node.cc (ligature_note::operator delete):  Fix g++ warning.
1211
12122000-01-15  Gaius Mulley  <gaius@glam.ac.uk>
1213
1214	* troff/input.cc: Add support for troffrc-end.
1215
1216	* tbl/main.cc: Altered to issue table-start and table-end special
1217	characters if using the html device.
1218
1219	* devhtml/*: Modified font files to incorporate html encoding of
1220	characters.
1221
1222	* tmac/groff_markup.man: New file documenting tmac.arkup.
1223
1224	* tmac/troffrc-end: New file.  This is invoked after all user
1225	specified macros.  Currently used by the html device to	include
1226	tmac.html.  Thus no need for users to specify -mhtml anymore.
1227
1228	* tmac/Makefile.sub (NORMALFILES): Add troffrc-end.
1229	(MAN7): Add groff_markup.man.
1230
1231	* tmac/tmac.an, tmac/tmac.html: Small html updates.
1232
1233	* tmac/troffrc: tmac.arkup will now be called for the html device.
1234
1235	* libgroff/font.cc, libgroff/font.h: Altered to include reading of
1236	extra device specific information about fonts.
1237
1238	* doc/homepage.ms: New file.  It is an example how an HTML home page
1239	could look like with grohtml.
1240
1241	* doc/Makefile: Add homepage.ms.  Remove rule for pic.html.
1242
12432000-01-12  Bruno Haible  <haible@clisp.cons.org>
1244
1245	* devutf8/R.proto: Add mappings for ti, Fn, st, an.  Change mappings
1246	of Im, Re.
1247
1248	* devutf8/NOTES: Updated.
1249
12502000-01-08  Bruno Haible  <haible@clisp.cons.org>
1251
1252	* eqn/box.cc, eqn/lex.cc, eqn/other.cc, eqn/over.cc, eqn/special.cc,
1253	eqn/text.cc, grodvi/dvi.cc, grops/ps.cc, grops/psrm.cc,
1254	libbib/index.cc, libbib/linear.cc, libbib/search.cc,
1255	libdriver/printer.cc, libgroff/font.cc, libgroff/string.cc,
1256	pic/lex.cc, pic/object.cc, refer/label.y, refer/ref.cc, tbl/main.cc,
1257	tbl/table.cc, tfmtodit/tfmtodit.cc, troff/dictionary.cc,
1258	troff/div.cc, troff/env.cc, troff/input.cc, troff/node.cc,
1259	troff/node.h, troff/reg.cc: Avoid most "g++ -Wall -Wno-sign-compare"
1260	warnings.
1261
1262	* troff/node.cc (bracket_node::copy): Initialize last to NULL.
1263
12642000-01-12  Fabrizio Polacco  <fab@prosa.it>
1265
1266	grolj4: Paper size will be searched case-insensitively.
1267
1268	* include/lib.h: Add check for strcasecmp().
1269	* grolj4/li4.cc (lookup_paper_size): Use strcasecmp().
1270	* configure.in: Check for strcasecmp().
1271
12722000-01-11  Werner LEMBERG  <wl@gnu.org>
1273
1274	* troff/Makefile.sub (majorminor.cc): Fix incorrect path to
1275	`REVISION'.
1276
12772000-01-10  Werner LEMBERG  <wl@gnu.org>
1278
1279	* Makefile.comm, Makefile.in, doc/Makefile: More fixes for the
1280	revision scheme.
1281
1282	Add a new read-only register, `.Y', which contains the groff
1283	revision.
1284
1285	* troff/input.cc (init_input_requests): Define it.
1286	* troff/Makefile.sub (majorminor.cc): Define `revision' string.
1287	* doc/groff.texinfo, troff/troff.man: Document it.
1288
1289	* libgroff/Makefile.sub (version.cc): Add definition of
1290	`Version_string[]', consisting of `<major>.<minor>.<revision>'
1291	* eqn/main.cc, grodvi/dvi.cc, grolj4/lj4.cc, grops/ps.cc,
1292	grotty/tty.cc, hpftodit/hpftodit.cc, indxbib/indxbib.cc, pic/main.cc,
1293	refer/refer.cc, soelim/soelim.cc, tbl/main.cc, tfmtodit/tfmtodit.cc,
1294	troff/input.cc, pfbtops/pfbtops.c: Use it.
1295
12962000-01-10  Fabrizio Polacco  <fab@prosa.it>
1297
1298	Add a revision scheme to the groff package.
1299
1300	* REVISION: New file.
1301	* libgroff/Makefile.sub (version.cc): Use it to define
1302	`revision_string[]'.
1303	* grops/psrm.cc: Use revision_string (converted to an unsigned
1304	integer) in constructor of resource_manager.
1305
13062000-01-10  Bruno Haible  <haible@clisp.cons.org>
1307
1308	* devutf8/Makefile.sub, devutf8/DESC.proto, devutf8/R.proto: New
1309	files.
1310	* Makefile.in (DEVDIRS): Add devutf8.
1311	* grotty/tty.cc: Include device.h.
1312	(glyph): Change type of `code' to `unsigned int'.
1313	(tty_printer): New field is_utf8.  Constructor takes device argument.
1314	(tty_printer::tty_printer): If device if `utf8', set is_utf8.
1315	(tty_printer::add_char): Change type of first arg to `unsigned int'.
1316	(tty_printer::put_char): New function.
1317	(tty_printer::end_page): Use put_char() instead of ::putchar().
1318	(make_printer): Pass device to tty_printer constructor.
1319	* nroff.sh: Determine default device by calling 'locale'.  As a
1320	fallback, look at all of $LC_ALL, $LC_CTYPE, $LANG, $LESSCHARSET.
1321	Recognize UTF-8 locales.
1322	* tmac/eqnrc: Recognize utf8 like latin1.
1323	* tmac/troffrc: Device utf8 needs tmac.tty.
1324
13252000-01-07  Werner LEMBERG  <wl@gnu.org>
1326
1327	* tmac/Makefile.sub: tmac.a4 and tmac.trace will now be installed.
1328
13292000-01-07  Paul Eggert  <eggert@twinsun.com>
1330
1331	Add a new predefined writeable number register, `year',
1332	which contains the current year.
1333
1334	* doc/groff.texinfo, PROBLEMS, troff/troff.man: Document it.
1335	* tmac/tmac.s: Use it.
1336	* troff/input.cc (init_registers): Initialize it.
1337
13382000-01-06  Werner LEMBERG  <wl@gnu.org>
1339
1340	* PROBLEMS: Fixed typo.
1341
13422000-01-04  Paul Eggert  <eggert@twinsun.com>
1343
1344	* PROBLEMS: Add Y2k advice for the yr number register.
1345
13462000-01-03  Paul Eggert  <eggert@twinsun.com>
1347
1348	* doc/groff.texinfo: Fix Y2k bug in documentation of \n(yr.
1349
13502000-01-02  Werner LEMBERG  <wl@gnu.org>
1351
1352	* tmac/tmac.arkup: Slight modification of macros to provide better
1353	appearance for non-HTML formats.
1354
13552000-01-01  Charles Levert  <charles@comm.polymtl.ca>
1356
1357	* soelim/soelim.cc (include_path_append): realloc(NULL, n)
1358	does not automatically translate to malloc(n) on all OSes
1359	(e.g., SunOS) so do it explicitly.  Also, check the returned
1360	value.
1361
13622000-01-01  Werner LEMBERG  <wl@gnu.org>
1363
1364	* tmac/tmac.arkup: Added .LINE macro.  Some formatting.
1365
1366	* Makefile.in: Added $(tmac_m) again since the Makefile in `mm'
1367	expects this variable
1368
13692000-01-01  Gaius Mulley <gaius@glam.ac.uk>
1370
1371	* doc/Makefile: Added instructions to create HTML and text
1372	versions of some files.
1373
13741999-12-31  Werner LEMBERG  <wl@gnu.org>
1375
1376	* Updated INSTALL.gen.
1377
1378	* tmac/tmac.arkup: Added fixes so that .FTP and .MAILTO works
1379	better resp. correctly with non-HTML devices.
1380
1381Version 1.15 released
1382=====================
1383
13841999-12-28  Werner LEMBERG  <wl@gnu.org>
1385
1386	* NEWS, VERSION: Changed to 1.15
1387
13881999-12-27  Paul Eggert  <eggert@twinsun.com>
1389
1390	* nroff/nroff.man: -S is safer, not safe.
1391
1392	* groff/groff.cc (main): Use `safer', not `safe', in variable
1393	names.  This does not change the behavior.
1394
1395	* troff/input.cc (main): Likewise.
1396
1397	* nroff/nroff.sh: Likewise.
1398
1399	* troff/input.cc (prepend_string): New function.
1400	(main): Prepend -msafer, so that we check macro libraries for
1401	safety.
1402
1403	* PROBLEMS: Report problem with Sun C++ 5.0 and 5.1.
1404
1405Version 1.14 released
1406=====================
1407
14081999-12-26  Werner LEMBERG  <wl@gnu.org>
1409
1410	* NEWS, VERSION: Changed to 1.14.
1411
14121999-12-24  Werner LEMBERG  <wl@gnu.org>
1413
1414	* refer/refer.cc: Fixing the last fix.
1415
1416Version 1.13 released
1417=====================
1418
14191999-12-23  Werner LEMBERG  <wl@gnu.org>
1420
1421	* tmac/tmac.an: A typo (`.if' instead of `.ie') made the page
1422	number disappear.
1423
1424	* NEWS: Updated.
1425
1426	* tmac/tmac.safer: Forgot to remove `so' from the `rm' request.
1427
1428	* VERSION: Changed to 1.13 -- to be compliant with the Adobe 3.0
1429	document conventions, the version number must be a real.
1430
1431Version 1.12.1 released
1432=======================
1433
14341999-12-22  Werner LEMBERG  <wl@gnu.org>
1435
1436	* VERSION: Changed to 1.12.1.
1437
14381999-12-22  Alan Rooks  <arooks@istar.ca>
1439
1440	* refer/refer.cc (do_file): Slight modification to satisfy the
1441	`Standard system CC - C++ Compilation System 3.1 03/03/99' on SCO
1442	UnixWare 7.1.
1443
14441999-12-20  Werner LEMBERG  <wl@gnu.org>
1445
1446	* changed prep.ai.mit.edu -> ftp.gnu.org; updated copyright
1447	notices.
1448
1449	* tmac/tmac.safer, tmac/groff_msafer.man: Remove `so' (again) from
1450	list of unsafe requests.
1451
1452	* pic/pic.man: Fixed a typo.
1453
1454	* man/groff_out.man: Fixed a typo.
1455
14561999-12-18  Werner LEMBERG  <wl@gnu.org>
1457
1458	* Makefile.in: Doc fixes.
1459
14601999-12-17  Fabrizio Polacco  <fab@prosa.it>
1461
1462	* groff/groff.cc: Missing `U' option added to getopt().
1463
1464	* troff/troff.man: Missing `U' option added to synopsis.
1465
1466Version 1.12 released
1467=====================
1468
14691999-12-14  Werner LEMBERG  <wl@gnu.org>
1470
1471	* troff/input.cc (usage), groff/groff.cc (synopsis): Added -U flag
1472	to the synopsis.
1473
1474	* nroff/nroff.sh, nroff/nroff.man: Replaced `secure', `unsecure'
1475	with the more appropriate terms `safer' and `unsafe'.
1476
1477	* libgroff/strerror.c, aclocal.m4, configure.in: Added checks for
1478	sys_nerr and sys_errlist[].
1479
1480	* pic/pic.h, aclocal.m4, configure.in: Added check for hypot().
1481
1482	* pic/pic.y, pic/pic.cc: Added check for fmod().
1483
14841999-12-13  Werner LEMBERG  <wl@gnu.org>
1485
1486	* VERSION: Changed to 1.12.
1487
1488	Here some patches from various sources; most of them taken from
1489	the Debian distribution.
1490
1491	* tmac/groff_mdoc.man, tmac/groff_mdoc.samples.man,
1492	tmac/Makefile.sub: New files copied directly from the NetBSD
1493	distribution.  Probably, some additional adaptation later on is
1494	necessary...
1495
1496	* tmac/tmac.safer, tmac/groff_msafer.man: Added `so' to the list
1497	of unsafe requests.
1498
1499	* groff/groff.cc, groff/groff.man, nroff/nroff.sh,
1500	nroff/nroff.man, pic/main.cc, pic/pic.man, troff/input.cc,
1501	troff/troff.man: Added option `-U' for unsafe mode.  Safe mode
1502	(`-S') is now the default.
1503
1504	* README, NEWS: Updated.
1505
15061999-12-09  Werner LEMBERG  <wl@gnu.org>
1507
1508	* doc/groff.texinfo: Regenerated nodes and menus with emacs.
1509
1510	* doc/Makefile (clean): Added cleaning commands for groff.texinfo.
1511
15121999-12-06  Werner LEMBERG  <wl@gnu.org>
1513
1514	* configure.in: Removed AC_PREFIX_PROGRAM since it causes more
1515	grief than relief today.  Additionally, it is against the GNU
1516	coding standards.
1517
1518	* configure: Recreated.
1519
15201999-12-05  Werner LEMBERG  <wl@gnu.org>
1521
1522	* configure.in: Added GROFF_LIBM.
1523
1524	* configure: Recreated.
1525
1526	* aclocal.m4 (GROFF_LIBM): New function which tests whether -lm is
1527	necessary.
1528
1529	* Makefile.in: Added definition of $(LIBM).
1530
1531	* Makefile.comm (LIBM): Removed.
1532
1533	* pfbtops/Makefile.sub: On AIX, -lm is needed also.
1534
15351999-12-03  Gaius Mulley <gaius@glam.ac.uk>
1536
1537	* doc/Makefile: Added rule for generation pic.html.
1538
1539	(clean): Files produced by grohtml will be removed also.
1540
1541	* doc/pic.ms: Small fix.
1542
1543	* tmac/tmac.html: Fixed suppression of headers.
1544
15451999-11-16  Gaius Mulley <gaius@glam.ac.uk>
1546
1547	* tmac/tmac.html: Fixing horizontal arrows.
1548
1549	Turning off hyphenation.
1550
1551	* tmac/tmac.an: Improved support for grohtml; better indentation,
1552	no footers/headers.
1553
15541999-10-31  Gaius Mulley <gaius@glam.ac.uk>
1555
1556	* tmac/tmac.arkup: Added CDFTP macro
1557
1558	* tmac/tmac.html: All headers are turned off for ms, me, and mm
1559	macros.
1560
1561	* tmac/troffrc: Some additions for HTML stuff.
1562
15631999-10-06  Gaius Mulley <gaius@glam.ac.uk>
1564
1565	* tmac/tmac.html: Small changes.
1566
15671999-09-26  Werner LEMBERG  <wl@gnu.org>
1568
1569	* doc/groff.texinfo: Minor fixes.
1570
15711999-09-26  Gaius Mulley <gaius@glam.ac.uk>
1572
1573	* devhtml/TR: Changed spacewidth to 3.
1574
1575	* tmac/Makefile.sub (NORMALFILES): Added tmac.arkup.
1576
1577	* tmac/tmac.html: Moved markup macros to tmap.arkup.
1578
1579	* tmac/tmac.arkup: New file.
1580
1581	* grohtml/ChangeLog: New file.
1582
15831999-09-16  Werner LEMBERG  <wl@gnu.org>
1584
1585	* doc/groff.texinfo (Common Features): Added Copying chapter.
1586	Changed format to @smallbook.
1587
15881999-09-15  Werner LEMBERG  <wl@gnu.org>
1589
1590	* NEWS: Added info about groff.texinfo.
1591
1592	* doc/groff.texinfo: Will now compile (using texi2dvi) without
1593	warning messages.
1594
15951999-09-14  Werner LEMBERG  <wl@gnu.org>
1596
1597	* groff/groff.man: More updates.
1598
15991999-09-13  Werner LEMBERG  <wl@gnu.org>
1600
1601	* doc/groff.texinfo: New file.  This manual is still very
1602	rudimentary.  It has been originally contributed by Trent
1603	A. Fisher <trent@gnurd.portland.or.us> with first corrections and
1604	additions by me.
1605
1606	* INSTALL: Added information about the `doc' subdir
1607
1608	* troff/troff.man: Minor fixes.
1609
1610	* groff/groff.man: Added missing `-L arg' to SYNOPSIS section;
1611	reordered options.
1612
1613	* troff/input.cc (usage): Added missing `-ffam' to usage message.
1614
1615	* Makefile.in (dist): groff-$(version).tar.gz must be removed
1616	also, otherwise it is included itself in another call of `make
1617	dist'.
1618
1619	* groff/groff.cc (synopsis): Removed superfluous space.
1620
1621	* PROJECTS, PROBLEMS, NEWS: Updated.
1622
1623	* xditview/Makefile: Removed.
1624
1625	* VERSION: Updated to 1.12beta.
1626
1627	* BUG-REPORT: Some cosmetic fixes.  Corrected email address.
1628
1629	* README: Updated: Included documentation about CVS repository,
1630	mailing lists, and daily snapshots.
1631
1632	* tmac/Makefile.sub: Fixed $(tmap_wrap) finally.
1633
16341999-09-12  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
1635
1636	* tmac/tmac.an: If the tag didn't fit into the space that the
1637	macro `TP' specifies, the rest of the tag went into the space for
1638	the next line.
1639
16401999-09-12  Jeffrey Copeland  <jeff@opennt.com> 
1641
1642	* grolj4/lj4.cc: Added duplex printing (option `-d').
1643
1644	* grolj4/grolj4.man: Document duplex printing.
1645
16461999-09-12  Werner LEMBERG  <wl@gnu.org>
1647
1648	* doc/Makefile (pic.ps): Fixed rule which caused problems with
1649	non-GNUish sed programs.
1650
1651	* tmac/doc-syms: Removed extra space from -iso8802-3 macro
1652	definition.
1653
1654	* configure.in (LIBS): Added `-lc'
1655
1656	* Makefile.comm (.man.n): Added substitution for @TMAC_AN_PREFIX@.
1657
1658	* pic/tex.cc (solid_arc): Casting M_PI to double.
1659
1660	* libgroff/putenv.c (putenv): Changed function header to ANSI C.
1661
1662	* groff/groff.man, tmac/Makefile.sub (MAN7), tmac/groff_msafer.man
1663	(new file), tmac/msafer.man (deleted), tmac/groff_me.man (new
1664	file), tmac/me.man (deleted): {me,msafer} -> groff_{me,msafer}.
1665
1666	* groff/groff_man.man: New file.  This manual page was originally
1667	written for the Debian GNU/Linux system by Susan G. Kleinmann
1668	<sgk@debian.org>.
1669
1670	* eqn/list.cc (list_box::compute_metrics,
1671	list_box::compute_sublist_width): Removed variable declaration to
1672	avoid shadowing warnings.
1673
1674	* grops/psrm.cc (resource_manager::process_file): Ditto.
1675
1676	* tfmtodit/tfmtodit.cc (main): Ditto.
1677
1678	* libgroff/font.cc (font::load_desc): Renamed auxiliary variable
1679	to avoid shadowing warnings.
1680
1681	* tbl/table.cc (block_entry::do_divert, table::do_row): Renamed
1682	shadowing loop variable.
1683
1684	* groff/groff.man, troff/troff.man: Added doc about grohtml.
1685
16861999-09-12  Gaius Mulley  <gaius@glam.ac.uk>
1687
1688	New grohtml frontend to convert groff input to html.
1689
1690	* Makefile.in (CCPROGDIRS, DEVDIRS): Added html device.
1691
1692	* tmac/Makefile.sub (NORMALFILES): Added tmac.html.
1693
1694	* tmac/eqnrc: Added html device.
1695
1696	* tmac/tmac.html: New file.
1697
1698	* eqn/main.cc (do_file, inline_equation), pic/troff.cc
1699	(troff_output::start_picture, troff_output::finish_picture),
1700	tbl/main.cc (process_input_file):
1701	Surrounded output with `graphics_start' and `graphics_end' so that
1702	the html driver can identify non-text portions.
1703
1704	* grodvi/dvi.cc (dvi_printer::set_char), grolj4/lj4.cc
1705	(lj4_printer::set_char), grops/ps.cc (ps_printer::set_char),
1706	grotty/tty.ps (tty_printer::set_char): Additional parameter
1707	`name'.
1708
1709	* include/printer.h: Class printer: New function
1710	set_char_and_width; new variables (is_char_named, is_named_set,
1711	named_command, named_char_s, named_char_n) to hold information
1712	about named characters -- needed by the html driver.
1713
1714	* libdriver/printer.cc (printer::set_ascii_char,
1715	printer::set_special_char): Use set_char_and_width.
1716
1717	* devhtml/*: New device files for html driver.
1718
1719	* grohtml/*: New driver grohtml.
1720
17211999-09-11  Wilfredo Sanchez  <wsanchez@apple.com>
1722
1723	* tmac/doc-common, tmac/tmac.an: Removed the word `UNIX' in
1724	default strings.
1725
17261999-09-11  Luke Mewburn  <lukem@netbsd.org>
1727
1728	* libgroff/string.cc (search): Small fix to test against NULL
1729	pointer.
1730
17311999-09-11  Jeff Conrad  <jeff_conrad@msn.com>
1732
1733	* troff/node.cc (copy): The characters in a bracket escape (e.g.,
1734	\b'abc') were stacked in reverse order when processed in a
1735	diversion.
1736
1737	* troff/node.h: Added `*last' to struct `node' to make the above
1738	fix work.
1739
1740	* troff/input.cc (read_draw_node), libdriver/input.cc (do_file):
1741	The default scale for the 'f' and 't' graphics functions were 'm'
1742	rather than 'u' (i.e., no scaling).
1743
17441999-09-11  Peter Miller  <peterm@jna.com.au>
1745
1746	* groff/groff.cc (main), groff.man, soelim/soelim.cc (main,
1747	do_file), soelim/soelim.man: Added `-I file' option to soelim,
1748	defining include paths.
1749
1750	* soelim/soelim.cc (include_path_append): New function.
1751
17521999-09-11  Larry Jones  <larry.jones@sdrc.com>
1753
1754	* tbl/main.cc (process_options): Unix (at least Documenter's
1755	Workbench) tbl allows arbitrary non-alpha characters between
1756	options.
1757
17581999-09-11  Paul Eggert  <eggert@twinsun.com>
1759
1760	Y2k fixes.  Don't assume that the current year precedes 2000.
1761
1762	* doc/meref.me: Add \n(y2, \n(y4.
1763
1764	* tmac/doc-common (Yr): New number register.
1765	(Dd): Don't assume current year precedes 2000.
1766
1767	* tmac/tmac.e (td): Likewise.
1768	(y2, y4): New number registers.
1769
1770	* pic/pic.man: Update reference for pic paper to May, 1991
1771	version.
1772
17731999-09-11  Werner LEMBERG  <wl@gnu.org>
1774
1775	* tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub):
1776	Removed quotation marks which prevented correct expansion of
1777	$(tmac_wrap).
1778
1779	* devlj4/Makefile.sub (LJ4RES): Fixed value (600 instead of 300).
1780
17811999-09-10  Werner LEMBERG  <wl@gnu.org>
1782
1783	* Makefile.sub (DISTCLEANFILES): Added `config.log' and
1784	`config.cache'.
1785
1786	* Removed configure.old.
1787
17881999-08-31  Werner LEMBERG  <wl@gnu.org>
1789
1790	* VERSION: Updated to 1.11.1
1791
17921999-05-27  Werner LEMBERG  <wl@gnu.org>
1793
1794	* doc/Makefile: changed `.PS' postfix to `.ps' for consistency.
1795
1796	* tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub):
1797	added quotations around $(tmac_wrap) to avoid syntax error if
1798	variable is empty.
1799
1800	* configure: Newly generated using autoconf 2.13.
1801
1802	* Makefile.in (LDFLAGS): Set variable to @LDFLAGS@.
1803
1804Fri Aug 15 08:51:47 1997  Eric S. Raymond  <esr@snark.thyrsus.com>
1805
1806	* README, PROJECTS, NEWS, INSTALL, VERSION, 
1807	doc/Makefile. doc/pic.ms, groff/groff.man:
1808	Prepare for 1.11 release.  No code changes.
1809  	Documentation for pic added (doc/pic.ms).
1810
1811Sun Nov 26 11:45:13 1995  James Clark  <jjc@jclark.com>
1812
1813	* Version 1.10 released.
1814
1815Fri Nov 24 09:56:16 1995  James Clark  <jjc@jclark.com>
1816
1817	* afmtodit/afmtodit.pl: Avoid comment on first line.
1818
1819Mon Nov 20 11:13:49 1995  James Clark  <jjc@jclark.com>
1820
1821	* aclocal.m4 (GROFF_INSTALL_SH): New macro.
1822	* configure.in: Call it.
1823
1824	* Makefile.sub (configure): Depends on aclocal.m4 not acgroff.m4.
1825	(distfiles): Doesn't depend on config.log or config.cache.
1826
1827Sun Oct  1 08:45:36 1995  James Clark  <jjc@jclark.com>
1828
1829	* grog/grog.sh: Use print "" rather than print in END rule.
1830
1831Wed Aug 23 13:30:52 1995  James Clark  <jjc@jclark.com>
1832
1833	* tbl/main.cc (process_data): Don't give error for excess data
1834	entries that are comments.
1835
1836Fri Jul 28 11:00:27 1995  James Clark  <jjc@jclark.com>
1837
1838	* tbl/main.cc (process_data): Fix case where new for-scope rules
1839	silently change meaning of code.
1840
1841Tue Jul  4 23:39:51 1995  James Clark  <jjc@jclark.com>
1842
1843	* troff/env.cc (hyphenate): Loop over all consecutive sequences
1844	of non-zero hyphenation codes.
1845
1846Sat Jul  1 00:42:15 1995  James Clark  <jjc@jclark.com>
1847
1848	* aclocal.m4 (GROFF_POSIX): Use conflicting declaration technique.
1849
1850Thu Jun 29 13:58:36 1995  James Clark  <jjc@jclark.com>
1851
1852	* tmac/tmac.e (ip): Divert the tag so as to freeze the spaces.
1853
1854Tue Jun 27 12:30:16 1995  James Clark  <jjc@jclark.com>
1855
1856	* tmac/tmac.andoc: Make it work in compatibility mode.
1857
1858	* refer/token.h (token_info::is_range_sep): New function.
1859	* refer/token.cc (init_special_chars): Make \(en a RANGE_SEP.
1860	* refer/ref.cc (reference::output): More sophisticated check for
1861	multiple pages.
1862
1863	* devps/prologue.ps (MANUAL): New procedure.
1864	* grops/ps.cc (main): New -m option.
1865	(usage): Include -m.
1866	(ps_printer::~ps_printer): Implement -m.
1867
1868	* aclocal.m4 (GROFF_G): New macro.
1869	* configure.in: Call it.
1870	* Makefile.in (g): Provided by configure.
1871
1872	* hpftodit/hpftodit.cc (basename): Rename to xbasename.
1873
1874	* tmac/tmac.tty: Disable warning about bad fonts.  Remove font
1875	translations.
1876
1877	* Makefile.in (tmacpath): Don't include /usr/lib/tmac.
1878	(tmac_m, tmac_s): Deleted.
1879	(sys_tmac_prefix, tmac_wrap, tmac_prefix, tmac_an_prefix,
1880	tmac_s_prefix): New variables.
1881	(MDEFINES): Change accordingly.
1882	* Makefile.comm (.man.n): Use new TMAC_* variables.
1883	* configure.in (GROFF_TMAC): Call.
1884	* aclocal.m4 (GROFF_TMAC): Define.
1885	* tmac/Makefile.sub (stamp_wrap): New target.
1886	(install_data, uninstall_sub): Handle macro wrapping.
1887
1888Mon Jun 26 14:54:39 1995  James Clark  <jjc@jclark.com>
1889
1890	* tbl/main.cc (main): Ignore -T option.
1891
1892Thu Jun 22 09:08:06 1995  James Clark  <jjc@jclark.com>
1893
1894	* devlj4/generate/special.map: Add definition of \(nb.
1895
1896	* tmac/tmac.dvi: Add definition of \(nb.
1897
1898	* troff/dictionary.c (dictionary::dictionary): association::v gets
1899	initialized by association::association.
1900
1901	* tmac/Makefile.sub: Avoid using temporary files when installing.
1902
1903	* troff/env.cc (environment::set_font): Make bad font number a
1904	warning.
1905
1906	* Makefile.in (fontpath): Remove $(prefix)/lib/font from fontpath.
1907
1908	* Makefile.in (datadir): Use share rather than lib.
1909
1910	* groff/groff.cc (basename): Rename to xbasename.
1911
1912Wed Jun 21 16:59:46 1995  James Clark  <jjc@jclark.com>
1913
1914	* Makefile (CCLIBS): Don't use.
1915	* Makefile.ccpg: Likewise.
1916
1917	* acgroff.m4: Rename to...
1918	* aclocal.m4: Modify extensively for autoconf 2.
1919	* configure.in: Likewise.
1920	* Makefile.in: Likewise.
1921
1922	* groff/pipeline.c (const): Declare as empty if __STDC__ not
1923	defined.
1924	(xstrsignal): Check for definition of NSIG. Conditionalize
1925	on SYS_SIGLIST_DECLARED.  Make return type const.
1926
1927Sat Jun 10 12:28:16 1995  James Clark  <jjc@jclark.com>
1928
1929	* troff/input.cc (interpolate_macro): Rephrase missing space
1930	warning.
1931
1932Thu May 11 01:07:16 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1933
1934	* addftinfo/addftinfo.cc, eqn/delim.cc, eqn/lex.cc, eqn/list.cc,
1935	grodvi/dvi.cc, groff/groff.cc, grops/ps.cc, grops/psrm.cc,
1936	grotty/tty.cc, include/ptable.h indxbib/indxbib.cc,
1937	libbib/index.cc, libbib/linear.cc, libbib/search.cc,
1938	libdriver/input.cc, libdriver/printer.cc, libgroff/font.cc,
1939	libgroff/lf.cc, libgroff/nametoindex.cc, libgroff/ptable.cc,
1940	libgroff/string.cc, lkbib/lkbib.cc, lookbib/lookbib.cc,
1941	pic/lex.cc, pic/object.cc, pic/pic.y refer/label.y refer/ref.cc,
1942	refer/refer.cc, refer/token.cc, tbl/main.cc, tbl/table.cc,
1943	tfmtodit/tfmtodit.cc, troff/dictionary.cc, troff/div.cc,
1944	troff/env.cc, troff/input.cc, troff/node.cc, troff/symbol.cc:
1945	Fix 'for' scoping.
1946
1947Wed Apr 19 21:15:11 1995  James Clark  <jjc@jclark.com>
1948
1949	* troff/input.cc (spring_trap): Push a macro_iterator rather than a
1950	string_iterator.
1951	(spring_trap, postpone_traps, unpostpone_traps): Move to later in
1952	file.
1953	(macro_iterator::macro_iterator): Add additional argument.
1954
1955Mon Apr 10 12:06:02 1995  James Clark  <jjc@jclark.com>
1956
1957	* troff/div.cc (vertical_size::vertical_size): In place of integer
1958	specifying line spacing use cunits specifying post vertical
1959	space.
1960	(macro_diversion::output, top_level_diversion::output): Likewise.
1961	* troff/div.h: Change declarations accordingly.
1962	* troff/env.cc (pending_output_line): Replace ls field by post_vs
1963	field.
1964	(pending_output_line::pending_output_line,
1965	pending_output_line::output, environment::output,
1966	environment::output_line, environment::output_title,
1967	environment::hyphenate_line):  In place of
1968	integer specifying line spacing use cunits specifying post vertical
1969	space.
1970	(environment::environment): Add post_vertical_spacing and
1971	prev_post_vertical_spacing arguments.
1972	(environment::get_post_vertical_spacing): New function.
1973	(environment::total_post_vertical_spacing): New function.
1974	(environment::post_vertical_spacing): New function.
1975	(init_env_requests): Initialize pvs request and .pvs register.
1976	* troff/env.h: Change declarations.
1977
1978Tue Mar 28 09:52:07 1995  James Clark  <jjc@jclark.com>
1979
1980	* tmac/tmac.pspic: Immediately remove the temporary file.
1981
1982Sat Mar 25 10:43:11 1995  James Clark  <jjc@jclark.com>
1983
1984	* tmac/tmac.pspic (PSPIC): Scale graphic uniformly even when
1985	height is specified.
1986
1987Thu Jan 26 16:20:13 1995  James Clark  <jjc@jclark.com>
1988
1989	* tbl/table.c (struct vertical rule, class table_entry): Use int
1990	not short for start_row and end_row.
1991
1992Fri Jan 13 13:53:05 1995  James Clark  <jjc@jclark.com>
1993
1994	* troff/input.cc (trapping_blank_line, blank_line_macro): New
1995	functions.
1996	(diverted_space_node::reread, process_input_stack): Call
1997	trapping_blank_line() rather than blank_line().
1998	(init_input_requests): Bind "blm" to blank_line_macro().
1999
2000	* tmac/tmac.s (XA): Use .br and par@reset rather than XA.
2001
2002Tue Jan 10 11:40:35 1995  James Clark  <jjc@jclark.com>
2003
2004	* troff/env.cc (environment::possibly_break_line): Require that
2005	width total excluding width of final space node be greater than
2006	the target text length.
2007
2008Tue Jan  3 09:13:37 1995  James Clark  <jjc@jclark.com>
2009
2010	* troff/node.cc (kern_pair_node::vertical_extent): New function.
2011
2012Sun Dec  4 13:19:07 1994  James Clark  <jjc@jclark.com>
2013
2014	* troff/node.cc (charinfo_node): New class.
2015	(glyph_node, composite_node): Derive from charinfo_node.  Change
2016	member functions accordingly.
2017
2018Wed Nov 30 10:29:29 1994  James Clark  <jjc@jclark.com>
2019
2020	* nroff/nroff.sh: Use -Tlatin1 not -TLatin1.
2021
2022Mon Aug  8 10:17:59 1994  James Clark  (jjc@jclark.com)
2023
2024	* tmac/tmac.tty-char: Add definitions for \(ab and \[arrowvertex].
2025
2026	* devps/generate/textmap (notsubset): Add.
2027
2028	* tmac/tmac.a4: New file.
2029
2030Sun Jul 24 20:08:42 1994  James Clark  (jjc@jclark.com)
2031
2032	* pic/main.cc (had_parse_error): New variable.
2033	(do_picture, do_whole_file): Set had_parse_error if yyparse()
2034	returns non-zero.
2035	(main): Return 1 if had_parse_error is true.
2036
2037Tue Jul 19 13:40:31 1994  James Clark  (jjc@jclark.com)
2038
2039	* grolj4/lj4.cc (main): Avoid use of strtoul.
2040
2041Mon Jul 18 15:03:02 1994  James Clark  (jjc@jclark.com)
2042
2043	* nroff/nroff.sh: Default device is -Tlatin1 if $LC_CTYPE is
2044	iso_8859_1 or $LESSCHARSET is latin1.
2045
2046Sun Jul 10 13:38:35 1994  James Clark  (jjc@jclark.com)
2047
2048	* hpftodit: New directory.
2049	* Makefile.in (CCPROGDIRS): Add hpftodit.
2050	* devlj4/generate: New directory.
2051
2052Thu Jul  7 23:49:48 1994  James Clark  (jjc@jclark.com)
2053
2054	* configure.in: Don't use AC_VFORK.
2055	* groff/pipeline.c (run_pipeline): Use fork() always.
2056
2057Wed Jul  6 11:13:17 1994  James Clark  (jjc@jclark.com)
2058
2059	* grops/ps.cc (main): Use %1 not %s in error message for -w.
2060
2061	* Makefile.in (CCPROGDIRS): Add grolj4.
2062	(DEVDIRS): Add devlj4.
2063	* grolj4, devlj4: New directories.
2064	* tmac/troffrc: Handle lj4.
2065	* tmac/tmac.lj4: New file.
2066
2067Fri Jun 17 18:02:53 1994  James Clark  (jjc@jclark.com)
2068
2069	* tmac/tmac.e (@n): Set indent to 0 before calling |h.
2070
2071Wed Jun  1 07:33:47 1994  James Clark  (jjc@jclark.com)
2072
2073	* troff/input.cc (do_if_request): At end of second string, switch
2074	environments before getting next token.
2075
2076Fri May 20 07:39:18 1994  James Clark  (jjc@jclark.com)
2077
2078	* devps/psstrip.sed: Split rule that strips whitespace on either
2079	side of delimiters.
2080
2081Wed May 18 08:13:47 1994  James Clark  (jjc@jclark.com)
2082
2083	* troff/node.h (font_family::make_definition): Add return value to
2084	declaration.  * troff/symbol.h (symbol::operator==,
2085	symbol::operator!=): Likewise.
2086
2087Tue May 17 20:46:06 1994  James Clark  (jjc@jclark.com)
2088
2089	* groff/groff.cc (main, help, synopsis): Handle -S.
2090	(possible_command::insert_arg): New function.
2091
2092	* tmac/tmac.safer: New file.
2093	* tmac/msafer.man: New file.
2094	* tmac/Makefile.sub (FILES): Add tmac.safer and msafer.man.
2095
2096Thu Mar 10 01:58:30 1994  Paul Eggert  (eggert@twinsun.com)
2097
2098	* pic/pic.h, pic/main.cc (safer_flag): New variable.
2099	* pic/pic.y (placeless_element): Avoid unsafe operations if
2100	`safer_flag' is set.
2101	* pic/main.cc (main): Add -S option, which sets `safer_flag'.
2102
2103Tue May 10 13:02:31 1994  James Clark  (jjc@jclark.com)
2104
2105	* eqn/lex.cc (get_token): Put call to add_context() in block to
2106	work around Sun C++ 4.0 bug.
2107
2108	* include/stringclass.h (operator +): Use ?: instead of `if' to
2109	work around Sun C++ 4.0 bug.
2110
2111Thu May  5 11:18:03 1994  James Clark  (jjc@jclark.com)
2112
2113	* tbl/main.cc (process_format): Accept - as a synonym for the _
2114	key letter.
2115
2116	* libbib/index.cc (minus_one): Don't declare as const.
2117
2118Fri Apr 29 09:32:48 1994  James Clark  (jjc@jclark.com)
2119
2120	* troff/input.cc (get_char_for_escape_name): Push back a newline.
2121
2122Wed Apr 27 21:14:18 1994  James Clark  (jjc@jclark.com)
2123
2124	* troff/input.cc (write_macro_request): New function.
2125	(init_input_requests): Bind write_macro_request to writem.
2126
2127Sun Apr 17 11:15:38 1994  James Clark  (jjc@jclark.com)
2128
2129	* tmac/tmac.s (@EN): Turn filling back on even if there was no
2130	equation.
2131
2132	* eqn/lex.cc (do_space): Supply missing argument to lex_error.
2133
2134	* tmac/tmac.s (@TS): Renamed from TS.
2135	(TS): Call LP then TS again.
2136	(cov*ab-init): Alias @TS to TS.
2137
2138	* tmac/tmac.s: Allow QP or RS to initialize.
2139
2140	* tmac/tmac.s (par@load-init): New macro.  Call at end of file.
2141	Move initializations of PS and LL here.
2142	(par@init): Don't initialize HY.  Avoid changing environment 0.
2143	(par*env-init): Don't all par@reset.
2144
2145Thu Apr 14 19:15:45 1994  James Clark  (jjc@jclark.com)
2146
2147	* include/posix.h: Include <fcntl.h> only if not using <osfcn.h>.
2148
2149Sun Apr 10 09:54:44 1994  James Clark  (jjc@jclark.com)
2150
2151	* Makefile.in (MDEFINES): Add LDFLAGS.
2152	(LDFLAGS): Add definition line.
2153
2154Thu Apr  7 22:22:22 1994  James Clark  (jjc@jclark.com)
2155
2156	* troff/input.cc (get_optional_char): Split off error check into...
2157	(check_missing_character): New function.
2158	* troff/token.h: Declare it.
2159	* troff/env.cc (margin_character): Don't call get_optional_char.
2160	Only call tok.next() after making the node.
2161
2162	* include/lib.h (getopt): Make 2nd argument char *const *.
2163
2164Fri Mar 11 07:28:03 1994  James Clark  (jjc@jclark.com)
2165
2166	* nroff/conftest.sh: Deleted.
2167
2168Fri Mar  4 10:51:36 1994  James Clark  (jjc@jclark.com)
2169
2170	* pic/make-dos-dist: Deleted.
2171
2172Wed Mar  2 20:59:16 1994  James Clark  (jjc@jclark.com)
2173
2174	* devps/psstrip.sed: Strip comments before stripping trailing
2175	white space.
2176
2177Sat Feb 19 13:07:16 1994  James Clark  (jjc@jclark.com)
2178
2179	* Version 1.09 released.
2180
2181Wed Feb 16 16:53:49 1994  James Clark  (jjc@jclark.com)
2182
2183	* tmac/doc-ditroff (hK): Don't reset page number if \nC is > 0.
2184
2185Mon Feb 14 08:26:40 1994  James Clark  (jjc@jclark.com)
2186
2187	* libgroff/font.cc (font::load_desc): Fix typo in error message.
2188
2189Sun Feb 13 09:37:38 1994  James Clark  (jjc@jclark.com)
2190
2191	* libgroff/new.cc (operator new): Rewrite so as to avoid warning
2192	about returning without a value.
2193
2194	* troff/charinfo.h (charinfo::get_special_translation): Cast
2195	TRANSLATE_NONE to int.
2196
2197	* refer/token.cc (lookup_token, store_token): Remove bogus loop
2198	test.  Fix test so that it works with n unsigned.
2199
2200	* pic/pic.y (defaults_table): Fully bracket initializer.
2201	* pic/lex.cc (lookup_keyword): Likewise.
2202	* eqn/lex.cc (token_table, def_table): Likewise.
2203	* eqn/box.cc (param_table): Likewise.
2204	* troff/input.cc (warning_table): Likewise.
2205	* libgroff/font.cc (table): Likewise.
2206	* grops/ps.cc (ps_printer::special): Likewise.
2207	* grops/psrm.cc (resource_manager::process_file): Likewise.
2208	* tfmtodit/tfmtodit.cc (lig_chars, lig_table): Likewise.
2209	* refer/command.cc (command_table): Likewise.
2210	* addftinfo/addftinfo.cc (param_table): Likewise.
2211
2212	* troff/symbol.cc (symbol::symbol): Prevent compiler warnings
2213	about temp's being unused.
2214	(unused): New function.
2215
2216	* groff/pipeline.cc: Declare c_fatal.
2217
2218	* libbib/linear.cc (bmpattern::search): Cast patterrn[--j] to
2219	uchar.
2220
2221	* libbib/index.cc (index_search_item::load): Prevent compiler
2222	warnings about fd_closer's being unused.
2223	(unused): New function.
2224
2225Sat Feb 12 10:31:59 1994  James Clark  (jjc@jclark.com)
2226
2227	* troff/input.cc (copy_mode_error): Make `prefix' static.
2228	Fix typo.
2229
2230	* include/posix.h: Include <osfcn.h> is HAVE_CC_OSFCN_H is
2231	defined.
2232	* acgroff.m4, configure.in, Makefile: Rename HAVE_CC_UNISTD_H to
2233	HAVE_CC_OSFCN_H and modify accordingly.
2234
2235	* troff/input.cc (init_charset_table): radicalex overlaps
2236	horizontally.
2237
2238	* groff/acgroff.m4 (GROFF_ISC_SYSV3): New macro (from
2239	udodo!hans@relay.NL.net).
2240	* groff/configure.in: Call it.
2241
2242	* groff/acgroff.m4 (GROFF_PCLOSE): New macro.
2243	* groff/configure.in: Call it.
2244	* include/lib.h: Conditionalize declaration of pclose.
2245
2246	* troff/div.cc (last_page_number): New global variable.
2247	(top_level_diversion::begin_page): Exit if we just printed the
2248	last page.
2249	* troff/div.h (last_page_number): Declare it.
2250	* troff/input.cc (parse_output_page_list): Set last_page_number.
2251
2252	* eqn/sqrt.cc: Rename \(rn to \[radicalex].
2253	* devps/S, devps/textmap, tmac/tmac.ps, tmac/tmac.dvi,
2254	tmac/tmac.X: Likewise.
2255	* tmac/tmac.ps, tmac/tmac.X, tmac.dvi: Add definitions of \(rn.
2256	* tmac.dvi: Make \(ru and \(ul extend beyond their width by .04m.
2257
2258Fri Feb 11 11:45:40 1994  James Clark  (jjc@jclark.com)
2259
2260	* tmac/doc-ditroff (hK): Remove groff specific code which
2261	prevented page-breaks between separate manual entries.  If this is
2262	the first page, don't set the page number to 1.
2263
2264	* acgroff.m4 (GROFF_POSIX): New macro.
2265	* configure.in: Use it.
2266
2267	* troff/node.cc (class real_output_file,
2268	real_output_file::real_output_file,
2269	real_output_file::~real_output_file): Conditionalize use of
2270	popen/pclose on POPEN_MISSING.
2271	* troff/node.h: Conditionalize pipe_command on POPEN_MISSING.
2272	* troff/input.cc (pipe_command): Give an error if POPEN_MISSING.
2273	(pipe_source): Similarily.
2274
2275	* acgroff.m4 (GROFF_PROG_CCC): Update message about libg++.
2276
2277	* acgroff.m4 (GROFF_GETOPT, GROFF_PUTENV, GROFF_POPEN): Detect
2278	presence of declarations by trying to compile example with
2279	conflicting declarations.  (gcc only gives a warning for missing
2280	declarations.)
2281
2282Wed Feb  9 09:12:23 1994  James Clark  (jjc@jclark.com)
2283
2284	* tmac/tmac.pspic (PSPIC): Allow options to specify alignment
2285	(from Ulrich Lauther).
2286
2287Tue Feb  8 03:56:40 1994  James Clark  (jjc@jclark.com)
2288
2289	* libbib/linear.cc (file_buffer::load): Use S_ISREG macro.
2290
2291Thu Feb  3 09:34:35 1994  James Clark  (jjc@jclark.com)
2292
2293	* indxbib/indxbib.cc (write_hash_table): Add code for case where
2294	pointers and ints have different sizes.
2295
2296Sun Jan  9 16:17:51 1994  James Clark  (jjc@jclark.com)
2297
2298	* tmac/tmac.s (par*env-init): Call par@reset.
2299
2300Fri Jan  7 10:24:27 1994  James Clark  (jjc@jclark.com)
2301
2302	* tmac/tmac.s (@IP): Switch to a new environment when diverting
2303	tag.
2304	(par*push-tag-env, par*pop-tag-env): New macros.
2305
2306Wed Jan  5 21:18:34 1994  James Clark  (jjc@jclark.com)
2307
2308	* grops/ps.cc (ps_printer::ps_printer): Use MAX_LINE_LENGTH for
2309	initializing `out'.  Reduce MAX_LINE_LENGTH from 79 to 72.
2310
2311	* grops/ps.cc (ps_printer::~ps_printer): Output %%CreationDate
2312	comment.  Include <time.h>.
2313
2314Wed Dec 15 14:14:00 1993  James Clark  (jjc@jclark.com)
2315
2316	* grops/ps.cc (is_small_h, is_small_v): Deleted.
2317	(ps_printer::flush_sbuf): Use absolute motion only at beginning of
2318	lines.
2319
2320Tue Dec 14 10:06:34 1993  James Clark  (jjc@jclark.com)
2321
2322	* troff/input.cc (read_request): Only print a prompt if reading
2323	from the terminal.  Also clearerr on EOF if reading from the
2324	terminal.  Declare isatty.
2325
2326Mon Nov 29 08:38:15 1993  James Clark  (jjc@jclark.com)
2327
2328	* refer/label.y: Rename map_t to map_func and extractor_t to
2329	extractor_func.
2330
2331Sat Oct 30 06:38:12 1993  James Clark  (jjc@jclark.com)
2332
2333	* include/assert.h: Don't use volatile.
2334	* libgroff/assert.cc: Likewise.
2335
2336Fri Oct 29 15:00:23 1993  James Clark  (jjc@jclark.com)
2337
2338	* troff/input.cc (abort_request): Look at character in tok before
2339	calling get_copy().
2340
2341Thu Oct 28 14:09:48 1993  James Clark  (jjc@jclark.com)
2342
2343	* troff/troff.h (NO_RETURN): Deleted.
2344	* troff/div.cc (cleanup_and_exit):  Don't declare aas NO_RETURN.
2345	* troff/input.cc (exit_troff): Likewise
2346
2347	* Makefile.in: Remove `Making ...' messages since GNU make now
2348	gives these. 
2349
2350	* configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H.
2351
2352Wed Oct 27 11:12:51 1993  James Clark  (jjc@jclark.com)
2353
2354	* tmac/tmac.s (@init): Initialize PO to \n(.o here, rather than
2355	to constant 1 inch.
2356
2357Sat Oct 23 10:03:52 1993  James Clark  (jjc@jclark.com)
2358
2359	* tmac/tmac.e (hl): Use \n[.in] rather than \n(.i.
2360
2361Thu Oct 14 12:09:45 1993  James Clark  (jjc@jclark.com)
2362
2363	* eqn/delim.cc (delim_box::compute_metrics): Don't increase
2364	MARK_REG if there was no left delimiter.
2365
2366Sat Oct  2 19:54:47 1993  James Clark  (jjc@jclark.com)
2367
2368	* pic/troff.cc (troff_output::text): Set line thickness to
2369	relative before outputting text.
2370
2371	* tmac/tmac.e (@k): Don't zero ?T.
2372	((z): Likewise.
2373
2374Sat Sep 25 11:08:43 1993  James Clark  (jjc@jclark.com)
2375
2376	* tmac/tmac.e ($p): Handle possibility that $3 is empty.
2377
2378Wed Aug 18 08:51:41 1993  James Clark  (jjc@jclark.com)
2379
2380	* troff/input.cc (decode_args): Warn about unquoted tabs (from
2381	Paul Eggert).
2382
2383Tue Aug 10 08:38:32 1993  James Clark  (jjc@jclark.com)
2384
2385	* troff/input.cc (ignoring): New variable.
2386	(ignore): Set ignoring during call to do_define_macro.
2387	(do_define_macro): Clear ignoring before interpolating terminating
2388	macro.
2389	(copy_mode_error): New function.
2390	(get_char_for_escape_name, read_long_escape_name,
2391	interpolate_arg): Use copy_mode_error.
2392	(warning_table): Add WARN_IG.
2393	* troff/troff.h (WARN_IG): Declare.
2394	(WARN_TOTAL): Change accordingly.
2395
2396	* groff/pipeline.c (strsignal): Rename to xstrsignal.
2397	* groff/groff.cc (strsignal): Delete declaration.
2398
2399Fri Jul 16 01:43:12 1993  James Clark  (jjc@jclark.com)
2400
2401	* troff/div.cc (page_offset): Use 'm' as default scaling.
2402
2403Sat Jul  3 09:11:38 1993  James Clark  (jjc@jclark.com)
2404
2405	* nroff/nroff.sh: Ignore -u.
2406
2407Wed Jun  9 12:17:27 1993  James Clark  (jjc@jclark.com)
2408
2409	* Makefile.in (MDEFINES): Pass down MAKEOVERRIDES.
2410
2411Fri Jun  4 17:35:47 1993  James Clark  (jjc@jclark.com)
2412
2413	* tmac/tmac.s (par*box-draw): Set adjustment mode to l while
2414	drawing box.
2415	(B2): With -Tascii, leave additional vertical space before
2416	and after. Ensure that the left and right indent is restored to
2417	what it was even if the point size changes.  Don't call
2418	par@finish. Change the indent, line length and title length
2419	directly.  With -Tascii, make the width of the box 1n less.
2420	(B1): Remember 1n at the current point size.  Don't call
2421	par@reset.  Change the indent, line length and title length
2422	directly.  Ensure that the temporary indent is preserved.
2423	(par*box-mark-top): Turn off no spacing mode.
2424
2425Thu Jun  3 17:47:14 1993  James Clark  (jjc@jclark.com)
2426
2427	* Makefile.in (dist): Use .gz suffix.
2428
2429Thu May 27 20:04:59 1993  James Clark  (jjc@jclark.com)
2430
2431	* troff/input.cc (main): Add return 0.
2432	* pic/main.cc (main): Use return instead of exit.
2433	* tbl/main.cc (main): Likewise.
2434	* eqn/main.cc (main): Likewise.
2435	* grops/ps.cc (main): Likewise.
2436	* grotty/tty.cc (main): Likewise.
2437	* groff/groff.cc (main): Likewise.
2438	* grodvi/dvi.cc (main): Likewise.
2439	* refer/refer.cc (main): Likewise.
2440	* indxbib/indxbib.cc (main): Likewise.
2441	* lkbib/lkbib.cc (main): Likewise.
2442	* soelim/soelim.cc (main): Likewise.
2443	* addftinfo/addftinfo.cc (main): Likewise.
2444	* acgroff.m4 (GROFF_PROG_CCC, GROFF_CC_COMPILE_CHECK,
2445	GROFF_COOKIE_BUG, GROFF_CC_ANSI_BUG): Likewise.
2446
2447	* troff/token.h (process_input_stack): Don't declare as static.
2448	* troff/input.cc: Likewise.
2449
2450	* troff/node.c (invalidate_fontno): Make it a static member of
2451	class font_family.  Change callers.
2452	* troff/node.c: Change declaration.
2453
2454	* tbl/main.cc (struct input_entry_format): Add explicit public
2455	specifier.
2456	* tbl/table.cc (struct text_stuff, struct single_hline_stuff,
2457	struct double_hline_stuff): Likewise.
2458	* tbl/table.h (struct entry_format): Likewise.
2459	* pic/object.h (struct saved_state): Likewise.
2460
2461	* include/stringclass.h: Add forward declarations of friend
2462	functions that are later declared as inline.  Don't include inline
2463	specifier in friend declaration.
2464
2465	* libgroff/lib.h: Declare popen and pclose.
2466	* acgroff.m4 (GROFF_POPEN): New macro.
2467	* configure.in: Call it.
2468
2469	* include/lib.h (PI): New constant. Undef first if necessary.
2470	* tfmtodit/tfmtodit.cc (main): Use PI rather than M_PI.
2471	* grops/ps.cc (degrees, radians): Likewise.
2472	* libgroff/font.cc (font::get_skew): Likewise.
2473
2474	* grops/ps.cc (is_ascii): New function.
2475	(ps_output::put_string): Use is_ascii.  Use csprint rather than
2476	isprint.
2477	(ps_printer::define_encoding): Use csspace.
2478	* libgroff/strtol.c (ISASCII): New macro.
2479	(strtol): Cast arguments to is*() and tolower() to unsigned char.
2480	Use ISASCII rather than isascii.
2481	* libgroff/cmap.cc: Use isascii() only if <ctype.h> defines it.
2482	* libgroff/cset.cc: Likewise.
2483	* libdriver/input.cc: Include cset.h.
2484	(do_file, get_integer, possibly_get_integer): Use csdigit() rather
2485	than isdigit().
2486
2487	* refer/refer.cc (main): Use %ld rather than %d for longs.
2488
2489	* libbib/index.cc (index_search_item_iterator::get_tag): Use
2490	S_ISREG macro.
2491
2492	* addftinfo/addftinfo.cc (param_t): Add explicit `int'.
2493
2494Mon May 24 08:51:37 1993  James Clark  (jjc@jclark.com)
2495
2496	* troff/input.cc (hyphenation_code): Skip white space between
2497	char/code pairs.
2498
2499Sun May 16 08:15:52 1993  James Clark  (jjc at jclark.com)
2500
2501	* tbl/table.h (table::entry_list_tailp): New member.
2502	(table::table): Initialize it.
2503	(table::add_entry): Use entry_list_tailp to avoid O(n^2)
2504	behaviour.
2505
2506Sat May 15 17:26:00 1993  James Clark  (jjc at jclark.com)
2507
2508	* grotty/tty.cc (tty_printer::add_char): Don't discard characters
2509	with negative horizontal positions. Remove casts of glyph::hpos to
2510	int.
2511	(USHRT_MAX): Delete definition.
2512	(SHRT_MAX, SHRT_MIN): New definitions.
2513	(glyph::hpos): Change type to short.
2514	(tty_printer::end_page): Output multiple backspaces if necessary.
2515	 Remove casts of glyph::hpos to int.
2516	
2517Fri May  7 12:14:37 1993  James Clark  (jjc at jclark.com)
2518
2519	* tmac/tmac.s (@RT): New definition.
2520
2521Thu May  6 21:36:54 1993  James Clark  (jjc at jclark.com)
2522
2523	* refer/refer.cc (do_file): Make sure current_filename is set when
2524	filename is "-".
2525
2526	* pic/common.cc (common_output::dot_line): Handle zero length
2527	lines.
2528
2529Sun May  2 19:54:16 1993  James Clark  (jjc at jclark.com)
2530
2531	* tmac/tmac.s (par@reset): Get value for .hy for \n[HY].
2532	(par@init): Initialize \n[HY].
2533
2534Mon Apr 26 11:43:16 1993  James Clark  (jjc at jclark.com)
2535
2536	* troff/dictionary.cc (dictionary::remove): Continue when
2537	r < j < i.
2538
2539Sun Apr 25 11:03:00 1993  James Clark  (jjc at jclark.com)
2540
2541	* Makefile.com (.y.cc): Avoid ending up with two versions of
2542	$(YTABH).
2543
2544Thu Apr 22 21:03:45 1993  James Clark  (jjc at jclark.com)
2545
2546	* tmac/tmac.dvi (\(,c): Define only if it does not exist.
2547	(\(,C): Likewise.  Also fix typo.
2548
2549Wed Apr 21 08:47:32 1993  James Clark  (jjc at jclark.com)
2550
2551	* lib.h: Delete extraneous semi-colon.
2552
2553	* Add pso request: `so' from a pipe.
2554	* troff/input.c (file_iterator::file_iterator): Add 3rd argument.
2555	(file_iterator::close): New function.
2556	(file_iterator::~file_iterator, file_iterator::next_file): Use
2557	file_iterator::close.
2558	(file_iterator::backtrace): Say `process' rather than `file' when
2559	the stream is popened.
2560	(pipe_source): New function.
2561	(init_input_requests): Bind ".pso" to pipe_source.
2562
2563Tue Apr 20 00:02:26 1993  James Clark  (jjc at jclark.com)
2564
2565	* afmtodit/afmtodit.pl: Avoid single quotes in comments.
2566
2567	* pfbtops/pfbtops.c: Output 64 characters per line.  Output hex
2568	digits in lower case.
2569
2570Mon Apr 19 09:55:57 1993  James Clark  (jjc at jclark)
2571
2572	* Version 1.08 released.
2573
2574	* Makefile.in (dist): Insert || true after ln -s commands that
2575	might fail.
2576
2577	* mm: Update to mm 1.16.
2578
2579	* acgroff.m4 (GROFF_CSH_HACK): New macro.
2580	* configure.in: Call GROFF_CSH_HACK.  Substitute for
2581	SH_SCRIPT_SED_CMD.
2582	* Makefile.in (SH_SCRIPT_SED_CMD): New variable.  Include in
2583	MDEFINES.
2584	* nroff/Makefile.sub (nroff): New target.
2585	(install_data): Install nroff.
2586	* eqn/Makefile.sub (neqn): Sed with SH_SCRIPT_SED_CMD.
2587	* grog/Makefile.sub (grog): Sed grog.sh with SH_SCRIPT_SED_CMD.
2588
2589Sat Apr 17 08:24:28 1993  James Clark  (jjc at jclark)
2590
2591	* eqn/Makefile.sub (neqn): Add chmod +x.
2592
2593	* grog/Makefile.sub (grog): Remove spurious semi-colon.
2594
2595Fri Apr 16 22:41:57 1993  James Clark  (jjc at jclark)
2596
2597	* troff/input.cc (string_iterator::string_iterator()): Initialize
2598	lineno and count.
2599
2600Tue Apr 13 10:22:28 1993  James Clark  (jjc at jclark)
2601
2602	* troff/div.cc (macro_diversion::space,
2603	top_level_diversion::space): Don't set high_water_mark.
2604	(macro_diversion::output, top_level_diversion::output): Don't
2605	include post line space in high water mark.
2606
2607Wed Apr  7 12:48:18 1993  James Clark  (jjc at jclark)
2608
2609	* eqn/eqn.y: Don't define YYDEBUG.
2610	* pic/pic.y: Likewise.
2611
2612Mon Apr  5 10:15:15 1993  James Clark  (jjc at jclark)
2613
2614	* tmac/tmac.e ([3): Add space after comma following editors.
2615	Change double spaces to single spaces.
2616	([4): Change double spaces to single spaces.
2617
2618	* grops/ps.h (USE_PS_ADOBE_2_0): New flag for broken_flags.
2619	* grops/ps.cc (ps_printer::~ps_printer): If the USE_PS_ADOBE_2_0
2620	bit is set in broken_flags, use 2.0 rather than 3.0 as the version
2621	after %!PS-Adobe- (for Newsprint).
2622
2623	* troff/div.cc (top_level_diversion::begin_page): When
2624	before_first_page is 1, set page_number to 1.
2625
2626Sun Apr  4 14:28:53 1993  James Clark  (jjc at jclark)
2627
2628	* eqn/box.cc (box::top_level): Protect equation with \&.
2629
2630Sat Apr  3 23:27:25 1993  James Clark  (jjc at jclark)
2631
2632	* groff/groff.cc (possible_command::set_name): Delete old name.
2633
2634	* groff/groff.cc (possible_command::~possible_command): Use
2635	a_delete.
2636
2637	* troff/node.cc (troff_output_file::begun_page): New member.
2638	(troff_output_file::troff_output_file): Initialize it.
2639	(troff_output_file::really_begin_page): Only output V command if a
2640	page has been begun.
2641
2642	* pic/pic.y (placeless_element): Delete argument to PRINT after
2643	use.
2644
2645Fri Apr  2 11:31:02 1993  James Clark  (jjc at jclark)
2646
2647	* Make wrapman work.
2648	* troff/div.h (class top_level_diversion): Replace
2649	first_page_begun by before_first_page (with opposite sense).
2650	* Change first_page_begun to before_first_page inverting sense.
2651	* troff/div.cc (class nl_reg): New class.
2652	(init_div_requests): Use class nl_reg for \n(nl.
2653	(top_level_diversion::begin_page): Don't call
2654	output_file::begin_page if before_first_page is 2;
2655	reset before_first_page afterwards.  If have_next_page_number is
2656	false, then always increment page_number.
2657	* tmac/tmac.an: Set traps within TH rather than at the top-level.
2658	Restore compatibility mode after loading, and then disable
2659	compatibility mode in TH.
2660
2661Thu Apr  1 11:09:34 1993  James Clark  (jjc at jclark)
2662
2663	* grotty/tty.cc (tty_printer::end_page): Don't discard characters
2664	past last line.
2665	* troff/node.h (output_file::trailer): Declare.
2666	* troff/div.cc (cleanup_and_exit): Call output_file::trailer().
2667	* troff/node.cc (output_file::trailer): New function.
2668	(troff_output_file::~troff_output_file): Move most code into...
2669	(troff_output_file::trailer): New function.
2670	(class troff_output_file): Delete page_length member. Declare
2671	trailer().
2672	(troff_output_file::really_begin_page): Use current page length
2673	for final V command.
2674
2675	* tbl/main.cc (struct options): New decimal_point_char member.
2676	(options::options): Initialize this.
2677	(process_options): Implement decimalpoint option.
2678	(process_data): Pass decimal_point_char option to table::table.
2679	* tbl/table.h (class table): New decimal_point_char member.
2680	(table::table): Add additional argument.
2681	* tbl/table.cc (find_dot): Rename to find_decimal_point. Add
2682	second argument specifying decimal point character.  Use this
2683	instead of '.'.
2684	(table::table): Initialize decimal_point_char.
2685	(table::add_entry): Change call to find_dot.
2686
2687	* troff/input.cc (get_copy, token::next): Implement \V.
2688	(interpolate_environment_variable): New function.
2689
2690Tue Mar 30 14:41:39 1993  James Clark  (jjc at jclark)
2691
2692	* pic/lex.cc (lookup_keyword): Rename MIN to K_MIN, MAX to K_MAX.
2693	* pic/pic.y: Likewise.
2694
2695	* grotty/tty.cc (tty_printer::add_char, tty_printer::end_page):
2696	Add casts to int.
2697	* refer/ref.cc (reference::insert_field, reference::delete_field):
2698	Likewise.
2699	* troff/number.cc (parse_term): Likewise.
2700
2701	* acgroff.m4 (GROFF_PROG_YACC): New macro.
2702	* configure.in: Use GROFF_PROG_YACC.
2703
2704	* acgroff.m4 (GROFF_PROG_CCC): Don't add -O automatically for gcc
2705	and g++.
2706	* Makefile.in (OPTIMIZE): New define.
2707	(DEBUG): Empty by default.
2708	(CCFLAGS, CFLAGS): Include $(OPTIMIZE).
2709
2710	* acgroff.m4 (GROFF_SYS_SIGLIST): Don't quote program.
2711	(GROFF_ARRAY_DELETE): Likewise.
2712	(GROFF_CC_COMPILE_CHECK): Quote use of $2 and $3.
2713
2714	* troff/env.cc (trie::~trie): Make virtual to shut up g++.
2715
2716	* devps/psstrip.sed: Use different delimiter on last line (so that
2717	it works with BSD 4.4 sed.)
2718
2719Mon Mar 29 17:07:14 1993  James Clark  (jjc at jclark)
2720
2721	* devps/psstrip.sed: Delete comments.
2722
2723	* acgroff.m4 (AC_GETOPT): Don't test whether <unistd.h> declares
2724	optind, opterr, optarg.
2725	* lib.h: When UNISTD_H_DECLARES_GETOPT is defined, declare optind,
2726	opterr, optarg.
2727
2728Sun Mar 28 17:44:25 1993  James Clark  (jjc at jclark)
2729
2730	* Makefile.in (check): Dummy target.
2731
2732Wed Mar  3 04:53:38 1993  James Clark  (jjc at jclark)
2733
2734	* Version 1.07 released.
2735
2736	* Integrate mm 1.11.
2737
2738	* tbl/table.cc (alphabetic_block_entry::print): start_row was used
2739	where start_col was meant.
2740
2741Thu Feb 25 07:55:36 1993  James Clark  (jjc at jclark)
2742
2743	* grog/grog.sh, grog/grog.pl: Recognize PH and SA as -mm macros.
2744
2745Wed Feb 24 10:15:34 1993  James Clark  (jjc at jclark)
2746
2747	* troff/input.cc (token::next): Make \z\o'...' and similar things
2748	work.
2749
2750	* env.h (MARGIN_CHARACTER_ON, MARGIN_CHARACTER_NEXT): New
2751	constants.
2752	(environment): Add margin_character_flags member.
2753	* env.cc (environment::environment(symbol),
2754	environment::environment(const environment *): Initialize
2755	margin_character_flags.
2756	(margin_character): Rewrite.
2757	(environment::output_line): Add a margin character if
2758	margin_character_flags is non-zero.  Turn off the
2759	MARGIN_CHARACTER_NEXT bit.  If that makes margin_character_flags
2760	zero, use margin_character_node without copying and then set
2761	margin_character_node to 0.
2762
2763	* devps/DESC.in: Change minimum size to 1000.
2764
2765Tue Feb 23 14:57:49 1993  James Clark  (jjc at jclark)
2766
2767	* troff/symbol.h (symbol::hash): Change return type to unsigned
2768	long.
2769	* troff/dictionary.cc (dictionary::lookup, dictionary::remove):
2770	Add casts to int.
2771
2772	* test-groff: Use -r rather than -x.
2773
2774	* grops/psfig.diff: Include in distribution again.
2775
2776Mon Feb 22 09:10:44 1993  James Clark  (jjc at jclark)
2777
2778	* Makefile.in (dist): Use gzip.
2779
2780Sun Feb 21 11:12:53 1993  James Clark  (jjc at jclark)
2781
2782	* acgroff.m4 (GROFF_GETOPT): Check for declaration of getopt() in
2783	unistd.h as well as in stdlib.h.
2784	* include/lib.h: Include <stdlib.h> is STDLIB_H_DECLARES_GETOPT is
2785	defined; otherwise include <sys/types.h> and <unistd.h> if
2786	UNISTD_H_DECLARES_GETOPT is defined.
2787
2788	* configure.in: use builtin(include, ... rather than include(...
2789	* configure: Regenerate with autoconf 1.3.
2790
2791	* libdriver/print.cc (printer::adjust_arc_center): Use new
2792	algorithm suggested by Andy Fyfe.
2793
2794	* libdriver/printer.cc (printer::adjust_arc_center): New function.
2795	* include/printer.h: Declare this.
2796	* grops/ps.cc (ps_printer::draw): Use it.
2797	* grodvi/dvi.cc (dvi_printer::draw): Use it.
2798
2799Fri Feb 19 23:13:51 1993  James Clark  (jjc at jclark)
2800
2801	* Makefile.comm (.man.n): Replace macrodir by tmacdir.
2802
2803Thu Feb 11 16:46:59 1993  James Clark  (jjc at jclark)
2804
2805	* eqn/main.cc (main): Handle "eqn -".
2806
2807Mon Jan  4 20:29:56 1993  James Clark  (jjc at jclark)
2808
2809	* tmac/tmac.e (++): Install fix from comp.bugs.4sd.
2810
2811	* mm: Integrate version 1.08.
2812
2813	* pic/troff.cc (troff_output::finish_picture): Set
2814	EQN_NO_EXTRA_SPACE reg to 0 rather than removing it.
2815	* eqn/box.cc (box::extra_space): Set EQN_NO_EXTRA_SPACE_REG to 0
2816	if it's not defined. Check whether the register is non-zero rather
2817	than whether it's not defined.
2818	* tmac.e ({, <): Make argument to \x zero if \n(0x is non-zero.
2819
2820	* indxbib/indxbib.cc: Move all signal handling into...
2821	* indxbib/signal.c: New file.
2822	* configure.in: Call AC_RETSIGTYPE.
2823
2824	* acgroff.m4 (GROFF_STRUCT_EXCEPTION): New macro.
2825	* configure.in: Call GROFF_STRUCT_EXCEPTION.
2826	* libgroff/matherr.c: Protect with ifdef HAVE_STRUCT_EXCEPTION.
2827
2828	* troff/input.cc (token::token, token::operator=): Work round SGI
2829	C++ bug.
2830	* pic/object.cc (position::position): Likewise.
2831
2832Mon Dec 28 21:50:21 1992  James Clark  (jjc at jclark)
2833
2834	* pic/pic.h: Move declaration of hypot().
2835
2836Wed Dec 16 12:28:29 1992  James Clark  (jjc at jclark)
2837
2838	* pic/pic.h: Declare hypot().
2839
2840	* pic/pic.h: Define M_PI if necessary.
2841
2842Thu Dec 10 12:03:29 1992  James Clark  (jjc at jclark)
2843
2844	* tmac/tmac.e (re): Add alternative version that doesn't use groff
2845	`.ta T' feature.
2846
2847	* devps/prologue.ps (RE): Handle the possibility that the old font
2848	doesn't have a FontName entry.
2849
2850Wed Dec  2 10:25:29 1992  James Clark  (jjc at jclark)
2851
2852	* tmac/tmac.e (fam): Redefine to set family in environment 2.
2853	(@C): Use @fam not fam.
2854
2855Thu Nov 26 16:01:25 1992  James Clark  (jjc at jclark)
2856
2857	* lookbib/lookbib.cc (main): Change type of start to const char *.
2858	* lkbib/lkbib.cc (main): Likewise.
2859
2860	* eqn/lex.cc (definition::definition): Don't use member
2861	initializer syntax for members of anonymous unions.
2862
2863	* troff/input.cc (input_stack::backtrace): Change type of to const
2864	char *.
2865
2866Wed Nov 25 13:43:09 1992  James Clark  (jjc at jclark)
2867
2868	* include/stringclass.h (class string): Declare inline friend
2869	functions as inline in class declaration.
2870	* troff/hvunits.h (class hunits, class vunits): Likewise.
2871	* include/refid.h (class reference_id): Likewise
2872	* troff/troff.h (points_to_units(units), scale(units, double)):
2873	Delete declarations.
2874	* libdriver/input.cc (get_char): Delete declaration.
2875	* include/lib.h: Change 2nd argument of getopt from const char **
2876	to char **.
2877	* troff/symbol.cc (symbol::symbol): Cast `new char *[n]' to `const
2878	char **' before assigning to a `const char **'.
2879	* tbl/table.cc: Delete extra declarations of prints().
2880
2881Tue Nov 24 14:33:13 1992  James Clark  (jjc at jclark)
2882
2883	* libgroff/font.cc (font::load_desc): Cast `new char *[n]' to `const
2884	char **' before assigning to a `const char **'.
2885
2886	* libgroff/errarg.cc (errarg::errarg): Don't use member
2887	initializer syntax for members of anonymous unions.
2888
2889Sat Nov 21 05:02:23 1992  James Clark  (jjc at jclark)
2890
2891	* mm: Integrate version 1.07.
2892
2893Tue Nov 17 16:44:27 1992  James Clark  (jjc at jclark)
2894
2895	* troff/input.c (translate2): Rename to
2896	(translate_no_transparent).
2897	(init_input_requests): Rename tr2 to trnt.
2898
2899Mon Nov 16 09:49:32 1992  James Clark  (jjc at jclark)
2900
2901	* troff/charinfo.h (class charinfo): Add transparent_translate field.
2902	(charinfo::set_translation, charinfo::set_special_translation):
2903	Add second argument that specifies value for
2904	transparent_translate.
2905	(charinfo::get_translation, charinfo::get_special_translation):
2906	Add optional second argument that specifies whether translation is
2907	being used for transparent throughput.
2908	* troff/input.cc (charinfo::set_translation,
2909	charinfo::set_special_translation): Handle second argument.
2910	(charinfo::charinfo): Initialize transparent_translate.
2911	(translate): Split main part off into
2912	(do_translate): New function.  Pass argument saying whether
2913	translation applies to transparent throughput.
2914	(translate2): New request.
2915	(init_input_requests): Bind translate2 to `tr2'.
2916
2917Wed Nov 11 11:43:20 1992  James Clark  (jjc at jclark)
2918
2919	* tbl/table.h (class table): Add `nokeep' flag.
2920	* tbl/main.cc (process_options): Handle `nokeep' option.
2921	* tbl/table.cc (table::init_output, table::do_row, table::do_top,
2922	table::do_bottom): Don't output keep/release macro definitions or
2923	calls when `nokeep' option has been specified.
2924
2925Sat Nov  7 01:28:33 1992  James Clark  (jjc at jclark)
2926
2927	* tmac/tmac.Xps (Xps-char): Use " as delimiter for \Z.
2928
2929Wed Nov  4 16:29:04 1992  James Clark  (jjc at jclark)
2930
2931	* tbl/table.cc (table_entry::divert, block_entry::do_divert,
2932	block_entry::divert, alphabetic_block_entry::divert): Add extra
2933	argument giving column separation.
2934	(table::compute_widths): Pass column separation to
2935	table_entry::divert().
2936	(block_entry::do_divert): If an entry spans multiple columns and a
2937	minimumum width has been specified for each column, then set the
2938	line length to the sum of the widths (plus possibly the column
2939	separations).
2940
2941	* troff/input.cc (set_escape_char): Don't set the escape_char
2942	until after calling has_arg().
2943
2944Tue Nov  3 11:23:27 1992  James Clark  (jjc at jclark)
2945
2946	* tbl/table.cc (table::do_top): Add missing \s0 for double box
2947	case.
2948
2949	* tbl/table.cc (table::print_double_hline): Avoid extra new line
2950	in case where r > nrows - 1.
2951
2952	* tbl/table.cc (BODY_HEIGHT): Deleted.
2953	(LINE_SEP): New definition.
2954	(table::print_single_hline, table::print_double_hline,
2955	table::compute_vrule_top_adjust, table::compute_vrule_bot_adjust,
2956	table::do_row, table::do_top): Use LINE_SEP space before a line
2957	instead of \n[.v]-BODY_HEIGHT-BODY_DEPTH.
2958
2959	* tbl/table.cc (text_entry::print_contents): New function.
2960	(text_string_name, right_text_string_name): Deleted.
2961	(TEXT_STRING, RIGHT_TEXT_STRING): Deleted.
2962	(simple_text_entry::do_width, numeric_text_entry::do_width,
2963	alphabetic_text_entry::do_width): Don't store the contents of the
2964	entry in a string.
2965	(left_text_entry::simple_print, right_text_entry::simple_print,
2966	center_text_entry::simple_print,
2967	alphabetic_text_entry::simple_print,
2968	numeric_text_entry::simple_print): Print the entry directly
2969	instead of using the stored string.
2970
2971Fri Oct 30 10:39:32 1992  James Clark  (jjc at jclark)
2972
2973	* devps/Makefile: Strip PostScript files.
2974	* devps/prologue: Rename to...
2975	* devps/prologue.ps.
2976	* devps/psstrip.sed: New file.
2977	* devps/download: Use .pfa rather than .ps for installed versions
2978	of fonts.
2979
2980Thu Oct 29 09:14:43 1992  James Clark  (jjc at jclark)
2981
2982	* troff/env.cc (input_trap): Give a warning if the argument is out
2983	of range.
2984
2985	* troff/env.cc (adjust): Treat negative argument as missing. Round
2986	argument > 5 down to 5.
2987
2988	* troff/env.cc (center, right_justify): Make negative argument zero.
2989
2990	* troff/div.cc (page_offset, vertical_position_traps): Treat
2991	invalid argument as missing.
2992	* troff/env.cc (line_spacing, line_length, title_length, indent,
2993	underline, hyphen_line_max_request, control_char,
2994	no_break_control_char, widow_control_request, adjust, input_trap,
2995	point_size): Likewise.
2996	* troff/node.cc (ligature, kern_request, bold_font, track_kern,
2997	constant_space): Likewise.
2998	* troff/input.cc (compatible, shift, warn_request,
2999	set_escape_char): Likewise.
3000
3001	* tbl/main.cc (format::format): Avoid doing `new int[0]'.
3002	* tbl/table.cc (table::table): Likewise.
3003
3004	* Makefile.dev (install_dev): depends on $(DEVFILES).
3005
3006Wed Oct 28 08:30:57 1992  James Clark  (jjc at jclark)
3007
3008	* devX75, devX75-12, devX100, devX100-12: New directories.
3009	* Makefile.in: Add these to DEVDIRS.
3010
3011	* troff/Makefile.sub, eqn/Makefile.sub, indxbib/Makefile.sub,
3012	afmtodit/Makefile.sub, tmac/Makefile.sub, nroff/Makefile.sub,
3013	grog/Makefile.sub, mm/Makefile.sub (uninstall_sub): New target.
3014	* Makefile.in (uninstall, uninstall_sub, uninstall_dirs): New
3015	targets.
3016	* Makefile.ccpg, Makefile.cpg, Makefile.dev, Makefile.man
3017	(uninstall): New target.
3018	* Makefile.comm (uninstall, uninstall_sub, uninstall_man,
3019	uninstall_prog, uninstall_dev): New targets.
3020
3021	* troff/div.cc (return_request): Treat an invalid argument as
3022	missing.
3023
3024Mon Oct 26 11:33:47 1992  James Clark  (jjc at jclark)
3025
3026	* tmac/tmac.e ((f): Set up the environment even when there's a
3027	current diversion.  Transperently throughput a call to @N.
3028	(@N): New macro.
3029
3030Thu Oct 22 05:05:59 1992  James Clark  (jjc at jclark)
3031
3032	* tbl/table.cc (table::compute_vrule_top_adjust): Round adjustment
3033	up to vertical resolution.
3034
3035	* tbl/table.cc (table::do_row): Change row number after printing
3036	stuff list.
3037
3038	* pic/lex.cc (get_token_after_dot): Make .left and .right work.
3039
3040Wed Oct 21 14:46:45 1992  James Clark  (jjc at jclark)
3041
3042	* Rename CHANGES to NEWS.
3043
3044Tue Oct 20 23:25:21 1992  James Clark  (jjc at jclark)
3045
3046	* libgroff/new.cc (operator new): Avoid calling malloc(0).
3047
3048Mon Oct 19 09:10:13 1992  James Clark  (jjc at jclark)
3049
3050	* man.ultrix: Removed.
3051
3052Sun Oct 18 06:35:15 1992  James Clark  (jjc at jclark)
3053
3054	* Makefile.comm (extraclean): Delete files whose names begin with
3055	`='.
3056
3057	* pic/troff.cc (troff_output::text): Fix typo in implementation of
3058	aligned text.
3059
3060Sat Oct 10 09:32:29 1992  James Clark  (jjc at jclark)
3061
3062	* troff/env.cc (hyphenate_request, vertical_spacing, no_number):
3063	* troff/div.cc (page_length, need_space, space_request): Treat
3064	invalid optional argument as missing.
3065	* troff/env.cc (number_lines): If the first argument is present
3066	but not a number, turn on line numbering, don't change the next
3067	line number and parse the remaining arguments.
3068
3069	* tmac/tmac.e (@q): Do the `ne' before changing to environment 2.
3070
3071Thu Oct  8 10:24:40 1992  James Clark  (jjc at jclark)
3072
3073	* eqn/box.h: Change declaration accordingly.
3074	* eqn/box.cc (set_gsize): Change return type to int.  Return 0 if
3075	the specified size was bad but don't give an error.  Check for
3076	overflow.
3077	* eqn/main.cc (main): Change caller. Leave validation to set_gsize.
3078	* eqn/lex (do_size): Likewise.
3079
3080Wed Oct  7 09:48:59 1992  James Clark  (jjc at jclark)
3081
3082	* acgroff.m4 (GROFF_PROG_CCC): Use fopen when checking for C++
3083	compatible headers.
3084
3085Sun Oct  4 18:24:02 1992  James Clark  (jjc at jclark)
3086
3087	* tbl/table.cc (table::init_output): Improve error message when
3088	table won't fit on one page.
3089
3090Fri Oct  2 10:41:40 1992  James Clark  (jjc at jclark)
3091
3092	* pic/troff.cc (troff_output::start_picture): Generate line
3093	containing a horizontal motion equal to the width of the picture.
3094
3095	* groff/groff.cc (main): Allow PROG_PREFIX to be set at runtime
3096	using GROFF_COMMAND_PREFIX environment variable.
3097
3098Fri Sep 25 11:40:40 1992  James Clark  (jjc at jclark)
3099
3100	* mdate.sh: Use $NF rather than $(NF).
3101
3102Tue Sep 22 09:47:24 1992  James Clark  (jjc at jclark)
3103
3104	* pic/main.cc (main):  Use %1 not %c in argument to warning.
3105
3106	* eqn/main.cc (main): Output code to check that geqn was given the
3107	correct -T option.
3108
3109Mon Sep 21 10:59:16 1992  James Clark  (jjc at jclark)
3110
3111	* Makefile.in (dist): Instead of doing `make -f ../Makefile', do
3112	`ln -s ../Makefile .; make; rm -f Makefile'.
3113
3114	* troff/hyphen: Rename to...
3115	* troff/hyphen.us:
3116	* troff/input.cc (main): Delete -H option. Don't call
3117	read_hyphen_file().
3118	* troff/env.cc: Include searchpath.h and macropath.h.
3119	(exception_dictionary): Deleted.
3120	(ht): Deleted.
3121	(read_hyphen_file): Deleted.
3122	(hyphenation_language): New struct.
3123	(class trie, class hyphen_trie): Move declarations up.
3124	(trie_node::~trie_node): Deleted.
3125	(trie::delete_trie_node): New function.
3126	(trie::do_delete): New pure virtual function.
3127	(hyphen_trie::do_delete): New function.
3128	(trie::~trie): New function.
3129	(hyphen_trie::~hyphen_trie): New function.
3130	(trie::clear): No need to chcek that tp is not 0.
3131	(current_language, language_dictionary): New variables.
3132	(hyphen_word): Give an error if no current language.  Use
3133	exceptions dictionary in current language.
3134	(hyphen_trie::read_patterns_file): Find file using macro_path.
3135	Allow comments (starting with %) in patterns file.  Don't make it
3136	a fatal error if the file can't be found.
3137	(hyphenate): Return if no current language.  Get the exceptions
3138	dictionary and the hyphenation patterns from the current language.
3139	(set_hyphenation_language): New variable.
3140	(hyphenation_patterns_file): New function.
3141	(hyphenation_language_reg): New class.
3142	(hyphenation_language_reg::get_string): New function.
3143	(init_hyphen_requests): Bind "hla" to set_hyphenation_language and
3144	"hpf" to hyphenation_patterns_file.  Initialize `.hla' number
3145	register.
3146	* groff/groff.cc (main, help, synopsis): Delete -H option.
3147	* include/Makefile.sub: Don't define HYPHENFILE.
3148	* Makefile.in: Delete hyphenfile variable and remove from MDEFINES.
3149	* Makefile.comm (.man.n): Don't substitute for HYPHENFILE.
3150	* tmac/troffrc: Set hyphenation language to `us'. Load `hyphen.us'
3151	hyphenation patterns.
3152
3153Sun Sep 20 09:33:02 1992  James Clark  (jjc at jclark)
3154
3155	* eqn/neqn.sh: New file.
3156	* eqn/Makefile.sub: Handle neqn.sh.
3157
3158	* eqn/eqn.h: Declare `nroff' variable.
3159	* eqn/box.cc (param_table): Add `nroff' param.
3160	(nroff): Define it.
3161	* eqn/lex.cc (yylex): Handle TDEFINE and NDEFINE using `nroff'
3162	variable.
3163	* tmac/eqnrc: Set `nroff' to 1 for -Tascii or -Tlatin1.
3164
3165	* troff/troff.h (WARN_FONT): New warning.
3166	(WARN_TOTAL): Change accordingly.
3167	* troff/input.cc (DEFAULT_WARNING_MASK): Include WARN_FONT.
3168	(warning_table): Add WARN_FONT.
3169	* troff/node.cc (mount_font_no_translate): Pass argument to
3170	font::load_font.  If this is non-zero, give a warning.
3171	Don't give an error message when accessing a font that has already
3172	been found to be invalid.
3173	* include/font.h (font::load, font::load_font): Add additional
3174	optional argument which suppresses error message if the font is
3175	not found.
3176	* libgroff/font.cc (font::load_font): Handle additional argument.
3177	(font::load): Add additional argument. If this is non-null, set it
3178	to 1 and don't give error message.
3179
3180	* include/printer.h (printer::end_page): Add argument giving
3181	length of page.
3182	* libdriver/input.cc (do_file): Pass this.
3183	* grops/ps.cc (ps_printer::end_page): Add argument.
3184	* grodvi/dvi.cc (dvi_printer::end_page,
3185	draw_dvi_printer::end_page): Add argument.
3186	* grotty/tty.cc (class tty_printer): Remove lines_per_page and
3187	columns_per_page members. New member nlines.
3188	(DEFAULT_LINES_PER_PAGE): Deleted.
3189	(tty_printer::tty_printer): Don't compute lines_per_page from
3190	font::paperlength. Don't compute columns_per_page from
3191	font::paperwidth.
3192	(tty_printer::add_char): Don't check horizontal position against
3193	columns_per_page. Grow glyphs vector if neccessary.
3194	(tty_printer::end_page): Add argument giving page_length in units.
3195	Discard lines past end of page.
3196
3197Wed Sep 16 06:29:52 1992  James Clark  (jjc at jclark)
3198
3199	* tmac/tmac.tty-char: Fix definition of \(/l.
3200
3201	* tmac/tmac.X: Define \(en.
3202
3203Tue Sep 15 10:37:13 1992  James Clark  (jjc at jclark)
3204
3205	* acgroff.m4 (GROFF_PRINT): If a system has lpr and lp but not
3206	lpq, then use lp rather than lpr.
3207
3208	* tmac/tmac.s (par@reset): Don't call `ad'.
3209	(par*env-init): Call `ad'.
3210
3211Sun Sep 13 18:48:20 1992  James Clark  (jjc at jclark)
3212
3213	* mdate.sh: Use $(NF) instead of $6 to extract year from output of
3214	date.
3215
3216	* troff/symbol.cc: #undef BLOCK_SIZE if it's defined.
3217	* indxbib/indxbib.cc: Likewise.
3218
3219Sun Sep  6 09:44:46 1992  James Clark  (jjc at jclark)
3220
3221	* libgroff/putenv.c: New file.
3222	* libgroff/Makefile.sub: Add putenv.c to CSRCS.
3223	* Makefile.in: Say that putenv.o can be one of LIBOBJS.
3224	* configure.in: Test for putenv with AC_REPLACE_FUNCS. Test for
3225	stdlib.h with AC_HAVE_HEADERS.
3226
3227Sat Sep  5 18:11:52 1992  James Clark  (jjc at jclark)
3228
3229	* indxbib/dirnamemax.c: Include <sys/dir.h> only if <dirent.h>
3230	does not exist.
3231
3232Fri Sep  4 09:43:26 1992  James Clark  (jjc at jclark)
3233
3234	* eqn/box.cc (gsize): Make it an int.
3235	(set_gsize): Parse argument handling increment or decrement.
3236	(box::top_level): Convert gsize to a string.
3237
3238	* troff/input.cc (exit_troff): Make buf unsigned char [].
3239	Call to make_temp_iterator casts buf to char*.
3240
3241	* Makefile.in ($(TARGETS), dot): Pass $(MDEFINES) to recursive makes.
3242
3243	* Makefile.ccpg (depend.temp): Depends on $(YTABC).
3244	* Makefile.cpg (depend.temp): Likewise.
3245
3246	* Makefile.dep: Remove Makefile.dep from $(REALCLEANFILES).
3247
3248	* Makefile.comm: Add y.output to MOSTLYCLEANFILES.
3249
3250Thu Sep  3 08:01:55 1992  James Clark  (jjc at jclark)
3251
3252	* tmac/tmac.s (B, I, BI, CW): Rewrite avoiding aliases.
3253
3254Tue Sep  1 18:24:53 1992  James Clark  (jjc at jclark)
3255
3256	* Version 1.06 released.
3257
3258	* Integrate mm 1.04.
3259
3260Fri Aug 28 11:28:19 1992  James Clark  (jjc at jclark)
3261
3262	* Makefile.comm, Makefile.ccpg, Makefile.cpg: Fix TAGS target.
3263
3264Thu Aug 27 11:03:33 1992  James Clark  (jjc at jclark)
3265
3266	* afmtodit/afmtodit.pl: Add -n option that disables generation of
3267	ligatures command.
3268	* devps/generate/Makefile (CR, CB, CI, CBI): Pass -n flag to
3269	afmtodit. Regenerate.
3270
3271	* tmac/tmac.e ()z): Adjust _b if necessary so as to avoid moving
3272	@f back past the current position.
3273
3274	* tmac/tmac.e: Change calls to @R so that comments are not part of
3275	arguments.
3276
3277Tue Aug 25 10:42:07 1992  James Clark  (jjc at jclark)
3278
3279	* configure.in: Check for mkstemp with AC_HAVE_FUNCS.
3280
3281	* acgroff.m4 (GROFF_PROG_CCC): Don't check for <osfcn.h>. Instead
3282	check that we can link a call to a function declared in <stdio.h>.
3283	(GROFF_UNISTD_H): New macro.
3284	* configure.in: Call it.
3285	* Makefile.in: Document it.
3286	* include/posix.h: New file.
3287	* troff/troff.h: Don't include <osfcn.h>
3288	* troff/input.cc: Include posix.h.
3289	* libgroff/new.cc, libgroff/tmpfile.cc: Include posix.h rather than
3290	osfcn.h.
3291	* indxbib/indxbib.cc, libbib/{search.cc,linear.cc,index.cc}:
3292	Include posix.h rather <sys/types.h>, <sys/stat.h>, <osfcn.h>,
3293	<fcntl.h>.
3294	* indxbib/indxbib.cc (S_IRUSR, S_IRGRP, S_IROTH): Delete definitions.
3295	* libbib/index.cc (S_ISREG, O_RDONLY): Delete definitions.
3296	* libbib/search.cc (O_RDONLY): Delete definition.
3297	* refer/refer.cc, include/driver.h, pic/pic.h, groff/groff.cc:
3298	Don't include <osfcn.h>.
3299
3300	* acgroff.m4 (GROFF_TIME_T): New macro.
3301	* configure.in: Call it.
3302	* Makefile.in: Document it.
3303
3304	* acgroff.m4 (GROFF_TRADITIONAL_CPP): New macro.
3305	* configure.in: Call it.
3306	* Makefile.in: Document -DTRADITIONAL_CPP.
3307	* include/ptable.h: Don't include generic.h.
3308	(name2): Define it.
3309
3310	* tmac/tmac.s (][): Make [T1 and [T2 aliases for [T.
3311	Afterwards remove [T1 and [T2.
3312	(ref*spec!0, ref*spec!2): Use T1 rather than T.
3313	(ref*spec!1, ref*spec!4, ref*spec!4): Use T2 rather than T.
3314	(ref*add-T2): Renamed from ref*add-T.
3315	(ref*add-T1): New macro.
3316
3317Mon Aug 24 11:11:11 1992  James Clark  (jjc at jclark)
3318
3319	* acgroff.m4 (AC_PROG_CCC): Use GROFF_EXIT rather than exit 1.
3320
3321	* libbib/index.cc: Include <fcntl.h>.
3322	(O_RDONLY): Define if necessary.
3323	(make_index_search_item, index_search_item_iterator::get_tag,
3324	index_search_item::check_files): Use O_RDONLY.
3325	* libbib/seach.cc: Include <fcntl.h>, <sys/types.h>, <sys/stat.h>.
3326	(O_RDONLY): Define if necessary.
3327	(search_list::add_file): Use O_RDONLY.
3328	* indxbib/indxbib.cc: Include <fcntl.h>, <sys/types.h>,
3329	<sys/stat.h>.
3330	(S_IRUSR, S_IRGRP, S_IROTH): Define if necessary.
3331	(main): Use these.
3332
3333	* libbib/index.cc (S_ISREG): Define it if necessary.
3334	(index_search_item::load): Use S_ISREG.
3335
3336	* include/driver.h: Include <errno.h>.
3337
3338Sun Aug 23 11:32:18 1992  James Clark  (jjc at jclark)
3339
3340	* eqn/box.cc (body_height): Increase default value to 85.
3341	(body_depth): Increase default value to 35.
3342
3343Fri Aug 21 05:34:42 1992  James Clark  (jjc at jclark)
3344
3345	* eqn/pbox.h (SAVE_FONT_STRING): Define it.
3346	* eqn/box.cc (box::top_level): Hide use of \R in a string that is
3347	protected from expansion with \E.
3348
3349	* acgroff.m4 (GROFF_PAGE): Use `case' to test domain.
3350
3351	* Makefile (Makefile): New target.
3352
3353	* Makefile.sub (configure, distfiles): New targets.
3354
3355	* acgroff.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Avoid using ${var:-val}
3356	construct.
3357
3358Thu Aug 20 12:27:26 1992  James Clark  (jjc at jclark)
3359
3360	* eqn/box.cc (param_table): Add body_height and body_depth.
3361
3362	* eqn/lex.cc (def_table): Make circumflex in hat_def roman.
3363
3364Tue Aug 18 16:24:25 1992  James Clark  (jjc at jclark)
3365
3366	* psbb/Makefile.sub: Don't link with libgroff.a.
3367
3368	* acgroff.m4 (GROFF_PUTENV): New macro.
3369	* configure.in: Call GROFF_PUTENV.
3370	* Makefile.in: Document STDLIB_H_DECLARES_PUTENV.
3371	* groff/groff.cc: Don't declare putenv if STDLIB_H_DECLARES_PUTENV
3372	is defined.
3373
3374	* troff/env.cc (distribute_space): Rename force_forward argument
3375	to force_reverse.  Reverse the list if force_reverse is true.
3376
3377Mon Aug 17 17:49:05 1992  James Clark  (jjc at jclark)
3378
3379	* tmac/tmac.an: Don't define a string `T'. Just define Tm.
3380
3381	* eqn/pile.cc (matrix_box::compute_metrics): Don't allow computed
3382	height or depth to be negative.  Guard against SUP_RAISE quantity
3383	being negative.
3384
3385Sat Aug 15 08:18:54 1992  James Clark  (jjc at jclark)
3386
3387	* devps/generate/textmap: Add `an' (arrowhorizex).
3388	* tmac/tmac.ps: \(an overlaps horizontally.
3389	* tmac/tmac.dvi, tmac/tmac.tty: Add `an'.
3390
3391	* devps/symbolchars: Add arrowverttp, arrowvertbt.
3392	* devps/textmap: Add arrowvertex.
3393	* eqn/delim.cc (delim_table): Add uparrow, downarrow and
3394	updownarrow delimiters.
3395	* tmac/tmac.ps, tmac/tmac.X: Add definition of \(va.
3396
3397	* tbl/table.cc (simple_entry::position_vertically,
3398	block_entry::position_vertically):  For a centered entry, perform
3399	the motion in two stages.
3400
3401	* refer/refer.cc (split_punct): Don't call lookup_token if there
3402	is no token.
3403
3404Fri Aug 14 11:14:58 1992  James Clark  (jjc at jclark)
3405
3406	* troff/input.cc (token::next): Delete token_node after copying
3407	token.
3408
3409	* grodvi/grodvi.cc (dvi_printer::dvi_printer): Initialize
3410	cur_point_size.
3411
3412	* libdriver/printer.cc (printer::load_font): Delete old_font_table.
3413
3414	* grops/ps.cc (ps_printer::define_encoding): Delete elements of vec.
3415
3416Tue Aug 11 13:50:38 1992  James Clark  (jjc at jclark)
3417
3418	* grops/ps.cc (usage): -b option takes an argument.
3419
3420	* devps/prologue (PLG): New procedure.
3421	* grops/ps.cc (main, usage): New -g option.
3422	(ps_printer::~ps_printer):  If guess_flag is set, guess the paper
3423	length using PLG.
3424
3425Mon Aug 10 11:17:53 1992  James Clark  (jjc at jclark)
3426
3427	* include/cset.h: Include <limits.h> if we have it.
3428
3429	* libgroff/illegal.cc: New file.
3430	* include/lib.h (illegal_input_char): Use table.
3431	* troff/input.cc (ESCAPE_RIGHT_PARENTHESIS): Renumber to 0206.
3432	* pic/lex.cc (ARG1): Renumber to 14.
3433	* eqn/lex.cc (ARG1: Likewise.
3434
3435	* troff/Makefile.sub (majorminor.cc): Handle 3 part versions
3436	(eg 1.05.90) correctly.
3437
3438Sun Aug  9 13:35:43 1992  James Clark  (jjc at jclark)
3439
3440	* tmac/tmac.e (sr): Deleted. Set $r and $R directly.
3441	Rename $r and $R registers to $v and $V.
3442	($r, $R): Initialize to 0.
3443	(@v, @V): New macros.
3444	(sz): Call @v.
3445	(@M): Call @V.
3446
3447	* troff/input.cc (main, usage): Add -R option that says not to
3448	load troffrc.
3449	* eqn/main.cc (main, usage): Rename -n to -R.
3450
3451Sat Aug  8 00:16:00 1992  James Clark  (jjc at jclark)
3452
3453	* devps/DESC.in: Leave font positions 5-9 blank.
3454	* devdvi/DESC.in: Likewise.
3455
3456	* grog/grog.pl: Handle `.PS <file' correctly.
3457
3458	* troff/input.cc (input_stack::push): Improve error message when
3459	input stack limit exceeded.
3460
3461Fri Aug  7 13:08:16 1992  James Clark  (jjc at jclark)
3462
3463	* refer/refer.cc (main): Fix typo in handling of `a' option.
3464
3465	* refer/refer.cc (do_bib): In state START after a newline remain
3466	in state START.
3467
3468	* groff/groff.sh: Deleted.
3469	* groff/Makefile.sub: Delete handling of groff.sh.
3470
3471	* pic/troff.cc (troff_output::text): Test \n(0p rather than \*(.T
3472	to determine whether to use \X'ps:...'.
3473	* tmac/troffrc: Set 0p register to 0.
3474	* tmac/tmac.ps: Set 0p register to 1.
3475
3476	* groff/groff.cc: Support -X option. Give warning for -TXps and
3477	transform to -X -Tps. Pass troff a -r.X=1 option if -X is used.
3478	* tmac/troffrc: Support -r.X=1.
3479
3480	* pic/troff.cc (troff_output::dot): Don't test
3481	zero_length_line_flag.
3482
3483Thu Aug  6 13:32:08 1992  James Clark  (jjc at jclark)
3484
3485	* include/lib.h: Declare getopt() and friends unless
3486	STDLIB_H_DECLARES_GETOPT is defined.
3487
3488	* doc/chars.tr: Delete.
3489	* man/groff_char.man: New file.
3490
3491Wed Aug  5 00:38:58 1992  James Clark  (jjc at jclark)
3492
3493	* tmac/tmac.e (np, bu): Test \n($p with string expression in case
3494	user has changed register format.
3495
3496Mon Aug  3 11:22:18 1992  James Clark  (jjc at jclark)
3497
3498	* groff/groff.cc: Get rid of device_table.  Get postprocessor from
3499	`postpro' command in DESC file.  Get spooler command from `print'
3500	command in DESC file.  Execute spooler command with /bin/sh.
3501
3502	* groff/groff.cc: Split Unix-specific parts into...
3503	* groff/pipeline.c: New file.
3504
3505	* LICENSE: Delete.
3506	* COPYING: New file.
3507	* all files: Update copyright notices.
3508
3509	* Rearrange files.  Redo Makefiles.  Use autoconf.
3510
3511Sat Aug  1 09:36:50 1992  James Clark  (jjc at jclark)
3512
3513	* troff/input.c (charinfo_to_node_list): Interpret character
3514	definition with escape_char of `\'.
3515
3516Tue Jul 28 12:20:12 1992  James Clark  (jjc at jclark)
3517
3518	* lib/strerror.c, lib/iftoa.c, lib/itoa.c: Don't include lib.h.
3519	Define INT_DIGITS as big enough for 64-bit integer.
3520	* lib/strtol.c: Don't include lib.h.
3521	* lib/lib.h: Delete ifdef __cplusplus stuff.
3522
3523Mon Jul 27 11:08:50 1992  James Clark  (jjc at jclark)
3524
3525	* ps/devps/Makefile: Add DESC to DEVICEFILES.  Separate out rule
3526	for making DESC.  Make $(FONTS) depend on DESC. afmtodit should
3527	get DESC from current directory.
3528
3529Sun Jul 26 15:38:26 1992  James Clark  (jjc at jclark)
3530
3531	* tbl/main.c (main): Always reset the line number when reading
3532	from stdin.
3533
3534	* tbl/table.c (table::print_single_hline, table::print_double_hline,
3535	table::define_bottom_macro, table::do_row, table::do_top): Round
3536	vertical spacing up to vertical resolution.
3537
3538Fri Jul 24 14:32:07 1992  James Clark  (jjc at jclark)
3539
3540	* ps/ps.h (enum resource_type): Avoid comma at end of
3541	enumerator-list.
3542	* dvi/dvi.c (class dvi_printer): Likewise.
3543	* dvi/tfmtodit.c (gf::load): Likewise.
3544	* refer/label.y (struct expression): Likewise.
3545	* refer/refer.c (class label_processing_state): Likewise.
3546	* refer/indxbib.c (do_file): Likewise.
3547	* troff/troff.c (enum warning_type): Likewise.
3548	* tbl/main.c (process_data): Likewise.
3549	* troff/charinfo.h (class charinfo):
3550
3551Wed Jul 22 09:17:58 1992  James Clark  (jjc at jclark)
3552
3553	* dvi/devdvi/textt.map: Add entry for `-'.  Regenerate fonts.
3554
3555Tue Jul 21 11:39:26 1992  James Clark  (jjc at jclark)
3556
3557	* groff.c: Move to new groff subdirectory.
3558	* groff/Makefile: New file.
3559	* Makefile: Remove handling of groff.c. Add groff to SUBDIRS.
3560
3561	* man/mdate.sh: Use ls -L if supported.
3562
3563	* Consolidate all header files produced by gendef into lib/defs.h.
3564	* lib/macropath.c, lib/fontfile.c, lib/device.c: Include defs.h.
3565	Don't include path.h.
3566	* lib/Makefile (path.h): Don't generate.
3567	* troff/input.c: Include defs.h. Don't include config.h.
3568	* troff/Makefile (config.h): Don't generate.
3569	* refer/index.h: Don't include suffix.h.
3570	* refer/index.c: Include defs.h.
3571	* refer/indxbib.c: Include defs.h.
3572	* refer/refer.h, refer/lkbib.h: Don't include path.h. Include
3573	defs.h.
3574	* refer/Makefile (suffix.h, path.h): Don't generate.
3575	* groff.c: Don't include config.h. Include defs.h.
3576	* Makefile (config.h): Don't generate.
3577	(lib/defs.h): Generate.
3578	(topclean): Remove lib/defs.h.
3579
3580Mon Jul 20 10:12:57 1992  James Clark  (jjc at jclark)
3581
3582	* lib/malloc.c, lib/getpagesize.h: Deleted.
3583	* Makefile: Add COOKIE_BUG configuration option.  Delete malloc
3584	related stuff.
3585	* lib/Makefile: Delete malloc-related stuff.
3586	* lib/new.c: Workaround COOKIE_BUG if necessary.
3587
3588	* refer/lkbib.c, refer/indxbib.c: Don't include refer.h.  Include
3589	needed header files directly.
3590	* refer/refer.h: Omit definition of DEFAULT_INDEX.
3591	* Makefile: Include definition of DEFAULT_INDEX in path.h.
3592
3593Sun Jul 19 10:19:22 1992  James Clark  (jjc at jclark)
3594
3595	* lib/font.c (FONT_COMMAND_HANDLER): Pass command name and single
3596	argument.
3597	* lib/font (font::load_desc, font::load): Don't split argument of
3598	unknown command.
3599	(font::handle_unknown_font_command): Change type.
3600	* ps/ps.c (ps_font::handle_unknown_font_command,
3601	handle_unknown_desc_command): Change type.
3602	* dvi/dvi.c (dvi_font::handle_unknown_font_command): Change type.
3603
3604Fri Jul 17 11:12:49 1992  James Clark  (jjc at jclark)
3605
3606	* lib/font.h (font::handle_unknown_font_command): Add file and
3607	line arguments.
3608	* lib/font.c (font::handle_unknown_font_command):
3609	* ps/ps.c (ps_font::handle_unknown_font_command):
3610	* dvi/dvi.c (dvi_font::handle_unknown_font_command): Add file and
3611	lineno arguments.  Use _with_file_and_line functions for error
3612	reporting.
3613
3614	* lib/fontfile.c (font::unknown_desc_command_handler): New static
3615	data member.
3616	* lib/font.c (font::set_unknown_desc_command_handler): New
3617	function.
3618	(font::load_desc): For unknown commands, call
3619	unknown_desc_command_handler if not null.
3620	* lib/font.h (class font): Declare them.
3621	(FONT_COMMAND_HANDLER): New typedef.
3622	* ps/ps.c (handle_unknown_desc_command): New function.
3623	(main): Set bflag if we had a -b option. Call
3624	font::set_unknown_desc_command_handler.
3625	(broken.h): Don't include.
3626	* ps/Makefile: No need for broken.h.  Pass BROKEN_SPOOLER_FLAGS to
3627	submake 
3628	* ps/devps/Makefile: Add `broken' command to DESC file using
3629	BROKEN_SPOOLER_FLAGS.
3630
3631	* macros/tmac.e ([, ]): Add as synonyms for { and }.
3632
3633	* macros/tmac.e ($p): Only exdent if \$3 > 0.
3634
3635	* macros/tmac.e (@R, @S): New macros.
3636	Declare @, po, $0, $i, $p, df, so, fu, bt, *, ?a, ?b, ?C, ?e, ?H,
3637	?I, ?n, ?o, ?R, ?s, ?T, ?W, ?w registers with @R.
3638	Declare $H, $[0-9], .. macros with @S.
3639	Declare |0, |1, |2, |3 strings with @S.
3640
3641	* macros/tmac.e (@S): Rename to @U.
3642
3643	* macros/tmac.e (@z): Define @b and bp as empty instead of
3644	deleting them,
3645
3646	* macros/tmac.e (@m): Deleted.
3647	(@h): Don't call @m.
3648	(@z): Don't set @m trap.
3649
3650	* macros/tmac.e ($h, $f): Define |z as empty string.
3651
3652	* macros/tmac.e (@D): Rework to avoid unbalanced .el requests.
3653	(@q): Likewise.
3654
3655	* macros/tmac.e (@h): Set ?H, ?C , ?s registers to 0 rather than
3656	removing them.
3657	()f): Likewise for * register.
3658
3659	* macros/tmac.e (sr): Don't ever scale the arguments. If the third
3660	argument is missing, don't change $R.  Call sr with three
3661	arguments when initializing.
3662
3663Thu Jul 16 12:17:12 1992  James Clark  (jjc at jclark)
3664
3665	* macros/tmac.e (sr): New macro.
3666	Initialize $r and $R using sr.
3667
3668	* macros/tmac.e (,): Delete \*(#[.
3669
3670	* troff/env.c (set_tabs): Read the tab type even if the position
3671	is bad.  Allow the position of the first tab stop to be negative.
3672
3673Wed Jul 15 13:14:37 1992  James Clark  (jjc at jclark)
3674
3675	* refer/dirnamemax.c: Use pathconf() if <unistd.h> defines
3676	_POSIX_VERSION.
3677	* refer/Makefile: Compile dirnamemax.c using -DHAVE_UNISTD_H
3678	rather than -DPATHCONF_MISSING.
3679	* Makefile: Get rid of PATHCONF_MISSING.
3680
3681	* refer/map.c: New file.
3682	* refer/index.c: Interface to mmap through map.c.  Rename map_size
3683	to map_len.
3684	* refer/Makefile: Handle map.c.
3685	* Makefile: Include -DHAVE_MMAP in OLDCFLAGS rather than CFLAGS.
3686
3687Tue Jul 14 14:15:20 1992  James Clark  (jjc at jclark)
3688
3689	* Makefile: RANLIB should be `true' if there is no ranlib.
3690	* lib/Makefile (libgroff.a): Simplify.
3691	* driver/Makefile (libdriver.a): Simplify.
3692
3693	* Makefile: Change -DWAIT_COREDUMP_0200 to -DWCOREFLAG=0200.
3694	* groff.c (WCOREDUMP): Use WCOREFLAG.  Define only if not already
3695	defined.
3696
3697Sat Jul 11 09:19:17 1992  James Clark  (jjc at jclark)
3698
3699	* troff/env.c (compare_ranges): Declare as extern "C".
3700
3701	* troff/input.c (init_registers): Use `struct tm' instead of `tm'.
3702
3703	* macros/tmac.s, macros/tmac.e: Change .nx /dev/null to .nx.
3704
3705Wed Jul  8 11:52:27 1992  James Clark  (jjc at jclark)
3706
3707	* pic/troff.c (troff_output::text): Merge in grops_output::text,
3708	but conditionalize use of \X based on \*(.T.
3709	(grops_output::*): Deleted.
3710	* pic/output.h: Delete declaration of make_grops_output.
3711	* pic/main.c (main): Ignore -p and -x.  driver_extension_flag is 1
3712	by default. -n sets it to 0.
3713	(usage): Corresponding changes.
3714	* groff.c (main): Don't pass -x or -p to pic.
3715	* groff.sh: Likewise.
3716
3717	* ps/ps.c (ps_printer::do_exec, ps_printer::do_file): Force ndefs
3718	to be non-zero.
3719
3720	* ps/devps/afmtodit: Change calculation of asc_boundary and
3721	desc_boundary.  Make these bounds inclusive.
3722	* ps/devps: Regenerate font files.
3723
3724Tue Jul  7 13:14:15 1992  James Clark  (jjc at jclark)
3725
3726	* macros/tmac.latin1: New file.
3727	* macros/tmac.tty-char: Use tmac.latin1.
3728	(tmac.tty-tr): Deleted.
3729	* macros/Makefile: Install tmac.latin1.
3730	* macros/tmac.dvi: Use tmac.latin1.
3731	* macros/troffrc: Translate \[char160] onto no-break space here.
3732	* macros/{tmac.dvi,tmac.ps,tmac.tty,tmac.X75}: Don't do it here.
3733
3734Mon Jul  6 11:06:52 1992  James Clark  (jjc at jclark)
3735
3736	* macros/tmac.Xps: Use `do' request.
3737
3738	* macros/tmac.ps: Use `do' request.
3739
3740	* macros/tmac.e (@C): Use `do' request.
3741
3742	* macros/tmac.X, macros/tmac.Xps: Moved from xditview.
3743	* macros/Makefile: Install tmac.X*.
3744
3745	* tty/tmac.tty, tty/tmac.tty-char: Move to macros.
3746	* tty/Makefile: Don't install tmac.tty*.
3747	* macros/Makefile: Install tmac.tty*.
3748
3749	* dvi/tmac.dvi: Move to macros.
3750	* dvi/Makefile: Don't install tmac.dvi.
3751	* macros/Makefile: Install tmac.dvi.
3752
3753	* ps/tmac.ps*: Move to macros.
3754	* ps/Makefile: Don't install tmac.ps*.
3755	* macros/Makefile: Install tmac.ps*.
3756
3757	* eqn/box.c: Provide draw_lines parameter corresponding to -D
3758	option.
3759	* macros/eqnrc: Set draw_lines parameter based on device.
3760	* groff.c: Don't pass -D flag to eqn.
3761	* groff.sh: Likewise.
3762	* eqn/main.c: Warn about use of -D.
3763
3764	* troff/input.c (process_startup_file): New function.
3765	(main): Call process_startup_file().
3766	* macros/troffrc: New file.
3767	* macros/Makefile: Install troffrc.
3768	* groff.c (main): Don't pass extra -m option to troff. For a 
3769	pseudo device pass the name of the pseudo device to troff using
3770	-d.
3771	* groff.sh: Likewise.
3772	* groff.c (possible_command::prepend_arg): Deleted.
3773
3774	* troff/input.c (do_request): New function.
3775	(init_input_requests): Bind "do" to do_request.
3776
3777	* eqn/main.c (main): Instead of loading eqnchar from device directory,
3778	load eqnrc from macro directory.
3779	* macros/eqnrc: New file.
3780	* macros/Makefile: Install eqnrc.
3781	* ps/devps/eqnchar: Deleted.
3782	* ps/devps/Makefile: Don't install eqnchar.
3783	* dvi/devdvi/eqnchar: Deleted.
3784	* dvi/devdvi/Makefile: Don't install eqnchar.
3785	* groff.c (main): Pass -M to eqn. Don't pass -F to eqn. New
3786	variable optM.
3787
3788	* lib/device.[ch]: New files.
3789	* lib/font.h (font::set_device_name, font::get_device_name):
3790	Deleted.
3791	* lib/fontfile.c: Use device.h.
3792	* lib/Makefile: Handle device.[ch]. Make paths.h define DEVICE.
3793	* troff/input.c: Delete definition of `device'.
3794	(main): Don't initialize device.
3795	* troff/troff.h: Include device.h rather than declaring device.
3796	* troff/Makefile: No need to handle DEVICE.
3797	* driver/input.c: Include device.h. Don't use
3798	font::{set,get}_device_name.
3799	* groff.c, Makefile: Rename device.h to config.h.
3800	* groff.c: Use library device variable.
3801	* eqn/main.c: Use library device variable.
3802	* eqn/Makefile: No need to handle DEVICE.
3803
3804	* lib/searchpath.[ch]: New files.
3805	* lib/Makefile: Handle searchpath.[ch].
3806	* troff/input.c (open_file, init_dirs): Deleted.
3807	(macro_dirs): Deleted.
3808	(open_mac_file, macro_source): Use class search_path.
3809	(add_string, struct string_list): Move definition.
3810	(main): Change -M option to use macro_path. Delete call to
3811	init_dirs().
3812	* lib/fontfile.c (font::command_line_font_dir, font::open_file):
3813	Rewrite to use class search_path.
3814	* lib/font.h, lib/fontfile.c (font::cl_font_dirs): Deleted.
3815	* lib/Makefile: fontfile.c depends on searchpath.h.
3816	* lib/Makefile: Rename fontpath.h to paths.h. Make paths.h define
3817	MACROPATH.
3818	* lib/macropath.[ch]: New files.
3819	* troff/Makefile: No need to handle MACROPATH.
3820
3821	* troff/input.c: Delete DUMP code.
3822	* lib/fontfile.c, lib/font.h: Delete
3823	font::forget_command_line_font_dirs.
3824
3825	* troff/input.c (push_token): New function.
3826	(handle_first_page_transition): Use push_token().
3827	(process_input_stack): Change handling of a space at the beginning
3828	of the line.
3829
3830Sun Jul  5 17:11:09 1992  James Clark  (jjc at jclark)
3831
3832	* troff/input.c (font_dirs): Delete unused variable.
3833
3834	* eqn/lex.c (do_set): Correct error messages.
3835
3836Sat Jul  4 10:20:55 1992  James Clark  (jjc at jclark)
3837
3838	* troff/input.c (do_define_string): Allow the string name to be
3839	followed immediately by a tab.
3840	(define_character): Likewise.
3841
3842Thu Jul  2 10:59:15 1992  James Clark  (jjc at jclark)
3843
3844	* ps/ps.c (ps_printer::draw): When drawing an arc, don't allow k to
3845	be negative.
3846
3847	* troff/input.c (input_iterator::is_file): New virtual function.
3848	(file_iterator::is_file): New function.
3849	(input_stack::end_file): New function.
3850	(input_stack::next_file): Handle the situation where there is no
3851	file on the input stack correctly.  Avoid making two passes over
3852	the input stack.
3853	(next_file): Make the filename optional; in this case call
3854	input_stack::end_file().
3855
3856Wed Jul  1 10:17:25 1992  James Clark  (jjc at jclark)
3857
3858	* dvi/tmac.dvi: Change the definitions of \(ul and _ so that they
3859	produce a real _ charater when the current font is CW and _
3860	otherwise.
3861
3862	* lib/errarg.c (errarg::errarg(const char *)): Invert conditional
3863	expression to work around gcc 2.2 bug.
3864
3865Wed Jun 24 08:12:24 1992  James Clark  (jjc at jclark)
3866
3867	* eqn/main.c (main): Don't give an error if we can't find eqnchar.
3868
3869	* troff/env.c (environment::add_padding): New function.
3870	(environment::add_char): Use add_padding().
3871	(environment::space): Likewise.
3872	(environment::wrap_up_field): Add some padding if there is none
3873	and there's no current tab.
3874	* troff/env.h: Declare environment::add_padding.
3875
3876Mon Jun 22 08:37:45 1992  James Clark  (jjc@jclark)
3877
3878	* pic/pic.y: undef fmod and rand before declaring them.
3879
3880Sun Jun 14 11:40:18 1992  James Clark  (jjc@jclark)
3881
3882	* troff/input.c (main): If the DESC file specifies a font name of
3883	0, then leave the corresponding font position empty.
3884
3885	* nroff.sh: New file.
3886	* Makefile (install.nobin): Install nroff.sh.
3887
3888	* tty/devlatin1/R.proto: Add ao as synonym for de.
3889	* tty/tmac.tty-char: Define ao as o.
3890
3891	* tty/dev{ascii,latin1}/R.proto: Add aq.
3892	* tty/tmac.tty-char: Delete definition of aq.
3893
3894Mon Jun  8 11:43:20 1992  James Clark  (jjc@jclark)
3895
3896	* troff/input.c (init_charset_table): Don't translate 0240.
3897	* ps/tmac.ps: Translate char160 to space.
3898	* dvi/tmac.dvi: Likewise.
3899	* tty/tmac.tty: Likewise.
3900
3901Sun Jun  7 10:52:35 1992  James Clark  (jjc@jclark)
3902
3903	* dvi/tmac.dvi: Add support for all Latin-1 characters.
3904
3905	* macros/tmac.s: Delete definitions of \(rg, \(ah, \(ad, \(a-,
3906	\(ao, \(ac, \(ho, \(-D, \(Sd, \(TP, \(Tp, \(ss, \(AE, \(ae, \(OE,
3907	\(oe, \(r?, \(r!.
3908
3909	* tty/tmac.tty-char: Add \(ah.
3910
3911	* dvi/tmac.dvi: Add definitions of Tp, TP, Sd, -D, ho.
3912	No need to define \(FM and \(!/. Conditionalize all character
3913	definitions.
3914
3915	* ps/devps/lgreekmap: Add +h, +f, +p.
3916
3917	* ps/tmac.psnew: New file.
3918	* ps/Makefile: Install tmac.psnew.
3919
3920	* troff/input.c (charinfo_to_node_list): Don't ever interpret
3921	character definitions in compatible mode.
3922
3923	* troff/input.c (remove_character): New function.
3924	(init_input_requests): Bind remove_character to "rchar".
3925
3926	* ps/tmac.psold: New file.
3927	* ps/Makefile: Install tmac.psold.
3928	* ps/tmac.ps: Load tmac.psold. Move definitions of ISO Latin-1
3929	characters into tmac.psold.  Make these definitions unconditional.
3930
3931	* tty/tmac.tty-char: Define \n(_C only if it is not already defined.
3932
3933	* ps/tmac.ps: Don't define \('c and \('C.
3934
3935	* ps/devps/textmap: Move Greek characters to...
3936	* ps/devps/symbolchars:
3937
3938Sat Jun  6 16:41:17 1992  James Clark  (jjc@jclark)
3939
3940	* ps/devps/text.enc: Add quotesingle.
3941	* ps/devps/textmap: Add +h, +f, +p, Fn, Bq, bq, aq, lz.
3942	* tty/tmac.tty-char: Likewise.
3943	* dvi/devdvi/texmi.map: Add +h, +f, +p.
3944	* dvi/devdvi/texi.map: Add Fn.
3945	* dvi/devdvi/msam.map: Add lz.
3946	* dvi/tmac.dvi: Handle Bq, bq, aq.
3947
3948	* pic/lex.c (get_token): Recognize 'th.
3949	* pic/map.y: Allow `expr'th in contexts where ORDINAL was allowed.
3950
3951Fri Jun  5 11:20:46 1992  James Clark  (jjc@jclark)
3952
3953	* ps/devps/textmap: Move di, mu, +- to...
3954	* ps/devps/symbolchars:
3955
3956	* macros/tmac.s (@XS): Don't call par@reset or fi.
3957	(XA): Call LP. Turn off adjustment. Reduce line length.
3958
3959	* macros/tmac.s: Initially alias XS to LP.
3960	(XS): Rename to @XS.
3961	(cov*ab-init): Alias XS to @XS.
3962
3963Thu Jun  4 09:12:05 1992  James Clark  (jjc@jclark)
3964
3965	* troff/token.h: Delete TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT,
3966	TOKEN_FONT_NAME, TOKEN_FONT_POSITION, TOKEN_SIZE tokens.
3967	(token::is_size, token::changes_env): Deleted.
3968	* troff/number.c (parse_term): No need to process \s explicitly.
3969	Call tok.next() only after scale indicator has been processed.
3970	* troff/input.c (do_overstrike, do_bracket): No need to process \s,
3971	\f etc explicitly.
3972	(token::next): Handle \s, \f, \S, \H immediately rather than
3973	returning them as tokens.
3974	(token::operator==, token::description, token::add_to_node_list,
3975	token::process): Remove handling of deleted tokens.
3976
3977	* troff/env.c (environment::add_char): When adding padding
3978	indicator character, call start_line() if necessary.
3979
3980Wed Jun  3 09:55:50 1992  James Clark  (jjc@jclark)
3981
3982	* ps/devps/afmtodit: Don't output 0 kerns.
3983
3984	* ps/devps/afmtodit: Remove directory from name of encoding in
3985	font description file.
3986
3987	* ps/devps/afmtodit: Improve error messages.
3988
3989	* ps/devps/afmtodit: Allow DESC file to be specified with -d.
3990
3991	* ps/devps/Makefile: Incorporate FontMakefile. Rework.
3992	* ps/devps/FontMakefile: Deleted.
3993	* ps/devps/afmname: New file.
3994
3995	* ps/devps/symbol.sed: New file.
3996	* ps/devps/symbol.diff: Deleted.
3997	* ps/devps/FontMakefile: Generate symbol.afm using symbol.sed.
3998	Generate zapfdr.afm from zapfd.afm.
3999
4000	* tty/tmac.tty (tty-char): Prefix definition with ".
4001
4002	* macros/tmac.an (TP): Don't start a diversion if one has already
4003	been started.
4004
4005	* tty/tmac.tty-char: Add Latin-1 characters.
4006
4007	* tty/tmac.tty-char: Incorporate suggestions from Paul Eggert.
4008
4009Tue Jun  2 00:54:34 1992  James Clark  (jjc@jclark)
4010
4011	* tbl/table.c (table::allocate): Delete old_vline, old_entry.
4012	Move declaration of struct horizontal_span.
4013
4014	* tbl/table.c (table::table): Initialize span_list.
4015	(table::~table): Delete span_list.
4016
4017	* lib/ptable.h (PTABLE(T)::~PTABLE(T)): Delete v.
4018
4019	* ps/devps/Makefile: Avoid dependency on GNU make.
4020
4021	* ps/tmac.ps: Check that character does not already exist before
4022	defining it.
4023
4024	* tty/tmac.tty: Add definitions of \(ff, \(!=, \(==, \(~=, \(sq,
4025	\(OE, \(oe, \(AE, \(ae, \(lh, \(rh. Delete definitions of \(en,
4026	\(ru, \(ul, \(br, \(bv, \(sl which are in the font description
4027	files.
4028
4029	* tty/tmac.tty-char: New file.
4030	* tty/Makefile: Install tmac.tty-char.
4031	* tty/tmac.tty: Move definitions of \(ua, \(da, \(uA, \(dA into
4032	tmac.tty-char.
4033
4034	* tty/tmac.tty: Fix definition of \(34.
4035
4036	* tty/dev{ascii,latin1}/R.proto: Add ha and ti. Map
4037	bracket-drawing characters onto |. Add *o.
4038
4039	* troff/env.c (environment::wrap_up_tab): Increment field_spaces
4040	only if current_field.
4041
4042	* troff/dictionary.c (dictionary::lookup): Free old_table after
4043	rehashing. 
4044
4045Mon Jun  1 10:15:22 1992  James Clark  (jjc@jclark)
4046
4047	* tty/dev{ascii,latin1}/R.proto: Add uppercase Greek characters
4048	whose glyphs are identical to glyphs of some Roman character.
4049
4050	* tty/devlatin1/R.proto (bu): Deleted.
4051	* tty/devascii/R.proto (bu): Deleted.
4052	* tty/tmac.tty: Add definition of \(bu.
4053
4054	* eqn/main.c (do_file): Pass FILE as argument.
4055	(main): Automatically load eqnchar.  New options -F and -n.
4056	Pass do_file an opened FILE.
4057	* groff.c: Don't pass eqnchar to eqn. Pass -F options onto eqn.
4058	No need to include font.h.
4059	* groff.sh: Likewise.  Don't need to use - for standard input.
4060	Prefix files with -- if first file starts with -.
4061
4062	* macros/tmac.e: Conditionalize use of \$* on \n(.g.
4063
4064	* troff/env.c (environment::possibly_break_line): Don't set line
4065	to 0 across call to output_line().  Don't call output_line() until
4066	after discarding nodes after break.
4067
4068Sun May 31 10:45:29 1992  James Clark  (jjc@jclark)
4069
4070	* request.h (macro::empty): Declare it.
4071	* input.c (macro::empty): New method.
4072	(interpolate_macro):  Don't give a WARN_SPACE if the two-character
4073	macro is empty.
4074
4075Sat May 30 10:27:15 1992  James Clark  (jjc@jclark)
4076
4077	* troff/env.c (environment::start_field): Decrement space_total
4078	when a space is frozen.
4079
4080Fri May 22 14:34:38 1992  James Clark  (jjc@jclark)
4081
4082	* macros/tmac.an (R): Delete macro.
4083
4084	* troff/input.c (get_copy, token::next): Support \# (like \" but
4085	newline is ignored).
4086
4087	* troff/input.c (token::next): Fix error message in 'Y' case.
4088
4089Thu May 21 09:26:24 1992  James Clark  (jjc@jclark)
4090
4091	* eqn/delim.c (define_extensible_string): Recognize any prefix of
4092	a delimiter name.
4093
4094Fri May 15 10:20:41 1992  James Clark  (jjc at jclark)
4095
4096	* c++test.c: Include <osfcn.h>.
4097
4098	* lib/strtol.c, lib/getcwd.c, ps/psbb.c: Declare errno in case
4099	<errno.h> doesn't.
4100
4101Fri May  8 09:37:19 1992  James Clark  (jjc at jclark)
4102
4103	* tbl/table.c (table::divide_span): Don't count column separation
4104	if expand was specified.
4105
4106	* tbl/main.c (process_format): Don't ignore width specs in
4107	continued format.  Give warning for changing equal widths or
4108	column separation in continued format.
4109	(process_data): Set column separation, minimum width, equal
4110	columns at end of table.
4111
4112Thu May  7 08:50:40 1992  James Clark  (jjc at jclark)
4113
4114	* troff/node.c (kern_pair_node::add_discretionary_hyphen,
4115	node::add_discretionary_hyphen): Use soft_hyphen_char.
4116	(set_soft_hyphen_char): New function.
4117	(init_node_requests): Bind to shc.  Initialize soft_hyphen_char.
4118
4119	* Makefile (c++tested): Give more helpful message if test fails.
4120
4121Tue May  5 10:58:39 1992  James Clark  (jjc at jclark)
4122
4123	* troff/input.c (init_charset_table): Translate 0240 to
4124	an unbreakable space.
4125
4126	* troff/token.h (token::hyphen_indicator): New function.
4127	* troff/charinfo.h (TRANSLATE_HYPHEN_INDICATOR): New special
4128	translation.
4129	* troff/input.c (translate): Allow translation to \%.
4130	* troff/node.c (node::add_char): Handle
4131	TRANSLATE_HYPHEN_INDICATOR.	
4132	(make_node): Don't allow TRANSLATE_HYPHEN_INDICATOR here.
4133
4134	* troff/input.c (init_charset_table): Don't set BREAK_AFTER flag
4135	for \(hy.
4136
4137	* tty/devlatin1/R.proto: \(hy and - should print as 055.
4138
4139Tue Apr 21 09:24:42 1992  James Clark  (jjc at jclark)
4140
4141	* groff.c (run_commands): If the last command gets a SIGPIPE send
4142	a SIGPIPE to all children than haven't yet terminated.  When
4143	command terminates, set pid field to -1.
4144
4145Fri Apr 17 11:20:48 1992  James Clark  (jjc at jclark)
4146
4147	* groff.c (main): Pass an appropriate -filename option to gxditview.
4148
4149Thu Apr 16 15:11:40 1992  James Clark  (jjc at jclark)
4150
4151	* Makefile.bd (install): Remove existing program before copying.
4152
4153	* Makefile, */Makefile, Makefile.bd, groff.sh, groff.c: Allow
4154	programs which have Unix counterparts to be installed with
4155	user-specified prefix.
4156
4157	* troff/input.c (exit_troff): Don't check if exit_started.
4158	(exit_request): Don't call exit_troff if exit_started.
4159
4160	* Makefile.bd (install.mm): Rename to install.dwbmm.
4161
4162Tue Apr 14 10:05:10 1992  James Clark  (jjc at jclark)
4163
4164	* driver/input.c (do_file): Add missing break for '#' case.
4165
4166Mon Apr 13 10:11:02 1992  James Clark  (jjc at jclark)
4167
4168	* troff/input.c (input_stack::clear):  Clear past any boundaries and
4169	then add the boundaries back.
4170
4171	* troff/input.c (exit_troff): Return immediately if already
4172	exiting.
4173
4174	* macros/tmac.s (pg@end-text): New macro.  Use pg@end-text for the
4175	end macro.
4176	(pg*end-page): If the text has ended and there are no more
4177	footnotes or keeps, exit.
4178
4179	* macros/doc-ditroff (Lq, Rq): Define as \(lq and \(rq.
4180
4181	* troff/input.c (init_charset_table): Make \(rq transparent by
4182	default.
4183
4184	* macros/tmac.an: Define lq and rq strings.
4185
4186	* macros/tmac.s (Q, U): Define as \(lq and \(rq.
4187
4188Sun Apr 12 12:54:37 1992  James Clark  (jjc at jclark)
4189
4190	* troff/env.c (environment::final_break): New function.
4191	(environment::newline): Set prev_line_interrupted to 2 if
4192	exit_started.
4193	* troff/env.h: Declare environment::final_break.
4194	* troff/input.c (exit_troff): Call environment::final_break()
4195	instead of environment::do_break().
4196
4197	* macros/Makefile: Install man.local if $(MACRODIR)/man.local
4198	doesn't already exist.
4199	* macros/man.local: New file.
4200	* macros/tmac.an: Load man.local.
4201	* macros/man.ultrix: New file.
4202
4203Sat Apr 11 17:32:04 1992  James Clark  (jjc at jclark)
4204
4205	* troff/input.c (exit_groff): Rename to...
4206	(exit_troff): New function.
4207
4208	* troff/div.c (exit_started, done_end_macro,
4209	seen_last_page_ejector): New global variables.
4210	(began_page_in_end_macro): New static variable.
4211	(exit_flag): Deleted.
4212	(top_level_diversion::top_level_diversion): Initialize
4213	last_page_count.
4214	(top_level_diversion): More elaborate test for whether
4215	cleanup_and_exit() should be called.
4216	Set began_page_in_end_macro if the end macro isn't yet finished.
4217	* troff/div.h (top_level_diversion::last_page_count): New data
4218	member.
4219	(top_level_diversion::set_last_page): New function.
4220	(exit_started, done_end_macro, seen_last_page_ejector): Declare.
4221	* troff/env.c (do_break): Zero prev_line_interrupted.
4222	* troff/input.c (exit_flag): Delete declaration.
4223	(LAST_PAGE_EJECTOR): New magic cookie.
4224	(token::next): Handle LAST_PAGE_EJECTOR.
4225	(exit_groff): Set exit_started and done_end_macro instead of
4226	exit_flag.  Call top_level_diversion::set_last_page.  Push a
4227	LAST_PAGE_EJECTOR instead of calling push_page_ejector().  Do
4228	another ejection after setting seen_last_page_ejector.
4229
4230Thu Apr  9 04:37:11 1992  James Clark  (jjc at jclark)
4231
4232	* etc/grog.sh, etc/grog.sh: Recognize -me sh macro.
4233
4234	* macros/tmac.e (TH): Make sure there's room for the initial
4235	header.
4236
4237	* macros/tmac.s (par@init): Make PD and DD at least \n(.V.
4238	Set FVS in points rather than units.
4239
4240Mon Apr  6 11:21:32 1992  James Clark  (jjc at jclark)
4241
4242	* troff/div.c (top_level_diversion::add_trap): Don't consider the
4243	position of empty slots.
4244
4245Fri Apr  3 10:46:45 1992  James Clark  (jjc at jclark)
4246
4247	* ps/devps/S: Fix height and depth of parenrightex.
4248	* ps/devps/symbol.diff: Regenerate.
4249
4250Sat Mar 28 21:17:52 1992  James Clark  (jjc at jclark)
4251
4252	* tmac.e (u): Do underlining as in -mgs.
4253
4254Fri Mar 27 09:23:44 1992  James Clark  (jjc at jclark)
4255
4256	* tty/tty.c (tty_printer::end_page): If overstriking is
4257	suppressed, still turn overstruck horizontal and vertical lines
4258	into +.
4259
4260	* lib/new.c: Back out Feb 24 change; no longer needed with gcc
4261	2.1.
4262
4263	* refer/label.y (format_expr::evaluate): Avoid use of %0*d.
4264
4265Wed Mar 18 09:29:10 1992  James Clark  (jjc at jclark)
4266
4267	* Version 1.05 released.
4268
4269Tue Mar 17 16:50:45 1992  James Clark  (jjc at jclark)
4270
4271	* tty/tty.c: Instead of keeping an array of glyphs and then
4272	sorting it, keep a ordered linked list of glyphs for each line.
4273
4274	* driver/driver.h: Include stddef.h.
4275
4276	* tty/tty.c (compare_glyph):
4277	* refer/refer.c (rcompare):
4278	* troff/env.c (compare_ranges): Arguments of qsort comparison
4279	function should be const void *.
4280
4281	* troff/number.c (parse_term):
4282	* dvi/dvi.c (draw_dvi_printer::draw): Avoid initialization in
4283	switch statement.
4284
4285	* refer/label.y (consider_authors): Don't access variables
4286	constructed under a condition outside that condition: put braces
4287	round for statement containing declaration; redeclare use of same
4288	variable later.
4289
4290	* pic/pic.y (text_expr): Delete production that allows
4291	parenthesised text_expr.
4292	(expr): Allow a conditional_expr to appear in parentheses.
4293	(conditional_expr): Rename to any_expr.
4294
4295	* mm: Install new version 1.01 from jh.
4296
4297	* lib/font.c (font::get_width): Cache scaled widths.
4298	(font::font): Initialize widths_cache.
4299	(font::~font): Destroy widths_cache.
4300	* lib/font.h: Add font::widths_cache. Declare font_widths_cache.
4301
4302Mon Mar 16 10:16:10 1992  James Clark  (jjc at jclark)
4303
4304	* c++test.c, c++test.ref: New files.
4305	* Makefile: Check that the C++ compiler works.
4306
4307	* ps/tmac.pspic (PSPIC): Do a break.
4308
4309	* ps/tmac.ps: Move definition of PSPIC into...
4310	* ps/tmac.pspic: New file.
4311	(PSPIC): Draw box around picture, but make it invisible to grops.
4312	* ps/tmac.ps: Load tmac.pspic.
4313	* ps/Makefile: Install tmac.pspic.
4314
4315Sun Mar 15 14:18:08 1992  James Clark  (jjc at jclark)
4316
4317	* lib/font.c (scale_round): If n is negative,
4318	subtract .5 before truncating floating point result.
4319
4320	* lib/fontfile.c: Include <errno.h>.
4321
4322Tue Mar 10 14:17:03 1992  James Clark  (jjc at jclark)
4323
4324	* driver/input.c (get_char): Inline. Don't update current_lineno.
4325	Change callers to up date current_lineno if necessary.
4326	Use get_char() instead of getc(current_file).
4327
4328Sun Mar  8 18:05:28 1992  James Clark  (jjc at jclark)
4329
4330	* ps/tmac.ps: Fix up spacing of \(mo and \(nm.
4331
4332Fri Mar  6 19:38:58 1992  James Clark  (jjc at jclark)
4333
4334	* tty/tty.c (tmac.tty): Define \(rg as (R).
4335
4336Tue Mar  3 10:11:25 1992  James Clark  (jjc at jclark)
4337
4338	* lib/lib.h: New define a_delete.
4339	* Use a_delete instead of delete when deleting an array of objects
4340	without destructors.
4341
4342	* lib/lib.h: Rename adelete to ad_delete.
4343	* Change uses of adelete.
4344
4345Mon Mar  2 12:41:05 1992  James Clark  (jjc at jclark)
4346
4347	* eqn/eqn.y: Include lib.h.
4348
4349	* troff/node.c (grow_font_table): Delete old_font_table.
4350
4351	* mm: Install new version from jh.
4352
4353Fri Feb 28 10:42:23 1992  James Clark  (jjc at jclark)
4354
4355	* tbl/table.h (format_type): Make global instead of local to class
4356	entry_format.  Prefix enumerators with FORMAT_.
4357	* tbl/table.c, tbl/main.c: Corresponding changes.
4358	* refer/token.h (token_type): Make global.  Prefix enumerators
4359	with TOKEN_.
4360	* refer/token.[ch]: Corresponding changes.
4361	* Makefile: Get rid of -DNO_NESTED_TYPES configuration option.
4362
4363	* troff/div.c (node::set_vertical_size): Don't name argument.
4364
4365Thu Feb 27 10:29:19 1992  James Clark  (jjc at jclark)
4366
4367	* Makefile: New configuration option ARRAY_DELETE_NEEDS_SIZE.
4368	* lib/lib.h: Define adelete accordingly.
4369	* pic/object.c (graphic_object::graphic_object):
4370	* tbl/main.c (format::~format):
4371	* tbl/table.c (table::~table):
4372	* refer/ref.c (reference::~reference, reference::merge,
4373	reference::insert_field, reference::delete_field): Use adelete.
4374
4375	* Makefile: Change NESTED_TYPES to NO_NESTED_TYPES.
4376	* refer/token.h:
4377	* tbl/table.h: Corresponding changes.
4378
4379	* common.c (common_output::dashed_arc, common_output::dotted_arc):
4380	Ensure total_angle is positive.
4381
4382Wed Feb 26 08:49:26 1992  James Clark  (jjc at jclark)
4383
4384	* refer/ref.c (reference::merge, reference::insert_field,
4385	reference::delete_field): Avoid delete[0].
4386
4387	* refer/token.c (init_special_chars): Move calls to cmupper
4388	outside calls to init_two_char_letter to work around bug in gcc
4389	2.0.
4390
4391Mon Feb 24 14:20:00 1992  James Clark  (jjc at jclark)
4392
4393	* lib/new.c (operator new): Use __builtin_new for g++.
4394
4395	* pic/object.c (graphic_object::~graphic_object):  Don't use
4396	delete [] on 0.
4397
4398	* pic/object.c (output::compute_scale): Initialize max_width and
4399	max_height.
4400
4401Sat Feb 15 09:55:20 1992  James Clark  (jjc at jclark)
4402
4403	* troff/input.c (write_request): Call fflush.
4404
4405	* troff/node.h (class composite_node): Move declaration to node.c
4406	* troff/input.c (charinfo_to_node): Rename to ...
4407	(charinfo_to_node_list): Return node list rather than composite
4408	node.
4409	* troff/node.c (make_composite_node): New function.
4410	(make_node, add_char): Call make_composite_node instead of
4411	charinfo_to_node.
4412	(class composite_node): Add a tfont * member.  Delete font_size
4413	member.
4414	(composite_node::composite_node, composite_node::copy,
4415	composite_node::size): Corresponding changes.
4416	(composite_node::tprint): Provide constant spacing, emboldening
4417	and track kerning as specified in tfont.
4418	(composite_node::width): Change width calculation accordingly.
4419	* troff/env.h (environment::composite): New member.
4420	(environment::is_composite, environment::set_composite): New
4421	functions.
4422	* troff/env.c (environment::environment): Initialize composite.
4423	* troff/input.c (charinfo_to_node): Call
4424	environment::set_composite.
4425	* troff/node.c (make_composite_node, make_glyph_node): Use the
4426	plain version of the tfont if the environment is composite.
4427
4428	* troff/node.c (font_info::get_space_width): Additional argument
4429	giving space_size.  Handle constant space correctly. Scale by
4430	space_size unless constant spaced.
4431	(env_sentence_space_width): New function.
4432	* troff/node.h: Declare it.
4433	* troff/env.h (environment::get_space_size,
4434	environment::get_sentence_space_size,
4435	environment::get_narrow_space_width,
4436	environment::get_half_narrow_space_width): Make inline.
4437	(environment::get_space_width): Make inline.  Just call
4438	env_space_width.
4439	* troff/env.c: Delete definitions for funtions made inline.
4440	(environment::space_newline, environment::space): Use
4441	env_sentence_space_width(). Don't scale by space_size.
4442	* troff/node.h: Move declarations of env*space_width() functions
4443	into env.h.
4444
4445Sat Feb  8 09:30:22 1992  James Clark  (jjc at jclark)
4446
4447	* macros/tmac.s (PS): Don't try to set negative indent.
4448
4449Thu Feb  6 09:00:35 1992  James Clark  (jjc at jclark)
4450
4451	* pic/pic.y: Fix min function.
4452
4453Tue Jan 28 07:52:29 1992  James Clark  (jjc at jclark)
4454
4455	* man/mdate.sh: Clear LANGUAGE.
4456
4457Sun Jan 19 13:02:41 1992  James Clark  (jjc at jclark)
4458
4459	* pic/pic.y, pic/lex.c: Rename COMMAND token to COMMAND_LINE.
4460	* pic/lex.c: New COMMAND keyword.
4461	* pic/pic.y (print_args, print_arg): New rules.
4462	(placeless_element): Use print_args for PRINT.
4463	New COMMAND element.
4464
4465Tue Jan  7 13:14:31 1992  James Clark  (jjc at jclark)
4466
4467	* troff/input.c (terminal): Handle missing argument correctly.
4468
4469	* pic/pic.y (text_expr): New rule.
4470
4471	* pic/pic.y: Implement := operator.
4472
4473Sun Jan  5 10:23:02 1992  James Clark  (jjc at jclark)
4474
4475	* etc/grog.pl, etc/grog.sh: Distinguish old and new versions of
4476	mdoc.
4477
4478Sat Jan  4 14:42:26 1992  James Clark  (jjc at jclark)
4479
4480	* ps/devps/dingbatsrmap: Include this in the distribution.
4481
4482	* macros/tmac.doc: Replace with new version from 2nd Networking
4483	Release. Fix loading of doc-* files.
4484	* macros/{doc-common,doc-ditroff,doc-nroff,doc-syms}: New files.
4485	* macros/tmac.doc.old: New file.  Apply fixes that had been
4486	applied to old tmac.doc.
4487	* macros/tmac.andoc: Check that we're running under groff.
4488	* macros/Makefile: Rework.
4489
4490Fri Jan  3 13:27:51 1992  James Clark  (jjc at jclark)
4491
4492	* tbl/table.h (format_type): 
4493	* refer/token.h (token_type): If NESTED_TYPES is defined, use
4494	typedef to make these types visible at file scope.
4495	* Makefile: Add NESTED_TYPES configuration option.
4496
4497	* troff/div.c (mark): At the top level use the value of
4498	nl_reg_contents rather than the current vertical position.
4499
4500Thu Jan  2 10:34:51 1992  James Clark  (jjc at jclark)
4501
4502	* tty/tty.c: Implement \D for horizontal or vertical lines.
4503	(tty_printer::set_char): Use vec_used+2 as serial number.
4504	Don't allow size of vector to exceed USHRT_MAX-2.
4505	Split off part into...
4506	(tty_printer::add_char): New function.
4507	(tty_printer::draw): New function.
4508	(compare_glyph): Handle equal serial numbers.
4509	(tty_printer::end_page): Handle overstruck characters from \D.
4510	(main, usage): Implement -d option.
4511
4512Mon Dec 23 10:37:51 1991  James Clark  (jjc at jclark)
4513
4514	* tbl/main.c (process_format):
4515	* eqn/text.c (split_text):
4516	* troff/input.c (token::next): Use inner block for declarations
4517	with initializers in switch statement.
4518
4519Mon Dec 16 20:52:03 1991  James Clark  (jjc at jclark)
4520
4521	* pic/common.c (common_output::dash_line): Cope with zero-length
4522	lines.
4523
4524Sun Nov 17 12:04:08 1991  James Clark  (jjc at jclark)
4525
4526	* Version 1.04 released.
4527
4528Wed Nov 13 05:27:21 1991  James Clark  (jjc at jclark)
4529
4530	* macros/tmac.an (TH): Define a macro an-init to define variables
4531	based on command line arguments.
4532	(an-header): Call it.
4533
4534Sun Nov  3 12:07:34 1991  James Clark  (jjc at jclark)
4535
4536	* Makefile (install.mm): Rename to install.dwbmm.
4537
4538	* Makefile: Integrate mm.
4539	* mm: New directory.
4540
4541Wed Oct 30 10:11:34 1991  James Clark  (jjc at jclark)
4542
4543	* refer/dirnamemax.c: If PATHCONF_MISSING is defined, include
4544	<sys/types.h>.
4545
4546	* pic/troff.c (troff_output::simple_spline,
4547	troff_output::simple_polygon): Rename variable `v' to `d' to avoid
4548	shadowing parameter.
4549
4550	* lib/tmpfile.c (xtmpfile): Declare dir as const char *.
4551
4552	* lib/ptable.h: Add explicit casts when converting from unsigned
4553	long to unsigned.
4554
4555	* dvi/devdvi/{SA,SB,msam.map,msbm.map}: New files.
4556	* dvi/devdvi/Makefile: Install SA, SB.
4557
4558	* refer/indxbib.c: Add declaration of mktemp.
4559
4560	* refer/lookbib.c: Add declaration of isatty.
4561
4562Fri Oct 25 09:00:17 1991  James Clark  (jjc at jclark)
4563
4564	* pic/lex.c (interpolate_macro_with_args):  While collecting
4565	arguments, keep track of whether we're in a string.
4566
4567Wed Oct 23 08:42:48 1991  James Clark  (jjc at jclark)
4568
4569	* ps/tmac.ps (PSPIC): Do the .sp after the \X, and move the \X
4570	down with \v, so as to avoid problems with top of page trap
4571	setting no space mode.
4572
4573Tue Oct 22 17:38:49 1991  James Clark  (jjc at jclark)
4574
4575	* eqn/lex.c (get_delimited_text): Allow tab before macro body.
4576
4577Tue Oct 15 17:24:53 1991  James Clark  (jjc at jclark)
4578
4579	* ps/psrm.c (ps_get_line): Fix bug when lines longer than 255.
4580	Improve error message.
4581
4582Fri Oct 11 11:09:38 1991  James Clark  (jjc at jclark)
4583
4584	* ps/psrm.c (print_ps_string): Don't pass negative numbers to
4585	printf("%03o");
4586
4587Wed Oct  9 17:50:14 1991  James Clark  (jjc at jclark)
4588
4589	* groff.c (possible_command::execp): Always use _exit() after a
4590	failed exec.
4591
4592	* Makefile: Add HAVE_UNION_WAIT, HAVE_PID_T, WAIT_COREDUMP_0200,
4593	NO_SYS_WAIT_H 	configuration options.
4594	* groff.c: Use these options.  Use POSIX-style macros to extract
4595	fields from the status returned by wait().
4596
4597Fri Oct  4 12:12:27 1991  James Clark  (jjc at jclark)
4598
4599	* tbl/table.c (table::compute_separation_factor): Allow the
4600	separation factor to drop to 0.
4601
4602Tue Oct  1 18:12:38 1991  James Clark  (jjc at jclark)
4603
4604	* refer/search.c: Include <errno.h>.
4605
4606Sun Sep 29 08:40:57 1991  James Clark  (jjc at jclark)
4607
4608	* pic/pic.y (YYDEBUG): Don't define for Borland C++.
4609
4610	* lib/lib.h: #ifdef out declarations of itoa and iftoa for Borland
4611	C++. 
4612
4613	* pic/lex.c (input_stack::bol): Move definition out of class body.
4614
4615	* pic/main.c: On MSDOS munge argv[0].
4616
4617	* lib/ptable.h: Define name2 as _Paste2 for Borland C++.
4618
4619	* lib/ptable.c (hash_string): Use unsigned long rather than
4620	unsigned.
4621	(next_ptable_size): Use unsigned rather than int.  Give an error
4622	message if we've hit the largest table size.
4623	* lib/ptable.c: Corresponding changes.  Also use unsigneds for the
4624	table size.
4625
4626	* pic/object.h (object_spec): Make flags unsigned long.  Declare
4627	flags as const unisgned long rather than as enums.
4628
4629	* pic/output.c: Deleted.
4630
4631	* pic/troff.c (troff_output::simple_ellipse): Remove spurious %.
4632
4633	* tbl/table.c (simple_entry::note_double_vrule_on_{left,right}):
4634	Add additional argument.
4635	(line_entry::note_double_vrule_on_{left,right}): Set value of
4636	douvle_vrule_on_{right,left} flag according to argument.
4637	(simple_line_entry::simple_print,
4638	simple_line_entry::double_line_print): If adjacent to double vrule
4639	on a corner extend rather than shorten the rule by half the double
4640	vrule sep.
4641
4642	* troff/number.c (parse_term): In checking for overflow, handle the
4643	case where the current horizontal position is negative.
4644
4645Thu Sep 12 08:26:09 1991  James Clark  (jjc at jclark)
4646
4647	* pic/object.c (draw_arrow): Check for object having zero length.
4648
4649Wed Sep 11 10:32:38 1991  James Clark  (jjc at jclark)
4650
4651	* eqn/main.c (do_file): Split off inline equation handling into...
4652	(inline_equation): New function.  Search for starting delimiter
4653	using...
4654	(delim_search): New function. Don't recognize a delimiter that
4655	occurs in the name of an escape sequence, number register, string
4656	etc.
4657
4658Tue Sep 10 04:01:11 1991  James Clark  (jjc at jclark)
4659
4660	* eqn/delim.c (delim_box::compute_metrics): Don't call
4661	define_extensible_string if left is 0.
4662	(delim_box::output):  Don't print the left delimiter if left is 0.
4663	(delim_box::debug_print): Check for left == 0 before calling printf.
4664
4665Fri Aug 23 13:02:30 1991  James Clark  (jjc at jclark)
4666
4667	* troff/Makefile (majorminor.c): Include only digits in
4668	minor_version.
4669
4670Thu Aug 22 09:35:37 1991  James Clark  (jjc at jclark)
4671
4672	* refer/dirnamemax.c: new file.
4673	* refer/genlimits.c: Deleted.
4674	* refer/indxbib.c (main): Use dir_name_max() instead of NAME_MAX.
4675	Don't check path length.
4676	* refer/Makefile: Add dir_name_max.o; delete genlimits.
4677	* Makefile: Add PATHCONF_MISSING option.
4678
4679	* refer/indxbib.c (get_cwd): New function.
4680	(main): Use get_cwd().
4681	* lib/getcwd.c: New file.
4682	* Makefile: Delete -DHAVE_GETWD. Include GETCWD variable. Pass
4683	GETCWD in SUBFLAGS.
4684	* lib/Makefile: Compile getcwd.o.
4685
4686	* ps/tmac.psatk (psatk-defs): Define showpage after pushing
4687	userdict.
4688
4689	* refer/indxbib.c (main): Check success of mktemp.
4690
4691	* lib/tmpfile.c: New file.
4692	* lib/Makefile: Add tmpfile.c.
4693	* lib/lib.h: Declare xtmpfile(); include <stdio.h>.
4694	* ps/ps.h: Delete declaration of mktemp().
4695	* ps/ps.c (ps_printer::ps_printer): Use xtmpfile().
4696	* refer/refer.c (divert_to_temporary_file): Use xtmpfile().
4697	* driver/driver.h: No need now to include errno.h.
4698
4699	* everywhere: Set errno to 0 before calling fopen().
4700
4701	* eqn/eqn.h, etc/soelim.c, driver/driver.h, etc/addftinfo.c,
4702	dvi/tfmtodit.c, groff.c, refer/index.c, refer/linear.c,
4703	refer/lookbib.c, refer/refer.h, ps/psbb.c: Include <errno.h>.
4704
4705Mon Aug 19 10:52:18 1991  James Clark  (jjc at jclark)
4706
4707	* troff/env.h (translate_space_to_dummy): Declare it.
4708	* troff/env.c (environment::space_newline, environment::space):
4709	If translate_space_to_dummy is set then make the width of spaces 0.
4710	* troff/input.c (translate): If the second character of a
4711	translation is a space, translate to unbreakable space.  If the
4712	first character is a space, set or clear translate_space_to_dummy
4713	according to whether the second character is \&.  Weird!
4714
4715Tue Jul 30 10:03:56 1991  James Clark  (jjc at jclark)
4716
4717	* groff.c (run_commands): Don't use non-zero exit code because a
4718	command gets SIGPIPE.
4719
4720	* groff.c, groff.sh: Use -mXps with -TXps.
4721
4722	* ps/ps.c (ps_printer::special): Move call to flush_sbuf() into...
4723	(ps_printer::do_exec, ps_printer::do_file, ps_printer::do_def,
4724	ps_printer::do_mdef, ps_printer::do_import): Call flush_sbuf().
4725	(ps_printer::special): New specials invis and endinvis.
4726	(ps_printer::do_invis, ps_printer::do_endinvis): New functions.
4727	(ps_printer::set_char, ps_printer::draw): Return if invis_count>0. 
4728	(ps_printer::end_page): Check that invis_count == 0.
4729	(ps_printer::invis_count): New member.
4730	(ps_printer::ps_printer): Initialize invis_count to 0.
4731
4732	* troff/env.c (environment::hyphenate_line): Hyphenation
4733	indicator at beginning of word inhibits splitting after -, \(em
4734	etc.
4735
4736	* pic/pic.y (element): Allow another element to follow } without
4737	any intervening separator.
4738
4739Mon Jul 22 12:27:37 1991  James Clark  (jjc at jclark)
4740
4741	* pic/lex.c (get_delimited): Allow tabs before delimiter.
4742
4743Wed Jul 17 10:59:08 1991  James Clark  (jjc at jclark)
4744
4745	* groff.c: Get rid of HAVE_UNION_WAIT stuff.  Instead suppress
4746	declaration of wait() in header files.
4747	* Makefile: Get rid of -DHAVE_UNION_WAIT.
4748
4749	* tbl/table.c (alphabetic_text_entry::add_tab): New function.
4750
4751	* lib/lib.h: Declare return type of strerror as char *.
4752
4753	* man/Makefile: Add g flag to sed substitutions.
4754	* Makefile (shgroff, bindist): Likewise.
4755
4756Sun Jul 14 11:57:02 1991  James Clark  (jjc at jclark)
4757
4758	* ps/ps.c (ps_printer::do_import): Move push of userdict into...
4759	* ps/devps/prologue (PBEGIN): Define showpage after pushing
4760	userdict.
4761
4762Sat Jul 13 20:53:04 1991  James Clark  (jjc at jclark)
4763
4764	* ps/devps/prologue (PBEGIN): Zap any definition of showpage in
4765	userdict.
4766
4767Fri Jul 12 07:10:09 1991  James Clark  (jjc at jclark)
4768
4769	* man/mdate.sh: Handle the fact that BSD ls -l does not print the
4770	group.
4771
4772Sun Jul  7 08:00:23 1991  James Clark  (jjc at jclark)
4773
4774	* troff/input.c (define_number_reg):  If currently undefined,
4775	don't define it if the argument is an invalid expression.
4776
4777	* Makefile: Ignore return value of `if' commands without `else'
4778	parts.
4779
4780	* Makefile: Split up CPPDEFINES into a series of separate
4781	configuration options.
4782
4783	* troff/input.c (init_registers): Use time_t instead of long
4784	unless LONG_FOR_TIME_T is defined.  Use returned result rather
4785	than passing pointer.
4786	* Makefile: Document LONG_FOR_TIME_T as a CPPDEFINE.
4787
4788	* lib/Makefile (fontpath.h): Use gendef.
4789
4790Thu Jul  4 09:48:05 1991  James Clark  (jjc at jclark)
4791
4792	* troff/input.c (input_iterator::shift): Delete argument name.
4793	* troff/node.c (suppress_output_file::really_begin_page,
4794	suppress_output_file::really_transparent_char, node::ascii_print,
4795	node::tprint): Delete names of unused arguments.
4796
4797Wed Jul  3 17:34:57 1991  James Clark  (jjc at jclark)
4798
4799	* refer/label.y (string):  Pass $4 to command_error.
4800
4801Tue Jul  2 15:06:01 1991  James Clark  (jjc at jclark)
4802
4803	* Version 1.03 released.
4804
4805Sat Jun 29 08:14:01 1991  James Clark  (jjc at jclark)
4806
4807	* Makefile: Pass definition of SHELL in SUBFLAGS.
4808
4809	* gendef: New file.
4810	* Makefile, eqn/Makefile, refer/Makefile, troff/Makefile,
4811	ps/Makefile: Use gendef to construct header files that are
4812	constructed from the Makefile.
4813
4814	* macros/Makefile: make all should build stripped version of tmac.e.
4815
4816	* refer/Makefile (clean): Remove y.output.
4817
4818Fri Jun 28 09:44:36 1991  James Clark  (jjc at jclark)
4819
4820	* ps/pfbtops.c (main): Add -v option which prints out a version
4821	number.
4822	* ps/Makefile (pfbtops): Link with libgroff.a.
4823
4824Fri Jun 21 07:43:23 1991  James Clark  (jjc at jclark)
4825
4826	* refer/search.h (linear_searcher::get_nkeys): Delete declaration.
4827	* refer/linear.c (linear_searcher::get_nkeys): Delete definition.
4828
4829	* refer/lkbib.c (main): Always terminate reference with blank
4830	line.
4831	* refer/lookbib.c (main): Likewise.
4832
4833	* refer/linear.c (file_buffer::load): Check that the file is not a
4834	binary file.
4835
4836	* refer/Makefile (genlimits): Possibly add -DHAVE_SYS_DIR_H.
4837	(genlimits.c): Include <sys/dir.h> if HAVE_SYS_DIR_H is defined.
4838	Delete second inclusion of <sys/param.h>.
4839
4840Tue Jun 18 01:32:26 1991  James Clark  (jjc at jclark)
4841
4842	* troff/token.h (token::special): Deleted.
4843
4844	* tbl/main.c (process_format): Rework so that opt->tab_char is
4845	recognized only when appropriate.
4846
4847	* ps/Makefile (clean): Remove pfbtops.
4848
4849Sun Jun 16 09:37:19 1991  James Clark  (jjc at jclark)
4850
4851	* lib/font.c (text_file::next): Don't return if we have got a
4852	blank line.
4853
4854Fri Jun 14 09:52:26 1991  James Clark  (jjc at jclark)
4855
4856	* refer/refer.c (store_reference): Get hash code from old_table[i]
4857	when rehashing the table.
4858
4859Thu Jun 13 01:26:43 1991  James Clark  (jjc at jclark)
4860
4861	* eqn/box.c (box::top_level): Save size and prev size using \R and
4862	restore it afterwards. Set the size to the size at the beginning
4863	of the line.
4864	* eqn/pbox.h: Declare SAVED_INLINE_PREV_SIZE_REG,
4865	SAVED_INLINE_SIZE_REG, and SAVED_SIZE_REG.
4866
4867	* refer/Makefile (limits.h): Use ./genlimits.
4868
4869Wed Jun 12 16:05:34 1991  James Clark  (jjc at jclark)
4870
4871	* refer/index.c: Delete declarations of stat() and fstat().
4872
4873Tue Jun 11 14:52:49 1991  James Clark  (jjc at jclark)
4874
4875	* tty/tmac.tty: Add character definitions for \(>= and \(<=.
4876
4877Mon Jun 10 22:49:48 1991  James Clark  (jjc at jclark)
4878
4879	* etc/grog.sh, etc/grog.pl: Change regex for .PS.
4880
4881Fri Jun  7 09:13:06 1991  James Clark  (jjc at jclark)
4882
4883	* troff/input.c (token::get_char): Handle \e.
4884
4885	* refer/linear.c: Delete declarations of fstat() and stat().
4886
4887Wed Jun  5 09:11:59 1991  James Clark  (jjc at jclark)
4888
4889	* troff/node.c, troff/env.c, troff/input.c, Makefile: Remove
4890	OP_DELETE_BROKEN stuff, since we now have a fix for g++.
4891
4892Mon Jun  3 13:41:32 1991  James Clark  (jjc at jclark)
4893
4894	* troff/input.c (do_define_macro): Improve error handling for end
4895	of file while defining macro.
4896
4897Sun Jun  2 10:20:24 1991  James Clark  (jjc at jclark)
4898
4899	* eqn/box.h: Fix declaration of set_gsize.
4900	* eqn/box.c (set_gsize): Make argument const char *.
4901	(gsize): Declare as char *.
4902	* eqn/main.c (main): Don't convert gsize to int.
4903	* eqn/lex.c (do_gsize): Pass char * to set_gsize.
4904
4905	* Version 1.02 released.
4906
4907Sat Jun  1 12:19:46 1991  James Clark  (jjc at jclark)
4908
4909	* macros/tmac.andoc: New file.
4910	* macros/Makefile: Install tmac.andoc.
4911
4912	* troff/node.c, troff/env.c, troff/input.c: Conditionalize use of
4913	operator new and delete on OP_DELETE_BROKEN not being defined.
4914	* Makefile: Mention OP_DELETE_BROKEN.
4915
4916Mon May 27 13:49:07 1991  James Clark  (jjc at jclark)
4917
4918	* Makefile (bindist): Pass SUBFLAGS.
4919
4920Sun May 26 14:13:22 1991  James Clark  (jjc at jclark)
4921
4922	* Makefile, groff.c: Pass definitions to groff.c via device.h.
4923
4924	* tty/tty.c (tty_font::load_tty_font): Avoid shadowing
4925	parameter.
4926
4927	* ps/Makefile, ps.c: Pass BROKEN_SPOOLER_FLAGS via broken.h.
4928
4929	* ps/ps.h, ps/psrm.c: Make comment_table and
4930	header_comment_table local to resource_manager::process_file.
4931
4932	* groff.sh: With -TXps pass -printCommand option to gxditview.
4933
4934	* groff.c (possible_command::print): Implement using
4935	append_arg_to_string.
4936
4937	* xditview: Merge in new implementation with own ChangeLog.
4938
4939Sat May 25 18:33:20 1991  James Clark  (jjc at jclark)
4940
4941	* groff.c (main): Implement PRINT_OPTION.
4942	(append_arg_to_string): New command.
4943	(device_table): Set PRINT_OPTION flag for Xps.
4944
4945Fri May 24 09:48:58 1991  James Clark  (jjc at jclark)
4946
4947	* troff/groff.h: Rename to troff.h.
4948
4949	* pic/lex.c (lookup_keyword, docmp): New functions.
4950	(get_token): Use new lookup_keyword.
4951	Don't include key.h.
4952	* pic/key.[ch], pic/pic.gperf: Deleted.
4953	* pic/Makefile: Remove gperf stuff.
4954
4955	* pic/Makefile, pic/output.h: Move definition of TEX_SUPPORT
4956	into output.h.
4957	* pic/tex.c: Move include of pic.h before test of TEX_SUPPORT.
4958
4959	* troff/Makefile, troff/node.c: Move definition of
4960	STORE_WIDTH into node.c.
4961
4962	* etc/grog.pl, etc/grog.sh: Support -mdoc.
4963
4964Thu May 23 12:30:49 1991  James Clark  (jjc at jclark)
4965
4966	* dvi/devdvi/texr.map, dvi.devdvi/texi.map,
4967	dvi/devdvi/texb.map: Add lq and rq.
4968	dvi/devdvi: Regenerate fonts.
4969	* ps/devps/textmap: Add lq and rq.
4970	* ps/devps: Regenerate fonts.
4971	* tty/devascii/R.proto, tty/devlatin1/R.proto: Add lq and rq.
4972	* macros/tmac.e: Define \*(lq and \*(rq to be \(lq and \(rq.
4973
4974	* pic/object.c (position_rectangle): When checking radius
4975	cope with possiblity that width or height is negative.
4976	(box_object::box_object): Have separate xrad and yrad with
4977	signs matching signs of dim components.
4978	(box_object::{north,south}_{east,west}): Use xrad and yrad.
4979	(box_object::print): With rounded boxes use absolute values
4980	for dim and rad arguments.
4981
4982	* lib/Makefile, lib/fontfile.o: Pass definition of FONTPATH
4983	in fontpath.h.
4984
4985	* eqn/Makefile, eqn/main.c: Pass definition of DEVICE in device.h.
4986
4987	* various files: Add explicit destructors to keep Saber CC +d
4988	happy.
4989
4990Wed May 22 11:37:11 1991  James Clark  (jjc at jclark)
4991
4992	* eqn/box.c (box::top_level): Restore fonts correctly after
4993	font changes in line containing inline equation.  Also
4994	restore previous font as well as current font.
4995	* eqn/pbox.h: Define necessary string and register names.
4996
4997	* troff/input.c (token::next): Case 'R' calls do_register.
4998	(do_register): New function.
4999
5000Tue May 21 11:28:23 1991  James Clark  (jjc at jclark)
5001
5002	* groff.c, groff.sh: Support Xps device.  Allow each device
5003	to have a pseudo_name and a real_name.
5004
5005	* groff.c (run_commands): Don't print `Broken pipe' messages.
5006
5007	* ps/pfbtops.c: New file.
5008	* ps/Makefile: Add pfbtops.
5009
5010	* troff/number.c (parse_term): Improved error message.
5011
5012Mon May 20 11:22:14 1991  James Clark  (jjc at jclark)
5013
5014	* groff.c, groff.sh, etc/grog.sh, etc/grog.pl: Support grefer.
5015
5016	* Makefile: Integrate refer.
5017	* refer: New directory.
5018	* man/grefer.man, man/glookbib.man, man/gindxbib.man,
5019	man/lkbib.man: New files.
5020	* man/Makefile: Support refer man pages.
5021
5022	* lib/lib.h: Declare is_prime.
5023	* lib/prime.c: New file.
5024
5025	* troff/input.c (macro_source): New function.
5026	(init_input_requests): Bind "mso" to macro_source.
5027
5028	* troff/env.c (environment::possibly_break_line): Maintain
5029	pointer to pointer to node to be split in ndp so as to avoid
5030	using address of freed node.
5031
5032	* troff/env.c (environment::hyphenate_line): Maintain pointer to
5033	pointer to first node to be hyphenated in startp so as to
5034	avoid using address of freed node.
5035
5036	* troff/env.c (class trie, class hyphen_trie): Make the
5037	elements of the trie be of type char not unsigned char.
5038	Declare arguments to be const char* instead of unsigned char *.
5039	
5040	* troff/env.c (hyphenate): Initialize hbuf[0].
5041
5042	* troff/input.c (set_string): Declare p to be char * and cast
5043	*p to unsigned char when necessary.
5044
5045	* troff/input.c (do_define_macro): Declare s to be const
5046	char*. Cast element to unisgned char when necessary, Declare
5047	d to be an int.  Handle EOF better.
5048
5049	* troff/Makefile, troff/input.c: Different scheme for passing
5050	definitions of MACROPATH, HYPHENFILE and DEVICE.
5051
5052Tue May 14 13:41:36 1991  James Clark  (jjc at jclark)
5053
5054	* tty/devascii/R.proto: Delete entry for em.
5055	* tty/devlatin1/R.proto: Likewise.
5056
5057Sat May 11 11:13:28 1991  James Clark  (jjc at jclark)
5058
5059	* troff/input.c (translate): Stop when we get a space. Treat eof
5060	like newline.
5061
5062	* macros/tmac.an (IP): Only pass quoted argument to TP when \n(.$>1.
5063
5064Wed Apr 24 19:24:33 1991  James Clark  (jjc at jclark)
5065
5066	* tbl/main.c (process_format): A font name following a `f'
5067	modifier that starts with a digit can be only one character long.
5068	Also deal with EOF on the second character of the font name.
5069
5070Wed Apr 17 11:23:43 1991  James Clark  (jjc at jclark)
5071
5072	* troff/input.c (token::next): Turn \~ into an
5073	unbreakable_space_node.
5074	* troff/node.c (unbreakable_space_node): New class.
5075	* troff/node.h: Declare it.
5076
5077Tue Apr 16 10:47:12 1991  James Clark  (jjc at jclark)
5078
5079	* dvi/dvi.c (dvi_printer::set_char): Make code an int.  Check that
5080	it's >= 0, before outputting it as a single byte.
5081
5082Mon Apr 15 11:20:23 1991  James Clark  (jjc at jclark)
5083
5084	* lib/font.c: Make font_char_metric::code an int.
5085	(font::get_code): Change return type to int.
5086	(font::load): Allow code to be arbitrary integer.
5087	* lib/font.h (font::get_code): Change return type to int.
5088	(font::number_to_index): Change argument type to int.
5089	* troff/input.c (token::next):  In case 'N', allow any value.
5090	Store value in token::val.
5091	(token::operator==): For TOKEN_NUMBERED_CHAR test equality of val.
5092	(token::get_char, token::add_to_node_list, token::process): Get
5093	number from val.
5094	(charinfo::set_number): Change argument to int.
5095	(charinfo::get_number):  Require that NUMBERED flag be set.
5096	(get_charinfo_by_number): Store numbered characters not between 0
5097	and 255 in a dictionary.
5098	* troff/charinfo.h (get_charinfo_by_number): Change argument type
5099	to int.
5100	(charinfo::number): Change type to int.
5101	(charinfo::set_number): Change type of set_number to int.
5102	* troff/node.c (troff_output_file::put_char_width,
5103	troff_output_file::put_char): Test whether character is numbered
5104	using charinfo::numbered().
5105	* driver/printer.c (printer::set_numbered_char): Allow arbitrary
5106	values of num.
5107	* lib/nametoindex.c: New implementation to cope with arbitrary
5108	number characters.
5109
5110	* troff/input.c (token::operator==): Test val for
5111	TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT, TOKEN_FONT_POSITION, and
5112	TOKEN_SIZE.
5113
5114	* man/Makefile: Add definiton of BROKEN_SPOOLER_FLAGS.
5115	(.man.n):  sed out @BROKEN_SPOOLER_FLAGS@.
5116
5117Sun Apr 14 12:57:00 1991  James Clark  (jjc at jclark)
5118
5119	* ps/devps/zapfdr.ps: Don't copy UniqueID.  Avoid use of newdict
5120	variable.
5121
5122	* all Makefiles: rm targets of cp and >.
5123
5124	* xditview/xtotroff.c (MapFont): Unlink troff_name before opening
5125	it.
5126
5127	* eqn/lex.c (def_table): Add dollar.
5128
5129Sat Apr 13 13:02:44 1991  James Clark  (jjc at jclark)
5130
5131	* troff/input.c (do_width): Push back newline before closing delim
5132	like do_bracket.
5133
5134Fri Apr 12 15:16:03 1991  James Clark  (jjc at jclark)
5135
5136	* groff.c (possible_command::prepend_arg): New function.
5137	(main): Prepend device -m option.
5138	* groff.sh: Put device -m options before command-line options.
5139
5140Tue Apr  9 10:24:43 1991  James Clark  (jjc at jclark)
5141
5142	* macros/tmac.an (IP): Quote argument to TP.
5143
5144	* ps/ps.c (main): New option -b, which sets...
5145	(broken_flags): New variable.
5146	(ps_printer::~ps_printer): Incorporate the setup section in the
5147	prolog if (broken_flags & NO_SETUP_SECTION).
5148	(ps_printer::begin_page): Generate {Begin,End}PageSetup comments.
5149	(ps_printer::merge_download_fonts, ps_printer::merge_import_fonts,
5150	ps_printer::merge_ps_fonts, ps_printer::print_font_comment,
5151	ps_printer::print_needed_font_comment,
5152	ps_printer::print_supplied_font_comment,
5153	ps_printer::print_include_font_comments,
5154	ps_printer::lookup_doc_font, ps_printer::download_fonts,
5155	ps_printer::read_download_file, read_document_fonts, add_font,
5156	skip_line, parse_fonts_arg, document_font::document_font,
5157	document_font::~document_font, document_font::download,
5158	ps_output::include_file):  Deleted.
5159	(ps_printer::~ps_printer): Generate %%EOF. Generate %!PS-Adobe-3.0
5160	rather than %!PS-Adobe-2.0.  Make calls to
5161	resource_manager::need_font for each font that we used. Replace
5162	calls to merge_ps_fonts, merge_download_fonts, print_font_comment,
5163	print_supplied_font_comment, print_needed_font_comment by call to
5164	resource_manager::print_header_comments. Output %%Orientation
5165	comment. Output %%Requirements: numcopies comment if ncopies > 1.
5166	Don't output the prolog directly.  Instead call
5167	resource_manager::output_prolog.  Only define #copies when ncopies
5168	> 1.  Delete calls to print_include_font_comments  and
5169	download_fonts.  Add call to resource_manager::document_setup.
5170	(ps_printer::do_file): Call resource_manager::import_file instead
5171	of including it ourselves.
5172	(ps_printer::do_import): Likewise.  Also don't call
5173	merge_import_fonts. Push userdict on the dictionary stack before
5174	and pop it afterwards.
5175	Move declaration of ps_output into ps.h.
5176	* ps/psrm.c: New file implementing resource_manager class.
5177	* ps/ps.h: New file declaring ps_output and resource_manager
5178	classes.
5179	* ps/devps/zapfdr.ps:
5180	* ps/devps/symbolsl.ps:
5181	* ps/devps/prologue:  Use 3.0 conventions.
5182	* ps/Makefile: Pass definition of BROKEN_SPOOLER_FLAGS in DEFINES.
5183	Add default definition of BROKEN_SPOOLER_FLAGS.
5184	* Makefile: New variable BROKEN_SPOOLER_FLAGS.  Add
5185	BROKEN_SPOOLER_FLAGS to SUBFLAGS.
5186
5187Mon Apr  8 09:26:54 1991  James Clark  (jjc at jclark)
5188
5189	* etc/grog.pl: New file.
5190	* Makefile (GROG): New variable.
5191	Add GROG to SUBFLAGS.
5192	* etc/Makefile (GROG): New variable.
5193	(install.nobin): Install $(GROG) rather than grog.sh.
5194
5195Thu Apr  4 11:36:45 1991  James Clark  (jjc at jclark)
5196
5197	* eqn/special.c (special_box::compute_metrics): Make the input and
5198	output strings the same.  Get the new height and depth from the
5199	predefined height and depth registers.  Also make subscript kern
5200	and skew available.
5201	(special_box::compute_subscript_kern, special_box::compute_skew):
5202	New functions.
5203
5204	* eqn/box.c (pointer_box::compute_skew,
5205	simple_box::compute_metrics, box::top_level)
5206	* eqn/text.c (prime_box::compute_metrics,
5207	prime_box::comput_subscript_kern)
5208	* eqn/limit.c (limit_box::compute_metrics):
5209	* eqn/delim.c (build_extensible, delim_box::compute_metrics):
5210	* eqn/sqrt.c (sqrt_box::compute_metrics): Protect possibly
5211	negative numbers in `nr' requests with a leading 0.
5212
5213Wed Apr  3 15:58:23 1991  James Clark  (jjc at jclark)
5214
5215	* eqn/special.c: New file.
5216	* eqn/eqn.y: Declare token SPECIAL.  Make it right associative.
5217	Add new rule for simple.
5218	* eqn/lex.c (token_table): Add SPECIAL.
5219	* eqn/box.h: Declare make_special_box.
5220	* eqn/Makefile: Add special.[co].
5221
5222Sat Mar 30 10:57:53 1991  James Clark  (jjc at jclark)
5223
5224	* ps/devps/prologue: Possibly set packing to true while defining.
5225	Create grops dictionary here.  Initialize local variables before
5226	defining procedures.
5227	(PICTURE): Rename to PBEGIN. Also do save, noop showpage, count
5228	the dictionary stack. Set strokeadjust and overprint to false if
5229	the relevant operators are defined.
5230	(PEND): New procedure.
5231	* ps/ps.c (ps_printer::~ps_printer): In the prolog just include
5232	prologue.  Do everything else in the setup section.
5233	(ps_printer::do_import): Just call PBEGIN and PEND around the
5234	picture. Also push userdict before, and pop it afterwards.
5235
5236Wed Mar 27 07:59:50 1991  James Clark  (jjc at jclark)
5237
5238	* troff/node.c (bracket_node::tprint): Brackets were being printed
5239	1m too low.
5240
5241	* macros/tmac.an (SH, SS): Set fill mode.
5242
5243Tue Mar 26 07:46:31 1991  James Clark  (jjc at jclark)
5244
5245	* troff/div.c (top_level_diversion::begin_page): Set
5246	high_water_mark to 0.
5247
5248Fri Mar 22 09:19:46 1991  James Clark  (jjc at jclark)
5249
5250	* man/mdate.sh: New file.
5251	* man/mdate.c: Deleted.
5252	* man/Makefile: Use mdate.sh instead of mdate.
5253	(mdate): Deleted.
5254
5255	* eqn/lex.c (do_gsize): Supply missing argument to error message.
5256
5257Tue Mar 19 11:06:50 1991  James Clark  (jjc at jclark)
5258
5259	* man/mdate.c: New file.
5260	* man/*.man: Replace modification date by @MDATE@.
5261	* man/Makefile (.man.n): Replace @MDATE@ by `mdate $<`.
5262	(mdate): New target.
5263
5264	* lib/font.c (text_file::next): Deal with arbitrarily long lines.
5265	Remove illegal input characters.
5266
5267Mon Mar 18 08:32:25 1991  James Clark  (jjc at jclark)
5268
5269	* macros/tmac.s (pg*start-col): Do .ns *after* running the hooks.
5270
5271Sat Mar 16 03:52:25 1991  James Clark  (jjc at jclark)
5272
5273	* troff/div.c (begin_page): Change behaviour when
5274	!first_page_begun and !break_flag.
5275
5276	* troff/input.c (do_name_test): Return 0 if argument is empty.
5277
5278	* troff/input.c (read_long_escape_name): Require closing ] to be
5279	at same input level as opening [.
5280
5281	* troff/input.c (read_increment_and_escape_name): New function.
5282	(get_copy, process_input_stack): Use this for \n.
5283
5284Fri Mar 15 00:31:48 1991  James Clark  (jjc at jclark)
5285
5286	* troff/div.c (top_level_diversion::begin_page): Ignore the
5287	current value of page_number if !first_page_begun.
5288
5289	* groff.c (main): Fix declaration of buf.
5290
5291	* troff/input.c (do_name_test): New function.
5292	(token::next): Implement \A.
5293	(token::next): Implement \e by turning it into a TOKEN_ESCAPE.
5294	(token::description, token::add_to_node_list, token::process):
5295	Handle TOKEN_ESCAPE.
5296	* troff/token.h: New token TOKEN_ESCAPE.
5297
5298Thu Mar 14 10:22:26 1991  James Clark  (jjc at jclark)
5299
5300	* pic/main.c (do_picture): Allow space before and after filename
5301	following `<'.  Check that the filename is not empty.
5302
5303Wed Mar 13 12:49:40 1991  James Clark  (jjc at jclark)
5304
5305	* Version 1.01 released. 
5306
5307	* dvi/devdvi/CompileFonts: Add cm*ss10 fonts.
5308
5309	* dvi/tmac.dvi: ftr HR to H.
5310
5311	* macros/tmac.e: Round up computation of $r.
5312
5313	* xditview/tmac.X:  Don't give up completely in compatibility mode.
5314	Use \n(.s instead of \n[.s].
5315
5316	* dvi/tmac.dvi: Don't give up completely in compatibility mode.
5317	Use \(ci instead of \[ci]. Use \n(.s instead of \n[.s].
5318	Add u to factors inside \s[...]. Rename frac to dvi-frac.
5319	Translate \(FM onto \[prime] and \(!/ onto \[slashnot]; use these
5320	short names in the char definitions.
5321
5322	* ps/tmac.ps: Don't give up completely in compatibility mode.
5323	Fix the fraction definitions to use \n(.s and \(f/. Add an extra
5324	quote in front of \n(.s. Add u to factors inside \s[...].
5325
5326Mon Mar 11 12:01:20 1991  James Clark  (jjc at jclark)
5327
5328	* tty/tmac.tty: Call the nroff request.
5329
5330	* macros/tmac.e ((x, )x):  Better definitions that work properly
5331	in a diversion.
5332	(@0, @1): Helper macros for (x.
5333
5334	* macros/tmac.e ($s, hl): Use \l rather than \D.
5335
5336	* tty/tmac.tty: Make it work better in compatibility mode.
5337	(pchar): Rename to tty-char.
5338
5339	* macros/tmac.e (@E): New macro.
5340	(r, i, b, rb, bi): Use @E.
5341
5342	* macros/tmac.e (@F): Don't use (;...) syntax.
5343
5344	* macros/tmac.e: Remove mention of \*(||/revisions.  Mention that
5345	it was modified for groff.
5346
5347	* macros/tmac.e: Make sure \n(ps and \n(es are >= \n(.V.
5348
5349	* macros/tmac.e (<., .>): Removed.
5350	([., .]): If \n(.V>=1v, use [] instead of superscripting.
5351
5352	* macros/tmac.e: Remove check that groff is being used.
5353
5354	* macros/tmac.e (@C): Change families only if using groff; turn
5355	compatibility mode off while changing familes. Save compatibility
5356	mode before changing families and restore it afterwards.
5357
5358	* macros/tmac.e (@h): Remove test for offset + line length.
5359
5360	* macros/tmac.e (sorry): Rename to @S.  Use \$1 instead of \$0
5361	(lo, th, ac): Define to call @S instead of using als.
5362
5363	* macros/tmac.e: Make $r and $R now contain \n(.v*100/\n(.sp, ie
5364	the ratio of the vertical spacing to the point size in units
5365	expressed as a percentage.  Use these instead of $10r and $10R,
5366	Delete $10r and $10R.
5367
5368	* lib/font.c (font::load): In default computation of space_width,
5369	divide by sizescale.  Use scale_round.
5370
5371	* macros/tmac.an (TP): Don't call `nf'.
5372	(an-do-tag): Don't call `fi'.
5373
5374Sun Mar 10 09:52:35 1991  James Clark  (jjc at jclark)
5375
5376	* troff/input.c (process_input_stack): Handle the case where
5377	spaces at the beginning of an input line are followed by a
5378	newline.
5379
5380Thu Mar  7 20:18:07 1991  James Clark  (jjc at jclark)
5381
5382	* groff.c (device_table): Add PIC_X_OPTION for dvi device.
5383	* groff.sh: Use pic -x with the dvi device.
5384
5385	* dvi/devdvi/FontMakefile (H): Don't use -s.
5386
5387	* dvi/devdvi/HI, dvi/devdvi/HB: New files.
5388	* dvi/devdvi/Makefile: Add HI and HB to FONTS.
5389	* dvi/devdvi/FontMakefile: Add rules for HI and HB. Include these
5390	in FONTS.
5391
5392Mon Mar  4 13:20:14 1991  James Clark  (jjc at jclark)
5393
5394	* ps/psfig.diff: New file.
5395	* ps/tmac.psfig: New file.
5396
5397Sat Mar  2 00:15:09 1991  James Clark  (jjc at jclark)
5398
5399	* macros/tmac.s (]=, ref*do-tl, ref*bib-print): Deleted.
5400	(]-): Don't call ref*do-tl.
5401
5402	* macros/tmac.s (ref*end-print): Use XP if [F not defined.
5403
5404	* macros/tmac.s (ref*normal-print): Call FS rather than fn@do-FS.
5405	(fn@do-FS): Rename to fn*do-FS.
5406
5407	* troff/input.c (transparent_translate): New function.
5408	(process_input_stack): Apply transparent_translate before calling
5409	diversion::transparent_output(unsigned char).
5410
5411Wed Feb 27 00:13:25 1991  James Clark  (jjc at jclark)
5412
5413	* troff/input.c (do_define_macro): Define the macro before calling
5414	skip_line.
5415
5416	* xditview/Makefile: Add DEVICES variable.  Change install target
5417	to use this.
5418
5419Tue Feb 26 10:46:22 1991  James Clark  (jjc at jclark)
5420
5421	* groff.c (run_commands): Handle the possibility that there are
5422	child processes other than those forked by us.
5423
5424Sun Feb 24 21:32:30 1991  James Clark  (jjc at jclark)
5425
5426	* lib/string.c (string::append): New function.
5427	* lib/stringclass.h: Declare it.
5428
5429Thu Feb 21 11:49:26 1991  James Clark  (jjc at jclark)
5430
5431	* eqn/main.c (main): New option -N which sets
5432	no_newline_in_delim_flag. 
5433	(do_file): If no_newline_in_delim_flag is set don't allow newlines
5434	in delimiters.
5435	* groff.c (main): Pass -N on to eqn.
5436	(help, synopsis): Mention -N.
5437	* groff.sh: Implement -N.
5438
5439Wed Feb 20 15:16:10 1991  James Clark  (jjc at jclark)
5440
5441	* macros/tmac.s (]=, ref*bib-print, ref*do-tl): New macros.
5442	(]-): Call ref*do-tl if ref*need-tl is non-zero.
5443	(XP): Allow as initializer.
5444
5445Tue Feb 19 14:09:06 1991  James Clark  (jjc at jclark)
5446
5447	* troff/env.c (environment::wrap_up_field): If field_spaces are
5448	non-zero and we have a current_tab, subtract padding from
5449	tab_distance.  If this makes tab_distance <= 0, use the next tab
5450	stop instead.  If there isn't any next tab or it's a left tab,
5451	wrap up the current tab.
5452	(environment::start_field): Initialize tab_precedes_field.
5453	(environment::wrap_up_tab): If there's a current field, update
5454	pre_field_width, field_distance and tab_precedes_field.
5455	* troff/env.h (environment::tab_precedes_field): New member.
5456
5457Fri Feb 15 01:24:00 1991  James Clark  (jjc at jclark)
5458
5459	* ps/ps.c (ps_printer::do_file): New function.
5460	(ps_printer::special): Bind to `file' special.
5461	(ps_printer::do_exec): Set ndefined_styles to 0.
5462
5463Sat Feb  9 03:03:04 1991  James Clark  (jjc at jclark)
5464
5465	* eqn/text.c (split_text): Grok \* and similar escapes sequences.
5466	Avoid stripping first character from the start of unrecognized
5467	escapes.  Use lex_error instead of error to report errors.
5468	* eqn/lex.c (get_token): Rework handling of escapes.
5469	(lex_error): Move declaration into...
5470	* eqn/eqn.h.
5471
5472	* xditview/xditview.c (main): Make -page option work.
5473
5474	* Makefile: Correct comment about -DBROKEN_SPOOLER and pageview.
5475
5476Wed Feb  6 12:28:43 1991  James Clark  (jjc at jclark)
5477
5478	* macros/tmac.s (B2): Correct size of box.
5479
5480Tue Feb  5 00:37:35 1991  James Clark  (jjc at jclark)
5481
5482	* macros/tmac.s (B2): Postpone drawing the box until in the
5483	top-level diversion.
5484
5485	* tty/tmac.tty: Add font translations for C, CR, CW.
5486
5487	* groff.c (synopsis, help): Document -i.
5488	* groff.sh: Implement -i.
5489
5490	* macros/tmac.s (@NH): Put a `.' after multi-part numbers.
5491	Simplify the construction of SN.
5492
5493	* troff/number.c (parse_term): Give `|' a higher precedence.
5494	* tbl/table.c (numeric_text_entry::simple_print): Parenthesise
5495	accordingly.
5496
5497	* macros/tmac.s (B2): Use par@finish instead of par@reset.
5498
5499Mon Feb  4 12:36:09 1991  James Clark  (jjc at jclark)
5500
5501	* lib/string.c (string::move): New function.
5502	* lib/stringclass.h: Declare it.
5503
5504Sat Feb  2 16:02:16 1991  James Clark  (jjc at jclark)
5505
5506	* troff/env.c (distribute_space): Add optional argument
5507	`force_forward'.
5508	(environment::wrap_up_field): Call distribute_space with
5509	`force_forward' argument of 1.
5510
5511Fri Feb  1 19:36:33 1991  James Clark  (jjc at jclark)
5512
5513	* lib/string.c, lib/stringclass.h (string::operator+=(char)):
5514	Inline it.  Move reallocation into...
5515	(string::grow1): New function.
5516	* pic/Makefile, tbl/Makefile, eqn/Makefile, ps/Makefile: Redo
5517	dependencies to include library header files.
5518	* lib/Makefile: Make string.c and lf.c depend on stringclass.h.
5519
5520Thu Jan 31 15:02:27 1991  James Clark  (jjc at jclark)
5521
5522	* macros/tmac.s (@NH): Use the same number registers than -ms does
5523	for the heading level counters.  Use the same string that -ms does
5524	for the number for this heading.
5525
5526Wed Jan 30 14:25:40 1991  James Clark  (jjc at jclark)
5527
5528	* lib/new.c (operator new): Cast result of malloc to char *.
5529
5530	* troff/input.c (spring_trap, lookup_request): Add assert that nm
5531	is not null.
5532
5533Tue Jan 29 18:08:05 1991  James Clark  (jjc at jclark)
5534
5535	* groff.c (main): Support -i.
5536
5537Sun Jan 27 13:23:17 1991  James Clark  (jjc at jclark)
5538
5539	* pic/pic.h: Include <osfcn.h>.
5540
5541	* ps/ps.c: Add declaration of mktemp.
5542
5543	* Makefile: Add -DHAVE_UNION_WAIT option for CPPDEFINES.
5544	* groff.c: If HAVE_UNION_WAIT is defined, declare wait()'s
5545	argument as union wait *.
5546	(run_commands): If HAVE_UNION_WAIT is defined cast wait()'s
5547	argument to union wait *.
5548
5549Sat Jan 26 12:04:52 1991  James Clark  (jjc at jclark)
5550
5551	* tty/tmac.tty: Add definition of \(co.
5552
5553	* pic/object.c (make_arc): Only increase radius when radius
5554	strictly less than d.
5555	(arc_object::update_bounding_box): May need to add 4.0 to end_quad
5556	more than once.
5557
5558	* troff/env.c (environment::environment(symbol),
5559	environment::environment(const environment *)):  Initialize
5560	input_trap_count.
5561
5562Sat Jan 19 08:18:35 1991  James Clark  (jjc at jclark)
5563
5564	* tbl/main.c (main): Add exit(0).
5565
5566	* ps/ps.c (ps_printer::~ps_printer): Use fseek instead of rewind.
5567
5568	* pic/main.c (main):
5569	* eqn/main.c (main):
5570	* tbl/main.c (main):
5571	* etc/soelim.c (main):
5572	* driver/printer.c (printer::~printer):
5573	* troff/node.c (real_output_file::~real_output_file,
5574	real_output_file::flush):  Check for errors on stdout.
5575
5576	* most files: Add 1991 to copyright notice.
5577
5578	* macros/tmac.s: Don't test \n(.x and \n(.y.
5579
5580	* troff/input.c (token::next): Rename `escape_char' label to
5581	`handle_escape_char' and `normal_char' label to
5582	`handle_normal_char'.
5583
5584Thu Jan 17 15:46:35 1991  James Clark  (jjc at jclark)
5585
5586	* groff.c (main, synopsis, help): Support -a option.
5587	* groff.sh: Likewise.  Also eliminate Zflag variable by adding -z
5588	to trflags while parsing options.
5589
5590Tue Jan 15 13:07:27 1991  James Clark  (jjc at jclark)
5591
5592	* troff/number.c (parse_term): With `m', `M' and `n' scale
5593	indicators, convert scale factor to hunits before scaling.
5594
5595Mon Jan 14 12:39:12 1991  James Clark  (jjc at jclark)
5596
5597	* lib/font.c (scale_round): Better test for overflow when n is
5598	negative.
5599
5600Thu Jan 10 11:10:56 1991  James Clark  (jjc at jclark)
5601
5602	* tbl/main.c (process_format): Add second argument of type
5603	options*. Change callers.  Allow opt->tab_char as well as '\t'
5604	between format items.
5605
5606Mon Jan  7 12:30:18 1991  James Clark  (jjc at jclark)
5607
5608	* macros/tmac.an (PD): With no arguments, make sure register PD is
5609	at least \n[.V].
5610	(TH): Call PD with no argument, instead of setting register PD
5611	directly.
5612
5613Sun Jan  6 11:18:39 1991  James Clark  (jjc at jclark)
5614
5615	* Version 1.00 released.
5616
5617Sat Jan  5 08:44:30 1991  James Clark  (jjc at jclark)
5618
5619	* ps/tmac.ps, xditview/tmac.X: Add font translation of C to CR.
5620
5621	* dvi/devdvi/DESC: Mount CW instead of CR.
5622
5623	* dvi/tmac.dvi: Add definition of \(tm.
5624
5625	* dvi/devdvi/texsy.map: Add lh, and rh.
5626	* dvi/devdvi/texex.map: Add lt, rt, lb, rb, lk, rk.
5627	* dvi/devdvi/texmi.map: Add *o. Regenerate fonts.
5628
5629	* dvi/devdvi/FontMakefile: Generate H from cmss10.
5630	* dvi/devdvi/Makefile: Install H.
5631	* dvi/devdvi/H: New file.
5632
5633Fri Jan  4 15:04:57 1991  James Clark  (jjc at jclark)
5634
5635	* troff/env.c (vertical_spacing): Don't allow vertical spacing to
5636	be 0.
5637
5638Thu Jan  3 13:41:19 1991  James Clark  (jjc at jclark)
5639
5640	* macros/tmac.s (@EN): Add \n(.V to the argument to ds@need.
5641
5642	* macros/tmac.pic (PS): Avoid attempting to set negative indent.
5643
5644	* macros/tmac.s (@EN): Handle the case where the equation is empty
5645	but the label is not.
5646
5647Wed Jan  2 10:31:44 1991  James Clark  (jjc at jclark)
5648
5649	* troff/groff.h: New warning category WARN_SPACE.
5650	* troff/input.c: Add WARN_SPACE to DEFAULT_WARNING_MASK. Add
5651	WARN_SPACE to warning_table.
5652	(interpolate_macro): Give a warning of type WARN_SPACE if the name
5653	is longer than two characters and is not defined, but the first
5654	two characters do make a defined name.
5655
5656	* PROBLEMS: New file.
5657
5658	* CHANGES: New file.
5659	* README-0.6, README-1.00: Deleted.
5660
5661	* groff.c, groff.sh: Add X75-12 and X100-12 devices.
5662	* xditview/devX75/Makefile: Make devX75-12.
5663	* xditview/devX100/Makefile: Make devX100-12.
5664
5665	* xditview/devX100/eqnchar, xditview/devX75/eqnchar,
5666	dvi/devdvi/eqnchar, ps/devps/eqnchar: Remove use of \R.
5667
5668Tue Jan  1 19:24:01 1991  James Clark  (jjc at jclark)
5669
5670	* README-0.7: Rename to README-1.00.
5671
5672	* macros/tmac.pic: New file.
5673	* macros/Makefile (install.nobin): Install tmac.pic.
5674
5675Mon Dec 31 10:40:53 1990  James Clark  (jjc at jclark)
5676
5677	* troff/env.c (hyphen_word): Correct the test for whether the
5678	token is a hyphen.  Reset npos to 0.
5679
5680	* macros/tmac.s (par@sup-start, par@sup-end): New implementations.
5681
5682Sun Dec 30 15:53:13 1990  James Clark  (jjc at jclark)
5683
5684	* macros/tmac.s (ds*common-end): Call par*reset.
5685	(PE): Likewise.
5686	(par@reset-indent): Deleted.
5687
5688	* macros/tmac.s (@IP): Divert the label.
5689
5690Sat Dec 29 14:33:32 1990  James Clark  (jjc at jclark)
5691
5692	* xditview/draw.c (setGC): Use a line width of .1m rather than
5693	.04m by default; round rather than truncate value.
5694
5695	* tbl/table.c (class empty_entry): New class.
5696	(empty_entry::empty_entry, empty_entry::line_type): New functions.
5697	(table::add_entry): Represent empty entries by objects of type
5698	empty_entry.
5699	(table_entry::line_type): Return -1.
5700	(table::determine_row_type): Ignore entries with line_type 0.
5701	Treat type -1 as non-lines.
5702
5703Fri Dec 28 15:04:41 1990  James Clark  (jjc at jclark)
5704
5705	* ps/devps/textmap, xditview/libXdvi/DviChar.c, tty/devlatin1/R.proto,
5706	macros/tmac.s: Rename \(-d to \(Sd.
5707
5708Thu Dec 27 12:35:47 1990  James Clark  (jjc at jclark)
5709
5710	* ps/devps/textmap: Add `sd', `/_' and `3d' characters.
5711	* xditview/libXdvi/DviChar.c: Likewise.
5712	* dvi/devdvi/texsy.map: Add `<<', `>>'.
5713
5714Wed Dec 26 13:33:23 1990  James Clark  (jjc at jclark)
5715
5716	* troff/div.c (top_level_diversion::begin_page): Call
5717	init_output() if the_output is 0.
5718
5719Sat Dec 22 12:35:29 1990  James Clark  (jjc at jclark)
5720
5721	* troff/input.c: Replace ESCAPE_E by ESCAPE_e and ESCAPE_C by
5722	ESCAPE_c.
5723	(get_copy): Turn \E into ESCAPE_E.
5724	(token::process, asciify): Handle ESCAPE_E.
5725
5726	* macros/tmac.s (ds*common-end, par@reset): Add `.rj 0'.
5727	(RD): New macro.
5728	(DS): Implement `.DS R'.
5729
5730Fri Dec 21 11:41:53 1990  James Clark  (jjc at jclark)
5731
5732	* macros/tmac.s (FS): New macro.
5733
5734	* macros/tmac.s (fn@do-FS): Use @LP instead of LP.
5735
5736	* macros/tmac.s (cov*tl-init): Remove after first execution
5737	instead of aliasing to @nop.  Call top of page macro explicitly
5738	instead of setting trap; call @init first.  Set pg@top as top of
5739	page macro.
5740	(cov*auto-init): Deleted.  Set cov*tl-init instead of
5741	cov*auto-init as top of page trap. 
5742	(TL, LP): Do a break instead of calling cov*tl-init.
5743	(cov*print): With RP format but no TL, alias FS and FE to @FS and
5744	@FE; in this case also give a warning and always start another
5745	page. No need to set pg@top here.
5746	(cov*tl-init): Rename to cov*first-page-init.
5747
5748	* macros/tmac.s (RP): Do `.pn 0'.
5749	(cov*tl-init): With RP format don't do `.pn 0'.
5750
5751	* macros/tmac.s (pg@cs-top): Set no space mode.
5752
5753	* macros/tmac.s (par@TL, par@AU, par@AI): New macros.
5754	(cov*ab-init): Alias TL, AU and AI to these.
5755
5756Thu Dec 20 10:10:50 1990  James Clark  (jjc at jclark)
5757
5758	* macros/tmac.s (@EQ): Move the space before the equation into @EN
5759	(@EN): Do nothing unless \n[dl] is > 0.
5760
5761Tue Dec 18 12:20:47 1990  James Clark  (jjc at jclark)
5762
5763	* pic/object.c (ellipse_object::radius): New function.
5764
5765	* VERSION: Change version to 0.7.
5766
5767	* tbl/table.c (block_entry::do_divert): Declare return type as
5768	void.
5769	(block_entry::divert, alphabetic_block_entry::divert): Return 1.
5770
5771Mon Dec 17 12:30:34 1990  James Clark  (jjc at jclark)
5772
5773	* troff/column.c: New file.
5774	* troff/Makefile: Corresponding changes.
5775
5776	* troff/hvunits.c (scale(vunits, vunits, vunits)):  New function.
5777	Friend of vunits.
5778
5779	* troff/div.c (top_level_diversion::space): If the space causes
5780	the first-page transition and springs a trap, truncate the space
5781	to 0.
5782
5783Fri Dec 14 12:30:02 1990  James Clark  (jjc at jclark)
5784
5785	* ps/ps.c (ps_printer::do_import): Add a `clear' after including
5786	the document.
5787
5788	* pic/troff.c (troff_output::line_thickness,
5789	troff_output::set_fill): Do a horizontal motion to compensate for
5790	the width of the \D escape sequence.
5791
5792Thu Dec 13 10:17:14 1990  James Clark  (jjc at jclark)
5793
5794	* xditview/tmac.X: Reinstate definition of \(rn, but only for X100
5795	(not X75).
5796
5797	* eqn/sqrt.c (sqrt_box::compute_metrics):  Supply missing argument
5798	to printf.
5799
5800	* tbl/table.c (simple_entry::simply_print): Don't declare as pure.
5801	Supply empty definition.
5802	(text_entry::simple_print, simple_text_entry::simple_print):
5803	Delete declarations.
5804	(table::add_entry): Represent empty entries by objects of type
5805	`simple_entry'.
5806
5807Wed Dec 12 08:50:48 1990  James Clark  (jjc at jclark)
5808
5809	* troff/Makefile: Remove -DHYPHEN_CONTROL from DEFINES.
5810
5811	* tbl/table.c (left_text_entry::add_tab): New function.
5812
5813	* macros/tmac.s: Make @RT an alias for par@reset.  Make RT
5814	initialize like LP.
5815
5816Mon Dec 10 11:19:55 1990  James Clark  (jjc at jclark)
5817
5818	* troff/env.c (environment::start_field): Give an error message if
5819	there is no next tab.
5820
5821Sun Dec  9 11:46:40 1990  James Clark  (jjc at jclark)
5822
5823	* troff/env.c (hyphenate): Skip initial elements with zero
5824	hyphenation code.
5825
5826	* macros/tmac.s (par@init): Keep VS in points rather than units.
5827
5828Sat Dec  8 23:00:27 1990  James Clark  (jjc at jclark)
5829
5830	* pic/main.c (main): Implement `-c' option.
5831	* pic/output.h: Declare make_tpic_output().
5832	* pic/tex.c (tex_output::set_pen_size): Make it virtual and
5833	protected.
5834	(tpic_output): New class.
5835	(tpic_output::tpic_output, tpic_output::set_pen_size,
5836	tpic_output::command, make_tpic_output): New functions.
5837
5838Fri Dec  7 11:57:41 1990  James Clark  (jjc at jclark)
5839
5840	* tbl/main.c (main): Call `.ab' if \n(.g is false.  Define TS/TE
5841	if they're not already defined.
5842	* tbl/table.c (init_output): Don't test \n(.g.
5843
5844	* troff/input.c (do_if_request): Delete `g' condition. Recognize
5845	`d', `r' and `c' conditions even in compatibility mode.
5846
5847Tue Dec  4 09:13:47 1990  James Clark  (jjc at jclark)
5848
5849	* ps/tmac.ps (ps-bb): Protect against negative numbers in bounding
5850	box.
5851
5852Mon Dec  3 07:18:26 1990  James Clark  (jjc at jclark)
5853
5854	* troff/env.h (environment::prev_line_interrupted): New member.
5855	(environment::get_prev_line_interrupted): New function.
5856	* troff/env.c (environment::newline): Set prev_line_interrupted.
5857	(environment::environment(const environment *),
5858	environment::environment(symbol)): Initialize
5859	prev_line_interrupted.
5860	* troff/input.c (process_input_stack): Don't give special
5861	treatment to space and newline at the beginning of the line if the
5862	previous line was interrupted.
5863
5864Sat Dec  1 15:48:37 1990  James Clark  (jjc at jclark)
5865
5866	* eqn/eqn.y: Disallow PRIME by itself.
5867	* eqn/lex.c (token_table): Bind `opprime' instead of `prime' to
5868	PRIME.
5869	(def_table): Remove definition of '.  Define prime to be `.
5870
5871	* eqn/eqn.y: Split off part of rule `script' into a new rule
5872	`nonsup'.
5873
5874Fri Nov 30 10:23:44 1990  James Clark  (jjc at jclark)
5875
5876	* macros/tmac.s ({, }): New string aliases.
5877
5878Thu Nov 29 11:34:40 1990  James Clark  (jjc at jclark)
5879
5880	* README-0.7: New file.
5881
5882Wed Nov 28 10:09:57 1990  James Clark  (jjc at jclark)
5883
5884	* macros/tmac.s: New file.
5885	* man/groff_ms.man: New file.
5886	* Makefile: Add definition of TMAC_S. Pass TMAC_S in SUBFLAGS.
5887	* Makefile.bd: Similarily.
5888	* man/Makefile: Add groff_ms.n to MAN7PAGES. Replace @TMAC_S@. Add
5889	definition of TMAC_S.
5890	* macros/Makefile: Add definition of TMAC_S. Install tmac.s.
5891	* macros/TODO: New file.
5892
5893Sat Nov 24 20:04:54 1990  James Clark  (jjc at jclark)
5894
5895	* troff/env.c (right_justify): New function.
5896	(init_env_requests): Bind this to request "rj".
5897	(center_lines): Set right_justify_lines to 0. If we get a bad
5898	integer, center 1 line.
5899	(environment::environment(symbol), environment::environment(const
5900	environment *)): Initialize right_justify_lines.
5901	(environment::get_right_justify_lines): New function.
5902	(init_env_requests): Bind this to number_register ".rj".
5903
5904	* troff/env.c (environment::choose_breakpoint): Implement
5905	hyphenation_margin and hyphenation_space.
5906	(environment::get_hyphenation_space,
5907	environment::get_hyphenation_margin): New functions.
5908	(init_env_requests): Bind these to .hys and .hym.
5909	(hyphenation_space_request, hyphenation_margin_request): New
5910	functions
5911	(init_env_requests): Bind these to hys and hym.
5912	(environment::environment(symbol), environment::environment(const
5913	environment *)): Initialize hyphenation_margin and
5914	hyphenation_space.
5915	* troff/env.h: Corresponding changes to class environment.
5916
5917Fri Nov 23 09:08:16 1990  James Clark  (jjc at jclark)
5918
5919	* troff/div.c (blank_line): Always do a break.
5920
5921	* eqn/box.c (do_text): Turn off escapes while appending text to
5922	string.
5923
5924Thu Nov 22 10:58:59 1990  James Clark  (jjc at jclark)
5925
5926	* troff/input.c (while_break_request, while_continue_request): New
5927	functions.
5928	(init_input_requests): Bind these to "break" and "continue".
5929	(while_depth, while_break_flag): New variables.
5930	(while_request): Update while_depth.  Break out of loop if
5931	while_break_flag is set.
5932
5933Wed Nov 21 10:54:40 1990  James Clark  (jjc at jclark)
5934
5935	* tbl/table.c (init_span_reg): Initialize span_width_reg to \n(.H
5936	rather than 0.
5937
5938Mon Nov 19 00:45:03 1990  James Clark  (jjc at jclark)
5939
5940	* Makefile: Include -DBROKEN_SPOOLER by default.  Expand comment.
5941
5942	* stringify: New file.
5943	* Makefile (groff.o): Use stringify.
5944
5945	* xditview/tmac.X: Remove definition of \(rn.
5946	* xditview/libXdvi/DviChar.c: Remove radicalex from
5947	Adobe_symbol_map.
5948
5949Sat Nov 17 10:44:58 1990  James Clark  (jjc at jclark)
5950
5951	* tbl/table.c (table::add_entry): Allow alphabetic text blocks.
5952	(alphabetic_block_entry::alphabetic_block_entry,
5953	alphabetic_block_entry::divert, alphabetic_block_entry::print):
5954	New functions.
5955	(block_entry::divert): Split off body into ...
5956	(block_entry::do_divert): If the block is alphabetic, subtract 2n
5957	from the line length; also update the span width to dl+2n, and the
5958	alphabetic span width to dl.
5959
5960	* driver/input.c (do_file):  While reading argument to D command,
5961	when expanding buffer, multiply szp by sizeof(int) rather than 2
5962	in the argument to memcpy.
5963
5964	* tbl/table.c (compute_span_width): Add 2n rather than 1n to the
5965	width of alphabetic columns.
5966
5967Fri Nov 16 06:34:27 1990  James Clark  (jjc at jclark)
5968
5969	* troff/node.c (lookup_family): Supply second argument to lookup.
5970
5971	* troff/dictionary.c (dictionary::lookup): After an unsuccesful
5972	search, return immediately if v is 0.
5973
5974	* pic/troff.c: Define EQN_NO_EXTRA_SPACE_REG.
5975	(troff_output::start_picture): Set this reg.
5976	(troff_output::end_picture): Remove this reg
5977	* eqn/box.c (box::extra_space): Don't produce `\x's if
5978	EQN_NO_EXTRA_SPACE_REG is defined.
5979
5980	* eqn/eqn.y: Allow just a PRIME to be a `simple'.
5981	* eqn/text.c (split_text): Map ' to \(fm when it's the first
5982	character.
5983
5984Thu Nov 15 10:35:06 1990  James Clark  (jjc at jclark)
5985
5986	* macros/tmac.e: Use font 3 instead of B in $c. Remove `bd'
5987	requests.
5988
5989	* troff/div.c (top_level_diversion::top_level_diversion):
5990	Initialize page_number to 0.
5991
5992Wed Nov 14 21:41:58 1990  James Clark  (jjc at jclark)
5993
5994	* groff/troff (environment::environment(const environment *)):
5995	Initialize name to e->name, rather than "anonymous".
5996
5997Sat Nov 10 01:59:37 1990  James Clark  (jjc at jclark)
5998
5999	* xditview/libXdvi/Dvi.c (ShowDvi): If eof is encountered, reset
6000	requested_page.  Split middle part into ...
6001	(FindPage): New function.
6002	(SetValues): If we don't yet know the last page, and the requested
6003	page is greater than the current page, call FindPage.
6004	Update the font_map_string before doing this.
6005
6006	* xditview/tmac.X: Add definitions of \(sq, \(ga, \(dg and \(dd.
6007	Translate \(lh and \(rh into left and right double arrows.
6008
6009	* troff/node.c (class hyphen_inhibitor_node): New class.
6010	(hyphen_inhibitor_node::hyphen_inhibitor_node,
6011	hyphen_inhibitor_node::copy, hyphen_inhibitor_node::same,
6012	hyphen_inhibitor_node::type,
6013	hyphen_inhibitor_node::get_hyphenation_type): New functions.
6014	(node::add_discretionary_hyphen): Use hyphen_inhibitor_node rather
6015	than dbreak_node(0, 0) to represent a `\%' at the beginning of a
6016	word.
6017
6018Fri Nov  9 16:05:38 1990  James Clark  (jjc at jclark)
6019
6020	* troff/node.h (dummy_node::get_hyphenation_type,
6021	transparent_dummy_node::get_hyphenation_type):  Declare them.
6022	* troff/node.c: (dummy_node::get_hyphenation_type,
6023	transparent_dummy_node::get_hyphenation_type): New functions.
6024
6025Wed Nov  7 10:09:06 1990  James Clark  (jjc at jclark)
6026
6027	* xditview/libXdvi/draw.c: If M_PI not defined after including
6028	math.h, then define it.
6029
6030	* xditview/Makefile: Add definition of AR. Pass it to the submake
6031	in libXdvi.
6032	* xditview/libXdvi/Makefile: Add definitions of AR and RANLIB.
6033
6034Tue Nov  6 10:14:27 1990  James Clark  (jjc at jclark)
6035
6036	* troff/dictionary.h (object_dictionary::alias): Declare return
6037	value as int.
6038	* troff/dictionary.c (object_dictionary::alias): Return non-zero
6039	if the old name was defined.
6040	* troff/input.c (alias_macro): Give a warning if the old name was
6041	not defined.
6042	* troff/reg.c (alias_reg): Likewise.
6043
6044Mon Nov  5 00:31:39 1990  James Clark  (jjc at jclark)
6045
6046	* troff/input.c (token::next): Delete implementation of \R.
6047
6048	* macros/Makefile: Strip comments from tmac.e while installing it.
6049
6050	* troff/input.c: New variable `nroff_mode'.
6051	(troff_request, nroff_request): New functions.
6052	(init_input_requests): Bind `troff' and `nroff' to troff_request
6053	and nroff_request.
6054	(do_if_request): Compute results of t and n conditions from
6055	nroff_mode.
6056
6057	* text/text.c (split_text): Fix typo in >=.
6058
6059	* eqn/lex.c: Add definition of `==' to def_table.
6060
6061Fri Nov  2 02:49:09 1990  James Clark  (jjc at jclark)
6062
6063	* pic/tex.c (tex_output::start_picture): Change the definitions of
6064	\graph and \graphtemp so that they work properly with Plain TeX.
6065
6066	* pic/tex.c (tex_output::solid_arc): Ensure that the second angle
6067	argument to `ar' is not less than the first.
6068
6069	* pic/pic.y: Allow a comma between elements of the variable list
6070	in the argument to `reset'.
6071
6072	* pic/object.c (arc_object::arc_object): Fix computation of
6073	radius.
6074
6075	* eqn/main.c (main): Add exit(0).
6076
6077Thu Nov  1 02:03:50 1990  James Clark  (jjc at jclark)
6078
6079	* troff/div.c (begin_page): Test no_space_mode after doing the
6080	break, but still push the page ejector cookie before doing the
6081	break.  Also set the next page number after doing the break.
6082	
6083	* xditview/xditview.c (NewFile): Don't set the title and icon name
6084	if this is the first file and its name is `-'.
6085	* groff/groff.c: Define a new device flag XT_OPTION.  Set it for
6086	the X75 and X100 devices.
6087	(main): If a device has the XT_OPTION flag set and there's exactly
6088	one file argument, pass the driver -xrm and -title options to set
6089	the icon name and window title to the name of the file.
6090
6091	* troff/env.c (environment_switch): If there was an argument but
6092	it wasn't a valid number or name, then pop an environment but
6093	don't give an error message on underflow.
6094
6095	* troff/number.c (start_number): Correct spelling in error message.
6096
6097	* troff/input.c (token::delimiter): Don't print an error message
6098	if err is false.
6099
6100	* xditview/libXdvi/parse.c (ParseInput): In case 'D', only call
6101	ParseDrawFunction if dw->display_enable is true.
6102
6103Wed Oct 31 05:49:50 1990  James Clark  (jjc at jclark)
6104
6105	* pic/pic.y: Parse text positioning like normal attributes, so as
6106	to allow `"text" at 0,0 ljust'.  Don't allow `center' as a
6107	positioning attribute.
6108
6109Mon Oct 29 22:50:38 1990  James Clark  (jjc at jclark)
6110
6111	* tbl/main.c (process_data): When in state START while reading a
6112	text block, don't change to state MIDDLE if c is a newline.
6113
6114Sun Oct 28 21:59:56 1990  James Clark  (jjc at jclark)
6115
6116	* dvi/dvi.c (dvi_printer::begin_page): Rename `i' variable to `j'
6117	so as to avoid shadowing parameter.
6118
6119Wed Oct 24 18:35:39 1990  James Clark  (jjc at jclark)
6120
6121	* tbl/table.c (trim_space): Deleted.
6122	(table::add_entry): Don't call trim_space.
6123
6124Mon Oct 22 03:48:39 1990  James Clark  (jjc at jclark)
6125
6126	* VERSION: Change version to 0.6.
6127
6128	* troff/number.c (parse_expr): Make == work.
6129
6130Sat Oct 20 11:28:17 1990  James Clark  (jjc at jclark)
6131
6132	* man/grog.man: New file.
6133	* man/Makefile: Add grog.n to MAN1PAGES.
6134	* etc/grog.sh: New file.
6135	* etc/Makefile: Install grog.sh as grog.
6136
6137Fri Oct 19 11:17:15 1990  James Clark  (jjc at jclark)
6138
6139	* troff/input.c (token::next): Implement \E.
6140
6141Thu Oct 18 11:56:24 1990  James Clark  (jjc at jclark)
6142
6143	* xditview/tmac.X: Change font translations to match tmac.ps.
6144
6145	* troff/input.c (non_empty_name_warning): Don't give a warning if
6146	`\{' terminates the name.
6147
6148Tue Oct 16 10:04:23 1990  James Clark  (jjc at jclark)
6149
6150	* ps/devps/symbol.diff: New file.
6151	* ps/devps/FontMakefile: Mention symbol.diff.
6152
6153Sun Oct 14 11:46:46 1990  James Clark  (jjc at jclark)
6154
6155	* troff/node.c (font_position): Use get_long_name to read the
6156	external_name.
6157
6158	* troff/env.c (environment_switch): If we get a number that's < 0
6159	or >= NENVIRONMENTS, treat it like a name.
6160	Change NENVIRONMENTS to 10.
6161
6162	* troff/groff.h: Remove definition of FONTS_MAX.
6163	* troff/node.h (class font_family): Make map a pointer instead of
6164	an array. Add a map_size member. Make it a class. Make nm const
6165	and public. Make invalidate_fontno a friend.
6166	* troff/node.c: Define font_table_size. Make font_info a pointer
6167	rather than an array.
6168	(class troff_output_file): Allocate font_position dynamically. Add
6169	nfont_positions member.
6170	(troff_output_file::set_font): Grow font_position if necessary.
6171	(troff_output_file::~troff_output_file): Delete font_position.
6172	(troff_output_file::troff_output_file): Allocate font_position.
6173	(grow_font_table): New function.
6174	(troff_output_file::really_begin_page,
6175	troff_output_file:really_copy_page): Use nfont_positions rather
6176	than FONTS_MAX.
6177	(mount_font_no_translate, mount_style): Call grow_font_table if
6178	necessary.
6179	(font_family::font_family): Allocate map.
6180	(font_family::make_definite): Grow map if necessary. Use
6181	font_table_size instead of FONTS_MAX.
6182	(font_family::~font_family): New function.
6183	(invalidate_fontno): Use font_family::map_size.
6184	(get_fontno, env_space_width, env_half_narrow_space_width,
6185	env_narrow_space_width, symbol_fotno, is_good_fontno,
6186	get_bold_fontno, make_glyph_node): Use font_table_size rather than
6187	FONTS_MAX.
6188	(next_available_font_position): Never return 0.
6189
6190Fri Oct 12 10:17:52 1990  James Clark  (jjc at jclark)
6191
6192	* ps/tmac.ps: Add font translations for compatibility with dpost.
6193
6194Thu Oct 11 12:09:03 1990  James Clark  (jjc at jclark)
6195
6196	* eqn/pile.c: Rename default_baseline_sep to baseline_sep.
6197	Move BASELINE_SEP_FORMAT and COLUMN_WIDTH_FORMAT into pbox.h.
6198	Move definitions baseline_sep, shift_down, column_sep,
6199	matrix_side_sep into...
6200	* eqn/box.c: Add them to param_table.
6201	* eqn/pbox.h: Add declarations to pbox.h.
6202
6203	* troff/input.c (set_string): Cast value to unsigned char *.
6204
6205	* troff/token.h (process_input_stack): Declare it static before
6206	declaring it a friend.
6207
6208Wed Oct 10 09:59:13 1990  James Clark  (jjc at jclark)
6209
6210	* dvi/devdvi/texex.map: Fix positions of extensible brace middle
6211	and bottom.
6212	* dvi/devdvi/EX: Regenerate.
6213
6214	* troff/input.c (init_charset_table): Make ", ', ), ], *, \(dg
6215	transparent.
6216
6217Tue Oct  9 08:34:02 1990  James Clark  (jjc at jclark)
6218
6219	* eqn/lex.c: In defaults_table, make definition of `dot' call
6220	`dot_def'.  Don't explicitly make it roman.  Similarily for other
6221	accents.
6222
6223	* pic/lex.c (for_input::for_input): Add by_is_multiplicative
6224	argument.
6225	(for_input::get, for_input::peek): Use this.
6226	(do_for): Add by_is_multiplicative argument.
6227	* pic/pic.y: Change optional_by clause to allow '*' after `by'.
6228	Change semantic value of optional_by to be a double plus a flag
6229	saying whethet the by clause is multiplicative.
6230
6231	* eqn/lex.c (get_delimited_text): Remember location of start of
6232	definition.  Improve error handling when EOF is encountered.
6233
6234	* lib/font.h: Rename handle_x_command to
6235	handle_unknown_font_command.
6236	* lib/font.c (font::load): Call handle_unknown_font_command for
6237	any unknown command in the font description file.  Don't call
6238	handle_x_command. Include the name of the command in the argv.
6239	Improve message for unknown command after kernpairs or charset
6240	command.
6241	* ps/ps.c (ps_font::handle_x_command): Rename to
6242	handle_unknown_font_command.  Remove message about `x download'
6243	command.  Give error message for wrong number of arguments.
6244	* ps/devps/afmtodit: Generate `encoding' instead of `x encoding'.
6245	* dvi/dvi.c (dvi_font::handle_x_command): Rename to
6246	handle_unknown_font_command. Give an error message for wrong
6247	number of arguments.  Rename design_size to designsize.
6248	* dvi/tfmtodit.c (main): Generate `checksum' instead of `x
6249	checksum', `designsize' instead of `design_size'.
6250
6251Mon Oct  8 00:38:55 1990  James Clark  (jjc at jclark)
6252
6253	* eqn/*.[chy]: Change underaccent to uaccent.
6254
6255	* eqn/eqn.y: Add rule for underaccent.  Declare UNDERACCENT token;
6256	give it the same precedence as ACCENT.
6257	* eqn/other.c (make_underaccent_box): New function.
6258	* eqn/box.h: Declare it.
6259	* eqn/lex.c: Add UNDERACCENT to token_table. Add utilde to
6260	def_table.
6261
6262Sun Oct  7 11:25:16 1990  James Clark  (jjc at jclark)
6263
6264	* pic/pic.y (reset_all): New function. Called in rule for RESET.
6265	(parse_init): Call reset_all.
6266	(define_variable): When defining scale reset only those
6267	pre-defined variables that are scaled.
6268	(defaults_table): Add `scale' as non-scaled value.
6269
6270	* pic/pic.y: Redo parsing of text adjustments: parse adjustments
6271	together with the text; allow any number of positioning words;
6272	allow center as a positioning word.
6273
6274	* pic/object.c (output::compute_scale): Get picture maximum height
6275	and width from variables called maxpswid and maxpsht.
6276	* pic/pic.y: Add maxpswid and maxpsht to defaults_table.
6277
6278Sat Oct  6 10:16:56 1990  James Clark  (jjc at jclark)
6279
6280	* pic/object.c (object_spec::make_text): Multiply textht by number
6281	of text items.
6282
6283	* pic/pic.y: Allow `sprintf("string", expr,...)' wherever text can
6284	occur.
6285	(do_sprintf): New function.
6286	(pic.gperf): Add sprintf token.
6287	(text, sprintf): New rules.
6288
6289	* pic/pic.y: `rand()' with no arguments returns a random number
6290	in the range [0,1).
6291
6292	* pic/pic.y: Allow a bare expression to be an attribute: change
6293	precedences to support this.  Change optional_ordinal rule to
6294	optional_ordinal_last to avoid reduce/reduce conflict.
6295	* pic/object.c (object_spec::object_spec): Initialize direction.
6296
6297	* pic/pic.y: Implement ^ operator meaning exponentiation.
6298
6299	* troff/node.h: Add default argument to mount_font.
6300	* troff/node.c (font_position): Read an optional third argument
6301	giving the external_name.
6302	(mount_font): Add optional argument giving the external_name.
6303	(mount_font_not_translate): Have additional argument giving
6304	external name.  Use this name to load the font.  Pass both names
6305	to font_info::font_info.
6306	(font_info::font_info): Have additional argument giving
6307	external_name.
6308	(class tfont): New member external_name.
6309	(font_info::get_tfont): Use external name to construct tfont_spec.
6310
6311Fri Oct  5 04:03:13 1990  James Clark  (jjc at jclark)
6312
6313	* eqn/lex.c (init_table): Add argument giving device.  Define
6314	name of device to be "1".
6315	(do_ifdef): Counts as true if the argument has been defined with
6316	`define'.
6317	* eqn/main.c (main): Call init_table with device argument. Make
6318	device local to main.
6319	* eqn/eqn.h: Change declaration of init_table. Remove declaration
6320	of device.
6321
6322	* pic/lex.c (get_delimited): Allow text to be delimited by
6323	matching {}s.  Don't recognize ending delimiter within a string.
6324
6325	* troff/input.c (get_delim_name): New function.
6326	(token::next): Implement \C.
6327
6328	* lib/font.c (font::load): Grok ---.  Add an alias for each
6329	character based on its code.
6330	(font::get_code_width): Deleted.
6331	* lib/font.h (class font): Declare font::number_to_index().
6332	Remove declaration of font::get_code_width.
6333	* lib/nametoindex.c (font::name_to_index): Add 512 rather than 256
6334	to indices of named characters.
6335	(font::number_to_index): New function.
6336	* troff/input.c (font::number_to_index): New function.
6337	(get_charinfo_by_number, charinfo::get_number,
6338	charinfo::set_number): New functions.
6339	(token::next): Turn \N into a TOKEN_NUMBERED_CHAR.
6340	(token::process, token::description, token::get_char,
6341	token::add_to_node_list, token::operator==): Handle
6342	TOKEN_NUMBERED_CHAR.
6343	* troff/charinfo.h: Declare get_charinfo_by_number,
6344	charinfo::get_number, charinfo::set_number.  Add NUMBERED flag to
6345	charinfo class.
6346	(charinfo::numbered): New function.
6347	* troff/token.h: Add TOKEN_NUMBERED_CHAR.
6348	* troff/env.h (class environment): Remove declaration of ...
6349	* troff/env.c (environment::make_numbered_char_node): Deleted.
6350	* troff/node.c (make_numbered_node): Deleted.
6351	(class numbered_glyph_node): Remove.
6352	(troff_output_file::put_char_width, troff_output_file::put_char):
6353	Handle numbered chars.
6354	(troff_output_file::numbered_char): Removed.
6355	(tfont::get_code_width): Removed.
6356	(make_glyph_node): Don't search special fonts for numbered
6357	characters.
6358	* troff/node.h: Remove declaration of make_numbered_node.
6359	* driver/input.c (do_file): Handle N command.
6360	* driver/printer.h: Add declaration of ...
6361	* driver/printer.c (printer::set_numbered_char): New function.
6362	* dvi/tfmtodit.c (main): Generate unnamed entries.
6363	* ps/devps/afmtodit: Likewise.
6364	* xditview/xtotroff.c (MapFont): Likewise.
6365	* xditview/libXdvi/parse.c (ParseInput): Grok N command.
6366
6367	* tbl/main.c (process_format): If multiple widths are specified
6368	for a column but all the widths are the same, don't give an error
6369	message.
6370
6371	* tbl/table.c (table::do_row): If the current row is all lines and
6372	the stuff doesn't contains a line, mark the top of the row after
6373	printing stuff before the row.  If the current row is not all
6374	lines and the stuff doesn't contain a line, don't unnecessarily
6375	mark the top of the row before printing the stuff.
6376	
6377Mon Oct  1 11:42:00 1990  James Clark  (jjc at jclark)
6378
6379	* troff/groff.h: Remove MAX_PATH.
6380	* troff/input.c (open_file): Dynamically allocate space for the
6381	path.
6382	(open_mac_file, process_macro_file): Corresponding changes.
6383
6384Sun Sep 23 18:56:26 1990  James Clark  (jjc at jclark)
6385
6386	* troff/node.h (class output_file): Make copy_file pure.  Add
6387	vspace method ifdef COLUMN. Add is_printing method.
6388	* troff/node.c: Add class printing_reg. Add class
6389	real_output_file. Derive other output_file classes from
6390	real_output_file; in these classes rename begin_page to
6391	really_begin_page, print_line to really_print_line, copy_file to
6392	really_copy_file, transparent_char to really_transparent_char.
6393	Move output_file::flush to real_output_file. Add printing member
6394	to class output_file.
6395	* troff/div.h: Remove printing member from top_level_diversion.
6396	Add vspace member function to class diversion ifdef COLUMN. Add
6397	some declarations ifdef COLUMN.
6398	* troff/div.c (top_level_diversion::copy_file,
6399	top_level_diversion::transparent_output,
6400	top_level_diversion::output): Don't test printing member before
6401	output.
6402	* troff/input.c: Handle initial variable_space_request ifdef
6403	COLUMN.
6404	* troff/Makefile: Add column.c but comment it out. Add -DCOLUMN
6405	but comment it out.
6406
6407Sat Sep 22 11:32:22 1990  James Clark  (jjc at jclark)
6408
6409	* troff/div.c (diversion::need): Make any space forced.  If we
6410	sprung a trap, set truncated_space to minus the distance to the
6411	trap and set needed_space to the amount that was needed.
6412	(top_level_diversion::space): A forced space turns no_space_mode
6413	off.
6414	(class constant_vunits_reg): New class.
6415	(init_div_requests): Implement number registers .trunc and .ne
6416	using constant_vunits_reg.
6417	(class truncated_space_reg): Deleted.	
6418
6419	* troff/div.h: Don't have a no_space_mode member in diversion.
6420	Instead have it in top_level_diversion.
6421	* troff/div.c (diversion::diversion): Don't initialize
6422	no_space_mode.
6423	(top_level_diversion::top_level_diversion): Initialize
6424	no_space_mode.
6425	(no_space, restore_spacing): Do nothing if curdiv != topdiv.
6426	(macro_diversion::output): Don't clear no_space_mode.
6427
6428	* troff/input.c (diverted_space_node::reread): Don't call
6429	environment::do_break.  In fill mode, act like a blank line.
6430	(diverted_copy_file_node::reread): Don't call
6431	environment::do_break.
6432
6433	* troff/div.c (blank_line): New function.
6434	* troff/div.h: Declare it.
6435	* troff/input.c (process_input_stack): Call it.
6436
6437	* troff/div.c (truncated_space_reg::get_string): New function.
6438	(init_div_requests): Bind to .trunc.
6439	(space_request, top_level_diversion::space,
6440	top_level_diversion::output, macro_diversion::space,
6441	macro_diversion::output): Update truncated_space.
6442	(macro_diversion::output): Redo calculations when trap sprung.
6443	(macro_diversion::output, macro_diversion::space): No need for
6444	trap_flag.
6445
6446	* troff/div.c (top_level_diversion::output): Set nl_reg_contents
6447	after truncating post line spacing.
6448
6449Fri Sep 21 11:27:25 1990  James Clark  (jjc at jclark)
6450
6451	* ps/devps/prologue (MF, SF): Make them work even if setfont is
6452	defined as a procedure rather than as an operator.
6453
6454Thu Sep 20 12:55:05 1990  James Clark  (jjc at jclark)
6455
6456	* troff/div.c (macro_diversion::space): Ignore no_space_mode.
6457
6458Wed Sep 19 10:54:37 1990  James Clark  (jjc at jclark)
6459
6460	* troff/div.c (top_level_diversion::output): Merge
6461	output_file::print_line and output_file::end_of_line member
6462	functions.
6463	* troff/div.h (class output_file):
6464	* troff/node.c (troff_output_file::print_line,
6465	troff_output_file::end_of_line, output_file::end_of_line,
6466	ascii_output_file::print_line, suppress_output_file::print_line):
6467	Corresponding changes.	
6468
6469Tue Sep 18 11:31:47 1990  James Clark  (jjc at jclark)
6470
6471	* troff/input.c (token::next): Don't give a warning for `\.'.
6472
6473	* troff/env.c (environment::get_center_lines): New function.
6474	(init_env_requests): Bind number register .ce to it.
6475	* troff/env.h: Declare it.
6476	* tbl/table.c (table::init_output): Define reset macro to restore
6477	.ce.  If center option not given, store .ce in SAVED_CENTER_REG.
6478	Then do .ce 0.
6479	(table::print): If center option not given, then imply center
6480	option if SAVED_CENTER_REG > 0.
6481
6482Mon Sep 17 09:19:19 1990  James Clark  (jjc at jclark)
6483
6484	* ps/devps/Makefile: Remove T from FONTS. Remove TSymbol.ps and
6485	Troff.ps from DOWNLOAD.
6486	
6487	* troff/Makefile: Change comment in DEFINES to avoid confusing
6488	System V make.
6489
6490	* ps/ps.c (ps_printer::do_exec): Allow newlines within PostScript
6491	code.  Don't try to catch errors with stopped.
6492	(check_line_lengths): New function.
6493	* ps/devps/prologue (EXEC): Deleted.
6494	(EBEGIN, EEND): New procedures.
6495
6496Sun Sep 16 14:51:15 1990  James Clark  (jjc at jclark)
6497
6498	* troff/input.c: Include request.h before node.h.
6499	* troff/node.c: Likewise.
6500	* troff/env.c: Likewise.
6501	* troff/div.c: Likewise.
6502	* troff/node.h (class special_node): Store argument as a macro
6503	rather than a char *.
6504	* troff/node.c (special_node::special_node, special_node::copy):
6505	Grok this.
6506	(special_node::~special_node): Deleted.
6507	(special_node::tprint): Deleted.
6508	(special_node::tprint_start, special_node::tprint_end,
6509	special_node::tprint_char): New functions.
6510	(troff_output_file::special): Deleted.
6511	(troff_output_file::start_special, troff_output_file::end_special,
6512	troff_output_file::special_char): New functions.
6513	* troff/input.c (special_node::tprint): New function.
6514	(do_special): Use macro not char *.
6515	(do_transparent_macro): Deleted.
6516	(token::next): Don't call do_transparent_macro.
6517
6518	* troff/input.c (token::next): Add 'Y' case.
6519	(do_transparent_macro): New function.
6520	* troff/node.c (troff_output_file::special): Handle newlines with
6521	argument using new continuation convention.
6522	* driver/input.c (get_string): Cope with continuation convention.
6523	(do_file): Don't call skip_line after calling get_string(1).
6524	* ps/ps.c (ps_printer::special, ps_printer::do_import,
6525	ps_printer::do_def, ps_printer::do_exec): Cope with newlines in
6526	arg.
6527	* xditview/libXdvi/parse.c (ParseInput): Ignore lines starting
6528	with +.
6529
6530Sat Sep 15 19:00:10 1990  James Clark  (jjc at jclark)
6531
6532	* troff/input.c (asciify): By default, illegal input characters
6533	should return empty string.
6534
6535	* troff/input.c (copy_file): Handle first page transition like title.
6536	(token::next, process_input_stack): Grok COPY_FILE_REQUEST.
6537
6538	* troff/input.c (token::next): Improve error message for EOF after
6539	escape character.
6540	(input_char_description): New function.
6541	(get_char_for_escape_name): Use input_char_description.
6542	(token::next): Warn about unrecognized escape sequences.
6543	(warning_table): Add WARN_ESCAPE.
6544	* troff/groff.h: Declare WARN_ESCAPE. Change WARN_TOTAL
6545	accordingly.
6546
6547	* troff/token.h: Remove declaration of process_input_stack.
6548
6549	* troff/input.c: Remove declaration of init_hyphen_requests.
6550	* troff/request.h: Correct spelling in declaration of same.
6551
6552	* troff/input.c (token::next): Check whether escape_char is 0.
6553
6554Fri Sep 14 12:09:25 1990  James Clark  (jjc at jclark)
6555
6556	* groff.c (main, usage, help): Implement -P and -L options.
6557	* groff.sh: Likewise.
6558
6559	* troff/input.c (token::next): Use some gotos to avoid code
6560	duplication.
6561
6562	* troff/input.c (get_long_name, get_name, read_long_ecsape_name):
6563	Avoid calling symbol::symbol if name empty.
6564
6565Thu Sep 13 06:21:45 1990  James Clark  (jjc at jclark)
6566
6567	* troff/input.c (init_input_requests): Make \n(.x return the major
6568	version number and \n(.y return the minor version number.
6569	* troff/Makefile: Construct file majorminor.c defining
6570	major_version and minor_version automatically from ../VERSION.
6571
6572	* troff/node.c (class glyph_node): Make operator new and operator
6573	delete public.
6574	(class ligature_node): Similarily.
6575
6576	* troff/input.c (operator==(const macro &, const macro &)): New
6577	function.
6578	(non_interpreted_node::same): Use this.
6579	(string_iterator::string_iterator): Make macro& argument const.
6580
6581	* troff/input.c (input_iterator::get): New function. Don't make
6582	asciify_macro or class non_interpreted_node friends of class
6583	input_iterator.
6584	(non_interpreted_node::interpret): Use input_iterator::get.
6585	(asciify_macro): Likewise.
6586
6587	* troff/input.c (~token_node, ~string_iterator, ~arg_list,
6588	~non_interpreted_node): Deleted.
6589	* troff/node.c: (~suppress_output_file, ~ascii_output_file):
6590	Deleted.
6591
6592	* troff/symbol.h: Make all symbol member functions const.
6593
6594	* lib/strtol.c: New file.
6595	* lib/Makefile: Add strtol.c.
6596	* Makefile: Define STRTOL as strtol.o to include strtol in
6597	libgroff.a.
6598
6599Wed Sep 12 10:00:49 1990  James Clark  (jjc at jclark)
6600
6601	* pic/troff.c (troff_output::simple_circle): Divide by scale.
6602
6603Tue Sep 11 14:17:16 1990  James Clark  (jjc at jclark)
6604
6605	* troff/input.c (do_special): Use input_level.
6606
6607	* troff/token.h (TOKEN_BACKSPACE): New token.
6608	(token::backspace): New function.
6609	* troff/input.c (token::description, token::next, token::process):
6610	Grok TOKEN_BACKSPACE.
6611	(do_special): Turn TOKEN_BACKSPACE back into \b.
6612
6613	* troff/token.h (token::leader): New function.
6614	* troff/input.c (do_special): Turn TOKEN_LEADER back into \001.
6615
6616	* troff/input.c (do_special): Turn TOKEN_TAB back into \t.
6617
6618	* troff/input.c (do_special): Use token::description in error
6619	message.
6620
6621Mon Sep 10 11:06:27 1990  James Clark  (jjc at jclark)
6622
6623	* troff/input.c (decode_args): Combine quoted and
6624	quote_input_level variables. Make it a for (;;) loop.
6625
6626	* troff/input.c (get_char_for_escape_name): Check for \001 and \b.
6627
6628	* troff/input.c (read_long_escape_name): The test for whether to
6629	expand buffer was off by 1.
6630	(read_string): Similarily.
6631
6632Fri Sep  7 11:45:50 1990  James Clark  (jjc at jclark)
6633
6634	* troff/input.c: Use `const int' rather than `static const int'.
6635
6636	* troff/div.h (diversion::copy_file): Declare as pure virtual.
6637	(macro_diversion::copy_file): New function.
6638	* troff/node.h: New class diverted_copy_file_node.
6639	* troff/node.c: Implement it.
6640	* troff/input.c (copy_file): Use diversion::copy_file. Handle
6641	first page transition by pushing a diverted_copy_file_node.
6642	* troff/input.c (token::next, process_input_stack): Don't handle
6643	COPY_FILE_REQUEST.
6644
6645Thu Sep  6 13:29:10 1990  James Clark  (jjc at jclark)
6646
6647	* ps/ps.c (flush_sbuf): Remember to add sbuf_kern when checking
6648	whether space widths need adjusting.
6649
6650	* troff/charinfo.h: Generalize translated_to_space to
6651	special_translation so as to allow translation to \&.
6652	* troff/input.c (translate): Allow translation to \&.
6653	(charinfo::*): Corresponding changes.
6654	* troff/node.c (make_node, node::add_char): Corresponding changes.
6655	* troff/node.h (dummy_node::dummy_node): Allow optional first
6656	argument.
6657
6658	* lib/lib.h: Make codes 0200 to 0237 illegal input characters.
6659	* troff/token.h: Remove TOKEN_TITLE. Remove token::title. Add
6660	TOKEN_REQUEST.
6661	* troff/input.c (token::next): Turn a TITLE_REQUEST into a
6662	TOKEN_REQUEST with an argument of TITLE_REQUEST.
6663	(token::process): Grok that.
6664	* troff/input.c (copy_file): Handle first page transition like
6665	title by pushing a COPY_FILE_REQUEST cookie.
6666	(token::next, process_input_stack): Grok that.
6667	* troff/node.h (output_file::copy_file): Add x and y arguments.
6668	Make it non-pure.
6669	* troff/div.c (top_level_diversion::copy_file): Supply them.
6670	* troff/node.c (troff_output_file::copy_file): Add x and y
6671	arguments; moveto specified position.  Invalidate font_position
6672	array after copying file.
6673	(output_file::copy_file): New function.
6674	(suppressed_output_file::copy_file, ascii_output::copy_file):
6675	Removed.
6676	* troff/input.c (transparent_file): New function.
6677	(init_input_requests): Bind to "trf".
6678	(token::next): Handle TRANSPARENT_FILE_REQUEST cookie.
6679	(process_input_stack): Likewise.
6680
6681	* troff/Makefile: Add ../lib/lib.h to GROFF_H.
6682
6683	* troff/node.c (init_node_requests): New number registers .kern
6684	pointing to global_kern_mode, and .lg pointing to
6685	global_ligature_mode.
6686
6687	* troff/node.c (ligature): Don't change it if we get a bad
6688	integer.
6689
6690	* troff/input.c (do_define_string): Don't strip tabs.
6691
6692	* troff/input.c (asciify_macro): Make the string_iterator auto.
6693
6694	* troff/node.c (init_font_requests): Rename to...
6695	(init_node_requests):
6696	* troff/node.h: Change declaration.
6697	* troff/input.c (main): Change call.
6698
6699	* troff/input.c (node::reread, diverted_space_node::reread): New
6700	methods.
6701	(process_input_stack): Call reread rather than
6702	get_diverted_space_node.
6703	* troff/node.c (node::get_diverted_space_node,
6704	diverted_space_node::get_diverted_space_node): Removed.
6705	* troff/node.h: Declare reread methods instead of
6706	get_diverted_space_node methods. Make `n' member private.
6707	* troff/input.c: (token::diverted_space): Removed.
6708	* troff/token.h: Removed declaration.
6709	
6710
6711Tue Sep  4 00:48:04 1990  James Clark  (jjc at jclark)
6712
6713	* eqn/script.c (script_box::compute_metrics): Don't let
6714	SUP_RAISE_FORMAT become negative.
6715
6716	* tbl/table.c (table::do_row): Entries that don't end in the
6717	this row shouldn't make the row non-blank.
6718	
6719	* tbl/table.c (table::make_columns_equal): Only set the width of
6720	columns which are marked as equal.
6721	
6722	* tbl/main.c (process_data): Before issuing excess data error,
6723	if last character was a newline unget it; then get it again after
6724	the error.  Also include the contents of the entry in the message.
6725
6726	* groff.c: New file.
6727	* Makefile: Build groff from groff.c.  Make it possible to use
6728	either groff.sh or groff.c as groff.
6729	* Makefile.bd: Similarily.
6730
6731Mon Sep  3 09:39:49 1990  James Clark  (jjc at jclark)
6732
6733	* groff.sh: Don't delay expansion of $@ in assignment to files.
6734	Remove occurrences of \".
6735
6736Sun Sep  2 09:56:59 1990  James Clark  (jjc at jclark)
6737
6738	* all Makefiles: Simplify and rearrange.
6739
6740	* Makefile: Handle fmod like malloc.
6741	* lib/Makefile: Similarily.
6742	* lib/fmod.c: Remove #ifdef NEED_FMOD.
6743
6744	* Makefile: Rename OPTIMISE to OPTIMIZE.
6745
6746	* groff.sh: Remove assignment to PATH.
6747	* Makefile: Remove SHPATH variable.
6748	* Makefile.bd: Similarily.
6749
6750	* groff.sh: Add -V option to print the pipeline instead of
6751	executing it.
6752
6753Fri Aug 31 00:56:46 1990  James Clark  (jjc at jclark)
6754
6755	* lib/font.c: Split off file searching into ...
6756	* lib/fontfile.c: New file.
6757
6758	* lib/strerror.c (strerror): Use `Error %d' for unknown errors.
6759
6760Thu Aug 30 13:13:55 1990  James Clark  (jjc at jclark)
6761
6762	* tbl/table.c (table::do_hspan): Delete assertion that e != 0.
6763	Also change misleading comment.
6764	(table::do_vspan): Change similarily misleading comment.
6765	* tbl/main.c (process_data): A format row with an explicit `s'
6766	uses up a data line, even if all the other columns are `_' or `='.
6767
6768	* troff/input.c (token::description): Fix description of
6769	TOKEN_DUMMY and TOKEN_EMPTY.
6770
6771Wed Aug 29 04:12:08 1990  James Clark  (jjc at jclark)
6772
6773	* groff.sh: Fix description of -Z in help message.
6774
6775Tue Aug 28 07:28:33 1990  James Clark  (jjc at jclark)
6776
6777	* pic/object.c (object_spec::make_object): Allow negative and zero
6778	line thicknesses.
6779	* pic/pic.y: Give linethick default value of -1.0.
6780	* pic/troff.c (troff_output::troff_output): Initialize
6781	last_line_thickness to BAD_THICKNESS.
6782	(troff_output::finish_picture): Set thickness to BAD_THICKNESS.
6783	(troff_output::line_thickness): Canonicalize negative thicknesses
6784	to RELATIVE_THICKNESS.
6785	* pic/tex.c (tex_output::set_pen_size): Silently map negative line
6786	thicknesses to DEFAULT_PEN_SIZE. Canonicalize negative pen sizes
6787	to -1.0.
6788	(tex_output::start_picture): Set pen_size to -2.0.
6789
6790	* ps/ps.c (ps_printer::set_line_thickness): If line_thickness is
6791	0, then use 0 linewidth.
6792	(ps_printer::ps_printer): Initialize line_thickness to -1.
6793
6794	* pic/troff.c (troff_output::simple_ellipse): Divide by scale.
6795
6796	* ps/devps/symbolchars: Remove `or'.
6797	* ps/tmac.ps: Implement \(or with .char.
6798
6799	* ps/devps/symbolchars: Move most characters into textmap.
6800	* ps/devps/textmap: Add names for troff bracket characters. Remove
6801	ul, ru, br, bv.
6802
6803	* ps/devps/TSymbol.ps: Removed.
6804	* ps/devps/FontMakefile: Make S from Symbol not TSymbol.
6805	* ps/tmac.ps: Do with .char what TSymbol did.
6806	* ps/devps/download: Remove TSymbol.
6807
6808	* ps/devps/T: Removed.
6809	* ps/devps/Troff.ps: Removed.
6810	* ps/devps/Troff.afm: Removed.
6811	* ps/tmac.ps: Implement \(ru, \(ul, and \(br with .char.
6812	* ps/devps/download: Remove Troff.
6813	* ps/devps/FontMakefile: Remove T target.
6814	* ps/devps/DESC-A4: Remove T from font list.
6815	* ps/devps/DESC-letter: Likewise.
6816
6817	* troff/input.c (macro_to_node): Rename to ...
6818	(charinfo_to_node): Don't pass mac argument.  Temporarily remove the
6819	character's definition while processing it.
6820	* troff/node.c (node::add_char, make_node): Change calls to
6821	macro_to_node accordingly.
6822
6823	* troff/input.c (token::next): Translate \_ to \(ul.
6824
6825	* tty/devascii/R.proto: Add `|'.
6826	* tty/devlatin1/R.proto: Likewise.
6827
6828Mon Aug 27 11:25:41 1990  James Clark  (jjc at jclark)
6829
6830	* man: Put the version number in all the man pages.
6831
6832Sun Aug 26 11:40:05 1990  James Clark  (jjc at jclark)
6833
6834	* Makefile.bd: New file.
6835	* README.bd: New file.
6836
6837	* VERSION: New file.
6838	* lib/version.c: Removed.
6839	* lib/Makefile: Create version.c from ../VERSION. Remove version.c
6840	in clean target.
6841
6842	* troff/input.c (main): Get hyphen_file from GROFF_HYPHEN
6843	environment variable.
6844
6845	* all Makefiles: Split install target into install.bin for
6846	binaries, and install.nobin for everything else.
6847	* Makefile: Add bindist target.
6848
6849	* man/afmtodit.man: New file.
6850	* man/Makefile: Add afmtodit.n to MAN1PAGES.
6851	* ps/devps/Makefile: Add textmap to DEVICEFILES. Install afmtodit
6852	in BINDIR.
6853	* ps/Makefile: Pass BINDIR to make install in devps.
6854
6855	* ps/ps.c (ps_printer::set_char): Do nothing if the character is
6856	the space character.
6857
6858	* ps/devps/FontMakefile: Rename symbol.afm to tsymbol.afm.
6859
6860Sat Aug 25 15:39:03 1990  James Clark  (jjc at jclark)
6861
6862	* ps/ps.c: Redo font downloading.
6863	* ps/devps/download: New file.
6864	* ps/devps/Makefile: Add download to DEVICEFILES.
6865	* ps/devps/afmtodit: Remove -d option.
6866	* ps/devps/FontMakefile: Don't use -d option with afmtodit.
6867	* ps/devps/symbosl.ps: Add %%DocumentFonts comment.
6868	* ps/devps/zapfdr.ps: Likewise.
6869	* ps/devps/TSymbol.ps: Likewise.
6870
6871Fri Aug 24 20:10:30 1990  James Clark  (jjc at jclark)
6872
6873	* groff.sh: Initialize dev to ${GROFF_TYPESETTER:-@DEVICE@}.
6874
6875Thu Aug 23 10:03:47 1990  James Clark  (jjc at yquem)
6876
6877	* ps/ps.c (ps_output::include_file): If BROKEN_SPOOLER is defined,
6878	then strip the first line if it starts with %.
6879	* Makefile: Add a comment about this.
6880
6881	* man/tfmtodit.man: New file.
6882	* man/Makefile: Add tfmtodit.n to MAN1PAGES.
6883	* dvi/Makefile: Install tfmtodit in BINDIR.
6884
6885	* dvi/tfmtodit.c (usage): Mention -v option.
6886
6887Wed Aug 22 09:56:36 1990  James Clark  (jjc at yquem)
6888
6889	* troff/node.c (troff_output_file::end_of_line): Call do_motion.
6890	* troff/node.c (troff_output_file::transparent_char): Don't call
6891	flush_tbuf.
6892
6893	* eqn: Add check_tabs method to most box classes.
6894	* eqn/box.c (box::top_level): Call check_tabs.
6895
6896	* eqn/script.c (script_box::output): Use \Z.
6897	* eqn/limit.c (limit_box::output): Use \Z.
6898
6899	* eqn/box.c (box::top_level): Use itoa.
6900
6901Tue Aug 21 09:29:28 1990  James Clark  (jjc at yquem)
6902
6903	* dvi/tmac.dvi: Add font translations for CR, C, TT.
6904	* dvi/devdvi/Makefile: Don't make links to CW.
6905
6906	* ps/tmac.ps: Add font translations for C, CW, CO, CX, CD, H, HO,
6907	HX, HD.
6908	* xditview/tmac.X: Likewise.
6909
6910	* troff/node.c: Add font translation feature.
6911	(get_font_translation): New function.
6912	(symbol_fontno): Translate the font name.
6913	(mount_font_no_translate): Rename to mount_font to this.
6914	(mount_font): New function.
6915	(font_family::make_definite): Call mount_font_no_translate instead
6916	of mount_font.
6917	(mount_style): Translate the font name.
6918	(font_translate): New function.
6919	(init_font_requests): Bind "ftr" to font_translate.
6920
6921	* ps/devps/prologue (SN): New procedure that rounds a position to
6922	the nearest (pixel + (.25,.25)).
6923	(DL): Use SN to round endpoints.
6924
6925	* lib/version.c: Changed version to 0.5.
6926
6927Sat Aug 18 04:43:21 1990  James Clark  (jjc at yquem)
6928
6929	* Makefile: Move definition of PAGE to the very beginning, so that
6930	people are less likely to miss it.
6931
6932Fri Aug 17 02:15:11 1990  James Clark  (jjc at yquem)
6933
6934	* man/Makefile: Don't need to sed out @UPCASE_PROG_PREFIX@.
6935
6936	* troff/env.c (environment::choose_breakpoint): Make `can't find
6937	breakpoint' error a warning of type WARN_BREAK.  Change message to
6938	`can't break line'.
6939	* troff/groff.h: Declare WARN_BREAK with code 4; change WARN_INPUT to
6940	code 040000.
6941	* troff/input.c: Add WARN_BREAK to warning_table.  Include
6942	WARN_BREAK in DEFAULT_WARNING_MASK.
6943
6944	* tty/tmac.tty: Add definition of \(+-.
6945
6946	* groff.sh: Remove `--' option to set command.
6947
6948	* dvi/devdvi/texsy.map: Remove duplicate md entry.
6949
6950	* ps/devps/eqnchar: Better definition of cdot using md.
6951	* dvi/devdvi/eqnchar:  Likewise.
6952	* xditview/devX100/eqnchar:  Likewise.
6953	* xditview/devX75/eqnchar: Likewise.
6954	* eqn/lex.c: Add definition of cdot.
6955
6956Thu Aug 16 09:33:57 1990  James Clark  (jjc at yquem)
6957
6958	* troff/input.c (get_optional_char): New function.
6959	* troff/input.c (set_page_character): Use get_optional_char(),
6960	rather than has_arg() and tok.get_char(1).
6961	* troff/env.c (tab_character, leader_character, hyphen_char,
6962	field_characters): Likewise.
6963	(margin_character): Likewise.  Also always delete the
6964	margin_character_node.
6965
6966	* troff/input.c (token::get_char): Use token::description.
6967
6968	* troff/input.c (has_arg): Don't skip over tab and \}.
6969	* troff/number.c (start_number): Give a warning if the number
6970	starts with \} (WARN_RIGHT_BRACE) or tab (WARN_TAB).
6971
6972Wed Aug 15 10:04:37 1990  James Clark  (jjc at yquem)
6973
6974	* troff/input.c (empty_name_warning, non_empty_name_warning): New
6975	functions.
6976	(get_name, get_long_name): Use these.  Rename `warn' argument to
6977	`required'.
6978
6979	* troff/node.c (get_fontno): Test that the symbol is not null.
6980
6981	* troff/input.c (token::description): New function.
6982	* troff/number.c (parse_term): Use token::description in `numeric
6983	expression expected' message.
6984	* troff/groff.h: Add WARN_MISSING.
6985	* troff/number.c (start_number): New function.
6986	* troff/number.c (get_vunits, get_hunits, get_number, get_integer,
6987	get_incr_number): Use start_number().
6988	* troff/input.c (DEFAULT_WARNING_MASK): Enable WARN_NUMBER by
6989	default.
6990	* troff/input.c (get_name, get_long_name): Use WARN_MISSING.
6991	* troff/reg.c (alter_format): Use WARN_MISSING. Also use
6992	token::descripion.
6993	* troff/input.c (token::get_char): Use WARN_MISSING.
6994	* troff/input.c (token::delimiter): Use token::description.
6995	* troff/env.c (environment_switch): Back out Aug 3 change.
6996	* troff/input.c (has_arg): Skip over \}s and tabs but give a
6997	warning.
6998	* troff/token.h (token::tab): New function.
6999	* troff/node.c (get_fontno): Use tok.skip() rather than has_arg().
7000	* troff/reg.c (alter_format): Likewise.
7001	* troff/node.c (bold_font): Use has_arg() rather than tok.skip().
7002
7003Tue Aug 14 10:11:21 1990  James Clark  (jjc at yquem)
7004
7005	* troff (most files): Redo warnings. Divide warnings into various
7006	categories; warning() has an additional first argument indicating
7007	the category it falls into.
7008	* troff/input.c (main): -w now takes an argument. New option -W.
7009	(enable_warning, disable_warning): New functions.
7010
7011	* ps/devps/afmtodit: Add -a option to lie about the italic angle.
7012	* ps/devps/FontMakefile: Pretend TI has an angle of 7.
7013
7014Mon Aug 13 10:11:16 1990  James Clark  (jjc at yquem)
7015
7016	* ps/devps/eqnchar: Better definitions of dotdot, vec, dyad, inf.
7017	* xditview/devX100/eqnchar: Likewise. Remove definition of dot.
7018	* xditview/devX75/eqnchar: Likewise.
7019	* dvi/devdvi/eqnchar: Better definitions of vec, dyad, dotdot.
7020
7021	* eqn/other.c: When bar or over applies to a single character
7022	don't produce an overline_box or an underline_box. Instead produce
7023	an accent_box or an underaccent_box, with the accent a line
7024	whose width is accent_width.  New classes underaccent_box,
7025	overline_char_box and underline_char_box.
7026	* eqn/box.h: Move overline_box, underline_box, accent_box class
7027	declarations into eqn/other.c. Add declarations of
7028	make_underline_box, make_overline_box, make_accent_box.
7029	* eqn/eqn.y: Call make_overline_box, make_underline_box
7030	make_accent_box instead	of constructors.
7031	* eqn/pbox.h, eqn/box.c: Add accent_width parameter.
7032
7033	* eqn/other.c: Add accent_box::~accent_box.
7034	* eqn/box.h: Declare it.
7035
7036	* groff.sh: With -Tps, use eqn -D.
7037
7038	* eqn/other.c (overline_box::output): Use \Z. If draw_flag use \D
7039	rather than \l.
7040	(underline_box::output): Similarily.
7041	(accent_box::output): Use \Z.
7042
7043	* xditview/tmac.X: Add definitions of ~ and ^ (so that they are a
7044	bit smaller.)
7045
7046Sun Aug 12 09:41:15 1990  James Clark  (jjc at yquem)
7047
7048	* troff/div.c (top_level_diversion::transparent_output(unsigned
7049	char)): Use asciify.
7050	* troff/input.c (asciify): Don't make it static.
7051	* troff/token.h (asciify): Declare it.
7052	
7053	* troff/input.c (get_name, get_long_name, token::get_char,
7054	token::delimiter): Add an extra default argument which says
7055	whether a warning should be printed.
7056	* troff: Pass a non-zero argument to one of these rather than
7057	printing a warning directly.
7058
7059Sat Aug 11 09:02:21 1990  James Clark  (jjc at yquem)
7060
7061	* troff: Consistently use symbol::is_null.
7062
7063	* troff/dictionary.h: Move some inline functions into
7064	dictionary.c.
7065
7066	* troff/request.h: Move inline functions into input.c.
7067	(request_or_macro::invoke): Make it pure.
7068
7069	* troff/input.c, troff/reg.h: New class `constant_int_reg'.
7070	* troff/input.c (init_input_requests): Use class constant_int_reg.
7071	(class compatible_reg): Deleted.
7072	* troff/div.c (init_div_requests): Use class constant_int_reg.
7073	(class last_post_line_extra_space_reg): Deleted.
7074
7075	* troff/env.c (tab_character): Don't change the tab character if
7076	we get an invalid argument.
7077	(hyphen_char): Similarily.
7078
7079	* troff/reg.c (alter_format): Check that nm is not null.
7080
7081	* Makefile, groff.sh: Make it possible to customize the commands
7082	used for printing PostScript and dvi files. Also make it possible
7083	to customize the path used by groff.sh.
7084
7085	* eqn/eqn.y: Make `left' right associative.
7086
7087Fri Aug 10 18:20:39 1990  James Clark  (jjc at yquem)
7088
7089	* pic/pic.h: Added definition of M_SQRT2 for those systems that
7090	don't have it.
7091
7092	* pic/pic.h: Removed definition of INT_MAX.
7093
7094	* troff/node.c (italic_corrected_node::vertical_extent): Omit
7095	`return'.
7096
7097	* troff/input.c (token::next):  Handle \R like \n.
7098
7099Tue Aug  7 09:46:33 1990  James Clark  (jjc at yquem)
7100
7101	* ps/tmac.pc (PSPIC): Simplify.
7102
7103	* troff/env.c (tab_stops::to_string):
7104	* pic/pic.y (object_type_name):
7105	* pic/troff.c (simple_output::line):
7106	* pic/tex.c (tex_output::spline):
7107	* pic/object.c (object_spec::make_object):
7108	* tbl/main.c (process_data):  Add cases to switch statements to
7109	avoid cfront warnings. (Some of these are spurious, since the
7110	switch already has a default case.)
7111
7112	* ps/tmac.ps (PSPIC): Reformatted.  Prefix all local names with
7113	`ps-'.  Don't test systat; instead check number of arguments to
7114	ps-bb.
7115
7116Mon Aug  6 00:13:07 1990  James Clark  (jjc at yquem)
7117
7118	* macros/tmac.e: Do not decrease the page offset by 0.5i.
7119
7120	* ps/ps.c (ps_printer::ps_printer): Use mktemp instead of tempnam.
7121	Unlink the file as soon as we have opened it, so that we don't
7122	have to bother with signal handlers.
7123	(handler): Deleted.
7124	(fatal_error_exit): Deleted.
7125	(main): Don't call signal.
7126
7127	* dvi/tfmtodit.c: Add -k option so that kerns with the skewchar
7128	can be ignored.
7129	* dvi/devdvi/Makefile: Use the -k option with S and MI.
7130
7131	* pic/pic.y:  If there is a label, or an nth construction before
7132	the first `.' in the argument to `with', ignore it and generate a
7133	warning.
7134	* pic/lex.c (lex_warning): New function.
7135
7136	* tbl/table.c (table::init_output): In section keep and release
7137	macro, use 0 indent when diverting and the correct indent when
7138	rereading.
7139
7140	* troff/input.c (interpolate_number_format): Do not interpolate
7141	anything if the number register is not defined.
7142
7143	* tbl/main.c (process_data): Don't add entry when col >= ncolumns.
7144
7145Sat Aug  4 08:12:05 1990  James Clark  (jjc at yquem)
7146
7147	* ps/devps/prologue (PICTURE): Set components of graphics state to
7148	their default values.
7149
7150	* ps/devps/text.enc: Add trademark
7151	* ps/devps/textmap: Add names for club, spade, heart, diamond,
7152	carriagereturn, suchthat. Use Upsilon1 rather than Upsilon.
7153	* ps/devps/symbolchars: Add names for summation and product.
7154
7155	* dvi/devdvi/texsy.map: Add names for club, spade, heart, diamond,
7156	suchthat. Add pp. Add upper-case letters.
7157
7158	* xditview/libXdvi/DviChar.c: Add names for club, spade, heart,
7159	diamond, carriagereturn, suchthat. Use Upsilon1 rather than
7160	Upsilon.
7161
7162	* dvi/devdvi/texsy.map: Rename lA (left angle bracket) to la, and
7163	rA (right angle bracket) to ra.  Introduce names for double-headed
7164	arrows and double-barred arrows: <>, va, lA, rA, hA, uA, dA, vA.
7165	* ps/devps/textmap: Likewise for ps device.
7166	* xditview/libXdvi/DviChar.c: Likewise for X100 and X75 devices.
7167	* tty/devascii/R.proto: Rename lA to la and rA to ra.
7168	* tty/devascii/R.proto: Likewise.
7169	* tty/tmac.tty: Provide definitions for \(<>, \(lA, \(rA, \(hA,
7170	\(uA, \(dA.
7171	* eqn/delim.c: In delim_table, rename \(lA to \(la and \(rA to \(ra.
7172
7173	* xditview/tmac.X: Add definitions for \(fi \(fl \(ff \(Fi \(Fl.
7174
7175	* eqn/lex.c: Added definitions of `approx', `grad' and `del' to
7176	def_table.
7177
7178Fri Aug  3 09:59:27 1990  James Clark  (jjc at yquem)
7179
7180	* troff/div.c (when_request): Use symbol::is_null rather than
7181	has_arg to determine whether we have an argument.
7182	(change_trap): Remove the trap if we get an invalid number. Give
7183	an error if we don't get at least the macro name.
7184	(diversion_trap): Remove trap if we get an invalid name or number.
7185
7186	* troff/env.c (environment_switch): Pop if we get an invalid
7187	symbol or numeric expression.
7188
7189	* troff/input.c (do_define_macro):  If EOF is encoutered while
7190	defining the macro, do tok.next() before returning.
7191
7192	* troff/token.h (has_arg): Move definition from here, to ...
7193	* troff/input.c (has_arg): ... here
7194
7195	* troff/env.c (space_size): Do nothing if we get an invalid argument.
7196	* troff/input.c (shift): Likewise.
7197
7198	* pic/lex.c (get_token_after_dot):  Accept `.center' as a synonym
7199	for `.c'.
7200
7201	* pic/troff.c (troff_output::start_picture):  Comment out calls to
7202	`..'.
7203
7204	* eqn/main.c (do_file): Subtract 1 from current_lineno if
7205	interpret_lf_args succeeds.
7206
7207	* eqn/main.c (do_file): Don't recognize delimiter if preceded by
7208	\\.  This avoids problems with \$N.
7209
7210	* groff.sh: Pass -C to preprocessors.
7211
7212	* lib/lf.c (interpret_lf_args):  Be more flexible.
7213
7214	* tbl/main.c (main): Add -C option.
7215	(table_input::get): Do not recognize TE if followed by character
7216	other than a space or newline unless -C option given.
7217	(process_input_file): Likewise for lf, TS.
7218	(process_data): Likewise for lf in text blocks.
7219
7220	* eqn/main.c (main): Add -C option.
7221	(do_file): Don't recognize EQ, EN or lf if followed by character
7222	other than space or newline unless -C option given.
7223	* eqn/lex.c (file_input::read_line): Similarily.
7224	* eqn/eqn.h: Declare compatible_flag.
7225
7226	* etc/soelim.c (main): Add -C option.
7227	(interpret_lf_args): Use version in libgroff.
7228	(do_file):
7229
7230	* pic/main.c (main): Add -C option, which sets compatible_flag.
7231	(top_input::get), (top_input::peek):  If -C option not given,
7232	do not recognize .PS/.PE/.PF/.lf if followed by a character
7233	other than space or newline.
7234	* pic/lex.c (file_input::read_line): Similarily.
7235	* pic/pic.h: Add declaration of compatible_flag.
7236
7237Thu Aug  2 11:11:27 1990  James Clark  (jjc at yquem)
7238
7239	* ps/tmac.ps (PSPIC): Avoid use of `echo -n'.
7240
7241	* troff/node.c, troff/node.h:  Add `asciify' methods to classes
7242	derived from node.  New class space_char_hmotion_node.
7243	* troff/input.c (asciify_macro): New function.
7244	* troff/input.c (init_input_requests): New request `asciify' bound
7245	to asciify_macro.
7246	* macros/mm.diff: New file.
7247	* Makefile:  In install.mm target use `patch' to apply
7248	macros/mm.diff.
7249
7250	* troff/input.c (macro::print_size): Just print the size in bytes.
7251
7252	* troff/div.c (return_request): Correct the argument
7253	interpretation.
7254
7255Wed Aug  1 12:38:36 1990  James Clark  (jjc at yquem)
7256
7257	* troff/node.h (class composite_node): Add sz member.
7258	* troff/node.c (composite_node::size): Return sz.
7259	* troff/input.c (macro_to_node):  Use the initial size in the
7260	environment as the size of the composite_node.
7261
7262	* troff/node.c (node::zero_width_tprint):  Provide a reasonable
7263	default.
7264
7265Tue Jul 31 10:07:10 1990  James Clark  (jjc at yquem)
7266
7267	* troff/div.c (change_trap): If we get a bad number expression,
7268	do nothing.
7269
7270Mon Jul 30 10:30:49 1990  James Clark  (jjc at yquem)
7271
7272	* lib/matherr.c (matherr): Define this only if math.h defines
7273	TLOSS.
7274
7275Sun Jul 29 10:34:27 1990  James Clark  (jjc at yquem)
7276
7277	* troff/div.c (macro_diversion::distance_to_next_trap): If there
7278	no diversion trap return vunits(INT_MAX - vresolution).
7279
7280Sat Jul 28 14:28:14 1990  James Clark  (jjc at yquem)
7281
7282	* troff/input.c (do_zero_width): New implementation that doesn't
7283	use a temporary environment. Use instead:
7284	(token::add_to_node_list): New function.
7285	* troff/env.c (environment::get_prev_char_height),
7286	(environment::get_prev_char_height),
7287	(environment::get_prev_char_skew): New functions.
7288	(environment::get_prev_char): New function.
7289	(environment::get_prev_char_width): Change to use get_prev_char.
7290	(init_env_request): Implement new registers .cht, .cdp, .csk.
7291	* eqn/sqrt.c (sqrt_box::output): Don't rely upon the argument to
7292	\Z being processed in a separate environment.
7293
7294Fri Jul 27 10:21:25 1990  James Clark  (jjc at yquem)
7295
7296	* tbl/table.c: Removed TABLE_BOTTOM_REG.
7297
7298	* tbl/table.c (table::init_output): In the section release macro,
7299	give a warning message if the section won't fit on one page.
7300
7301	* tbl/table.c (table::do_top): Emit table keep only if table is
7302	boxed.
7303	(table::do_bottom): Likewise for table release.
7304	(table::table), (table::add_vertical_rule):  Remove reference to
7305	keep member.
7306	* tbl/table.h: Remove keep member.
7307
7308	* tbl/table.c: New register SUPPRESS_BOTTOM_REG. In
7309	SECTION_RELEASE_MACRO, if there's not enough space before the next
7310	trap to output the diversion, call T# ourselves, set
7311	SUPPRESS_BOTTOM_REG to 1, spring the trap, then set
7312	SUPPRESS_BOTTOM_REG back to 0.  In T#, do nothing if
7313	SUPPRESS_BOTTOM_REG is non-zero.  In T#, always mark the current
7314	vertical position and return to it before turning traps on again.
7315	
7316Thu Jul 26 02:54:32 1990  James Clark  (jjc at yquem)
7317
7318	* troff/node.c, troff/node.h: In classes derived from node,
7319	replace prev_char_width method by last_char_node method.
7320	* troff/env.c (environment::get_prev_char_width): Use
7321	node::last_char_node rather than node::get_prev_char_width.
7322
7323	* Makefile: Added comment about -fno-inline on 68030-based
7324	Apollos.
7325
7326	* troff/reg.c (number_format_to_ascii), eqn/delim.c (DELIM_TABLE_SIZE),
7327	tty/tty.c (tty_font::load_tty_font), dvi/tfmtodit.c (main): Cast
7328	expressions using sizeof to int.
7329	* dvi/dvi.c (dvi_font::handle_x_command): Avoid long->int warnings.
7330
7331	* macros/tmac.e (TS):  Don't move @f back past the current
7332	position.
7333
7334Wed Jul 25 09:11:08 1990  James Clark  (jjc at yquem)
7335
7336	* ps/ps.c (main): Buffer stderr.
7337	* dvi/dvi.c (main): Likewise.
7338	* tty/tty.c (main): Likewise.
7339
7340	* ps/ps.c (ps_printer::do_import): Improve error handling.
7341
7342	* troff/input.c (abort_request): Use asciify.
7343
7344	* driver/printer.h (printer::draw), driver/printer.c (printer::draw),
7345	ps/ps.c (ps_printer::draw), dvi/dvi.c (dvi_printer::draw): Make
7346	type of first argument int rather than char.  This works around a
7347	bug on the 68030 based Apollo using g++ 1.37.1.
7348
7349	* tbl/table.h (class table): Add `keep' member.
7350	* tbl/table.c (table::table): Initialize `keep'.
7351	(table::add_vertical_rule): Set `keep' to 1.
7352	(table::do_top): Only emit table keep macro is `keep' is non-zero.
7353	(table::do_bottom): Likewise for table release macro.
7354	(table::do_row): Emit section keep macro even if the row is 0.
7355
7356Tue Jul 24 08:35:07 1990  James Clark  (jjc at yquem)
7357
7358	* macros/tmac.e (@C): Preserve the font family across the change
7359	in environments.
7360
7361Mon Jul 23 10:15:23 1990  James Clark  (jjc at yquem)
7362
7363	* lib/font.c: Initialize font::hor and font::vert to 1.
7364	(font::load_desc): Check the values of font::hor and font::vert.
7365
7366	* lib/lib.h: Added definition of INT_DIGITS. Fix it so that it can
7367	be included in a C compilation.
7368	(iftoa): Use INT_DIGITS. Include lib.h.
7369	(itoa): Likewise.
7370	(as_string): Likewise.
7371	* tbl/table.c: Removed definition of INT_DIGITS.
7372	* eqn/box.c (box::top_level): Use INT_DIGITS + 1 instead of 12.
7373	* troff/input.c (input_input_requests): Likewise.
7374	* ps/ps.c (make_encoding_name): Likewise.
7375	(ps_printer::set_style): Likewise.
7376	(ps_output::put_number): Use 1 + INT_DIGITS + 1 instead	of 12.
7377
7378	* tty/devascii/R.proto: Map fm onto '.
7379	* tty/devlatin1/R.proto: Likewise.
7380
7381Sat Jul 21 12:45:07 1990  James Clark  (jjc at yquem)
7382
7383	* tbl/table.c: Use ' instead of DELIMITER_CHAR in places where the
7384	argument to \w is at a different input level.
7385
7386	* tbl/table.c (table::init_output): Define a new macro
7387	REPEATED_VPT_MACRO, like vpt but if in a diversion also
7388	transparently outputs itself.
7389	(table::define_bottom_macro): Use REPEATED_VPT_MACRO instead of
7390	vpt.
7391	(table::do_row): Likewise.
7392
7393	* tbl/table.c (vertical_rule::print): Prefix the .sp -1 line with
7394	TRANSPARENT_STRING_NAME.
7395
7396	* tbl/table.c (table::init_output): In the table release macro
7397	print an error message and don't produce any output if after
7398	issuing the need request the table still will not fit.  Also
7399	remove the diversion after bringing it back.
7400
7401	* tbl/table.c (table::init_output): Define a new macro
7402	REPEATED_MARK_MACRO, like mk but if in a diversion also
7403	transparently outputs itself.
7404	(table::do_row): Mark row_top_reg using	REPEATED_MARK_MACRO. This
7405	is necessary because .TH might not call .T#.
7406	(table::do_top): Likewise TOP_REG.
7407	(table::define_bottom_macro): If TOP_REG is no longer valid, use
7408	#T - DOUBLE_LINE_SEP rather than #T. This is necessary because the
7409	table header might contain just the two top rules.
7410
7411Fri Jul 20 10:51:42 1990  James Clark  (jjc at yquem)
7412
7413	* troff/div.c: Implement new request `ptr' to print all traps.
7414
7415	* troff/env.c (init_env_requests): Implement `.tabs' reg with
7416	init_string_env_reg.
7417	* troff/env.c (class tab_reg): Deleted.
7418
7419Thu Jul 19 12:07:16 1990  James Clark  (jjc at yquem)
7420
7421	* troff/div.c: New number register .pn returns the number of the
7422	next page as set by the pn request.
7423
7424	* macros/tmac.an: Redid headers and footers.  Number each manual
7425	entry starting from 1 unless \nC is > 0, like Sun.  Added an
7426	optional 5th argument to .TH which specifies the manual name and
7427	appears in the center of the header.  Understand the X, P and D
7428	registers like Sun.
7429
7430Wed Jul 18 10:23:31 1990  James Clark  (jjc at yquem)
7431
7432	* troff/env.c (init_env_requests): New number register `.lt' to
7433	return the title length.
7434
7435	* troff/node.h (class transparent_dummy_node): New class.
7436	* troff/node.c (class transparent_dummy_node): Provide member
7437	functions. 
7438	* troff/env.c (interrupt): Add a transparent_dummy_node, rather
7439	than a dummy_node.
7440
7441	* troff/input.c (token::next): New escape sequence \).
7442	* troff/input.c (get_copy): Recognize \) in copy mode.
7443
7444	* troff/input.c (input_stack::clear): New function.
7445	* troff/input.c (exit_request): Use input_stack::clear.
7446
7447	* troff/token.h: Removed TOKEN_NO_PRINT_CHAR.
7448	* troff/input.c (token::process): Removed case TOKEN_NO_PRINT_CHAR.
7449
7450	* troff/env.c: Move set_page_character to input.c.  Move
7451	page_character to input.c also.
7452	* troff/env.c (title): Split off the reading of the parts of the
7453	title into read_title_parts.
7454	* troff/input.c (read_title_parts): New function.  Check the
7455	input_level when testing whether a token matches the delimiter.
7456
7457	* troff/input.c (exit_request): New function.
7458	* troff/input.c (init_input_requests): Bind ex request to
7459	exit_request rather than exit_groff.
7460
7461	* troff/input.c (exit_groff): Call tok.next() before
7462	process_input_stack().
7463
7464Mon Jul 16 09:47:23 1990  James Clark  (jjc at yquem)
7465
7466	* troff/env.c: ifdef widow control support on WIDOW_CONTROL.
7467	* troff/env.h: ditto.
7468	* troff/input.c: ditto.
7469
7470	* troff/env.c (environment::is_empty): Test pending_lines.
7471
7472	* troff/env.c (environment::have_pending_lines): Removed.
7473
7474	* troff/input.c: Add request to flush pending lines from the
7475	environment.
7476
7477	* troff/env.c, troff/env.h: Add automatic widow control feature.
7478
7479	* troff/input.c (exit_groff):  Do process_input_stack() after
7480	do_break() but before setting exit_flag to 2.
7481
7482	* troff/input.c: Remove FLUSH_PENDING_LINES and
7483	TOKEN_FLUSH_PENDING_LINES. Instead, flush pending lines from
7484	environment after END_TRAP token seen, but only if there aren't
7485	any more traps still unfinished.
7486	* troff/token.h: Remove TOKEN_FLUSH_PENDING_LINES.
7487
7488Sun Jul 15 10:50:08 1990  James Clark  (jjc at yquem)
7489
7490	* troff/env.c: Rename the `retain_size' member of class
7491	pending_output_line to `no_fill'.
7492
7493	* troff/env.c (title): When the line is output, make the
7494	retain_size argument !fill.
7495
7496	* troff/node.h: Add `hyphenated' member to struct breakpoint.
7497	* troff/node.c (space_node::get_breakpoints),
7498	(dbreak_node::get_breakpoints):  Fill this in.
7499	* troff/env.c:  Allow specification of maximum number of
7500	consecutive hyphenated lines.
7501
7502	* troff/env.c (environment::is_empty): Add test for !current_tab.
7503
7504Sat Jul 14 11:23:01 1990  James Clark  (jjc at yquem)
7505
7506	* troff/env.c (environment::hyphenate_line): Don't completely give
7507	up if the word is not to be hyphenated; continue so that breaks
7508	can be made at break_char_node's.
7509
7510	* lib/lib.h: Only define INT_MAX if it's not already defined;
7511	undef INT_MIN if it's already defined.
7512
7513	* Makefile: Make it easy to define CFRONT_ANSI_BUG.
7514
7515	* lib/lib.h: If CFRONT_ANSI_BUG is defined, cast INT_MIN to long.
7516	This works around a bug in AT&T C++ 2.0 used with an ANSI C
7517	compiler.
7518	
7519	* macros/tmac.an (an-header): Set no-space mode.
7520
7521	* macros/tmac.an (TH): Start a new page if necessary.
7522
7523	* Started using ChangeLog at version 0.4.
7524
7525Local Variables:
7526version-control: never
7527End:
7528