Version 1.17.2 released ======================= 2001-07-07 Werner LEMBERG * src/utils/indxbib/indxbib.cc (main): Change type of `name_max' to size_t. 2001-07-06 Ruslan Ermilov * tmac/doc.tmac (Rv): Make `Rv' really not parseable. Fix synopsis. * tmac/groff_mdoc.man: Fix synopsis. 2001-07-05 Ruslan Ermilov * tmac/doc.tmac (doc-inset-list, doc-hang-list, doc-ohang-list): Restore `doc-Pa-font'. 2001-07-04 Werner LEMBERG * src/utils/indxbib/dirnamemax.c: Moved to ... * src/libs/libgroff/maxfilename.cc: Here. s/dir_name_max/file_name_max/. Add copyright. * src/include/lib.h: Add file_name_max. * src/utils/indxbib/indxbib.cc: Updated. * src/utils/indxbib/Makefile.sub, src/libs/libgroff/Makefile.sub: Updated. * src/libs/libgroff/tmpfile.cc (TMPFILE_PREFIX) [__MSDOS__]: Define as empty. (xtmpfile) [_MSC_VER]: Removed -- MSVC has mktemp(). * src/preproc/html/pre-html.cc (PAGE_TEMPLATE, PS_TEMPLATE, REGION_TEMPLATE): New macros. (createAllPages, makeTempFiles): Use them. Include `nonposix.h'. (html_system): New function. (createAllPages, createImage): Use it. Use EXE_EXT. * tmac/www.tmac: Fix typos. 2001-07-03 Werner LEMBERG * tmac/www.tmac: Disable hyphenation in normal text only if output device is html. (URL, FTP, MAILTO): Disable hyphenation of actual URL with `\%'. * tmac/groff_mwww.man, NEWS: Updated. 2001-07-03 Gaius Mulley * tmac/www.tmac (.IMAGE): Add fourth parameter to specify vertical image location. 2001-07-02 Ruslan Ermilov * tmac/doc-common, tmac/doc.tmac (doc-display-ft-stack, doc-display-ps-stack): Implement font and font size stack for displays. 2001-07-02 Werner LEMBERG * REVISION: Increased to 2. * src/roff/troff/input.cc (read_size): Fix special case `\s[0]'. * src/groff/grog/grog.pl (process): Handle `Oo' and `Oc' not at the beginning of a line. * src/groff/grog/grog.sh: Ditto. 2001-06-29 Peter Marquardt * src/preproc/eqn/neqn.sh: Put `export' keyword in a new line to make it portable. 2001-06-27 Werner LEMBERG Fix problems with preprocessor string for `man' program. * *.man: Don't use `s' in preprocessor string -- it doesn't exist. Updated/added copyright. Moved Emacs's local variable to identify nroff mode to the end of the file; add local variable if missing. 2001-06-26 Andras Salamon * aclocal.m4: Replace AC_LANG_SAVE + AC_LANG_CPLUSPLUS with AC_LANG_PUSH(C++) and AC_LANG_RESTORE with AC_LANG_POP(C++). * configure: Regenerated. 2001-06-25 Andras Salamon * aclocal.m4 (GROFF_PAGE): Fix page detection code. * configure: Regenerated. 2001-06-24 Werner LEMBERG * doc/homepage.ms: Don't include arkup.tmac (which no longer exists) but www.tmac. * doc/pic.ms: Fix typos. Version 1.17.1 released ======================= 2001-06-21 Golubev I. N. * aclocal.m4 (GROFF_NEED_DECLARATION): Fix inclusion of strings.h. * configure: Updated. 2001-06-20 Gaius Mulley * src/roff/preproc/html/pre-html.cc (make_message): Fix incorrect image names. * src/roff/troff/dic.cc (blank_line): Add html tag. 2001-06-19 Gaius Mulley * src/roff/troff/input.cc (do_suppress): Fix typo. 2001-06-18 Gaius Mulley Added two new options (-D and -I) to specify image names and a subdirectory to place the images in. Change syntax from \\Ox to \\O[x]. * src/devices/grohtml/post-html.cc (main): Add options. (usage): Updated. * src/preproc/html/pre-html.cc: Include `stdarg.h'. Use `NULL' instead of `0' for null string pointers. (MAX_RETRIES): New macro. (lengthOfintToStr, intToStr, make_message): New functions. (makeFileName): Make function static. Implement -D and -I options. (checkImageDir): New function. (write_end_image, write_start_image): Use new syntax of \O. (createAllPages, removeAllPages): Implement -D and -I options. Use make_message(). (createImage): Use make_message(). (addps4html): Add guard for malloc(). (usage, scanArguments): Updated. (makeTempFiles): Use mkstemp(). (removeTempFiles): Use unlink(). (findPrefix): Add guard for malloc(). (main): Updated. * src/roff/troff/input.cc (get_delim_file_name): New function to parse \O. (do_suppress): Updated to parse new syntax. * src/devices/grohtml/grohtml.man: Updated. * tmac/www.tmac: Updated to new syntax. * NEWS: Updated. 2001-06-15 Werner LEMBERG * src/roff/grog/Makefile.sub: Remove NAMEPREFIX. * src/devices/grohtml/grohtml.man: Minor improvements. 2001-06-14 Werner LEMBERG * src/preproc/html/Makefile.sub: Remove NAMEPREFIX. 2001-06-11 Werner LEMBERG * man/roff.man, mann/groff.man: Use '\" instead of .\" in the first line to specify preprocessor options -- mandb 2.3.1 only recognizes the former. * src/preproc/grn/grn.man: Add proper '\" string. 2001-06-11 OKAZAKI Tetsurou * test-groff: Don't use PATH but GROFF_BIN_PATH. 2001-06-08 Werner LEMBERG Updated to autoconf 2.50. * configure.in: Renamed to... * configure.ac: This. * aclocal.m4 (AC_OUTPUT_MAKE_DEFS): Removed. (GROFF_OS390): Updated. * configure: Regenerated. 2001-05-18 Werner LEMBERG * src/roff/troff/env.c, src/roff/troff/env.h, src/roff/troff/input.cc, src/roff/troff/troff.man: Undo `ss' change from 2000-12-21. 2001-05-17 Jeffrey Friedl * src/roff/troff/input.cc (read_size): Fix special case `\s0'. 2001-05-16 Werner LEMBERG * src/roff/troff/input.cc (read_size): Emit warning if value becomes less than or equal zero; set it to 1 then. * src/roff/troff/node.h (node::node): Initialize `last'. 2001-05-08 Werner LEMBERG * tmac/an-old.tmac: Make predefined strings work in compatibility mode. Add troff version guard. * tmac/doc.tmac: Simplify version guard. 2001-05-07 Werner LEMBERG The .ns and .rs requests are now honoured not only in the top-level but in all diversions (similar to UNIX troff). This change is based on a patch from Tadziu Hoffmann . * src/roff/troff/div.h (diversion): Add `no_space_mode' member. (top_level_diversion): Remove `no_space_mode' member. * src/roff/troff/div.cc (diversion::diversion, top_level_diversion::top_level_diversion): Updated. (macro_diversion::output): Reset `no_space_mode'. (no_space, restore_spacing): Use `curdiv' unconditionally. (space_request, blank_line): Check `curdiv->no_space_mode'. (no_space_mode_reg::get_value, no_space_mode_reg::get_string): Use `curdiv' unconditionally. * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo: Updated. 2001-05-06 Werner LEMBERG Added two new requests `de1' and `am1' which are similar to `de' and `am' with the difference that compatibility mode is saved on entry, switched off during macro execution, and restored on exit. * src/roff/troff/input.h: Added two new special characters (COMPATIBLE_SAVE, COMPATIBLE_RESTORE). * src/roff/troff/input.cc (input_iterator): Added two member functions `save_compatible_flag' and `get_compatible_flag'. (input_stack): Ditto. (string_iterator): Ditto. Also add private member `saved_compatible_flag'. (token::next): Use COMPATIBLE_SAVE and COMPATIBLE_RESTORE. (calling_mode): New enumeration. (do_define_macro): Use it. Insert COMPATIBLE_SAVE and COMPATIBLE_RESTORE at the beginning and end of macro, respectively. (define_macro, define_indirect_macro, append_macro, ignore): Use `calling_mode'. (define_nocomp_macro, append_nocomp_macro): New functions. (init_input_requests): Updated. (do_request): Rename local variable `saved_compatible_flag' to `old_compatible_flag'. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. * tmac/an-old.tmac: Use `de1' instead of `de' request for all public and trap-invoked macros. As a consequence, the man macros work in compatibility mode also. 2001-05-06 Solar Designer * Makefile.in: Use $(mandir). 2001-05-06 Alexios Zavras * src/utils/afmtodit/afmtodit.pl: Fix serious typo. 2001-05-05 Werner LEMBERG Added `.ns' number register: Returns 1 in no-space mode (if in top-level diversion), 0 otherwise. * src/roff/troff/div.cc (no_space_mode_reg): New class. (init_div_requests): Updated. * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo: Document it. 2001-05-04 Werner LEMBERG * src/roff/nroff/nroff.man: Improved documentation (especially locales). 2001-05-02 Werner LEMBERG Added `brp' request: This is \p as a request. * src/roff/troff/env.cc (environment::do_break): Add parameter `spread'. (do_break_request): New function (was `break_request'). (break_request): Calls `do_break_request'. (break_spread_request): New; calls `do_break_request'. (init_env_requests): Updated. * src/roff/troff/env.h: Updated. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. * REVISION: Increased to 1. * win32-diffs: Updated. 2001-05-01 Werner LEMBERG * tmac/an-old.tmac: Fix minor compatibility mode issue. * tmac/troffrc-end: Make it really work in compatibility mode. 2001-04-27 Werner LEMBERG * src/utils/lkbib/lkbib.cc: Switch inclusion order of stdio.h and stdlib.h. 2001-04-22 Werner LEMBERG * src/libs/libgroff/getopt.c, src/include/getopt.h: Updating to latest versions from glibc CVS archive. * MORE.STUFF: Updated, using a patch from Kees Zeelenberg . 2001-04-21 Werner LEMBERG * configure.in: Move check for mkstemp() to... * aclocal.m4 (GROFF_MKSTEMP): This new function. * configure: Regenerated. * src/include/groff-getopt.h: Don't use variable names in declarations. * src/devices/grohtml/html-chars.h: Removed. It isn't used. * src/devices/grohtml/Makefile.sub, src/devices/grohtml/post-html.cc: Updated. 2001-04-21 Albert Chin-A-Young * configure.in: Add special check for mkstemp(). * src/libs/libgroff/tmpfile.cc: Use it. * src/utils/indxbib/indxbib.cc: Ditto. * src/utils/pfbtops/pfbtops.c (main): Don't use C++ comment style. * src/devices/grolbp/lbp.h (lbpprintf, lbpputs, vdmprintf): Use `const'. 2001-04-20 Bruce Lilly `Version_string' as C++ object was not visible to linker from C object files. Add `const' to `Version_string'. * src/utils/pfbtops/pfbtops.c (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc (main), src/preproc/tbl/main.cc (main), src/preproc/pic/main.cc (main), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc (main), src/preproc/html/pre-html.cc (scanArguments), src/preproc/refer/refer.cc (main), src/preproc/soelim/soelim.cc (main), src/devices/grotty/tty.cc (main), src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc (main), src/devices/grohtml/post-html.cc (main), src/devices/grolbp/lbp.cc (main), src/utils/tfmtodit/tfmtodit.cc (main), src/utils/hpftodit/hpftodit.cc (main), src/utils/lookbib/lookbib.cc (main), src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc (main), src/utils/addftinfo/addftinfo.cc (main): Implement it. * src/roff/groff/pipeline.c: Add _UWIN. * src/include/nonposix.h: Ditto. 2001-04-20 Werner LEMBERG * src/include/lib.h: Use HAVE_STRERROR. * src/roff/groff/pipeline.c: Ditto. * src/preproc/html/pre-html.cc: Remove declaration of `strerror'. * src/libs/libgroff/Makefile.sub (version.cc): Add `extern "C"'. * src/utils/pfbtops/pfbtops.c: Add copyright notice. * win32-diffs: Updated. * src/utils/hpftodit/hpftodit.cc (read_map): Fix compiler warning. 2001-04-19 Werner LEMBERG * src/preproc/html/pre-html.cc (scanArguments): Use `troff_command' instead of hardwired `"troff"'. (char_buffer::read_file): Remove unused variables. (char_buffer::write_file_troff): Ditto. (char_buffer::write_file_html): Ditto. (generateImages): Ditto. (abs): Removed. * src/utils/addftinfo/addftinfo.cc (main): Fix compilation problem. * src/include/lib.h: Don't include `groff-getopt.h' for UWIN. * src/libs/libgroff/font.cc (font::load_desc): Fix compiler warning. * src/libs/libbib/index.cc (index_search_item_iterator::get_tag, index_search_item::search1): Ditto. * src/roff/troff/node.h (width_list): Reorder members. * src/roff/troff/input.cc (do_define_macro): Fix compiler warning. (lookup_warning): Ditto. (prepend_string): Commented out. * src/roff/troff/dictionary.cc (is_good_size): Fix compiler warning. * src/roff/troff/reg.cc (number_value_to_ascii): Ditto. * src/preproc/tbl/main.cc (process_format): Ditto. * src/preproc/pic/pic.y (define_variable, reset, reset_all): Fix compiler warnings. * src/preproc/pic/pic.cc: Updated. * src/preproc/eqn/lex.cc (init_table): Fix compiler warnings. * src/preproc/eqn/over.cc (over_box::compute_metrics): Ditto. * src/preproc/refer/command.cc (execute_command): Ditto. * src/preproc/refer/ref.cc (sortify_title, find_month): Ditto. * src/preproc/refer/token.cc (lookup_token): Ditto. * src/preproc/soelim/soelim.cc: Ditto. * src/preproc/html/pushbackbuffer.cc (ERROR): Ditto. (isHexDigit): Commented out. (pushBackBuffer::isString): Remove unused variable. * src/devices/grops/ps.cc (ps_printer::special): Fix compiler warning. * src/devices/grops/psrm.cc (resource_manager::lookup_font, resource_manager::read_resource_arg, read_one_of, parse_extensions): Ditto. * src/devices/grodvi/dvi.cc (dvi_printer::draw): Ditto. * src/devices/grolj4/lj4.cc (lj4_font::handle_unknown_font_command, lookup_paper_size): Ditto. * src/devices/grohtml/post-html.cc (is_subsection): Commented out. (text_glob, element_list): Reorder members. * src/devices/grohtml/html-text.cc (html_text::do_pre): Remove compiler warning. * src/devices/grohtml/html-text.h (html_text::emit_space): Change return value to `void'. * src/devices/grohtml/output.cc (word_list::word_list): Fix order of initializers. * src/devices/grohtml/html.h (simple_output::check_newline, simple_output::space_or_newline, simple_output::enable_newlines): Add return value. * src/devices/grolbp/lbp.cc (wp54charset, set_papersize): Remove compiler warnings. * src/utils/tfmtodit/tfmtodit.cc (tfm::load, gf::load, main): Ditto. * src/utils/hpftodit/hpftodit.cc (File::seek, read_symbol_sets, output_ligatures, output_charset, read_map): Ditto. * src/utils/lookbib/lookbib.cc (main): Ditto. * src/utils/indxbib/indxbib.cc (main, fwrite_or_die): Ditto. (do_file): Fix typo (`=' -> `=='). * src/utils/lkbib/lkbib.cc (main): Remove compiler warning. * src/utils/addftinfo/addftinfo.cc (main): Ditto. 2001-04-18 Ruslan Ermilov * src/roff/nroff/nroff.sh: Adding -p (pic) and -t (tbl) options. Fix usage of GROFF_BIN_PATH. * src/roff/nroff/nroff.man: Updated. 2001-04-18 Werner LEMBERG * NEWS: Fixing typos. Updated. Version 1.17 released ===================== 2001-04-17 Werner LEMBERG * tmac/Makefile.sub (install-data): mdoc.local-s is in current directory, not in $(srcdir). 2001-04-16 Werner LEMBERG * doc/groff.texinfo: More info on conditionals. 2001-04-15 Werner LEMBERG * doc/groff.texinfo: Added some info about groff internals. * src/roff/troff/node.cc (make_glyph_node): Emit warning message about missing special character only if the name is non-null. 2001-04-14 Werner LEMBERG Removing the grohtml-old device driver which is now obsolete. * src/devices/grohtml-old/*: Removed. * font/devhtml-old/*: Removed. * src/libs/libgroff/htmlindicate.cc (graphic_start, graphic_end): Remove comments. * Makefile.in (CCPROGDIRS, DEVDIRS): Updated. * test-groff (PATH): Updated. * tmac/Makefile.sub (NORMALFILES): Updated. * tmac/an-old.tmac: Remove special code for html-old device. Replace `html-or-html-old' register with `an-html'. * tmac/eqnrc: Updated. * tmac/html-old.tmac: Removed. * tmac/troffrc, tmac/troffrc-end: Updated. * tmac/www.tmac: Remove special code for html-old device. Replace `html-or-html-old' register with `www-html'. * src/libs/libgroff/tmpfile.cc (remove_tmp_files), src/libs/libgroff/htmlindicate.cc (graphic_end), include/htmlindicate.h, src/preproc/grn/*.cc, src/roff/groff/env.{cc,h}: Remove `void' parameter if used as a single argument for consistency with rest of source code. * aclocal.m4, tmac/an-old.tmac: Fix copyright. 2001-04-13 Ruslan Ermilov * src/roff/troff/troff.man: Fixing typos. 2001-04-13 Werner LEMBERG * doc/pic.ms: Fixing many font switches. * doc/groff.texinfo: Fixes, additions. * MORE.STUFF: Updated. 2001-04-12 Gaius Mulley * src/devices/grohtml/grohtml.man: Updated manual page regarding simple anchor. * src/preproc/html/pre-html.cc (createImage): Fixed right hand cropping of images. (removeTempFiles): New function to tidy up temporary files. * src/preproc/html/pre-html.cc (main): Calls `removeTempFiles()'. Many fixes to do with the new inline suppress node and image regions are much tighter. * src/devices/grohtml/post-html.cc: New method `is_auto_img'. (generate_img_src): New function. (html_printer::do_auto_image): Utilizes it. (do_heading, do_title): Include inline images within their contents. (html_printer::begin_page): Tidied up comments that are issued to the html output file. (html_printer::do_fill): Fixed so that `.nf' works with fonts other than courier. (text_glob::is_br): New method used by do_heading. * tmac/s.tmac: If -Thtml then emit $1 in .IP rather than its equivalent diversion. * src/include/html-strings.h: Altered image tags to reflect the inline image node. * src/include/htmlindicate.h (html_end_suppress): Added `is_inline' parameter. * src/preproc/eqn/main.cc: Will suppress generation of image tags if it is already inside a pic image. Only emit tags if the argument `-Tps:html' is present. * src/preproc/tbl/main.cc: Changes to reflect additional `html_end_suppress' parameter. * src/roff/troff/env.cc: Only emit eol tag if a node has been emitted since the last eol tag was written. * src/roff/troff/env.h: New boolean `emitted_node'. * src/roff/troff/input.cc (do_suppress): Handles extra suppress nodes \O3, \O4, \O5. No longer use `output_low_mark_miny'. * src/roff/troff/node.cc (check_charinfo): New method. (troff_output_file::determine_line_limits): Alterations to limit checking. * tmac/www.tmac: Changes to reflect new suppress nodes. 2001-04-12 Bruno Haible * src/devices/grohtml/post-html.cc (html_printer::add_to_sbuf): Escape the html_glyph in the buffer. (str_translate_to_html): Output the unescaped escaped_char. * src/devices/grohtml/html-text.cc (issue_table_begin): Set `frame=void', not `frame=none'. Add `border=0'. 2001-04-12 Werner LEMBERG * PROBLEMS: Add some words on how to avoid wrapper macros. 2001-04-11 Blake McBride * src/include/nonposix.h (fileno) [_MSC_VER]: Removed. 2001-04-11 Werner LEMBERG * font/devlbp/Makefile.sub (CLEANADD): Set it. * tmac/Makefile.sub (CLEANADD): Add tmac.local-s. * Makefile.in (dist): Don't remove src/xditview/Imakefile, but ... * Makefile.sub (DISTCLEANFILES): Here. * libs/libgroff/new.cc: Include `nonposix.h'. * win32-diffs: Updated. 2001-04-10 Ruslan Ermilov Added skeleton macro for defunct macros. Updated documentation. When inside displays, an empty input line warning should be suppressed. If another macro call is put inside a display, all subsequent empty lines found in that display caused a warning to be emitted. * tmac/doc.tmac (doc-defunct-macro): New macro. (Db, Ds, Ex, Or, Sf): Reimplemented using this macro. (doc-restore-global-vars): Fixed typo. (doc-empty-line): Check the `doc-display-depth' register to determine whether we are inside display or not. * tmac/doc-common: Removed `Or' and `Sf' registers. Moved obsolete `Ds' macro to doc.tmac. * tmac/groff_mdoc.man: Bump document date. Document `.Vt' under ``Variable Types''. Removed documentation for obsolete `.Or' macro. 2001-04-10 Werner LEMBERG * NEWS: Updated. * doc/groff.texinfo: Many fixes, additions, clarifications, etc. 2001-04-10 Bruno Haible * src/devices/grodvi/dvi.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/devices/grohtml/post-html.cc (main): Accept --help and --version. Write --version output to stdout, not stderr. (usage): Add stream argument. Don't exit. * src/devices/grohtml-old/html.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/devices/grolbp/lbp.cc (long_options): Use symbolic getopt.h constants. (usage): Add stream argument. Don't exit. (main): Write --help output to stdout, not stderr. * src/devices/grolj4/lj4.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/devices/grops/ps.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/devices/grotty/tty.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/preproc/eqn/main.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/preproc/grn/main.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/preproc/html/pre-html.cc (usage): Add stream argument. (scanArguments): Accept --help and --version. * src/preproc/pic/main.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/preproc/refer/refer.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/preproc/soelim/soelim.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/preproc/tbl/main.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/roff/groff/groff.cc (main): Accept --help and --version. (synopsis): Add stream argument. (help): Write --help output to stdout, not stderr. (usage): Add stream argument. Don't exit. * src/roff/grog/grog.pl: Accept --help and --version. (help): New sub. * src/roff/grog/grog.sh: Accept --help and --version. * src/roff/nroff/nroff.sh: Accept --help and --version. * src/roff/troff/input.cc (USAGE_EXIT_CODE): Remove macro. (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/utils/addftinfo/addftinfo.cc (main): Accept --help and --version. (usage): New function with stream argument, doesn't exit. * src/utils/hpftodit/hpftodit.cc (main): Accept --help and --version. (usage): New function with stream argument, doesn't exit. * src/utils/indxbib/indxbib.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. * src/utils/lkbib/lkbib.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/utils/lookbib/lookbib.cc (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/utils/pfbtops/pfbtops.c (usage): Add stream argument. Don't exit. (main): Accept --help and --version. * src/utils/tfmtodit/tfmtodit.cc (main): Accept --help and --version. (usage): Add stream argument. Don't exit. 2001-04-10 Ruslan Ermilov Fix indentation in SYNOPSIS. Updated to include changes of latest BSD mdoc version (basically, the only change is that `.Fn' and `.Fc' put a final semicolon after a function declaration in the SYNOPSIS section). * tmac/doc.tmac (doc-in-synopsis-count): Replaced with ... (doc-in-synopsis-section): New variable. Updated all related functions. (doc-indent-synopsis-active): New register. (Nd, Fn, Fo): Use it. (Cd): It requires manipulation of \n[doc-indent-synopsis] so that `.Cd' with long argument line produces indented wrapped lines. Also, the misplaced `.nop \*[doc-Nm-font]\c'' caused extra undesirable line break to be output. (doc-do-func-decl, Nm, Vt, Fn, Fo): Remove extraneous calls to `.rs'. (Fn, Fc): Add final `;' to output. (doc-save-global-vars, doc-restore-global-vars): Updated. * tmac/doc-common: Remove `Ex' register. Updated. * tmac/doc-ditroff, tmac/doc-nroff, tmac/doc-syms: Updated copyright. 2001-04-06 Ruslan Ermilov * tmac/doc.tmac (Cd): Simplify code. * tmac/groff_mdoc.man: Document some behaviour of `Cd' request. 2001-04-06 Werner LEMBERG Implement continuous underlining for nroff mode. To do that, a new request in the ditroff language has been added: `x u N' (N is 0 or 1). \X and \Y are now transparent to end-of-sentence recognition. * src/include/printer.h (printer): Add `type' parameter to `special' method. * src/libs/libdriver/printer.cc (printer::special): Updated. * src/libs/libdriver/input.cc (do_file): Handle `x u N'. * src/devices/dvi/dvi.cc (dvi_printer::special): Handle only specials of type `p'. * src/devices/grohtml/post-html.cc (html_printer::special): Ditto. * src/devices/grohtml-old/html.cc (html_printer::special): Ditto. * src/devices/grops/ps.cc (ps_printer::special): Ditto. * src/devices/grotty/tty.cc: Add new enum CU_MODE. (glyph::order): New method. (tty_printer::add_char): Use it. (tty_printer::special): New method. (tty_printer::end_page): Implement it. * src/roff/troff/node.h (special_node): Add `no_init_string' member. * src/roff/troff/node.cc (special_node::special_node): Add parameter to set `no_init_string'. (special_node::tprint_start): Use it. (special_node::same, special_node::copy): Updated. (special_node::ends_sentence): New method. (troff_output_file::start_special): Add parameter to include inititialization of special conditionally. * src/roff/troff/env.h (environment): New member `underline_spaces'. * src/roff/troff/env.cc (do_underline_special): New function. (environment::set_font): Use it. (do_underline): Use it. This was `underline()'. (underline): Call `do_underline()'. (continuous_underline): New function which calls `do_underline()'. (environment::newline): Use `do_underline_special()'. (init_env_requests): Updated. * NEWS, man/troff_out.man: Updated. 2001-04-06 Bruno Haible * font/devutf8/R.proto: Fix code of 'shc'. 2001-04-06 Ruslan Ermilov Many fixes. Diag lists can now be nested also; additionally, `-compact' and `-offset' are supported. * tmac/doc.tmac (doc-have-indent): Replaced with ... (doc-list-have-indent-stackXXX): A new register stack. (doc-have-diag-list): Removed. (Bl): Use `doc-list-have-indent-stackXXX'. (El): Updated. (doc-diag-list): Use `doc-compact-list-stackXXX'. (doc-tag-list): Use `doc-list-have-indent-stackXXX'. (doc-set-vertical-and-indent): Ditto. (doc-next-list-depth): Removed. (doc-increment-list-stack): Updated. (doc-decrement-list-stack): Use `doc-list-depth' instead of `doc-next-list-depth'. (doc-end-list, doc-end-column-list): Don't use `doc-increment-list-stack'. (doc-set-column-tab): Don't use `doc-list-offset-stackXXX'. (doc-save-global-vars, doc-restore-global-vars): Updated. * tmac/doc-common: Updated. * tmac/groff_mdoc.man: Updated. * NEWS: Fix typo. 2001-04-02 Werner LEMBERG * src/devices/grotty/grotty.man: Fix grammatical error. 2001-03-30 Ruslan Ermilov Remove .Ld from mdoc package; replace it with special handling of `...'. * tmac/doc-common: Remove `Ld' register. Uncomment `doc-volume-ds-*' strings. Remove `doc-operating-system-default'. (Os): Updated. * tmac/doc-syms (Ld): Removed. * tmac/doc.tmac (doc-parse-args, doc-parse-arg-vector): Handle `...' specially. * NEWS: Updated. * tmac/groff_mdoc.man: Many fixes and updates. 2001-03-29 Werner LEMBERG * tmac/troffrc-end: Protect data with `.do'. Reported by T. Kurt Bond . * tmac/www.tmac: Save compatibility mode. 2001-03-28 Ruslan Ermilov * tmac/groff_mdoc.man: Many fixes. 2001-03-28 Werner LEMBERG * src/preproc/soelim/soelim.man: Document that `.so' isn't recognized. 2001-03-27 Werner LEMBERG * tmac/an-old.tmac (TP, an-do-tag): Reduce line length while in diversion. This fixes overlong tags. 2001-03-26 Werner LEMBERG * doc/groff.texinfo: Fixed and improved documentation of fonts. * tmac/doc-syms: Fix error messages. * tmac/an-old.tmac: Remove incorrect double backslashes. 2001-03-24 Ruslan Ermilov * tmac/Makefile.sub: Strip mdoc.local also * tmac/strip.sed: Fixed. 2001-03-24 Werner LEMBERG * tmac/doc-nroff, tmac/doc-ditroff: Implement -rSxx switch for selecting the font size. * tmac/groff_mdoc.man, NEWS: Document it. 2001-03-23 Werner LEMBERG * src/roff/troff/div.cc (save_vertical_space): Add default argument to `sv' request. * src/roff/troff/env.cc (family_change): Make `.fam' accept no argument to restore previous font family. * src/roff/troff/troff.man, man/groff.man, NEWS: Updated. * doc/groff.texinfo: More fixes and additions (mainly for font manipulating commands). * tmac/groff_mdoc.reference.man: Small updates and renamed to ... * tmac/groff_mdoc.man: This. The quick reference has been removed. * tmac/Makefile.sub, NEWS: Updated. 2001-03-23 Werner LEMBERG Replaced mdoc implementation. The new version is `state of the art', using almost all new features of groff 1.17 -- it won't run with older versions. * tmac/doc.tmac: Completely rewritten. * tmac/doc-common: Ditto. * tmac/doc-nroff: Ditto. * tmac/doc-ditroff: Ditto. * tmac/doc-syms: Ditto. * tmac/mdoc.local: New file. * tmac/groff_mdoc.samples.man: Replaced with ... * tmac/groff_mdoc.reference.man: New file, covering mdoc completely. * tmac/strip.sed: Updated. * tmac/Makefile.sub: Updated. * INSTALL: Updated. * tmac/groff_man.man: Add `man.local' to the FILES section. 2001-03-22 Werner LEMBERG * doc/groff.texinfo: Added many @noindent. Replaced @end_Example -> @endExample. Added info whether registers are r/o. Many other additions and fixes. 2001-03-21 Werner LEMBERG * doc/groff.texinfo: Added macro @Var (and some hacks due to bugs in makeinfo of texinfo 4.0) to be used in @Def* macros. Improved @Def* macros: Now the exact syntax of request, register, and escapes is shown. Added macros for parentheses and brackets to be used in @Def*. Many fixes and improvements of the documentation. 2001-03-20 Werner LEMBERG * doc/groff.texinfo: Added new index: `st' (for strings). Added macros @Defstr(x). Added macro @Example (adding @group). Other minor improvements. 2001-03-19 Werner LEMBERG * doc/groff.texinfo: Added two new indices: `es' (for escapes) and `rq' for requests. `fn' is no longer used. Added macros @Defreq(x), @Defreg(x), and @Defesc(x). Removed @Deffn(x). * tmac/an-old.tmac (an-p-footer): If `cR' is set, replace page number with name of man page. 2001-03-19 Larry Kollar * doc/groff.texinfo: Complete revision. Added many @Deffn to gain consistency. 2001-03-19 Werner LEMBERG * man/groff_font.man: Document `prepro', `postpro', and `print'. * src/roff/groff/groff.man: Improve documentation of `-l' and `-L'. * src/devices/grohtml/grohtml.man: Fixing typos. 2001-03-19 Gaius Mulley * tmac/s.tmac (@IP): Pass `.ip' html tag. * tmac/groff_mwww.man: Remove .LINE macro * tmac/www.tmac (LINE): Add `.ti'. * src/devices/grohtml/post-html.cc (html_printer): New member `indent'. (html_printer::emit_raw): Use it. (html_printer::do_linelength): Ditto. (html_printer::do_pageoffset): Ditto. (html_printer::do_indentation): Ditto. (html_printer::do_tempindent): Ditto. (html_printer::do_break): Ditto. (html_printer::begin_page): Ditto. (html_printer::do_indentedparagraph): New function. (html_printer::troff_tag): Handle `.ip'. * src/devices/grohtml/html-text.cc (html_text::issue_table_begin): Add `' handling. (html_text::do_table): Add parameter. (html_text::do_indent): Updated. * src/devices/groohtml/html-text.h: Updated. 2001-03-16 Gaius Mulley Introduced simple html tables to implement indentation. * src/devices/grohtml/html.h (word, word_list): New structures. (simple_output): Use it. * src/devices/grohtml/post-html.cc: Add `INDENTATION'. (html_printer): Improve indentation handling. (html_printer::emit_raw): Set `in_table' element. Handle indentation if set. (html_printer::write_header): Move conditional downwards. Don't allow whitespace in tags. (html_printer::do_linelength): Handle line length and indentation conditionally. (html_printer::do_pageoffset): Handle indentation conditionally. (html_printer::do_indentation): Ditto. (html_printer::do_tempindent): New function member. (html_printer::do_fill): Take care of indentation. (html_printer::do_flush): Finish table. (html_printer::do_links): Ditto. (html_printer::do_break): New function for handling `.br' and `.ti'. (html_printer::troff_tag): Use it. Handle `.ti'. (html_printer::flush_globs): Fix. (html_printer::flush_page): Finish table. (html_printer::html_printer): Fix error message. Set up `linelength'. (html_printer::add_to_sbuf): Remove special handling of character code 255. (to_unicode): Remove `stop()'. (html_printer::write_title): Cleanup. (html_printer::begin_page): Use `put_string()'. Handle indentation. (html_printer::~html_printer): Flush text and end the line. Use `put_string()'. * src/devices/grohtml/html_text.h: Add more *_TAG enum values. * src/devices/grohtml/html_text.cc (html_text::end_tag): Fix emission of tags. (html_text::start_tag): Disable newlines. (html_text::table_is_void): New function. (html_text::issue_table_begin): Ditto. (html_text::issue_table_end): Ditto. (html_text::push_para): Better table handling. (html_text::do_indent): New function. (html_text::do_table): Ditto. (html_text::done_table): Ditto. (html_text::do_tt): Handle PRE_TAG. (html_text::is_in_table): New function. (html_text::check_emit_text): Handle tables. (html_text::do_emittext): Use `nl()'. (html_text::do_para): Handle table. (html_text::remove_def): New function. * src/devices/grohtml/output.cc (word, word_list): Implement methods. (simple_output::end_line): Flush last word. (simple_output::simple_comment): Ditto. (simple_output::begin_comment): Recoded. (simple_output::end_comment): Ditto. (simple_output::comment_arg): Removed. (simple_output::check_newline): Improve test and flush last word. (simple_output::space_or_newline): Improved. (simple_output::write_newline): Replaced with... (simple_output::nl): This. (simple_output::put_raw_char): Flush last word. (simple_output::check_space): Removed. (simple_output::put_translated_string): Ditto. (simple_output::put_string): Simplified. (simple_output::put_number): Updated. (simple_output::put_float): Ditto. (simple_output::put_symbol): Removed. (simple_output::enable_newlines): Add `check_newline()'. (simple_output::flush_last_word): New function. * src/roff/troff/enc.cc (no_fill): Remove call to add_html_tag(). * src/roff/troff/div.cc (page_offset): Add call to add_html_tag(). * tmac/s.tmac (@PP, @IP): Add html conditional code. * tmac/an-old.tmac (TP): Ditto. 2001-03-09 Ruslan Ermilov * mdate.sh: Make it POSIX compliant. 2001-03-09 Werner LEMBERG Added the `return' request to end a macro immediately. It simply pops iterators from the input stack until a macro iterator is found. * src/roff/troff/input.cc (input_iterator::is_macro, macro_iterator::is_macro): New member. (input_return_boundary): New class to signal an immediate return to while_request(). (input_stack::add_return_boundary, input_stack::is_return_boundary): New functions. (input_stack::clear): Use it. (input_stack::pop_macro): New function. (while_request): Use `is_return_boundary()'. (return_macro_request): New function. (init_input_requests): Use it. * src/roff/troff/TODO: Updated. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 2001-03-08 Werner LEMBERG * src/roff/troff/input.cc (input_iterator::is_boundary): Minor cleanup. 2001-03-07 Werner LEMBERG Make `\B' more rigid. * src/roff/troff/number.cc (parse_expr, parse_term): Add `rigid' parameter. (get_number_rigidly): New function. * src/roff/troff/input.cc (do_expr_test): Use it. * src/roff/troff/token.h: Updated. * src/roff/troff/request.h: Fix typo (init_html_request -> init_markup_request). 2001-03-04 Gaius Mulley Fixed grohtml handling of any named glyph for glyph indexes < 0x80. Cosmetic changes to `.html-begin', `.html-end', `.html-image' which are now `.begin', `.end', `.image'. * src/devices/grohtml/post-html.cc: Adding UNICODE_DESC_START. (html_printer::add_to_sbuf): Changing type of `code' parameter. Use add_char_to_sbuf(). (to_unicode): New function. (char_translate_to_html): Changing type of `ch' parameter. Use `to_unicode()'. (html_printer::~html_printer): Comment out doctype string. * src/preproc/html/pre-html.cc (write_end_image): Use `.end' instead of `.html-end'. (write_start_image): Use `.begin' and `.image' instead of `.html-begin' and `.html-image'. * src/roff/troff/input.cc: Rename `html_level' to `begin_level'. (html_begin): Renamed to ... (begin): This. (html_end): Renamed to ... (end): This. (html_image): Renamed to ... (image): This. (init_html_requests): Renamed to ... (init_markup_requests): This. * tmac/www.tmac: Updated. 2001-02-28 Bram * src/libs/libgroff/font.cc (font_widths_cache): Fixing syntax of constructor. 2001-02-26 David Leonard * doc/meref.me: Fixing some typos. 2001-02-16 Werner LEMBERG * src/roff/troff/node.cc (space_node::get_hyphenation_type): New method. Return `HYPHEN_MIDDLE' if it was `\:'. * src/roff/troff/node.h: Updated. 2001-02-17 Ruslan Ermilov * tmac/groff_tmac.man: Fix typo. 2001-02-16 Werner LEMBERG Fixing a bug which prevented proper end-of-sentence recognition between an `unformatted' box and the following text. As a consequence, vertical line distances are no longer preserved in boxes after a call to `.unformat' -- because boxes aren't line-oriented (contrary to diversions), this doesn't make sense anyway. * src/roff/troff/node.cc (*node::set_unformat_flag): Add return value. (vertical_size_node::set_unformat_flag): New method. * src/roff/troff/node.hh: Updated. * src/roff/troff/input.cc (word_space_node::reread, hmotion_node::reread): Reset `unformat' flag after usage. (unformat_macro): Append only if `set_unformat_flag()' returns non-zero. * src/roff/troff/troff.man: Updated. 2001-02-15 Werner LEMBERG * src/roff/troff/troff.man, NEWS, man/groff.man: Improved documentation of `asciify' and `unformat' requests. 2001-02-13 Werner LEMBERG Redesigned the `unformat' request. It is no longer connected with `asciify' but rather uses new `reread()' methods if the `unformat' flag is set. Additionally, the handling of space characters after unformatting has been fixed so that they retain their width. * src/roff/troff/node.h (width_list): New structure to store original widths of spaces. (node): Added `unformat' member. Replaced `num_spaces' variable with `orig_width' list. * src/roff/troff/node.cc (*node::asciify, asciify_reverse_node_list): Removed `unformat_only' flag and related code. (word_space_node::asciify, word_space_node::word_space_node): Use `orig_width'. (word_space_node::~word_space_node): New destructor. (word_space_node::copy): Updated to handle `orig_width'. (hmotion_node::copy, unbreakable_space_node::copy): Updated. (*node::merge_space): Update `orig_width' list if necessary. (*node::set_unformat_flag): New methods to set the `unformat' flag. * src/roff/troff/enc.cc (environment::space_newline): Use `width_list'. (environment::space): Added method to handle space width and sentence space width as parameters. Use `width_list'. (environment::make_tab_node): Updated. * src/roff/troff/env.h: Updated. * src/roff/troff/input.cc (word_space_node::reread, unbreakable_space_node::reread, hmotion_node::reread): New methods to handle nodes specially if `unformat' flag is set. (do_asciify_macro): Renamed back to ... (asciify_macro): This. (unformat_macro): New implementation to simply set the `unformat' flag. * MORE.STUFF: Added more info about deroff. 2001-02-08 Werner LEMBERG * src/roff/troff/node.h (unbreakable_space_node, hmotion_node, space_char_hmotion_node, overstrike_node): Add `get_hyphen_list()' and `add_self()' methods to avoid hyphenation. For example, the hyphen list for `foo\0\0bar' was `foobar', causing insertion of a soft hyphen after `foo'. Now the hyphen list is correctly `foobar'. 2001-02-05 Yoshiteru Kageyama * tmac/groff_tmac.man: Fix `BIR' macro. 2001-02-04 Werner LEMBERG A new escape sequence `\:', inserting a zero-width break point. * src/roff/troff/input.h: Adding `ESCAPE_COLON'. * src/roff/troff/input.cc (get_copy, token::next, asciify): Implement it. * src/roff/troff/node.h (node): Add `is_escape_colon()' virtual method. (space_node): Add `was_escape_colon' member. Add `is_escape_colon()' and `asciify()' methods. * src/roff/troff/node.cc (space_node::space_node): Updated. (space_node::asciify): Handle `was_escape_colon'. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. Handle `\~' similar to other comparable requests. * src/roff/troff/input.cc (process_input_stack): Remove now obsolete label. (token::next): Move creation of an unbreakable_space_node to... (token::add_to_node_list): Here. Fix a bug which sometimes prevented hyphenation of words connected with `\~' or `\ ' (and other escape sequences handled as TOKEN_NODE). This also fixes a hyphenation problem with boxes (after a call to the `unformat' request). * src/roff/troff/env.h (environment::possibly_break_line, environment::hyphenate_line): Introducing `start_here' parameter. * src/roff/troff/env.cc (environment::space_newline, environment::space): Use it. (environment::possibly_break_line, environment::hyphenate_line): Implement it. * src/roff/troff/input.cc (process_input_stack): Use it. * src/roff/troff/node.h (unbreakable_space_node, hmotion_node, space_char_hmotion_node, overstrike_node): Add `get_hyphenation_type()' method. * src/roff/troff/node.cc (break_char_node::asciify): Don't asciify if `unformat_only' is active. 2001-01-30 Werner LEMBERG Implemented new read-only number register `.linetabs' which returns 1 if in line-tabs mode, 0 otherwise. * src/roff/troff/env.h (environment): Add get_line_tabs() member. * src/roff/troff/env.cc (get_line_tabs): New function. (init_env_requests): Use it. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. * VERSION, REVISION: Changing to 1.17.0. 2001-01-28 Werner LEMBERG Fixed a bug which prevented hyphenation of words which are finished with `\)'. * src/roff/troff/token.h (token): Add enum type `TOKEN_TRANSPARENT_DUMMY' and method `transparent_dummy()'. * src/roff/troff/input.cc (token::next, token::description, get_line_arg, token::add_to_node_list, token::process): Use it. 2001-01-27 Werner LEMBERG * src/roff/troff/div.h (diversion): Add `saved_prev_line_interrupted'. * src/roff/troff/div.cc (do_divert): Use it. * src/roff/troff/input.cc (asciify): Add ESCAPE_RIGHT_PARENTHESIS. 2001-01-25 Werner LEMBERG Adding the `linetabs' request. If set, tab distances are not computed relative to the input line but relative to the output line. * src/roff/troff/env.h (environment): New member `line_tabs'. * src/roff/troff/env.cc (line_tabs_request): Implement request. (environment::environment, environment::copy): Updated. (environment::distance_to_next_tab): Use `line_tabs'. (init_env_requests): Register request. * src/roff/troff/troff.man, man/groff.man, NEWS: Document it. Other fixes. 2001-01-24 Werner LEMBERG Introducing a new read-only register `.int' which is set to a positive value if the last output line is interrupted (i.e., if it contains `\c'). * src/roff/troff/env.cc (init_env_requests): Add it. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 2001-01-23 Gaius Mulley * tmac/mwww.tmac: Call `www.tmac', not `arkup.tmac'. * src/preproc/html/pre-html.cc (findPrefix): New function which generates the troff executable name via the system prefix. * src/preproc/eqn/main.cc: Modified warning message. 2001-01-23 Werner LEMBERG troff's `box' and `boxa' requests didn't preserve temporary indentation. * src/roff/troff/div.h (diversion): Add `saved_saved_indent' and `saved_target_text_length' members. * src/roff/troff/div.cc (do_divert): Use them. Tabs (but not yet leaders and fields) are now handled correctly by `asciify' request. * node.h (hmotion_node): Add field `was_tab'. * env.cc (environment::make_tab_node): Set it. * node.cc (hmotion_node::copy, hmotion_node::asciify): Use it. Added new request `unformat' which will, contrary to `asciify', preserve font information after unformatting (i.e., only nodes dealing with horizontal space are converted back to input characters). * input.cc (asciify_macro): Renamed to ... (do_asciify_macro): this, having a new parameter `unformat_only'. (asciify_macro, unformat_macro): New; using do_asciify_macro. (init_input_requests): Added `unformat'. * node.cc (*_node::asciify), asciify_reverse_node_list: Added parameter to control asciification process. * node.h (*_node::asciify): Ditto. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 2001-01-20 Werner LEMBERG * doc/groff.texinfo: Minor improvement of `.in' documentation. 2001-01-18 Werner LEMBERG * tmac/ps.tmac: Remove call of psold.tmac. * tmac/psold.tmac: Comment updated. * tmac/psnew.tmac: Removed since no longer needed. * tmac/Makefile.sub, NEWS, src/devices/grops/grops.man: Updated. * font/devutf8/R.proto: Adding `shc' glyph. * font/devutf8/NOTES: Updated. * test-groff: Updated. 2001-01-15 Gaius Mulley First cut of the new html device driver. Changes to pre-html and the new grohtml are too numerous to be documented here. Stuff related to `html' has been renamed to `html-old' and `html2' stuff has been renamed to `html' (including directories). The new html device driver is therefore invoked as `-Thtml'. Added new `\O' escape to suppress output (needed by html driver). Added functions and code to pass info about input-level commands (`.in', `.fl', etc.) to html driver. Three new functions (.html-begin, .html-end, and .html-image) for better html handling: `html-begin' will execute the remaining line if at the outermost nesting level, increasing an internal counter. `html-end' does the same but decreases the internal counter. `html_image' puts its arguments into a special node (suppress_node) to define an image region. The `output' request has been removed. * tmac/html-tags.tmac: Removed. * tmac/arkup.tmac: Updated and renamed to ... * tmac/www.tmac: New file. * tmac/markup.tmac Updated and renamed to ... * tmac/mwww.tmac: New file. * tmac/Makefile.sub: Updated. * tmac/an-old.tmac: Updated. * tmac/eqnrc: Updated. * tmac/groff_man.man * tmac/groff_markup.man: Updated and renamed to ... * tmac/groff_mwww.man: New file. * tmac/groff_tmac.man: Updated. * tmac/html-old.tmac: Updated and Renamed from html.tmac. * tmac/html.tmac: Updated and renamed from html2.tmac. * tmac/pspic.tmac: Updated html support. * tmac/s.tmac: Added html output support. * tmac/troffrc, tmac/troffrc-end: Updated. * Makefile.in, doc/Makefile: Updated. * doc/groff.texinfo: Added info about new `\O' escape. * doc/homepage.ms: Use `MAILTO' macro. * font/devhtml/DESC.proto: Add `C' font. * font/devhtml/Makefile.sub: Updated. * font/devhtml/R.proto: Minor fixes. * font/devhtml-old/Makefile.sub: Updated. * src/devices/grohtml-old/Makefile.sub: Updated. * src/libs/libdriver/printer.cc (printer::get_font_from_index): New method. * src/libs/libgroff/htmlindicate.cc (html_begin_suppress, graphic_start): Add `inline' parameter. Update. (html_end_suppress, graphic_end): Update. * src/include/html-strings.h: New file. * src/include/htmlindicate.h: Comments updated. * src/include/printer.h: Updated. * src/preproc/eqn/main.cc (do_file, main): Updated. * src/preproc/pic/troff.cc (troff_output::start_picture, troff_output::finish_picture): Updated. * src/preproc/tbl/main.cc (process_input_file): Updated. * src/roff/groff/groff.cc (main): Updated. Pass device arguments to predrivers also. Use `ps' device for `eqn' preprocessor if `-Thtml' is given. * src/roff/troff/env.h (environment): Updated. New elements `need_eol' and `ignore_next_eol' (for html output). * src/roff/troff/env.cc (environment::environment): Add initializers for `need_eol' and `ignore_next_eol'. (environment::add_html_tag_eol, environment::add_html_tag_tabs): New functions. (point_size, fill, no_fill, center, right_justify, line_length, indent, temporary_indent, break_request, handle_tab): Use `add_html_tag()'. (set_tabs): Use `add_html_tag_tabs()'. (environment::add_html_tag): Updated. (environment::do_break): Updated. * src/roff/troff/div.cc (space_request, flush_output): Use `environment::add_html_tag()'. * src/roff/troff/input.cc: Updated. New variable `html_level' to indicate nested `html-begin' requests. (file_iterator::fill): Use `environment::add_html_tag_eol()'. (non_interpreted_char_node, token_node, non_interpreted_node): Add `force_tprint()' method. (token::next): Handle `\O'. (do_suppress): Implement it. (html_begin, html_end, html_image): New functions. (init_output_requests): Renamed to ... (init_html_requests): this. (main): Use it. (macro::append_str, macro::append_unsigned, macro::append_int): New methods. New variable `output_low_mark_miny' to limit minimal value of y. (reset_output_registers): Use it. (output_request): Removed. (get_output_registers): New function. * src/roff/troff/node.h (node): Make `force_tprint()' virtual. (*_node): Added `force_tprint()' if necessary. (special_node): New elements `tf' and `get_tfont()'. (suppress_node): New class. * src/roff/troff/node.cc: New global variables `image_no' and `suppress_start_page'. (real_output_file): New method `is_on()'. (troff_output_file): New method `start_special(tfont)'. (troff_output_file::really_print_line): Use `tprint' conditionally. (real_output_file::print_line): Updated. (real_output_file::on): Updated. (*_node): Added `force_tprint()'. (special_node::special_node): Initializer updated. (special_node::same, special_node::copy, special_node::tprint_start): Updated. (get_reg_int, get_reg_str): New functions. (suppress_node::*): New methods. New global variables last_position, last_image_filename; (min): New inline function. * src/roff/troff/reg.h, src/roff/troff/request.h, src/roff/troff/troff.h: Updated. 2001-01-13 Werner LEMBERG * NEWS, src/roff/troff/troff.man, doc/groff.texinfo: Fix documentation of `asciify' request. 2001-01-12 Werner LEMBERG * src/roff/troff/input.cc: Move definition of special characters like `ESCAPE_TILDE' to ... * src/roff/troff/input.h: New file. * src/roff/troff/Makefile.sub (HDRS): Add it. Extending the .asciify request to `unformat' space characters also. * src/roff/troff/node.h (word_space_node): Add `num_spaces' element to count input space characters. Update constructors to take care of it. * src/roff/troff/node.cc (space_char_hmotion_node::asciify): Use `ESCAPE_SPACE' instead of normal space. (word_space_node::asciify): New method. (unbreakable_space_node::asciify): New method. (word_space_node::merge_space): New method. * src/roff/troff/env.cc (environment::space_newline, environment::space): Add code to initialize `num_spaces' (using the constructor of `word_space_node'). * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo: Document it. 2001-01-09 Werner LEMBERG * man/groff_char.man: Use table header traps only conditionally. 2001-01-09 Bjarni Ingi Gíslason * man/groff_char.man: Add `ý' and `Ý' to the `acute' group. 2001-01-08 Werner LEMBERG Introducing the `box' and `boxa' requests which are similar to `di' resp. `da' but omitting a partially filled line (which is restored after ending the diversion). * src/roff/troff/div.h (diversion): Add elements to save partially filled line. * src/roff/troff/div.cc (do_divert): Add parameter `boxing' to save partially filled line. (divert, divert_append): Updated. (box, box_append): New functions. (init_div_requests): Use them. * src/roff/troff/env.h (environment): do_divert() is now a friend. * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. * doc/groff.texinfo: Fix documentation of `lf' request. 2000-12-25 Werner LEMBERG * src/roff/troff/troff.man, NEWS: Document `writem' request. 2000-12-21 Werner LEMBERG Ignore `ss' request if in compatibility mode. * src/roff/troff/input.cc: Make `compatible_flag' non-static. * src/roff/troff/env.h: Added extern `compatible_flag' declaration. * src/roff/troff/env.cc (space_size): Use it. * doc/groff.texinfo, src/roff/troff/troff.man: Fix documentation of `ss' request in nroff mode. * tmac/an-old.tmac: Fixed some serious bugs introduced with latest changes. 2000-12-15 Ruslan Ermilov * tmac/troffrc, tmac/troffrc-end: Convert tmac.* to *.tmac. 2000-12-13 Werner LEMBERG * src/preproc/eqn/Makefile.sub (MAN1): Added neqn.man. * src/preproc/eqn/neqn.man: Small fixes and additions. 2000-12-13 Ruslan Ermilov * src/utils/addftinfo/addftinfo.man, src/devices/grops/grops.man: Fixing typo. * src/preproc/eqn/neqn.man: New file. * src/preproc/tbl/table.cc (table::print): Fix `indent cannot be negative' warning. * tmac/e.tmac: Add `T&' macro. Fix `indent cannot be negative' warning. * tmac/s.tmac: Fix `indent cannot be negative' warning. 2000-12-07 Werner LEMBERG * src/include/lib.h: Replaced __ALPHA with __alpha symbol. 2000-12-06 Werner LEMBERG * PROBLEMS: Added info about adding -lPW on HP-UX to satisfy the `alloca' symbol . * MORE.STUFF: Added info about deroff for djgpp. * tmac/an-old.tmac, tmac/groff_man.man, doc/groff.texinfo, NEWS: Fix documentation of -rcR switch. 2000-12-03 Werner LEMBERG * tmac/an-old.tmac: Implementing the -rcR switch (similar to mdoc); if -rcR=1 (which is now the default in nroff mode), a single, very long page is created instead of multiple pages: All `ne' and `wh' requests are put into conditionals; a new macro `an-end' is added to be called with `em'. Some other minor cleanups. * NEWS, tmac/groff_man.man, doc/groff.texinfo: Updated. 2000-12-02 Werner LEMBERG Fixing a bug which prevented hyphenation in words followed immediately by a TOKEN_NODE (e.g. `\ ', `\~', etc.). * src/roff/troff/input.cc (process_input_stack ): Adding possibly_break_line(). * src/roff/troff/env.h (environment): Make possibly_break_line() public. Make `\~' usable in .tr request. * src/roff/troff/token.h (token_type): Add TOKEN_STRETCHABLE_SPACE. (token): Add stretchable_space(). * src/roff/troff/input.cc (token::next, token::delimiter, token::description, process_input_stack, do_translate, add_to_node_list, token::process): Use it. * src/roff/troff/node.h (node): Add fourth parameter to add_char() for adjusting the space. * src/roff/troff/node.cc (node::add_char): Implement it. Add code for stretchable space. * src/roff/troff/input.cc (token::add_to_node_list): Use it. (make_node): Add code for stretchable space. * src/roff/troff/env.cc (environment::add_char): Use it. * src/roff/troff/input.cc: Add ESCAPE_TILDE special character. (get_copy, token::next, transparent_translate, asciify): Use it. * NEWS, src/roff/troff/troff.man, src/roff/troff/TODO, doc/groff.texinfo: Updated. * man/groff.man: Small reorderings. 2000-11-23 Werner LEMBERG * NEWS: Fixes. * src/preproc/eqn/main.cc (main): Use `config_macro_path' for -M option. * src/roff/troff/input.cc (main): Add `config_macro_path' and `safer_macro_path' to -M option. * src/roff/troff/troff.man: Fixes. 2000-11-22 Werner LEMBERG Use safer path (except for config files) if -U isn't specified. Add a special macro path (without home and current directory) for config files. Add home directory to unsafe path for consistency. Don't include the home directory in the font path. * src/libs/libgroff/macropath.cc: Add `config_macro_path', change `macro_path'. * src/include/macropath.h: Add `config_macrp_path'. * src/libs/libgroff/fontfile.cc: Fix font path. * src/roff/troff/input.cc (process_startup_file): Use `config_macro_path'. (main): Select unsafe path if -U is given. * src/preproc/eqn/main.cc (main): Fixing search path for configuration file. * src/preproc/eqn/eqn.man: Updated. * src/roff/troff/troff.man, man/roff.man, tmac/groff_tmac.man: Updated. * src/preproc/grn/grn.man, src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man, src/devices/grolbp/grplbp.man, src/devices/grolj4/grolj4.man, src/devices/grops/grops.man, src/devices/grotty/grotty.man: Updated. * Makefile.in: Fix comments. 2000-11-17 Werner LEMBERG * tmac/safer.tmac: Empty file added (again) for compatibility reasons. * tmac/Makefile.sub: Updated. 2000-11-16 Werner LEMBERG * src/devices/grodvi/dvi.cc (main), src/devices/grohtml2/post-html.cc (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc (main), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc (main), src/preproc/html2/pre-html.cc (main), src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main), src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc (main), src/utils/hpftodit/hpftodit.cc (main), src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc (main), src/utils/lookbib/lookbib.cc (main), src/utils/pfbtops/pfbtops.c (main), src/utils/tfmtodit/tfmtodit.cc (main): Use stdout for -v. * src/roff/groff/groff.cc (run_commands), src/roff/groff/pipeline.c (run_pipeline): New parameter `no_pipe' to make direct printing to stdout possible. * src/roff/groff/pipeline.h: Updated. * src/utils/afmtodit/afmtodit.pl: Add -v switch. * src/utils/afmtodit/Makefile.sub (afmtodit): Use @VERSION@. * src/utils/afmtodit/afmtodit.man: Updated. * src/utils/addftinfo/addftinfo.cc (main): Add -v switch. (version): New function. (usage): Updated. * src/utils/addftinfo/addftinfo.man: Updated. * src/devices/*/*, src/preproc/*/*, src/roff/*/*, src/utils/*/*: Fixing copyright dates. * src/preproc/eqn/neqn.sh: Adding GROFF_BIN_PATH to path instead of replacing it. * src/devices/grolbp/lbp.cc (main): Use Version_string instead of version_string. * src/roff/nroff/Makefile.sub (nroff): Fix use of @VERSION@. 2000-11-15 Werner LEMBERG In all programs, make -v return immediately with exit status 0 to be compliant with the GNU standard. * src/devices/grodvi/dvi.cc (main), src/devices/grohtml2/post-html.cc (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc (main) src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc (main), src/preproc/html2/pre-html.cc (main), src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main), src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc (main): Implement it. * NEWS: Updated. * src/roff/groff/groff.cc (main): Add copyright notice. Add refer and postprocessors to the -v option. * src/roff/grog/grog.pl: Implement -v. * src/roff/grog/Makefile.sub (grog): Use @VERSION@. * src/roff/grog/grog.man, doc/groff.texinfo: Updated. * src/roff/nroff/nroff.sh: Implement -v. * src/roff/nroff/Makefile.sub (nroff): Use @VERSION@. * src/roff/nroff/nroff.man: Updated. * src/preproc/eqn/main.cc (main): Fix comment typo. * MORE.STUFF: Added info about djgpp port of grap. 2000-11-14 Werner LEMBERG * src/roff/grog/grog.{pl,sh}: Implemented -C switch for compatibility mode (or rather, implemented non-compatibility mode). * NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated. * src/roff/groff/groff.cc (main): Add BIN_PATH to PATH instead of replacing it -- we don't find gxditview otherwise. * NEWS, src/roff/groff/groff.man, doc/groff.texinfo: Updated. * src/preproc/pic/depend: Removed. Unnecessary. Implemented dummy keyword `solid' in pic for compatibility with AT&T pic. * lex.cc (lookup_keyword): Added `solid'. * pic.y: Added SOLID with dummy rule. * pic.cc, pic_tab.h: Regenerated. * doc/pic.ms: Updated. 2000-11-13 Werner LEMBERG For security reasons, don't use the current directory but the home directory while searching and scanning troffrc and troffrc-end. Similarly, replace the current directory with the home directory in the font path. * Makefile.in (fontpath, tmacpath): Remove current directory. * src/libs/libgroff/searchpath.cc (search_path::search_path): Add two parameters `add_home' and `add_current'. (search_path::~search_path, search_path::command_line_dir, search_path::open_file): Remove tests for `dirs' being zero. * src/include/searchpath.h: Adjust. * src/libs/libgroff/macropath.cc, src/include/macropath.h: Add `safer_macro_path'. * src/libs/libgroff/fontfile.cc: Adjust `font_path'. * src/roff/troff/troff.h: Add `searchpath.h' and `mac_path'. * src/roff/troff/input.cc: Use `mac_path', initialized with `macro_path'. (process_startup_file): Set `mac_path' to `safer_macro_path'. * src/roff/troff/env.cc: Use `mac_path'. * src/preproc/eqn/main.cc (main): Use `safer_macro_path'. * NEWS, man/roff.man, src/roff/troff/troff.man, src/roff/groff/groff.man, tmac/groff_tmac.man, arch/djgpp/README: Updated. 2000-11-12 Werner LEMBERG * src/include/lib.h: Don't include groff-getopt.h for OSF/1. * aclocal.m4 (GROFF_SYS_ERRLIST): Do test in C, not in C++. * configure.in: Fix typo in comment. * configure: Regenerated. * src/libs/libgroff/*, src/include/*, src/roff/troff/*: Fixing copyright dates. 2000-11-08 Werner LEMBERG Add system tmac directory (/usr/local/lib/groff/site-tmac). * Makefile.in: Add $(libdir), $(libprogramdir), and $(systemtmacdir). (uninstall_dirs): Add $(libdir), $(libprogramdir), and $(systemtmacdir). Use @libdir@. * Makefile.comm (.man.n): Add @SYSTEMMACRODIR@. * tmac/Makefile.sub (install_data): Create $(systemtmacdir) and $(localtmacdir). (uninstall_sub): Use $(systemtmacdir) for wrapper macros. * man/roff.man, src/roff/troff/troff.man, src/roff/groff/groff.man, NEWS, doc/groff.texinfo: Updated and minor fixes. * Makefile.comm, Makefile.in: Added tmac_{s,an}_prefix stuff again. * tmac/Makefile.sub: Added `wrap' stuff again, but installing into $(systemtmacdir) since the wrapper files are platform-dependent. 2000-11-01 Werner LEMBERG * doc/groff.texinfo: Fix typo. 2000-10-26 Werner LEMBERG Convert macros `tmac.XXX' to `XXX.tmac'. Special cases: tmac.doc.old -> doc-old.tmac tmac.an.old -> an-old.tmac * tmac/tmac.*: Moved to ... * tmac/*.tmac: this. * tmac/man.local: Fix comment. * tmac/groff_man.man, tmac/groff_markup.man, tmac/groff_mdoc.man, tmac/groff_me.man, tmac/groff_ms.man, tmac/groff_tmac.man: Updated. Added some `FILES' sections. More use of @...@ directives. Other minor updates. * arch/djgpp/README, font/devutf8/NOTES: Updated. * doc/homepage.ms, doc/groff.texinfo: Updated. * man/groff.man, man/roff.man: Updated. * src/devices/grodvi/grodvi.man, src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man, src/devices/grops/grops.man, src/devices/grotty/grotty.man: Updated. * src/preproc/pic/pic.man: Updated. * src/roff/grog/grog.pl, src/roff/grog/grog.sh: Use -mdoc-old instead of -mdoc.old. * src/roff/grog/grog.man: Document -mdoc and -mdoc-old. * src/roff/nroff/nroff.man: Updated. * NEWS: Updated. * tmac/fixmacros.sed, tmac/strip.sed: Add explanatory comment. * tmac/mm.diff: Removed -- it has no use now since the mm package is part of groff. * tmac/*: Removed trailing spaces. * arch/djgpp/t-groff.bat: Fix GROFF_TMAC_PATH (hyphen.us is now in the tmac subdirectory also). * Makefile.comm, Makefile.in: Remove tmac_{s,an}_prefix stuff. * tmac/Makefile.sub: Adapted to new macro names; removed `wrap' stuff since it is no longer needed. * README, PROBLEMS: Updated. 2000-10-25 Werner LEMBERG Invert current behaviour: Search first FOOBAR.tmac, then tmac.FOOBAR. * src/roff/troff/input.cc: Introduce MACRO_POSTFIX. (open_mac_file, macro_source): Implement it. * src/roff/troff/troff.man, tmac/groff_tmac.man, man/roff.man, doc/groff.texinfo, NEWS: Document it. * src/roff/nroff/nroff.man, src/roff/groff/groff.man, man/groff.man: Small documentation improvements. * test-groff: Fix GROFF_TMAC_PATH (hyphen.us is now in the tmac subdirectory also). * font/devps/Makefile.sub: Fix rules for dingbats.*map. 2000-10-24 Werner LEMBERG Add local tmac directory (groff/site-tmac). * Makefile.in: Add $(localtmacdir). (uninstall_dirs): Add $(localtmacdir). * Makefile.comm (.man.n): Add @LOCALMACRODIR@. * tmac/Makefile.sub (install_data, uninstall_sub): Handle man.local in $(localtmacdir). Create $(localtmacdir). * man/roff.man, src/roff/troff/troff.man, NEWS, doc/groff.texinfo: Updated and minor fixes. Rename font/devps/generate/dingbats[r]map to dingbats.[r]map. * font/devps/generate/Makefile.sub, arch/djgpp/README: Adjust. 2000-10-23 Werner LEMBERG Move hyphen.us to tmac directory. * src/roff/troff/hyphen.us: Removed. * src/tmac/hyphen.us: Added. * src/roff/troff/Makefile.sub, tmac/Makefile.sub: Updated. Change installation structure for data files from .../groff/... to .../groff//... to be conform with other GNU programs. * Makefile.in, Makefile.comm, src/utils/indxbib/Makefile.sub, doc/Makefile: Implement it. * aclocal.m4 (GROFF_PAGE): Add test for new directory structure. * configure: Updated. * arch/djgpp/README, font/devutf8/NOTES: Use it. * NEWS: Document it. * man/roff.man, tmac/groff_tmac.man: Use @FONTPATH@, @FONTDIR@, and @MACRODIR@ instead of hard-coded directories. 2000-10-22 Werner LEMBERG Implement $GROFF_BIN_PATH environment variable (which defaults to $bindir) used for child programs of groff and similar wrappers. * gendefs.sh: Improve documentation. * Makefile.comm (,man.n), src/include/Makefile.sub (defs.h), src/preproc/eqn/Makefile.sub (neqn), src/roff/nroff/Makefile.sub (nroff): Add $(bindir). * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Implement $GROFF_BIN_PATH. * src/roff/groff/groff.cc (main): Implement $GROFF_BIN_PATH and $GROFF_PATH__ (the latter for communication with troff). * src/roff/troff/input.cc (main): Use $GROFF_PATH__ for $PATH if set. * NEWS, src/roff/nroff/nroff.man, src/roff/groff/groff.man, doc/groff.texinfo: Document it. * doc/groff.texinfo: Improve documentation of troff's -a option. 2000-10-17 Gaius Mulley * src/roff/troff/node.cc: Fixed calculation of opminx and fixed non-intrusive eol marker. (troff_output_file::determine_line_limits): New function. (troff_output_file::draw): Use it. * src/roff/troff/env.cc (environment::add_html_tag): Use output() + output_pending_lines() instead of output_line(). * src/preproc/eqn/main.cc (do_file): Fix graphic_end(). * src/preproc/html2/pre-html.cc (char_buffer::write_file_troff, createImage): Small fixes. 2000-10-14 Werner LEMBERG Replace tmac.safer with a real secure solution. * src/roff/troff/input.cc (open_request, opena_request, pipe_source, system_request, pipe_output): Disable requests if in safer mode. * src/roff/groff/groff.cc (main): Remove reference to tmac.safer. * tmac/tmac.safer, tmac/groff_msafer.man: Removed. * tmac/Makefile.sub, NEWS, man/roff.man, tmac/groff_tmac.man, doc/groff.texinfo, src/roff/groff/groff.man, src/roff/troff/troff.man, arch/djgpp/README: Updated. * src/devices/grops/ps.cc (main), src/devices/grops/psrm.cc (resource_manager::output_prolog): Replace setenv() with putenv(). 2000-10-09 Werner LEMBERG * src/libs/libbib/map.c, src/libs/libgroff/getcwd.c, src/libs/libgroff/strtol.c, src/preproc/html2/image.cc, src/preproc/html2/pre-html.cc, src/preproc/html2/pushbackbuffer.cc, src/roff/groff/pipeline.c: Removing `#ifndef errno' to avoid compilation errors with some compilers. It seems that this code is no longer necessary -- if yes, it is easy to add some #ifdef's for that particular old-fashioned compiler. * MORE.STUFF: Added info about Meta-tbl. * doc/groff.texinfo: Added more info about `.if "..."..."'. 2000-10-07 Werner LEMBERG Adding a new escape sequence \B'...': If the string between the delimiters is a valid numeric expression, return the character `1', and `0' otherwise. This is an analogon to \A. * src/roff/troff/input.cc (do_expr_test): Implement it. (token::next): Use it. * src/roff/troff/troff.man, NEWS, man/groff.man: Document it. * tmac/tmac.trace: Made independent from escape character. 2000-10-06 Werner LEMBERG Adding a new request .dei: define indirect. The first and second parameter of .dei are taken from string registers instead directly; this very special request is needed to make tmac.trace independent from the escape character (which might even be disabled). * src/roff/troff/input.cc (do_define_macro): Implement it. (define_macro_indirect): New function. (init_input_requests): Use it. Adding two requests .ecs and .ecr: Save and restore the escape character. These two requests are needed to make tmac.trace independent from the escape character (which might even be disabled). * src/roff/troff/input.cc (save_escape_char, restore_escape_char): Implement it. (init_input_requests): Use it. * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 2000-09-22 Ricardo Soares Guimarães Adding a new option -P and new environment variable GROPS_PROLOGUE to grops, selecting a different prologue file (minor modifications by WL). * src/devices/grops/psrm.cc (resource_manager::output_prolog), src/devices/grops/ps.cc (main): Implement it. * src/devices/grops/grops.man, NEWS: Document it. 2000-09-22 Werner LEMBERG * INSTALL: Add info about selecting paper format. 2000-09-21 Werner LEMBERG * src/roff/troff/input.cc (main): Fixing compiler warning. * src/include/{driver.h, lib.h}: Move inclusion of string.h and strings.h from the former to the latter. * src/devices/grolbp/lpb.cc, src/include/lib.h: Move strncasecmp() stuff from the former to the latter. 2000-09-11 Werner LEMBERG Implementing two new requests .tm1 and .tmc: The former is similar to .tm but can output leading spaces; its syntax is similar to defining a string, i.e., a `"' can be used to mark the beginning of the string to be written to stderr: `.tm1 " test'. The latter is similar to .tm1 but doesn't write out a final newline character. * src/roff/troff/input.cc (terminal1, terminal_continue, do_terminal): New functions. (init_input_requests): Use them. * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 2000-09-09 Werner LEMBERG * tmac/groff_mdoc.samples.man: Small fixes. 2000-09-08 Werner LEMBERG * tmac/groff_mdoc.man: Fixing typo. 2000-09-02 Werner LEMBERG Implementing a .nop request which does nothing. * src/roff/troff/input.cc (nop_request): New function. (init_input_requests): Use it. * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 2000-09-01 Werner LEMBERG * doc/groff.texinfo: Added some comments. 2000-08-30 Werner LEMBERG * src/roff/troff/TODO: Updated. 2000-08-25 Werner LEMBERG * doc/groff.texinfo: Fix comment how to compile the DVI file. 2000-08-25 Eli Zaretskii * font/devps/generate/Makefile (SHELL): Define explicitly to "/bin/sh", for non-Unix platforms. (extraclean): Use a more portable "" quoting instead of a backslash (which doesn't work on DOS/Windows). * font/devlj4/generate/Makefile (extraclean): Ditto. * font/devdvi/generate/Makefile (extraclean): Ditto. 2000-08-25 Werner LEMBERG * NEWS, doc/groff.texinfo, tmac/groff_tmac.man, man/roff.man, src/roff/troff/troff.man: Document Eli's latest changes. 2000-08-25 Eli Zaretskii * src/roff/troff/input.cc (open_mac_file, macro_source): Support macro file names of the form NAME.tmac as well as tmac.NAME. 2000-08-25 Werner LEMBERG * src/include/posix.h: Remove definition of FILENAME_MAX. * src/preproc/html2/pre-html.h, pre-html.cc: Add return type to `sys_fatal' and `stop' function(). * test-groff: Updated. 2000-08-24 Gaius Mulley Added the new troff command .output to suppress output (while still obeying motion) and also the opminx, opminy, opmaxx, opmaxy registers (for passing the output dimensions to the output device). * src/roff/troff/div.cc (top_level_diversion::output): Use `width' parameter. * src/roff/troff/node.h, src/roff/troff/node.cc (troff_output_file::really_print_line, ascii_output_file::really_print_line, supress_output_file::really_print_line): Use `width' parameter. (troff_output_file::really_on, troff_output_file::really_off, output_file::on, output_file::off, real_output_file::on, real_output_file::off, real_output_file::really_on, real_output_file::really_off): New functions. (real_output_file:public output_file): New variable `output_on'. (real_output_file::begin_page, real_output_file::copy_file, real_output_file::transparent_char, real_output_file::print_line): Use it. (real_output_file::print_line): Use check_output_limits. * src/roff/troff/reg.h, src/roff/troff/request.h, src/roff/troff/input.cc (assign_registers): New function to remove two `goto's. (do_ps_file): Use it. (check_output_limits, reset_output_registers, output_request, init_output_requests): New functions. (init_input_requests): Updated. Added new grohtml2 device and html2 preprocessor (coding not yet finished) which will eventually replace grohtml. * Makefile.in, tmac/Makefile.sub, tmac/eqnrc, tmac/troffrc-end: Updated. * src/include/htmlindicate.h, src/include/htmlindicate (html_begin_suppress, html_end_suppress): New functions. * src/preproc/tbl/main.cc: Use it. * src/roff/groff/groff.cc: Add support for html2 device (which will automatically invoke the html2 preprocessor). * src/roff/troff/input.cc (is_html2): New variable. * src/roff/troff/troff.h, src/roff/troff/env.h, src/roff/troff/env.cc (environment::add_html_tag): New function (uses `is_html2'). (environment::do_break): Use it. * font/devhtml2/*: New files. * src/devices/grohtml2: New device. * src/preproc/html2: New preprocessor. * tmac/tmac.html-tags, tmac/tmac.html2: New files. 2000-08-23 Werner LEMBERG * src/devices/grolbp/lbp.cc: Same workaround for sinix as for AIX. 2000-08-22 Werner LEMBERG * src/include/lib.h: Provide a fix for IRIX to not include groff-getopt.h. 2000-08-18 Werner LEMBERG * configure.in: Don't provide an empty value for SH_SCRIPT_SED_CMD since some non-GNU sed programs can't handle null regexps. * configure, src/preproc/eqn/Makefile.sub, src/roff/grog/Makefile.sub, src/roff/nroff/Makefile.sub: Updated. * src/devices/grolbp/lbp.cc: Add an AIX workaround for an autoconf bug (string.h and strings.h are both needed according to latest POSIX standard). * MORE.STUFF: Added info about unroff and troffcvt. 2000-08-08 Werner LEMBERG * tmac/tmac.a4: Will now work with ms macros also; -ma4 should be used before -ms. * tmac/tmac.man.old: Remove unused number register. * tmac.doc: Minor documentation fix. 2000-08-07 Paul Eggert * src/roff/groff/pipeline.c (is_system_shell): Fix typo: "monocased_shell" no longer exists. 2000-08-07 Paul Eggert Remove FILENAME_MAX limits. * src/roff/groff/pipeline.c (is_system_shell): Do not assume that the argument length is less than FILENAME_MAX. * src/libs/libgroff/tmpfile.cc (add_tmp_file): Likewise. Use struct hack to allocate and free file name. (struct xtmpfile_list): fname is now part of the structure, not a pointer to another string. 2000-08-07 Tom Schmidt * src/include/posix.h: Add a default value for FILENAME_MAX. 2000-08-06 Paul Eggert Add support for new BSD-style man pages (with ".Dd" instead of ".TH"), so that "groff -man" understands both styles, even when running "groff -man" on a host whose system man page macros don't support ".Dd". * tmac/Makefile.sub (NORMALFILES): Add tmac.an.old. (stamp-wrap): Source tmac.andoc first when wrapping man macros, in case the system man macros don't define Dd or TH. * tmac/tmac.an.old: Renamed from tmac/tmac.an. * tmac/tmac.an: New one-line file. * tmac/tmac.andoc (TH): Adjust to the tmac.an.old file renaming. 2000-08-06 Werner LEMBERG * src/roff/troff/troff.man: Fixing typos. Local Variables: version-control: never coding: latin-1 End: