2 Version 1.17.2 released
3 =======================
5 2001-07-07 Werner LEMBERG <wl@gnu.org>
7 * src/utils/indxbib/indxbib.cc (main): Change type of `name_max'
10 2001-07-06 Ruslan Ermilov <ru@FreeBSD.org>
12 * tmac/doc.tmac (Rv): Make `Rv' really not parseable.
14 * tmac/groff_mdoc.man: Fix synopsis.
16 2001-07-05 Ruslan Ermilov <ru@FreeBSD.org>
18 * tmac/doc.tmac (doc-inset-list, doc-hang-list, doc-ohang-list):
19 Restore `doc-Pa-font'.
21 2001-07-04 Werner LEMBERG <wl@gnu.org>
23 * src/utils/indxbib/dirnamemax.c: Moved to ...
24 * src/libs/libgroff/maxfilename.cc: Here.
25 s/dir_name_max/file_name_max/.
27 * src/include/lib.h: Add file_name_max.
28 * src/utils/indxbib/indxbib.cc: Updated.
29 * src/utils/indxbib/Makefile.sub, src/libs/libgroff/Makefile.sub:
32 * src/libs/libgroff/tmpfile.cc (TMPFILE_PREFIX) [__MSDOS__]: Define
34 (xtmpfile) [_MSC_VER]: Removed -- MSVC has mktemp().
36 * src/preproc/html/pre-html.cc (PAGE_TEMPLATE, PS_TEMPLATE,
37 REGION_TEMPLATE): New macros.
38 (createAllPages, makeTempFiles): Use them.
40 (html_system): New function.
41 (createAllPages, createImage): Use it.
44 * tmac/www.tmac: Fix typos.
46 2001-07-03 Werner LEMBERG <wl@gnu.org>
48 * tmac/www.tmac: Disable hyphenation in normal text only if output
50 (URL, FTP, MAILTO): Disable hyphenation of actual URL with `\%'.
51 * tmac/groff_mwww.man, NEWS: Updated.
53 2001-07-03 Gaius Mulley <gaius@glam.ac.uk>
55 * tmac/www.tmac (.IMAGE): Add fourth parameter to specify vertical
58 2001-07-02 Ruslan Ermilov <ru@FreeBSD.org>
60 * tmac/doc-common, tmac/doc.tmac (doc-display-ft-stack,
61 doc-display-ps-stack): Implement font and font size stack for
64 2001-07-02 Werner LEMBERG <wl@gnu.org>
66 * REVISION: Increased to 2.
67 * src/roff/troff/input.cc (read_size): Fix special case `\s[0]'.
69 * src/groff/grog/grog.pl (process): Handle `Oo' and `Oc' not at the
71 * src/groff/grog/grog.sh: Ditto.
73 2001-06-29 Peter Marquardt <wwwutz@molgen.mpg.de>
75 * src/preproc/eqn/neqn.sh: Put `export' keyword in a new line to
78 2001-06-27 Werner LEMBERG <wl@gnu.org>
80 Fix problems with preprocessor string for `man' program.
82 * *.man: Don't use `s' in preprocessor string -- it doesn't exist.
83 Updated/added copyright.
84 Moved Emacs's local variable to identify nroff mode to the end of
85 the file; add local variable if missing.
87 2001-06-26 Andras Salamon <andras@cs.wits.ac.za>
89 * aclocal.m4: Replace AC_LANG_SAVE + AC_LANG_CPLUSPLUS with
90 AC_LANG_PUSH(C++) and AC_LANG_RESTORE with AC_LANG_POP(C++).
91 * configure: Regenerated.
93 2001-06-25 Andras Salamon <andras@cs.wits.ac.za>
95 * aclocal.m4 (GROFF_PAGE): Fix page detection code.
96 * configure: Regenerated.
98 2001-06-24 Werner LEMBERG <wl@gnu.org>
100 * doc/homepage.ms: Don't include arkup.tmac (which no longer exists)
102 * doc/pic.ms: Fix typos.
104 Version 1.17.1 released
105 =======================
107 2001-06-21 Golubev I. N. <gin@mo.msk.ru>
109 * aclocal.m4 (GROFF_NEED_DECLARATION): Fix inclusion of strings.h.
110 * configure: Updated.
112 2001-06-20 Gaius Mulley <gaius@glam.ac.uk>
114 * src/roff/preproc/html/pre-html.cc (make_message): Fix incorrect
116 * src/roff/troff/dic.cc (blank_line): Add html tag.
118 2001-06-19 Gaius Mulley <gaius@glam.ac.uk>
120 * src/roff/troff/input.cc (do_suppress): Fix typo.
122 2001-06-18 Gaius Mulley <gaius@glam.ac.uk>
124 Added two new options (-D and -I) to specify image names and a
125 subdirectory to place the images in.
127 Change syntax from \\Ox to \\O[x].
129 * src/devices/grohtml/post-html.cc (main): Add options.
131 * src/preproc/html/pre-html.cc: Include `stdarg.h'.
132 Use `NULL' instead of `0' for null string pointers.
133 (MAX_RETRIES): New macro.
134 (lengthOfintToStr, intToStr, make_message): New functions.
135 (makeFileName): Make function static.
136 Implement -D and -I options.
137 (checkImageDir): New function.
138 (write_end_image, write_start_image): Use new syntax of \O.
139 (createAllPages, removeAllPages): Implement -D and -I options. Use
141 (createImage): Use make_message().
142 (addps4html): Add guard for malloc().
143 (usage, scanArguments): Updated.
144 (makeTempFiles): Use mkstemp().
145 (removeTempFiles): Use unlink().
146 (findPrefix): Add guard for malloc().
148 * src/roff/troff/input.cc (get_delim_file_name): New function to
150 (do_suppress): Updated to parse new syntax.
151 * src/devices/grohtml/grohtml.man: Updated.
152 * tmac/www.tmac: Updated to new syntax.
156 2001-06-15 Werner LEMBERG <wl@gnu.org>
158 * src/roff/grog/Makefile.sub: Remove NAMEPREFIX.
160 * src/devices/grohtml/grohtml.man: Minor improvements.
162 2001-06-14 Werner LEMBERG <wl@gnu.org>
164 * src/preproc/html/Makefile.sub: Remove NAMEPREFIX.
166 2001-06-11 Werner LEMBERG <wl@gnu.org>
168 * man/roff.man, mann/groff.man: Use '\" instead of .\" in the first
169 line to specify preprocessor options -- mandb 2.3.1 only recognizes
171 * src/preproc/grn/grn.man: Add proper '\" string.
173 2001-06-11 OKAZAKI Tetsurou <okazaki@be.to>
175 * test-groff: Don't use PATH but GROFF_BIN_PATH.
177 2001-06-08 Werner LEMBERG <wl@gnu.org>
179 Updated to autoconf 2.50.
181 * configure.in: Renamed to...
182 * configure.ac: This.
183 * aclocal.m4 (AC_OUTPUT_MAKE_DEFS): Removed.
184 (GROFF_OS390): Updated.
185 * configure: Regenerated.
187 2001-05-18 Werner LEMBERG <wl@gnu.org>
189 * src/roff/troff/env.c, src/roff/troff/env.h,
190 src/roff/troff/input.cc, src/roff/troff/troff.man: Undo `ss' change
193 2001-05-17 Jeffrey Friedl <jfriedl@yahoo-inc.com>
195 * src/roff/troff/input.cc (read_size): Fix special case `\s0'.
197 2001-05-16 Werner LEMBERG <wl@gnu.org>
199 * src/roff/troff/input.cc (read_size): Emit warning if value becomes
200 less than or equal zero; set it to 1 then.
201 * src/roff/troff/node.h (node::node): Initialize `last'.
203 2001-05-08 Werner LEMBERG <wl@gnu.org>
205 * tmac/an-old.tmac: Make predefined strings work in compatibility
207 Add troff version guard.
208 * tmac/doc.tmac: Simplify version guard.
210 2001-05-07 Werner LEMBERG <wl@gnu.org>
212 The .ns and .rs requests are now honoured not only in the top-level
213 but in all diversions (similar to UNIX troff).
215 This change is based on a patch from Tadziu Hoffmann
216 <hoffmann@usm.uni-muenchen.de>.
218 * src/roff/troff/div.h (diversion): Add `no_space_mode' member.
219 (top_level_diversion): Remove `no_space_mode' member.
220 * src/roff/troff/div.cc (diversion::diversion,
221 top_level_diversion::top_level_diversion): Updated.
222 (macro_diversion::output): Reset `no_space_mode'.
223 (no_space, restore_spacing): Use `curdiv' unconditionally.
224 (space_request, blank_line): Check `curdiv->no_space_mode'.
225 (no_space_mode_reg::get_value, no_space_mode_reg::get_string): Use
226 `curdiv' unconditionally.
227 * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo:
230 2001-05-06 Werner LEMBERG <wl@gnu.org>
232 Added two new requests `de1' and `am1' which are similar to `de' and
233 `am' with the difference that compatibility mode is saved on entry,
234 switched off during macro execution, and restored on exit.
236 * src/roff/troff/input.h: Added two new special characters
237 (COMPATIBLE_SAVE, COMPATIBLE_RESTORE).
238 * src/roff/troff/input.cc (input_iterator): Added two member
239 functions `save_compatible_flag' and `get_compatible_flag'.
240 (input_stack): Ditto.
241 (string_iterator): Ditto. Also add private member
242 `saved_compatible_flag'.
243 (token::next): Use COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
244 (calling_mode): New enumeration.
245 (do_define_macro): Use it. Insert COMPATIBLE_SAVE and
246 COMPATIBLE_RESTORE at the beginning and end of macro, respectively.
247 (define_macro, define_indirect_macro, append_macro, ignore): Use
249 (define_nocomp_macro, append_nocomp_macro): New functions.
250 (init_input_requests): Updated.
251 (do_request): Rename local variable `saved_compatible_flag' to
252 `old_compatible_flag'.
253 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
255 * tmac/an-old.tmac: Use `de1' instead of `de' request for all
256 public and trap-invoked macros. As a consequence, the man macros
257 work in compatibility mode also.
259 2001-05-06 Solar Designer <solar@openwall.com>
261 * Makefile.in: Use $(mandir).
263 2001-05-06 Alexios Zavras <zvr@pobox.com>
265 * src/utils/afmtodit/afmtodit.pl: Fix serious typo.
267 2001-05-05 Werner LEMBERG <wl@gnu.org>
269 Added `.ns' number register: Returns 1 in no-space mode (if in
270 top-level diversion), 0 otherwise.
272 * src/roff/troff/div.cc (no_space_mode_reg): New class.
273 (init_div_requests): Updated.
274 * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo:
277 2001-05-04 Werner LEMBERG <wl@gnu.org>
279 * src/roff/nroff/nroff.man: Improved documentation (especially
282 2001-05-02 Werner LEMBERG <wl@gnu.org>
284 Added `brp' request: This is \p as a request.
286 * src/roff/troff/env.cc (environment::do_break): Add parameter
288 (do_break_request): New function (was `break_request').
289 (break_request): Calls `do_break_request'.
290 (break_spread_request): New; calls `do_break_request'.
291 (init_env_requests): Updated.
292 * src/roff/troff/env.h: Updated.
293 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
295 * REVISION: Increased to 1.
296 * win32-diffs: Updated.
298 2001-05-01 Werner LEMBERG <wl@gnu.org>
300 * tmac/an-old.tmac: Fix minor compatibility mode issue.
301 * tmac/troffrc-end: Make it really work in compatibility mode.
303 2001-04-27 Werner LEMBERG <wl@gnu.org>
305 * src/utils/lkbib/lkbib.cc: Switch inclusion order of stdio.h and
308 2001-04-22 Werner LEMBERG <wl@gnu.org>
310 * src/libs/libgroff/getopt.c, src/include/getopt.h: Updating to
311 latest versions from glibc CVS archive.
313 * MORE.STUFF: Updated, using a patch from Kees Zeelenberg
314 <c.zeelenberg@hccnet.nl>.
316 2001-04-21 Werner LEMBERG <wl@gnu.org>
318 * configure.in: Move check for mkstemp() to...
319 * aclocal.m4 (GROFF_MKSTEMP): This new function.
320 * configure: Regenerated.
322 * src/include/groff-getopt.h: Don't use variable names in
325 * src/devices/grohtml/html-chars.h: Removed. It isn't used.
326 * src/devices/grohtml/Makefile.sub,
327 src/devices/grohtml/post-html.cc: Updated.
329 2001-04-21 Albert Chin-A-Young <china@thewrittenword.com>
331 * configure.in: Add special check for mkstemp().
332 * src/libs/libgroff/tmpfile.cc: Use it.
333 * src/utils/indxbib/indxbib.cc: Ditto.
334 * src/utils/pfbtops/pfbtops.c (main): Don't use C++ comment style.
335 * src/devices/grolbp/lbp.h (lbpprintf, lbpputs, vdmprintf): Use
338 2001-04-20 Bruce Lilly <blilly@erols.com>
340 `Version_string' as C++ object was not visible to linker from C
342 Add `const' to `Version_string'.
344 * src/utils/pfbtops/pfbtops.c (main), src/roff/groff/groff.cc
345 (main), src/roff/troff/input.cc (main), src/preproc/tbl/main.cc
346 (main), src/preproc/pic/main.cc (main), src/preproc/eqn/main.cc
347 (main), src/preproc/grn/main.cc (main), src/preproc/html/pre-html.cc
348 (scanArguments), src/preproc/refer/refer.cc (main),
349 src/preproc/soelim/soelim.cc (main), src/devices/grotty/tty.cc
350 (main), src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
351 (main), src/devices/grohtml/post-html.cc (main),
352 src/devices/grolbp/lbp.cc (main), src/utils/tfmtodit/tfmtodit.cc
353 (main), src/utils/hpftodit/hpftodit.cc (main),
354 src/utils/lookbib/lookbib.cc (main), src/utils/indxbib/indxbib.cc
355 (main), src/utils/lkbib/lkbib.cc (main),
356 src/utils/addftinfo/addftinfo.cc (main): Implement it.
358 * src/roff/groff/pipeline.c: Add _UWIN.
359 * src/include/nonposix.h: Ditto.
361 2001-04-20 Werner LEMBERG <wl@gnu.org>
363 * src/include/lib.h: Use HAVE_STRERROR.
364 * src/roff/groff/pipeline.c: Ditto.
365 * src/preproc/html/pre-html.cc: Remove declaration of `strerror'.
366 * src/libs/libgroff/Makefile.sub (version.cc): Add `extern "C"'.
367 * src/utils/pfbtops/pfbtops.c: Add copyright notice.
368 * win32-diffs: Updated.
369 * src/utils/hpftodit/hpftodit.cc (read_map): Fix compiler warning.
371 2001-04-19 Werner LEMBERG <wl@gnu.org>
373 * src/preproc/html/pre-html.cc (scanArguments): Use `troff_command'
374 instead of hardwired `"troff"'.
375 (char_buffer::read_file): Remove unused variables.
376 (char_buffer::write_file_troff): Ditto.
377 (char_buffer::write_file_html): Ditto.
378 (generateImages): Ditto.
380 * src/utils/addftinfo/addftinfo.cc (main): Fix compilation problem.
382 * src/include/lib.h: Don't include `groff-getopt.h' for UWIN.
384 * src/libs/libgroff/font.cc (font::load_desc): Fix compiler warning.
385 * src/libs/libbib/index.cc (index_search_item_iterator::get_tag,
386 index_search_item::search1): Ditto.
387 * src/roff/troff/node.h (width_list): Reorder members.
388 * src/roff/troff/input.cc (do_define_macro): Fix compiler warning.
389 (lookup_warning): Ditto.
390 (prepend_string): Commented out.
391 * src/roff/troff/dictionary.cc (is_good_size): Fix compiler warning.
392 * src/roff/troff/reg.cc (number_value_to_ascii): Ditto.
393 * src/preproc/tbl/main.cc (process_format): Ditto.
394 * src/preproc/pic/pic.y (define_variable, reset, reset_all): Fix
396 * src/preproc/pic/pic.cc: Updated.
397 * src/preproc/eqn/lex.cc (init_table): Fix compiler warnings.
398 * src/preproc/eqn/over.cc (over_box::compute_metrics): Ditto.
399 * src/preproc/refer/command.cc (execute_command): Ditto.
400 * src/preproc/refer/ref.cc (sortify_title, find_month): Ditto.
401 * src/preproc/refer/token.cc (lookup_token): Ditto.
402 * src/preproc/soelim/soelim.cc: Ditto.
403 * src/preproc/html/pushbackbuffer.cc (ERROR): Ditto.
404 (isHexDigit): Commented out.
405 (pushBackBuffer::isString): Remove unused variable.
406 * src/devices/grops/ps.cc (ps_printer::special): Fix compiler
408 * src/devices/grops/psrm.cc (resource_manager::lookup_font,
409 resource_manager::read_resource_arg, read_one_of, parse_extensions):
411 * src/devices/grodvi/dvi.cc (dvi_printer::draw): Ditto.
412 * src/devices/grolj4/lj4.cc (lj4_font::handle_unknown_font_command,
413 lookup_paper_size): Ditto.
414 * src/devices/grohtml/post-html.cc (is_subsection): Commented out.
415 (text_glob, element_list): Reorder members.
416 * src/devices/grohtml/html-text.cc (html_text::do_pre): Remove
418 * src/devices/grohtml/html-text.h (html_text::emit_space): Change
419 return value to `void'.
420 * src/devices/grohtml/output.cc (word_list::word_list): Fix order
422 * src/devices/grohtml/html.h (simple_output::check_newline,
423 simple_output::space_or_newline, simple_output::enable_newlines):
425 * src/devices/grolbp/lbp.cc (wp54charset, set_papersize): Remove
427 * src/utils/tfmtodit/tfmtodit.cc (tfm::load, gf::load, main): Ditto.
428 * src/utils/hpftodit/hpftodit.cc (File::seek, read_symbol_sets,
429 output_ligatures, output_charset, read_map): Ditto.
430 * src/utils/lookbib/lookbib.cc (main): Ditto.
431 * src/utils/indxbib/indxbib.cc (main, fwrite_or_die): Ditto.
432 (do_file): Fix typo (`=' -> `==').
433 * src/utils/lkbib/lkbib.cc (main): Remove compiler warning.
434 * src/utils/addftinfo/addftinfo.cc (main): Ditto.
436 2001-04-18 Ruslan Ermilov <ru@FreeBSD.org>
438 * src/roff/nroff/nroff.sh: Adding -p (pic) and -t (tbl) options.
439 Fix usage of GROFF_BIN_PATH.
440 * src/roff/nroff/nroff.man: Updated.
442 2001-04-18 Werner LEMBERG <wl@gnu.org>
444 * NEWS: Fixing typos.
447 Version 1.17 released
448 =====================
450 2001-04-17 Werner LEMBERG <wl@gnu.org>
452 * tmac/Makefile.sub (install-data): mdoc.local-s is in current
453 directory, not in $(srcdir).
455 2001-04-16 Werner LEMBERG <wl@gnu.org>
457 * doc/groff.texinfo: More info on conditionals.
459 2001-04-15 Werner LEMBERG <wl@gnu.org>
461 * doc/groff.texinfo: Added some info about groff internals.
463 * src/roff/troff/node.cc (make_glyph_node): Emit warning message
464 about missing special character only if the name is non-null.
466 2001-04-14 Werner LEMBERG <wl@gnu.org>
468 Removing the grohtml-old device driver which is now obsolete.
470 * src/devices/grohtml-old/*: Removed.
471 * font/devhtml-old/*: Removed.
472 * src/libs/libgroff/htmlindicate.cc (graphic_start, graphic_end):
474 * Makefile.in (CCPROGDIRS, DEVDIRS): Updated.
475 * test-groff (PATH): Updated.
476 * tmac/Makefile.sub (NORMALFILES): Updated.
477 * tmac/an-old.tmac: Remove special code for html-old device.
478 Replace `html-or-html-old' register with `an-html'.
479 * tmac/eqnrc: Updated.
480 * tmac/html-old.tmac: Removed.
481 * tmac/troffrc, tmac/troffrc-end: Updated.
482 * tmac/www.tmac: Remove special code for html-old device.
483 Replace `html-or-html-old' register with `www-html'.
485 * src/libs/libgroff/tmpfile.cc (remove_tmp_files),
486 src/libs/libgroff/htmlindicate.cc (graphic_end),
487 include/htmlindicate.h, src/preproc/grn/*.cc,
488 src/roff/groff/env.{cc,h}: Remove `void' parameter if used as a
489 single argument for consistency with rest of source code.
491 * aclocal.m4, tmac/an-old.tmac: Fix copyright.
493 2001-04-13 Ruslan Ermilov <ru@FreeBSD.org>
495 * src/roff/troff/troff.man: Fixing typos.
497 2001-04-13 Werner LEMBERG <wl@gnu.org>
499 * doc/pic.ms: Fixing many font switches.
500 * doc/groff.texinfo: Fixes, additions.
501 * MORE.STUFF: Updated.
503 2001-04-12 Gaius Mulley <gaius@glam.ac.uk>
505 * src/devices/grohtml/grohtml.man: Updated manual page regarding
507 * src/preproc/html/pre-html.cc (createImage): Fixed right hand
509 (removeTempFiles): New function to tidy up temporary files.
510 * src/preproc/html/pre-html.cc (main): Calls `removeTempFiles()'.
511 Many fixes to do with the new inline suppress node and image regions
513 * src/devices/grohtml/post-html.cc: New method `is_auto_img'.
514 (generate_img_src): New function.
515 (html_printer::do_auto_image): Utilizes it.
516 (do_heading, do_title): Include inline images within their contents.
517 (html_printer::begin_page): Tidied up comments that are issued to
518 the html output file.
519 (html_printer::do_fill): Fixed so that `.nf' works with fonts other
521 (text_glob::is_br): New method used by do_heading.
522 * tmac/s.tmac: If -Thtml then emit $1 in .IP rather than its
523 equivalent diversion.
524 * src/include/html-strings.h: Altered image tags to reflect the
526 * src/include/htmlindicate.h (html_end_suppress): Added `is_inline'
528 * src/preproc/eqn/main.cc: Will suppress generation of image tags if
529 it is already inside a pic image. Only emit tags if the argument
530 `-Tps:html' is present.
531 * src/preproc/tbl/main.cc: Changes to reflect additional
532 `html_end_suppress' parameter.
533 * src/roff/troff/env.cc: Only emit eol tag if a node has been
534 emitted since the last eol tag was written.
535 * src/roff/troff/env.h: New boolean `emitted_node'.
536 * src/roff/troff/input.cc (do_suppress): Handles extra suppress
537 nodes \O3, \O4, \O5. No longer use `output_low_mark_miny'.
538 * src/roff/troff/node.cc (check_charinfo): New method.
539 (troff_output_file::determine_line_limits): Alterations to limit
541 * tmac/www.tmac: Changes to reflect new suppress nodes.
543 2001-04-12 Bruno Haible <haible@clisp.cons.org>
545 * src/devices/grohtml/post-html.cc (html_printer::add_to_sbuf):
546 Escape the html_glyph in the buffer.
547 (str_translate_to_html): Output the unescaped escaped_char.
548 * src/devices/grohtml/html-text.cc (issue_table_begin): Set
549 `frame=void', not `frame=none'. Add `border=0'.
551 2001-04-12 Werner LEMBERG <wl@gnu.org>
553 * PROBLEMS: Add some words on how to avoid wrapper macros.
555 2001-04-11 Blake McBride <blake@florida-software.com>
557 * src/include/nonposix.h (fileno) [_MSC_VER]: Removed.
559 2001-04-11 Werner LEMBERG <wl@gnu.org>
561 * font/devlbp/Makefile.sub (CLEANADD): Set it.
562 * tmac/Makefile.sub (CLEANADD): Add tmac.local-s.
563 * Makefile.in (dist): Don't remove src/xditview/Imakefile, but ...
564 * Makefile.sub (DISTCLEANFILES): Here.
566 * libs/libgroff/new.cc: Include `nonposix.h'.
567 * win32-diffs: Updated.
569 2001-04-10 Ruslan Ermilov <ru@FreeBSD.org>
571 Added skeleton macro for defunct macros.
573 Updated documentation.
575 When inside displays, an empty input line warning should be
576 suppressed. If another macro call is put inside a display,
577 all subsequent empty lines found in that display caused a
578 warning to be emitted.
580 * tmac/doc.tmac (doc-defunct-macro): New macro.
581 (Db, Ds, Ex, Or, Sf): Reimplemented using this macro.
582 (doc-restore-global-vars): Fixed typo.
583 (doc-empty-line): Check the `doc-display-depth' register to
584 determine whether we are inside display or not.
586 * tmac/doc-common: Removed `Or' and `Sf' registers.
587 Moved obsolete `Ds' macro to doc.tmac.
589 * tmac/groff_mdoc.man: Bump document date.
590 Document `.Vt' under ``Variable Types''.
591 Removed documentation for obsolete `.Or' macro.
593 2001-04-10 Werner LEMBERG <wl@gnu.org>
596 * doc/groff.texinfo: Many fixes, additions, clarifications, etc.
598 2001-04-10 Bruno Haible <haible@clisp.cons.org>
600 * src/devices/grodvi/dvi.cc (main): Accept --help and --version.
601 (usage): Add stream argument. Don't exit.
602 * src/devices/grohtml/post-html.cc (main): Accept --help and --version.
603 Write --version output to stdout, not stderr.
604 (usage): Add stream argument. Don't exit.
605 * src/devices/grohtml-old/html.cc (main): Accept --help and --version.
606 (usage): Add stream argument. Don't exit.
607 * src/devices/grolbp/lbp.cc (long_options): Use symbolic getopt.h
609 (usage): Add stream argument. Don't exit.
610 (main): Write --help output to stdout, not stderr.
611 * src/devices/grolj4/lj4.cc (main): Accept --help and --version.
612 (usage): Add stream argument. Don't exit.
613 * src/devices/grops/ps.cc (main): Accept --help and --version.
614 (usage): Add stream argument. Don't exit.
615 * src/devices/grotty/tty.cc (main): Accept --help and --version.
616 (usage): Add stream argument. Don't exit.
617 * src/preproc/eqn/main.cc (usage): Add stream argument. Don't exit.
618 (main): Accept --help and --version.
619 * src/preproc/grn/main.cc (usage): Add stream argument. Don't exit.
620 (main): Accept --help and --version.
621 * src/preproc/html/pre-html.cc (usage): Add stream argument.
622 (scanArguments): Accept --help and --version.
623 * src/preproc/pic/main.cc (usage): Add stream argument. Don't exit.
624 (main): Accept --help and --version.
625 * src/preproc/refer/refer.cc (main): Accept --help and --version.
626 (usage): Add stream argument. Don't exit.
627 * src/preproc/soelim/soelim.cc (usage): Add stream argument. Don't
629 (main): Accept --help and --version.
630 * src/preproc/tbl/main.cc (usage): Add stream argument. Don't exit.
631 (main): Accept --help and --version.
632 * src/roff/groff/groff.cc (main): Accept --help and --version.
633 (synopsis): Add stream argument.
634 (help): Write --help output to stdout, not stderr.
635 (usage): Add stream argument. Don't exit.
636 * src/roff/grog/grog.pl: Accept --help and --version.
638 * src/roff/grog/grog.sh: Accept --help and --version.
639 * src/roff/nroff/nroff.sh: Accept --help and --version.
640 * src/roff/troff/input.cc (USAGE_EXIT_CODE): Remove macro.
641 (usage): Add stream argument. Don't exit.
642 (main): Accept --help and --version.
643 * src/utils/addftinfo/addftinfo.cc (main): Accept --help and --version.
644 (usage): New function with stream argument, doesn't exit.
645 * src/utils/hpftodit/hpftodit.cc (main): Accept --help and --version.
646 (usage): New function with stream argument, doesn't exit.
647 * src/utils/indxbib/indxbib.cc (main): Accept --help and --version.
648 (usage): Add stream argument. Don't exit.
649 * src/utils/lkbib/lkbib.cc (usage): Add stream argument. Don't exit.
650 (main): Accept --help and --version.
651 * src/utils/lookbib/lookbib.cc (usage): Add stream argument. Don't
653 (main): Accept --help and --version.
654 * src/utils/pfbtops/pfbtops.c (usage): Add stream argument. Don't exit.
655 (main): Accept --help and --version.
656 * src/utils/tfmtodit/tfmtodit.cc (main): Accept --help and --version.
657 (usage): Add stream argument. Don't exit.
659 2001-04-10 Ruslan Ermilov <ru@freebsd.org>
661 Fix indentation in SYNOPSIS.
663 Updated to include changes of latest BSD mdoc version (basically,
664 the only change is that `.Fn' and `.Fc' put a final semicolon after
665 a function declaration in the SYNOPSIS section).
667 * tmac/doc.tmac (doc-in-synopsis-count): Replaced with ...
668 (doc-in-synopsis-section): New variable. Updated all related
670 (doc-indent-synopsis-active): New register.
671 (Nd, Fn, Fo): Use it.
672 (Cd): It requires manipulation of \n[doc-indent-synopsis] so that
673 `.Cd' with long argument line produces indented wrapped lines.
674 Also, the misplaced `.nop \*[doc-Nm-font]\c'' caused extra
675 undesirable line break to be output.
676 (doc-do-func-decl, Nm, Vt, Fn, Fo): Remove extraneous calls to
678 (Fn, Fc): Add final `;' to output.
679 (doc-save-global-vars, doc-restore-global-vars): Updated.
680 * tmac/doc-common: Remove `Ex' register.
682 * tmac/doc-ditroff, tmac/doc-nroff, tmac/doc-syms: Updated
685 2001-04-06 Ruslan Ermilov <ru@freebsd.org>
687 * tmac/doc.tmac (Cd): Simplify code.
688 * tmac/groff_mdoc.man: Document some behaviour of `Cd' request.
690 2001-04-06 Werner LEMBERG <wl@gnu.org>
692 Implement continuous underlining for nroff mode. To do that, a new
693 request in the ditroff language has been added: `x u N' (N is 0
696 \X and \Y are now transparent to end-of-sentence recognition.
698 * src/include/printer.h (printer): Add `type' parameter to `special'
700 * src/libs/libdriver/printer.cc (printer::special): Updated.
701 * src/libs/libdriver/input.cc (do_file): Handle `x u N'.
703 * src/devices/dvi/dvi.cc (dvi_printer::special): Handle only
704 specials of type `p'.
705 * src/devices/grohtml/post-html.cc (html_printer::special): Ditto.
706 * src/devices/grohtml-old/html.cc (html_printer::special): Ditto.
707 * src/devices/grops/ps.cc (ps_printer::special): Ditto.
708 * src/devices/grotty/tty.cc: Add new enum CU_MODE.
709 (glyph::order): New method.
710 (tty_printer::add_char): Use it.
711 (tty_printer::special): New method.
712 (tty_printer::end_page): Implement it.
714 * src/roff/troff/node.h (special_node): Add `no_init_string' member.
715 * src/roff/troff/node.cc (special_node::special_node): Add parameter
716 to set `no_init_string'.
717 (special_node::tprint_start): Use it.
718 (special_node::same, special_node::copy): Updated.
719 (special_node::ends_sentence): New method.
720 (troff_output_file::start_special): Add parameter to include
721 inititialization of special conditionally.
723 * src/roff/troff/env.h (environment): New member `underline_spaces'.
724 * src/roff/troff/env.cc (do_underline_special): New function.
725 (environment::set_font): Use it.
726 (do_underline): Use it. This was `underline()'.
727 (underline): Call `do_underline()'.
728 (continuous_underline): New function which calls `do_underline()'.
729 (environment::newline): Use `do_underline_special()'.
730 (init_env_requests): Updated.
732 * NEWS, man/troff_out.man: Updated.
734 2001-04-06 Bruno Haible <haible@clisp.cons.org>
736 * font/devutf8/R.proto: Fix code of 'shc'.
738 2001-04-06 Ruslan Ermilov <ru@freebsd.org>
740 Many fixes. Diag lists can now be nested also; additionally,
741 `-compact' and `-offset' are supported.
743 * tmac/doc.tmac (doc-have-indent): Replaced with ...
744 (doc-list-have-indent-stackXXX): A new register stack.
745 (doc-have-diag-list): Removed.
746 (Bl): Use `doc-list-have-indent-stackXXX'.
748 (doc-diag-list): Use `doc-compact-list-stackXXX'.
749 (doc-tag-list): Use `doc-list-have-indent-stackXXX'.
750 (doc-set-vertical-and-indent): Ditto.
751 (doc-next-list-depth): Removed.
752 (doc-increment-list-stack): Updated.
753 (doc-decrement-list-stack): Use `doc-list-depth' instead of
754 `doc-next-list-depth'.
755 (doc-end-list, doc-end-column-list): Don't use
756 `doc-increment-list-stack'.
757 (doc-set-column-tab): Don't use `doc-list-offset-stackXXX'.
758 (doc-save-global-vars, doc-restore-global-vars): Updated.
759 * tmac/doc-common: Updated.
760 * tmac/groff_mdoc.man: Updated.
763 2001-04-02 Werner LEMBERG <wl@gnu.org>
765 * src/devices/grotty/grotty.man: Fix grammatical error.
767 2001-03-30 Ruslan Ermilov <ru@freebsd.org>
769 Remove .Ld from mdoc package; replace it with special handling of
772 * tmac/doc-common: Remove `Ld' register.
773 Uncomment `doc-volume-ds-*' strings.
774 Remove `doc-operating-system-default'.
776 * tmac/doc-syms (Ld): Removed.
777 * tmac/doc.tmac (doc-parse-args, doc-parse-arg-vector): Handle
781 * tmac/groff_mdoc.man: Many fixes and updates.
783 2001-03-29 Werner LEMBERG <wl@gnu.org>
785 * tmac/troffrc-end: Protect data with `.do'. Reported by T. Kurt
786 Bond <tkb@tkb.mpl.com>.
787 * tmac/www.tmac: Save compatibility mode.
789 2001-03-28 Ruslan Ermilov <ru@freebsd.org>
791 * tmac/groff_mdoc.man: Many fixes.
793 2001-03-28 Werner LEMBERG <wl@gnu.org>
795 * src/preproc/soelim/soelim.man: Document that `.<whitespace>so'
798 2001-03-27 Werner LEMBERG <wl@gnu.org>
800 * tmac/an-old.tmac (TP, an-do-tag): Reduce line length while in
801 diversion. This fixes overlong tags.
803 2001-03-26 Werner LEMBERG <wl@gnu.org>
805 * doc/groff.texinfo: Fixed and improved documentation of fonts.
806 * tmac/doc-syms: Fix error messages.
807 * tmac/an-old.tmac: Remove incorrect double backslashes.
809 2001-03-24 Ruslan Ermilov <ru@freebsd.org>
811 * tmac/Makefile.sub: Strip mdoc.local also
812 * tmac/strip.sed: Fixed.
814 2001-03-24 Werner LEMBERG <wl@gnu.org>
816 * tmac/doc-nroff, tmac/doc-ditroff: Implement -rSxx switch for
817 selecting the font size.
818 * tmac/groff_mdoc.man, NEWS: Document it.
820 2001-03-23 Werner LEMBERG <wl@gnu.org>
822 * src/roff/troff/div.cc (save_vertical_space): Add default argument
824 * src/roff/troff/env.cc (family_change): Make `.fam' accept no
825 argument to restore previous font family.
826 * src/roff/troff/troff.man, man/groff.man, NEWS: Updated.
828 * doc/groff.texinfo: More fixes and additions (mainly for font
829 manipulating commands).
831 * tmac/groff_mdoc.reference.man: Small updates and renamed to ...
832 * tmac/groff_mdoc.man: This. The quick reference has been removed.
833 * tmac/Makefile.sub, NEWS: Updated.
835 2001-03-23 Werner LEMBERG <wl@gnu.org>
837 Replaced mdoc implementation. The new version is `state of the
838 art', using almost all new features of groff 1.17 -- it won't run
841 * tmac/doc.tmac: Completely rewritten.
842 * tmac/doc-common: Ditto.
843 * tmac/doc-nroff: Ditto.
844 * tmac/doc-ditroff: Ditto.
845 * tmac/doc-syms: Ditto.
846 * tmac/mdoc.local: New file.
847 * tmac/groff_mdoc.samples.man: Replaced with ...
848 * tmac/groff_mdoc.reference.man: New file, covering mdoc completely.
849 * tmac/strip.sed: Updated.
850 * tmac/Makefile.sub: Updated.
853 * tmac/groff_man.man: Add `man.local' to the FILES section.
855 2001-03-22 Werner LEMBERG <wl@gnu.org>
857 * doc/groff.texinfo: Added many @noindent.
858 Replaced @end_Example -> @endExample.
859 Added info whether registers are r/o.
860 Many other additions and fixes.
862 2001-03-21 Werner LEMBERG <wl@gnu.org>
864 * doc/groff.texinfo: Added macro @Var (and some hacks due to bugs
865 in makeinfo of texinfo 4.0) to be used in @Def* macros.
866 Improved @Def* macros: Now the exact syntax of request, register,
867 and escapes is shown.
868 Added macros for parentheses and brackets to be used in @Def*.
869 Many fixes and improvements of the documentation.
871 2001-03-20 Werner LEMBERG <wl@gnu.org>
873 * doc/groff.texinfo: Added new index: `st' (for strings).
874 Added macros @Defstr(x).
875 Added macro @Example (adding @group).
876 Other minor improvements.
878 2001-03-19 Werner LEMBERG <wl@gnu.org>
880 * doc/groff.texinfo: Added two new indices: `es' (for escapes) and
881 `rq' for requests. `fn' is no longer used.
882 Added macros @Defreq(x), @Defreg(x), and @Defesc(x).
885 * tmac/an-old.tmac (an-p-footer): If `cR' is set, replace page
886 number with name of man page.
888 2001-03-19 Larry Kollar <kollar@alltel.net>
890 * doc/groff.texinfo: Complete revision. Added many @Deffn to gain
893 2001-03-19 Werner LEMBERG <wl@gnu.org>
895 * man/groff_font.man: Document `prepro', `postpro', and `print'.
896 * src/roff/groff/groff.man: Improve documentation of `-l' and `-L'.
897 * src/devices/grohtml/grohtml.man: Fixing typos.
899 2001-03-19 Gaius Mulley <gaius@glam.ac.uk>
901 * tmac/s.tmac (@IP): Pass `.ip' html tag.
902 * tmac/groff_mwww.man: Remove .LINE macro
903 * tmac/www.tmac (LINE): Add `.ti'.
905 * src/devices/grohtml/post-html.cc (html_printer): New member
907 (html_printer::emit_raw): Use it.
908 (html_printer::do_linelength): Ditto.
909 (html_printer::do_pageoffset): Ditto.
910 (html_printer::do_indentation): Ditto.
911 (html_printer::do_tempindent): Ditto.
912 (html_printer::do_break): Ditto.
913 (html_printer::begin_page): Ditto.
914 (html_printer::do_indentedparagraph): New function.
915 (html_printer::troff_tag): Handle `.ip'.
916 * src/devices/grohtml/html-text.cc (html_text::issue_table_begin):
917 Add `<td width=...>' handling.
918 (html_text::do_table): Add parameter.
919 (html_text::do_indent): Updated.
920 * src/devices/groohtml/html-text.h: Updated.
922 2001-03-16 Gaius Mulley <gaius@glam.ac.uk>
924 Introduced simple html tables to implement indentation.
926 * src/devices/grohtml/html.h (word, word_list): New structures.
927 (simple_output): Use it.
928 * src/devices/grohtml/post-html.cc: Add `INDENTATION'.
929 (html_printer): Improve indentation handling.
930 (html_printer::emit_raw): Set `in_table' element. Handle
932 (html_printer::write_header): Move conditional downwards.
933 Don't allow whitespace in tags.
934 (html_printer::do_linelength): Handle line length and indentation
936 (html_printer::do_pageoffset): Handle indentation conditionally.
937 (html_printer::do_indentation): Ditto.
938 (html_printer::do_tempindent): New function member.
939 (html_printer::do_fill): Take care of indentation.
940 (html_printer::do_flush): Finish table.
941 (html_printer::do_links): Ditto.
942 (html_printer::do_break): New function for handling `.br' and `.ti'.
943 (html_printer::troff_tag): Use it.
945 (html_printer::flush_globs): Fix.
946 (html_printer::flush_page): Finish table.
947 (html_printer::html_printer): Fix error message. Set up
949 (html_printer::add_to_sbuf): Remove special handling of character
951 (to_unicode): Remove `stop()'.
952 (html_printer::write_title): Cleanup.
953 (html_printer::begin_page): Use `put_string()'. Handle indentation.
954 (html_printer::~html_printer): Flush text and end the line.
956 * src/devices/grohtml/html_text.h: Add more *_TAG enum values.
957 * src/devices/grohtml/html_text.cc (html_text::end_tag): Fix
959 (html_text::start_tag): Disable newlines.
960 (html_text::table_is_void): New function.
961 (html_text::issue_table_begin): Ditto.
962 (html_text::issue_table_end): Ditto.
963 (html_text::push_para): Better table handling.
964 (html_text::do_indent): New function.
965 (html_text::do_table): Ditto.
966 (html_text::done_table): Ditto.
967 (html_text::do_tt): Handle PRE_TAG.
968 (html_text::is_in_table): New function.
969 (html_text::check_emit_text): Handle tables.
970 (html_text::do_emittext): Use `nl()'.
971 (html_text::do_para): Handle table.
972 (html_text::remove_def): New function.
973 * src/devices/grohtml/output.cc (word, word_list): Implement
975 (simple_output::end_line): Flush last word.
976 (simple_output::simple_comment): Ditto.
977 (simple_output::begin_comment): Recoded.
978 (simple_output::end_comment): Ditto.
979 (simple_output::comment_arg): Removed.
980 (simple_output::check_newline): Improve test and flush last word.
981 (simple_output::space_or_newline): Improved.
982 (simple_output::write_newline): Replaced with...
983 (simple_output::nl): This.
984 (simple_output::put_raw_char): Flush last word.
985 (simple_output::check_space): Removed.
986 (simple_output::put_translated_string): Ditto.
987 (simple_output::put_string): Simplified.
988 (simple_output::put_number): Updated.
989 (simple_output::put_float): Ditto.
990 (simple_output::put_symbol): Removed.
991 (simple_output::enable_newlines): Add `check_newline()'.
992 (simple_output::flush_last_word): New function.
994 * src/roff/troff/enc.cc (no_fill): Remove call to add_html_tag().
995 * src/roff/troff/div.cc (page_offset): Add call to add_html_tag().
997 * tmac/s.tmac (@PP, @IP): Add html conditional code.
998 * tmac/an-old.tmac (TP): Ditto.
1000 2001-03-09 Ruslan Ermilov <ru@freebsd.org>
1002 * mdate.sh: Make it POSIX compliant.
1004 2001-03-09 Werner LEMBERG <wl@gnu.org>
1006 Added the `return' request to end a macro immediately. It simply
1007 pops iterators from the input stack until a macro iterator is found.
1009 * src/roff/troff/input.cc (input_iterator::is_macro,
1010 macro_iterator::is_macro): New member.
1011 (input_return_boundary): New class to signal an immediate return
1013 (input_stack::add_return_boundary, input_stack::is_return_boundary):
1015 (input_stack::clear): Use it.
1016 (input_stack::pop_macro): New function.
1017 (while_request): Use `is_return_boundary()'.
1018 (return_macro_request): New function.
1019 (init_input_requests): Use it.
1021 * src/roff/troff/TODO: Updated.
1022 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
1024 2001-03-08 Werner LEMBERG <wl@gnu.org>
1026 * src/roff/troff/input.cc (input_iterator::is_boundary): Minor
1029 2001-03-07 Werner LEMBERG <wl@gnu.org>
1031 Make `\B' more rigid.
1033 * src/roff/troff/number.cc (parse_expr, parse_term): Add `rigid'
1035 (get_number_rigidly): New function.
1036 * src/roff/troff/input.cc (do_expr_test): Use it.
1037 * src/roff/troff/token.h: Updated.
1039 * src/roff/troff/request.h: Fix typo (init_html_request ->
1040 init_markup_request).
1042 2001-03-04 Gaius Mulley <gaius@glam.ac.uk>
1044 Fixed grohtml handling of any named glyph for glyph indexes < 0x80.
1045 Cosmetic changes to `.html-begin', `.html-end', `.html-image' which
1046 are now `.begin', `.end', `.image'.
1048 * src/devices/grohtml/post-html.cc: Adding UNICODE_DESC_START.
1049 (html_printer::add_to_sbuf): Changing type of `code' parameter.
1050 Use add_char_to_sbuf().
1051 (to_unicode): New function.
1052 (char_translate_to_html): Changing type of `ch' parameter.
1054 (html_printer::~html_printer): Comment out doctype string.
1055 * src/preproc/html/pre-html.cc (write_end_image): Use `.end'
1056 instead of `.html-end'.
1057 (write_start_image): Use `.begin' and `.image' instead of
1058 `.html-begin' and `.html-image'.
1059 * src/roff/troff/input.cc: Rename `html_level' to `begin_level'.
1060 (html_begin): Renamed to ...
1062 (html_end): Renamed to ...
1064 (html_image): Renamed to ...
1066 (init_html_requests): Renamed to ...
1067 (init_markup_requests): This.
1068 * tmac/www.tmac: Updated.
1070 2001-02-28 Bram <bram@avontuur.org>
1072 * src/libs/libgroff/font.cc (font_widths_cache): Fixing syntax of
1075 2001-02-26 David Leonard <david.leonard@csee.uq.edu.au>
1077 * doc/meref.me: Fixing some typos.
1079 2001-02-16 Werner LEMBERG <wl@gnu.org>
1081 * src/roff/troff/node.cc (space_node::get_hyphenation_type): New
1082 method. Return `HYPHEN_MIDDLE' if it was `\:'.
1083 * src/roff/troff/node.h: Updated.
1085 2001-02-17 Ruslan Ermilov <ru@FreeBSD.org>
1087 * tmac/groff_tmac.man: Fix typo.
1089 2001-02-16 Werner LEMBERG <wl@gnu.org>
1091 Fixing a bug which prevented proper end-of-sentence recognition
1092 between an `unformatted' box and the following text. As a
1093 consequence, vertical line distances are no longer preserved in
1094 boxes after a call to `.unformat' -- because boxes aren't
1095 line-oriented (contrary to diversions), this doesn't make sense
1098 * src/roff/troff/node.cc (*node::set_unformat_flag): Add return
1100 (vertical_size_node::set_unformat_flag): New method.
1101 * src/roff/troff/node.hh: Updated.
1102 * src/roff/troff/input.cc (word_space_node::reread,
1103 hmotion_node::reread): Reset `unformat' flag after usage.
1104 (unformat_macro): Append only if `set_unformat_flag()' returns
1106 * src/roff/troff/troff.man: Updated.
1108 2001-02-15 Werner LEMBERG <wl@gnu.org>
1110 * src/roff/troff/troff.man, NEWS, man/groff.man: Improved
1111 documentation of `asciify' and `unformat' requests.
1113 2001-02-13 Werner LEMBERG <wl@gnu.org>
1115 Redesigned the `unformat' request. It is no longer connected with
1116 `asciify' but rather uses new `reread()' methods if the `unformat'
1117 flag is set. Additionally, the handling of space characters after
1118 unformatting has been fixed so that they retain their width.
1120 * src/roff/troff/node.h (width_list): New structure to store
1121 original widths of spaces.
1122 (node): Added `unformat' member.
1123 Replaced `num_spaces' variable with `orig_width' list.
1124 * src/roff/troff/node.cc (*node::asciify,
1125 asciify_reverse_node_list): Removed `unformat_only' flag and related
1127 (word_space_node::asciify, word_space_node::word_space_node): Use
1129 (word_space_node::~word_space_node): New destructor.
1130 (word_space_node::copy): Updated to handle `orig_width'.
1131 (hmotion_node::copy, unbreakable_space_node::copy): Updated.
1132 (*node::merge_space): Update `orig_width' list if necessary.
1133 (*node::set_unformat_flag): New methods to set the `unformat' flag.
1134 * src/roff/troff/enc.cc (environment::space_newline): Use
1136 (environment::space): Added method to handle space width and
1137 sentence space width as parameters. Use `width_list'.
1138 (environment::make_tab_node): Updated.
1139 * src/roff/troff/env.h: Updated.
1140 * src/roff/troff/input.cc (word_space_node::reread,
1141 unbreakable_space_node::reread, hmotion_node::reread): New methods
1142 to handle nodes specially if `unformat' flag is set.
1143 (do_asciify_macro): Renamed back to ...
1144 (asciify_macro): This.
1145 (unformat_macro): New implementation to simply set the `unformat'
1148 * MORE.STUFF: Added more info about deroff.
1150 2001-02-08 Werner LEMBERG <wl@gnu.org>
1152 * src/roff/troff/node.h (unbreakable_space_node, hmotion_node,
1153 space_char_hmotion_node, overstrike_node): Add `get_hyphen_list()'
1154 and `add_self()' methods to avoid hyphenation. For example, the
1155 hyphen list for `foo\0\0bar' was `foobar', causing insertion of a
1156 soft hyphen after `foo'. Now the hyphen list is correctly
1157 `foo<ignore><ignore>bar'.
1159 2001-02-05 Yoshiteru Kageyama <yt-kage@cb3.so-net.ne.jp>
1161 * tmac/groff_tmac.man: Fix `BIR' macro.
1163 2001-02-04 Werner LEMBERG <wl@gnu.org>
1165 A new escape sequence `\:', inserting a zero-width break point.
1167 * src/roff/troff/input.h: Adding `ESCAPE_COLON'.
1168 * src/roff/troff/input.cc (get_copy, token::next, asciify):
1170 * src/roff/troff/node.h (node): Add `is_escape_colon()' virtual
1172 (space_node): Add `was_escape_colon' member. Add `is_escape_colon()'
1173 and `asciify()' methods.
1174 * src/roff/troff/node.cc (space_node::space_node): Updated.
1175 (space_node::asciify): Handle `was_escape_colon'.
1176 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
1178 Handle `\~' similar to other comparable requests.
1180 * src/roff/troff/input.cc (process_input_stack): Remove now obsolete
1182 (token::next): Move creation of an unbreakable_space_node to...
1183 (token::add_to_node_list): Here.
1185 Fix a bug which sometimes prevented hyphenation of words connected
1186 with `\~' or `\ ' (and other escape sequences handled as
1187 TOKEN_NODE). This also fixes a hyphenation problem with boxes
1188 (after a call to the `unformat' request).
1190 * src/roff/troff/env.h (environment::possibly_break_line,
1191 environment::hyphenate_line): Introducing `start_here' parameter.
1192 * src/roff/troff/env.cc (environment::space_newline,
1193 environment::space): Use it.
1194 (environment::possibly_break_line, environment::hyphenate_line):
1196 * src/roff/troff/input.cc (process_input_stack): Use it.
1197 * src/roff/troff/node.h (unbreakable_space_node, hmotion_node,
1198 space_char_hmotion_node, overstrike_node): Add
1199 `get_hyphenation_type()' method.
1200 * src/roff/troff/node.cc (break_char_node::asciify): Don't asciify
1201 if `unformat_only' is active.
1203 2001-01-30 Werner LEMBERG <wl@gnu.org>
1205 Implemented new read-only number register `.linetabs' which
1206 returns 1 if in line-tabs mode, 0 otherwise.
1208 * src/roff/troff/env.h (environment): Add get_line_tabs() member.
1209 * src/roff/troff/env.cc (get_line_tabs): New function.
1210 (init_env_requests): Use it.
1211 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
1213 * VERSION, REVISION: Changing to 1.17.0.
1215 2001-01-28 Werner LEMBERG <wl@gnu.org>
1217 Fixed a bug which prevented hyphenation of words which are finished
1220 * src/roff/troff/token.h (token): Add enum type
1221 `TOKEN_TRANSPARENT_DUMMY' and method `transparent_dummy()'.
1222 * src/roff/troff/input.cc (token::next, token::description,
1223 get_line_arg, token::add_to_node_list, token::process): Use it.
1225 2001-01-27 Werner LEMBERG <wl@gnu.org>
1227 * src/roff/troff/div.h (diversion): Add `saved_prev_line_interrupted'.
1228 * src/roff/troff/div.cc (do_divert): Use it.
1230 * src/roff/troff/input.cc (asciify): Add ESCAPE_RIGHT_PARENTHESIS.
1232 2001-01-25 Werner LEMBERG <wl@gnu.org>
1234 Adding the `linetabs' request. If set, tab distances are not
1235 computed relative to the input line but relative to the output line.
1237 * src/roff/troff/env.h (environment): New member `line_tabs'.
1238 * src/roff/troff/env.cc (line_tabs_request): Implement request.
1239 (environment::environment, environment::copy): Updated.
1240 (environment::distance_to_next_tab): Use `line_tabs'.
1241 (init_env_requests): Register request.
1242 * src/roff/troff/troff.man, man/groff.man, NEWS: Document it. Other
1245 2001-01-24 Werner LEMBERG <wl@gnu.org>
1247 Introducing a new read-only register `.int' which is set to a
1248 positive value if the last output line is interrupted (i.e., if it
1251 * src/roff/troff/env.cc (init_env_requests): Add it.
1252 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
1254 2001-01-23 Gaius Mulley <gaius@glam.ac.uk>
1256 * tmac/mwww.tmac: Call `www.tmac', not `arkup.tmac'.
1257 * src/preproc/html/pre-html.cc (findPrefix): New function which
1258 generates the troff executable name via the system prefix.
1259 * src/preproc/eqn/main.cc: Modified warning message.
1261 2001-01-23 Werner LEMBERG <wl@gnu.org>
1263 troff's `box' and `boxa' requests didn't preserve temporary
1266 * src/roff/troff/div.h (diversion): Add `saved_saved_indent' and
1267 `saved_target_text_length' members.
1268 * src/roff/troff/div.cc (do_divert): Use them.
1270 Tabs (but not yet leaders and fields) are now handled correctly by
1273 * node.h (hmotion_node): Add field `was_tab'.
1274 * env.cc (environment::make_tab_node): Set it.
1275 * node.cc (hmotion_node::copy, hmotion_node::asciify): Use it.
1277 Added new request `unformat' which will, contrary to `asciify',
1278 preserve font information after unformatting (i.e., only nodes
1279 dealing with horizontal space are converted back to input
1282 * input.cc (asciify_macro): Renamed to ...
1283 (do_asciify_macro): this, having a new parameter `unformat_only'.
1284 (asciify_macro, unformat_macro): New; using do_asciify_macro.
1285 (init_input_requests): Added `unformat'.
1286 * node.cc (*_node::asciify), asciify_reverse_node_list: Added
1287 parameter to control asciification process.
1288 * node.h (*_node::asciify): Ditto.
1289 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
1291 2001-01-20 Werner LEMBERG <wl@gnu.org>
1293 * doc/groff.texinfo: Minor improvement of `.in' documentation.
1295 2001-01-18 Werner LEMBERG <wl@gnu.org>
1297 * tmac/ps.tmac: Remove call of psold.tmac.
1298 * tmac/psold.tmac: Comment updated.
1299 * tmac/psnew.tmac: Removed since no longer needed.
1300 * tmac/Makefile.sub, NEWS, src/devices/grops/grops.man: Updated.
1302 * font/devutf8/R.proto: Adding `shc' glyph.
1303 * font/devutf8/NOTES: Updated.
1305 * test-groff: Updated.
1307 2001-01-15 Gaius Mulley <gaius@glam.ac.uk>
1309 First cut of the new html device driver. Changes to pre-html and
1310 the new grohtml are too numerous to be documented here.
1312 Stuff related to `html' has been renamed to `html-old' and `html2'
1313 stuff has been renamed to `html' (including directories). The new
1314 html device driver is therefore invoked as `-Thtml'.
1316 Added new `\O' escape to suppress output (needed by html driver).
1318 Added functions and code to pass info about input-level commands
1319 (`.in', `.fl', etc.) to html driver.
1321 Three new functions (.html-begin, .html-end, and .html-image) for
1322 better html handling: `html-begin' will execute the remaining line
1323 if at the outermost nesting level, increasing an internal counter.
1324 `html-end' does the same but decreases the internal counter.
1325 `html_image' puts its arguments into a special node (suppress_node)
1326 to define an image region.
1328 The `output' request has been removed.
1330 * tmac/html-tags.tmac: Removed.
1331 * tmac/arkup.tmac: Updated and renamed to ...
1332 * tmac/www.tmac: New file.
1333 * tmac/markup.tmac Updated and renamed to ...
1334 * tmac/mwww.tmac: New file.
1335 * tmac/Makefile.sub: Updated.
1336 * tmac/an-old.tmac: Updated.
1337 * tmac/eqnrc: Updated.
1338 * tmac/groff_man.man
1339 * tmac/groff_markup.man: Updated and renamed to ...
1340 * tmac/groff_mwww.man: New file.
1341 * tmac/groff_tmac.man: Updated.
1342 * tmac/html-old.tmac: Updated and Renamed from html.tmac.
1343 * tmac/html.tmac: Updated and renamed from html2.tmac.
1344 * tmac/pspic.tmac: Updated html support.
1345 * tmac/s.tmac: Added html output support.
1346 * tmac/troffrc, tmac/troffrc-end: Updated.
1348 * Makefile.in, doc/Makefile: Updated.
1349 * doc/groff.texinfo: Added info about new `\O' escape.
1350 * doc/homepage.ms: Use `MAILTO' macro.
1352 * font/devhtml/DESC.proto: Add `C' font.
1353 * font/devhtml/Makefile.sub: Updated.
1354 * font/devhtml/R.proto: Minor fixes.
1355 * font/devhtml-old/Makefile.sub: Updated.
1357 * src/devices/grohtml-old/Makefile.sub: Updated.
1359 * src/libs/libdriver/printer.cc (printer::get_font_from_index): New
1361 * src/libs/libgroff/htmlindicate.cc (html_begin_suppress,
1362 graphic_start): Add `inline' parameter. Update.
1363 (html_end_suppress, graphic_end): Update.
1365 * src/include/html-strings.h: New file.
1366 * src/include/htmlindicate.h: Comments updated.
1367 * src/include/printer.h: Updated.
1369 * src/preproc/eqn/main.cc (do_file, main): Updated.
1370 * src/preproc/pic/troff.cc (troff_output::start_picture,
1371 troff_output::finish_picture): Updated.
1372 * src/preproc/tbl/main.cc (process_input_file): Updated.
1374 * src/roff/groff/groff.cc (main): Updated.
1375 Pass device arguments to predrivers also.
1376 Use `ps' device for `eqn' preprocessor if `-Thtml' is given.
1377 * src/roff/troff/env.h (environment): Updated.
1378 New elements `need_eol' and `ignore_next_eol' (for html output).
1379 * src/roff/troff/env.cc (environment::environment): Add initializers
1380 for `need_eol' and `ignore_next_eol'.
1381 (environment::add_html_tag_eol, environment::add_html_tag_tabs): New
1383 (point_size, fill, no_fill, center, right_justify, line_length,
1384 indent, temporary_indent, break_request, handle_tab): Use
1386 (set_tabs): Use `add_html_tag_tabs()'.
1387 (environment::add_html_tag): Updated.
1388 (environment::do_break): Updated.
1389 * src/roff/troff/div.cc (space_request, flush_output): Use
1390 `environment::add_html_tag()'.
1391 * src/roff/troff/input.cc: Updated.
1392 New variable `html_level' to indicate nested `html-begin' requests.
1393 (file_iterator::fill): Use `environment::add_html_tag_eol()'.
1394 (non_interpreted_char_node, token_node, non_interpreted_node): Add
1395 `force_tprint()' method.
1396 (token::next): Handle `\O'.
1397 (do_suppress): Implement it.
1398 (html_begin, html_end, html_image): New functions.
1399 (init_output_requests): Renamed to ...
1400 (init_html_requests): this.
1402 (macro::append_str, macro::append_unsigned, macro::append_int): New
1404 New variable `output_low_mark_miny' to limit minimal value of y.
1405 (reset_output_registers): Use it.
1406 (output_request): Removed.
1407 (get_output_registers): New function.
1408 * src/roff/troff/node.h (node): Make `force_tprint()' virtual.
1409 (*_node): Added `force_tprint()' if necessary.
1410 (special_node): New elements `tf' and `get_tfont()'.
1411 (suppress_node): New class.
1412 * src/roff/troff/node.cc:
1413 New global variables `image_no' and `suppress_start_page'.
1414 (real_output_file): New method `is_on()'.
1415 (troff_output_file): New method `start_special(tfont)'.
1416 (troff_output_file::really_print_line): Use `tprint' conditionally.
1417 (real_output_file::print_line): Updated.
1418 (real_output_file::on): Updated.
1419 (*_node): Added `force_tprint()'.
1420 (special_node::special_node): Initializer updated.
1421 (special_node::same, special_node::copy, special_node::tprint_start):
1423 (get_reg_int, get_reg_str): New functions.
1424 (suppress_node::*): New methods.
1425 New global variables last_position, last_image_filename;
1426 (min): New inline function.
1427 * src/roff/troff/reg.h, src/roff/troff/request.h,
1428 src/roff/troff/troff.h: Updated.
1430 2001-01-13 Werner LEMBERG <wl@gnu.org>
1432 * NEWS, src/roff/troff/troff.man, doc/groff.texinfo: Fix
1433 documentation of `asciify' request.
1435 2001-01-12 Werner LEMBERG <wl@gnu.org>
1437 * src/roff/troff/input.cc: Move definition of special characters
1438 like `ESCAPE_TILDE' to ...
1439 * src/roff/troff/input.h: New file.
1440 * src/roff/troff/Makefile.sub (HDRS): Add it.
1442 Extending the .asciify request to `unformat' space characters also.
1444 * src/roff/troff/node.h (word_space_node): Add `num_spaces' element
1445 to count input space characters.
1446 Update constructors to take care of it.
1447 * src/roff/troff/node.cc (space_char_hmotion_node::asciify): Use
1448 `ESCAPE_SPACE' instead of normal space.
1449 (word_space_node::asciify): New method.
1450 (unbreakable_space_node::asciify): New method.
1451 (word_space_node::merge_space): New method.
1452 * src/roff/troff/env.cc (environment::space_newline,
1453 environment::space): Add code to initialize `num_spaces' (using the
1454 constructor of `word_space_node').
1455 * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo:
1458 2001-01-09 Werner LEMBERG <wl@gnu.org>
1460 * man/groff_char.man: Use table header traps only conditionally.
1462 2001-01-09 Bjarni Ingi Gíslason <bjarniig@hi.is>
1464 * man/groff_char.man: Add `ý' and `Ý' to the `acute' group.
1466 2001-01-08 Werner LEMBERG <wl@gnu.org>
1468 Introducing the `box' and `boxa' requests which are similar to
1469 `di' resp. `da' but omitting a partially filled line (which is
1470 restored after ending the diversion).
1472 * src/roff/troff/div.h (diversion): Add elements to save partially
1474 * src/roff/troff/div.cc (do_divert): Add parameter `boxing' to save
1475 partially filled line.
1476 (divert, divert_append): Updated.
1477 (box, box_append): New functions.
1478 (init_div_requests): Use them.
1479 * src/roff/troff/env.h (environment): do_divert() is now a friend.
1480 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it.
1482 * doc/groff.texinfo: Fix documentation of `lf' request.
1484 2000-12-25 Werner LEMBERG <wl@gnu.org>
1486 * src/roff/troff/troff.man, NEWS: Document `writem' request.
1488 2000-12-21 Werner LEMBERG <wl@gnu.org>
1490 Ignore `ss' request if in compatibility mode.
1492 * src/roff/troff/input.cc: Make `compatible_flag' non-static.
1493 * src/roff/troff/env.h: Added extern `compatible_flag' declaration.
1494 * src/roff/troff/env.cc (space_size): Use it.
1496 * doc/groff.texinfo, src/roff/troff/troff.man: Fix documentation of
1497 `ss' request in nroff mode.
1499 * tmac/an-old.tmac: Fixed some serious bugs introduced with latest
1502 2000-12-15 Ruslan Ermilov <ru@FreeBSD.org>
1504 * tmac/troffrc, tmac/troffrc-end: Convert tmac.* to *.tmac.
1506 2000-12-13 Werner LEMBERG <wl@gnu.org>
1508 * src/preproc/eqn/Makefile.sub (MAN1): Added neqn.man.
1509 * src/preproc/eqn/neqn.man: Small fixes and additions.
1511 2000-12-13 Ruslan Ermilov <ru@FreeBSD.org>
1513 * src/utils/addftinfo/addftinfo.man, src/devices/grops/grops.man:
1516 * src/preproc/eqn/neqn.man: New file.
1518 * src/preproc/tbl/table.cc (table::print): Fix `indent cannot be
1521 * tmac/e.tmac: Add `T&' macro.
1522 Fix `indent cannot be negative' warning.
1523 * tmac/s.tmac: Fix `indent cannot be negative' warning.
1525 2000-12-07 Werner LEMBERG <wl@gnu.org>
1527 * src/include/lib.h: Replaced __ALPHA with __alpha symbol.
1529 2000-12-06 Werner LEMBERG <wl@gnu.org>
1531 * PROBLEMS: Added info about adding -lPW on HP-UX to satisfy the
1534 * MORE.STUFF: Added info about deroff for djgpp.
1536 * tmac/an-old.tmac, tmac/groff_man.man, doc/groff.texinfo, NEWS: Fix
1537 documentation of -rcR switch.
1539 2000-12-03 Werner LEMBERG <wl@gnu.org>
1541 * tmac/an-old.tmac: Implementing the -rcR switch (similar to mdoc);
1542 if -rcR=1 (which is now the default in nroff mode), a single, very
1543 long page is created instead of multiple pages: All `ne' and `wh'
1544 requests are put into conditionals; a new macro `an-end' is added to
1545 be called with `em'.
1547 Some other minor cleanups.
1549 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Updated.
1551 2000-12-02 Werner LEMBERG <wl@gnu.org>
1553 Fixing a bug which prevented hyphenation in words followed
1554 immediately by a TOKEN_NODE (e.g. `\ ', `\~', etc.).
1556 * src/roff/troff/input.cc (process_input_stack <token::TOKEN_NODE>):
1557 Adding possibly_break_line().
1558 * src/roff/troff/env.h (environment): Make possibly_break_line()
1561 Make `\~' usable in .tr request.
1563 * src/roff/troff/token.h (token_type): Add TOKEN_STRETCHABLE_SPACE.
1564 (token): Add stretchable_space().
1565 * src/roff/troff/input.cc (token::next, token::delimiter,
1566 token::description, process_input_stack, do_translate,
1567 add_to_node_list, token::process): Use it.
1568 * src/roff/troff/node.h (node): Add fourth parameter to add_char()
1569 for adjusting the space.
1570 * src/roff/troff/node.cc (node::add_char): Implement it. Add code
1571 for stretchable space.
1572 * src/roff/troff/input.cc (token::add_to_node_list): Use it.
1573 (make_node): Add code for stretchable space.
1574 * src/roff/troff/env.cc (environment::add_char): Use it.
1575 * src/roff/troff/input.cc: Add ESCAPE_TILDE special character.
1576 (get_copy, token::next, transparent_translate, asciify): Use it.
1578 * NEWS, src/roff/troff/troff.man, src/roff/troff/TODO,
1579 doc/groff.texinfo: Updated.
1580 * man/groff.man: Small reorderings.
1582 2000-11-23 Werner LEMBERG <wl@gnu.org>
1585 * src/preproc/eqn/main.cc (main): Use `config_macro_path' for -M
1587 * src/roff/troff/input.cc (main): Add `config_macro_path' and
1588 `safer_macro_path' to -M option.
1589 * src/roff/troff/troff.man: Fixes.
1591 2000-11-22 Werner LEMBERG <wl@gnu.org>
1593 Use safer path (except for config files) if -U isn't specified. Add
1594 a special macro path (without home and current directory) for config
1595 files. Add home directory to unsafe path for consistency. Don't
1596 include the home directory in the font path.
1598 * src/libs/libgroff/macropath.cc: Add `config_macro_path', change
1600 * src/include/macropath.h: Add `config_macrp_path'.
1601 * src/libs/libgroff/fontfile.cc: Fix font path.
1602 * src/roff/troff/input.cc (process_startup_file): Use
1603 `config_macro_path'.
1604 (main): Select unsafe path if -U is given.
1606 * src/preproc/eqn/main.cc (main): Fixing search path for
1608 * src/preproc/eqn/eqn.man: Updated.
1610 * src/roff/troff/troff.man, man/roff.man, tmac/groff_tmac.man:
1613 * src/preproc/grn/grn.man, src/devices/grodvi/grodvi.man,
1614 src/devices/grohtml/grohtml.man, src/devices/grolbp/grplbp.man,
1615 src/devices/grolj4/grolj4.man, src/devices/grops/grops.man,
1616 src/devices/grotty/grotty.man: Updated.
1618 * Makefile.in: Fix comments.
1620 2000-11-17 Werner LEMBERG <wl@gnu.org>
1622 * tmac/safer.tmac: Empty file added (again) for compatibility
1624 * tmac/Makefile.sub: Updated.
1626 2000-11-16 Werner LEMBERG <wl@gnu.org>
1628 * src/devices/grodvi/dvi.cc (main),
1629 src/devices/grohtml2/post-html.cc (main),
1630 src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
1631 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
1632 (main), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc
1633 (main), src/preproc/html2/pre-html.cc (main),
1634 src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main),
1635 src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc
1636 (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc
1637 (main), src/utils/hpftodit/hpftodit.cc (main),
1638 src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc
1639 (main), src/utils/lookbib/lookbib.cc (main),
1640 src/utils/pfbtops/pfbtops.c (main), src/utils/tfmtodit/tfmtodit.cc
1641 (main): Use stdout for -v.
1642 * src/roff/groff/groff.cc (run_commands),
1643 src/roff/groff/pipeline.c (run_pipeline): New parameter `no_pipe'
1644 to make direct printing to stdout possible.
1645 * src/roff/groff/pipeline.h: Updated.
1647 * src/utils/afmtodit/afmtodit.pl: Add -v switch.
1648 * src/utils/afmtodit/Makefile.sub (afmtodit): Use @VERSION@.
1649 * src/utils/afmtodit/afmtodit.man: Updated.
1651 * src/utils/addftinfo/addftinfo.cc (main): Add -v switch.
1652 (version): New function.
1654 * src/utils/addftinfo/addftinfo.man: Updated.
1656 * src/devices/*/*, src/preproc/*/*, src/roff/*/*, src/utils/*/*:
1657 Fixing copyright dates.
1659 * src/preproc/eqn/neqn.sh: Adding GROFF_BIN_PATH to path instead of
1662 * src/devices/grolbp/lbp.cc (main): Use Version_string instead of
1665 * src/roff/nroff/Makefile.sub (nroff): Fix use of @VERSION@.
1667 2000-11-15 Werner LEMBERG <wl@gnu.org>
1669 In all programs, make -v return immediately with exit status 0 to
1670 be compliant with the GNU standard.
1672 * src/devices/grodvi/dvi.cc (main),
1673 src/devices/grohtml2/post-html.cc (main),
1674 src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
1675 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
1676 (main) src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc
1677 (main), src/preproc/html2/pre-html.cc (main),
1678 src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main),
1679 src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc
1680 (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc
1681 (main): Implement it.
1684 * src/roff/groff/groff.cc (main): Add copyright notice. Add refer
1685 and postprocessors to the -v option.
1687 * src/roff/grog/grog.pl: Implement -v.
1688 * src/roff/grog/Makefile.sub (grog): Use @VERSION@.
1689 * src/roff/grog/grog.man, doc/groff.texinfo: Updated.
1691 * src/roff/nroff/nroff.sh: Implement -v.
1692 * src/roff/nroff/Makefile.sub (nroff): Use @VERSION@.
1693 * src/roff/nroff/nroff.man: Updated.
1695 * src/preproc/eqn/main.cc (main): Fix comment typo.
1697 * MORE.STUFF: Added info about djgpp port of grap.
1699 2000-11-14 Werner LEMBERG <wl@gnu.org>
1701 * src/roff/grog/grog.{pl,sh}: Implemented -C switch for compatibility
1702 mode (or rather, implemented non-compatibility mode).
1703 * NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated.
1705 * src/roff/groff/groff.cc (main): Add BIN_PATH to PATH instead of
1706 replacing it -- we don't find gxditview otherwise.
1707 * NEWS, src/roff/groff/groff.man, doc/groff.texinfo: Updated.
1709 * src/preproc/pic/depend: Removed. Unnecessary.
1711 Implemented dummy keyword `solid' in pic for compatibility with
1714 * lex.cc (lookup_keyword): Added `solid'.
1715 * pic.y: Added SOLID with dummy rule.
1716 * pic.cc, pic_tab.h: Regenerated.
1717 * doc/pic.ms: Updated.
1719 2000-11-13 Werner LEMBERG <wl@gnu.org>
1721 For security reasons, don't use the current directory but the home
1722 directory while searching and scanning troffrc and troffrc-end.
1723 Similarly, replace the current directory with the home directory
1726 * Makefile.in (fontpath, tmacpath): Remove current directory.
1728 * src/libs/libgroff/searchpath.cc (search_path::search_path): Add
1729 two parameters `add_home' and `add_current'.
1730 (search_path::~search_path, search_path::command_line_dir,
1731 search_path::open_file): Remove tests for `dirs' being zero.
1732 * src/include/searchpath.h: Adjust.
1733 * src/libs/libgroff/macropath.cc, src/include/macropath.h: Add
1735 * src/libs/libgroff/fontfile.cc: Adjust `font_path'.
1737 * src/roff/troff/troff.h: Add `searchpath.h' and `mac_path'.
1738 * src/roff/troff/input.cc: Use `mac_path', initialized with
1740 (process_startup_file): Set `mac_path' to `safer_macro_path'.
1741 * src/roff/troff/env.cc: Use `mac_path'.
1743 * src/preproc/eqn/main.cc (main): Use `safer_macro_path'.
1745 * NEWS, man/roff.man, src/roff/troff/troff.man,
1746 src/roff/groff/groff.man, tmac/groff_tmac.man, arch/djgpp/README:
1749 2000-11-12 Werner LEMBERG <wl@gnu.org>
1751 * src/include/lib.h: Don't include groff-getopt.h for OSF/1.
1753 * aclocal.m4 (GROFF_SYS_ERRLIST): Do test in C, not in C++.
1754 * configure.in: Fix typo in comment.
1755 * configure: Regenerated.
1757 * src/libs/libgroff/*, src/include/*, src/roff/troff/*: Fixing
1760 2000-11-08 Werner LEMBERG <wl@gnu.org>
1762 Add system tmac directory (/usr/local/lib/groff/site-tmac).
1764 * Makefile.in: Add $(libdir), $(libprogramdir), and $(systemtmacdir).
1765 (uninstall_dirs): Add $(libdir), $(libprogramdir), and
1768 * Makefile.comm (.man.n): Add @SYSTEMMACRODIR@.
1769 * tmac/Makefile.sub (install_data): Create
1770 $(systemtmacdir) and $(localtmacdir).
1771 (uninstall_sub): Use $(systemtmacdir) for wrapper macros.
1772 * man/roff.man, src/roff/troff/troff.man, src/roff/groff/groff.man,
1773 NEWS, doc/groff.texinfo: Updated and minor fixes.
1775 * Makefile.comm, Makefile.in: Added tmac_{s,an}_prefix stuff again.
1776 * tmac/Makefile.sub: Added `wrap' stuff again, but installing into
1777 $(systemtmacdir) since the wrapper files are platform-dependent.
1779 2000-11-01 Werner LEMBERG <wl@gnu.org>
1781 * doc/groff.texinfo: Fix typo.
1783 2000-10-26 Werner LEMBERG <wl@gnu.org>
1785 Convert macros `tmac.XXX' to `XXX.tmac'. Special cases:
1786 tmac.doc.old -> doc-old.tmac
1787 tmac.an.old -> an-old.tmac
1789 * tmac/tmac.*: Moved to ...
1790 * tmac/*.tmac: this.
1791 * tmac/man.local: Fix comment.
1792 * tmac/groff_man.man, tmac/groff_markup.man, tmac/groff_mdoc.man,
1793 tmac/groff_me.man, tmac/groff_ms.man, tmac/groff_tmac.man: Updated.
1794 Added some `FILES' sections. More use of @...@ directives. Other
1796 * arch/djgpp/README, font/devutf8/NOTES: Updated.
1797 * doc/homepage.ms, doc/groff.texinfo: Updated.
1798 * man/groff.man, man/roff.man: Updated.
1799 * src/devices/grodvi/grodvi.man, src/devices/grolbp/grolbp.man,
1800 src/devices/grolj4/grolj4.man, src/devices/grops/grops.man,
1801 src/devices/grotty/grotty.man: Updated.
1802 * src/preproc/pic/pic.man: Updated.
1803 * src/roff/grog/grog.pl, src/roff/grog/grog.sh: Use -mdoc-old
1804 instead of -mdoc.old.
1805 * src/roff/grog/grog.man: Document -mdoc and -mdoc-old.
1806 * src/roff/nroff/nroff.man: Updated.
1809 * tmac/fixmacros.sed, tmac/strip.sed: Add explanatory comment.
1811 * tmac/mm.diff: Removed -- it has no use now since the mm package
1814 * tmac/*: Removed trailing spaces.
1816 * arch/djgpp/t-groff.bat: Fix GROFF_TMAC_PATH (hyphen.us is now in
1817 the tmac subdirectory also).
1819 * Makefile.comm, Makefile.in: Remove tmac_{s,an}_prefix stuff.
1820 * tmac/Makefile.sub: Adapted to new macro names; removed `wrap'
1821 stuff since it is no longer needed.
1823 * README, PROBLEMS: Updated.
1825 2000-10-25 Werner LEMBERG <wl@gnu.org>
1827 Invert current behaviour: Search first FOOBAR.tmac, then
1830 * src/roff/troff/input.cc: Introduce MACRO_POSTFIX.
1831 (open_mac_file, macro_source): Implement it.
1832 * src/roff/troff/troff.man, tmac/groff_tmac.man, man/roff.man,
1833 doc/groff.texinfo, NEWS: Document it.
1835 * src/roff/nroff/nroff.man, src/roff/groff/groff.man, man/groff.man:
1836 Small documentation improvements.
1838 * test-groff: Fix GROFF_TMAC_PATH (hyphen.us is now in the tmac
1841 * font/devps/Makefile.sub: Fix rules for dingbats.*map.
1843 2000-10-24 Werner LEMBERG <wl@gnu.org>
1845 Add local tmac directory (groff/site-tmac).
1847 * Makefile.in: Add $(localtmacdir).
1848 (uninstall_dirs): Add $(localtmacdir).
1849 * Makefile.comm (.man.n): Add @LOCALMACRODIR@.
1850 * tmac/Makefile.sub (install_data, uninstall_sub): Handle man.local
1851 in $(localtmacdir). Create $(localtmacdir).
1852 * man/roff.man, src/roff/troff/troff.man, NEWS, doc/groff.texinfo:
1853 Updated and minor fixes.
1855 Rename font/devps/generate/dingbats[r]map to dingbats.[r]map.
1857 * font/devps/generate/Makefile.sub, arch/djgpp/README: Adjust.
1859 2000-10-23 Werner LEMBERG <wl@gnu.org>
1861 Move hyphen.us to tmac directory.
1863 * src/roff/troff/hyphen.us: Removed.
1864 * src/tmac/hyphen.us: Added.
1865 * src/roff/troff/Makefile.sub, tmac/Makefile.sub: Updated.
1867 Change installation structure for data files from .../groff/... to
1868 .../groff/<version><revision>/... to be conform with other GNU
1871 * Makefile.in, Makefile.comm, src/utils/indxbib/Makefile.sub,
1872 doc/Makefile: Implement it.
1873 * aclocal.m4 (GROFF_PAGE): Add test for new directory structure.
1874 * configure: Updated.
1875 * arch/djgpp/README, font/devutf8/NOTES: Use it.
1876 * NEWS: Document it.
1877 * man/roff.man, tmac/groff_tmac.man: Use @FONTPATH@, @FONTDIR@, and
1878 @MACRODIR@ instead of hard-coded directories.
1880 2000-10-22 Werner LEMBERG <wl@gnu.org>
1882 Implement $GROFF_BIN_PATH environment variable (which defaults to
1883 $bindir) used for child programs of groff and similar wrappers.
1885 * gendefs.sh: Improve documentation.
1886 * Makefile.comm (,man.n), src/include/Makefile.sub (defs.h),
1887 src/preproc/eqn/Makefile.sub (neqn),
1888 src/roff/nroff/Makefile.sub (nroff): Add $(bindir).
1889 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Implement
1891 * src/roff/groff/groff.cc (main): Implement $GROFF_BIN_PATH and
1892 $GROFF_PATH__ (the latter for communication with troff).
1893 * src/roff/troff/input.cc (main): Use $GROFF_PATH__ for $PATH if
1895 * NEWS, src/roff/nroff/nroff.man, src/roff/groff/groff.man,
1896 doc/groff.texinfo: Document it.
1898 * doc/groff.texinfo: Improve documentation of troff's -a option.
1900 2000-10-17 Gaius Mulley <gaius@glam.ac.uk>
1902 * src/roff/troff/node.cc: Fixed calculation of opminx and fixed
1903 non-intrusive eol marker.
1904 (troff_output_file::determine_line_limits): New function.
1905 (troff_output_file::draw): Use it.
1906 * src/roff/troff/env.cc (environment::add_html_tag): Use output() +
1907 output_pending_lines() instead of output_line().
1908 * src/preproc/eqn/main.cc (do_file): Fix graphic_end().
1909 * src/preproc/html2/pre-html.cc (char_buffer::write_file_troff,
1910 createImage): Small fixes.
1912 2000-10-14 Werner LEMBERG <wl@gnu.org>
1914 Replace tmac.safer with a real secure solution.
1916 * src/roff/troff/input.cc (open_request, opena_request, pipe_source,
1917 system_request, pipe_output): Disable requests if in safer mode.
1918 * src/roff/groff/groff.cc (main): Remove reference to tmac.safer.
1919 * tmac/tmac.safer, tmac/groff_msafer.man: Removed.
1920 * tmac/Makefile.sub, NEWS, man/roff.man, tmac/groff_tmac.man,
1921 doc/groff.texinfo, src/roff/groff/groff.man,
1922 src/roff/troff/troff.man, arch/djgpp/README: Updated.
1924 * src/devices/grops/ps.cc (main), src/devices/grops/psrm.cc
1925 (resource_manager::output_prolog): Replace setenv() with putenv().
1927 2000-10-09 Werner LEMBERG <wl@gnu.org>
1929 * src/libs/libbib/map.c, src/libs/libgroff/getcwd.c,
1930 src/libs/libgroff/strtol.c, src/preproc/html2/image.cc,
1931 src/preproc/html2/pre-html.cc, src/preproc/html2/pushbackbuffer.cc,
1932 src/roff/groff/pipeline.c: Removing `#ifndef errno' to avoid
1933 compilation errors with some compilers. It seems that this code
1934 is no longer necessary -- if yes, it is easy to add some #ifdef's
1935 for that particular old-fashioned compiler.
1937 * MORE.STUFF: Added info about Meta-tbl.
1939 * doc/groff.texinfo: Added more info about `.if "..."..."'.
1941 2000-10-07 Werner LEMBERG <wl@gnu.org>
1943 Adding a new escape sequence \B'...': If the string between
1944 the delimiters is a valid numeric expression, return the character
1945 `1', and `0' otherwise. This is an analogon to \A.
1947 * src/roff/troff/input.cc (do_expr_test): Implement it.
1948 (token::next): Use it.
1949 * src/roff/troff/troff.man, NEWS, man/groff.man: Document it.
1951 * tmac/tmac.trace: Made independent from escape character.
1953 2000-10-06 Werner LEMBERG <wl@gnu.org>
1955 Adding a new request .dei: define indirect. The first and second
1956 parameter of .dei are taken from string registers instead directly;
1957 this very special request is needed to make tmac.trace independent
1958 from the escape character (which might even be disabled).
1960 * src/roff/troff/input.cc (do_define_macro): Implement it.
1961 (define_macro_indirect): New function.
1962 (init_input_requests): Use it.
1964 Adding two requests .ecs and .ecr: Save and restore the escape
1965 character. These two requests are needed to make tmac.trace
1966 independent from the escape character (which might even be
1969 * src/roff/troff/input.cc (save_escape_char, restore_escape_char):
1971 (init_input_requests): Use it.
1973 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated.
1975 2000-09-22 Ricardo Soares Guimarães <ricardo@conectiva.com.br>
1977 Adding a new option -P and new environment variable GROPS_PROLOGUE
1978 to grops, selecting a different prologue file (minor modifications
1981 * src/devices/grops/psrm.cc (resource_manager::output_prolog),
1982 src/devices/grops/ps.cc (main): Implement it.
1983 * src/devices/grops/grops.man, NEWS: Document it.
1985 2000-09-22 Werner LEMBERG <wl@gnu.org>
1987 * INSTALL: Add info about selecting paper format.
1989 2000-09-21 Werner LEMBERG <wl@gnu.org>
1991 * src/roff/troff/input.cc (main): Fixing compiler warning.
1992 * src/include/{driver.h, lib.h}: Move inclusion of string.h and
1993 strings.h from the former to the latter.
1994 * src/devices/grolbp/lpb.cc, src/include/lib.h: Move strncasecmp()
1995 stuff from the former to the latter.
1997 2000-09-11 Werner LEMBERG <wl@gnu.org>
1999 Implementing two new requests .tm1 and .tmc: The former is similar
2000 to .tm but can output leading spaces; its syntax is similar to
2001 defining a string, i.e., a `"' can be used to mark the beginning of
2002 the string to be written to stderr: `.tm1 " test'. The latter is
2003 similar to .tm1 but doesn't write out a final newline character.
2005 * src/roff/troff/input.cc (terminal1, terminal_continue,
2006 do_terminal): New functions.
2007 (init_input_requests): Use them.
2008 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated.
2010 2000-09-09 Werner LEMBERG <wl@gnu.org>
2012 * tmac/groff_mdoc.samples.man: Small fixes.
2014 2000-09-08 Werner LEMBERG <wl@gnu.org>
2016 * tmac/groff_mdoc.man: Fixing typo.
2018 2000-09-02 Werner LEMBERG <wl@gnu.org>
2020 Implementing a .nop request which does nothing.
2022 * src/roff/troff/input.cc (nop_request): New function.
2023 (init_input_requests): Use it.
2024 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated.
2026 2000-09-01 Werner LEMBERG <wl@gnu.org>
2028 * doc/groff.texinfo: Added some comments.
2030 2000-08-30 Werner LEMBERG <wl@gnu.org>
2032 * src/roff/troff/TODO: Updated.
2034 2000-08-25 Werner LEMBERG <wl@gnu.org>
2036 * doc/groff.texinfo: Fix comment how to compile the DVI file.
2038 2000-08-25 Eli Zaretskii <eliz@is.elta.co.il>
2040 * font/devps/generate/Makefile (SHELL): Define explicitly to
2041 "/bin/sh", for non-Unix platforms.
2042 (extraclean): Use a more portable "" quoting instead of a
2043 backslash (which doesn't work on DOS/Windows).
2045 * font/devlj4/generate/Makefile (extraclean): Ditto.
2047 * font/devdvi/generate/Makefile (extraclean): Ditto.
2049 2000-08-25 Werner LEMBERG <wl@gnu.org>
2051 * NEWS, doc/groff.texinfo, tmac/groff_tmac.man, man/roff.man,
2052 src/roff/troff/troff.man: Document Eli's latest changes.
2054 2000-08-25 Eli Zaretskii <eliz@is.elta.co.il>
2056 * src/roff/troff/input.cc (open_mac_file, macro_source): Support
2057 macro file names of the form NAME.tmac as well as tmac.NAME.
2059 2000-08-25 Werner LEMBERG <wl@gnu.org>
2061 * src/include/posix.h: Remove definition of FILENAME_MAX.
2063 * src/preproc/html2/pre-html.h, pre-html.cc: Add return type to
2064 `sys_fatal' and `stop' function().
2066 * test-groff: Updated.
2068 2000-08-24 Gaius Mulley <gaius@glam.ac.uk>
2070 Added the new troff command .output <arg> to suppress output (while
2071 still obeying motion) and also the opminx, opminy, opmaxx, opmaxy
2072 registers (for passing the output dimensions to the output device).
2074 * src/roff/troff/div.cc (top_level_diversion::output): Use `width'
2076 * src/roff/troff/node.h, src/roff/troff/node.cc
2077 (troff_output_file::really_print_line,
2078 ascii_output_file::really_print_line,
2079 supress_output_file::really_print_line): Use `width' parameter.
2080 (troff_output_file::really_on, troff_output_file::really_off,
2081 output_file::on, output_file::off, real_output_file::on,
2082 real_output_file::off, real_output_file::really_on,
2083 real_output_file::really_off): New functions.
2084 (real_output_file:public output_file): New variable `output_on'.
2085 (real_output_file::begin_page, real_output_file::copy_file,
2086 real_output_file::transparent_char, real_output_file::print_line):
2088 (real_output_file::print_line): Use check_output_limits.
2089 * src/roff/troff/reg.h, src/roff/troff/request.h,
2090 src/roff/troff/input.cc (assign_registers): New function to remove
2092 (do_ps_file): Use it.
2093 (check_output_limits, reset_output_registers, output_request,
2094 init_output_requests): New functions.
2095 (init_input_requests): Updated.
2097 Added new grohtml2 device and html2 preprocessor (coding
2098 not yet finished) which will eventually replace grohtml.
2100 * Makefile.in, tmac/Makefile.sub, tmac/eqnrc, tmac/troffrc-end:
2102 * src/include/htmlindicate.h, src/include/htmlindicate
2103 (html_begin_suppress, html_end_suppress): New functions.
2104 * src/preproc/tbl/main.cc: Use it.
2105 * src/roff/groff/groff.cc: Add support for html2 device (which will
2106 automatically invoke the html2 preprocessor).
2107 * src/roff/troff/input.cc (is_html2): New variable.
2108 * src/roff/troff/troff.h, src/roff/troff/env.h,
2109 src/roff/troff/env.cc (environment::add_html_tag): New function
2111 (environment::do_break): Use it.
2112 * font/devhtml2/*: New files.
2113 * src/devices/grohtml2: New device.
2114 * src/preproc/html2: New preprocessor.
2115 * tmac/tmac.html-tags, tmac/tmac.html2: New files.
2117 2000-08-23 Werner LEMBERG <wl@gnu.org>
2119 * src/devices/grolbp/lbp.cc: Same workaround for sinix as for AIX.
2121 2000-08-22 Werner LEMBERG <wl@gnu.org>
2123 * src/include/lib.h: Provide a fix for IRIX to not include
2126 2000-08-18 Werner LEMBERG <wl@gnu.org>
2128 * configure.in: Don't provide an empty value for SH_SCRIPT_SED_CMD
2129 since some non-GNU sed programs can't handle null regexps.
2130 * configure, src/preproc/eqn/Makefile.sub,
2131 src/roff/grog/Makefile.sub, src/roff/nroff/Makefile.sub: Updated.
2133 * src/devices/grolbp/lbp.cc: Add an AIX workaround for an autoconf
2134 bug (string.h and strings.h are both needed according to latest
2137 * MORE.STUFF: Added info about unroff and troffcvt.
2139 2000-08-08 Werner LEMBERG <wl@gnu.org>
2141 * tmac/tmac.a4: Will now work with ms macros also; -ma4 should be
2144 * tmac/tmac.man.old: Remove unused number register.
2146 * tmac.doc: Minor documentation fix.
2148 2000-08-07 Paul Eggert <eggert@twinsun.com>
2150 * src/roff/groff/pipeline.c (is_system_shell):
2151 Fix typo: "monocased_shell" no longer exists.
2153 2000-08-07 Paul Eggert <eggert@twinsun.com>
2155 Remove FILENAME_MAX limits.
2157 * src/roff/groff/pipeline.c (is_system_shell): Do not assume
2158 that the argument length is less than FILENAME_MAX.
2159 * src/libs/libgroff/tmpfile.cc (add_tmp_file): Likewise.
2160 Use struct hack to allocate and free file name.
2161 (struct xtmpfile_list): fname is now part of the structure,
2162 not a pointer to another string.
2164 2000-08-07 Tom Schmidt <tschmidt@micron.com>
2166 * src/include/posix.h: Add a default value for FILENAME_MAX.
2168 2000-08-06 Paul Eggert <eggert@twinsun.com>
2170 Add support for new BSD-style man pages (with ".Dd" instead of
2171 ".TH"), so that "groff -man" understands both styles, even
2172 when running "groff -man" on a host whose system man page
2173 macros don't support ".Dd".
2175 * tmac/Makefile.sub (NORMALFILES): Add tmac.an.old.
2176 (stamp-wrap): Source tmac.andoc first when wrapping man macros,
2177 in case the system man macros don't define Dd or TH.
2179 * tmac/tmac.an.old: Renamed from tmac/tmac.an.
2180 * tmac/tmac.an: New one-line file.
2181 * tmac/tmac.andoc (TH): Adjust to the tmac.an.old file renaming.
2183 2000-08-06 Werner LEMBERG <wl@gnu.org>
2185 * src/roff/troff/troff.man: Fixing typos.
2188 version-control: never