ChangeLog revision 114402
12003-04-29 Werner LEMBERG <wl@gnu.org> 2 3 * VERSION: Set to 1.19. 4 * REVISION: Set to 0. 5 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated. 6 7 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer): 8 Define charset as `US-ASCII' in html output. 9 10 * tmac/www.tmac (ULE): Add missing scaling indicator. 11 12 * win32-diffs: Removed. 13 142003-04-28 Werner LEMBERG <wl@gnu.org> 15 16 * doc/groff.texinfo: Document `dn' and `dl' registers if used with 17 `.da' and `.boxa'. 18 Document how to insert discardable whitespace with `.ss'. 19 202003-04-27 Werner LEMBERG <wl@gnu.org> 21 22 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code 23 work with plain TeX also. 24 25 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example. 26 272003-04-25 Gaius Mulley <gaius@glam.ac.uk> 28 29 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer): 30 Use a loose DTD. 31 322003-04-24 Werner LEMBERG <wl@gnu.org> 33 34 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a 35 vbox with positive height and zero depth if in TeX mode. 36 37 * NEWS: Document glyph name changes for grodvi and grolj4. 38 392003-04-23 Werner LEMBERG <wl@gnu.org> 40 41 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code. 42 * doc/pic.ms: Fixed. 43 442003-04-21 Werner LEMBERG <wl@gnu.org> 45 46 HP-UX 10.20 has `snprintf' but it isn't declared. 47 48 * configure.ac: Add declaration test for snprintf. 49 * configure: Regenerated. 50 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'. 51 * src/include/config.hin: Regenerated. 52 532003-04-19 Werner LEMBERG <wl@gnu.org> 54 55 Add keyword `figname' to pic, specifying the name of the picture 56 box in TeX mode. Based on a patch from William J Poser 57 <wjposer@unagi.cis.upenn.edu>. 58 59 * src/preproc/pic/pic.y: New token `FIGNAME'. 60 (macro_name): New rule of type <str>. 61 (placeless_element): Handle `FIGNAME'. 62 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'. 63 * src/preproc/pic/main.cpp (graphname): New global variable. 64 (do_picture): Initialize `graphname'. 65 * src/preproc/pic/pic.h: Updated. 66 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use 67 `graphname'. 68 Simplify TeX code. 69 (tex_output::text): Beautify output. 70 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate 71 `shaded' and `outlined' unconditionally. 72 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated. 73 Minor improvements. 74 75 * PROBLEMS, README.CVS: Mention that bison version 1.875b or 76 greater is necessary. 77 782003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de> 79 80 Add option -r to soelim to avoid emission of `.lf' lines. 81 Add option -t to produces TeX comment lines instead of `.lf' lines. 82 83 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag' 84 and `tex_flag'. 85 (usage): Updated. 86 (main): Handle `-r' and `-t'. 87 (set_location): Handle `raw_flag' and `tex_flag'. 88 * src/preproc/soelim/soelim.man, NEWS: Updated. 89 902003-04-17 Werner LEMBERG <wl@gnu.org> 91 92 * tmac/hyphenex.sh: Replaced with... 93 * tmac/hyphenex.pl: This perl script to avoid sed compatibility 94 nightmares. 95 96 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message 97 if --quiet is used for the configure script. 98 * configure: Regenerated. 99 1002003-04-16 Werner LEMBERG <wl@gnu.org> 101 102 * src/devices/grohtml/post-html.cpp (text_glob::text_glob): 103 Add `const' to second argument. 104 (html_printer::add_table_end): Add `const' to argument. 105 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add 106 `const' to arguments. 107 * src/devices/grohtml/html-text.h: Updated. 108 109 * src/devices/grolbp/charset.h (symset): Use `unsigned char'. 110 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for 111 argument. 112 113 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use 114 cast for integer constant. 115 116 * src/preproc/html/pre-html.cpp (image_device): Use `const'. 117 (writeNbytes): Add `const' to first argument. 118 (writeString): Add `const' to argument. 119 (char_buffer::can_see): Add `const' to third argument. 120 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add 121 `const' to argument. 122 * src/preproc/html/pushback.h: Updated. 123 124 * src/preproc/soelim/soelim.cpp (include_list): Add `const'. 125 (include_path_append): Add `const' to argument. 126 (do_file): Updated. 127 128 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const' 129 for `value'. 130 (unicode_to_glyph_init::unicode_to_glyph_init): Updated. 131 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const' 132 for `value'. 133 (unicode_decompose_init::unicode_decompose_init): Updated. 134 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const' 135 for `value'. 136 (glyph_to_unicode_init::glyph_to_unicode_init): Updated. 137 * src/roff/troff/input.cc (process_startup_file): Add `const' to 138 argument. 139 140 * tmac/hyphenex.sh: Make script more portable by using a here 141 document. 142 1432003-04-15 Werner LEMBERG <wl@gnu.org> 144 145 Renamed all `*.cc' files to `*.cpp'. 146 Updated all configuration files, makefiles, and documentation. 147 1482003-04-14 Werner LEMBERG <wl@gnu.org> 149 150 * tmac/hyphenex.sh: Slight improvements. 151 1522003-04-13 Werner LEMBERG <wl@gnu.org> 153 154 * font/devascii/R.proto, font/devcp1037/R.proto, 155 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining 156 character slots with unnamed glyphs. 157 158 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active. 159 (an-first): New global variable. 160 (an-header): Emit vertical space between multiple man pages. 161 1622003-04-11 Werner LEMBERG <wl@gnu.org> 163 164 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer 165 values. 166 1672003-04-10 Werner LEMBERG <wl@gnu.org> 168 169 * PROBLEMS: Revised. 170 1712003-04-10 Bernd Warken <bwarken@mayn.de> 172 173 * doc/webpage.ms: Improved. 174 1752003-04-09 Werner LEMBERG <wl@gnu.org> 176 177 Add register \n[.height] which returns the value of \H. 178 Add register \n[.slant] which returns the value of \S. 179 180 * src/roff/troff/env.cc (init_env_requests): Implement. 181 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: 182 Document. 183 1842003-04-08 Werner LEMBERG <wl@gnu.org> 185 186 * tmac/html.tmac: Move some of the data into html-end.tmac. 187 Remove most of the character translations for eqn since html fonts 188 now cover those characters. 189 Load www.tmac. 190 * tmac/html-end.tmac: New file. 191 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml. 192 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml. 193 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac. 194 1952003-04-07 Werner LEMBERG <wl@gnu.org> 196 197 * man/groff_out.man: Document negative values of `N' if -Thtml is 198 used. 199 2002003-04-06 Werner LEMBERG <wl@gnu.org> 201 202 * Makefile.comm (depend.temp): Check location of YTABC. 203 2042003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl> 205 206 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff 207 binary path. 208 (groff_bin_path): Rename to GROFF_BIN_PATH. 209 (GROFF): Use GROFFBIN and GROFF_BIN_PATH. 210 * doc/Makefile.in (TROFFBIN): New variable for troff 211 binary path. 212 (GROFFBIN): New variable for groff binary path. 213 (groff_bin_path): Rename to GROFF_BIN_PATH. 214 (TROFF): Use TROFFBIN. 215 (GROFF): Use GROFFBIN and GROFF_BIN_PATH. 216 * doc/Makefile.sub (GROFFBIN): New variable for groff 217 binary path. 218 (groff_bin_path): Rename to GROFF_BIN_PATH. 219 (GROFF): Use GROFFBIN and GROFF_BIN_PATH. 220 221 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS 222 with INSTALL_SCRIPT. 223 (uninstall_dev): Uninstall scripts from DEVSCRIPTS. 224 * Makefile.dev (all): Depend on DEVSCRIPTS. 225 (install_dev): Likewise. 226 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold 227 scripts. 228 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise. 229 (DEVGENSCRIPTS): New variable to hold generated scripts. 230 2312003-04-05 Werner LEMBERG <wl@gnu.org> 232 233 * src/libs/libdriver/input.cc (IntArray::operator[], 234 IntArray::get_data): Remove meaningless `const' in return value. 235 236 * README.CVS: New file. 237 2382003-04-04 Werner LEMBERG <wl@gnu.org> 239 240 Check for stdint.h in C++, not in C. 241 242 * aclocal.m4 (GROFF_STDINT_H): New function, 243 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of 244 AC_CHECK_HEADERS. 245 * configure, src/include/config.hin: Regenerated. 246 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H. 247 248 249 Fix handling of in grohtml. To do this, troff emits `N' 250 with a negative value, representing the width of the unbreakable 251 space (only for -Thtml). grohtml then converts this back to 252 and uses the value of N as its width. 253 254 * src/roff/troff/node.cc (space_char_hmotion_node::tprint, 255 unbreakable_space_node::tprint): Emit `N-<width>'. 256 * src/include/printer.h (printer::set_numbered_char): Make it 257 virtual. 258 Make members `font_table' and `nfonts' protected instead of private. 259 * src/devices/grohtml/post-html.cc 260 (html_printer::set_numbered_char): New member function. 261 262 263 * src/libs/libgroff/maxfilename.cc: 264 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/. 265 266 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't 267 emit word marker. 268 2692003-04-03 Sergey A. Osokin <osa@freebsd.org.ru> 270 271 * man/roff.man: Small fixes. 272 2732003-04-03 Werner LEMBERG <wl@gnu.org> 274 275 Make groff independent from locale's numeric settings. 276 277 * configure.ac: Check for `setlocale'. 278 * configure, src/include/config.hin: Regenerated. 279 280 * src/include/lib.h: Handle HAVE_SETLOCALE. 281 282 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc 283 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc 284 (main), src/preproc/pic/main.cc (main): Call `setlocale'. 285 286 287 * doc/groff.texinfo: Change dir category to `Typesetting'. 288 (Man font macros): Mention that there is no space between arguments 289 of .BI and friends. 290 291 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc 292 (*printer::change_color, *printer::change_fill_color): Add missing 293 `const'. 294 2952003-04-02 Werner LEMBERG <wl@gnu.org> 296 297 * src/devices/grohtml/html-table.cc (html_table::emit_col, 298 html_table::is_gap): Compute table widths after converting border 299 positions to avoid rounding errors. 300 3012003-04-01 Werner LEMBERG <wl@gnu.org> 302 303 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle 304 `space_emitted' properly. 305 3062003-03-31 Werner LEMBERG <wl@gnu.org> 307 308 * src/devices/grohtml/html-table.cc: Fix column width calculation. 309 (html_table::set_linelength): Don't add 1. 310 (html_table::add_indent): Don't subtract 1. 311 312 * tmac/html.tmac: Set default page offset to zero. 313 3142003-03-30 Werner LEMBERG <wl@gnu.org> 315 316 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used. 317 318 * src/roff/troff/node.cc (space_char_hmotion_node::tprint, 319 unbreakable_space_node::tprint): New functions. 320 (troff_output_file): Make space_char_hmotion_mode::tprint and 321 unbreakable_space_node::tprint to friends. 322 * src/roff/troff/node.h: Updated. 323 324 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined 325 in the HTML standard). 326 3272003-03-29 Werner LEMBERG <wl@gnu.org> 328 329 * src/roff/troff/env.cc (point_size): Fix emission of html tag. 330 Otherwise, the following code 331 332 .di xxx 333 .ps 10 334 a 335 .br 336 .di 337 x\*[xxx] 338 339 produces `x a' instead of `xa'. This is a temporary fix, disabling 340 font changes in diversions for -Thtml. 341 342 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of 343 `HTML-TAG'. 344 (an-do-tag-html): Merge with ... 345 (an-do-tag): This macro. 346 Change code slightly to circumvent grohtml bug. 347 * tmac/troffrc-end: Define dummy for HTML-TAG-NS. 348 349 * src/devices/grohtml/html-table.cc (html_table::emit_col, 350 html_table::is_gap): Round `width' properly. 351 352 * tmac/html.tmac: Provide some default layout parameters for 353 grohtml. 354 355 * font/devhtml/DESC.proto: Don't use discrete values for `sizes' 356 command. 357 3582003-03-28 Werner LEMBERG <wl@gnu.org> 359 360 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message. 361 3622003-03-27 Werner LEMBERG <wl@gnu.org> 363 364 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is 365 defined. 366 3672003-03-20 Werner LEMBERG <wl@gnu.org> 368 369 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for 370 `.vs'. 371 * doc/groff.texinfo: Updated. 372 3732003-03-19 Werner LEMBERG <wl@gnu.org> 374 375 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP, 376 TOKEN_END_TRAP>: Reset `have_input'. 377 3782003-03-18 Werner LEMBERG <wl@gnu.org> 379 380 * src/roff/groff/groff.man: Mention groff_trace man page. 381 3822003-03-16 Werner LEMBERG <wl@gnu.org> 383 384 * Makefile.in (LIBEXT): New variable to indicate the file extension 385 of library files. Computed heuristically from $(OBJEXT). 386 (MDEFINES): Add $(LIBEXT). 387 * Makefile.lib, Makefile.comm: Use it. 388 389 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split 390 overlong lines into smaller chunks. 391 (get_binary): New function. 392 (main): Use them. 393 * src/utils/pfbtops/pfbtops.man: Updated. 394 3952003-03-15 Colin Watson <cjwatson@debian.org> 396 397 * src/roff/groff/groff.man: Minor syntax fix. 398 3992003-03-14 Egil Kvaleberg <egil@kvaleberg.no> 400 401 * src/devices/grops/ps.cc (ps_printer::media_set, 402 ps_printer::~ps_printer): Handle zero paper width and length. 403 4042003-03-13 Werner LEMBERG <wl@gnu.org> 405 406 Add options -p and -l to grodvi. 407 408 * src/devices/grodvi/dvi.cc: Include paper.h. 409 (landscape_flag, user_paper_length, user_paper_width): New global 410 variables. 411 (dvi_printer::begin_page): Emit `papersize' special. 412 Set color after initialization of `cur_h' and `cur_v'. 413 (main): Add options `-l' and `-p'. 414 * font/devdvi/Makefile.sub (DESC): Set `papersize'. 415 * src/devices/grodvi/grodvi.man, NEWS: Updated. 416 417 * src/devices/grops/psrm.cc (valid_input_table): Fixed. 418 4192003-03-12 Werner LEMBERG <wl@gnu.org> 420 421 * src/devices/grops/grops.man: Move documentation of .PSPIC to... 422 * man/groff_tmac.man: This man page. 423 * man/groff_font.man: Declare `paperwidth' and `paperlength' as 424 deprecated. 425 426 * tmac/X.tmac: Don't load pspic.tmac. 427 4282003-03-11 Werner LEMBERG <wl@gnu.org> 429 430 Make variable `pr' local to libdriver/input.cc. Based on a patch 431 by Bernd Warken <bwarken@mayn.de>. 432 433 * src/include/driver.h (pr): Removed. 434 435 * src/libs/libdriver/input.cc (pr): New global variable. 436 (do_file): Deallocate `pr'. 437 * src/libs/libdriver/printer.cc (pr): Removed. 438 439 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc 440 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc 441 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc 442 (main): Don't delete `pr'. 443 4442003-03-10 Werner LEMBERG <wl@gnu.org> 445 446 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'. 447 * tmac/papersize.tmac: New file. 448 * tmac/troffrc: Include `papersize.tmac'. 449 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'. 450 * tmac/an-old.tmac: Set LT to LL by default. 451 452 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man, 453 doc/groff.texinfo: Updated. 454 455 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing 456 bug which caused all odd iso papers to have wrong dimensions. 457 458 * src/devices/grops/ps.cc (user_paper_width): New global variable. 459 (main) <'p'>: Set `user_paper_width' also. 460 (ps_printer::media_width, ps_printer::media_height): Use values 461 given with option `-p'. 462 4632003-03-09 Werner LEMBERG <wl@gnu.org> 464 465 * src/include/nonposix.h: Provide default for SET_BINARY. 466 467 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc, 468 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY 469 unconditionally. 470 471 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally. 472 (main): Treat \r\n as \n. 473 4742003-03-08 Werner LEMBERG <wl@gnu.org> 475 476 * tmac/an-old.tmac: Use register `HY' to control hyphenation. 477 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it. 478 4792003-03-07 Werner LEMBERG <wl@gnu.org> 480 481 Added support to access more than 256 glyphs in Type 1 fonts. 482 483 * src/devices/grops/ps.cc (subencoding): New structure. 484 (style): Add `sub' field. 485 Updated all users. 486 (ps_printer): Add `subencodings' and `next_subencoding_index' fields. 487 Add `set_subencoding', `get_subfont' and `encode_subfont' member 488 functions. 489 Updated all users. 490 (ps_printer::set_char): Use `set_subencoding'. 491 (make_subencoding_name): New function. 492 (ps_printer::set_style): Handle case where `sty.sub' is not zero. 493 (ps_printer::~ps_printer): Emit subencoding definitions. 494 495 * src/devices/grops/psrm.cc (valid_input_table): New array to 496 properly support EBCDIC. 497 (white_space): Add `\f'. 498 (ps_get_line): Change first argument to be of type `string &'. 499 Updated all callers. 500 This allows to get lines of arbitrary length. 501 Use `valid_input_table'. 502 Remove warning about non-conforming PS line length. This seems 503 not to be of great importance -- for example, dvips don't emit 504 a warning either. 505 (PS_LINE_MAX): Removed. 506 (matches_comment): Change first argument to be of type `string &'. 507 508 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated. 509 510 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed, 511 %AGL_to_unicode, %default_ligatures): New hash tables. 512 Read all map entries. 513 Add unencoded characters. 514 Check for default ligatures if there are no `L' entries. 515 Print all kern entries. 516 Print all characters in charset. 517 * src/utils/afmtodit/afmtodit.man: Updated. 518 519 * font/devps/*: Regerated all fonts. 520 521 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence 522 of characters, just use `.trin'. Otherwise the mapping depends 523 on the font encoding. 524 * tmac/ps.tmac: Add `fi' and `fl'. 525 Improve `Fi' and `Fl'. 526 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'. 527 * tmac/Xps.tmac: Fix `em'. 528 529 * NEWS: Updated. 530 5312003-03-04 Werner LEMBERG <wl@gnu.org> 532 533 * src/roff/troff/input.cc (charinfo_to_node_list): Reset 534 `have_input'. 535 5362003-03-03 Werner LEMBERG <wl@gnu.org> 537 538 * Makefile.sub (DISTCLEANFILES): Add gxditview._man. 539 540 * font/devps/generate/textmap: Remove entry `similarequal'. 541 * font/devps/symbolmap: Updated. 542 5432003-03-02 Werner LEMBERG <wl@gnu.org> 544 545 * src/libs/libgroff/font.cc (font::load): Fix error message for 546 bad character type. 547 548 * src/devices/grops/grops.man: Improve documentation of the -b 549 flag. 550 551 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except 552 `ascii' and `cp1047'. 553 5542003-03-01 Werner LEMBERG <wl@gnu.org> 555 556 Document composite glyphs and the `composite' request. 557 558 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it. 559 5602003-02-28 Werner LEMBERG <wl@gnu.org> 561 562 * font/devdvi/generate/ec.map: Add some more Unicode entities. 563 * font/devdvi/*EC: Updated. 564 565 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files. 566 * tmac/latin1 (latin1-tr): Undo any previous mapping. 567 * tmac/troffrc: Load `composite.tmac'. 568 * tmac/Makefile.sub (NORMALFILES): Updated. 569 570 * doc/groff.texinfo (Input Encodings): New section. 571 * NEWS: Updated. 572 5732003-02-27 Werner LEMBERG <wl@gnu.org> 574 575 * doc/texinfo.tex: New version 2003-02-11.06. 576 577 * tmac/doc-common (Dt): Don't emit warning for unknown section. 578 * tmac/groff_mdoc.man: Fix description of `Dt'. 579 5802003-02-26 Egil Kvaleberg <egil@kvaleberg.no> 581 582 * font/devps/prologue.ps: Fix for included Postscript that does 583 a setpagedevice -- which is now safely ignored. 584 585 * NEWS: Updated. 586 587 * src/devices/grops/ps.cc: Now sets the page size in the generated 588 document. This is done in two ways: Via a %%-comment for gv and 589 the like, and via a PageSize and setpagedevice for programs that 590 understands Postscript proper, like ps2pdf. 591 592 * src/devices/grops/ps.h: New broken-flag to avoid page size 593 definition, if required. 594 595 * src/devices/grops/grops.man: New broken-flag 16 mentioned. 596 597 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@). 598 Not really necessary due to the fix in prologue.ps, but cleaner: 599 Such information does not belong in an .eps file. 600 601 * doc/Makefile.sub: See doc/Makefile.in. 602 6032003-02-26 Ralph Corderoy <ralph@inputplus.co.uk> 604 605 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing 606 instead of P1 since the latter is broken in some versions of netpbm. 607 * configure: Updated. 608 6092003-02-26 Larry Kollar <kollar@alltel.net> 610 611 Make man pages more customizable. 612 613 * tmac/an-old.tmac (FT): New register holding footer distance from 614 bottom. 615 (HF): New string holding the default heading font. 616 (TH): Handle registers `IN' and `SN' set on the command line. 617 Use `FT'. 618 (PT, BT): New strings to customize header and footer lines. 619 (an-header, an-footer): Use them. 620 (SH, SS): Use `HF'. 621 * tmac/groff_man.man: Document changes. 622 623 * doc/groff.texinfo: Document man changes. 624 Document Ultrix extensions of man. 625 6262003-02-26 Werner LEMBERG <wl@gnu.org> 627 628 * src/roff/troff/input.cc (do_width, do_if_request): Reset 629 `have_input' after changing back to old environment. 630 631 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move 632 function up to be defined before first call. This is necessary to 633 avoid a compilation problem with Sun's WorkShop 6 C++ compiler. 634 635 * src/utils/afmtodit/afmtodit.pl: Make script search for files in 636 the default font directory also. Based on a patch from James 637 J. Ramsey <jjramsey_6x9eq42@yahoo.com>. 638 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@. 639 * src/utils/afmtodit/afmtodit.man: Document it. 640 641 * NEWS: Updated. 642 643 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes. 644 6452003-02-25 Gaius Mulley <gaius@glam.ac.uk> 646 647 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops. 648 (GROFF_PNMTOPS_NOSETPAGE): New macro. 649 * configure.ac: Use it. 650 * configure: Regenerated. 651 * Makefile.in: Updated. 652 653 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac. 654 (CLEANADD): Add www.tmac-sed. 655 (pnmtops_nosetpage): Define default. 656 (install_data): Handle www.tmac-sed and substitute 657 @PNMTOPS_NOSETPAGE@. 658 (stamp-sed): Add www.tmac. 659 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken. 660 It now breaks URLs at suitable places. 661 (www:substring_ok): New register set by... 662 (www:@test_substring): New macro. 663 (www:error): New alias to www-error. 664 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted): 665 New macros. 666 (URL): Use www:url_breaks. 667 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@. 668 (CDS, CDE): New macros. 669 6702003-02-25 Werner LEMBERG <wl@gnu.org> 671 672 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid 673 buffer overflow. 674 6752003-02-24 Werner LEMBERG <wl@gnu.org> 676 677 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files 678 can be negative also. 679 680 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be 681 `int16'. 682 (read_char_table): Avoid negative ascenders. 683 (output_charset): Add cast. 684 * font/devlj4/*: Regenerated. 685 686 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where 687 possible. 688 689 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it. 690 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead 691 of `<>'. 692 * font/devdvi/*: Regenerated. 693 694 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have 695 normal width, while the previously used characters (U+2329 and 696 U+232A) are classified as wide due to canonical equivalence with the 697 CJK punctuation characters U+3008 and U+3009. 698 699 * font/devutf8/R.proto: Updated. 700 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto. 701 702 * man/groff_char.man: Simplify handling of table traps by 703 introducing `start block' and `end block' macros. 704 (Ns, Ne, 2s, 2e, Ds, De): New macros. 705 (DL): Make it work with Unix troff also. 706 Fix code values of `la' and `ra'. 707 708 * tmac/dvi.tmac: Define `<>' for CW and CWI. 709 7102003-02-23 Gaius Mulley <gaius@glam.ac.uk> 711 712 * src/devices/grohtml/post-html.cc (element_list::~element_list): 713 New destructor, fixing a major memory leak. 714 7152003-02-22 Werner LEMBERG <wl@gnu.org> 716 717 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f' 718 to be in conformance with Unicode 3.0 and newer. 719 720 * font/devlj4/generate/text.map: Add `Eu'. 721 * font/devlj4/generate/special.map: Flip `*e' and `+e'. 722 * font/devlj4/S: Regenerated. 723 724 * man/groff_char.man: Completely rewritten. 725 726 * doc/groff.texinfo: Fix description of request and macro arguments. 727 7282003-02-20 Gaius Mulley <gaius@glam.ac.uk> 729 730 Valgrind fixes. 731 732 * src/devices/grohtml/html-table.cc (html_table::~html_table): 733 Deallocate `columns' list. 734 * src/devices/grohtml/post-html.cc (char_block::~char_block): 735 New destructor. 736 (text_glob::text_glob_html, text_glob::text_glob_special, 737 text_glob::text_glob_line, text_glob::text_glob_auto_image, 738 text_glob::text_glob_tag): Avoid memory leaks. 739 (text_glob::remember_table): Free memory before reassigning. 740 7412003-02-19 Werner LEMBERG <wl@gnu.org> 742 743 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the 744 alias `hbar'), the Planck constant over two pi. 745 746 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and 747 `+e' for position 34. 748 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with 749 `u2662' and `u2661'. 750 * font/devdvi/{MI,S}: Regenerated. 751 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'. 752 * font/devlbp/*: Add `hbar' alias. 753 * font/devlj4/generate/special.map: Ditto. 754 * font/devlj4/S: Regenerated. 755 * font/devps/generate/symbolchars: Add `+e'. 756 * font/devps/generate/textmap: Fix PS name for `-h'. 757 Add `hbar' alias. 758 * font/devps/symbolmap: Regenerated. 759 760 * src/devices/grops/ps.cc (transform_fill): Removed since unused. 761 762 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e', 763 `-h', `hbar'. 764 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e', 765 `-h'. 766 767 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and 768 `hbar'. 769 * tmac/tty-char.tmac: Add `+e'. 770 7712003-02-17 Werner LEMBERG <wl@gnu.org> 772 773 Another round trying to really fix problems with `have_input'. 774 775 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'. 776 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'. 777 778 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color 779 handling if both foreground and background colors are default. 780 781 * doc/groff.texinfo (Debugging): Document .lf differences to 782 AT&T troff. 783 7842003-02-16 Werner LEMBERG <wl@gnu.org> 785 786 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid 787 null-bytes in created string. 788 789 * src/roff/troff/input.cc (lookup_color, interpolate_macro, 790 alias_macro, lookup_request): Improve warning messages. 791 792 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave', 793 not `strdup'. 794 Free `last_image_filename'. 795 796 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize 797 `buffer'. 798 (imageList::createPage, imageList::createImage): Use `free', not 799 `a_delete'. 800 (imageItem::~imageItem): Free `imageName'. 801 (addRegDef): Use `strsave', not `strdup'. 802 (get_resolution): Free `pathp'. 803 8042003-02-15 Werner LEMBERG <wl@gnu.org> 805 806 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer 807 to `dummy'. 808 8092003-02-14 Werner LEMBERG <wl@gnu.org> 810 811 Add memory management for colors to deallocate unnamed colors 812 properly. 813 814 * src/include/color.h (color): New members `free_list' and `next'. 815 New member functions `new' and `delete'. 816 Add destructor. 817 * src/libs/libgroff/color.cc: Implement it. 818 819 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast 820 for array size of new operator. 821 822 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove 823 redundant comparison. 824 825 * src/roff/troff/input.cc (word_space_node::reread, 826 hmotion_node::reread): Avoid warning about unused parameter. 827 (reset_output_registers): Remove redundant parameter. 828 (define_color): Undo change 2003-02-12. 829 830 * src/roff/troff/reg.h: Updated. 831 832 * src/roff/troff/node.cc (troff_output_file::really_print_line, 833 output_file::put_filename, real_output_file::really_put_filename, 834 ascii_output_file::really_print_line, 835 break_char_node::get_hyphen_list): Avoid warning about unused 836 parameter. 837 (suppress_node::tprint): Updated. 838 839 * configure.ac: Check declaration for rand() and srand(). 840 * configure: Regenerated. 841 842 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand() 843 conditionally. 844 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(), 845 and srand(). 846 847 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers 848 to avoid compiler warnings. 849 850 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is 851 unused. 852 853 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter 854 is unused. 855 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first 856 (unused) parameter. 857 Updated all callers. 858 859 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter 860 is unused. 861 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto. 862 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto. 863 864 * src/devices/grohtml/post-html.cc (html_printer::emit_line): 865 Parameter is unused. 866 (html_printer::add_table_end): Define parameter conditionally. 867 * src/devices/grohtml/output.cc (simple_output::special): Parameter 868 is unused. 869 870 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally. 871 (lbp_printer::set_char): Last parameter is unused. 872 873 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison. 874 8752003-02-13 Werner LEMBERG <wl@gnu.org> 876 877 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality. 878 Make \D'f ...' move horizontally again for backwards compatibility. 879 Replace it with \D'Fg ...' where appropriate to avoid dependency 880 on horizontal resolution. 881 882 * src/roff/troff/input.cc (do_get_long_name): New function. 883 (get_long_name): Call it. 884 885 (read_draw_node): Handle `\D'Fx ...' by calling ... 886 (read_color_draw_node): New function. 887 888 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument 889 `end'. 890 Pass it to `do_get_long_name' which is used instead of 891 `get_long_name'. 892 893 * src/libs/libdriver/input.cc (color_from_Df_command): Remove 894 unnecessary value guard. 895 (parse_D_command) <'f'>: Add horizontal shift. 896 897 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'. 898 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto. 899 (FILL_MAX): Removed. 900 901 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: 902 Updated. 903 9042003-02-12 Werner LEMBERG <wl@gnu.org> 905 906 * src/roff/troff/input.cc (do_name_test, do_expr_test, 907 do_zero_width): Push `\n' if closing delimiter is missing. 908 909 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'. 910 <'F'>: Make \F non-transparent at the beginning of line. 911 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE, 912 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle 913 `have_input'. 914 915 (define_color): Free color in case of reassignment. 916 917 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem, 918 @DefescListEnd): Use @Var, not @var. 919 Fix all calls. 920 921 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo. 922 923 * src/preproc/pic/object.cc (object_spec::~object_spec): Free 924 `shaded' and `outlined' arrays. 925 (object_spec::object_spec): Initialize `shaded' and `outlined'. 926 (graphic_object::set_fill_color, graphic_object::set_outline_color): 927 Use strsave. 928 (closed_object::set_fill_color): Ditto. 929 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave 930 instead of strdup. 931 (troff_output::reset_color): Use a_delete instead of free. 932 * src/preproc/pic/main.cc (do_file): Free `out' in case of error. 933 9342003-02-11 Werner LEMBERG <wl@gnu.org> 935 936 * doc/groff.texinfo: Improve documentation of `ad'. 937 Document that \D'f...' is dependent on the horizontal resolution. 938 * man/groff_diff.man: Improve documentation of \D'f...'. 939 940 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit 941 compensating \h'...' for \D'f ...' since the latter no longer moves 942 current position. 943 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto. 944 9452003-02-10 Werner LEMBERG <wl@gnu.org> 946 947 Improve error messages for `x F' (and `F') commands. 948 949 * src/include/error.h: Add declaration for 950 `current_source_filename'. 951 * src/libs/libgroff/filename.cc: Add `current_source_filename'. 952 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add 953 parameter for source file string. 954 Updated all callers. 955 956 * src/libs/libdriver/input.cc: Add `current_source_filename'. 957 (remember_source_filename): New function. 958 (parse_x_command <'F'>, do_file <'F'>): Use it. 959 9602003-02-09 Werner LEMBERG <wl@gnu.org> 961 962 Make grotty not emit warnings about unknown colors more than 963 necessary. 964 965 * src/devices/grotty/tty.cc: Include `ptable.h'. 966 (TTY_MAX_COLORS): Removed. 967 (DEFAULT_COLOR_IDX): Defined to -1. 968 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'. 969 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'. 970 Change `tty_colors' to be a ptable. 971 First arg of `put_color' is now `char'. 972 New functions `make_rgb_string' and `tty_color'. 973 (tty_printer::tty_printer): Use `tty_color'. 974 (tty_printer::color_to_idx): Return value is now `char'. 975 Use `tty_color'. 976 977 * src/include/color.h (color): Add `print_color' member function. 978 * src/libs/libgroff/color.cc (color::print_color): Implement it. 979 9802003-02-08 Werner LEMBERG <wl@gnu.org> 981 982 Valgrind fixes. 983 984 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close 985 encoding file. 986 987 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always 988 assume that value has been allocated with `new[]', thus use 989 `a_delete' for deallocation. 990 991 * src/libs/libdriver/input.cc (get_integer_arg, 992 get_possibly_int_args, parse_x_command, do_file): Use `a_delete' 993 where appropriate. 994 995 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define. 996 * src/libs/libgroff/nametoindex.cc 997 (character_indexer::named_char_index): Use `new <type>[1]'. 998 999 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new 1000 <type>[1]'. 1001 * src/preproc/eqn/text.cc (set_special_char_type): Ditto. 1002 (split_text): Use `a_delete'. 1003 1004 * src/preproc/pic/pic.y (define_label, define_variable): Use `new 1005 <type>[1]'. 1006 1007 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid 1008 harmless memory leak. 1009 (hyphen_trie::read_patterns_file): Initialize `buf'. 1010 * src/roff/troff/node.cc (troff_output_file::troff_output_file): 1011 Initialize `current_fill_color'and `current_glyph_color'. 1012 * src/roff/troff/glyphuni.cc 1013 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'. 1014 * src/roff/troff/uniuni.cc 1015 (unicode_decompose_init::unicode_decompose_init): Ditto. 1016 * src/roff/troff/uniglyph.cc 1017 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto. 1018 10192003-01-26 Werner LEMBERG <wl@gnu.org> 1020 1021 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with 1022 `access' before calling `unlink'. 1023 (do_file): Handle __EMX__. 1024 1025 * src/include/nonposix.h: Handle __EMX__. 1026 1027 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@. 1028 (fontpath,tmacpath): Use it. 1029 (MDEFINES): Add it. 1030 Sorted alphabetically. 1031 1032 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use 1033 @SEP@. 1034 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle 1035 @SEP@. 1036 10372003-01-27 Werner LEMBERG <wl@gnu.org> 1038 1039 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c: 1040 New files, copied from gnulib. 1041 * src/libs/libgroff/Makefile.sub (CSRCS): Add them. 1042 * configure.ac: Updated. 1043 * configure: Regenerated. 1044 1045 * src/include/config.hin: Regenerated. 1046 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'. 1047 Don't define `strcasecmp' as `strcmp'. 1048 [!HAVE_STRNCASECMP]: Declare `strncasecmp'. 1049 Dont define `strncasecmp' as `strncmp'. 1050 1051 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]: 1052 Removed. 1053 10542003-01-26 Werner LEMBERG <wl@gnu.org> 1055 1056 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo: 1057 s/unline/unlink/. 1058 10592003-01-25 Werner LEMBERG <wl@gnu.org> 1060 1061 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations. 1062 10632003-01-24 Werner LEMBERG <wl@gnu.org> 1064 1065 Add US-english hyphenation exceptions (converted from Barbara 1066 Beeton's hyphenation exception log reports which appear irregularly 1067 in TUGBoat). 1068 1069 * tmac/hyphen.us: Updated to latest version. 1070 * tmac/README: Updated. 1071 * tmac/hyphenex.us, tmac/hyphenex.sh: New files. 1072 * tmac/troffrc: Load `hyphenex.us'. 1073 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'. 1074 * doc/groff.texinfo: Updated. 1075 10762003-01-23 Werner LEMBERG <wl@gnu.org> 1077 1078 Improve hyphenation slightly. This is a first step in redesigning 1079 the hyphenation algorithm to make it more flexible (e.g. allowing 1080 kerns and ligatures between the hyphenation character and the 1081 following character -- while not used normally in English, other 1082 languages like German would benefit). 1083 1084 * src/roff/troff/env.cc (environment::hyphenate_line): Use 1085 assertion instead of if-clause. 1086 Let `get_hyphen_list' return the number of involved characters in 1087 the hyphenation pattern instead of computing it directly (which 1088 often yields too small values). 1089 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter. 1090 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second 1091 parameter. 1092 10932003-01-22 Werner LEMBERG <wl@gnu.org> 1094 1095 Fixing a bug which caused groff to hang if the hyphenation exception 1096 dictionary tried to grow. 1097 1098 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation, 1099 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use 1100 pointer to dictionary. 1101 11022003-01-20 Werner LEMBERG <wl@gnu.org> 1103 1104 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress 1105 negative left italic correction. 1106 * src/utils/afmtodit/afmtodit.man: Document it. 1107 1108 * font/devps/generate/Makefile (RFLAG): Add `-m'. 1109 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR, 1110 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'. 1111 1112 * NEWS: Updated. 1113 11142003-01-16 Werner LEMBERG <wl@gnu.org> 1115 1116 * NEWS: Updated. 1117 11182003-01-16 J�rgen Grahn <jgrahn@algonet.se> 1119 1120 * src/preproc/refer/refer.man: Mention REFER environment variable. 1121 11222003-01-05 Werner LEMBERG <wl@gnu.org> 1123 1124 Similar to \[is], the square root glyph (\[sr]) and the square root 1125 extension glyph (\[radicalex]) are now text symbols. The new 1126 mathematical versions are called \[sqrt] and \[sqrtex], 1127 respectively. 1128 1129 * font/devX*/S: Regenerated. 1130 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'. 1131 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'. 1132 * font/devdvi/EX, font/devdvi/S: Regenerated. 1133 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'. 1134 * font/devlj4/generate/special.map: Add `sqrt'. 1135 * font/devlj4/S: Regenerated. 1136 * font/devps/generate/textmap: Add `sqrt'. 1137 * font/devps/S, font/devps/symbolmap: Regenerated. 1138 1139 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR, 1140 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'. 1141 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex' 1142 overlap horizontally. 1143 1144 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'. 1145 * tmac/dvi.tmac: Add `sr', and `sqrtex'. 1146 Fix `radicalex'. 1147 1148 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex' 1149 and `sqrtex' are overlapping glyphs. 1150 11512003-01-04 Werner LEMBERG <wl@gnu.org> 1152 1153 * font/devdvi/generate/texsy.map: Add `is'. 1154 * font/devps/symbolmap: Regenerated. 1155 * font/devdvi/*TC, MI, S: Regenerated. 1156 1157 * tmac/dvi.tmac: Remove `is'. 1158 11592003-01-03 Werner LEMBERG <wl@gnu.org> 1160 1161 `is' is now a text symbol (only relevant for dvi). The math variant 1162 can be accessed with `integral'. 1163 1164 * font/devX*/S: Regenerated. 1165 * font/devdvi/generate/texex.map: Remove `is'. 1166 * font/devdvi/EX: Updated. 1167 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'. 1168 * font/devlj4/generate/special.map: Ditto. 1169 * font/devlj4/S: Regenerated. 1170 * font/devps/generate/textmap: Add `integral'. 1171 * font/devps/S: Regenerated. 1172 1173 * tmac/dvi.tmac: Define `is'. 1174 1175 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'. 1176 1177 * src/preproc/tbl/main.cc (process_format): Fix error message. 1178 11792003-01-02 Werner LEMBERG <wl@gnu.org> 1180 1181 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'. 1182 * font/devps/textmap: Fix entries for `ne' and `nc'. 1183 * font/devps/symbolmap: Regenerated. 1184 1185 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list), 1186 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18', 1187 `38', `58', `78', `-+', `|=', `nc', `ne'. 1188 1189 * tmac/dvi.tmac: Add `nm', `ne', `nc'. 1190 Use `schar' for `aq'. 1191 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'. 1192 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'. 1193 * tmac/tty.tmac: Add `ne'. 1194 1195 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro' 1196 for fallback glyphs. 1197 11982002-12-29 Werner LEMBERG <wl@gnu.org> 1199 1200 Add glyph `|='. 1201 1202 * font/devX*/*: Regenerated. 1203 * font/devdvi/generate/ec.map: Remove `eq'. 1204 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'. 1205 Assign `|=' to position 39. 1206 * font/devdvi/*EC, S: Regenerated. 1207 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='. 1208 * font/devlj4/generate/special.map: Make `~=' the same as `~~'. 1209 Assign `|=' to position 549. 1210 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove 1211 `equalmath'. 1212 Add `uni2243' for `|='. 1213 1214 * tmac/ec.tmac: Add `eq'. 1215 * tmac/dvi.tmac: Add `=~'. 1216 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add 1217 `|='. 1218 12192002-12-21 Werner LEMBERG <wl@gnu.org> 1220 1221 * font/devdvi/generate/tc.map: Remove `**'. 1222 * font/devdvi/*TC: Regenerated. 1223 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58', 1224 `78', `<<', `>>'. 1225 * font/devutf8/NOTES: Updated. 1226 1227 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function. 1228 Don't give default parameter to `set_macro'. 1229 * src/roff/troff/input.cc (do_define_character): Use `setx_macro' 1230 instead of `set_macro'. 1231 (charinfo::setx_macro): Implement it. 1232 (charinfo::set_macro): Don't change `mode'. 1233 1234 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'. 1235 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'. 1236 * tmac/dvi.tmac: Define `!=' with `.schar'. 1237 12382002-12-20 Werner LEMBERG <wl@gnu.org> 1239 1240 * font/devX*/S: Regenerated. 1241 * font/devdvi/generate/ec.map: Remove `pl'. 1242 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'. 1243 * font/devdvi/*{TC,EC}: Regenerated. 1244 * font/devhtml/R.proto: Add `-+'. 1245 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'. 1246 * font/devlbp/*: Remove `or'. 1247 * font/devlj4/generate/special.map: Remove `or'. 1248 * font/devlj4/S: Regenerated. 1249 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth', 1250 `seveneighths', `threeeighths'. 1251 Remove `plusmath'. 1252 Replace `minusplus' with `uni2213'. 1253 * font/devps/symbolmap: Regenerated. 1254 * font/devutf8/R.proto: Replace `shc' with unnamed glyph. 1255 Add `-+'. 1256 1257 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline 1258 function. 1259 * src/roff/troff/node.cc (troff_output_file::put_char_width): 1260 Call glyph_color and fill_color even if tcommand_flag isn't set. 1261 (make_node, node::add_char): Check not ci->is_fallback but 1262 ci->is_normal. 1263 1264 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'. 1265 * tmac/ec.tmac: Add .rchar entry for `f/'. 1266 Don't remove `12', `14', `34'. 1267 Define `pl' to be always roman. 1268 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros. 1269 Define `18', `38', `58', `78'. 1270 * tmac/tty.tmac: Add `-+'. 1271 * tmac/dvi.tmac: Define `f/'. 1272 (dvi-frac): Use `f/'. 1273 * tmac/X.tmac (X-frac, X-frac-mono): New macros. 1274 Define `18', `38', `58', `78'. 1275 12762002-12-15 Colin Watson <cjwatson@debian.org> 1277 1278 * contrib/pic2graph/pic2graph.sh: Add missing `;;'. 1279 12802002-12-10 Werner LEMBERG <wl@gnu.org> 1281 1282 Add glyph `tno', a textual variant of `no'. 1283 1284 * font/devX*/*: Regenerated. 1285 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'. 1286 * font/devdvi/generate/{tc.map: Replace `no' with `tno'. 1287 * font/devdvi/generated/{texsy,textex}.map: Add `tno'. 1288 * font/devdvi/*: Regenerated. 1289 * font/devlbp/*: Add `tno'. 1290 * font/devlj4/generate/tex.map: Replace `no' with `tno'. 1291 * font/devlj4/*: Regenerated. 1292 * font/devps/generate/textmap: Replace `no' with `tno'. 1293 * font/devps/generate/symbolchars: Add `no'. 1294 * font/devps/*: Regenerated. 1295 1296 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'. 1297 1298 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'. 1299 * tmac/tty-char.tmac: Add entry for `tno' and `3d'. 1300 1301 * NEWS: Updated. 1302 1303 * tmac/dvi.tmac: Replace most `\\' with `\E'. 1304 Add definition for `sd'. 1305 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'. 1306 1307 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph. 1308 13092002-12-08 Werner LEMBERG <wl@gnu.org> 1310 1311 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff 1312 mode to avoid rounding errors. 1313 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'. 1314 1315 * src/roff/groff/groff.man, src/roff/nroff/nroff.man, 1316 src/roff/troff/troff.man: Improve documentation of -T. 1317 13182002-12-07 Jeff Conrad <jeff_conrad@msn.com> 1319 1320 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32. 1321 (run_pipeline) [_WIN32]: Provide working function without `fork'. 1322 13232002-12-06 Werner LEMBERG <wl@gnu.org> 1324 1325 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol 1326 glyphs compatible to Adobe's Euro fonts (scaling them down a bit). 1327 Scaling Euro.sansserif glyphs down to have the same height as 1328 digits. 1329 Removed unnecessary points; added some extrema. 1330 1331 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa: 1332 Regenerated. 1333 13342002-12-04 Werner LEMBERG <wl@gnu.org> 1335 1336 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted' 1337 and `Euro.symbol.bold.slanted'. 1338 Improve some glyph offsets and widths. 1339 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa: 1340 Regenerated. 1341 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix 1342 typo. 1343 * font/devps/generate/sfdtopfa.pe: Generate PFA in current 1344 direcory. 1345 1346 * tmac/europs.tmac: Updated to new glyph indices. 1347 Use Euro.symbol for font familiy `A'. 1348 1349 * doc/groff.texinfo: Minor improvements. 1350 13512002-12-02 Werner LEMBERG <wl@gnu.org> 1352 1353 * font/devdvi/generate.tc.map: s/%O/%0/. 1354 * font/devdvi/*TC: Regenerated. 1355 1356 * src/roff/troff/div.cc (init_div_requests): Sorted. 1357 1358 * tmac/dvi.tmac: Remove `Ye'. 1359 * tmac/ec.tmac: Remove `Ye'. 1360 Add .rchar entry for `de'. 1361 1362 * man/groff.man, man/groff_diff.man: Document register `.pe'. 1363 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'. 1364 * NEWS: Updated. 1365 13662002-11-30 Werner LEMBERG <wl@gnu.org> 1367 1368 Add PS font for various Euro glyphs. 1369 1370 * font/devps/generate/freeeuro.sfd: New master font file for 1371 pfaedit. 1372 * font/devps/generate/sfdtopfa.pe: New conversion script for 1373 pfaedit. 1374 * font/devps/generate/Makefile (FONTS): Add `EURO'. 1375 (EURO, freeeuro.afm, freeeuro.pfa): New rules. 1376 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from 1377 `freeeuro.sfd'. 1378 * font/devps/EURO: Generated from `freeeuro.afm'. 1379 * font/devps/download: Add `freeuro.pfa'. 1380 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and 1381 `freeeuro.pfa'. 1382 1383 * tmac/europs.tmac: New file. 1384 * tmac/ps.tmac: Include `europs.tmac'. 1385 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'. 1386 13872002-11-29 Werner LEMBERG <wl@gnu.org> 1388 1389 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'. 1390 * font/devdvi/S: Regenerated. 1391 * font/devhtml/R.proto: Fix `CR' and `ci'. 1392 Add `OK'. 1393 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'. 1394 Remove `bs'. 1395 * font/devps/symbolmap: Regenerated. 1396 * font/devutf8/R.proto: Fix `CR' and `ci'. 1397 Add `OK'. 1398 * font/devutf8/NOTES: Updated. 1399 1400 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and 1401 `ci'. 1402 Add `OK'. 1403 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto. 1404 1405 * tmac/dvi.tmac: Add `lh' and `rh'. 1406 * tmac/Xps.tmac: Fix `lh' and `rh'. 1407 * tmac/X.tmac: Add `OK'. 1408 * tmac/lj4.tmac: Ditto. 1409 14102002-11-24 Werner LEMBERG <wl@gnu.org> 1411 1412 * font/devX*/S: Regenerated. 1413 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb', 1414 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'. 1415 * font/devdvi/generate/texsy.map: Remove `or' glyph. 1416 * font/devdvi/S: Regenerated. 1417 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs 1418 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp', 1419 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex', 1420 `bracketleftbt', `bracketrighttp', `bracketrightex', 1421 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt', 1422 `braceex', `braceleftex', `bracerightex', `bracerighttp', 1423 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk', 1424 `rb', and `bv'. 1425 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto. 1426 * font/devutf8/NOTES: Updated. 1427 * font/devlj4/generate/special.map: Add glyph `braceex'. 1428 * font/devlj4/S: Regenerated. 1429 1430 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'. 1431 14322002-11-14 Werner LEMBERG <wl@gnu.org> 1433 1434 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va' 1435 and `vA'. 1436 Fix code for `an'. 1437 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto. 1438 1439 * doc/texinfo.tex: New version from texinfo 4.3. 1440 * doc/groff.texinfo: Updated for texinfo 4.3. 1441 Use @tie{} where appropriate. 1442 * font/devdvi/generate/ec.map: Don't include `or' and `bv'. 1443 * font/devdvi/generate/tc.map: Remove `rn'. 1444 * font/devdvi/*TC, font/devdvi/*EC: Regenerated. 1445 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'. 1446 Fix code for `an'. 1447 * font/devX100/*, font/devX100-12/*, font/devX75/*, 1448 font/devX75-12/*: Regenerated. 1449 1450 * tmac/dvi.tmac: Add special fonts `SA' and `SB'. 1451 Use .char (again) for `br', `ul', `rn', `or', and `ru'. 1452 Improve definition of `an'. 1453 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and 1454 `ru'. 1455 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'. 1456 * tmac/X.tmac: Add definition for `or'. 1457 * tmac/Xps.tmac: Undo change 2002-11-05. 1458 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'. 1459 14602002-11-11 Werner LEMBERG <wl@gnu.org> 1461 1462 * src/roff/troff/node.cc (troff_output_file::put_char): Always 1463 call flush_tbuf. 1464 14652002-11-10 Werner LEMBERG <wl@gnu.org> 1466 1467 Added three new requests `schar', `fschar', and `rfschar'. `schar' 1468 defines a glyph which is searched after the check for fonts declared 1469 with `.special' (and before the check for all mounted special 1470 fonts). `fschar' defines a glyph for a particular font which is 1471 searched after the check for fonts declared with `.fspecial' (and 1472 before the check for fonts declared with `.special'). `rfschar' 1473 removes glyphs defined with `fschar'. 1474 1475 * src/roff/troff/token.h (char_mode): New enum. 1476 Declare do_define_character. 1477 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with 1478 `mode'. 1479 (charinfo::is_fallback): Updated. 1480 (charinfo::is_special): New method. 1481 * src/roff/troff/input.cc (do_define_character): Add and use 1482 optional second parameter used as a prefix for font-specific glyph 1483 names. 1484 (define_character, define_fallback_character): Updated. 1485 (define_special_character): New function. 1486 (init_input_requests): Add `schar'. 1487 (charinfo::charinfo, charinfo::set_macro): Updated. 1488 * src/roff/troff/node.cc: Include `stringclass.h'. 1489 (make_glyph_node): Handle special glyphs defined with `.schar' and 1490 `.fschar'. 1491 (define_font_special_character, remove_font_special_character): New 1492 functions. 1493 (init_node_requests): Sorted. 1494 Add `fschar' and `rfschar'. 1495 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo: 1496 Document new requests. 1497 1498 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'. 1499 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar'). 1500 15012002-11-08 Werner LEMBERG <wl@gnu.org> 1502 1503 Added new font `SC' (cmtex10) to devdvi. 1504 1505 * devdvi/generate/Makefile (FONTS): Add `SC'. 1506 (SC): New rule. 1507 * devdvi/generate/textex.map: New map file for cmtex. 1508 * devdvi/SC: New. 1509 * devdvi/Makefile.sub (DEVFILES): Updated. 1510 * tmac/dvi.tmac: Add fspecial entries for SC. 1511 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is 1512 found before `S' since the font position of `SC' is lower due to the 1513 gaps in DESC's `font' line. 1514 * tmac/ec.tmac: Add a `special' call. 1515 * NEWS: Updated. 1516 1517 * font/devhtml/R.proto: Remove double entry for `ti'. 1518 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'. 1519 * tmac/tty-char.tmac: Remove entry for `bq'. 1520 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'. 1521 * tmac/ec.tmac: Don't remove `aq' glyph. 1522 * tmac/X.tmac: Fix entry for `em'. 1523 Add entries for `fo' and `fc'. 1524 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'. 1525 1526 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix 1527 documentation of `special' and `fspecial' requests. 1528 15292002-11-05 Werner LEMBERG <wl@gnu.org> 1530 1531 * font/devascii/R.proto, font/devcp1047/R.proto, 1532 font/devlatin1/R.proto: Remove entry for `.i'. 1533 * font/devdvi/generate/textt.map: Add entry for `ad'. 1534 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map, 1535 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'. 1536 We need this for getting kerning values to compose `/l' and `/L'. 1537 * font/devdvi: Regenerated font definition files for CM fonts. 1538 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'. 1539 * font/devutf8/R.proto: Ditto. 1540 Remove double entry for `ti'. 1541 1542 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries 1543 for (groff) ligatures, `la', and `ra'. 1544 Add "'C", "'c", `IJ', and `ij'. 1545 Remove double entry for `ti'. 1546 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all 1547 double entries. 1548 Add "'C", "'c", `IJ', and `ij'. 1549 Fix entries for (groff) ligatures, `la', and `ra'. 1550 1551 * tmac/ps.tmac (ps-achar): New macro. 1552 Define "'c" and "'C". 1553 * tmac/tty.tmac: Add entry for `.i'. 1554 * tmac/X.tmac (X-achar): New macro. 1555 Define "'c", "'C", and `:Y'. 1556 Add entries for `IJ' and `ij'. 1557 * tmac/Xps.tmac (Xps-achar): New macro. 1558 Define "'c" and "'C". 1559 Add entries for `IJ' and `ij'. 1560 * tmac/lbp.tmac (lbp-achar): New macro. 1561 Add fallback characters for all groff ligatures and many other 1562 glyphs. 1563 * tmac/dvi.tmac: Fix definitions of `_' and `ul'. 1564 Add entries for `/l' and `/L'. 1565 Define "'c" and "'C". 1566 Add entries for `IJ' and `ij'. 1567 15682002-11-02 Larry Kollar <kollar@alltel.net> 1569 1570 * PROBLEMS: Document how to solve Mac OS X compilation problems. 1571 15722002-11-02 Werner LEMBERG <wl@gnu.org> 1573 1574 Adding support for composite glyphs: \[xxx yyy ...] and the 1575 `composite' request. 1576 1577 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names 1578 to Unicode-based glyph names. 1579 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based 1580 glyph names to groff glyph names. 1581 * src/roff/troff/uniuni.cc: New file for canonically decomposing 1582 Unicode-based glyph names. 1583 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files 1584 for handling Unicode glyph names. 1585 * src/roff/troff/input.cc: Include unicode.h. 1586 (composite_glyph_name): New function. 1587 (token::next) <'['>: Handle Unicode glyph names and composite 1588 glyphs. 1589 (composite_dictionary): New dictionary for the `composite' request. 1590 (composite_request): Implement `composite' request. 1591 (init_input_requests): Add `composite'. 1592 Alphabetically sorted. 1593 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already 1594 commented out). 1595 (init_env_requests): Alphabetically sorted. 1596 Removed `tas' and `tar' (already commented out). 1597 * src/roff/troff/Makefile.sub: Updated. 1598 15992002-10-31 Ruslan Ermilov <ru@FreeBSD.org> 1600 1601 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description 1602 of options. 1603 16042002-10-29 Werner LEMBERG <wl@gnu.org> 1605 1606 Fix computation of .trunc register. Additionally, its value (and 1607 the value of the .ne register) is now always set before entering the 1608 trap. 1609 1610 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and 1611 `needed_space' before calling `space'. 1612 (top_level_diversion::space): Remove special code for 'sp before the 1613 first page. 1614 Call `begin_page' with the discarded space as a parameter. 1615 (top_level_diversion::begin_page): Add optional parameter to set 1616 `truncated_space'. 1617 * src/roff/troff/div.h: Updated. 1618 1619 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and 1620 \n[.ne]. 1621 1622 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26. 1623 (LP): Remove superfluous call to `br'. 1624 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26. 1625 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto. 1626 16272002-10-26 Werner LEMBERG <wl@gnu.org> 1628 1629 * tmac/doc-ditroff: Remove useless switch/variable -rC. 1630 (doc-setup-header): Don't set page register `%'. 1631 * tmac/doc-nroff: Remove variable `C'. 1632 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally. 1633 (doc-setup-header): Don't set page register `%'. 1634 Don't call `bp'. 1635 * tmac/doc-common (doc-header): Call `ns'. 1636 (doc-paragraph): Protect .sp with .br so that it survives traps 1637 possibly set by the user. 1638 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto. 1639 1640 * tmac/doc*: Replace ' with . for consistency if no effect. 1641 16422002-10-26 Werner LEMBERG <wl@gnu.org> 1643 1644 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br 1645 so that it survives traps possibly set by the user. 1646 1647 * src/roff/troff/node.cc: Fix the changes from 2002-10-23. 1648 (troff_output_file::set_font): Call flush_tbuf if necessary. 1649 (troff_output_file::fill_color, troff_output_file::glyph_color): Call 1650 flush_tbuf and do_motion only if necessary. 1651 (troff_output_file::start_special, 1652 troff_output_file::put_char_width, troff_output_file::put_char, 1653 troff_output_file::draw): Updated. 1654 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint, 1655 vmotion_node::tprint): Undo change 2002-10-23. 1656 16572002-10-25 Werner LEMBERG <wl@gnu.org> 1658 1659 * tmac/www.tmac (DC): Fix case of overlapping images. 1660 16612002-10-23 Werner LEMBERG <wl@gnu.org> 1662 1663 * src/roff/troff/node.cc (troff_output_file::fill_color, 1664 troff_output_file::glyph_color): Set current color before testing 1665 color_flag. 1666 (troff_output_file::put_char_width, troff_output_file::put_char, 1667 troff_output_file::draw): Don't call flush_tbuf and/or do_motion 1668 before glyph_color. 1669 (troff_output_file::file_color, troff_output_file::glyph_color): 1670 Call do_motion. 1671 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint, 1672 vmotion_node::tprint): Move first, then call fill_color. 1673 16742002-10-20 Werner LEMBERG <wl@gnu.org> 1675 1676 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not 1677 possible to use multiple main macro packages. 1678 16792002-10-19 Werner LEMBERG <wl@gnu.org> 1680 1681 * src/devices/grops/ps.cc (cmyk_flag): New global variable. 1682 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors. 1683 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag' 1684 is set. 1685 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a 1686 `where' construction since `cmyksetcolor' is a PS Level 2 operator. 1687 16882002-10-16 Werner LEMBERG <wl@gnu.org> 1689 1690 * NEWS, doc/webpage.ms: Updated. 1691 16922002-10-14 Werner LEMBERG <wl@gnu.org> 1693 1694 * src/roff/troff/node.cc (troff_output_file::put_char_width, 1695 troff_output_file::put_char, troff_output_file::fill_color, 1696 troff_output_file::glyph_color): Handle case where color pointer 1697 is null. 1698 16992002-10-13 Ruslan Ermilov <ru@FreeBSD.org> 1700 1701 Add the new -r option to grotty. It is similar to the -i option 1702 except it tells grotty(1) to use the "reverse video" attribute to 1703 render italic fonts. 1704 1705 * src/devices/grotty/tty.cc (reverse_flag): New global variable. 1706 (SGR_REVERSE, SGR_NO_REVERSE): New macros. 1707 (tty_printer::make_underline, tty_printer::put_color, 1708 tty_printer::end_page): Use it. 1709 (main): Add -r switch. 1710 (usage): Updated. 1711 * src/devices/grotty/grotty.man: Document it. 1712 17132002-10-11 Ruslan Ermilov <ru@FreeBSD.org> 1714 1715 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add 1716 cast to `unsigned char' to properly read patterns with 8bit 1717 characters. 1718 17192002-10-08 Werner LEMBERG <wl@gnu.org> 1720 1721 * REVISION: Increased to 2. 1722 1723Version 1.18.1 released 1724======================= 1725 17262002-10-08 Werner LEMBERG <wl@gnu.org> 1727 1728 * doc/webpage.ms, NEWS: Updated. 1729 17302002-10-07 Werner LEMBERG <wl@gnu.org> 1731 1732 * tmac/doc-common (Ss): Add final `.ns' (similar to `.Sh') to 1733 suppress additional whitespace after the header. 1734 1735 * tmac/doc-ditroff, tmac/doc-nroff (Am): New string to be in sync 1736 with NetBSD. 1737 1738 * src/preproc/grn/grn.man, tmac/groff_mdoc.man, NEWS: Updated. 1739 17402002-10-07 Ruslan Ermilov <ru@FreeBSD.org> 1741 1742 * tmac/doc-common(doc-volume-operating-system-ateol): New flag. 1743 (Dt): Use it to improve language localization (especially Russian 1744 and French). 1745 17462002-10-07 Daniel Senderowicz <daniel@synchrods.com> 1747 1748 * src/preproc/grn/gprint.h (BSPLINE, BEZIER): New macros. 1749 * src/preproc/grn/hdb.cc (DBGetType): Parse spline and bezier 1750 drawing commands. 1751 * src/preproc/grn/hgraph.cc (drawwig): Add parameter to control 1752 curve type. 1753 Call `picurve' for BSPLINE. 1754 (HGPrintElt): Handle BSPLINE. 1755 * src/preproc/grn/README: Document it. 1756 17572002-10-03 Werner LEMBERG <wl@gnu.org> 1758 1759 * src/roff/troff/node.cc (break_char_node::col): New variable. 1760 Updated constructor. 1761 (space_node::tprint, word_space_node::tprint): Call `fill_color' 1762 unconditionally. 1763 (space_node::space_node): Remove assertion. 1764 (break_char_node::add_self): Pass color argument to space node. 1765 * src/roff/troff/input.cc (token::add_to_node_list, token::process): 1766 Ditto. 1767 * src/roff/troff/env.cc (environment::do_break, 1768 environment::add_padding): Ditto. 1769 17702002-10-02 Werner LEMBERG <wl@gnu.org> 1771 1772 Redesigning color support in troff. Colors are no longer 1773 represented as separate nodes but are now part of glyph nodes and 1774 friends. This fixes the current formatting misbehaviour due to the 1775 changes introduced on 2002-09-20. Some extra code is necessary for 1776 proper grotty support: Without adding color variables to 1777 space-related nodes, the background color would be changed too late. 1778 1779 * src/roff/troff/node.h, src/roff/troff/node.cc: 1780 s/current_pagecolor/current_fill_color/. 1781 s/current_glyphcolor/current_glyph_color/. 1782 (glyph_color_node, fill_color_node): Removed. 1783 (node::get_glyph_color, node::get_fill_color): New virtual member 1784 functions. 1785 (space_node::col): New variable. 1786 Updated constructors of space_node and derived classes accordingly. 1787 (hmotion_node::col): New variable. 1788 Updated constructors of hmotion_node and space_char_hmotion_node 1789 accordingly. 1790 (vmotion_node::col): New variable. 1791 Updated constructor accordingly. 1792 (draw_node::gcol, draw_node::fcol): New variables. 1793 Updated constructor accordingly. 1794 (special_node::gcol, special_node::fcol): New variables. 1795 Updated constructors accordingly. 1796 (troff_output_file::put_char, troff_output_file::put_charwidth, 1797 troff_output_file::draw): Set glyph and fill color. 1798 (troff_output_file::start_special): Set glyph and fill color. 1799 Always set current font. 1800 (troff_output_file::fill_color, troff_output_file::glyph_color): 1801 Don't call `do_motion'. 1802 (glyph_node::gcol, glyph_node::fcol): New variables. 1803 Updated constructors of glyph_node and ligature_node accordingly. 1804 (glyph_node::get_glyph_color, glyph_node::get_fill_color): New 1805 member functions. 1806 (glyph_node::merge_glyph_node, 1807 kern_pair_node::add_discretionary_hyphen, 1808 node::add_discretionary_hyphen): Updated. 1809 (break_char_node::merge_self): Updated. 1810 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint, 1811 vmotion_node::tprint): Handle color. 1812 (make_glyph_node, make_node, node::add_char): Updated. 1813 1814 * src/roff/troff/env.cc (environment::space_newline, 1815 environment::space, environment::output_line, environment::do_break, 1816 environment::make_tab_node, environment::add_padding, title): 1817 Updated. 1818 (environment_switch, environment_copy): Don't add color nodes. 1819 1820 * src/roff/troff/input.cc (do_glyph_color, do_fill_color): Return 1821 nothing. 1822 (token::next): Updated. 1823 \m and \M now are as transparent as \s. 1824 (process_input_stack, token::add_to_node_list, token::process, 1825 read_draw_node): Updated. 1826 (charinfo_to_node_list): Don't add color nodes. 1827 1828 * doc/groff.texinfo: Updated. 1829 18302002-09-27 Ruslan Ermilov <ru@FreeBSD.org> 1831 1832 * tmac/doc-common (ds-operating-system-FreeBSD-4.*): New version 1833 strings. 1834 18352002-09-27 Colin Watson <cjwatson@debian.org> 1836 1837 * src/roff/troff/node.cc (bracket_node::copy): Check `list' != 0. 1838 18392002-09-23 Werner LEMBERG <wl@gnu.org> 1840 1841 * src/devices/grolbp/lbp.cc: Replace `300' with `font::res' where 1842 appropriate. 1843 (DEFAULT_LINEWIDTH_FACTOR): New macro. 1844 (linewidth_factor): New global variable. 1845 (lbp_printer::set_line_thickness): Fix case for size < 0, using 1846 linewidth_factor. 1847 (long_options): Add -w/--linewidth option. 1848 (usage): Updated. 1849 (main): Handle -w option to set linewidth_factor. 1850 (lbp_printer::lbp_printer): Initialize req_linethickness, not 1851 line_thickness. 1852 1853 * src/devices/grolbp/grolbp.man, NEWS, doc/webpage.ms: Updated. 1854 18552002-09-22 Paco Andr�s Verd� <pandres@dragonet.es> 1856 1857 Fixed a bug in the line thickness setting code. 1858 1859 * src/devices/grolbp/lbp.cc (lbp_printer::req_linethickness): New 1860 variable. 1861 (lbp_printer::set_line_thickness): Pass environment as second 1862 parameter. 1863 Implement it actually. 1864 (lpb_printer::set_char, lbp_printer::draw): Use `req_linethickness' 1865 and `set_line_thickness, depending on the current font size. 1866 18672002-09-21 Werner LEMBERG <wl@gnu.org> 1868 1869 Some Debian patches. 1870 1871 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase to 12. 1872 * src/roff/troff/node.cc (bracket_node::copy): Initialize 1873 `list->last'. 1874 18752002-09-20 Werner LEMBERG <wl@gnu.org> 1876 1877 * configure: Regenerated with autoconf 2.54. 1878 18792002-09-20 Werner LEMBERG <wl@gnu.org> 1880 1881 * src/roff/troff/env.h (environment): Rename cur_glyph_color to 1882 glyph_color. 1883 Rename cur_fill_color to fill_color. 1884 * src/roff/troff/env.cc: Updated. 1885 18862002-09-20 Werner LEMBERG <wl@gnu.org> 1887 1888 * src/roff/troff/env.cc (title): Copy color status after processing 1889 title. 1890 * src/roff/troff/input.cc (charinfo_to_node_list): Emit glyph and 1891 fill color nodes to reset colors properly. 1892 1893 * tmac/www.tmac (DC): Fix color handling. 1894 1895 * src/preproc/pic/pic.man, doc/pic.ms: Document some color issues. 1896 * doc/groff.texinfo: Fixing documentation of `tl' request. 1897 * doc/webpage.ms: Updated. 1898 18992002-09-19 Werner LEMBERG <wl@gnu.org> 1900 1901 * src/roff/troff/env.cc (environent_switch, environment_copy): 1902 Emit glyph and fill color nodes to initialize colors properly. 1903 19042002-09-17 Colin Watson <cjwatson@debian.org> 1905 1906 * src/roff/troff/env.cc (environment::set_glyph_color, 1907 environment::set_fill_color): Fix typo which prevented \m[] work 1908 correctly. 1909 19102002-09-17 Werner LEMBERG <wl@gnu.org> 1911 1912 Add left and right italic correction to non-slanted PS fonts. This 1913 is an experimental feature to improve image rendering of grohtml. 1914 1915 * font/devps/generate/Makefile (RFLAG): New variable, set to `-i 0'. 1916 ({T,H,C,P,N,BM,A,HN}{R,B}, ZD, S, ZDR): Use it. 1917 * font/devps/*: All non-slanted fonts regenerated. 1918 * NEWS: Updated. 1919 19202002-09-16 Werner LEMBERG <wl@gnu.org> 1921 1922 Add a site-specific font directory. 1923 1924 * Makefile.in (localfontdir, legacyfontdir): New variables. 1925 (fontpath): Use them. 1926 (MDEFINES, uninstall_dirs): Updated. 1927 * Makefile.comm (.man.n): Add `LOCALFONTDIR' and `LEGACYFONTDIR'. 1928 Remove `FONTPATH' and `MACROPATH'. 1929 1930 * src/roff/troff/troff.man, NEWS: Updated. 1931 * doc/groff.texinfo (Font Directories): New section. 1932 Other minor fixes. 1933 1934 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man, 1935 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man, 1936 src/preproc/grn/grn.man: Minor fixes. 1937 1938 * src/devices/grohtml/post-html.cc (html_printer::do_tab_ts): 1939 Remove unused variable. 1940 19412002-09-11 Werner LEMBERG <wl@gnu.org> 1942 1943 * doc/groff.texinfo, man/groff_font.man: Clarify argument of \N. 1944 * man/groff_out.man: Fix documentation of 'N'. 1945 19462002-09-09 Gaius Mulley <gaius@glam.ac.uk> 1947 1948 * doc/Makefile.in (webpage.html): Depend on gnu.eps also. 1949 * src/roff/troff/env.cc (indent): Emit html tag only if break_flag is 1950 set. 1951 * src/devices/grohtml/post-html.cc (text_glob::is_br_ni): Removed. 1952 (text_glob::is_br, html_printer::lookahead_for_tables): Updated. 1953 (html_printer::do_tab_ts): Call `emit_table_header' with `FALSE'. 1954 * src/devices/grohtml/html-text.cc (html_text::start_tag) <P_TAG, 1955 PRE_TAG>: Call `begin' with `FALSE'. 1956 19572002-09-09 Ralph Corderoy <ralph@inputplus.demon.co.uk> 1958 1959 * src/libs/libgroff/string.cc (string::extract): Fix position of 1960 terminating null byte. 1961 19622002-09-08 Werner LEMBERG <wl@gnu.org> 1963 1964 Add global option `nospaces' to tbl so that leading and trailing 1965 spaces in data items are ignored. 1966 1967 * src/libs/libgroff/string.cc (string::remove_spaces): New member 1968 function to remove leading and trailing spaces. 1969 * src/include/stringclass.h: Updated. 1970 1971 * src/preproc/tbl/table.h (table): Add flag `NOSPACES'. 1972 1973 * src/preproc/tbl/main.cc (process_options): Handle `nospaces' 1974 option. 1975 Fix typo in error messages. 1976 (process_data): Implement `nospaces' option. 1977 * src/preproc/tbl/tbl.man, NEWS, doc/webpage.ms: Updated. 1978 19792002-09-07 Werner LEMBERG <wl@gnu.org> 1980 1981 * src/include/config.hin: Add `HAVE_ISATTY'. 1982 * src/libs/libgroff/tmpfile.cc (xtmpfile_list): Drop `const' for 1983 `fname' member. 1984 * src/libs/libgroff/tmpname.cc: Include `time.h'. 1985 * src/libs/libdriver/input.cc (Char): Add `operator==' and 1986 `operator!=' for `char'. 1987 * doc/groff.texinfo: Replace @ifnottex block for top node with 1988 @ifhtml block. 1989 19902002-09-06 Werner LEMBERG <wl@gnu.org> 1991 1992 * doc/Makefile.in (.texinfo.html): Add -I switch. 1993 * doc/groff.texinfo: Add @ifnottex block for top node to make 1994 translation to HTML work. 1995 19962002-09-05 Gaius Mulley <gaius@glam.ac.uk> 1997 1998 * src/preproc/html/pre-html.cc (LETTER_LENGTH): Removed. 1999 (get_papersize, determine_vertical_offset): Removed. 2000 (char_buffer::do_image): Always specify letter size. 2001 (main): Updated. 2002 (imageList::createPage): Use -dDEVICEHEIGHTPOINTS instead of 2003 -sPAPERSIZE. 2004 20052002-09-05 Werner LEMBERG <wl@gnu.org> 2006 2007 * doc/groff.texinfo, tmac/groff_man.man: Improve documentation of 2008 default indentation. 2009 20102002-09-04 Gaius Mulley <gaius@glam.ac.uk> 2011 2012 * src/preproc/html/pre-html.cc (imageList::createPage): Use 2013 -sPAPERSIZE for gs. 2014 (generateImages): Clean up push-back buffer. 2015 20162002-09-04 Ralph Corderoy <ralph@inputplus.demon.co.uk> 2017 2018 * doc/groff.texinfo: Minor fixes. 2019 20202002-08-21 Gaius Mulley <gaius@glam.ac.uk> 2021 2022 * src/preproc/html/pre-html.cc (DEFAULT_LINE_LENGTH): New macro. 2023 (MAX_WIDTH, A4_LENGTH, A4_OFFSET, LETTER_OFFSET): Removed. 2024 (gsPaper): Removed. 2025 (determine_vertical_offset): Use LETTER_LENGTH. 2026 (createPage): Moved to ... 2027 (imageList::createPage): This. 2028 Call gs with -dDEVICEWIDTHPOINTS to avoid cropping. 2029 (imageList::getMaxX): New function. 2030 (createImage): Moved to ... 2031 (imageList::createImage): This. 2032 (imageList::createImages): New function. 2033 (generateImages): Read `maxx' directly. 2034 Updated. 2035 (scanArguments): Don't specify `gsPaper' for `-o'. 2036 (makeTempFiles): Call `xtmpfile' with the last argument set to 2037 `TRUE'. 2038 20392002-08-24 Werner LEMBERG <wl@gnu.org> 2040 2041 * src/include/nonposix.h (mkdir, WAIT, creat) [_MSC_VER]: Define. 2042 (WAIT, _WAIT_CHILD) [!_MSC_VER]: Define. 2043 * src/preproc/html/pre-html.cc (waitForChild): Use WAIT. 2044 * src/preproc/html/pushback.cc: Include nonposix.h. 2045 * src/roff/groff/pipeline.c: Define strcasecmp and strncasecmp 2046 conditionally. 2047 20482002-08-23 Werner LEMBERG <wl@gnu.org> 2049 2050 Use $(OBJEXT) for the object file extension. 2051 2052 * Makefile.comm (.SUFFIXES): Add .obj. 2053 (.cc.obj, .c.obj): New implicit rules. 2054 * Makefile.in (OBJEXT): New variable, initialized from autoconf. 2055 (MDEFINES): Add EXEEXT and OBJEXT. 2056 * */Makefile.sub: s/.o/.$(OBJEXT)/. 2057 20582002-08-22 Werner LEMBERG <wl@gnu.org> 2059 2060 * INSTALL: Mention texinfo 4.2 as a prerequisite. 2061 20622002-08-21 Gaius Mulley <gaius@glam.ac.uk> 2063 2064 * src/devices/grohtml/post-html.cc (colType): Make enum global to 2065 the file. 2066 (html_printer::update_min_max, html_printer::add_table_end): New 2067 methods. 2068 (html_printer::lookahead_for_tables): Use them. 2069 Reset page offset correctly. 2070 (html_printer::~html_printer): Add creation of creator comment up. 2071 20722002-08-20 Werner LEMBERG <wl@gnu.org> 2073 2074 * tmac/an-old.tmac (T&): New dummy macro to avoid warning. 2075 * man/groff_tmac.man: Fix typos. 2076 * man/groff_font.man: Minor reordering. 2077 * contrib/eqn2graph/eqn2graph.man (Tp): New macro. 2078 * contrib/groffer/groffer.man: Fix typos. 2079 20802002-08-18 Gaius Mulley <gaius@glam.ac.uk> 2081 2082 Avoid endless loops while scanning for tables. 2083 2084 * src/devices/grohtml/post-html.cc (list::insert): Set 2085 ptr->right->left. 2086 (html_printer::next_horiz_pos): Add `text_glob' argument; update 2087 all callers. 2088 Return immediately if that argument is NULL. 2089 (html_printer::calc_nf): Don't test if `g' is NULL. 2090 (html_printer::lookahead_for_tables): Use 2091 `glyphs.move_right_get_data'. 2092 Don't test if `g' is NULL. 2093 20942002-08-18 Gaius Mulley <gaius@glam.ac.uk> 2095 2096 A better fix, replacing fix 2002-08-15, for increasing SIZE. 2097 2098 * src/devices/grohtml/post-html.cc (char_block): Make `buffer' 2099 a pointer. 2100 (char_block::char_block): Allocate `buffer'. 2101 (char_buffer::add_string): Use it. 2102 21032002-08-15 Werner LEMBERG <wl@gnu.org> 2104 2105 * src/devices/grops/grops.man, src/devices/grolj4/grolj4.man, 2106 src/devices/grodvi/grodvi.man: Document default line thickness. 2107 21082002-08-15 Gaius Mulley <gaius@glam.ac.uk> 2109 2110 * src/devices/grohtml/post-html.cc (char_block): Increase SIZE to 2111 8192. 2112 21132002-08-14 Werner LEMBERG <wl@gnu.org> 2114 2115 * doc/webpage.ms: Updated. 2116 21172002-08-09 Werner LEMBERG <wl@gnu.org> 2118 2119 * src/roff/troff/node.cc (node::add_char): Call `freeze_space' for 2120 unbreakable space. 2121 21222002-08-08 Aaron Campbell <aaron@monkey.org> 2123 2124 * src/preproc/pic/object.cc (object_spec::make_move): Fix typo 2125 (&& -> &). 2126 21272002-08-08 Werner LEMBERG <wl@gnu.org> 2128 2129 * src/roff/troff/input.cc (read_rgb, read_cmy, read_cmyk): Call 2130 tok.next(). 2131 (read_gray): Ditto. 2132 Don't push back a space but a newline onto the stack. 2133 21342002-08-07 Gaius Mulley <gaius@glam.ac.uk> 2135 2136 Add fonts `CI', `CB', and `CBI' to grohtml which have been omitted 2137 inadvertently. 2138 2139 * src/devices/grohtml/post-html.cc (html_printer::end_font, 2140 html_printer::start_font): Handle them. 2141 * src/devices/grohtml/html-text.cc (html_text::do_italic): Don't 2142 reset bold and tt. 2143 (html_text::do_bold): Don't reset italic and tt. 2144 (html_text::do_tt, html_text::do_pre): Don't reset bold and italic. 2145 * font/devhtml/DESC.proto: Add those fonts. 2146 * font/devhtml/Makefile.sub (PROTOFONTS): Updated. 2147 21482002-08-07 Werner LEMBERG <wl@gnu.org> 2149 2150 * MORE.STUFF: Added gpresent. 2151 2152 * tmac/trace.tmac: Show nesting level by a corresponding amount of 2153 whitespace before printing the logging message. 2154 21552002-07-31 Colin Watson <cjwatson@debian.org> 2156 2157 * src/devices/grohtml/html-table.cc (html_table::finish_row): 2158 Initialize `n' to zero. This fixes a segfault on ARM. 2159 21602002-07-30 Werner LEMBERG <wl@gnu.org> 2161 2162 * doc/grnexmpl.me: Remove calls to .st and .sc which are undefined. 2163 21642002-07-29 Werner LEMBERG <wl@gnu.org> 2165 2166 * src/preproc/pic/pic.y (print_arg, relative_path): Add missing 2167 final semicolon. 2168 21692002-07-28 Colin Watson <cjwatson@debian.org> 2170 2171 * src/devices/grohtml/post-html (html_printer::troff_tag): Handle 2172 `.ps'. 2173 (html_printer::html_printer): Initialize `pointsize'. 2174 21752002-07-26 Werner LEMBERG <wl@gnu.org> 2176 2177 * doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Remove gnu.eps and 2178 gnu.png. 2179 (CLEANNOTSRCDIRADD): Add gnu.eps and gnu.png. 2180 (gnu.eps): Add -rle switch to pnmtops. 2181 (distfiles): Add gnu.eps and gnu.png. 2182 21832002-07-25 Petter Reinholdtsen <pere@hungry.com> 2184 2185 * src/libs/libdriver/input.cc (Char): Add const to `operator=='. 2186 Add `operator!='. 2187 21882002-07-24 Werner LEMBERG <wl@gnu.org> 2189 2190 * doc/Makefile.in, doc/Makefile.sub (groff_bin_path): Don't use 2191 ' \+' but ' *' for sed. 2192 (GROFF): Set GROFF_COMMAND_PREFIX to empty value. 2193 21942002-07-23 Werner LEMBERG <wl@gnu.org> 2195 2196 * doc/groff.texinfo: Document `papersize' keyword. 2197 * NEWS, man/groff_font.man: Updated. 2198 21992002-07-23 Colin Watson <cjwatson@debian.org> 2200 2201 Extend papersize keyword to accept more than a single entry. The 2202 first valid will be used. 2203 2204 * src/libs/libgroff/font.cc (font::load_desc): Implement it. 2205 (font::scan_papersize): Really skip final newline. 2206 * src/preproc/html/pre-html.cc (get_papersize): Ditto. 2207 22082002-07-23 Werner LEMBERG <wl@gnu.org> 2209 2210 * configure.ac: Test for isatty. 2211 * configure: Regenerated. 2212 * src/include/posix.h: Check HAVE_ISATTY. 2213 * src/roff/troff/input.cc [ISATTY_MISSING]: Removed. 2214 * src/utils/lookbib/lookbib.cc: Include posix.h. 2215 Don't declare isatty. 2216 22172002-07-21 Werner LEMBERG <wl@gnu.org> 2218 2219 * NEWS: Add `output' request. 2220 2221 * REVISION: Increased to 1. 2222 2223Version 1.18.0 released 2224======================= 2225 22262002-07-19 Gaius Mulley <gaius@glam.ac.uk> 2227 2228 Allow internal glyph indices > 0xFF in grohtml for input characters. 2229 2230 * src/devices/grohtml/post-html.cc (to_unicode): Use `unsigned int' 2231 as parameter. 2232 (html_printer::add_to_sbuf): Use `unsigned int' as first parameter. 2233 Updated all callers. 2234 (html_printer::sbuf_continuation, html_printer::overstrike): Ditto. 2235 (html_printer): Updated. 2236 22372002-07-19 Werner LEMBERG <wl@gnu.org> 2238 2239 * font/devhtml/R.proto: Updated to HTML 4, adding many glyphs. 2240 * font/devutf8/R.proto: Adding some missing glyphs. 2241 * font/devutf8/NOTES: Updated. 2242 2243 * tmac/dvi.tmac: Add more composite glyphs. 2244 * tmac/html.tmac: Updated. 2245 2246 * man/groff_char.man: Add `sum' and `product' entities. 2247 2248 * NEWS: Updated. 2249 22502002-07-18 Gaius Mulley <gaius@glam.ac.uk> 2251 2252 Improved table, tab, and indenting support. 2253 2254 * src/roff/troff/input.cc (file_iterator::suppress_newline_flag, 2255 string_iterator::suppress_newline_flag): Removed. Updated all 2256 function which have used it. 2257 2258 * src/roff/troff/env.cc: Include `input.h'. 2259 (environment::add_node): Accept 0 as parameter. 2260 (environment::add_html_tag): Add `force' parameter. 2261 Updated all callers. 2262 (environment::add_html_tag_tabs): Ditto. 2263 For the moment, support left-aligned tabs only. 2264 (environment::make_html_tag): New function. 2265 (fill, no_fill): Set .br html tag additionally. 2266 (environment::newline): Emit `eol.ce' or `eol' tag for html. 2267 (environment::add_html_tag_eol): Removed. 2268 (tab_stops::distance_to_next_tab): Add variant for handling 2269 nextpos'. 2270 (environment::distance_to_next_tab): Ditto. 2271 Updated all callers. 2272 (environment::handle_tab): Handle tabs for html. 2273 2274 * src/roff/troff/env.h: Updated. 2275 2276 * src/roff/troff/div.cc: Updated all callers of 2277 `environment::add_html_tag'. 2278 2279 * src/devices/grohtml/html-table.cc, 2280 src/devices/grohtml/html-table.h: New files. 2281 2282 * src/devices/grohtml/html-text.cc (html_text): New members 2283 `blank_para' and `start_space'. 2284 (html_text::issue_tag): Don't emit TABLE_TAG. 2285 Handle indentation for PRE_TAG and P_TAG. 2286 (html_text::end_tag): Updated. 2287 (html_text::table_is_void, html_text::issue_table_begin, 2288 html_text::issue_table_end): Removed. 2289 (html_text::do_push): Simplified. 2290 [DEBUGGING]: Small fix. 2291 (html_text::push_para): Add new parameter for indentation; updated 2292 all callers. 2293 Handle PRE_TAG. 2294 (html_text::do_indent, html_text::do_table, html_text::done_table, 2295 html_text::is_in_table): Removed. 2296 (html_text::do_pre): Handle P_TAG also. 2297 (html_text::shutdown): Handle p->indent. 2298 (html_text::check_emit_text): Simplified. 2299 (html_text::do_emittext): Reset `blank_para'. 2300 (html_text::do_para): Add new parameter for indentation; updated 2301 all callers. 2302 (html_text::remove_indent): New function. 2303 (html_text::do_space): Handle verbatim text properly. 2304 (html_text::ever_emitted_text, html_text::starts_with_space, 2305 html_text::remove_para_align): New functions. 2306 (html_text::dump_stack_element, html_text::dump_stack): Updated. 2307 2308 * src/devices/grohtml/html_text.h (HTML_TAG): Remove TABLE_TAG. 2309 Updated. 2310 2311 * src/devices/grohtml/post-html.cc: Include html-table.h. 2312 (INDENTATION): Removed. 2313 (text_glob): Added many `is_<foo>' functions. 2314 Added table description `tab'. 2315 Added `get_arg',`get_tab_args', `remember_table', and `get_table' 2316 member functions. 2317 (list): Add `insert' and `move_to' member functions. 2318 (page): Add `insert_tag' member function. 2319 (page::dump_page) [DEBUG_TABLES]: Improved. 2320 (html_printer): Add `table' and `max_linelength' elements. 2321 Add many `do_<foo>', `insert_<foo>', `next_horiz_pos', 2322 `lookahead_for_tables', `shutdown_table', `calc_nf', `calc_po_in', 2323 `remove_tabs', `remove_courier_tabs'. 2324 (html_printer::emit_raw): Handle indentation. 2325 (html_printer::do_center, html_printer::write_header): Updated. 2326 (html_printer::is_courier_until_eol): Check for tag. 2327 (html_printer::do_linelength): Handle max_linelength. 2328 (html_printer::do_page_offset, html_printer::do_indentation): Handle 2329 fill_on. 2330 (html_printer::do_tempindent): Updated. 2331 (html_printer::do_indentedparagraph): Removed. 2332 (html_printer::do_indent): Simplified. 2333 (html_printer::do_eol): Use `ever_emitted_text'. 2334 (html_printer::do_flush, html_printer::do_links): Don't call 2335 done_table. 2336 (html_printer::do_break): Handle end_tempindent. 2337 (html_printer::troff_tag): Get argument. 2338 Don't handle `.ip'. 2339 Handle `.tab-ts', `.tab-te', `.col', `tab', and `tab0' tags. 2340 (html_printer::flush_page): Call `lookahead_for_tables'. 2341 Don't call `done_table'. 2342 (html_printer::add_to_sbuf): Always call do_indent. 2343 2344 * src/devices/grohtml/Makefile.sub: Updated. 2345 2346 * tmac/an-old.tmac (TP): Don't handle html device specially. 2347 (an-do-tag-html): New function which will be used instead of 2348 `an-do-tag' if html device is used. 2349 2350 * tmac/html.tmac: Call .po to pass default page offset to grohtml. 2351 2352 * tmac/s.tmac (@IP): Don't handle html device specially. 2353 (@IP-html): New function which will be used instead of `@IP' if 2354 html device is used. 2355 2356 * tmac/www.tmac (HTML-NS, HTML-TAG-NS): New auxiliary macros -- this 2357 is a hack which will eventually vanish again. 2358 (PIMG): Handle `-C' option correctly if not html. 2359 (HR): Use HTML-NS. 2360 23612002-07-17 Werner LEMBERG <wl@gnu.org> 2362 2363 * src/utils/afmtodit/afmtodit.pl: Don't use `-P-' for invoking perl. 2364 23652002-07-14 Eric S. Raymond <esr@thyrsus.com> 2366 2367 * contrib/pic2graph/pic2graph.*: Use convert(1). 2368 * contrib/eqn2graph/eqn2graph.*: Minor fixes. 2369 23702002-07-14 Bernd Warken <bwarken@mayn.de> 2371 2372 * tmac/groff_trace.man: New file. 2373 * tmac/Makefile.sub: Updated. 2374 * NEWS: Updated. 2375 23762002-07-13 Werner LEMBERG <wl@gnu.org> 2377 2378 * src/roff/groff/groff.man: Add some cross references. 2379 23802002-07-12 Werner LEMBERG <wl@gnu.org> 2381 2382 * src/roff/troff/input.cc (substring_request): Add warnings for 2383 string indices out of range. 2384 23852002-07-11 Werner LEMBERG <wl@gnu.org> 2386 2387 * font/devdvi/generate/ec.map: Fix typo (`(l' -> `/l'). 2388 * font/devdvi/*EC: Regenerated. 2389 23902002-07-10 Bernd Warken <bwarken@mayn.de> 2391 2392 * man/groff_char.man: Updated and extended. 2393 23942002-07-10 Werner LEMBERG <wl@gnu.org> 2395 2396 * src/roff/troff/input.cc (length_macro): Renamed to... 2397 (length_request): This. 2398 Move call of `tok.next()' to the very end, otherwise the register 2399 value hasn't been updated yet. 2400 (init_input_requests): Updated. 2401 24022002-07-09 Werner LEMBERG <wl@gnu.org> 2403 2404 * src/roff/troff/input.cc (substring_macro): Renamed to... 2405 (substring_request): This. 2406 (init_input_requests): Updated. 2407 * src/roff/troff/request.h: Updated. 2408 24092002-07-08 Robert D. Goulding <goulding@Princeton.EDU> 2410 2411 * src/roff/grog/grog.sh: Fix typo. 2412 24132002-07-08 Werner LEMBERG <wl@gnu.org> 2414 2415 * win32-diffs: Updated. 2416 2417 Handle `papersize' keyword properly in DESC. 2418 2419 * src/libs/libgroff/font.cc (font::scan_papersize): Fix argument 2420 type. 2421 Updated all callers. 2422 * src/libs/libgroff/paper.cc: Add four more paper formats used by 2423 grolj4. 2424 * src/include/paper.h: Updated. 2425 2426 * src/devices/grolbp/lbp.cc: Remove unnecessary semicolons. 2427 Other minor C syntax fixes. 2428 (papersize, paperlength, paperwidth): Renamed to `user_*'. 2429 (lbp_printer): Add `papersize', `paperlength', and `paperwidth' 2430 members. 2431 (lbp_printer::lbp_printer): Pass three arguments. 2432 Set paper dimensions properly. 2433 (make_printer, main): Updated. 2434 (handle_unknown_desc_command): Fix error messages. 2435 (main): Handle papersize keyword in DESC properly. 2436 2437 * src/devices/grolj4/lj4.cc (paper_size): Renamed to 2438 `user_paper_size'. 2439 (lbp_printer::lbp_printer): Pass an argument. 2440 Set paper_size properly. 2441 (handle_unknown_desc_command): Removed. 2442 (make_printer, main): Updated. 2443 * src/devices/grolj4/grolj4.man: Minor documentation fix. 2444 2445 * man/groff_font.man, NEWS: Updated. 2446 24472002-07-07 Werner LEMBERG <wl@gnu.org> 2448 2449 Integrated eqn2graph, contributed by Eric S. Raymond. 2450 2451 * contrib/eqn2graph/{Makefile.sub, eqn2graph.sh, eqn2graph.man}: New 2452 files. 2453 * Makefile.in, NEWS: Updated. 2454 24552002-06-04 Werner LEMBERG <wl@gnu.org> 2456 2457 Changing the substring request to make it fit better with other 2458 string manipulation functions in other programming languages: 2459 Index 0 is now the first character in the string, and index -1 2460 indicates the last character. Since this request didn't work 2461 properly anyway in the last release, it doesn't harm too much to 2462 change the syntax. 2463 2464 * src/roff/troff/input.cc (substring_macro): Use loops to get 2465 the real string length (ignoring COMPATIBLE_SAVE and 2466 COMPATIBLE_RESTORE) and offsets. 2467 Implement change described above. 2468 2469 * man/groff_char.man, tmac/doc-common (doc-header), tmac/doc.tmac 2470 (doc-do-Bd-args, doc-do-Bl-args: Changed accordingly. 2471 2472 * NEWS, doc/groff.texinfo, man/groff_diff.man: Updated. 2473 24742002-06-03 Werner LEMBERG <wl@gnu.org> 2475 2476 Make .chop work with .de1 and friends. COMPATIBLE_SAVE and 2477 COMPATIBLE_RESTORE are completely ignored. 2478 2479 * src/roff/troff/input.cc (char_list::set, char_list::get): New 2480 functions. 2481 (macro): `length' field renamed to `len'. 2482 Added new field `empty_macro' (1 if macro is empty), to be used 2483 instead of checking `len'. 2484 Updated all callers. 2485 (macro::empty): Updated. 2486 (macro::length, macro::set, macro::get): New functions. 2487 (macro::append): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE. 2488 Set `empty_macro'. 2489 (chop_macro): Check and remove trailing COMPATIBLE_SAVE/ 2490 COMPATIBLE_RESTORE pairs. 2491 (asciify): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE. 2492 * src/roff/troff/request.h: Updated. 2493 2494 * doc/groff.texinfo: Document .chop's behaviour better. 2495 24962002-06-02 Werner LEMBERG <wl@gnu.org> 2497 2498 * doc/pic.ms: Fix documentation for the addition of positions. 2499 2500 * tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18. 2501 25022002-06-29 Werner LEMBERG <wl@gnu.org> 2503 2504 Implementation of string arguments of the form \*[foo arg1 arg2 ...] 2505 2506 * src/roff/troff/input.cc (have_string_arg): New global variable. 2507 (read_mode): New enumeration. 2508 (read_escape_name): Use it. Update all calls. 2509 (read_long_escape_name): Use it. Update all calls. 2510 Set have_string_arg if appropriate. 2511 (get_char_for_escape_name): Add parameter for handling space 2512 character. 2513 (interpolate_string_with_args, decode_string_args): New functions. 2514 (get_copy, token::next): Call it if necessary. 2515 (interpolate_string): Fix error message. 2516 2517 * NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man: 2518 Document it. 2519 25202002-06-24 Bernd Warken <bwarken@mayn.de> 2521 2522 * man/groff_tmac.man: Updated and extended. 2523 25242002-06-24 Werner LEMBERG <wl@gnu.org> 2525 2526 * doc/pic.ms, src/preproc/pic/pic.man: Fix description of `:='. 2527 25282002-06-23 Werner LEMBERG <wl@gnu.org> 2529 2530 * doc/pic.ms: Improve documentation of composite block objects. 2531 25322002-06-22 Werner LEMBERG <wl@gnu.org> 2533 2534 * src/roff/troff/input.cc (init_registers): Add three registers 2535 `seconds', `minutes', and `hours' to hold the current time. 2536 2537 * NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man: 2538 Updated. 2539 25402002-06-20 Werner LEMBERG <wl@gnu.org> 2541 2542 Make \X accept both `\ ' and `\~', converting them to single space 2543 characters. 2544 2545 * src/roff/troff/token.h (token): Add TOKEN_UNSTRETCHABLE_SPACE. 2546 (token::unstretchable_space): New inline function. 2547 * src/roff/troff/input.cc (token::next, token::delimiter, 2548 token::description, token::add_to_node_list, token::process): Handle 2549 TOKEN_UNSTRETCHABLE_NODE. 2550 (encode_char): Handle tok.stretchable_space and 2551 tok.unstretchable_space. 2552 2553 * NEWS, doc/groff.texinfo: Document it.. 2554 25552002-06-19 Werner LEMBERG <wl@gnu.org> 2556 2557 * src/devices/grops/ps.cc (ps_printer::special): Fix error message. 2558 2559 * src/devices/grotty/tty.cc (tty_printer::special): Add `sgr' 2560 keyword to enable/disable SGR output. 2561 (tty_printer::change_fill_color): New function. 2562 * NEWS, src/devices/grotty/grotty.man: Document `sgr' special. 2563 2564 * src/roff/troff/input.cc (output_request): Add missing `tok.next()' 2565 call. 2566 25672002-06-18 Werner LEMBERG <wl@gnu.org> 2568 2569 Add a `color' request and a `.color' register to control usage of 2570 colours. 2571 2572 * src/roff/troff/input.cc (disable_color_flag): Replaced with... 2573 (color_flag): This (which is the inverse). 2574 (activate_color): New function. 2575 (main, init_input_requests): Updated. 2576 * src/roff/troff/troff.h, src/roff/troff/node.cc 2577 (troff_output_file::fill_color, troff_output_file::glyph_color): 2578 Updated. 2579 2580 * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man: 2581 Document the changes. 2582 25832002-06-17 Colin Watson <cjwatson@debian.org> 2584 2585 Circumvent bug in autoconf 2.53 regarding top_builddir. 2586 2587 * aclocal.m4 (GROFF_BUILDDIR): s/top_builddir/groff_top_builddir/. 2588 * Makefile.in, doc/Makefile.in: 2589 s/@top_builddir@/@groff_top_builddir@/. 2590 * configure: Regenerated (with autoconf 2.53). 2591 25922002-06-17 Werner LEMBERG <wl@gnu.org> 2593 2594 * src/libs/libgroff/font.cc (font::load_desc): Fix computation of 2595 `paperwidth' and `paperlength' for the `papersize' keyword. 2596 25972002-06-16 P. Alejandro Lopez-Valencia <dradul@007mundo.com> 2598 2599 * src/devices/grops/grops.man: Add info about Type 42 fonts. 2600 26012002-06-15 Gaius Mulley <gaius@glam.ac.uk> 2602 2603 * src/devices/grohtml/post-html.cc (html_printer::emit_raw, 2604 html_printer::do_linelength, html_printer::do_pageoffset, 2605 html_printer::do_indentation, html_printer::do_tempindent, 2606 html_printer::do_break, html_printer::begin_page): Clear indented 2607 text. 2608 * tmac/html.tmac: Disable hyphenation. 2609 26102002-06-15 Werner LEMBERG <wl@gnu.org> 2611 2612 Don't produce HTML files if utility programs are missing. 2613 2614 * Makefile.in (make_html, make_install_html): New variables. 2615 (MDEFINES): Updated. 2616 2617 * aclocal.m4 (GROFF_HTML_PROGRAMS): New function to test for HTML 2618 utility programs. 2619 * configure.ac: Use it. 2620 * configure: Regenerated. 2621 2622 * doc/Makefile.sub (PROCESSEDEXAMPLEFILES): Move webpage.html to... 2623 (HTMLEXAMPLESFILES): This new variable. 2624 (EXAMPLESIMAGEFILES): Renamed to... 2625 (HTMLEXAMPLEIMAGEFILES): This. 2626 (CLEANADD): Add HTMLEXAMPLEFILES. 2627 (all): Use `make_html'. 2628 (html): New target. 2629 (install_data): Use `make_install_html'. 2630 Move html stuff to... 2631 (install_html): This new target. 2632 (uninstall_sub): Updated. 2633 26342002-06-14 Bernd Warken <bwarken@mayn.de> 2635 2636 * src/roff/grog/Makefile.sub (grog): Renamed to... 2637 (grog.old): This. 2638 (grog): New rule to always install grog.sh as grog. 2639 26402002-06-08 Bernd Warken <bwarken@mayn.de> 2641 2642 * src/roff/grog/grog.pl: Fix typo. 2643 26442002-06-07 Werner LEMBERG <wl@gnu.org> 2645 2646 * doc/groff.texinfo: Add more info on .tr arguments. 2647 26482002-06-05 Werner LEMBERG <wl@gnu.org> 2649 2650 * NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated. 2651 2652 * aclocal.m4 (GROFF_MKSTEMP): Include unistd.h. 2653 * configure: Regenerated. 2654 26552002-06-05 Ralph Corderoy <ralph@inputplus.demon.co.uk> 2656 2657 * src/roff/troff/symbol.cc (table_sizes): Add more values. 2658 2659 * src/roff/grog/grog.pl, src/roff/grog/grog.sh: Recognize mom. 2660 26612002-06-04 Werner LEMBERG <wl@gnu.org> 2662 2663 * aclocal.m4 (GROFF_PAGE): Don't use `prefix' directly since it 2664 is not initialized at the time we need it in case `--prefix' hasn't 2665 been set. Check for `ac_default_prefix' also. 2666 Test for `papersize' keyword also and generalize allowed whitespace. 2667 * configure: Regenerated. 2668 2669 * font/devps/Makefile.sub (DESC): Use `papersize' instead of 2670 `paperlength'. 2671 2672 * src/libs/libgroff/Makefile.sub (version, revision): Replaced 2673 with... 2674 (src_version, src_revision): New variables to avoid overwriting 2675 from parent make process. 2676 (version.cc): Updated. 2677 2678 * src/preproc/html/pre-html.cc: Include paper.h and font.h. 2679 (linebuf, linebufsize): New global variables. 2680 (sys_fatal): Use `fatal' to abort properly. 2681 (get_line): New function. 2682 (get_resolution): Use it. 2683 Improve error messages. 2684 (get_papersize): Check `papersize' also. 2685 Use `get_line'. 2686 Improve error messages. 2687 26882002-06-03 Werner LEMBERG <wl@gnu.org> 2689 2690 * Makefile.comm (CLEANNOTSRCDIRADD): New target for files which 2691 should be removed only if builddir is not srcdir. 2692 (mostlyclean): Handle `CLEANNOTSRCDIRADD'. 2693 (clean): Depend on `mostlyclean'. 2694 (distclean): Depend on `clean'. 2695 (realclean, extraclean): Depend on `distclean'. 2696 (.y.cc, .y.o): Simplified. The output files are no longer written 2697 to srcdir but to builddir. 2698 * Makefile.in (MDEFINES): Add `version' and `revision'. 2699 (uninstall_dirs): Fix order of directories. 2700 * doc/Makefile.sub (version, revision): Removed. 2701 (CLEANADD): Removed grnexmpl.g, groff, groff-*. 2702 Added `HTMLDOCFILES'. 2703 (CLEANNOTSRCDIRADD): New target for grnexmpl.h, groff, groff-*. 2704 * src/preproc/eqn/Makefile.sub, src/preproc/pic/Makefile.sub, 2705 src/preproc/refer/Makefile.sub (YTABC, YTABH): Don't use `srcdir' 2706 as prefix. 2707 2708 * doc/texinfo.tex (\authortt): New macro. 2709 (\shortcontt): Define. 2710 (\titlepage): Set \tt to \authortt while defining \authorfont. 2711 (\appendixbox): New macro. 2712 (\chapmacro, \appendixentry): Use \appendixbox to get even 2713 indentation for letters. 2714 (\summarycontents): Set \tt. 2715 (\internalpagesize): Add two arguments for real paper width and 2716 height as needed by pdfTeX. 2717 (\letterpaper, \smallbook, \afourpaper, \afivepaper, \afourlatex): 2718 Updated. 2719 (\tempdima, \tempdimb): New temporary dimensions. 2720 (\pagesizesyyy): Updated. 2721 27222002-06-02 Werner LEMBERG <wl@gnu.org> 2723 2724 Adding a new keyword `papersize' to the DESC file format (similar 2725 but not completely identical to grolbp's extension). grops now has 2726 a -p command line option to override `papersize'. Finally, grolbp 2727 has been adapted to the new syntax. 2728 2729 * src/libs/libgroff/paper.cc, src/include/paper.h: New files. It 2730 defines and initializes the `papersizes[]' array with NUM_PAPERSIZES 2731 elements. 2732 * src/libs/libgroff/Makefile.sub (OBJS): Add `paper.o'. 2733 (CCSRCS): Add `paper.cc'. 2734 2735 * src/include/font.h (font): Add `papersize' element. 2736 * src/libs/libgroff/font.cc (font::unit_scale): New helper function. 2737 (font::scan_papersize): New function. 2738 (font::load_desc): Use it for handling `papersize' keyword. 2739 * src/libs/libgroff/fontfile.cc: Initialize `font::papersize'. 2740 2741 * src/devices/grops/ps.cc: Include paper.h. 2742 (user_paper_length): New global variable. 2743 (ps_printer): Use paper length as initializer. 2744 (make_printer): Updated. 2745 (main): Handle new `-p' option. 2746 * src/devices/grops/grops.man: Updated. 2747 2748 * src/devices/grolbp/lbp.cc: Include paper.h. 2749 s/papersizes/lbp_papersizes/. 2750 (set_papersize): Use new `papersizes' array. 2751 (handle_unknown_desc_command): Don't handle `papersize'. 2752 (main): Use `font::scan_papersize' for handling `-p' option. 2753 * src/devices/grolbp/grolbp.man: Updated. 2754 2755 * man/groff_font.man: Document `papersize'. 2756 * NEWS: Updated. 2757 27582002-05-30 Werner LEMBERG <wl@gnu.org> 2759 2760 * src/devices/grops/TODO: Updated. 2761 * src/devices/grops/grops.man: More info on paper formats. 2762 * man/groff_font.man: Document `paperheight' and `paperwidth'. 2763 27642002-05-29 Werner LEMBERG <wl@gnu.org> 2765 2766 * doc/Makefile.sub (CLEANADD): Add grnexmpl.g, groff, and groff-* 2767 to list only if srcdir != currdir. 2768 (distfiles): New target. 2769 2770 * Makefile.in (EXTRADIRS): Add font/devlj4/generate. 2771 (NOMAKEDIRS): New variable. 2772 (DISTDIRS): Use it. 2773 27742002-05-26 Werner LEMBERG <wl@gnu.org> 2775 2776 Add .output request, similar to \! at top-level. 2777 2778 * src/roff/troff/input.cc (transparent): Remove unused declaration. 2779 (output_request): New function. 2780 (init_input_requests): Add it. 2781 Sorted. 2782 * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man: 2783 Document it. 2784 2785 * Makefile.in (MDEFINES): Add INSTALL_INFO. 2786 (prepare_examples): Fix typo. 2787 * doc/groff.texinfo (@direntry): Fix it. 2788 27892002-05-25 Werner LEMBERG <wl@gnu.org> 2790 2791 Including the doc subdir into groff's Makefile system. 2792 2793 * aclocal.m4 (GROFF_INSTALL_INFO): New function. 2794 * configure.ac: Use it. 2795 Generate `doc/Makefile'. 2796 * configure: Regenerated. 2797 2798 * Makefile.in (infodir, INSTALL_INFO): New variables. 2799 (MDEFINES, uninstall_dirs): Updated. 2800 (OTHERDIRS): Add `doc'. 2801 * Makefile.comm (CLEANDIRADD): New variable. 2802 (mostlyclean): Use it. 2803 2804 * doc/Makefile.sub, doc/Makefile.in: New files. 2805 * doc/Makefile: Removed. 2806 2807 * NEWS, INSTALL: Updated. 2808 28092002-05-24 Werner LEMBERG <wl@gnu.org> 2810 2811 * doc/homepage.ms: Renamed to ... 2812 * doc/webpage.ms: This. 2813 Use `.NHR'. 2814 28152002-05-23 Werner LEMBERG <wl@gnu.org> 2816 2817 Integrating the `mom' macro package, contributed by Peter Schaffter 2818 <df191@ncf.ca>. 2819 2820 * contrib/mom/*: New subdirectory tree. 2821 * Makefile.in (docdir, exampledir, htmldocdir): New variables to 2822 be used for documentation files. 2823 (MDEFINES, uninstall_dirs): Use them. 2824 (OTHERDIRS): Add contrib/mom. 2825 * Makefile.comm (.man.n): Add @DOCDIR@, @EXAMPLEDIR@, and 2826 @HTMLDOCDIR@. 2827 * MANIFEST, NEWS: Updated. 2828 28292002-05-22 Gaius Mulley <gaius@glam.ac.uk> 2830 2831 Change syntax of \O: \O[0] suppresses output, \O[1] enables output 2832 if at outer level; at start-up we are at outer level. 2833 2834 * src/roff/troff/input.cc (do_suppress): Implement it. 2835 Simplify \O[3]. 2836 2837 Add option -p to show progress information. 2838 pre-grohtml will now render only one page at a time, reducing the 2839 size of needed disk resources enormously. 2840 2841 * src/preproc/html/pre-html.cc (imagePageStem): Replaced with... 2842 (imagePageName): New global variable. 2843 (psPageName, show_progress, currentPageNo): New global variables. 2844 (html_system): Close saved stderr and stdout handles. 2845 (write_end_image): Accept a parameter to control \O escape. 2846 (write_start_image): Adapted to new \O meaning. 2847 (char_buffer::write_upto_newline): Updated. 2848 (createAllPages): Replaced with... 2849 (createPage): This new function to create a single page for images. 2850 It uses `psselect' from the psutils package. 2851 (removeAllPages): Removed. 2852 (createImage): Updated. 2853 Handle progress display. 2854 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Removed. 2855 (scanArguments): Add option -p. 2856 (makeTempFiles): Updated to create temp files for psPageName and 2857 imagePageName. 2858 (removeTempFiles): Removed. 2859 (main): Updated. 2860 2861 * src/devices/grohtml/post-html.cc (header_desc::write_headings, 2862 html_printer::write_header): Append `\0' to `buffer'. 2863 (html_printer::do_eol): Depend on `current_paragraph->emitted_text'. 2864 (main): Handle -p. 2865 * src/devices/grohtml/html-text.cc (html_text::dump_stack_element): 2866 Handle `text_emitted'. 2867 (html_text::table_is_void): Slightly rewritten. 2868 (stop): New external symbol. 2869 (html_text::do_push) [DEBUGGING]: Use it and simplify. 2870 (html_text::shutdown): Call `dump_stack'. 2871 (html_text::do_space): Rewritten. 2872 * src/devices/grohtml/grohtml.man: Document -p and the need of 2873 `psselect'. 2874 2875 * tmac/www.tmac (DC, HTML-DO-IMAGE, HTML-IMAGE-END): Updated to 2876 new \O syntax. 2877 Call \O[0] if `ps4html' is active. 2878 * tmac/s.tmac (@EQ, @EN): Handle html better. 2879 (@TS, TE): Ditto. 2880 * tmac/html.tmac: Don't use black for background colour. 2881 2882 * src/roff/troff/node.cc: Include `div.h'. 2883 (troff_output_file::really_print_line): Don't use `is_on'. 2884 (troff_output_file::word_marker, troff_output_file::flush_tbuf 2885 troff_output_file::check_charinfo, 2886 troff_output_file::put_char_width, troff_output_file::put_char, 2887 troff_output_file::determine_line_limits, troff_output_file::draw, 2888 real_output_file::begin_page, glyph_color_node::tprintf, 2889 fill_color_node::tprint, hline_node::tprint, vline_node::tprint): 2890 Use `is_on'. 2891 (troff_output_file::really_on): Call `do_motion'. 2892 (suppress_node::tprint): Use `get_page_number' instead of `%' 2893 register. 2894 Call `reset_output_registers' conditionally on `is_on'. 2895 2896 * doc/groff.texinfo: Document new syntax of \O. 2897 * NEWS, man/groff_diff.man: Updated. 2898 28992002-05-22 Werner LEMBERG <wl@gnu.org> 2900 2901 * MORE.STUFF: Add info about David Frey's deroff implementation. 2902 Mention troff.org. 2903 29042002-05-16 Werner LEMBERG <wl@gnu.org> 2905 2906 Pic's `with' attribute now accepts positions. 2907 2908 * src/preproc/pic/pic.y: Make `.', BOX, CIRCLE, ELLIPSE, ARC, LINE, 2909 ARROW, SPLINE, and `[' left-associative tokens to fix shift/reduce 2910 conflicts. 2911 (object_spec): Add rule for `WITH' and `position'. 2912 (relative_path): Give `corner' the precedence of `CHOP'. 2913 * src/preproc/pic/object.h (path): New members `pos' and 2914 `is_position'. 2915 * src/preproc/pic/object.cc: Updated initializers of `path'. 2916 (path::follow): Handle `is_position'. 2917 2918 * doc/pic.ms: Completely updated grammar description. 2919 Many typographical improvements. 2920 29212002-05-15 Werner LEMBERG <wl@gnu.org> 2922 2923 * src/roff/troff/env.cc(hyphen_trie::hpf_getc): Accept ^^x (char 2924 code of x in range 0-127) also. 2925 * doc/groff.texinfo, man/groff_diff.man: Updated. 2926 2927 Added keywords `north', `south', `east', and `west' for corners 2928 in pic. 2929 2930 * src/preproc/pic/lex.cc (lookup_keyword): Add NORTH, SOUTH, EAST, 2931 and WEST. 2932 (yylex): Handle them. 2933 * src/preproc/pic/pic.y: Add tokens NORTH, SOUTH, EAST, and WEST. 2934 (corner): Handle them. 2935 29362002-05-14 Werner LEMBERG <wl@gnu.org> 2937 2938 * src/devices/grops/grops.man: Clarify handling of `download' file. 2939 29402002-05-11 Werner LEMBERG <wl@gnu.org> 2941 2942 Adding `warnscale' and `spreadwarn' requests, based on a patch from 2943 Jeffrey Friedl <jfriedl@yahoo.com>. 2944 2945 * src/roff/troff/input.cc (spread_limit, warn_scale, 2946 warn_scaling_indicator): New global variables. 2947 (warnscale_request, spreadwarn_requests): New functions. 2948 (main): Initialize `warn_scale' and `warn_scaling_indicator'. 2949 (init_input_requests): Updated. 2950 (error_type): Add `OUTPUT_WARNING'. 2951 (do_error): Handle it. 2952 (output_warning): New warning function which shows output location. 2953 * src/roff/troff/env.h (spread_limit): New external variable. 2954 * src/roff/troff/env.cc (environment::choose_breakpoint): Use 2955 `output_warning'. 2956 (distribute_space): Emit warning if added space is larger than 2957 `spread_limit'. 2958 (environment::possibly_break_line): Emit warning if a line can't 2959 be adjusted on both sides. 2960 2961 * doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it. 2962 29632002-05-08 Werner LEMBERG <wl@gnu.org> 2964 2965 * src/roff/troff/node.cc (special_node::special_node): Use 2966 env_definite_font(curenv) instead of curenv->get_font(). Otherwise 2967 \X''\% crashes, for example. 2968 2969 * doc/groff.texinfo: Document \! and \? used at top-level. 2970 29712002-05-06 Werner LEMBERG <wl@gnu.org> 2972 2973 * src/preproc/pic/pic.man: Fix some keyword syntax. 2974 Other minor typographical fixes. 2975 2976 * src/roff/groff/groff.man: Fix typos. 2977 29782002-05-04 Werner LEMBERG <wl@gnu.org> 2979 2980 * src/roff/groff/groff.man ([ShortOpt]): Renamed to... 2981 (ShortOpt[]): This to avoid problems with refer. 2982 2983 * doc/pic.ms: Fix typo. 2984 Fix pic grammar description. 2985 2986 * tmac/an-old.tmac (ne): Use de1, not de. 2987 29882002-05-03 Werner LEMBERG <wl@gnu.org> 2989 2990 * doc/groff.texinfo: Finished separation of glyphs and characters. 2991 Don't use the string `Appendix' for appendix headers (both in 2992 the text and the table of contents). 2993 * man/groff_tmac.man, src/roff/troff/troff.man: Fix order of tmac 2994 directories. 2995 2996 Use registers LL and LT (similar to -ms) for controlling the 2997 length of title and line, respectively, in the -man and -mdoc 2998 macro packages. 2999 3000 * tmac/doc-ditroff (doc-setup-page-layout), tmac/doc-nroff 3001 (doc-setup-page-layout): Use \n[LL] and \n[LT]. 3002 * tmac/an-old.tmac: Set \n[LL] and \n[LT] if not defined. 3003 (TH): Use \n[LL]. 3004 (an-header, an-p-footer): Use \n[LT]. 3005 * NEWS, tmac/groff_man.man, tmac/groff_mdoc.man, 3006 doc/groff.texinfo: Document it. 3007 30082002-05-02 Werner LEMBERG <wl@gnu.org> 3009 3010 * doc/fdl.texi: New file. 3011 * doc/groff.texinfo: Include it. 3012 Define and use @copying. 3013 Starting with separating glyph, symbol, and character. 3014 30152002-04-27 Werner LEMBERG <wl@gnu.org> 3016 3017 * Makefile.in (EXEEXT): Set it. 3018 * src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script 3019 programs. 3020 3021 * src/include/nonposix.h: Define GS_NAME. 3022 * src/preproc/html/pre-html.cc (createAllPages): Use GS_NAME. 3023 3024 Some preliminary changes for EMX support under OS/2. 3025 3026 * src/preproc/pic/main.cc (main), src/roff/groff/pipeline.c: Add 3027 __EMX__ similar to __MSDOS__. 3028 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Use `unlink'. 3029 30302002-04-25 Werner LEMBERG <wl@gnu.org> 3031 3032 * doc/groff.texinfo: Integrated groff_out.man. 3033 Some macro fixes. 3034 30352002-04-23 Werner LEMBERG <wl@gnu.org> 3036 3037 * man/groff_out.man: Minor fixes. 3038 30392002-04-23 Werner LEMBERG <wl@gnu.org> 3040 3041 * doc/groff.texinfo: Moving @cindex entries after @Def* to get 3042 correct page references. 3043 Fixed many index entries. 3044 30452002-04-23 Bernd Warken <bwarken@mayn.de> 3046 3047 * man/roff.man: Enlarged. 3048 30492002-04-22 Werner LEMBERG <wl@gnu.org> 3050 3051 * doc/groff.texinfo: More examples, other fixes. 3052 30532002-04-20 Werner LEMBERG <wl@gnu.org> 3054 3055 * src/roff/troff/input.cc (pipe_output): Multiple calls to `pi' 3056 will now form a chain, e.g. 3057 3058 .pi foo 3059 .pi bar 3060 3061 is now the same as 3062 3063 .pi foo | bar 3064 3065 This is for compatibility with plan 9's troff. 3066 3067 * tmac/tty.tmac: Set default tab values to 0.8i to be compatible 3068 with UNIX troff. 3069 * NEWS: Updated. 3070 3071 * doc/groff.texinfo: Add documentation of remaining requests and 3072 registers. 3073 30742002-04-19 Werner LEMBERG <wl@gnu.org> 3075 3076 * doc/groff.texinfo: Add documentation of remaining escapes. 3077 3078 * font/devdvi/generate/tc.map: Remove entry for `sr'. 3079 * font/devdvi/*TC: Regenerated. 3080 30812002-04-18 Werner LEMBERG <wl@gnu.org> 3082 3083 * src/roff/troff/input.cc (token::next): Make \H behave consistently 3084 if not in compatibility mode, i.e., increment relative to the 3085 previous height. 3086 * doc/groff.texinfo: Updated accordingly. 3087 30882002-04-17 Werner LEMBERG <wl@gnu.org> 3089 3090 * doc/groff.texinfo: Document \\, \e, \E, \., and \c. 3091 30922002-04-16 Bernd Warken <bwarken@mayn.de> 3093 3094 * src/roff/groff/groff.man: Improve documentation of -P option. 3095 Other minor fixes. 3096 30972002-04-15 Werner LEMBERG <wl@gnu.org> 3098 3099 Add new escape \F to switch font family. 3100 3101 * src/roff/troff/input.cc (token::next): Handle \F. 3102 * src/roff/troff/env.cc (environment::set_family): Handle 3103 `interrupted' flag. 3104 * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man: 3105 Document it. 3106 31072002-04-14 Werner LEMBERG <wl@gnu.org> 3108 3109 * tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of 3110 spaces in tags. 3111 31122002-04-13 Werner LEMBERG <wl@gnu.org> 3113 3114 Implement \f[] as an alternative to \fP. Change \mP and \MP to 3115 \m[] and \M[], respectively. 3116 3117 * src/roff/troff/symbol.cc (EMPTY_SYMBOL): New global variable. 3118 (symbol::symbol): Handle NULL string and empty string differently. 3119 * src/roff/troff/symbol.h (symbol::is_empty): New inline function. 3120 * src/roff/troff/input.cc (read_escape_name, read_long_escape_name): 3121 Add optional parameter. 3122 Updated calling functions. 3123 (get_copy, do_glyph_color, do_fill_color, token::next): Use 3124 `symbol::is_empty'. 3125 * src/roff/troff/env.cc (environment::set_font): Ditto. 3126 3127 * src/preproc/pic/troff.cc (troff_output::set_fill, 3128 troff_output::reset_color: Updated. 3129 3130 * tmac/www.tmac: Updated. 3131 3132 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo, 3133 doc/homepage.ms, src/devices/grotty/grotty.man, tmac/groff_www.man: 3134 Updated. 3135 3136 * tmac/Xps.tmac: Remove some redundant code. 3137 3138 * tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac, 3139 tmac/dvi.tmac, contrib/groffer/groffer.man, man/roff.man, 3140 man/groff_out.man, man/groff.man, man/groff_diff.man, 3141 src/roff/groff/groff.man: Replace \f[P] with \f[]. 3142 31432002-04-13 Bernd Warken <bwarken@mayn.de> 3144 3145 * src/include/printer.h, src/libs/libdriver/printer.cc 3146 (printer::change_fill_color): New member function. 3147 * src/libs/libdriver/input.cc (parse_D_command): Use it. 3148 31492002-04-12 Werner LEMBERG <wl@gnu.org> 3150 3151 * doc/groff.texinfo: Completed pass on gtroff reference. 3152 31532002-04-11 Werner LEMBERG <wl@gnu.org> 3154 3155 * doc/groff.texinfo: More fixes. 3156 31572002-04-11 Bernd Warken <bwarken@mayn.de> 3158 3159 * src/include/color.h: Decorate with `const'. 3160 Use `size_t'. 3161 Include `stddef.h'. 3162 * src/libs/libgroff.color.cc: Decorate with `const'. 3163 Use `size_t'. 3164 (color::color): Initialize members. 3165 * src/libs/libdriver/input.cc (parse_D_command): Handle `f' 3166 command according to the documentation. 3167 3168 * man/groff_out.man: Updated. 3169 Minor fixes. 3170 31712002-04-11 Gaius Mulley <gaius@glam.ac.uk> 3172 3173 * src/preproc/html/pre-html.cc (write_start_image): Remove 3174 redundant output. 3175 * tmac/www.tmac (DC, HTML-DO-IMAGE): Ditto. 3176 3177 * src/devices/grohtml/post-html.cc (page::add_and_encode): Using 3178 \C'hy' caused an assertion failure. 3179 3180 * src/roff/troff/env.cc (environment::environment): Initialize 3181 `emitted_node'. 3182 (environment::copy): Handle `ignore_next_eol' and `emitted_node'. 3183 31842002-04-10 Werner LEMBERG <wl@gnu.org> 3185 3186 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo: 3187 Document pvs request and .pvs register. 3188 31892002-04-09 Werner LEMBERG <wl@gnu.org> 3190 3191 * doc/groff.texinfo: Improve and fix documentation of diversions 3192 and environments. 3193 31942002-04-08 Werner LEMBERG <wl@gnu.org> 3195 3196 * doc/groff.texinfo: Fix documentation of drawing functions. 3197 Other minor fixes. 3198 31992002-04-07 Werner LEMBERG <wl@gnu.org> 3200 3201 * doc/groff.texinfo: Better documentation of double quotes as 3202 arguments. 3203 Other minor fixes. 3204 32052002-04-06 Werner LEMBERG <wl@gnu.org> 3206 3207 * man/groff_font.man: Document names of special characters better. 3208 * doc/groff.texinfo: Minor improvements. 3209 3210 * tmac/lbp.tmac: Load latin1.tmac. 3211 * tmac/X.tmac, tmac/Xps.tmac: Load latin1.tmac or cp1047.tmac. 3212 3213 * font/devX*/*: Regenerated (all chars > 0x80 removed). 3214 32152002-04-05 Werner LEMBERG <wl@gnu.org> 3216 3217 * tmac/tty.tmac: Don't use shc request. 3218 * tmac/latin1.tmac, tmac/cp1047.tmac: Translate soft hyphen to `\%'. 3219 * NEWS: Updated. 3220 3221 * man/groff_diff.man: Minor fixes. 3222 3223 * font/devlbp/*: Remove all `charXXX' entities. 3224 3225 * src/libs/libgroff/font.cc (font::~font): Deallocate 3226 `special_device_coding'. 3227 (font::load): Use `new' for allocating `special_device_coding'. 3228 * src/libs/libgroff/nametoindex.cc (character_indexer::lookup_char): 3229 Removed unused member. 3230 32312002-04-05 Werner LEMBERG <wl@gnu.org> 3232 3233 * src/drivers/grops/psrm.cc (skip_possible_newline): New function. 3234 (resource_manager::do_begin_binary, 3235 resource_manager::do_begin_data): Use it. 3236 3237 * doc/texinfo.tex: Updated to version 4.2. 3238 3239 * src/roff/troff/token.h: Add TOKEN_ZERO_WIDTH_BREAK for `\:'. 3240 (token::zero_width_break): New inline function. 3241 * src/roff/troff/input.cc (token::next): Use it. 3242 (token::description): Updated. 3243 (encode_char): Ignore `\%', `\&', `\)', and `\:'. 3244 (token::add_to_node_list, token::process): Use it. 3245 * NEWS, doc/groff.texinfo: Updated. 3246 3247 * src/preproc/eqn/over.cc (over_box::output): Fix typo. 3248 * tmac/tty.tmac: Add missing backslash. 3249 32502002-04-04 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de> 3251 3252 * src/preproc/eqn/box.cc (set_script_size, box::top_level): Use 3253 `.ps' register instead of `.s' to handle fractional point sizes. 3254 * src/preproc/eqn/limit.cc (limit_box::compute_metrics, 3255 limit_box::output): Ditto. 3256 * src/preproc/eqn/other.cc (size_box::compute_metrics, 3257 size_box::output): Ditto. 3258 * src/preproc/eqn/over.cc (over_box::compute_metrics, 3259 over_box::output): Ditto. 3260 * src/preproc/eqn/script.cc (script_box::compute_metrics, 3261 script_box::output): Ditto. 3262 * src/preproc/eqn/sqrt.cc (sqrt_box::compute_metrics, 3263 sqrt_box::output): Ditto. 3264 32652002-04-03 Michael Selway <mas@ssl.co.uk> 3266 3267 * src/drivers/grops/psrm.cc (resource_manager::do_begin_binary): 3268 Fix typo. 3269 32702002-04-03 Werner LEMBERG <wl@gnu.org> 3271 3272 * doc/homepage.ms: Reduce title size. 3273 * doc/groff.texinfo: Fix documentation of .t register. 3274 Fix handling of colon. 3275 Fix `\' vs. `\\'. 3276 3277 * src/roff/troff/input.cc (exit_troff): Emit LAST_PAGE_EJECTOR 3278 only if page length is positive to avoid a loop. 3279 3280 * tmac/an-old.tmac (ne): Increase page length to avoid problems with 3281 tbl. 3282 32832002-04-02 P. Alejandro Lopez-Valencia <dradul@yahoo.com> 3284 3285 * src/include/nonposix.h, src/roff/groff/pipeline.c: 3286 s/__CYGWIN32__/__CYGWIN__/. 3287 32882002-03-28 Gaius Mulley <gaius@glam.ac.uk> 3289 3290 * doc/gnu.xpm: New image contributed by Emily Mulley. 3291 * doc/Makefile (gnu.eps, gnu.png): Use pnmdepth. 3292 (homepage.html): Be dependent on gnu.eps. 3293 * doc/homepage.ms: Updated to new image. 3294 3295 * src/devices/grohtml/post-html.cc (html_printer): New member 3296 `sbuf_prev_hpos'. 3297 (html_printer::flush_sbuf, html_printer::set_char): Set it. 3298 (html_printer::sbuf_continuation): Use it. 3299 33002002-03-28 Werner LEMBERG <wl@gnu.org> 3301 3302 * src/libs/libgroff/getopt.c: Updated to latest version. 3303 3304 * tmac/README: More on hyphen.tex license. 3305 33062002-03-26 Larry Kollar <kollar@alltel.net> 3307 3308 * doc/groff.texinfo: Add documentation of most missing requests. 3309 33102002-03-25 Werner LEMBERG <wl@gnu.org> 3311 3312 Add three glyphs `t+-', `tmu', and `tdi' which are textual variants 3313 of `+-', `mu', and `di', respectively. 3314 3315 * font/devascii/R.proto, font/devutf8/R.proto, 3316 font/devlatin1/R.proto, font/devhtml/R.proto, 3317 font/devcp1047/R.proto, font/devlpb/*: Add them. 3318 * font/devps/generate/textmap: Ditto. 3319 * font/devps/*: Regenerated. 3320 * font/devlj4/generate/text.map: Add them. 3321 * font/devlj4/*: Regenerated. 3322 * font/devdvi/generate/tc.map: Use them. 3323 * font/devdvi/generate/texsy.map: Add them. 3324 * font/devdvi/*: Regenerated. 3325 * font/devX*/*: Regenerated. 3326 3327 * tmac/latin1.tmac, tmac/cp1047.tmac, tmac/tty.tmac, 3328 tmac/tty-char.tmac: Updated. 3329 3330 * NEWS, man/groff_char.man: Updated. 3331 33322002-03-24 Werner LEMBERG <wl@gnu.org> 3333 3334 * tmac/dvi.tmac, tmac/X.tmac, tmac/ps.tmac, tmac/html.tmac, 3335 tmac/lj4.tmac, tmac/tty.tmac: Replace most `.char' with `.fchar'. 3336 * tmac/ec.tmac: Remove `.rchar' calls (no longer necessary since 3337 we use `.fchar' in dvi.tmac. 3338 * tmac/dvi.tmac: Improve definition of \[Fo] and \[Fc]. 3339 * tmac/Xps.tmac: Simplify some char definitions. 3340 Add definition for \[f/]. 3341 * man/groff_char.man: Updated for new X.tmac. 3342 3343 * tmac/README: New file. 3344 33452002-03-23 Phil Lobbes <phil@perkpartners.com> 3346 3347 * Makefile.comm (.y.o): New rule for make on Solaris 2.5.1 -- the 3348 internal .y.o rule took precendence over the .y.cc rule, compiling 3349 the yacc files with gcc instead of g++. 3350 33512002-03-23 Werner LEMBERG <wl@gnu.org> 3352 3353 * tmac/dvi.tmac: Add replacement font for `CB'. 3354 3355 * tmac/doc.tmac: s/request/macro/ in messages. 3356 (doc-generic-macro): Improve error message. 3357 * tmac/groff_mdoc.man: Minor improvements. 3358 33592002-03-22 Werner LEMBERG <wl@gnu.org> 3360 3361 * doc/groff.texinfo: Document possible conflict between `tr' and 3362 `char' requests. 3363 33642002-03-21 Werner LEMBERG <wl@gnu.org> 3365 3366 Improve handling of hyphenation patterns. It is now possible to 3367 use most of TeX's pattern files unmodified. To make the process 3368 more flexible, a new request `hpfcode' has been added which 3369 provides a character code mapping for the `hpf' request. See 3370 comment before hpf_getc() for more details. 3371 3372 * src/roff/troff/env.cc (insert_hyphenation, hpf_getc): New 3373 functions. 3374 (read_patterns_file): Additional parameter for exception dictionary. 3375 Extended to recognize \pattern, \hyphenation, and \endinput. 3376 (do_hyphenation_patterns_file): Updated. 3377 * src/roff/troff/env.h (hpf_code_table): New extern. 3378 3379 * src/roff/troff/input.cc (hpf_code_table): New array. 3380 (init_hpf_code_table, hyphenation_patterns_file_code): New 3381 functions. 3382 (hyphenation_code): Handle translation from `trin' correctly. 3383 (main, init_input_requests): Updated. 3384 (charinfo::set_translation): Handle hyphenation code also. 3385 3386 * src/roff/troff/charinfo.h (charinfo::get_translation_input): New 3387 inline function. 3388 3389 * src/roff/troff/env.cc (WORD_MAX): Reduced to 256 since `unsigned 3390 char' is used for offsets in hyphenation exceptions. 3391 3392 * tmac/hyphen.us: Replace with contents of unmodified `hyphen.tex'. 3393 3394 * NEWS, man/groff_diff.man, man/groff.man: Document it. 3395 33962002-03-20 Larry Kollar <kollar@alltel.net> 3397 3398 * doc/groff.texinfo: Add documentation for `hpfa' and `trin' 3399 requests. 3400 34012002-03-18 Werner LEMBERG <wl@gnu.org> 3402 3403 * tmac/html.tmac: Fix serious typo. 3404 34052002-03-17 Larry Kollar <kollar@alltel.net> 3406 3407 * doc/groff.texinfo: Add documentation for `writec' request. 3408 34092002-03-17 Werner LEMBERG <wl@gnu.org> 3410 3411 Added request `hpfa' to append hyphenation patterns. 3412 3413 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add 3414 parameter `append'. 3415 (hyphenation_patterns_file): Renamed to... 3416 (do_hyphenation_patterns_file): This. 3417 (hyphenation_patterns_file, hyphenation_patterns_file_append): New 3418 functions. 3419 (init_hyphen_requests): Updated. 3420 * NEWS, man/groff.man, man/groff_diff.man: Document it. 3421 34222002-03-16 Werner LEMBERG <wl@gnu.org> 3423 3424 Added request `writec' in analogy to `tmc'. 3425 3426 * src/roff/troff/input.cc (write_request): Renamed to... 3427 (do_write_request): This. 3428 Added one parameter. 3429 (write_request, write_request_continue): New functions. 3430 (init_input_requests): Updated. 3431 * NEWS, man/groff.man, man/groff_diff.man: Document it. 3432 3433 * font/devdvi/DESC.in (sizes): Allow all sizes in the range 3434 5-10000pt. 3435 * NEWS: Document it. 3436 34372002-03-15 Werner LEMBERG <wl@gnu.org> 3438 3439 * man/groff.man: Add writem request. 3440 3441 Add request `trin' (translate input) to make `.asciify' work 3442 correctly. This is necessary since `charXXX' entity names are no 3443 longer hardcoded in font definition files. 3444 3445 * src/roff/troff/charinfo.h (charinfo): Add `asciify_code' and 3446 `translate_input' members. 3447 (charinfo::set_asciify_code, charinfo::get_asciify_code, 3448 charinfo::set_translation_input): New methods. 3449 (charinfo::set_translation): Add third argument. 3450 * src/roff/troff/input.cc (charinfo:set_translation): Set 3451 `asciify_code'. 3452 (do_translate): Add second argument. 3453 (translate_input): New function. 3454 (init_input_requests): Updated. 3455 * src/roff/troff/node.cc (glyph_node::asciify, 3456 composite_node::asciify): Use `get_asciify_code'. 3457 3458 * tmac/cp1047.tmac, tmac/latin1.tmac: Use `trin'. 3459 3460 * NEWS, man/groff.man, man/groff_diff.man: Updated. 3461 34622002-03-14 Larry Kollar <kollar@alltel.net> 3463 3464 * doc/groff.texinfo: Improve documentation of .RS and .RE. 3465 34662002-03-14 Werner LEMBERG <wl@gnu.org> 3467 3468 Add a new request `sizes' similar to the `sizes' command in DESC 3469 files. 3470 3471 * src/roff/troff/env.cc (override_sizes): New function. 3472 (init_env_requests): Use it. 3473 * src/roff/troff/token.h: Export `read_string'. 3474 * NEWS, man/groff_diff.man, man/groff.man: Document it. 3475 34762002-03-12 Werner LEMBERG <wl@gnu.org> 3477 3478 * doc/groff.texinfo: More fixes for texinfo 4.1 and higher. 3479 34802002-03-10 Werner LEMBERG <wl@gnu.org> 3481 3482 * tmac/pspic.tmac: Add support for -Tdvi. 3483 * tmac/dvi.tmac: Include pspic.tmac. 3484 * src/devices/grodvi/grodvi.man: Document it. 3485 * NEWS: Updated. 3486 3487 * font/devlj4/generate/Makefile: Fix URL of metric files. 3488 34892002-03-09 Werner LEMBERG <wl@gnu.org> 3490 3491 * PROBLEMS: The static constructor bug has been fixed in z/OS V1R3. 3492 34932002-03-09 Larry Kollar <kollar@alltel.net> 3494 3495 * tmac/groff_ms.man: Add documentation for RS and RE macros. 3496 34972002-03-08 Werner LEMBERG <wl@gnu.org> 3498 3499 * doc/groff.texinfo: Fixes for texinfo 4.1. 3500 35012002-03-07 Werner LEMBERG <wl@gnu.org> 3502 3503 * src/include/lib.h: Include getopt.h if groff-getopt.h can't be 3504 included. 3505 Handle CYGWIN properly. 3506 35072002-03-07 Paco Andr�s Verd� <pandres@dragonet.es> 3508 3509 * font/devlbp/Makefile.sub (DEVFILES): Add some missing fonts. 3510 * tmac/lbp.tmac: Add some font translations. 3511 35122002-03-02 Werner LEMBERG <wl@gnu.org> 3513 3514 * font/devcp1047/R.proto, font/devlatin1/R.proto, 3515 font/devhtml/R.proto: Remove `charXXX' entries. 3516 * tmac/tty.tmac, tmac/html.tmac: Load latin1.tmac or cp1047.tmac 3517 where appropriate. 3518 3519 * font/devlj4/generate/text.map: Remove `charXXX' entries. 3520 * font/devlj4/*: Regenerated all font definition files. 3521 * tmac/lj4.tmac: Load latin1.tmac. 3522 3523 * src/utils/hpftodit/hpftodit.cc (do_file): Partially undo change 3524 from 2000-06-17: LJ4 metric files are *not* text files. 3525 3526 * tmac/troffrc, tmac/dvi.tmac, tmac/ps.tmac: Don't use .T string 3527 register to test for EBCDIC. 3528 35292002-03-01 Werner LEMBERG <wl@gnu.org> 3530 3531 * src/utils/afmtodit/afmtodit.pl: Skip comment lines in encoding 3532 files (as grops already does). 3533 * src/utils/afmtodit/afmtodit.man: Document comment lines in map 3534 files. 3535 * src/devices/grops/grops.man: Document comment lines in encoding 3536 files. 3537 3538 * tmac/cp1047.tmac: New file. 3539 * tmac/dvi.tmac, tmac/tty-char.tmac: Use it. 3540 * tmac/ps.tmac: Load latin1.tmac or cp1047.tmac. 3541 * tmac/Makefile.sub (NORMALFILES): Updated. 3542 3543 * tmac/ec.tmac: Don't load latin1.tmac again. 3544 3545 * font/devps/generate/lgreekmap, font/devps/generate/symbolchars, 3546 font/devps/generate/dingbats.map, 3547 font/devps/generate/dingbats.rmap, font/devps/text.enc, 3548 font/devps/generate/Makefile (symbolmap): Add header comment. 3549 * font/devps/generate/textmap: Ditto. 3550 Remove `charXXX' entries. 3551 * font/devps/symbolmap: Regenerated. 3552 * font/devps/*: Regenerated all font definition files. 3553 35542002-02-28 Werner LEMBERG <wl@gnu.org> 3555 3556 Add color support to grodvi (for drawing colors are currently 3557 translated to gray values). 3558 3559 * src/devices/grodvi/dvi.cc (FILL_MAX): Removed. 3560 (dvi_printer): Add `cur_color' member. 3561 (dvi_printer::set_color): New function. 3562 (draw_dvi_printer): Remove `fill'. 3563 (draw_dvi_printer::fill_next): Pass environment as parameter. 3564 Update code for new color support translated to gray. 3565 (dvi_printer::set_char): Updated. 3566 (dvi_printer::begin_page, dvi_printer::end_page): Handle color 3567 changes crossing the page border. 3568 (dvi_printer::draw): Updated. 3569 Remove cases `f' and `F'. 3570 * tmac/dvi.tmac: Add color definitions. 3571 * NEWS, src/devices/grodvi/grodvi.man: Updated. 3572 3573 * tmac/an-old.tmac (R): Make this a macro to emit a warning if 3574 used incorrectly. 3575 3576 * aclocal.m4 (GROFF_NEED_DECLARATION): Use test similar to recent 3577 versions of autoconf. 3578 * configure: Updated. 3579 3580 * doc/homepage.ms: Use `.blm'. 3581 * tmac/www.tmac (www-depth): New auxiliary variable. 3582 (www-pop-level): Don't issue HTML tag. 3583 (ULS, ULE, LI): Use absolute indentation. 3584 3585 * src/devices/grops/ps.cc (ps_printer::begin_page, 3586 ps_printer::end_page): Switch forth and back to default color while 3587 starting a new page. 3588 35892002-02-27 Werner LEMBERG <wl@gnu.org> 3590 3591 Add EC and TC fonts to devdvi. 3592 3593 * src/utils/tfmtodit/tfmtodit.man: Document patching of exbase.mf. 3594 * font/devdvi/generate/cork.map: Renamed to... 3595 * font/devdvi/generate/ec.map: This. 3596 Remove entry for `aq'. 3597 * font/devdvi/generate/tc.map: New file. 3598 * font/devdvi/generate/Makefile (*EC, *TC): New creation rules for 3599 EC and TC fonts. 3600 (FONTS): Updated. 3601 * font/devdvi/*EC, font/devdvi/*TC: New font definition files. 3602 * font/devdvi/Makefile.sub (DEVFILES): Updated. 3603 * tmac/ec.tmac: New file. 3604 * tmac/Makefile.sub (NORMALFILES): Updated. 3605 * NEWS, src/devices/grodvi/grodvi.man: Updated. 3606 * man/groff_char.man: Check `ECFONTS' register. 3607 3608 * font/devdvi/{TR,TI,TB,TBI,HR}: Fix `name' field. 3609 36102002-02-26 Werner LEMBERG <wl@gnu.org> 3611 3612 * font/devdvi/generate/*.map: Remove all `charXXX' entries. 3613 * font/devdvi/generate/cork.map: Add 'y and 'Y. 3614 * font/devdvi/*: Updated. 3615 * tmac/dvi.tmac: Formatting. 3616 3617 Add font `HBI' for the dvi output. 3618 Add support for font families `T' and `H'. 3619 3620 * font/devdvi/HBI: New file. 3621 * font/devdvi/B: Renamed to ... 3622 * font/devdvi/TB: This. 3623 * font/devdvi/BI: Renamed to ... 3624 * font/devdvi/TBI: This. 3625 * font/devdvi/I: Renamed to ... 3626 * font/devdvi/TI: This. 3627 * font/devdvi/R: Renamed to ... 3628 * font/devdvi/TR: This. 3629 * font/devdvi/H: Renamed to ... 3630 * font/devdvi/HR: This. 3631 * font/devdvi/Makefile.sub (DEVFILES): Updated. 3632 * font/devdvi/generate/Makefile (HBI): New rule. 3633 (FONTS): Updated. 3634 (R, I, B, BI, H): Renamed to ... 3635 (TR, TI, TB, TBI, HR): This, respectively. 3636 (srcdir): Fixed. 3637 * NEWS, src/devices/grodvi/grodvi.man: Updated. 3638 * font/devdvi/DESC.in: Don't mount R, I, B, BI, and CWI. 3639 Add `styles' and `family' keywords. 3640 * tmac/dvi.tmac: Alias `H' to `HR'. 3641 Add some fspecial requests for italic fonts. 3642 Add TR and TI as special. 3643 Add support for `_' with font CWI. 3644 3645 * src/roff/troff/number.cc (parse_expr): Add missing `break' for 3646 operator `:'. Until now, the expression `0:1' would return 2 3647 instead of 1. 3648 36492002-02-25 Werner LEMBERG <wl@gnu.org> 3650 3651 * man/groff_char.man: Added some missing PS glyph names (from the 3652 Adobe Glyph List). 3653 * font/devps/generate/textmap, font/devps/symbolmap: Add 3654 `arrowupdn'. 3655 3656 * doc/groff.texinfo: Minor additions and fixes. 3657 * man/groff_diff.man: Remove documentation of fp request. This 3658 is already covered in the original troff manual. 3659 Updated to be consistent with other doc files. 3660 * NEWS: Updated. 3661 36622002-02-24 Werner LEMBERG <wl@gnu.org> 3663 3664 * aclocal.m4 (GROFF_EBCDIC): Don't include `font/devutf8' in 3665 TTYDEVDIRS. 3666 Define new variable OTHERDEVDIRS (containing `font/devlj4 3667 font/devlbp' if not EBCDIC). 3668 * Makefile.in (TTYDEVDIRS): Always include `font/devutf8'. 3669 (OTHERDEVDIRS): New variable. 3670 (MDEFINES, DEVDIRS, ALLDIRS, DISTDIRS): Updated. 3671 * configure: Regenerated. 3672 3673 * NEWS, src/devices/grotty/grotty.man: Updated. 3674 36752002-02-23 Werner LEMBERG <wl@gnu.org> 3676 3677 * src/roff/troff/input.cc (do_overstrike, do_bracket, 3678 get_line_arg): Honour input level. 3679 3680 Add new symbol `mc' corresponding to U+00B5 MICRO SIGN. 3681 3682 * font/*/*: Implement it in all font files. 3683 * font/devps/generate/textmap, font/devps/generate/symbolchars, 3684 * font/devps/symbolmap: Updated. 3685 * font/devlj4/generate/text.map: Updated. 3686 * font/devdvi/generate/CompileFonts (sizes): Add LaTeX sizes. 3687 * font/devdvi/generate/texmi.map: Updated. 3688 3689 * font/devutf8/R.proto: Remove all `charXXX' entries. 3690 * font/devutf8/NOTES: Updated. 3691 3692 * font/devX*/*: Regenerated with xtotroff, using fonts from XFree86 3693 version 4.1.0. 3694 3695 * tmac/latin1.tmac, tmac/psold.tmac, tmac/tty-char.tmac: Updated. 3696 3697 * NEWS, man/groff_char.man: Updated. 3698 36992002-02-21 Phil Lobbes <phil@perkpartners.com> 3700 3701 * src/include/lib.h [HAVE_SNPRINTF]: Include stdarg.h. 3702 37032002-02-20 Ralph Corderoy <ralph@inputplus.demon.co.uk> 3704 3705 * src/roff/grog/grog.pl: Fix computation of $refer. 3706 37072002-02-19 Werner LEMBERG <wl@gnu.org> 3708 3709 * src/include/lib.h [!HAVE_SNPRINTF]: Add declarations for 3710 `snprintf' and `vsnprintf'. 3711 3712 * src/include/htmlindicate.h: Renamed to... 3713 * src/include/htmlhint.h: This. 3714 * src/include/Makefile.sub: Updated. 3715 * src/preproc/eqn/main.cc: Updated. 3716 37172002-02-18 Werner LEMBERG <wl@gnu.org> 3718 3719 * man/roff.man, man/groff_out.man, man/groff.man, 3720 man/groff_diff.man, man/ditroff.man, src/roff/groff/groff.man, 3721 src/roff/troff/troff.man: Updated to latest changes in www.tmac. 3722 3723 * win32-diffs: Updated. 3724 37252002-02-17 Werner LEMBERG <wl@gnu.org> 3726 3727 * doc/Makefile (clean): Add *.eps. 3728 (MEMACROS): Removed. 3729 (TFLAG): New variable. 3730 (TROFF): Use it. 3731 Add -ww. 3732 (GROFF): Use TFLAG, FFLAG, -U, -p, -e, -t, and -ww. 3733 (.me.dit): Fixed. 3734 (.ms.html, .ms.ascii, .ms.ps, homepage.html): Simplify. 3735 3736 * tmac/www.tmac: Use dummy diversion while resetting and disabling 3737 `.tl'. 3738 * tmac/e.tmac: Inserted some more `\"' to remove warnings if used 3739 unstripped. 3740 * src/roff/troff/troff.man: Fix order of parameter description. 3741 3742 * NEWS: Updated. 3743 37442002-02-16 Gaius Mulley <gaius@glam.ac.uk> 3745 3746 Simplify image handling for grohtml. 3747 Fix <p> bug. 3748 3749 * src/devices/grohtml/html-text.cc (DEBUGGING): Don't undefine but 3750 comment out. 3751 (html_text::dump_stack): Don't emit newline while debugging. 3752 (html_text::do_push) [DEBUGGING]: Print more info. 3753 (html_text::check_emit_text): Fix handling of <p>. 3754 * src/devices/grohtml/html.h: Updated. 3755 * src/devices/grohtml/output.cc (FPUTC, FPUTS, PUTC): New macros, 3756 replacing `fputc', `fputs', `putc'. If DEBUGGING is defined, they 3757 send its data to stderr also. 3758 Update all callers. 3759 (simple_output::space_or_newline) [DEBUGGING]: Removed. 3760 * src/devices/grohtml/post-html.cc (html_printer::do_links, 3761 html_printer::html_printer): Remove `DEBUGGING' conditionals. 3762 3763 * src/include/html-strings.h (HTML_IMAGE_{CENTERED,LEFT,RIGHT,END}): 3764 Removed. 3765 * src/libs/libgroff/htmlhint.cc (is_in_graphic_start, 3766 is_inline_image): Removed. 3767 (html_begin_suppress, html_end_suppress): Don't take a parameter. 3768 (graphic_start, graphic_end): Removed. 3769 * src/include/htmlindicate.h: Updated. 3770 * src/preproc/html/pre-html.cc (DEBUG_HTML): Removed. 3771 (macroset_template): New global variable. 3772 (makeFileName): Use `macroset_template'. 3773 (write_end_image): Don't take a parameter. 3774 Don't emit newline. 3775 (write_start_image: Don't emit newline. 3776 (char_buffer::write_upto_newline): Updated. 3777 (char_buffer::skip_to_newline): Renamed to ... 3778 (char_buffer::skip_until_newline): This. 3779 Fix code. 3780 (char_buffer::write_file_troff, char_buffer::write_file_html): 3781 Simplified. 3782 (createAllPages, createImage) [DEBUGGING]: Handle `debug' flag. 3783 (removeAllPages): Remove `DEBUGGING' conditionals. 3784 (addRegDef, dump_args): New functions. 3785 (char_buffer::do_html, char_buffer::do_image): Handle 3786 `www-image-template' command line variable. 3787 Add more debugging code. 3788 (addps4html): Removed. 3789 (removeTempFiles) [DEBUGGING]: Handle `debug' flag. 3790 3791 * src/preproc/eqn/main.cc: Include `ctype.h'. 3792 (suppress_html): Removed. 3793 (do_file): Updated. 3794 (inline_equation): Use `html_begin_suppress' and 3795 `html_end_suppress'. 3796 * src/preproc/pic/troff.cc: Don't include `htmlindicate.h'. 3797 (troff_output::start_picture, troff_output::finish_picture): 3798 Updated. 3799 * src/preproc/tbl/main.cc: Don't include `htmlindicate.h'. 3800 (process_input_file): Updated. 3801 3802 * src/roff/troff/div.cc (page_number): Set page number only if the 3803 `ps4html' register isn't defined. 3804 * src/roff/troff/input.cc (image_no): New external variable. 3805 (do_suppress): Use it. 3806 * src/roff/troff/node.h (suppress_node::image_id): New member. 3807 * src/roff/troff/node.cc (image_no): Remove `static' keyword. 3808 (suppress_node::suppress_node): Initialize `image_id' member. 3809 (suppress_node::same): Handle `image_id' also. 3810 (suppress_node::copy): Updated. 3811 (last_image_id): New global variable. 3812 (suppress_node::tprint): Use it. 3813 3814 * tmac/an-old.tmac (TS, TE, EQ, EN): Use HTML-IMAGE and 3815 HTML-IMAGE-END. 3816 * tmac/pspic.mac (PSPIC): Fix html support. 3817 * tmac/s.tmac (@EQ, @EN, @TS, TE, PS, PE): Ditto. 3818 * tmac/www.tmac (www-image-template): Set up. 3819 (HTMLINDEX): Renamed to... 3820 (HX): This. 3821 (BODYCOLOR): Renamed to... 3822 (BCL): This. 3823 (BACKGROUND): Renamed to... 3824 (BGIMG): This. 3825 (URL): Change order of parameters for consistency. 3826 (MAILTO): Renamed to... 3827 (MTO): This. 3828 (IMAGE, PNG-IMAGE, MARGIN-PNG-IMAGE): Renamed to... 3829 (IMG, PIMG, MPIMG): This. 3830 (HTML-H-BEGIN, HTML-H-END): Renamed to... 3831 (HnS, HnE): This. 3832 (LINKS): Renamed to... 3833 (LK): This. 3834 (LINE): Renamed to... 3835 (HR): This. 3836 (NO-AUTO-RULE): Renamed to... 3837 (NHR): This. 3838 (HTML-TL): Renamed to... 3839 (HTL): This. 3840 (UL-BEGIN, UL-END): Renamed to... 3841 (ULS, ULE): This. 3842 (DROPCAP): Renamed to... 3843 (DC): This. 3844 (TS, TE, EQ, EN): Provide default definitions. 3845 (www-make-unique-name): Updated. 3846 (HTML-IMAGE-INLINE): Fix typo. 3847 * tmac/groff_www.man: Updated. 3848 3849 * doc/Makefile (homepage.html): Add option -r to grohtml. 3850 Use shortened image name. 3851 * doc/groff.texinfo: Updated info on grohtml strings and macros. 3852 * doc/homepage.ms: Updated and extended. 3853 38542002-02-14 Werner LEMBERG <wl@gnu.org> 3855 3856 Don't use `CSI 39 m' and `CSI 49 m' but `CSI 0 m'. 3857 3858 * src/devices/grotty/tty.cc (SGR_DEFAULT_COLOR, 3859 SGR_BACK_DEFAULT_COLOR): Replaced with ... 3860 (tty_printer::put_color): Use it. 3861 (ttr_printer::end_page): Simplify. 3862 38632002-02-13 Werner LEMBERG <wl@gnu.org> 3864 3865 * tmac/groff_tmac.man: Moved to... 3866 * man/groff_tmac.man: This place. 3867 * tmac/Makefile.sub, man/Makefile.sub: Updated. 3868 38692002-02-12 Werner LEMBERG <wl@gnu.org> 3870 3871 * src/libs/libgroff/Makefile.sub (snprintf.o): Don't use 3872 $(COMPILE.c) to not include groff's assert.h. 3873 3874 * src/drivers/grotty/tty.cc (main): Add GROFF_NO_SGR environment 3875 variable. 3876 * NEWS, src/drivers/grotty/grotty.man: Document it. 3877 38782002-02-11 Werner LEMBERG <wl@gnu.org> 3879 3880 * src/libs/snprintf/snprintf.c: Updated to latest version 3881 (2002-02-11). 3882 3883 * src/roff/grog/grog.pl (process): Fix handling of `.['. We now 3884 test whether there is `.]' also. 3885 Don't check for spaces after `.['. 3886 * src/roff/grog/grog.sh: Do the same. 3887 38882002-02-10 Werner LEMBERG <wl@gnu.org> 3889 3890 Illegal -> Invalid. 3891 3892 * src/libs/libgroff/illegal.cc: Renamed to ... 3893 * src/libs/libgroff/invalid.cc: This. 3894 (illegal_char_table): Renamed to ... 3895 (invalid_char_table): This. 3896 * src/libs/libgroff/Makefile.sub: Updated. 3897 * win32-diffs: Updated. 3898 3899 * doc/groff.texinfo, src/devices/grops/psrm.cc (ps_get_line), 3900 src/libs/libdriver/input.cc (fatal_command, parse_color_command, 3901 parse_x_command), src/libs/libgroff/font.cc (text_file::next, 3902 font::load), src/preproc/eqn/main.cc (read_line, main), 3903 src/preproc/eqn/lex.cc (file_input::read_line), 3904 src/preproc/pic/lex.cc (file_input::read_line, 3905 simple_file_input::get, simple_file_input::peek), 3906 src/preproc/pic/main.cc (top_input::get, top_input::peek), 3907 src/preproc/pic/pic.man, src/preproc/refer/main.cc 3908 (input_stack::push_file), src/preproc/refer/refer.cc (do_file, 3909 do_bib), src/preproc/tbl/main.cc (table_input::get), 3910 src/preproc/grn/grn.man, src/preproc/grn/main.cc (interpret), 3911 src/roff/troff/input.cc (file_iterator::fill, file_iterator::peek, 3912 do_zero_width, read_request, encode_char, ps_get_line, 3913 transparent_file, get_char_for_escape_name, transparent_translate, 3914 asciify, input_char_description, read_string, set_string), 3915 src/roff/troff/env.cc (environment::add_html_tag), 3916 src/roff/troff/troff.man, tmac/e.tmac (`@(', `(f'): Do it. 3917 3918 * src/include/lib.h: Updated. 3919 3920 * src/preproc/eqn/eqn.cc: Removed. 3921 3922 * NEWS: Updated. 3923 3924 * src/preproc/grn/hdb.cc (DBRead): Fix fscanf() fields. 3925 39262002-02-09 Werner LEMBERG <wl@gnu.org> 3927 3928 * doc/gnu.xpm: New image. 3929 * doc/Makefile (DOCS): Add homepage.ps. 3930 Add rules for converting xpm->png and xpm->eps. 3931 Use `gnu.{xpm,eps}' as image names. 3932 * doc/homepage.ms: Updated. 3933 39342002-02-09 Gaius Mulley <gaius@glam.ac.uk> 3935 3936 * tmac/www.tmac (www-error): New macro, replacing calls to `@error'. 3937 (IMAGE): Change image position parameters to `-L', `-R', and `-C'. 3938 Remove calls to `B1' and `B2' 3939 (PNG-IMAGE): New macro for inclusion of images in PNG format. 3940 (www-left-ll-trap, www-left-po-trap, www-right-ll-trap): New 3941 auxiliary variables for MARGIN-PNG-IMAGE. 3942 (www-finish-left-po, www-finish-right-ll, www-finish-left-ll): New 3943 auxiliary macros for MARGIN-PNG-IMAGE. 3944 (MARGIN-PNG-IMAGE): New macro to put an image in PNG format into 3945 the margin. 3946 (www-heading-no): New auxiliary variable for HTML-H-{BEGIN,END}. 3947 (HTML-H-BEGIN, HTML-H-END): New macros to begin and end a heading. 3948 (DROPCAP): New macro to produce dropcap characters. 3949 (www-do-image): Renamed back to... 3950 (HTML-DO-IMAGE): This. 3951 Updated all callers. 3952 3953 * doc/Makefile (gnubw.eps): Updated. 3954 * doc/homepage.ms: Updated. 3955 39562002-02-08 Werner LEMBERG <wl@gnu.org> 3957 3958 * doc/pic.ms: Fixed typos (\(*tx -> \*(tx). 3959 Added `linethick' to table in section `Style Variables'. 3960 39612002-02-08 Gaius Mulley <gaius@glam.ac.uk> 3962 3963 * src/libs/libdriver/input.cc (get_extended_arg): Fix conditional. 3964 39652002-02-07 Werner LEMBERG <wl@gnu.org> 3966 3967 Adding options -C (compatibility mode) and -c (grotty's old output 3968 scheme) to nroff. 3969 3970 * src/roff/nroff/nroff.sh: Implement it. 3971 Remove `-Wall'. 3972 * NEWS, src/roff/nroff/nroff.man: Updated. 3973 3974 * PROBLEMS: Document bison 1.32 bug. 3975 3976 Some fixes to make groff compile on z/OS 1.2 UNIX (was OS/390). 3977 3978 * src/roff/troff/node.cc (make_tfont): Define it earlier. 3979 * src/roff/troff/div.h: Add prototype for `end_diversions'. 3980 * src/roff/troff/input.cc: Add prototype for `process_input_stack'. 3981 * src/roff/troff/env.h: Add prototype for `title'. 3982 3983 Adding EBCDIC support to grotty. 3984 3985 * src/devices/grotty/tty.cc (CSI): New macro. 3986 (SGR_*, tty_printer::put_color): Use it. 3987 39882002-02-06 Werner LEMBERG <wl@gnu.org> 3989 3990 Implementing color support in grotty. The new switch -c activates 3991 the old drawing scheme, disabling color at the same time. The new 3992 switch `-i' selects italic instead of underlining (SGR only). 3993 3994 * src/devices/grotty/tty.cc (putstring): New define instead of 3995 `fputs'. Updated all callers. 3996 (old_drawing_scheme): New global variable. 3997 (COLOR_CHANGE): New enum value. 3998 (SGR_*): New defines containing color handling escape sequences. 3999 (TTY_MAX_COLORS, DEFAULT_COLOR_IDX): New defines. 4000 (glyph): New members `back_color_idx' and `fore_color_idx'. 4001 (glyph::order): Add COLOR_CHANGE. 4002 (tty_printer): New members `cur_fore_idx', `curr_back_idx', 4003 `is_underline', `is_bold', `cu_flag', `tty_colors'. 4004 New methods `make_underline', `make_bold', `color_to_idx', 4005 `change_color', `put_color'. 4006 (cu_flag): Moved into `tty_printer' class. 4007 (tty_printer::tty_printer): Initialize colors. 4008 (tty_printer::add_char, tty_printer::set_char, tty_printer::special, 4009 tty_printer::draw, tty_printer::end_page): Handle colors also. 4010 (main): Add options `-c' and `-i'. 4011 (usage): Updated. 4012 * NEWS, src/devices/grotty/grotty.man: Updated. 4013 4014 * src/include/errarg.h (errarg): Add support for `unsigned int'. 4015 * src/libs/libgroff/errarg.c: Implement it. 4016 4017 * src/include/printer.h (printer): Add `change_color' method 4018 (currently used by grotty only). 4019 * src/libs/libdriver/printer.cc: Implement it. 4020 * src/libs/libdriver/input.cc (parse_D_command, do_file): Add 4021 call to `pr->change_color'. 4022 4023 * src/roff/troff/node.cc (troff_output_file::fill_color, 4024 troff_output_file::glyph_color): Call `do_motion'. 4025 4026 * tmac/tty.tmac: Add color definitions. 4027 4028 * src/roff/groff/groff.man: Minor fixes. 4029 40302002-02-05 Bernd Warken <bwarken@mayn.de> 4031 4032 * src/libs/libdriver/input.cc: Introduce `EnvInt' typedef and use 4033 it. This is a preparation for future changes. 4034 40352002-02-05 Werner LEMBERG <wl@gnu.org> 4036 4037 * src/roff/troff/input.cc (process_input_stack): Fix the case 4038 where leading spaces are followed by \f or \s; previously, an 4039 incorrect space width has been used. 4040 4041 * doc/roff.man (quoted_char): Fix argument. 4042 (comment): Define string. 4043 40442002-02-04 Larry Kollar <kollar@alltel.net> 4045 4046 * doc/groff.texinfo: More fixes. 4047 40482002-02-04 Werner LEMBERG <wl@gnu.org> 4049 4050 * src/preproc/eqn/box.cc (output_string): Don't use \\*[...]. 4051 * src/preproc/eqn/main.cc (do_file, inline_equation): Call 4052 `restore_compatibility' before `output_string' -- the LINE_STRING 4053 register now already contains proper switches from and to 4054 compatibility mode. 4055 4056 * man/groff_char.man: Add Euro symbol. 4057 * man/groff_diff.man: Improve documentation of `.am1' and `.as1'. 4058 * tmac/tty.tmac: Add `EUR' as replacement for `eu' and `Eu'. 4059 * doc/groff.texinfo (Defstr*): Print strings with full syntax. 4060 Other minor fixes. 4061 4062 * doc/Makefile (.SUFFIXES, .texinfo.pdf, clean): Add support for 4063 texinfo->pdf. 4064 (.texinfo.html): Add support for texinfo->html. 4065 40662002-02-03 Werner LEMBERG <wl@gnu.org> 4067 4068 Added three new requests `ds1', `as1', and `ami'. The former two 4069 are equivalent to `ds' and `as' with the difference that 4070 compatibility mode is saved on entry, switched off during string 4071 expansion, and restored on exit. The latter is the pendant to `dei' 4072 for `am'. 4073 4074 (do_define_string): Use `define_mode' and `calling mode'. 4075 Insert COMPATIBLE_SAVE and COMPATIBLE_RESTORE at the beginning and 4076 end of string, respectively. 4077 (define_string, append_string): Use `calling_mode'. 4078 (define_nocomp_string, append_nocomp_string, 4079 define_string_indirect): New functions. 4080 (init_input_requests): Updated. 4081 * NEWS, man/groff_diff.man, man/groff.man: Document it. 4082 4083 * src/preproc/eqn/box.cc (box::top_level, box::extra_space): Use 4084 `as1' for assigning LINE_STRING (this is `10' usually). Sun's 4085 mm macro package accesses this string register directly. 4086 * src/preproc/eqn/main.cc (inline_equation): Use `as1'. 4087 4088 * tmac/trace.tmac: Trace calls to `am' also. Make it work in 4089 compatibility mode. 4090 40912002-02-02 Larry Kollar <kollar@alltel.net> 4092 4093 * doc/groff.texinfo, tmac/groff_ms.man: More fixes. 4094 40952002-01-31 Werner LEMBERG <wl@gnu.org> 4096 4097 * tmac/an-old.tmac (I): Use \, and \/ to improve spacing. 4098 40992002-01-31 Bernd Warken <bwarken@mayn.de> 4100 4101 * src/devices/grolbp/lbp.cc (main): Delete `pr'. 4102 * man/groff_out.man: Revised and updated. 4103 41042002-01-30 Bernd Warken <bwarken@mayn.de> 4105 4106 * src/libs/libdriver/input.cc [USE_ENV_STACK]: New macro to comment 4107 out the unused `{' and `}' commands. Undefined by default. 4108 (IntArray): Make `data' private. 4109 (IntArray::operator[], IntArray::get_data, IntArray::len): Use these 4110 new methods instead. 4111 (skip_line_D, skip_to_end_of_line): New functions. 4112 (get_D_fixed_args): Use `skip_line_D'. 4113 Changed to handle dummy odd arguments by ... 4114 (get_D_fixed_args_odd_dummy): This new function. 4115 (get_D_variable_args): Split some code into ... 4116 (get_possibly_integer_args): This new function. 4117 (send_draw): Use more `const'. 4118 (delete_current_env): New function. 4119 (position_to_end_of_args): Use `size_t'. 4120 Updated. 4121 (send_draw): Updated. 4122 (parse_D_command): Handle `c', `C', and `t' better. 4123 Updated. 4124 (do_file): Updated. 4125 41262002-01-29 Werner LEMBERG <wl@gnu.org> 4127 4128 * NEWS: Revised. 4129 * doc/groff.texinfo: Introduce @Def...List, @Def...Item, and 4130 @Def...ListEnd which replaces @Def...x. This is necessary to get 4131 proper HTML output -- see the comment in the file for more 4132 information. 4133 Updated all calls. 4134 41352002-01-29 Gaius Mulley <gaius@glam.ac.uk> 4136 4137 Fixes to make color changes of 2002-01-21 work with grohtml. 4138 4139 * src/devices/grohtml/post-html.cc (style): Updated. 4140 (html_printer): Remove unused methods. 4141 (html_printer::do_font, html_printer::draw, html_printer::set_char, 4142 html_printer::special): Updated. 4143 * src/devices/grohtml/html-text.cc (debugStack, turnDebug, 4144 html_text::dump_stack_element, html_text::dump_stack) [DEBUGGING]: 4145 Added some debugging code. 4146 (html_text::start_tag): Updated. 4147 (html_text::do_push): New method. 4148 (html_text::push_para): Call it. 4149 Add method for handling color. 4150 (html_text::do_color): Updated. 4151 (html_text::shutdown): Handle color. 4152 * src/devices/grohtml/html-text.h (tag_definition): New member 4153 `col'. 4154 Updated. 4155 41562002-01-28 Werner LEMBERG <wl@gnu.org> 4157 4158 * tmac/ps.tmac, tmac/html.tmac: Fix compatibility mode issues. 4159 41602002-01-27 Gaius Mulley <gaius@glam.ac.uk> 4161 4162 Add two switches -a and -g to control the antialiasing bits for 4163 text and graphics, respectively. 4164 4165 * src/devices/grohtml/post-html.cc (main): Dummy code for `-a' and 4166 `-g'. 4167 * src/devices/grohtml/grohtml.man: Document them. 4168 * src/preproc/html/pre-html.cc (MIN_ALPHA_BITS, MAX_ALPHA_BITS): 4169 New macros. 4170 (textAlphaBits, graphicAlphaBits, antiAlias): New global variables. 4171 (setupAntiAlias): New function. 4172 (createAllPages): Updated. 4173 (scanArguments): Handle `-a' and `-g'. 4174 (main): Call `setupAntiAlias'. 4175 * NEWS: Updated. 4176 41772002-01-27 Werner LEMBERG <wl@gnu.org> 4178 4179 * doc/groff.texinfo (Def*): Call index function after deffn. 4180 4181 * tmac/html.tmac: Call `nroff' request. 4182 41832002-01-26 Larry Kollar <kollar@alltel.net> 4184 4185 * tmac/groff_ms.man: Add some omissions. 4186 41872002-01-25 Larry Kollar <kollar@alltel.net> 4188 4189 * tmac/groff_ms.man: Typographical improvements. 4190 41912002-01-25 Werner LEMBERG <wl@gnu.org> 4192 4193 * doc/groff.texinfo: Updated version and copyright. 4194 * src/devices/grops/grops.man: Updated. 4195 4196 * tmac/groff_tmac.man: Fix `ig' macro. 4197 4198 * tmac/an-old.tmac (ne): Redefine `ne' request to be a no-op in 4199 nroff mode. 4200 Use `.ne' unconditionally everywhere. 4201 (TS): Only insert some vertical space. Doing a page break is no 4202 longer necessary due to the redefinition of the `ne' request. 4203 4204 * src/libs/libdriver/input.cc (parse_D_command): Don't emit a 4205 warning for unknown subcommands but parse and pass them to the 4206 device driver. 4207 42082002-01-24 Werner LEMBERG <wl@gnu.org> 4209 4210 * tmac/groff_www.man, NEWS: Fix typos. 4211 42122002-01-21 Werner LEMBERG <wl@gnu.org> 4213 4214 Complete revision of color support: 4215 4216 Adapt programs to the new libdriver/input.cc. 4217 4218 Color spaces are no longer converted to RGB but transferred as-is 4219 in the troff intermediate output format. 4220 4221 Handle default color gracefully. troff now supports a `default' 4222 color (which can't be changed). 4223 4224 grops will now use the proper color space functions if available. 4225 4226 Update pic. 4227 4228 Note that currently grohtml doesn't handle colors properly. This 4229 has to be fixed. 4230 4231 * src/libs/libgroff/itoa.c (UINT_DIGITS): New macro. 4232 (ui_to_a): New function. 4233 * src/include/lib.h: Updated. 4234 4235 * src/include/color.h (color_scheme): Replace `NONE' with `DEFAULT'. 4236 (color): Simplified; removed all `double' members and methods. 4237 A new array `components' now holds the color parameters. 4238 (color::is_default, color::get_components): New methods. 4239 (color::operator==, color:operator!=): New. 4240 (Red, Green, Blue, Cyan, Magenta, Yellow, Black, Gray): New macros 4241 to make access to the `components' array more comprehensible. 4242 * src/libs/libgroff/color.cc: Implement new color support. 4243 (atoh): Small fixes. 4244 (color::read_encoding): Simplified for new troff intermediate color 4245 output format. 4246 (default_color): New global variable. 4247 4248 * src/roff/troff/input.cc (default_symbol): New global variable. 4249 (lookup_color): Use it. 4250 (default_black): Removed. 4251 (do_glyph_color, do_fill_color): Simplified. 4252 (define_color): Handle default color. 4253 Improve warnings. 4254 (do_if_request): Handle default color. 4255 * src/roff/troff/env.cc (environment::environment): Initialize 4256 colors with `default_color'. 4257 * src/roff/troff/node.cc (troff_output_file::put): Add method 4258 for `unsigned int'. 4259 (troff_output_file::hex): Removed. 4260 (troff_output_file::fill_color, troff_output_file::glyph_color): 4261 Updated to include/color.h and libdriver/input.cc. 4262 4263 * src/preproc/pic/object.cc (draw_arrow): New parameter to set 4264 fill color properly (identically to the outline color). \D'f...' 4265 doesn't work any more. 4266 All function calls to it updated. 4267 4268 * src/devices/grohtml/post-html.cc (html_printer::do_body, main): 4269 Updated. 4270 * src/devices/grohtml/html-text.cc (html_text::issue_color_begin): 4271 Updated. 4272 4273 * src/devices/grops/ps.cc (ps_output::put_color): New method. 4274 (ps_printer::sbuf_color): Make a real member instead of pointer. 4275 (ps_printer::fill_color, ps_printer::output_color): Removed. 4276 (ps_printer::ps_printer): Updated. 4277 (ps_printer::set_char): Ditto. 4278 (ps_printer::set_color): Use various color schemes. 4279 Use `put_color' method. 4280 (ps_printer::flush_sbuf): Don't set color. 4281 (ps_printer::fill_path): Take `environment' as parameter. 4282 Simplify color handling. 4283 (ps_printer::set_line_thickness): Renamed to ... 4284 (ps_printer::set_line_thickness_and_color): This (and updated). 4285 (ps_printer::set_color): Change second parameter from `complete' 4286 to `fill' which better describes what it does. 4287 (ps_printer::draw): Call `flush_sbuf' to output graphic commands 4288 and text in the right order. 4289 Updated. 4290 Remove branches for `f' and `F'; this is handled by 4291 libdriver/input.cc. 4292 * src/devices/grops/ps.h: Updated. 4293 * font/devps/prologue (FL): Redefined. 4294 ({F,C}r,k,g: New color functions (with and without filling). 4295 4296 * doc/pic.ms, src/preproc/pic/pic.man: Small fixes. 4297 * man/groff_diff.man, man/groff.man, man/groff_out.man, 4298 doc/groff.texinfo, NEWS: Updated. 4299 43002002-01-20 Bernd Warken <bwarken@mayn.de> 4301 4302 * src/libs/libdriver/input.cc: Completely rewritten. See comments 4303 in this file for what has been changed. 4304 43052002-01-19 Werner LEMBERG <wl@gnu.org> 4306 4307 * test-groff: Fix GROFF_FONT_PATH. 4308 * tmac/andoc.tmac: Add dummy macros for equation support -- eqnrc 4309 is read before .TH or .Dd is parsed. 4310 43112002-01-18 Gaius Mulley <gaius@glam.ac.uk> 4312 4313 * src/libs/libgroff/geometry.cc (check_output_arc_limits): Fix 4314 quadrant boundaries. 4315 43162002-01-18 Werner LEMBERG <wl@gnu.org> 4317 4318 * devices/grops/ps.cc: Aargh! Fix the fix of the incorrectly 4319 applied last patch. 4320 43212002-01-17 Ruslan Ermilov <ru@FreeBSD.org> 4322 4323 * tmac/doc.common: Initialize %I register for the %I macro to 4324 avoid (harmless) warning. 4325 * tmac/doc.tmac (Bd): There is no reason to enforce -compact 4326 when in the SYNOPSIS section. 4327 43282002-01-17 Bruno Haible <haible@clisp.cons.org> 4329 4330 * src/preproc/pic/lex.cc (get_token): Fix typo. 4331 43322002-01-17 Werner LEMBERG <wl@gnu.org> 4333 4334 * devices/grops/ps.cc: Fix incorrectly applied last patch. 4335 43362002-01-17 Larry Kollar <kollar@alltel.net> 4337 4338 * tmac/groff_ms.man: Completely rewritten. 4339 43402002-01-16 Werner LEMBERG <wl@gnu.org> 4341 4342 * tmac/an-old.tmac (TS): Force break, inserting some vertical space. 4343 43442002-01-15 Gaius Mulley <gaius@glam.ac.uk> 4345 4346 * devices/grops/ps.cc (ps_printer::fill_path): Fix handling of 4347 fill colors. 4348 (ps_printer::draw): Ditto. 4349 43502002-01-14 Ruslan Ermilov <ru@FreeBSD.org> 4351 4352 * tmac/groff_mdoc.man: Minor fixes. 4353 43542002-01-13 Werner LEMBERG <wl@gnu.org> 4355 4356 * man/groff_out.man: Some fixes. 4357 43582002-01-13 Gaius Mulley <gaius@glam.ac.uk> 4359 4360 * doc/pic.ms: Fix typos. 4361 43622002-01-12 Werner LEMBERG <wl@gnu.org> 4363 4364 * doc/groff.texinfo, doc/groff.man: More on a printable backslash. 4365 43662002-01-10 Werner LEMBERG <wl@gnu.org> 4367 4368 * font/devutf8/R.proto, font/devhtml/R.prot: Add `Eu' and `eu' 4369 symbols. 4370 * NEWS: Updated. 4371 43722002-01-09 Bernd Warken <bwarken@mayn.de> 4373 4374 * man/groff_out.man: Revised. 4375 * man/roff.man: Minor fixes. 4376 * src/roff/troff/troff.man: Some reordering. 4377 43782002-01-09 Werner LEMBERG <wl@gnu.org> 4379 4380 * tmac/an-old.tmac: Add dummy macros for equation support. 4381 43822002-01-07 Werner LEMBERG <wl@gnu.org> 4383 4384 doc/groff.texinfo: Fix documentation of glyph searching algorithm. 4385 4386 * tmac/an-old.tmac: Revert change 2001-12-23. This breaks too many 4387 man pages. 4388 * tmac/groff_man.man: Small improvements. 4389 43902002-01-07 Bernd Warken <bwarken@mayn.de> 4391 4392 * man/groff_diff.man: Revised. 4393 43942002-01-06 Werner LEMBERG <wl@gnu.org> 4395 4396 * tmac/www.tmac: Remove extraneous backslash. 4397 43982002-01-06 Bernd Warken <bwarken@mayn.de> 4399 4400 * man/ditroff.man, src/roff/groff/groff.man, man/groff.man: Revised. 4401 44022002-01-05 Werner LEMBERG <wl@gnu.org> 4403 4404 Integrated groffer, contributed by Bernd Warken. 4405 4406 * contrib/groffer/*: New. 4407 * Makefile.in, NEWS: Updated. 4408 44092002-01-04 Werner LEMBERG <wl@gnu.org> 4410 4411 * doc/groff.texinfo: Added macros `@Defmpreg' and `@Defmpregx' for 4412 registers defined in macro packages. 4413 Revising the ms part. 4414 44152002-01-04 Larry Kollar <kollar@alltel.net> 4416 4417 * doc/groff.texinfo: Add documentation for ms macros. 4418 44192002-01-02 Werner LEMBERG <wl@gnu.org> 4420 4421 First step in adding PS support for the Euro symbol. `eu' is the 4422 official Euro logo, `Eu' is a font-specific glyph variant. 4423 4424 * font/devps/text.enc: Add `Euro' at position 9. 4425 * font/devps/generate/textmap: Add `Euro' as symbol `Eu'. 4426 * font/devps/symbolmap: Regenerated. 4427 4428 * NEWS: Updated. 4429 44302002-01-02 Bernd Warken <bwarken@mayn.de> 4431 4432 * man/roff.man: Revised. 4433 44342002-01-01 Bernd Warken <bwarken@mayn.de> 4435 4436 * src/roff/groff/groff.man: Completely rewritten. 4437 44382001-12-31 Werner LEMBERG <wl@gnu.org> 4439 4440 * doc/Makefile: Updated. 4441 44422001-12-30 Werner LEMBERG <wl@gnu.org> 4443 4444 * tmac/www.tmac: Make all names of internal macros/registers/strings 4445 lowercase, and prepend `www-'. 4446 Other minor changes. 4447 * src/roff/troff/troff.man: Add preprocessor string at BOF. 4448 44492001-12-30 Gaius Mulley <gaius@glam.ac.uk> 4450 4451 Implement option `-b' in grohtml to set the HTML background colour. 4452 4453 * src/devices/grohtml/post-html.cc (default_background): New global 4454 variable. 4455 (html_printer::html_printer): Initialize `background' to 4456 `default_background'. 4457 (main): Implement option `-b'. 4458 (usage): Updated. 4459 * src/preproc/html/pre-html.cc (scanArguments): Add dummy handling 4460 of `-b' option. 4461 * src/devices/grohtml/grohtml.man: Updated. 4462 * doc/Makefile (.ms.html): Use `-b'. 4463 * tmac/html.tmac: Don't set background color. 4464 4465 Add new grohtml tag `.html-tl'. 4466 4467 * src/devices/grohtml/post-html.cc (title_desc): Add `with_h1' 4468 member variable. 4469 (title_desc::title_desc): Updated. 4470 (html_printer::troff_tag): Handle `.html-tl'. 4471 (html_printer::write_title): Use `with_h1'. 4472 * tmac/www.tmac (www-end-nowhere): New auxiliary macro. 4473 (HTML-TL): New macro. 4474 4475 Add support for unordered lists in HTML. 4476 4477 * tmac/www.tmac (www-level): New auxiliary register. 4478 (www-level1, www-level2, www-level3): New auxiliary strings. 4479 (www-push-level, www-pop-level): New auxiliary macros 4480 (UL-BEGIN, UL-END, LI): User macros for unordered lists. 4481 4482 Miscellaneous. 4483 4484 * src/preproc/html/pre-html.cc (DEFAULT_IMAGE_RES): Increase to 100. 4485 (DEFAULT_VERTICAL_OFFSET): Removed. 4486 (IMAGE_BOARDER_PIXELS): Set to 0. 4487 (A4_LENGTH, A4_OFFSET, LETTER_LENGTH, LETTER_OFFSET): New macros. 4488 (vertical_offset): Initialize with 0. 4489 (gsPaper): New global variable. 4490 (get_resolution): Scan for and return unsigned int. 4491 (get_papersize): New function to get paper length from devps/DESC. 4492 (determine_vertical_offset): New function. 4493 (createAllPages): Produce gray-level images and use proper page 4494 length. 4495 (createImage): Use `-quiet' option of pnmcrop. 4496 (addZ): Fix passing of `-Z'. 4497 (scanArguments): Fix handling of `-o'. 4498 (main): Call `determine_vertical_offset'. 4499 * src/devices/grohtml/post-html.cc (html_printer::draw): Comment out 4500 code for `l'. 4501 4502 * src/libs/libgroff/tmpfile.cc (add_tmp_file): Fix buffer length. 4503 * src/roff/troff/node.cc (troff_output_file::check_charinfo): Handle 4504 glyph descenders properly. 4505 4506 * doc/homepage.ms: Include `gnubw.eps'. 4507 * doc/Makefile (gnubw.eps): New rule. 4508 (homepage.html): Depend on `gnubw.eps'. 4509 45102001-12-25 Werner LEMBERG <wl@gnu.org> 4511 4512 * src/roff/troff/input.cc (default_black): Fix return value. 4513 45142001-12-24 Ruslan Ermilov <ru@FreeBSD.org> 4515 4516 * tmac/doc-common (Dt): Change output of architecture strings. 4517 Do some syntax cleanup. 4518 * tmac/groff_mdoc.man: Updated. 4519 45202001-12-23 Werner LEMBERG <wl@gnu.org> 4521 4522 Adding an `itc' request (input line trap accepting \c). 4523 4524 * src/roff/troff/env.h (environment): New member 4525 `continued_input_trap'. 4526 Make `do_input_trap' a friend function instead of `input_trap'. 4527 * src/roff/troff/env.cc (environment::environment, 4528 environment::copy): Updated. 4529 (environment::newline): Implement it. 4530 (do_input_trap): New function. 4531 (input_trap): Call `do_input_trap'. 4532 (input_trap_continued): New function. 4533 (init_env_requests): Updated. 4534 * src/roff/troff/TODO: Updated. 4535 4536 * tmac/an-old.tmac (SH, SS, B, I, SM, SB, TP): Use `.itc' instead of 4537 `.it'. 4538 4539 * src/preproc/grn/hdb.cc (DBRead): Really chop after 127 characters. 4540 45412001-12-22 Ruslan Ermilov <ru@FreeBSD.org> 4542 4543 * tmac/doc-common, tmac/doc-syms: Small updates. 4544 45452001-12-22 Colin Watson <cjwatson@debian.org> 4546 4547 * tmac/an-old.tmac (an-p-footer): Set title length in environment 1. 4548 45492001-12-22 Bernd Warken <bwarken@mayn.de> 4550 4551 * MANIFEST: New file. 4552 45532001-12-22 Werner LEMBERG <wl@gnu.org> 4554 4555 * src/preproc/grn/grn.man: Updated. 4556 45572001-12-22 Solar Designer <solar@openwall.com> 4558 4559 * src/preproc/grn/hdb.cc (MAXSTRING_S): New macro. 4560 (DBRead): Use it. 4561 45622001-12-19 Werner LEMBERG <wl@gnu.org> 4563 4564 Implement a fallback character request `.fchar'. 4565 4566 * src/roff/troff/charinfo.h (charinfo): New flag `fallback'. 4567 (is_fallback): New inline function. 4568 * src/roff/troff/input.cc (do_define_character): New function. 4569 (define_character): Call `do_define_character'. 4570 (define_fallback_character): New function. 4571 (init_input_requests): Add `fchar'. 4572 (charinfo::charinfo): Updated. 4573 (charinfo::set_macro): New argument to set `fallback' flag. 4574 * src/roff/troff/node.cc (make_glyph_node, make_node, 4575 node::add_char): Check `fallback' flag. 4576 * NEWS, man/groff_diff.man, man/groff_man: Updated. 4577 45782001-12-16 Werner LEMBERG <wl@gnu.org> 4579 4580 * groff.texinfo: Document exact search algorithm for glyphs. 4581 45822001-12-15 Werner LEMBERG <wl@gnu.org> 4583 4584 * Makefile.cpg, Makefile.ccpg, Makefile.man: Add dummy file to 4585 the left side of $(MANPAGES) rule to make it always non-empty. 4586 45872001-12-14 Werner LEMBERG <wl@gnu.org> 4588 4589 * src/roff/troff/input.cc (default_black): Define default color 4590 `black' if not yet defined. 4591 45922001-12-13 Werner LEMBERG <wl@gnu.org> 4593 4594 Implement new string-valued register `.fn' to return the current 4595 real (internal) font name. 4596 4597 * env.cc (environment::get_font_name_string): New function. 4598 (init_env_requests): Add `.fn' register. 4599 * env.h (environment): Updated. 4600 * node.cc (font_info): Make `get_font_name' a friend. 4601 (get_font_name): New function. 4602 * node.h: Updated. 4603 4604 * man/groff_diff.man, man/groff.man, NEWS: Updated. 4605 46062001-12-12 Ralph Corderoy <ralph@inputplus.demon.co.uk> 4607 4608 * src/preproc/eqn/main.cc (inline_equation): Fix typos. 4609 46102001-12-12 Werner LEMBERG <wl@gnu.org> 4611 4612 * tmac/groff_man.man, doc/groff.texinfo: There is no .R macro. 4613 46142001-12-10 Gaius Mulley <gaius@glam.ac.uk> 4615 4616 * man/groff_diff.man: Adding documentation for \O. 4617 46182001-12-10 Werner LEMBERG <wl@gnu.org> 4619 4620 * src/preproc/html/pre-html.cc (TROFF_COMMAND): Removed. 4621 (scanArguments): Use PROG_PREFIX for the name of the troff binary. 4622 46232001-12-09 Werner LEMBERG <wl@gnu.org> 4624 4625 * man/roff.man: Revised. 4626 * src/roff/groff/groff.man: Replace man page references with a 4627 pointer to roff.man. 4628 46292001-12-09 Bernd Warken <bwarken@mayn.de> 4630 4631 * man/roff.man: Completely rewritten. 4632 46332001-12-06 Ralph Corderoy <ralph@inputplus.demon.co.uk> 4634 4635 * src/preproc/eqn/main.cc (inline_equation): Improve error message. 4636 46372001-12-05 Werner LEMBERG <wl@gnu.org> 4638 4639 * src/roff/troff/input.cc (get_delim_file_name): Removed since no 4640 longer used. 4641 * src/devices/grohtml/post-html.cc (html_printer::html_printer): Fix 4642 order of initializers. 4643 * NEWS: Updated. 4644 46452001-12-05 Gaius Mulley <gaius@glam.ac.uk> 4646 4647 * doc/groff.texinfo: Fix documentation of \O. 4648 4649 * src/devices/grohtml/html-text.cc (html_text::do_indent, 4650 html_text::do_table, html_text::do_emittext, html_text::do_para): 4651 Use `const' for first argument. 4652 (html_text::do_table): Use cast. 4653 * src/devices/grohtml/html-text.h: Updated. 4654 * src/devices/grohtml/output.cc (simple_output::put_string): Add 4655 method for `const string &s'. 4656 * src/devices/grohtml/html.h: Updated. 4657 * src/devices/grohtml/post-html.cc (MAX_STRING_LENGTH): Removed. 4658 (ANCHOR_TEMPLATE): Modified. 4659 (manufacture_headings): New global variable to handle `-h' option. 4660 (is_subsection): Removed. 4661 (char_buffer::add_string): Add `const' to first argument. 4662 Protect against invalid string argument. 4663 Add method for `const string &s'. 4664 (text_glob): Completely redesigned. 4665 (page): Use `const' for strings and remove string length variable. 4666 (page::add_html): Removed. 4667 (page::add_end_encode): New member function. 4668 (to_unicode): Moved upwards. 4669 (title_desc, header_desc): Updated. 4670 (header_desc::write_headings): Updated to new ANCHOR_TEMPLATE 4671 definition. 4672 (html_printer::is_bold, html_printer::make_bold): New member 4673 functions. 4674 (html_printer::end_of_line): Updated. 4675 (generate_img_src, html_printer::do_auto_image, 4676 html_printer::do_title, html_printer::write_header, 4677 html_printer::determine_header_level, html_printer::do_heading, 4678 html_printer::do_linelength, html_printer::do_pageoffset, 4679 html_printer::do_indentation, html_printer::do_tempindent, 4680 html_printer::do_indentedparagraph, html_printer::do_break, 4681 html_printer::flush_sbuf, get_html_translation, 4682 html_printer::begin_page, html_printer::special): Rewritten to get 4683 rid of static string length limit. 4684 (html_printer::troff_tag): Added `.no-auto-rule'. 4685 (html_printer::flush_globs): Small fix. 4686 (html_printer::determine_space): Don't compute `space_width'. 4687 (html_printer::translate_to_html): Renamed to ... 4688 (html_printer::emit_html): This (with updates). 4689 (html_printer::write_header): Implement `-h' option. 4690 (html_printer::draw): Remove commented-out code. Handle `F' 4691 command. 4692 (html_printer::add_char_to_sbuf): Removed. 4693 (html_printer::add_to_sbuf): Rewritten. 4694 (html_printer::sbuf_continuation): Fixed. 4695 (html_printer::seen_backwards_escape, reverse, 4696 html_printer::remove_last_char_from_sbuf): Removed. 4697 (char_translate_to_html, str_translate_to_html): Removed. 4698 (html_printer::overstrike): New function member. 4699 (html_printer::set_char): Use it. 4700 (html_printer::do_body): New function member. 4701 (html_printer::~html_printer): Use it. 4702 (main): Handle `-h' option. 4703 (usage): Updated. 4704 * src/devices/grohtml/grohtml.man: Document -h switch. 4705 4706 * src/preproc/html/pre-html.cc: Include searchpath.h 4707 Replace `POSTSCRIPTRES' macro with `postscriptRes' variable. 4708 (get_resolution): New function. 4709 (checkImageDir): Use `0777' permissions in mkdir() 4710 (write_start_image): Rewritten to use `\O[5...]'. 4711 (createImage, generateImages): Updated. 4712 (main): Handle `F' and `h' options. 4713 Use `get_resolution'. 4714 4715 * src/roff/troff/input.cc (begin, end, image): Removed. 4716 (do_suppress): Take parameter. 4717 Handle modified syntax of `\O'. 4718 (token::next): Updated. 4719 (init_markup_requests): Removed. 4720 (main): Updated. 4721 4722 * src/roff/troff/div.h: Add declaration for begin_page(). 4723 4724 * tmac/color-html.tmac: Removed. Contents moved to... 4725 * tmac/html.tmac: Here. Set background color. 4726 * tmac/color.tmac: Removed. Contents moved to... 4727 * tmac/ps.tmac: Here. 4728 * tmac/www.tmac: Remove the title command when generating images 4729 for html. 4730 (NO_AUTO_RULE): New macro. 4731 (HTML_DO_IMAGE): Use revised `\O' escapes. 4732 * tmac/Makefile.sub, tmac/groff_www.man, tmac/troffrc: Updated. 4733 47342001-12-02 Werner LEMBERG <wl@gnu.org> 4735 4736 * tmac/groff_mdoc.man: Fix typo. 4737 47382001-12-01 Colin Watson <cjwatson@debian.org> 4739 4740 * man/roff.man: Fix typo. 4741 47422001-11-29 Werner LEMBERG <wl@gnu.org> 4743 4744 * src/libs/libbib/map.c, src/utils/pfbtops/pfbtops.c: Include 4745 stdlib.h. 4746 4747 * src/roff/troff/input.cc (read_draw_node): Emit error message if 4748 more than one argument to \D'f ...'. 4749 4750 * tmac/Makefile.sub (NORMALFILES): Add lbp.tmac. 4751 47522001-11-28 Werner LEMBERG <wl@gnu.org> 4753 4754 * tmac/an-old.tmac, tmac/doc.tmac: Assure that the macro package is 4755 loaded only once. 4756 4757 * tmac/groff_man.man: Minor cosmetic fix. 4758 47592001-11-27 Werner LEMBERG <wl@gnu.org> 4760 4761 * src/roff/groff/groff.man, tmac/groff_tmac.man, 4762 tmac/groff_www.man: s/mwww/www/. 4763 47642001-11-26 Werner LEMBERG <wl@gnu.org> 4765 4766 * aclocal.m4 (GROFF_MKSTEMP): Implement test using C++ linkage. 4767 * configure: Regenerated. 4768 * win32-diffs: Updated. 4769 4770 * tmac/groff_mwww.tmac: Renamed to ... 4771 * tmac/groff_www.tmac: This. 4772 * tmac/mwww.tmac: Removed. 4773 * NEWS, tmac/Makefile.sub: Updated. 4774 47752001-11-21 Werner LEMBERG <wl@gnu.org> 4776 4777 * doc/groff.texinfo: Improve documentation of the `\v' escape. 4778 Fix explanation of `\D' and `rt'. 4779 47802001-11-20 Werner LEMBERG <wl@gnu.org> 4781 4782 * tmac/an-old.tmac (an-header): Set header length equal to page 4783 width. 4784 * doc/groff.texinfo: Improve documentation of `ne' request. Other 4785 minor fixes. 4786 * NEWS: Small fix. 4787 47882001-11-19 Werner LEMBERG <wl@gnu.org> 4789 4790 * NEWS, man/Makefile.sub: Updated. 4791 47922001-11-19 Bernd Warken <bwarken@mayn.de> 4793 4794 * man/ditroff.man: New file. 4795 47962001-11-17 Werner LEMBERG <wl@gnu.org> 4797 4798 * man/groff_differences.man: Renamed to ... 4799 * man/groff_diff.man: This. Updated. 4800 * man/Makefile.sub, src/roff/troff/troff.man, NEWS: Updated. 4801 4802 * src/preproc/html/pushbackbuffer.cc: Renamed to ... 4803 * src/preproc/html/pushback.cc: This. Updated. 4804 * src/preproc/html/pushbackbuffer.h: Renamed to ... 4805 * src/preproc/html/pushback.h: This. 4806 * src/preproc/html/Makefile.sub, src/preproc/html/pre-html.cc: 4807 Updated. 4808 4809 * src/libs/libgroff/htmlindicate.cc: Renamed to ... 4810 * src/libs/libgroff/htmlhint.cc: This. 4811 * src/libs/libgroff/Makefile.sub: Updated. 4812 4813 * tmac/an-old.tmac (an-end): Fix page length. 4814 48152001-11-16 Werner LEMBERG <wl@gnu.org> 4816 4817 * NEWS, man/groff_differences.man, doc/groff.texinfo: Updated. 4818 * man/Makefile.sub: Include groff_differences.man. 4819 * VERSION: Set to 1.18. 4820 * REVISION: Set to 0. 4821 48222001-11-16 Bernd Warken <bwarken@mayn.de> 4823 4824 * src/roff/troff/input.cc (do_define_macro): Allow whitespace before 4825 the second dot (or ending macro name) to end a macro. 4826 * doc/groff.texinfo: Doc fix. 4827 48282001-11-16 Ruslan Ermilov <ru@FreeBSD.org> 4829 4830 * tmac/doc-common (doc-header): Handle very long document titles 4831 better. 4832 48332001-11-16 Werner LEMBERG <wl@gnu.org> 4834 4835 * tmac/doc.tmac (doc-do-Bl-args): Fix .substring requests. 4836 48372001-11-15 Werner LEMBERG <wl@gnu.org> 4838 4839 * src/roff/troff/troff.man: Revised and split into troff.man and... 4840 * man/groff_differences.man: New file. 4841 * NEWS: Updated. 4842 48432001-11-13 Werner LEMBERG <wl@gnu.org> 4844 4845 * tmac/an-old.tmac (TS, TE): New macros for table support. 4846 48472001-11-12 Werner LEMBERG <wl@gnu.org> 4848 4849 * src/include/lib.h: Provide a fix for emx to not include 4850 groff-getopt.h. 4851 48522001-10-27 Werner LEMBERG <wl@gnu.org> 4853 4854 * src/roff/troff/input.cc (substring_macro): Fix computation of 4855 boundary values. 4856 48572001-10-20 Werner LEMBERG <wl@gnu.org> 4858 4859 Undo change from 2001-08-28. 4860 4861 * src/roff/troff/input.cc (have_input): New global variable. 4862 (token::next): Set `have_input' for \f, \H, \R, \s, and \S if not 4863 in compatibility mode. 4864 (process_input_stack): Use it. 4865 48662001-10-19 Ruslan Ermilov <ru@FreeBSD.org> 4867 4868 * tmac/doc.tmac (doc-flag-recursion): Protect arguments against 4869 being handled as end-of-sentence characters, 4870 48712001-10-10 Gaius Mulley <gaius@glam.ac.uk> 4872 4873 * src/roff/troff/input.cc (file_iterator): New members 4874 `suppress_newline_flag' and `seen_escape'. 4875 (file_iterator::next_file): Updated. 4876 (file_iterator::fill): Use it. 4877 (string_iterator): New member `suppress_newline_flag'. 4878 (string_iterator::fill): Set it. 4879 (get_color_element): Use MAX_COLOR_VAL. 4880 * src/roff/troff/env.cc (environment): Remove `need_eol'. 4881 (no_fill): Don't set `env->ignore_next_eol'. 4882 (environment::newline): Handle `eol' tag properly. 4883 Emit `eol.ce'. 4884 (environment::add_html_tag): Set `env->ignore_next_eol'. 4885 Don't handle `.ce'. 4886 * src/roff/troff/env.h (environment): Updated. 4887 4888 * src/devices/grohtml/post-html.cc (text_glob::is_eol_ce): New 4889 member function. 4890 (html_printer::outstanding_eol): New member function. 4891 (html_printer::do_title): Use new functions. 4892 (html_printer::troff_tag): Test `id_eol_ce'. 4893 48942001-10-10 Werner LEMBERG <wl@gnu.org> 4895 4896 * tmac/color.tmac, tmac/color-html.tmac: Use `.do' to make those 4897 files work with -C also. 4898 48992001-10-05 Werner LEMBERG <wl@gnu.org> 4900 4901 * doc/pic.ms: Minor fix. 4902 * src/preproc/html/pre-html.cc (scanArguments): Don't handle `-?' 4903 as a valid command line switch. 4904 * src/devices/grohtml/post-html.cc (main): Ditto. 4905 (usage): Updated. 4906 * src/devices/grohtml/grohtml.man: Updated. 4907 * src/roff/groff/groff.cc (main): Pass `-v' to predriver also. 4908 49092001-10-04 Werner LEMBERG <wl@gnu.org> 4910 4911 Implementing color support in troff, pic, grops, and grohtml. These 4912 changes are based on a major patch provided by Gaius Mulley 4913 <gaius@glam.ac.uk>. 4914 4915 New request: `defcolor', supporting rgb, cmy, cmyk, and gray 4916 definitions with both hex values and fractions. 4917 4918 New escapes: \m and \M for drawing and background color, 4919 respectively. This corresponds to the troff output commands `m' 4920 and `DF'. 4921 4922 groff and troff accept command line switch `-c' to disable color 4923 output (which is automatically disabled in compatibility mode). 4924 4925 New scaling indicator `f' for fractions (1f = 65536u). 4926 4927 New conditional operator `m' to test for defined colors with `if' 4928 and `ie'. 4929 4930 New keywords `color' (or `colour', `colored', `coloured'), `outline' 4931 (or `outlined'), and `shaded' added to pic. 4932 4933 * src/include/color.h: New file. 4934 * src/include/driver.h: Include it. 4935 * src/include/printer.h: Include color.h. 4936 (environment): New members `col' and `fill'. 4937 (printer): Remove `adjust_arc_center' member function. 4938 * src/include/Makefile.sub: Updated. 4939 4940 * src/libs/libdriver/input.cc (do_file): Initialize `env.col' and 4941 `env.fill'. 4942 Handle `m' and `DF' troff commands. 4943 * src/libs/libgroff/color.cc: New file. 4944 * src/libs/libgroff/Makefile.sub: Updated. 4945 4946 * src/preproc/html/pre-html.cc (IMAGE_BORDER_PIXELS): Set to 2. 4947 (stop): Removed. 4948 (createImage): Fix computation of `y2'. 4949 Use `pnmcrop' also. 4950 (buffer::write_file_html): Remove calls to `stop'. 4951 4952 * src/preproc/pic/common.h (common_output): New abstract function 4953 members `set_color', `reset_color', `get_last_filled', and 4954 `get_outline_color'. 4955 * src/preproc/pic/object.h: Add `IS_SHADED' and `IS_OUTLINED'. 4956 (object_spec): Add members `shaded' and `outlined'. 4957 * src/preproc/pic/output.h (output): `command' is now abstract. 4958 New function members `set_color', `reset_color', `get_last_filled', 4959 and `get_outline_color'. 4960 * src/preproc/pic/lex.cc (lookup_keyword): Recognize `colo[u]r[ed]', 4961 `outline[d]', and `shaded'. 4962 * src/preproc/pic/object.cc (output::command): Removed. 4963 (output::set_location): Moved to output.h. 4964 (graphic_object): Add protected members `outline_color' and 4965 `color_fill'. 4966 Add member functions `set_outline_color', `get_outline_color', and 4967 `set_fill_color'. 4968 (closed_object): Add member function `set_fill_color'. 4969 Add member `color_fill'. 4970 (graphic_object::print_text): Use `out->set_color' and 4971 `out->reset_color'. 4972 (box_object::print, ellipse_object::print, circle_object::print, 4973 line_object::print, spline_object::print, arc_object::print): Ditto. 4974 (object_spec::make_object): Implement `IS_OUTLINED' and `IS_SHADED'. 4975 * src/preproc/pic/pic.y: Add tokens `COLORED', `OUTLINED', and 4976 `SHADED', making them `%left'. 4977 Add rules `object_spec [SHADED|COLORED|OUTLINED] text'. 4978 * src/preproc/pic/tex.cc (tex_output): New dummy function members 4979 `set_color', `reset_color', `get_last_filled', and 4980 `get_outline_color'. 4981 * src/preproc/pic/troff.cc (simple_output): New abstract function 4982 members `set_color', `reset_color', and `get_last_filled'. 4983 (simple_output::polygon, simple_output::circle, 4984 simple_output::ellipse): Use `get_last_filled'. 4985 (troff_output): New members `last_filled' and `last_outlined'. 4986 New function members `set_color', `reset_color', `get_last_filled', 4987 and `get_outline_color'. 4988 (troff_output::finish_picture): Use `reset_color'. 4989 (troff_output::set_fill): Test `last_filled'. 4990 * src/preproc/pic/pic.man: Updated. 4991 4992 * src/roff/groff/groff.cc (main): Implement `-c' option. 4993 (synopsis, help): Updated. 4994 src/roff/groff/groff.man: Updated. 4995 4996 * src/roff/troff/troff.h: Include color.h. 4997 (warning_type): Add WARN_COLOR. 4998 * src/roff/troff/env.h (environment): New members 4999 `{cur,prev}_{glyph,fill}_color'. 5000 New member functions `get_{prev_,}{glyph,fill}_color'. 5001 * src/roff/troff/env.cc: Initialize and implement them. 5002 * src/roff/troff/input.cc: New global variable `disable_color_flag'. 5003 Replace `NULL' with `0' everywhere for consistency. 5004 (lookup_color, default_black, do_glyph_color, do_fill_color, 5005 get_color_element, read_rgb, read_cmy, read_cmyk, read_gray, 5006 define_color): New functions. 5007 (token::next): Implement \M and \m escapes. 5008 (do_if_request): Implement `m' operator. 5009 (usage): Updated. 5010 (main): Implement `-c' option. 5011 (init_markup_requests): Add `defcolor' request. 5012 (warning_table): Add `color' warning. 5013 * src/roff/troff/node.h (glyph_color_node, fill_color_node): New 5014 classes. 5015 * src/roff/troff/node.cc (troff_output_file): New members 5016 `current_{page,glyph}color'. New member functions `put_hex', 5017 `glyph_color', and `fill_color'. 5018 (glyph_color_node::*, fill_color_node::*): Implement it. 5019 * src/roff/troff/number.cc (SCALE_INDICATOR_CHARS): Add `f'. 5020 (parse_term): Add support for `f'. 5021 * src/roff/troff/troff.man: Updated. 5022 5023 * src/devices/grodvi/dvi.cc (draw_dvi_printer::draw): Add dummy 5024 entry for `F'. 5025 * src/devices/grolbp/lbp.cc (lbp_printer::draw): Ditto. 5026 * src/devices/grolj4/lj4.cc (lj4_printer::draw): Ditto. 5027 5028 * src/devices/grohtml/html-text.h (HTML_TAG): Add COLOR_TAG. 5029 (tag_definition): Use `void *' for arg1. 5030 (html_text): New member functions `do_color' and `done_color'. 5031 Use `void *' for second parameter of `push_para' member function. 5032 New `push_para' member function with a single parameter. 5033 Use `char *' for parameter of `issue_table_begin' member funtion. 5034 New `issue_color_begin' member function. 5035 * src/devices/grohtml/html-text.cc (html_text::end_tag): Handle 5036 COLOR_TAG. 5037 (html_text::issue_color_begin): New function. 5038 (html_text::issue_table_begin): Use `char *' for parameter. 5039 (html_text::start_tag, html_text::shutdown, 5040 html_text::check_emit_text): Updated. 5041 (html_text::push_para): Use `void *' for second parameter. 5042 Add same function with only one parameter. 5043 (html_text::do_*): Updated. 5044 (html_text::do_color, html_text::done_color): New functions. 5045 * src/devices/grohtml/post-html.cc (style): New member `col'. 5046 Mew member `style' with 6 parameters. 5047 (style::style, style::operator==): Updated. 5048 (html_printer::do_font): Use it. 5049 (html_printer::draw): Add dummy entry for `F'. 5050 (html_printer::set_char): Updated. 5051 * src/devices/grohtml/grohtml.man: Updated. 5052 5053 * src/devices/grops/ps.cc (ps_output::put_float): Use `%g' to have 5054 trailing zeroes removed. 5055 (ps_printer): New members `sbuf_color', `fill_color', and 5056 `output_color'. 5057 Removed member `fill'. 5058 New member function `set_color'. 5059 (ps_printer::ps_printer, ps_printer::set_char): Updated. 5060 (ps_printer::flush_sbuf, ps_printer::set_line_thickness, 5061 ps_printer::fill_path, ps_printer::draw): Use `set_color'. 5062 5063 * tmac/color-html.tmac, tmac/color.tmac: New files. 5064 * tmac/troffrc: Include them. 5065 * tmac/www.tmac (URL, FTP, MAILTO): Use blue color. 5066 * tmac/Makefile.sub: Updated. 5067 5068 * NEWS, doc/groff.texinfo, doc/pic.ms, man/groff_out.man, 5069 man/groff.man: Updated. 5070 * font/devps/prologue.ps: Define FC and CO functions. 5071 50722001-10-04 Gaius Mulley <gaius@glam.ac.uk> 5073 5074 Fix incorrect cropping of images and incorrect handling of special 5075 characters. Fix handling of file names in \O. 5076 5077 * src/include/geometry.h: New file. 5078 * src/libs/libgroff/geometry.cc: New file. 5079 * src/libs/libdriver/printer.cc (printer::adjust_arc_center): Moved 5080 to `geometry.cc'. 5081 * src/roff/troff/input.cc (get_delim_file_name): Fixed problem with 5082 initial spaces. 5083 (do_suppress): Updated. 5084 * src/roff/troff/node.cc: Include geometry.h. 5085 (troff_output_file::flush_tbuf): Fixed parameters to 5086 `check_output_limits'. 5087 (troff_output_file::check_charinfo): Ditto. 5088 (troff_output_file::determine_line_limits): Add support for `Da' 5089 and `Dl' commands. 5090 5091 * src/devices/grohtml/post-html.cc (str_translate_to_html): 5092 Add new parameter `is_special' to decode special characters from 5093 escape sequences. 5094 (html_printer::do_title, html_printer::do_heading, 5095 html_printer::do_indentedparagraph, 5096 html_printer::translate_to_html, html_printer::special): Updated. 5097 50982001-10-03 Werner LEMBERG <wl@gnu.org> 5099 5100 * Makefile.sub (DISTCLEANFILES): Add stamp-h. 5101 Fix entry for config.h. 5102 * test-groff (GROFF_BIN_PATH): Add $builddir/roff/groff. 5103 * tmac/troffrc: Translate nonbreakable space character to `\~'. 5104 * src/preproc/eqn/eqn.man: Document -d command line option. 5105 51062001-09-27 Werner LEMBERG <wl@gnu.org> 5107 5108 * man/groff.man: Use 5109 5110 .ev xxx 5111 .na 5112 .nh 5113 <table> 5114 .ev 5115 5116 instead of the old code (`.ad .hy' after the table) to suppress 5117 incorrect hyphenation for grohtml output. 5118 51192001-09-22 Werner LEMBERG <wl@gnu.org> 5120 5121 * man/groff_font.man, man/groff_out.man: Minor fixes. 5122 51232001-09-20 Werner LEMBERG <wl@gnu.org> 5124 5125 * PROBLEMS: Updated, reordered. Improved EPS section (thanks to 5126 Arnold Robbins <arnold@skeeve.com>). 5127 51282001-09-09 Werner LEMBERG <wl@gnu.org> 5129 5130 * configure: Regenerated with autoconf 2.52. 5131 5132 * doc/groff.texinfo: Complete revision of indices. 5133 51342001-09-07 Werner LEMBERG <wl@gnu.org> 5135 5136 * doc/Makefile (clean): Updated to delete all indices. 5137 51382001-09-05 Werner LEMBERG <wl@gnu.org> 5139 5140 * src/roff/troff/troff.man: Remove superfluous line. 5141 5142 * tmac/s.tmac: Enable all warnings only if no -W or -w option is 5143 given on the command line (or rather, if only the default warnings 5144 are set). 5145 51462001-09-03 Werner LEMBERG <wl@gnu.org> 5147 5148 * man/groff.man, src/preproc/eqn/eqn.man, tmac/groff_mdoc.man: Don't 5149 use .ne for TTY devices. 5150 51512001-08-31 Werner LEMBERG <wl@gnu.org> 5152 5153 * src/roff/troff/token.h, src/roff/troff/input.cc: 5154 s/TOKEN_TRANSPARENT_ESCAPE/TOKEN_OPAQUE_ESCAPE/. 5155 51562001-08-28 Werner LEMBERG <wl@gnu.org> 5157 5158 * src/roff/troff/token.h (token_type): Add TOKEN_TRANSPARENT_ESCAPE. 5159 * src/roff/troff/input.cc (token::next): Return 5160 TOKEN_TRANSPARENT_ESCAPE for \f, \H, \R, \s, and \S if not in 5161 compatibility mode. 5162 (token::description): Updated. 5163 (process_input_stack): Reset `bol' for TOKEN_TRANSPARENT_ESCAPE. 5164 (token::add_to_node_list, token::process): Ignore 5165 TOKEN_TRANSPARENT_ESCAPE. 5166 51672001-08-27 Werner LEMBERG <wl@gnu.org> 5168 5169 * tmac/an-old.tmac: Fix `S' string. 5170 51712001-08-26 Werner LEMBERG <wl@gnu.org> 5172 5173 * src/roff/troff/troff.man: Don't use .ne for TTY devices. 5174 51752001-08-25 Werner LEMBERG <wl@gnu.org> 5176 5177 * doc/pic.ms: Replace `\\' with `\e' (and fixing some single 5178 backslashes). 5179 Many other minor fixes. 5180 5181 * configure.ac: Add message at end to inform how to compile 5182 xditview. 5183 * configure: Regenerated. 5184 51852001-08-24 Werner LEMBERG <wl@gnu.org> 5186 5187 * src/include/getopt.h, src/libs/libgroff/{getopt.c, getopt1.c}: 5188 Updated to latest version of libc. 5189 51902001-08-23 Werner LEMBERG <wl@gnu.org> 5191 5192 * configure.ac: Don't create subdirectories before AC_CONFIG_FILES. 5193 Autoconf 2.50 and newer can handle this. 5194 * configure: Regenerated. 5195 51962001-08-21 Werner LEMBERG <wl@gnu.org> 5197 5198 * doc/pic.ms: Fix typo. 5199 * src/preproc/tbl/tbl.man: Document case of global options. 5200 52012001-08-21 Gaius Mulley <gaius@glam.ac.uk> 5202 5203 * src/devices/grohtml/post-html.cc (html_printer::end_font): Fix 5204 handling of `CR' font. 5205 52062001-08-20 Werner LEMBERG <wl@gnu.org> 5207 5208 Use a config.h file. 5209 5210 * src/include/lib.h: Include config.h. 5211 * All C files: Ditto (if necessary). 5212 * All C++ source and header files: Include lib.h first (if 5213 necessary). 5214 5215 * src/include/config.hin: New file (autogenerated by autoheader). 5216 * stamp-h.in: New file. 5217 * configure.ac: Updated. 5218 * aclocal.m4: Add third parameters to AC_DEFINE macros. 5219 (GROFF_ARRAY_DELETE): Simplified. 5220 * Makefile.sub (DISTCLEANFILES): Updated. 5221 Added targets for remaking config.status, config.hin, config.h, 5222 stamp-h.in, and stamp-h. 5223 * configure: Regenerated. 5224 52252001-08-19 Werner LEMBERG <wl@gnu.org> 5226 5227 * NEWS: Updated. 5228 52292001-08-18 Sebastian Krahmer <krahmer@suse.de> 5230 5231 * src/preproc/pic/pic.y (format_number): Use do_sprintf(). 5232 (do_sprintf): Use snprintf(). 5233 52342001-08-18 Werner LEMBERG <wl@gnu.org> 5235 5236 * src/libs/snprintf/*: Added an snprintf module written by Mark 5237 Martinec. 5238 * src/libs/libgroff/Makefile.sub: Updated. 5239 * configure.ac: Add test for snprintf(). 5240 * Makefile.in: Updated. 5241 * configure: Regenerated. 5242 5243 * src/preproc/html/pre-html.cc (make_message): Reactivate code which 5244 uses snprintf(). 5245 52462001-08-14 Ruslan Ermilov <ru@FreeBSD.org> 5247 5248 * tmac/doc.tmac (Ex): New implementation. 5249 * tmac/doc-common, tmac/groff_tmac.man: Updated. 5250 52512001-08-13 Ruslan Ermilov <ru@FreeBSD.org> 5252 5253 * tmac/doc.tmac (Rv): Implement support for 0 or more than 1 5254 argument. 5255 * tmac/groff_tmac.man: Updated. 5256 52572001-08-13 Werner LEMBERG <wl@gnu.org> 5258 5259 * src/preproc/tbl/tbl.man: Minor documentation update. 5260 52612001-08-13 John David Anglin <dave@hiauly1.hia.nrc.ca> 5262 5263 * src/libs/libgroff/tmpname.cc: Add prototype for gettimeofday(). 5264 * configure.ac: Add declaration test for gettimeofday(). 5265 * Makefile.in: Document NEED_DECLARATION_GETTIMEOFDAY defines. 5266 * aclocal.m4: Include sys/time.h for gettimeofday declaration test. 5267 * configure: Regenerated. 5268 52692001-08-11 Werner LEMBERG <wl@gnu.org> 5270 5271 * aclocal.m4 (GROFF_MKSTEMP): Define HAVE_MKSTEMP. 5272 * configure.ac: Add declaration test for strcasecmp(). 5273 * Makefile.in: Updated. 5274 * configure: Regenerated. 5275 * src/include/lib.h [!HAVE_MKSTEMP]: Add prototype for mkstemp() -- 5276 this is necessary because groff's mkstemp.cc is C++. 5277 Add declaration conditionally for strcasecmp(). 5278 52792001-08-10 Werner LEMBERG <wl@gnu.org> 5280 5281 Integrated pic2graph, contributed by Eric S. Raymond. 5282 5283 * contrib/pic2graph/{Makefile.sub, pic2graph.sh, pic2graph.man}: New 5284 files. 5285 * Makefile.in, NEWS: Updated. 5286 5287 * src/preproc/tbl/tbl.man: Revised. 5288 52892001-08-09 Eric S. Raymond <esr@thyrsus.com> 5290 5291 * src/preproc/tbl/tbl.man: Extended to cover all tbl features. 5292 52932001-08-09 Werner LEMBERG <wl@gnu.org> 5294 5295 * src/preproc/tbl/main.cc (process_data): Fix recognition of .lf 5296 requests. 5297 52982001-08-08 Paul Eggert <eggert@twinsun.com> 5299 5300 * Makefile.sub (configure): Depend on configure.ac, not 5301 configure.in. 5302 * INSTALL.gen: Upgrade to autoconf 2.52's INSTALL. 5303 53042001-08-07 Werner LEMBERG <wl@gnu.org> 5305 5306 * src/utils/afmtodit/afmtodit.man, src/roff/groff/groff.man: Minor 5307 fixes. 5308 53092001-08-06 Werner LEMBERG <wl@gnu.org> 5310 5311 * src/roff/troff/troff.man: Improve documentation of -E option. 5312 53132001-07-28 Ralph Corderoy <ralph@inputplus.demon.co.uk> 5314 5315 * src/preproc/html/pushbackbuffer.cc (pushBackBuffer::readNumber): 5316 Simplified. 5317 53182001-07-27 Werner LEMBERG <wl@gnu.org> 5319 5320 * src/preproc/refer/refer.cc: Undo last change. 5321 * src/devices/grohtml/post-html.cc: Ditto. 5322 53232001-07-26 Werner LEMBERG <wl@gnu.org> 5324 5325 * src/preproc/refer/refer.cc: Include `lib.h'. 5326 * src/devices/grohtml/post-html.cc: Ditto. 5327 53282001-07-25 Gaius Mulley <gaius@glam.ac.uk> 5329 5330 * aclocal.m4 (GROFF_PAGE): Add `AC_DEFINE(PAGEA4)'. 5331 * src/preproc/html/pre-html.cc: Use it for DEFAULT_VERTICAL_OFFSET. 5332 * Makefile.in: Comment updated. 5333 * configure: Regenerated. 5334 53352001-07-25 Werner LEMBERG <wl@gnu.org> 5336 5337 * src/preproc/pic/pic.cc: Removed. 5338 * src/preproc/pic/pic_tab.h: Removed. 5339 * src/preproc/refer/label.cc: Removed. 5340 5341 * doc/Makefile (.ms.html): Don't use a file name extension in 5342 argument to grohtml's -I option. 5343 * Makefile.in (dist): Remove CVS directories. 5344 Call `distfiles' target. 5345 5346 * src/devices/grohtml/grohtml.man: Add information about valid 5347 versions of pnmtopng. 5348 * src/preproc/html/pre-html.cc (TRANSPARENT): Use `white' as colour 5349 name instead of number. 5350 53512001-07-24 Werner LEMBERG <wl@gnu.org> 5352 5353 * doc/groff.texinfo: Minor fixes. 5354 53552001-07-21 Gaius Mulley <gaius@glam.ac.uk> 5356 5357 * doc/Makefile (.ms.html): Put image files into a subdirectory. 5358 (clean): Updated. 5359 53602001-07-20 Werner LEMBERG <wl@gnu.org> 5361 5362 * src/libs/libgroff/tmpname.cc: New file, defining get_tempname(). 5363 * src/libs/libgroff/mkstemp.cc: New file. 5364 * src/libs/libgroff/mksdir.cc: New file. 5365 * src/libs/libgroff/tmpfile.cc [HAVE_MKSTEMP_PROTO]: Removed. 5366 (xtmpfile) [!HAVE_MKSTEMP]: Removed. 5367 * src/libs/libgroff/Makefile.sub: Updated. 5368 * src/include/lib.h: Add mksdir() prototype. 5369 * src/include/posix.h: Define S_IXUSR if not yet defined. 5370 5371 * src/preproc/html/pre-html.cc (MAX_RETRIES): Removed. 5372 (createAllPages): Use mksdir() instead of current code. 5373 * src/utils/indxbib/indxbib.cc [HAVE_MKSTEMP_PROTO]: Removed. 5374 (main): [!HAVE_MKSTEMP]: Removed. 5375 5376 * aclocal.m4 (GROFF_MKSTEMP): Updated to use new mkstemp.cc file. 5377 (GROFF_INTTYPES_H, GROFF_UNSIGNED_LONG_LONG, GROFF_UINTMAX_T): New 5378 macros. 5379 * configure.ac: Add tests for stdint.h, sys/time.h, and 5380 gettimeofday(). 5381 Call new GROFF_xxx macros. 5382 * configure: Regenerated. 5383 * Makefile.in: Comments updated. 5384 53852001-07-20 Gaius Mulley <gaius@glam.ac.uk> 5386 5387 * src/preproc/html/pre-html.cc (scanArguments): Use getopt_long() 5388 instead of current code. 5389 * src/devices/grohtml/post-html.cc (main): Handle `-d' option. 5390 * src/roff/groff/groff.cc (possible_command::insert_args): New 5391 function. 5392 (main): Use it for predriver handling instead of insert_arg(). 5393 53942001-07-19 Werner LEMBERG <wl@gnu.org> 5395 5396 * doc/Makefile: Added GROFF_BIN_PATH to make it work with uninstalled 5397 groff also. 5398 5399 * src/include/posix.h: Define S_IWUSR if not yet defined. 5400 54012001-07-18 Werner LEMBERG <wl@gnu.org> 5402 5403 * NEWS: Updated. 5404 54052001-07-18 Ruslan Ermilov <ru@FreeBSD.org> 5406 5407 * tmac/groff_mdoc.man: Document new -width and -column syntax. 5408 Some other minor fixes. 5409 * tmac/an-old.tmac: Add `AT' and `UC' macros. 5410 54112001-07-17 Gaius Mulley <gaius@glam.ac.uk> 5412 5413 Replace call to `troff' with `groff -Z' to make it aware of 5414 GROFF_BIN_PATH. 5415 5416 * src/preproc/html/pre-html.cc (TROFF_COMMAND): New macro. 5417 (troff_command, command_prefix): Removed. 5418 (alterDeviceTo): Use groff. 5419 (addZ): New function. 5420 (char_buffer::do_html): Use it. 5421 (scanArguments): Use TROFF_COMMAND. 5422 (findPrefix): Removed. 5423 (main): Updated. 5424 * src/roff/groff/groff.cc (main): Handle zflag for preprocessors. 5425 54262001-07-17 Eric S. Raymond <esr@snark.thyrsus.com> 5427 5428 * doc/pic.ms: Documentation fixes. 5429 54302001-07-17 Werner LEMBERG <wl@gnu.org> 5431 5432 Replace atexit() with global destructor. 5433 5434 * src/libs/libgroff/tmpfile.cc (xtmpfile_list): Add constructor. 5435 (xtmpfile_list_init): New global structure to deallocate 5436 xtmpfile_list on exit. Its destructor inherits most code from 5437 remove_tmp_files(). 5438 (remove_tmp_files): Deleted. 5439 (add_tmp_file): Simplified. 5440 54412001-07-16 Werner LEMBERG <wl@gnu.org> 5442 5443 Replace strdup() with strsave(). 5444 5445 * src/devices/grolbp/lbp.cc [!HAVE_STRDUP]: Removed. 5446 (set_papersize): Use strsave() and a_delete. 5447 (main): Use strsave(). 5448 * src/preproc/html/pre-html.cc (make_message, createAllPages, 5449 removeAllPages): Use strsave() and a_delete. 5450 5451 * configure.ac: Remove test for strdup. 5452 * Makefile.in: Comment updated. 5453 * configure: Regenerated. 5454 54552001-07-15 Werner LEMBERG <wl@gnu.org> 5456 5457 * win32-diffs: Updated. 5458 54592001-07-14 Werner LEMBERG <wl@gnu.org> 5460 5461 * src/preproc/html/pre-html.cc (makeTempFiles): Activate new code, 5462 removing the old one. 5463 * src/utils/indxbib/indxbib.cc (main): Remove compiler warning. 5464 54652001-07-14 Ralph Corderoy <ralph@inputplus.demon.co.uk> 5466 5467 * src/libs/libgroff/tmpfile.cc (xtmpfile): Fix guard for `namep'. 5468 54692001-07-12 Ruslan Ermilov <ru@FreeBSD.org> 5470 5471 Merge -xwidth into -width. Add -xwidth functionality to -column 5472 also. 5473 5474 * tmac/doc.tmac (Bl): Add dummy doc-typeXXX and doc-spaceXXX to 5475 avoid warning. 5476 (doc-do-Bl-args): Merge -xwidth code with -width. Test whether 5477 string immediately following a leading dot starts with a valid mdoc 5478 argument. 5479 Add similar code to the -column branch. 5480 (doc-Bl-usage): Updated. 5481 * groff_mdoc.man: s/-xwidth/-width/. 5482 54832001-07-12 Gaius Mulley <gaius@glam.ac.uk> 5484 5485 * src/devices/grohtml/post-html.cc (text_glob::is_br): Stop titles 5486 running into centered or non-formatted text. 5487 54882001-07-11 Werner LEMBERG <wl@gnu.org> 5489 5490 Introduce short and long prefixes to have the selection at run-time 5491 whether there is a 8+3 limit for names of temporary files. 5492 5493 * src/libs/libgroff/tmpfile.cc (TMPFILE_PREFIX): Replaced with... 5494 (TMPFILE_PREFIX_SHORT, TMPFILE_PREFIX_LONG): This. 5495 (tmpfile_prefix, tmpfile_prefix_len, use_short_prefix): New 5496 variables. 5497 (temp_init): New global structure to initialize above three 5498 variables. 5499 (xtmptemplate): Use two parameters for long and short prefix. 5500 Simplify code use above three variables. 5501 (xtmpfile): Use long and short prefixes as parameters. 5502 * src/include/lib.h: Updated. 5503 5504 * src/preproc/html/pre-html.cc ({PAGE,PS,REGION}_TEMPLATE): Replace 5505 with ... 5506 ({PAGE,PS,REGION}_TEMPLATE_{SHORT,LONG}): This. 5507 (createAllPages, makeTempFiles): Updated. 5508 55092001-07-09 Werner LEMBERG <wl@gnu.org> 5510 5511 * REVISION: Increased to 3. 5512 5513Version 1.17.2 released 5514======================= 5515 55162001-07-07 Werner LEMBERG <wl@gnu.org> 5517 5518 * src/utils/indxbib/indxbib.cc (main): Change type of `name_max' 5519 to size_t. 5520 55212001-07-06 Ruslan Ermilov <ru@FreeBSD.org> 5522 5523 * tmac/doc.tmac (Rv): Make `Rv' really not parseable. 5524 Fix synopsis. 5525 * tmac/groff_mdoc.man: Fix synopsis. 5526 55272001-07-05 Ruslan Ermilov <ru@FreeBSD.org> 5528 5529 * tmac/doc.tmac (doc-inset-list, doc-hang-list, doc-ohang-list): 5530 Restore `doc-Pa-font'. 5531 55322001-07-04 Werner LEMBERG <wl@gnu.org> 5533 5534 * src/utils/indxbib/dirnamemax.c: Moved to ... 5535 * src/libs/libgroff/maxfilename.cc: Here. 5536 s/dir_name_max/file_name_max/. 5537 Add copyright. 5538 * src/include/lib.h: Add file_name_max. 5539 * src/utils/indxbib/indxbib.cc: Updated. 5540 * src/utils/indxbib/Makefile.sub, src/libs/libgroff/Makefile.sub: 5541 Updated. 5542 5543 * src/libs/libgroff/tmpfile.cc (TMPFILE_PREFIX) [__MSDOS__]: Define 5544 as empty. 5545 (xtmpfile) [_MSC_VER]: Removed -- MSVC has mktemp(). 5546 5547 * src/preproc/html/pre-html.cc (PAGE_TEMPLATE, PS_TEMPLATE, 5548 REGION_TEMPLATE): New macros. 5549 (createAllPages, makeTempFiles): Use them. 5550 Include `nonposix.h'. 5551 (html_system): New function. 5552 (createAllPages, createImage): Use it. 5553 Use EXE_EXT. 5554 5555 * tmac/www.tmac: Fix typos. 5556 55572001-07-03 Werner LEMBERG <wl@gnu.org> 5558 5559 * tmac/www.tmac: Disable hyphenation in normal text only if output 5560 device is html. 5561 (URL, FTP, MAILTO): Disable hyphenation of actual URL with `\%'. 5562 * tmac/groff_mwww.man, NEWS: Updated. 5563 55642001-07-03 Gaius Mulley <gaius@glam.ac.uk> 5565 5566 * tmac/www.tmac (.IMAGE): Add fourth parameter to specify vertical 5567 image location. 5568 55692001-07-02 Ruslan Ermilov <ru@FreeBSD.org> 5570 5571 * tmac/doc-common, tmac/doc.tmac (doc-display-ft-stack, 5572 doc-display-ps-stack): Implement font and font size stack for 5573 displays. 5574 55752001-07-02 Werner LEMBERG <wl@gnu.org> 5576 5577 * REVISION: Increased to 2. 5578 * src/roff/troff/input.cc (read_size): Fix special case `\s[0]'. 5579 5580 * src/groff/grog/grog.pl (process): Handle `Oo' and `Oc' not at the 5581 beginning of a line. 5582 * src/groff/grog/grog.sh: Ditto. 5583 55842001-06-29 Peter Marquardt <wwwutz@molgen.mpg.de> 5585 5586 * src/preproc/eqn/neqn.sh: Put `export' keyword in a new line to 5587 make it portable. 5588 55892001-06-27 Werner LEMBERG <wl@gnu.org> 5590 5591 Fix problems with preprocessor string for `man' program. 5592 5593 * *.man: Don't use `s' in preprocessor string -- it doesn't exist. 5594 Updated/added copyright. 5595 Moved Emacs's local variable to identify nroff mode to the end of 5596 the file; add local variable if missing. 5597 55982001-06-26 Andras Salamon <andras@cs.wits.ac.za> 5599 5600 * aclocal.m4: Replace AC_LANG_SAVE + AC_LANG_CPLUSPLUS with 5601 AC_LANG_PUSH(C++) and AC_LANG_RESTORE with AC_LANG_POP(C++). 5602 * configure: Regenerated. 5603 56042001-06-25 Andras Salamon <andras@cs.wits.ac.za> 5605 5606 * aclocal.m4 (GROFF_PAGE): Fix page detection code. 5607 * configure: Regenerated. 5608 56092001-06-24 Werner LEMBERG <wl@gnu.org> 5610 5611 * doc/homepage.ms: Don't include arkup.tmac (which no longer exists) 5612 but www.tmac. 5613 * doc/pic.ms: Fix typos. 5614 5615Version 1.17.1 released 5616======================= 5617 56182001-06-21 Golubev I. N. <gin@mo.msk.ru> 5619 5620 * aclocal.m4 (GROFF_NEED_DECLARATION): Fix inclusion of strings.h. 5621 * configure: Updated. 5622 56232001-06-20 Gaius Mulley <gaius@glam.ac.uk> 5624 5625 * src/roff/preproc/html/pre-html.cc (make_message): Fix incorrect 5626 image names. 5627 * src/roff/troff/dic.cc (blank_line): Add html tag. 5628 56292001-06-19 Gaius Mulley <gaius@glam.ac.uk> 5630 5631 * src/roff/troff/input.cc (do_suppress): Fix typo. 5632 56332001-06-18 Gaius Mulley <gaius@glam.ac.uk> 5634 5635 Added two new options (-D and -I) to specify image names and a 5636 subdirectory to place the images in. 5637 5638 Change syntax from \\Ox to \\O[x]. 5639 5640 * src/devices/grohtml/post-html.cc (main): Add options. 5641 (usage): Updated. 5642 * src/preproc/html/pre-html.cc: Include `stdarg.h'. 5643 Use `NULL' instead of `0' for null string pointers. 5644 (MAX_RETRIES): New macro. 5645 (lengthOfintToStr, intToStr, make_message): New functions. 5646 (makeFileName): Make function static. 5647 Implement -D and -I options. 5648 (checkImageDir): New function. 5649 (write_end_image, write_start_image): Use new syntax of \O. 5650 (createAllPages, removeAllPages): Implement -D and -I options. Use 5651 make_message(). 5652 (createImage): Use make_message(). 5653 (addps4html): Add guard for malloc(). 5654 (usage, scanArguments): Updated. 5655 (makeTempFiles): Use mkstemp(). 5656 (removeTempFiles): Use unlink(). 5657 (findPrefix): Add guard for malloc(). 5658 (main): Updated. 5659 * src/roff/troff/input.cc (get_delim_file_name): New function to 5660 parse \O. 5661 (do_suppress): Updated to parse new syntax. 5662 * src/devices/grohtml/grohtml.man: Updated. 5663 * tmac/www.tmac: Updated to new syntax. 5664 5665 * NEWS: Updated. 5666 56672001-06-15 Werner LEMBERG <wl@gnu.org> 5668 5669 * src/roff/grog/Makefile.sub: Remove NAMEPREFIX. 5670 5671 * src/devices/grohtml/grohtml.man: Minor improvements. 5672 56732001-06-14 Werner LEMBERG <wl@gnu.org> 5674 5675 * src/preproc/html/Makefile.sub: Remove NAMEPREFIX. 5676 56772001-06-11 Werner LEMBERG <wl@gnu.org> 5678 5679 * man/roff.man, mann/groff.man: Use '\" instead of .\" in the first 5680 line to specify preprocessor options -- mandb 2.3.1 only recognizes 5681 the former. 5682 * src/preproc/grn/grn.man: Add proper '\" string. 5683 56842001-06-11 OKAZAKI Tetsurou <okazaki@be.to> 5685 5686 * test-groff: Don't use PATH but GROFF_BIN_PATH. 5687 56882001-06-08 Werner LEMBERG <wl@gnu.org> 5689 5690 Updated to autoconf 2.50. 5691 5692 * configure.in: Renamed to... 5693 * configure.ac: This. 5694 * aclocal.m4 (AC_OUTPUT_MAKE_DEFS): Removed. 5695 (GROFF_OS390): Updated. 5696 * configure: Regenerated. 5697 56982001-05-18 Werner LEMBERG <wl@gnu.org> 5699 5700 * src/roff/troff/env.c, src/roff/troff/env.h, 5701 src/roff/troff/input.cc, src/roff/troff/troff.man: Undo `ss' change 5702 from 2000-12-21. 5703 57042001-05-17 Jeffrey Friedl <jfriedl@yahoo-inc.com> 5705 5706 * src/roff/troff/input.cc (read_size): Fix special case `\s0'. 5707 57082001-05-16 Werner LEMBERG <wl@gnu.org> 5709 5710 * src/roff/troff/input.cc (read_size): Emit warning if value becomes 5711 less than or equal zero; set it to 1 then. 5712 * src/roff/troff/node.h (node::node): Initialize `last'. 5713 57142001-05-08 Werner LEMBERG <wl@gnu.org> 5715 5716 * tmac/an-old.tmac: Make predefined strings work in compatibility 5717 mode. 5718 Add troff version guard. 5719 * tmac/doc.tmac: Simplify version guard. 5720 57212001-05-07 Werner LEMBERG <wl@gnu.org> 5722 5723 The .ns and .rs requests are now honoured not only in the top-level 5724 but in all diversions (similar to UNIX troff). 5725 5726 This change is based on a patch from Tadziu Hoffmann 5727 <hoffmann@usm.uni-muenchen.de>. 5728 5729 * src/roff/troff/div.h (diversion): Add `no_space_mode' member. 5730 (top_level_diversion): Remove `no_space_mode' member. 5731 * src/roff/troff/div.cc (diversion::diversion, 5732 top_level_diversion::top_level_diversion): Updated. 5733 (macro_diversion::output): Reset `no_space_mode'. 5734 (no_space, restore_spacing): Use `curdiv' unconditionally. 5735 (space_request, blank_line): Check `curdiv->no_space_mode'. 5736 (no_space_mode_reg::get_value, no_space_mode_reg::get_string): Use 5737 `curdiv' unconditionally. 5738 * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo: 5739 Updated. 5740 57412001-05-06 Werner LEMBERG <wl@gnu.org> 5742 5743 Added two new requests `de1' and `am1' which are similar to `de' and 5744 `am' with the difference that compatibility mode is saved on entry, 5745 switched off during macro execution, and restored on exit. 5746 5747 * src/roff/troff/input.h: Added two new special characters 5748 (COMPATIBLE_SAVE, COMPATIBLE_RESTORE). 5749 * src/roff/troff/input.cc (input_iterator): Added two member 5750 functions `save_compatible_flag' and `get_compatible_flag'. 5751 (input_stack): Ditto. 5752 (string_iterator): Ditto. Also add private member 5753 `saved_compatible_flag'. 5754 (token::next): Use COMPATIBLE_SAVE and COMPATIBLE_RESTORE. 5755 (calling_mode): New enumeration. 5756 (do_define_macro): Use it. Insert COMPATIBLE_SAVE and 5757 COMPATIBLE_RESTORE at the beginning and end of macro, respectively. 5758 (define_macro, define_indirect_macro, append_macro, ignore): Use 5759 `calling_mode'. 5760 (define_nocomp_macro, append_nocomp_macro): New functions. 5761 (init_input_requests): Updated. 5762 (do_request): Rename local variable `saved_compatible_flag' to 5763 `old_compatible_flag'. 5764 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 5765 5766 * tmac/an-old.tmac: Use `de1' instead of `de' request for all 5767 public and trap-invoked macros. As a consequence, the man macros 5768 work in compatibility mode also. 5769 57702001-05-06 Solar Designer <solar@openwall.com> 5771 5772 * Makefile.in: Use $(mandir). 5773 57742001-05-06 Alexios Zavras <zvr@pobox.com> 5775 5776 * src/utils/afmtodit/afmtodit.pl: Fix serious typo. 5777 57782001-05-05 Werner LEMBERG <wl@gnu.org> 5779 5780 Added `.ns' number register: Returns 1 in no-space mode (if in 5781 top-level diversion), 0 otherwise. 5782 5783 * src/roff/troff/div.cc (no_space_mode_reg): New class. 5784 (init_div_requests): Updated. 5785 * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo: 5786 Document it. 5787 57882001-05-04 Werner LEMBERG <wl@gnu.org> 5789 5790 * src/roff/nroff/nroff.man: Improved documentation (especially 5791 locales). 5792 57932001-05-02 Werner LEMBERG <wl@gnu.org> 5794 5795 Added `brp' request: This is \p as a request. 5796 5797 * src/roff/troff/env.cc (environment::do_break): Add parameter 5798 `spread'. 5799 (do_break_request): New function (was `break_request'). 5800 (break_request): Calls `do_break_request'. 5801 (break_spread_request): New; calls `do_break_request'. 5802 (init_env_requests): Updated. 5803 * src/roff/troff/env.h: Updated. 5804 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 5805 5806 * REVISION: Increased to 1. 5807 * win32-diffs: Updated. 5808 58092001-05-01 Werner LEMBERG <wl@gnu.org> 5810 5811 * tmac/an-old.tmac: Fix minor compatibility mode issue. 5812 * tmac/troffrc-end: Make it really work in compatibility mode. 5813 58142001-04-27 Werner LEMBERG <wl@gnu.org> 5815 5816 * src/utils/lkbib/lkbib.cc: Switch inclusion order of stdio.h and 5817 stdlib.h. 5818 58192001-04-22 Werner LEMBERG <wl@gnu.org> 5820 5821 * src/libs/libgroff/getopt.c, src/include/getopt.h: Updating to 5822 latest versions from glibc CVS archive. 5823 5824 * MORE.STUFF: Updated, using a patch from Kees Zeelenberg 5825 <c.zeelenberg@hccnet.nl>. 5826 58272001-04-21 Werner LEMBERG <wl@gnu.org> 5828 5829 * configure.in: Move check for mkstemp() to... 5830 * aclocal.m4 (GROFF_MKSTEMP): This new function. 5831 * configure: Regenerated. 5832 5833 * src/include/groff-getopt.h: Don't use variable names in 5834 declarations. 5835 5836 * src/devices/grohtml/html-chars.h: Removed. It isn't used. 5837 * src/devices/grohtml/Makefile.sub, 5838 src/devices/grohtml/post-html.cc: Updated. 5839 58402001-04-21 Albert Chin-A-Young <china@thewrittenword.com> 5841 5842 * configure.in: Add special check for mkstemp(). 5843 * src/libs/libgroff/tmpfile.cc: Use it. 5844 * src/utils/indxbib/indxbib.cc: Ditto. 5845 * src/utils/pfbtops/pfbtops.c (main): Don't use C++ comment style. 5846 * src/devices/grolbp/lbp.h (lbpprintf, lbpputs, vdmprintf): Use 5847 `const'. 5848 58492001-04-20 Bruce Lilly <blilly@erols.com> 5850 5851 `Version_string' as C++ object was not visible to linker from C 5852 object files. 5853 Add `const' to `Version_string'. 5854 5855 * src/utils/pfbtops/pfbtops.c (main), src/roff/groff/groff.cc 5856 (main), src/roff/troff/input.cc (main), src/preproc/tbl/main.cc 5857 (main), src/preproc/pic/main.cc (main), src/preproc/eqn/main.cc 5858 (main), src/preproc/grn/main.cc (main), src/preproc/html/pre-html.cc 5859 (scanArguments), src/preproc/refer/refer.cc (main), 5860 src/preproc/soelim/soelim.cc (main), src/devices/grotty/tty.cc 5861 (main), src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc 5862 (main), src/devices/grohtml/post-html.cc (main), 5863 src/devices/grolbp/lbp.cc (main), src/utils/tfmtodit/tfmtodit.cc 5864 (main), src/utils/hpftodit/hpftodit.cc (main), 5865 src/utils/lookbib/lookbib.cc (main), src/utils/indxbib/indxbib.cc 5866 (main), src/utils/lkbib/lkbib.cc (main), 5867 src/utils/addftinfo/addftinfo.cc (main): Implement it. 5868 5869 * src/roff/groff/pipeline.c: Add _UWIN. 5870 * src/include/nonposix.h: Ditto. 5871 58722001-04-20 Werner LEMBERG <wl@gnu.org> 5873 5874 * src/include/lib.h: Use HAVE_STRERROR. 5875 * src/roff/groff/pipeline.c: Ditto. 5876 * src/preproc/html/pre-html.cc: Remove declaration of `strerror'. 5877 * src/libs/libgroff/Makefile.sub (version.cc): Add `extern "C"'. 5878 * src/utils/pfbtops/pfbtops.c: Add copyright notice. 5879 * win32-diffs: Updated. 5880 * src/utils/hpftodit/hpftodit.cc (read_map): Fix compiler warning. 5881 58822001-04-19 Werner LEMBERG <wl@gnu.org> 5883 5884 * src/preproc/html/pre-html.cc (scanArguments): Use `troff_command' 5885 instead of hardwired `"troff"'. 5886 (char_buffer::read_file): Remove unused variables. 5887 (char_buffer::write_file_troff): Ditto. 5888 (char_buffer::write_file_html): Ditto. 5889 (generateImages): Ditto. 5890 (abs): Removed. 5891 * src/utils/addftinfo/addftinfo.cc (main): Fix compilation problem. 5892 5893 * src/include/lib.h: Don't include `groff-getopt.h' for UWIN. 5894 5895 * src/libs/libgroff/font.cc (font::load_desc): Fix compiler warning. 5896 * src/libs/libbib/index.cc (index_search_item_iterator::get_tag, 5897 index_search_item::search1): Ditto. 5898 * src/roff/troff/node.h (width_list): Reorder members. 5899 * src/roff/troff/input.cc (do_define_macro): Fix compiler warning. 5900 (lookup_warning): Ditto. 5901 (prepend_string): Commented out. 5902 * src/roff/troff/dictionary.cc (is_good_size): Fix compiler warning. 5903 * src/roff/troff/reg.cc (number_value_to_ascii): Ditto. 5904 * src/preproc/tbl/main.cc (process_format): Ditto. 5905 * src/preproc/pic/pic.y (define_variable, reset, reset_all): Fix 5906 compiler warnings. 5907 * src/preproc/pic/pic.cc: Updated. 5908 * src/preproc/eqn/lex.cc (init_table): Fix compiler warnings. 5909 * src/preproc/eqn/over.cc (over_box::compute_metrics): Ditto. 5910 * src/preproc/refer/command.cc (execute_command): Ditto. 5911 * src/preproc/refer/ref.cc (sortify_title, find_month): Ditto. 5912 * src/preproc/refer/token.cc (lookup_token): Ditto. 5913 * src/preproc/soelim/soelim.cc: Ditto. 5914 * src/preproc/html/pushbackbuffer.cc (ERROR): Ditto. 5915 (isHexDigit): Commented out. 5916 (pushBackBuffer::isString): Remove unused variable. 5917 * src/devices/grops/ps.cc (ps_printer::special): Fix compiler 5918 warning. 5919 * src/devices/grops/psrm.cc (resource_manager::lookup_font, 5920 resource_manager::read_resource_arg, read_one_of, parse_extensions): 5921 Ditto. 5922 * src/devices/grodvi/dvi.cc (dvi_printer::draw): Ditto. 5923 * src/devices/grolj4/lj4.cc (lj4_font::handle_unknown_font_command, 5924 lookup_paper_size): Ditto. 5925 * src/devices/grohtml/post-html.cc (is_subsection): Commented out. 5926 (text_glob, element_list): Reorder members. 5927 * src/devices/grohtml/html-text.cc (html_text::do_pre): Remove 5928 compiler warning. 5929 * src/devices/grohtml/html-text.h (html_text::emit_space): Change 5930 return value to `void'. 5931 * src/devices/grohtml/output.cc (word_list::word_list): Fix order 5932 of initializers. 5933 * src/devices/grohtml/html.h (simple_output::check_newline, 5934 simple_output::space_or_newline, simple_output::enable_newlines): 5935 Add return value. 5936 * src/devices/grolbp/lbp.cc (wp54charset, set_papersize): Remove 5937 compiler warnings. 5938 * src/utils/tfmtodit/tfmtodit.cc (tfm::load, gf::load, main): Ditto. 5939 * src/utils/hpftodit/hpftodit.cc (File::seek, read_symbol_sets, 5940 output_ligatures, output_charset, read_map): Ditto. 5941 * src/utils/lookbib/lookbib.cc (main): Ditto. 5942 * src/utils/indxbib/indxbib.cc (main, fwrite_or_die): Ditto. 5943 (do_file): Fix typo (`=' -> `=='). 5944 * src/utils/lkbib/lkbib.cc (main): Remove compiler warning. 5945 * src/utils/addftinfo/addftinfo.cc (main): Ditto. 5946 59472001-04-18 Ruslan Ermilov <ru@FreeBSD.org> 5948 5949 * src/roff/nroff/nroff.sh: Adding -p (pic) and -t (tbl) options. 5950 Fix usage of GROFF_BIN_PATH. 5951 * src/roff/nroff/nroff.man: Updated. 5952 59532001-04-18 Werner LEMBERG <wl@gnu.org> 5954 5955 * NEWS: Fixing typos. 5956 Updated. 5957 5958Version 1.17 released 5959===================== 5960 59612001-04-17 Werner LEMBERG <wl@gnu.org> 5962 5963 * tmac/Makefile.sub (install-data): mdoc.local-s is in current 5964 directory, not in $(srcdir). 5965 59662001-04-16 Werner LEMBERG <wl@gnu.org> 5967 5968 * doc/groff.texinfo: More info on conditionals. 5969 59702001-04-15 Werner LEMBERG <wl@gnu.org> 5971 5972 * doc/groff.texinfo: Added some info about groff internals. 5973 5974 * src/roff/troff/node.cc (make_glyph_node): Emit warning message 5975 about missing special character only if the name is non-null. 5976 59772001-04-14 Werner LEMBERG <wl@gnu.org> 5978 5979 Removing the grohtml-old device driver which is now obsolete. 5980 5981 * src/devices/grohtml-old/*: Removed. 5982 * font/devhtml-old/*: Removed. 5983 * src/libs/libgroff/htmlindicate.cc (graphic_start, graphic_end): 5984 Remove comments. 5985 * Makefile.in (CCPROGDIRS, DEVDIRS): Updated. 5986 * test-groff (PATH): Updated. 5987 * tmac/Makefile.sub (NORMALFILES): Updated. 5988 * tmac/an-old.tmac: Remove special code for html-old device. 5989 Replace `html-or-html-old' register with `an-html'. 5990 * tmac/eqnrc: Updated. 5991 * tmac/html-old.tmac: Removed. 5992 * tmac/troffrc, tmac/troffrc-end: Updated. 5993 * tmac/www.tmac: Remove special code for html-old device. 5994 Replace `html-or-html-old' register with `www-html'. 5995 5996 * src/libs/libgroff/tmpfile.cc (remove_tmp_files), 5997 src/libs/libgroff/htmlindicate.cc (graphic_end), 5998 include/htmlindicate.h, src/preproc/grn/*.cc, 5999 src/roff/groff/env.{cc,h}: Remove `void' parameter if used as a 6000 single argument for consistency with rest of source code. 6001 6002 * aclocal.m4, tmac/an-old.tmac: Fix copyright. 6003 60042001-04-13 Ruslan Ermilov <ru@FreeBSD.org> 6005 6006 * src/roff/troff/troff.man: Fixing typos. 6007 60082001-04-13 Werner LEMBERG <wl@gnu.org> 6009 6010 * doc/pic.ms: Fixing many font switches. 6011 * doc/groff.texinfo: Fixes, additions. 6012 * MORE.STUFF: Updated. 6013 60142001-04-12 Gaius Mulley <gaius@glam.ac.uk> 6015 6016 * src/devices/grohtml/grohtml.man: Updated manual page regarding 6017 simple anchor. 6018 * src/preproc/html/pre-html.cc (createImage): Fixed right hand 6019 cropping of images. 6020 (removeTempFiles): New function to tidy up temporary files. 6021 * src/preproc/html/pre-html.cc (main): Calls `removeTempFiles()'. 6022 Many fixes to do with the new inline suppress node and image regions 6023 are much tighter. 6024 * src/devices/grohtml/post-html.cc: New method `is_auto_img'. 6025 (generate_img_src): New function. 6026 (html_printer::do_auto_image): Utilizes it. 6027 (do_heading, do_title): Include inline images within their contents. 6028 (html_printer::begin_page): Tidied up comments that are issued to 6029 the html output file. 6030 (html_printer::do_fill): Fixed so that `.nf' works with fonts other 6031 than courier. 6032 (text_glob::is_br): New method used by do_heading. 6033 * tmac/s.tmac: If -Thtml then emit $1 in .IP rather than its 6034 equivalent diversion. 6035 * src/include/html-strings.h: Altered image tags to reflect the 6036 inline image node. 6037 * src/include/htmlindicate.h (html_end_suppress): Added `is_inline' 6038 parameter. 6039 * src/preproc/eqn/main.cc: Will suppress generation of image tags if 6040 it is already inside a pic image. Only emit tags if the argument 6041 `-Tps:html' is present. 6042 * src/preproc/tbl/main.cc: Changes to reflect additional 6043 `html_end_suppress' parameter. 6044 * src/roff/troff/env.cc: Only emit eol tag if a node has been 6045 emitted since the last eol tag was written. 6046 * src/roff/troff/env.h: New boolean `emitted_node'. 6047 * src/roff/troff/input.cc (do_suppress): Handles extra suppress 6048 nodes \O3, \O4, \O5. No longer use `output_low_mark_miny'. 6049 * src/roff/troff/node.cc (check_charinfo): New method. 6050 (troff_output_file::determine_line_limits): Alterations to limit 6051 checking. 6052 * tmac/www.tmac: Changes to reflect new suppress nodes. 6053 60542001-04-12 Bruno Haible <haible@clisp.cons.org> 6055 6056 * src/devices/grohtml/post-html.cc (html_printer::add_to_sbuf): 6057 Escape the html_glyph in the buffer. 6058 (str_translate_to_html): Output the unescaped escaped_char. 6059 * src/devices/grohtml/html-text.cc (issue_table_begin): Set 6060 `frame=void', not `frame=none'. Add `border=0'. 6061 60622001-04-12 Werner LEMBERG <wl@gnu.org> 6063 6064 * PROBLEMS: Add some words on how to avoid wrapper macros. 6065 60662001-04-11 Blake McBride <blake@florida-software.com> 6067 6068 * src/include/nonposix.h (fileno) [_MSC_VER]: Removed. 6069 60702001-04-11 Werner LEMBERG <wl@gnu.org> 6071 6072 * font/devlbp/Makefile.sub (CLEANADD): Set it. 6073 * tmac/Makefile.sub (CLEANADD): Add tmac.local-s. 6074 * Makefile.in (dist): Don't remove src/xditview/Imakefile, but ... 6075 * Makefile.sub (DISTCLEANFILES): Here. 6076 6077 * libs/libgroff/new.cc: Include `nonposix.h'. 6078 * win32-diffs: Updated. 6079 60802001-04-10 Ruslan Ermilov <ru@FreeBSD.org> 6081 6082 Added skeleton macro for defunct macros. 6083 6084 Updated documentation. 6085 6086 When inside displays, an empty input line warning should be 6087 suppressed. If another macro call is put inside a display, 6088 all subsequent empty lines found in that display caused a 6089 warning to be emitted. 6090 6091 * tmac/doc.tmac (doc-defunct-macro): New macro. 6092 (Db, Ds, Ex, Or, Sf): Reimplemented using this macro. 6093 (doc-restore-global-vars): Fixed typo. 6094 (doc-empty-line): Check the `doc-display-depth' register to 6095 determine whether we are inside display or not. 6096 6097 * tmac/doc-common: Removed `Or' and `Sf' registers. 6098 Moved obsolete `Ds' macro to doc.tmac. 6099 6100 * tmac/groff_mdoc.man: Bump document date. 6101 Document `.Vt' under ``Variable Types''. 6102 Removed documentation for obsolete `.Or' macro. 6103 61042001-04-10 Werner LEMBERG <wl@gnu.org> 6105 6106 * NEWS: Updated. 6107 * doc/groff.texinfo: Many fixes, additions, clarifications, etc. 6108 61092001-04-10 Bruno Haible <haible@clisp.cons.org> 6110 6111 * src/devices/grodvi/dvi.cc (main): Accept --help and --version. 6112 (usage): Add stream argument. Don't exit. 6113 * src/devices/grohtml/post-html.cc (main): Accept --help and --version. 6114 Write --version output to stdout, not stderr. 6115 (usage): Add stream argument. Don't exit. 6116 * src/devices/grohtml-old/html.cc (main): Accept --help and --version. 6117 (usage): Add stream argument. Don't exit. 6118 * src/devices/grolbp/lbp.cc (long_options): Use symbolic getopt.h 6119 constants. 6120 (usage): Add stream argument. Don't exit. 6121 (main): Write --help output to stdout, not stderr. 6122 * src/devices/grolj4/lj4.cc (main): Accept --help and --version. 6123 (usage): Add stream argument. Don't exit. 6124 * src/devices/grops/ps.cc (main): Accept --help and --version. 6125 (usage): Add stream argument. Don't exit. 6126 * src/devices/grotty/tty.cc (main): Accept --help and --version. 6127 (usage): Add stream argument. Don't exit. 6128 * src/preproc/eqn/main.cc (usage): Add stream argument. Don't exit. 6129 (main): Accept --help and --version. 6130 * src/preproc/grn/main.cc (usage): Add stream argument. Don't exit. 6131 (main): Accept --help and --version. 6132 * src/preproc/html/pre-html.cc (usage): Add stream argument. 6133 (scanArguments): Accept --help and --version. 6134 * src/preproc/pic/main.cc (usage): Add stream argument. Don't exit. 6135 (main): Accept --help and --version. 6136 * src/preproc/refer/refer.cc (main): Accept --help and --version. 6137 (usage): Add stream argument. Don't exit. 6138 * src/preproc/soelim/soelim.cc (usage): Add stream argument. Don't 6139 exit. 6140 (main): Accept --help and --version. 6141 * src/preproc/tbl/main.cc (usage): Add stream argument. Don't exit. 6142 (main): Accept --help and --version. 6143 * src/roff/groff/groff.cc (main): Accept --help and --version. 6144 (synopsis): Add stream argument. 6145 (help): Write --help output to stdout, not stderr. 6146 (usage): Add stream argument. Don't exit. 6147 * src/roff/grog/grog.pl: Accept --help and --version. 6148 (help): New sub. 6149 * src/roff/grog/grog.sh: Accept --help and --version. 6150 * src/roff/nroff/nroff.sh: Accept --help and --version. 6151 * src/roff/troff/input.cc (USAGE_EXIT_CODE): Remove macro. 6152 (usage): Add stream argument. Don't exit. 6153 (main): Accept --help and --version. 6154 * src/utils/addftinfo/addftinfo.cc (main): Accept --help and --version. 6155 (usage): New function with stream argument, doesn't exit. 6156 * src/utils/hpftodit/hpftodit.cc (main): Accept --help and --version. 6157 (usage): New function with stream argument, doesn't exit. 6158 * src/utils/indxbib/indxbib.cc (main): Accept --help and --version. 6159 (usage): Add stream argument. Don't exit. 6160 * src/utils/lkbib/lkbib.cc (usage): Add stream argument. Don't exit. 6161 (main): Accept --help and --version. 6162 * src/utils/lookbib/lookbib.cc (usage): Add stream argument. Don't 6163 exit. 6164 (main): Accept --help and --version. 6165 * src/utils/pfbtops/pfbtops.c (usage): Add stream argument. Don't exit. 6166 (main): Accept --help and --version. 6167 * src/utils/tfmtodit/tfmtodit.cc (main): Accept --help and --version. 6168 (usage): Add stream argument. Don't exit. 6169 61702001-04-10 Ruslan Ermilov <ru@freebsd.org> 6171 6172 Fix indentation in SYNOPSIS. 6173 6174 Updated to include changes of latest BSD mdoc version (basically, 6175 the only change is that `.Fn' and `.Fc' put a final semicolon after 6176 a function declaration in the SYNOPSIS section). 6177 6178 * tmac/doc.tmac (doc-in-synopsis-count): Replaced with ... 6179 (doc-in-synopsis-section): New variable. Updated all related 6180 functions. 6181 (doc-indent-synopsis-active): New register. 6182 (Nd, Fn, Fo): Use it. 6183 (Cd): It requires manipulation of \n[doc-indent-synopsis] so that 6184 `.Cd' with long argument line produces indented wrapped lines. 6185 Also, the misplaced `.nop \*[doc-Nm-font]\c'' caused extra 6186 undesirable line break to be output. 6187 (doc-do-func-decl, Nm, Vt, Fn, Fo): Remove extraneous calls to 6188 `.rs'. 6189 (Fn, Fc): Add final `;' to output. 6190 (doc-save-global-vars, doc-restore-global-vars): Updated. 6191 * tmac/doc-common: Remove `Ex' register. 6192 Updated. 6193 * tmac/doc-ditroff, tmac/doc-nroff, tmac/doc-syms: Updated 6194 copyright. 6195 61962001-04-06 Ruslan Ermilov <ru@freebsd.org> 6197 6198 * tmac/doc.tmac (Cd): Simplify code. 6199 * tmac/groff_mdoc.man: Document some behaviour of `Cd' request. 6200 62012001-04-06 Werner LEMBERG <wl@gnu.org> 6202 6203 Implement continuous underlining for nroff mode. To do that, a new 6204 request in the ditroff language has been added: `x u N' (N is 0 6205 or 1). 6206 6207 \X and \Y are now transparent to end-of-sentence recognition. 6208 6209 * src/include/printer.h (printer): Add `type' parameter to `special' 6210 method. 6211 * src/libs/libdriver/printer.cc (printer::special): Updated. 6212 * src/libs/libdriver/input.cc (do_file): Handle `x u N'. 6213 6214 * src/devices/dvi/dvi.cc (dvi_printer::special): Handle only 6215 specials of type `p'. 6216 * src/devices/grohtml/post-html.cc (html_printer::special): Ditto. 6217 * src/devices/grohtml-old/html.cc (html_printer::special): Ditto. 6218 * src/devices/grops/ps.cc (ps_printer::special): Ditto. 6219 * src/devices/grotty/tty.cc: Add new enum CU_MODE. 6220 (glyph::order): New method. 6221 (tty_printer::add_char): Use it. 6222 (tty_printer::special): New method. 6223 (tty_printer::end_page): Implement it. 6224 6225 * src/roff/troff/node.h (special_node): Add `no_init_string' member. 6226 * src/roff/troff/node.cc (special_node::special_node): Add parameter 6227 to set `no_init_string'. 6228 (special_node::tprint_start): Use it. 6229 (special_node::same, special_node::copy): Updated. 6230 (special_node::ends_sentence): New method. 6231 (troff_output_file::start_special): Add parameter to include 6232 inititialization of special conditionally. 6233 6234 * src/roff/troff/env.h (environment): New member `underline_spaces'. 6235 * src/roff/troff/env.cc (do_underline_special): New function. 6236 (environment::set_font): Use it. 6237 (do_underline): Use it. This was `underline()'. 6238 (underline): Call `do_underline()'. 6239 (continuous_underline): New function which calls `do_underline()'. 6240 (environment::newline): Use `do_underline_special()'. 6241 (init_env_requests): Updated. 6242 6243 * NEWS, man/troff_out.man: Updated. 6244 62452001-04-06 Bruno Haible <haible@clisp.cons.org> 6246 6247 * font/devutf8/R.proto: Fix code of 'shc'. 6248 62492001-04-06 Ruslan Ermilov <ru@freebsd.org> 6250 6251 Many fixes. Diag lists can now be nested also; additionally, 6252 `-compact' and `-offset' are supported. 6253 6254 * tmac/doc.tmac (doc-have-indent): Replaced with ... 6255 (doc-list-have-indent-stackXXX): A new register stack. 6256 (doc-have-diag-list): Removed. 6257 (Bl): Use `doc-list-have-indent-stackXXX'. 6258 (El): Updated. 6259 (doc-diag-list): Use `doc-compact-list-stackXXX'. 6260 (doc-tag-list): Use `doc-list-have-indent-stackXXX'. 6261 (doc-set-vertical-and-indent): Ditto. 6262 (doc-next-list-depth): Removed. 6263 (doc-increment-list-stack): Updated. 6264 (doc-decrement-list-stack): Use `doc-list-depth' instead of 6265 `doc-next-list-depth'. 6266 (doc-end-list, doc-end-column-list): Don't use 6267 `doc-increment-list-stack'. 6268 (doc-set-column-tab): Don't use `doc-list-offset-stackXXX'. 6269 (doc-save-global-vars, doc-restore-global-vars): Updated. 6270 * tmac/doc-common: Updated. 6271 * tmac/groff_mdoc.man: Updated. 6272 * NEWS: Fix typo. 6273 62742001-04-02 Werner LEMBERG <wl@gnu.org> 6275 6276 * src/devices/grotty/grotty.man: Fix grammatical error. 6277 62782001-03-30 Ruslan Ermilov <ru@freebsd.org> 6279 6280 Remove .Ld from mdoc package; replace it with special handling of 6281 `...'. 6282 6283 * tmac/doc-common: Remove `Ld' register. 6284 Uncomment `doc-volume-ds-*' strings. 6285 Remove `doc-operating-system-default'. 6286 (Os): Updated. 6287 * tmac/doc-syms (Ld): Removed. 6288 * tmac/doc.tmac (doc-parse-args, doc-parse-arg-vector): Handle 6289 `...' specially. 6290 * NEWS: Updated. 6291 6292 * tmac/groff_mdoc.man: Many fixes and updates. 6293 62942001-03-29 Werner LEMBERG <wl@gnu.org> 6295 6296 * tmac/troffrc-end: Protect data with `.do'. Reported by T. Kurt 6297 Bond <tkb@tkb.mpl.com>. 6298 * tmac/www.tmac: Save compatibility mode. 6299 63002001-03-28 Ruslan Ermilov <ru@freebsd.org> 6301 6302 * tmac/groff_mdoc.man: Many fixes. 6303 63042001-03-28 Werner LEMBERG <wl@gnu.org> 6305 6306 * src/preproc/soelim/soelim.man: Document that `.<whitespace>so' 6307 isn't recognized. 6308 63092001-03-27 Werner LEMBERG <wl@gnu.org> 6310 6311 * tmac/an-old.tmac (TP, an-do-tag): Reduce line length while in 6312 diversion. This fixes overlong tags. 6313 63142001-03-26 Werner LEMBERG <wl@gnu.org> 6315 6316 * doc/groff.texinfo: Fixed and improved documentation of fonts. 6317 * tmac/doc-syms: Fix error messages. 6318 * tmac/an-old.tmac: Remove incorrect double backslashes. 6319 63202001-03-24 Ruslan Ermilov <ru@freebsd.org> 6321 6322 * tmac/Makefile.sub: Strip mdoc.local also 6323 * tmac/strip.sed: Fixed. 6324 63252001-03-24 Werner LEMBERG <wl@gnu.org> 6326 6327 * tmac/doc-nroff, tmac/doc-ditroff: Implement -rSxx switch for 6328 selecting the font size. 6329 * tmac/groff_mdoc.man, NEWS: Document it. 6330 63312001-03-23 Werner LEMBERG <wl@gnu.org> 6332 6333 * src/roff/troff/div.cc (save_vertical_space): Add default argument 6334 to `sv' request. 6335 * src/roff/troff/env.cc (family_change): Make `.fam' accept no 6336 argument to restore previous font family. 6337 * src/roff/troff/troff.man, man/groff.man, NEWS: Updated. 6338 6339 * doc/groff.texinfo: More fixes and additions (mainly for font 6340 manipulating commands). 6341 6342 * tmac/groff_mdoc.reference.man: Small updates and renamed to ... 6343 * tmac/groff_mdoc.man: This. The quick reference has been removed. 6344 * tmac/Makefile.sub, NEWS: Updated. 6345 63462001-03-23 Werner LEMBERG <wl@gnu.org> 6347 6348 Replaced mdoc implementation. The new version is `state of the 6349 art', using almost all new features of groff 1.17 -- it won't run 6350 with older versions. 6351 6352 * tmac/doc.tmac: Completely rewritten. 6353 * tmac/doc-common: Ditto. 6354 * tmac/doc-nroff: Ditto. 6355 * tmac/doc-ditroff: Ditto. 6356 * tmac/doc-syms: Ditto. 6357 * tmac/mdoc.local: New file. 6358 * tmac/groff_mdoc.samples.man: Replaced with ... 6359 * tmac/groff_mdoc.reference.man: New file, covering mdoc completely. 6360 * tmac/strip.sed: Updated. 6361 * tmac/Makefile.sub: Updated. 6362 * INSTALL: Updated. 6363 6364 * tmac/groff_man.man: Add `man.local' to the FILES section. 6365 63662001-03-22 Werner LEMBERG <wl@gnu.org> 6367 6368 * doc/groff.texinfo: Added many @noindent. 6369 Replaced @end_Example -> @endExample. 6370 Added info whether registers are r/o. 6371 Many other additions and fixes. 6372 63732001-03-21 Werner LEMBERG <wl@gnu.org> 6374 6375 * doc/groff.texinfo: Added macro @Var (and some hacks due to bugs 6376 in makeinfo of texinfo 4.0) to be used in @Def* macros. 6377 Improved @Def* macros: Now the exact syntax of request, register, 6378 and escapes is shown. 6379 Added macros for parentheses and brackets to be used in @Def*. 6380 Many fixes and improvements of the documentation. 6381 63822001-03-20 Werner LEMBERG <wl@gnu.org> 6383 6384 * doc/groff.texinfo: Added new index: `st' (for strings). 6385 Added macros @Defstr(x). 6386 Added macro @Example (adding @group). 6387 Other minor improvements. 6388 63892001-03-19 Werner LEMBERG <wl@gnu.org> 6390 6391 * doc/groff.texinfo: Added two new indices: `es' (for escapes) and 6392 `rq' for requests. `fn' is no longer used. 6393 Added macros @Defreq(x), @Defreg(x), and @Defesc(x). 6394 Removed @Deffn(x). 6395 6396 * tmac/an-old.tmac (an-p-footer): If `cR' is set, replace page 6397 number with name of man page. 6398 63992001-03-19 Larry Kollar <kollar@alltel.net> 6400 6401 * doc/groff.texinfo: Complete revision. Added many @Deffn to gain 6402 consistency. 6403 64042001-03-19 Werner LEMBERG <wl@gnu.org> 6405 6406 * man/groff_font.man: Document `prepro', `postpro', and `print'. 6407 * src/roff/groff/groff.man: Improve documentation of `-l' and `-L'. 6408 * src/devices/grohtml/grohtml.man: Fixing typos. 6409 64102001-03-19 Gaius Mulley <gaius@glam.ac.uk> 6411 6412 * tmac/s.tmac (@IP): Pass `.ip' html tag. 6413 * tmac/groff_mwww.man: Remove .LINE macro 6414 * tmac/www.tmac (LINE): Add `.ti'. 6415 6416 * src/devices/grohtml/post-html.cc (html_printer): New member 6417 `indent'. 6418 (html_printer::emit_raw): Use it. 6419 (html_printer::do_linelength): Ditto. 6420 (html_printer::do_pageoffset): Ditto. 6421 (html_printer::do_indentation): Ditto. 6422 (html_printer::do_tempindent): Ditto. 6423 (html_printer::do_break): Ditto. 6424 (html_printer::begin_page): Ditto. 6425 (html_printer::do_indentedparagraph): New function. 6426 (html_printer::troff_tag): Handle `.ip'. 6427 * src/devices/grohtml/html-text.cc (html_text::issue_table_begin): 6428 Add `<td width=...>' handling. 6429 (html_text::do_table): Add parameter. 6430 (html_text::do_indent): Updated. 6431 * src/devices/groohtml/html-text.h: Updated. 6432 64332001-03-16 Gaius Mulley <gaius@glam.ac.uk> 6434 6435 Introduced simple html tables to implement indentation. 6436 6437 * src/devices/grohtml/html.h (word, word_list): New structures. 6438 (simple_output): Use it. 6439 * src/devices/grohtml/post-html.cc: Add `INDENTATION'. 6440 (html_printer): Improve indentation handling. 6441 (html_printer::emit_raw): Set `in_table' element. Handle 6442 indentation if set. 6443 (html_printer::write_header): Move conditional downwards. 6444 Don't allow whitespace in tags. 6445 (html_printer::do_linelength): Handle line length and indentation 6446 conditionally. 6447 (html_printer::do_pageoffset): Handle indentation conditionally. 6448 (html_printer::do_indentation): Ditto. 6449 (html_printer::do_tempindent): New function member. 6450 (html_printer::do_fill): Take care of indentation. 6451 (html_printer::do_flush): Finish table. 6452 (html_printer::do_links): Ditto. 6453 (html_printer::do_break): New function for handling `.br' and `.ti'. 6454 (html_printer::troff_tag): Use it. 6455 Handle `.ti'. 6456 (html_printer::flush_globs): Fix. 6457 (html_printer::flush_page): Finish table. 6458 (html_printer::html_printer): Fix error message. Set up 6459 `linelength'. 6460 (html_printer::add_to_sbuf): Remove special handling of character 6461 code 255. 6462 (to_unicode): Remove `stop()'. 6463 (html_printer::write_title): Cleanup. 6464 (html_printer::begin_page): Use `put_string()'. Handle indentation. 6465 (html_printer::~html_printer): Flush text and end the line. 6466 Use `put_string()'. 6467 * src/devices/grohtml/html_text.h: Add more *_TAG enum values. 6468 * src/devices/grohtml/html_text.cc (html_text::end_tag): Fix 6469 emission of tags. 6470 (html_text::start_tag): Disable newlines. 6471 (html_text::table_is_void): New function. 6472 (html_text::issue_table_begin): Ditto. 6473 (html_text::issue_table_end): Ditto. 6474 (html_text::push_para): Better table handling. 6475 (html_text::do_indent): New function. 6476 (html_text::do_table): Ditto. 6477 (html_text::done_table): Ditto. 6478 (html_text::do_tt): Handle PRE_TAG. 6479 (html_text::is_in_table): New function. 6480 (html_text::check_emit_text): Handle tables. 6481 (html_text::do_emittext): Use `nl()'. 6482 (html_text::do_para): Handle table. 6483 (html_text::remove_def): New function. 6484 * src/devices/grohtml/output.cc (word, word_list): Implement 6485 methods. 6486 (simple_output::end_line): Flush last word. 6487 (simple_output::simple_comment): Ditto. 6488 (simple_output::begin_comment): Recoded. 6489 (simple_output::end_comment): Ditto. 6490 (simple_output::comment_arg): Removed. 6491 (simple_output::check_newline): Improve test and flush last word. 6492 (simple_output::space_or_newline): Improved. 6493 (simple_output::write_newline): Replaced with... 6494 (simple_output::nl): This. 6495 (simple_output::put_raw_char): Flush last word. 6496 (simple_output::check_space): Removed. 6497 (simple_output::put_translated_string): Ditto. 6498 (simple_output::put_string): Simplified. 6499 (simple_output::put_number): Updated. 6500 (simple_output::put_float): Ditto. 6501 (simple_output::put_symbol): Removed. 6502 (simple_output::enable_newlines): Add `check_newline()'. 6503 (simple_output::flush_last_word): New function. 6504 6505 * src/roff/troff/enc.cc (no_fill): Remove call to add_html_tag(). 6506 * src/roff/troff/div.cc (page_offset): Add call to add_html_tag(). 6507 6508 * tmac/s.tmac (@PP, @IP): Add html conditional code. 6509 * tmac/an-old.tmac (TP): Ditto. 6510 65112001-03-09 Ruslan Ermilov <ru@freebsd.org> 6512 6513 * mdate.sh: Make it POSIX compliant. 6514 65152001-03-09 Werner LEMBERG <wl@gnu.org> 6516 6517 Added the `return' request to end a macro immediately. It simply 6518 pops iterators from the input stack until a macro iterator is found. 6519 6520 * src/roff/troff/input.cc (input_iterator::is_macro, 6521 macro_iterator::is_macro): New member. 6522 (input_return_boundary): New class to signal an immediate return 6523 to while_request(). 6524 (input_stack::add_return_boundary, input_stack::is_return_boundary): 6525 New functions. 6526 (input_stack::clear): Use it. 6527 (input_stack::pop_macro): New function. 6528 (while_request): Use `is_return_boundary()'. 6529 (return_macro_request): New function. 6530 (init_input_requests): Use it. 6531 6532 * src/roff/troff/TODO: Updated. 6533 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 6534 65352001-03-08 Werner LEMBERG <wl@gnu.org> 6536 6537 * src/roff/troff/input.cc (input_iterator::is_boundary): Minor 6538 cleanup. 6539 65402001-03-07 Werner LEMBERG <wl@gnu.org> 6541 6542 Make `\B' more rigid. 6543 6544 * src/roff/troff/number.cc (parse_expr, parse_term): Add `rigid' 6545 parameter. 6546 (get_number_rigidly): New function. 6547 * src/roff/troff/input.cc (do_expr_test): Use it. 6548 * src/roff/troff/token.h: Updated. 6549 6550 * src/roff/troff/request.h: Fix typo (init_html_request -> 6551 init_markup_request). 6552 65532001-03-04 Gaius Mulley <gaius@glam.ac.uk> 6554 6555 Fixed grohtml handling of any named glyph for glyph indexes < 0x80. 6556 Cosmetic changes to `.html-begin', `.html-end', `.html-image' which 6557 are now `.begin', `.end', `.image'. 6558 6559 * src/devices/grohtml/post-html.cc: Adding UNICODE_DESC_START. 6560 (html_printer::add_to_sbuf): Changing type of `code' parameter. 6561 Use add_char_to_sbuf(). 6562 (to_unicode): New function. 6563 (char_translate_to_html): Changing type of `ch' parameter. 6564 Use `to_unicode()'. 6565 (html_printer::~html_printer): Comment out doctype string. 6566 * src/preproc/html/pre-html.cc (write_end_image): Use `.end' 6567 instead of `.html-end'. 6568 (write_start_image): Use `.begin' and `.image' instead of 6569 `.html-begin' and `.html-image'. 6570 * src/roff/troff/input.cc: Rename `html_level' to `begin_level'. 6571 (html_begin): Renamed to ... 6572 (begin): This. 6573 (html_end): Renamed to ... 6574 (end): This. 6575 (html_image): Renamed to ... 6576 (image): This. 6577 (init_html_requests): Renamed to ... 6578 (init_markup_requests): This. 6579 * tmac/www.tmac: Updated. 6580 65812001-02-28 Bram <bram@avontuur.org> 6582 6583 * src/libs/libgroff/font.cc (font_widths_cache): Fixing syntax of 6584 constructor. 6585 65862001-02-26 David Leonard <david.leonard@csee.uq.edu.au> 6587 6588 * doc/meref.me: Fixing some typos. 6589 65902001-02-16 Werner LEMBERG <wl@gnu.org> 6591 6592 * src/roff/troff/node.cc (space_node::get_hyphenation_type): New 6593 method. Return `HYPHEN_MIDDLE' if it was `\:'. 6594 * src/roff/troff/node.h: Updated. 6595 65962001-02-17 Ruslan Ermilov <ru@FreeBSD.org> 6597 6598 * tmac/groff_tmac.man: Fix typo. 6599 66002001-02-16 Werner LEMBERG <wl@gnu.org> 6601 6602 Fixing a bug which prevented proper end-of-sentence recognition 6603 between an `unformatted' box and the following text. As a 6604 consequence, vertical line distances are no longer preserved in 6605 boxes after a call to `.unformat' -- because boxes aren't 6606 line-oriented (contrary to diversions), this doesn't make sense 6607 anyway. 6608 6609 * src/roff/troff/node.cc (*node::set_unformat_flag): Add return 6610 value. 6611 (vertical_size_node::set_unformat_flag): New method. 6612 * src/roff/troff/node.hh: Updated. 6613 * src/roff/troff/input.cc (word_space_node::reread, 6614 hmotion_node::reread): Reset `unformat' flag after usage. 6615 (unformat_macro): Append only if `set_unformat_flag()' returns 6616 non-zero. 6617 * src/roff/troff/troff.man: Updated. 6618 66192001-02-15 Werner LEMBERG <wl@gnu.org> 6620 6621 * src/roff/troff/troff.man, NEWS, man/groff.man: Improved 6622 documentation of `asciify' and `unformat' requests. 6623 66242001-02-13 Werner LEMBERG <wl@gnu.org> 6625 6626 Redesigned the `unformat' request. It is no longer connected with 6627 `asciify' but rather uses new `reread()' methods if the `unformat' 6628 flag is set. Additionally, the handling of space characters after 6629 unformatting has been fixed so that they retain their width. 6630 6631 * src/roff/troff/node.h (width_list): New structure to store 6632 original widths of spaces. 6633 (node): Added `unformat' member. 6634 Replaced `num_spaces' variable with `orig_width' list. 6635 * src/roff/troff/node.cc (*node::asciify, 6636 asciify_reverse_node_list): Removed `unformat_only' flag and related 6637 code. 6638 (word_space_node::asciify, word_space_node::word_space_node): Use 6639 `orig_width'. 6640 (word_space_node::~word_space_node): New destructor. 6641 (word_space_node::copy): Updated to handle `orig_width'. 6642 (hmotion_node::copy, unbreakable_space_node::copy): Updated. 6643 (*node::merge_space): Update `orig_width' list if necessary. 6644 (*node::set_unformat_flag): New methods to set the `unformat' flag. 6645 * src/roff/troff/enc.cc (environment::space_newline): Use 6646 `width_list'. 6647 (environment::space): Added method to handle space width and 6648 sentence space width as parameters. Use `width_list'. 6649 (environment::make_tab_node): Updated. 6650 * src/roff/troff/env.h: Updated. 6651 * src/roff/troff/input.cc (word_space_node::reread, 6652 unbreakable_space_node::reread, hmotion_node::reread): New methods 6653 to handle nodes specially if `unformat' flag is set. 6654 (do_asciify_macro): Renamed back to ... 6655 (asciify_macro): This. 6656 (unformat_macro): New implementation to simply set the `unformat' 6657 flag. 6658 6659 * MORE.STUFF: Added more info about deroff. 6660 66612001-02-08 Werner LEMBERG <wl@gnu.org> 6662 6663 * src/roff/troff/node.h (unbreakable_space_node, hmotion_node, 6664 space_char_hmotion_node, overstrike_node): Add `get_hyphen_list()' 6665 and `add_self()' methods to avoid hyphenation. For example, the 6666 hyphen list for `foo\0\0bar' was `foobar', causing insertion of a 6667 soft hyphen after `foo'. Now the hyphen list is correctly 6668 `foo<ignore><ignore>bar'. 6669 66702001-02-05 Yoshiteru Kageyama <yt-kage@cb3.so-net.ne.jp> 6671 6672 * tmac/groff_tmac.man: Fix `BIR' macro. 6673 66742001-02-04 Werner LEMBERG <wl@gnu.org> 6675 6676 A new escape sequence `\:', inserting a zero-width break point. 6677 6678 * src/roff/troff/input.h: Adding `ESCAPE_COLON'. 6679 * src/roff/troff/input.cc (get_copy, token::next, asciify): 6680 Implement it. 6681 * src/roff/troff/node.h (node): Add `is_escape_colon()' virtual 6682 method. 6683 (space_node): Add `was_escape_colon' member. Add `is_escape_colon()' 6684 and `asciify()' methods. 6685 * src/roff/troff/node.cc (space_node::space_node): Updated. 6686 (space_node::asciify): Handle `was_escape_colon'. 6687 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 6688 6689 Handle `\~' similar to other comparable requests. 6690 6691 * src/roff/troff/input.cc (process_input_stack): Remove now obsolete 6692 label. 6693 (token::next): Move creation of an unbreakable_space_node to... 6694 (token::add_to_node_list): Here. 6695 6696 Fix a bug which sometimes prevented hyphenation of words connected 6697 with `\~' or `\ ' (and other escape sequences handled as 6698 TOKEN_NODE). This also fixes a hyphenation problem with boxes 6699 (after a call to the `unformat' request). 6700 6701 * src/roff/troff/env.h (environment::possibly_break_line, 6702 environment::hyphenate_line): Introducing `start_here' parameter. 6703 * src/roff/troff/env.cc (environment::space_newline, 6704 environment::space): Use it. 6705 (environment::possibly_break_line, environment::hyphenate_line): 6706 Implement it. 6707 * src/roff/troff/input.cc (process_input_stack): Use it. 6708 * src/roff/troff/node.h (unbreakable_space_node, hmotion_node, 6709 space_char_hmotion_node, overstrike_node): Add 6710 `get_hyphenation_type()' method. 6711 * src/roff/troff/node.cc (break_char_node::asciify): Don't asciify 6712 if `unformat_only' is active. 6713 67142001-01-30 Werner LEMBERG <wl@gnu.org> 6715 6716 Implemented new read-only number register `.linetabs' which 6717 returns 1 if in line-tabs mode, 0 otherwise. 6718 6719 * src/roff/troff/env.h (environment): Add get_line_tabs() member. 6720 * src/roff/troff/env.cc (get_line_tabs): New function. 6721 (init_env_requests): Use it. 6722 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 6723 6724 * VERSION, REVISION: Changing to 1.17.0. 6725 67262001-01-28 Werner LEMBERG <wl@gnu.org> 6727 6728 Fixed a bug which prevented hyphenation of words which are finished 6729 with `\)'. 6730 6731 * src/roff/troff/token.h (token): Add enum type 6732 `TOKEN_TRANSPARENT_DUMMY' and method `transparent_dummy()'. 6733 * src/roff/troff/input.cc (token::next, token::description, 6734 get_line_arg, token::add_to_node_list, token::process): Use it. 6735 67362001-01-27 Werner LEMBERG <wl@gnu.org> 6737 6738 * src/roff/troff/div.h (diversion): Add `saved_prev_line_interrupted'. 6739 * src/roff/troff/div.cc (do_divert): Use it. 6740 6741 * src/roff/troff/input.cc (asciify): Add ESCAPE_RIGHT_PARENTHESIS. 6742 67432001-01-25 Werner LEMBERG <wl@gnu.org> 6744 6745 Adding the `linetabs' request. If set, tab distances are not 6746 computed relative to the input line but relative to the output line. 6747 6748 * src/roff/troff/env.h (environment): New member `line_tabs'. 6749 * src/roff/troff/env.cc (line_tabs_request): Implement request. 6750 (environment::environment, environment::copy): Updated. 6751 (environment::distance_to_next_tab): Use `line_tabs'. 6752 (init_env_requests): Register request. 6753 * src/roff/troff/troff.man, man/groff.man, NEWS: Document it. Other 6754 fixes. 6755 67562001-01-24 Werner LEMBERG <wl@gnu.org> 6757 6758 Introducing a new read-only register `.int' which is set to a 6759 positive value if the last output line is interrupted (i.e., if it 6760 contains `\c'). 6761 6762 * src/roff/troff/env.cc (init_env_requests): Add it. 6763 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 6764 67652001-01-23 Gaius Mulley <gaius@glam.ac.uk> 6766 6767 * tmac/mwww.tmac: Call `www.tmac', not `arkup.tmac'. 6768 * src/preproc/html/pre-html.cc (findPrefix): New function which 6769 generates the troff executable name via the system prefix. 6770 * src/preproc/eqn/main.cc: Modified warning message. 6771 67722001-01-23 Werner LEMBERG <wl@gnu.org> 6773 6774 troff's `box' and `boxa' requests didn't preserve temporary 6775 indentation. 6776 6777 * src/roff/troff/div.h (diversion): Add `saved_saved_indent' and 6778 `saved_target_text_length' members. 6779 * src/roff/troff/div.cc (do_divert): Use them. 6780 6781 Tabs (but not yet leaders and fields) are now handled correctly by 6782 `asciify' request. 6783 6784 * node.h (hmotion_node): Add field `was_tab'. 6785 * env.cc (environment::make_tab_node): Set it. 6786 * node.cc (hmotion_node::copy, hmotion_node::asciify): Use it. 6787 6788 Added new request `unformat' which will, contrary to `asciify', 6789 preserve font information after unformatting (i.e., only nodes 6790 dealing with horizontal space are converted back to input 6791 characters). 6792 6793 * input.cc (asciify_macro): Renamed to ... 6794 (do_asciify_macro): this, having a new parameter `unformat_only'. 6795 (asciify_macro, unformat_macro): New; using do_asciify_macro. 6796 (init_input_requests): Added `unformat'. 6797 * node.cc (*_node::asciify), asciify_reverse_node_list: Added 6798 parameter to control asciification process. 6799 * node.h (*_node::asciify): Ditto. 6800 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 6801 68022001-01-20 Werner LEMBERG <wl@gnu.org> 6803 6804 * doc/groff.texinfo: Minor improvement of `.in' documentation. 6805 68062001-01-18 Werner LEMBERG <wl@gnu.org> 6807 6808 * tmac/ps.tmac: Remove call of psold.tmac. 6809 * tmac/psold.tmac: Comment updated. 6810 * tmac/psnew.tmac: Removed since no longer needed. 6811 * tmac/Makefile.sub, NEWS, src/devices/grops/grops.man: Updated. 6812 6813 * font/devutf8/R.proto: Adding `shc' glyph. 6814 * font/devutf8/NOTES: Updated. 6815 6816 * test-groff: Updated. 6817 68182001-01-15 Gaius Mulley <gaius@glam.ac.uk> 6819 6820 First cut of the new html device driver. Changes to pre-html and 6821 the new grohtml are too numerous to be documented here. 6822 6823 Stuff related to `html' has been renamed to `html-old' and `html2' 6824 stuff has been renamed to `html' (including directories). The new 6825 html device driver is therefore invoked as `-Thtml'. 6826 6827 Added new `\O' escape to suppress output (needed by html driver). 6828 6829 Added functions and code to pass info about input-level commands 6830 (`.in', `.fl', etc.) to html driver. 6831 6832 Three new functions (.html-begin, .html-end, and .html-image) for 6833 better html handling: `html-begin' will execute the remaining line 6834 if at the outermost nesting level, increasing an internal counter. 6835 `html-end' does the same but decreases the internal counter. 6836 `html_image' puts its arguments into a special node (suppress_node) 6837 to define an image region. 6838 6839 The `output' request has been removed. 6840 6841 * tmac/html-tags.tmac: Removed. 6842 * tmac/arkup.tmac: Updated and renamed to ... 6843 * tmac/www.tmac: New file. 6844 * tmac/markup.tmac Updated and renamed to ... 6845 * tmac/mwww.tmac: New file. 6846 * tmac/Makefile.sub: Updated. 6847 * tmac/an-old.tmac: Updated. 6848 * tmac/eqnrc: Updated. 6849 * tmac/groff_man.man 6850 * tmac/groff_markup.man: Updated and renamed to ... 6851 * tmac/groff_mwww.man: New file. 6852 * tmac/groff_tmac.man: Updated. 6853 * tmac/html-old.tmac: Updated and Renamed from html.tmac. 6854 * tmac/html.tmac: Updated and renamed from html2.tmac. 6855 * tmac/pspic.tmac: Updated html support. 6856 * tmac/s.tmac: Added html output support. 6857 * tmac/troffrc, tmac/troffrc-end: Updated. 6858 6859 * Makefile.in, doc/Makefile: Updated. 6860 * doc/groff.texinfo: Added info about new `\O' escape. 6861 * doc/homepage.ms: Use `MAILTO' macro. 6862 6863 * font/devhtml/DESC.proto: Add `C' font. 6864 * font/devhtml/Makefile.sub: Updated. 6865 * font/devhtml/R.proto: Minor fixes. 6866 * font/devhtml-old/Makefile.sub: Updated. 6867 6868 * src/devices/grohtml-old/Makefile.sub: Updated. 6869 6870 * src/libs/libdriver/printer.cc (printer::get_font_from_index): New 6871 method. 6872 * src/libs/libgroff/htmlindicate.cc (html_begin_suppress, 6873 graphic_start): Add `inline' parameter. Update. 6874 (html_end_suppress, graphic_end): Update. 6875 6876 * src/include/html-strings.h: New file. 6877 * src/include/htmlindicate.h: Comments updated. 6878 * src/include/printer.h: Updated. 6879 6880 * src/preproc/eqn/main.cc (do_file, main): Updated. 6881 * src/preproc/pic/troff.cc (troff_output::start_picture, 6882 troff_output::finish_picture): Updated. 6883 * src/preproc/tbl/main.cc (process_input_file): Updated. 6884 6885 * src/roff/groff/groff.cc (main): Updated. 6886 Pass device arguments to predrivers also. 6887 Use `ps' device for `eqn' preprocessor if `-Thtml' is given. 6888 * src/roff/troff/env.h (environment): Updated. 6889 New elements `need_eol' and `ignore_next_eol' (for html output). 6890 * src/roff/troff/env.cc (environment::environment): Add initializers 6891 for `need_eol' and `ignore_next_eol'. 6892 (environment::add_html_tag_eol, environment::add_html_tag_tabs): New 6893 functions. 6894 (point_size, fill, no_fill, center, right_justify, line_length, 6895 indent, temporary_indent, break_request, handle_tab): Use 6896 `add_html_tag()'. 6897 (set_tabs): Use `add_html_tag_tabs()'. 6898 (environment::add_html_tag): Updated. 6899 (environment::do_break): Updated. 6900 * src/roff/troff/div.cc (space_request, flush_output): Use 6901 `environment::add_html_tag()'. 6902 * src/roff/troff/input.cc: Updated. 6903 New variable `html_level' to indicate nested `html-begin' requests. 6904 (file_iterator::fill): Use `environment::add_html_tag_eol()'. 6905 (non_interpreted_char_node, token_node, non_interpreted_node): Add 6906 `force_tprint()' method. 6907 (token::next): Handle `\O'. 6908 (do_suppress): Implement it. 6909 (html_begin, html_end, html_image): New functions. 6910 (init_output_requests): Renamed to ... 6911 (init_html_requests): this. 6912 (main): Use it. 6913 (macro::append_str, macro::append_unsigned, macro::append_int): New 6914 methods. 6915 New variable `output_low_mark_miny' to limit minimal value of y. 6916 (reset_output_registers): Use it. 6917 (output_request): Removed. 6918 (get_output_registers): New function. 6919 * src/roff/troff/node.h (node): Make `force_tprint()' virtual. 6920 (*_node): Added `force_tprint()' if necessary. 6921 (special_node): New elements `tf' and `get_tfont()'. 6922 (suppress_node): New class. 6923 * src/roff/troff/node.cc: 6924 New global variables `image_no' and `suppress_start_page'. 6925 (real_output_file): New method `is_on()'. 6926 (troff_output_file): New method `start_special(tfont)'. 6927 (troff_output_file::really_print_line): Use `tprint' conditionally. 6928 (real_output_file::print_line): Updated. 6929 (real_output_file::on): Updated. 6930 (*_node): Added `force_tprint()'. 6931 (special_node::special_node): Initializer updated. 6932 (special_node::same, special_node::copy, special_node::tprint_start): 6933 Updated. 6934 (get_reg_int, get_reg_str): New functions. 6935 (suppress_node::*): New methods. 6936 New global variables last_position, last_image_filename; 6937 (min): New inline function. 6938 * src/roff/troff/reg.h, src/roff/troff/request.h, 6939 src/roff/troff/troff.h: Updated. 6940 69412001-01-13 Werner LEMBERG <wl@gnu.org> 6942 6943 * NEWS, src/roff/troff/troff.man, doc/groff.texinfo: Fix 6944 documentation of `asciify' request. 6945 69462001-01-12 Werner LEMBERG <wl@gnu.org> 6947 6948 * src/roff/troff/input.cc: Move definition of special characters 6949 like `ESCAPE_TILDE' to ... 6950 * src/roff/troff/input.h: New file. 6951 * src/roff/troff/Makefile.sub (HDRS): Add it. 6952 6953 Extending the .asciify request to `unformat' space characters also. 6954 6955 * src/roff/troff/node.h (word_space_node): Add `num_spaces' element 6956 to count input space characters. 6957 Update constructors to take care of it. 6958 * src/roff/troff/node.cc (space_char_hmotion_node::asciify): Use 6959 `ESCAPE_SPACE' instead of normal space. 6960 (word_space_node::asciify): New method. 6961 (unbreakable_space_node::asciify): New method. 6962 (word_space_node::merge_space): New method. 6963 * src/roff/troff/env.cc (environment::space_newline, 6964 environment::space): Add code to initialize `num_spaces' (using the 6965 constructor of `word_space_node'). 6966 * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo: 6967 Document it. 6968 69692001-01-09 Werner LEMBERG <wl@gnu.org> 6970 6971 * man/groff_char.man: Use table header traps only conditionally. 6972 69732001-01-09 Bjarni Ingi G�slason <bjarniig@hi.is> 6974 6975 * man/groff_char.man: Add `�' and `�' to the `acute' group. 6976 69772001-01-08 Werner LEMBERG <wl@gnu.org> 6978 6979 Introducing the `box' and `boxa' requests which are similar to 6980 `di' resp. `da' but omitting a partially filled line (which is 6981 restored after ending the diversion). 6982 6983 * src/roff/troff/div.h (diversion): Add elements to save partially 6984 filled line. 6985 * src/roff/troff/div.cc (do_divert): Add parameter `boxing' to save 6986 partially filled line. 6987 (divert, divert_append): Updated. 6988 (box, box_append): New functions. 6989 (init_div_requests): Use them. 6990 * src/roff/troff/env.h (environment): do_divert() is now a friend. 6991 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 6992 6993 * doc/groff.texinfo: Fix documentation of `lf' request. 6994 69952000-12-25 Werner LEMBERG <wl@gnu.org> 6996 6997 * src/roff/troff/troff.man, NEWS: Document `writem' request. 6998 69992000-12-21 Werner LEMBERG <wl@gnu.org> 7000 7001 Ignore `ss' request if in compatibility mode. 7002 7003 * src/roff/troff/input.cc: Make `compatible_flag' non-static. 7004 * src/roff/troff/env.h: Added extern `compatible_flag' declaration. 7005 * src/roff/troff/env.cc (space_size): Use it. 7006 7007 * doc/groff.texinfo, src/roff/troff/troff.man: Fix documentation of 7008 `ss' request in nroff mode. 7009 7010 * tmac/an-old.tmac: Fixed some serious bugs introduced with latest 7011 changes. 7012 70132000-12-15 Ruslan Ermilov <ru@FreeBSD.org> 7014 7015 * tmac/troffrc, tmac/troffrc-end: Convert tmac.* to *.tmac. 7016 70172000-12-13 Werner LEMBERG <wl@gnu.org> 7018 7019 * src/preproc/eqn/Makefile.sub (MAN1): Added neqn.man. 7020 * src/preproc/eqn/neqn.man: Small fixes and additions. 7021 70222000-12-13 Ruslan Ermilov <ru@FreeBSD.org> 7023 7024 * src/utils/addftinfo/addftinfo.man, src/devices/grops/grops.man: 7025 Fixing typo. 7026 7027 * src/preproc/eqn/neqn.man: New file. 7028 7029 * src/preproc/tbl/table.cc (table::print): Fix `indent cannot be 7030 negative' warning. 7031 7032 * tmac/e.tmac: Add `T&' macro. 7033 Fix `indent cannot be negative' warning. 7034 * tmac/s.tmac: Fix `indent cannot be negative' warning. 7035 70362000-12-07 Werner LEMBERG <wl@gnu.org> 7037 7038 * src/include/lib.h: Replaced __ALPHA with __alpha symbol. 7039 70402000-12-06 Werner LEMBERG <wl@gnu.org> 7041 7042 * PROBLEMS: Added info about adding -lPW on HP-UX to satisfy the 7043 `alloca' symbol . 7044 7045 * MORE.STUFF: Added info about deroff for djgpp. 7046 7047 * tmac/an-old.tmac, tmac/groff_man.man, doc/groff.texinfo, NEWS: Fix 7048 documentation of -rcR switch. 7049 70502000-12-03 Werner LEMBERG <wl@gnu.org> 7051 7052 * tmac/an-old.tmac: Implementing the -rcR switch (similar to mdoc); 7053 if -rcR=1 (which is now the default in nroff mode), a single, very 7054 long page is created instead of multiple pages: All `ne' and `wh' 7055 requests are put into conditionals; a new macro `an-end' is added to 7056 be called with `em'. 7057 7058 Some other minor cleanups. 7059 7060 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Updated. 7061 70622000-12-02 Werner LEMBERG <wl@gnu.org> 7063 7064 Fixing a bug which prevented hyphenation in words followed 7065 immediately by a TOKEN_NODE (e.g. `\ ', `\~', etc.). 7066 7067 * src/roff/troff/input.cc (process_input_stack <token::TOKEN_NODE>): 7068 Adding possibly_break_line(). 7069 * src/roff/troff/env.h (environment): Make possibly_break_line() 7070 public. 7071 7072 Make `\~' usable in .tr request. 7073 7074 * src/roff/troff/token.h (token_type): Add TOKEN_STRETCHABLE_SPACE. 7075 (token): Add stretchable_space(). 7076 * src/roff/troff/input.cc (token::next, token::delimiter, 7077 token::description, process_input_stack, do_translate, 7078 add_to_node_list, token::process): Use it. 7079 * src/roff/troff/node.h (node): Add fourth parameter to add_char() 7080 for adjusting the space. 7081 * src/roff/troff/node.cc (node::add_char): Implement it. Add code 7082 for stretchable space. 7083 * src/roff/troff/input.cc (token::add_to_node_list): Use it. 7084 (make_node): Add code for stretchable space. 7085 * src/roff/troff/env.cc (environment::add_char): Use it. 7086 * src/roff/troff/input.cc: Add ESCAPE_TILDE special character. 7087 (get_copy, token::next, transparent_translate, asciify): Use it. 7088 7089 * NEWS, src/roff/troff/troff.man, src/roff/troff/TODO, 7090 doc/groff.texinfo: Updated. 7091 * man/groff.man: Small reorderings. 7092 70932000-11-23 Werner LEMBERG <wl@gnu.org> 7094 7095 * NEWS: Fixes. 7096 * src/preproc/eqn/main.cc (main): Use `config_macro_path' for -M 7097 option. 7098 * src/roff/troff/input.cc (main): Add `config_macro_path' and 7099 `safer_macro_path' to -M option. 7100 * src/roff/troff/troff.man: Fixes. 7101 71022000-11-22 Werner LEMBERG <wl@gnu.org> 7103 7104 Use safer path (except for config files) if -U isn't specified. Add 7105 a special macro path (without home and current directory) for config 7106 files. Add home directory to unsafe path for consistency. Don't 7107 include the home directory in the font path. 7108 7109 * src/libs/libgroff/macropath.cc: Add `config_macro_path', change 7110 `macro_path'. 7111 * src/include/macropath.h: Add `config_macrp_path'. 7112 * src/libs/libgroff/fontfile.cc: Fix font path. 7113 * src/roff/troff/input.cc (process_startup_file): Use 7114 `config_macro_path'. 7115 (main): Select unsafe path if -U is given. 7116 7117 * src/preproc/eqn/main.cc (main): Fixing search path for 7118 configuration file. 7119 * src/preproc/eqn/eqn.man: Updated. 7120 7121 * src/roff/troff/troff.man, man/roff.man, tmac/groff_tmac.man: 7122 Updated. 7123 7124 * src/preproc/grn/grn.man, src/devices/grodvi/grodvi.man, 7125 src/devices/grohtml/grohtml.man, src/devices/grolbp/grplbp.man, 7126 src/devices/grolj4/grolj4.man, src/devices/grops/grops.man, 7127 src/devices/grotty/grotty.man: Updated. 7128 7129 * Makefile.in: Fix comments. 7130 71312000-11-17 Werner LEMBERG <wl@gnu.org> 7132 7133 * tmac/safer.tmac: Empty file added (again) for compatibility 7134 reasons. 7135 * tmac/Makefile.sub: Updated. 7136 71372000-11-16 Werner LEMBERG <wl@gnu.org> 7138 7139 * src/devices/grodvi/dvi.cc (main), 7140 src/devices/grohtml2/post-html.cc (main), 7141 src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc 7142 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc 7143 (main), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc 7144 (main), src/preproc/html2/pre-html.cc (main), 7145 src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main), 7146 src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc 7147 (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc 7148 (main), src/utils/hpftodit/hpftodit.cc (main), 7149 src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc 7150 (main), src/utils/lookbib/lookbib.cc (main), 7151 src/utils/pfbtops/pfbtops.c (main), src/utils/tfmtodit/tfmtodit.cc 7152 (main): Use stdout for -v. 7153 * src/roff/groff/groff.cc (run_commands), 7154 src/roff/groff/pipeline.c (run_pipeline): New parameter `no_pipe' 7155 to make direct printing to stdout possible. 7156 * src/roff/groff/pipeline.h: Updated. 7157 7158 * src/utils/afmtodit/afmtodit.pl: Add -v switch. 7159 * src/utils/afmtodit/Makefile.sub (afmtodit): Use @VERSION@. 7160 * src/utils/afmtodit/afmtodit.man: Updated. 7161 7162 * src/utils/addftinfo/addftinfo.cc (main): Add -v switch. 7163 (version): New function. 7164 (usage): Updated. 7165 * src/utils/addftinfo/addftinfo.man: Updated. 7166 7167 * src/devices/*/*, src/preproc/*/*, src/roff/*/*, src/utils/*/*: 7168 Fixing copyright dates. 7169 7170 * src/preproc/eqn/neqn.sh: Adding GROFF_BIN_PATH to path instead of 7171 replacing it. 7172 7173 * src/devices/grolbp/lbp.cc (main): Use Version_string instead of 7174 version_string. 7175 7176 * src/roff/nroff/Makefile.sub (nroff): Fix use of @VERSION@. 7177 71782000-11-15 Werner LEMBERG <wl@gnu.org> 7179 7180 In all programs, make -v return immediately with exit status 0 to 7181 be compliant with the GNU standard. 7182 7183 * src/devices/grodvi/dvi.cc (main), 7184 src/devices/grohtml2/post-html.cc (main), 7185 src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc 7186 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc 7187 (main) src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc 7188 (main), src/preproc/html2/pre-html.cc (main), 7189 src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main), 7190 src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc 7191 (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc 7192 (main): Implement it. 7193 * NEWS: Updated. 7194 7195 * src/roff/groff/groff.cc (main): Add copyright notice. Add refer 7196 and postprocessors to the -v option. 7197 7198 * src/roff/grog/grog.pl: Implement -v. 7199 * src/roff/grog/Makefile.sub (grog): Use @VERSION@. 7200 * src/roff/grog/grog.man, doc/groff.texinfo: Updated. 7201 7202 * src/roff/nroff/nroff.sh: Implement -v. 7203 * src/roff/nroff/Makefile.sub (nroff): Use @VERSION@. 7204 * src/roff/nroff/nroff.man: Updated. 7205 7206 * src/preproc/eqn/main.cc (main): Fix comment typo. 7207 7208 * MORE.STUFF: Added info about djgpp port of grap. 7209 72102000-11-14 Werner LEMBERG <wl@gnu.org> 7211 7212 * src/roff/grog/grog.{pl,sh}: Implemented -C switch for compatibility 7213 mode (or rather, implemented non-compatibility mode). 7214 * NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated. 7215 7216 * src/roff/groff/groff.cc (main): Add BIN_PATH to PATH instead of 7217 replacing it -- we don't find gxditview otherwise. 7218 * NEWS, src/roff/groff/groff.man, doc/groff.texinfo: Updated. 7219 7220 * src/preproc/pic/depend: Removed. Unnecessary. 7221 7222 Implemented dummy keyword `solid' in pic for compatibility with 7223 AT&T pic. 7224 7225 * lex.cc (lookup_keyword): Added `solid'. 7226 * pic.y: Added SOLID with dummy rule. 7227 * pic.cc, pic_tab.h: Regenerated. 7228 * doc/pic.ms: Updated. 7229 72302000-11-13 Werner LEMBERG <wl@gnu.org> 7231 7232 For security reasons, don't use the current directory but the home 7233 directory while searching and scanning troffrc and troffrc-end. 7234 Similarly, replace the current directory with the home directory 7235 in the font path. 7236 7237 * Makefile.in (fontpath, tmacpath): Remove current directory. 7238 7239 * src/libs/libgroff/searchpath.cc (search_path::search_path): Add 7240 two parameters `add_home' and `add_current'. 7241 (search_path::~search_path, search_path::command_line_dir, 7242 search_path::open_file): Remove tests for `dirs' being zero. 7243 * src/include/searchpath.h: Adjust. 7244 * src/libs/libgroff/macropath.cc, src/include/macropath.h: Add 7245 `safer_macro_path'. 7246 * src/libs/libgroff/fontfile.cc: Adjust `font_path'. 7247 7248 * src/roff/troff/troff.h: Add `searchpath.h' and `mac_path'. 7249 * src/roff/troff/input.cc: Use `mac_path', initialized with 7250 `macro_path'. 7251 (process_startup_file): Set `mac_path' to `safer_macro_path'. 7252 * src/roff/troff/env.cc: Use `mac_path'. 7253 7254 * src/preproc/eqn/main.cc (main): Use `safer_macro_path'. 7255 7256 * NEWS, man/roff.man, src/roff/troff/troff.man, 7257 src/roff/groff/groff.man, tmac/groff_tmac.man, arch/djgpp/README: 7258 Updated. 7259 72602000-11-12 Werner LEMBERG <wl@gnu.org> 7261 7262 * src/include/lib.h: Don't include groff-getopt.h for OSF/1. 7263 7264 * aclocal.m4 (GROFF_SYS_ERRLIST): Do test in C, not in C++. 7265 * configure.in: Fix typo in comment. 7266 * configure: Regenerated. 7267 7268 * src/libs/libgroff/*, src/include/*, src/roff/troff/*: Fixing 7269 copyright dates. 7270 72712000-11-08 Werner LEMBERG <wl@gnu.org> 7272 7273 Add system tmac directory (/usr/local/lib/groff/site-tmac). 7274 7275 * Makefile.in: Add $(libdir), $(libprogramdir), and $(systemtmacdir). 7276 (uninstall_dirs): Add $(libdir), $(libprogramdir), and 7277 $(systemtmacdir). 7278 Use @libdir@. 7279 * Makefile.comm (.man.n): Add @SYSTEMMACRODIR@. 7280 * tmac/Makefile.sub (install_data): Create 7281 $(systemtmacdir) and $(localtmacdir). 7282 (uninstall_sub): Use $(systemtmacdir) for wrapper macros. 7283 * man/roff.man, src/roff/troff/troff.man, src/roff/groff/groff.man, 7284 NEWS, doc/groff.texinfo: Updated and minor fixes. 7285 7286 * Makefile.comm, Makefile.in: Added tmac_{s,an}_prefix stuff again. 7287 * tmac/Makefile.sub: Added `wrap' stuff again, but installing into 7288 $(systemtmacdir) since the wrapper files are platform-dependent. 7289 72902000-11-01 Werner LEMBERG <wl@gnu.org> 7291 7292 * doc/groff.texinfo: Fix typo. 7293 72942000-10-26 Werner LEMBERG <wl@gnu.org> 7295 7296 Convert macros `tmac.XXX' to `XXX.tmac'. Special cases: 7297 tmac.doc.old -> doc-old.tmac 7298 tmac.an.old -> an-old.tmac 7299 7300 * tmac/tmac.*: Moved to ... 7301 * tmac/*.tmac: this. 7302 * tmac/man.local: Fix comment. 7303 * tmac/groff_man.man, tmac/groff_markup.man, tmac/groff_mdoc.man, 7304 tmac/groff_me.man, tmac/groff_ms.man, tmac/groff_tmac.man: Updated. 7305 Added some `FILES' sections. More use of @...@ directives. Other 7306 minor updates. 7307 * arch/djgpp/README, font/devutf8/NOTES: Updated. 7308 * doc/homepage.ms, doc/groff.texinfo: Updated. 7309 * man/groff.man, man/roff.man: Updated. 7310 * src/devices/grodvi/grodvi.man, src/devices/grolbp/grolbp.man, 7311 src/devices/grolj4/grolj4.man, src/devices/grops/grops.man, 7312 src/devices/grotty/grotty.man: Updated. 7313 * src/preproc/pic/pic.man: Updated. 7314 * src/roff/grog/grog.pl, src/roff/grog/grog.sh: Use -mdoc-old 7315 instead of -mdoc.old. 7316 * src/roff/grog/grog.man: Document -mdoc and -mdoc-old. 7317 * src/roff/nroff/nroff.man: Updated. 7318 * NEWS: Updated. 7319 7320 * tmac/fixmacros.sed, tmac/strip.sed: Add explanatory comment. 7321 7322 * tmac/mm.diff: Removed -- it has no use now since the mm package 7323 is part of groff. 7324 7325 * tmac/*: Removed trailing spaces. 7326 7327 * arch/djgpp/t-groff.bat: Fix GROFF_TMAC_PATH (hyphen.us is now in 7328 the tmac subdirectory also). 7329 7330 * Makefile.comm, Makefile.in: Remove tmac_{s,an}_prefix stuff. 7331 * tmac/Makefile.sub: Adapted to new macro names; removed `wrap' 7332 stuff since it is no longer needed. 7333 7334 * README, PROBLEMS: Updated. 7335 73362000-10-25 Werner LEMBERG <wl@gnu.org> 7337 7338 Invert current behaviour: Search first FOOBAR.tmac, then 7339 tmac.FOOBAR. 7340 7341 * src/roff/troff/input.cc: Introduce MACRO_POSTFIX. 7342 (open_mac_file, macro_source): Implement it. 7343 * src/roff/troff/troff.man, tmac/groff_tmac.man, man/roff.man, 7344 doc/groff.texinfo, NEWS: Document it. 7345 7346 * src/roff/nroff/nroff.man, src/roff/groff/groff.man, man/groff.man: 7347 Small documentation improvements. 7348 7349 * test-groff: Fix GROFF_TMAC_PATH (hyphen.us is now in the tmac 7350 subdirectory also). 7351 7352 * font/devps/Makefile.sub: Fix rules for dingbats.*map. 7353 73542000-10-24 Werner LEMBERG <wl@gnu.org> 7355 7356 Add local tmac directory (groff/site-tmac). 7357 7358 * Makefile.in: Add $(localtmacdir). 7359 (uninstall_dirs): Add $(localtmacdir). 7360 * Makefile.comm (.man.n): Add @LOCALMACRODIR@. 7361 * tmac/Makefile.sub (install_data, uninstall_sub): Handle man.local 7362 in $(localtmacdir). Create $(localtmacdir). 7363 * man/roff.man, src/roff/troff/troff.man, NEWS, doc/groff.texinfo: 7364 Updated and minor fixes. 7365 7366 Rename font/devps/generate/dingbats[r]map to dingbats.[r]map. 7367 7368 * font/devps/generate/Makefile.sub, arch/djgpp/README: Adjust. 7369 73702000-10-23 Werner LEMBERG <wl@gnu.org> 7371 7372 Move hyphen.us to tmac directory. 7373 7374 * src/roff/troff/hyphen.us: Removed. 7375 * src/tmac/hyphen.us: Added. 7376 * src/roff/troff/Makefile.sub, tmac/Makefile.sub: Updated. 7377 7378 Change installation structure for data files from .../groff/... to 7379 .../groff/<version><revision>/... to be conform with other GNU 7380 programs. 7381 7382 * Makefile.in, Makefile.comm, src/utils/indxbib/Makefile.sub, 7383 doc/Makefile: Implement it. 7384 * aclocal.m4 (GROFF_PAGE): Add test for new directory structure. 7385 * configure: Updated. 7386 * arch/djgpp/README, font/devutf8/NOTES: Use it. 7387 * NEWS: Document it. 7388 * man/roff.man, tmac/groff_tmac.man: Use @FONTPATH@, @FONTDIR@, and 7389 @MACRODIR@ instead of hard-coded directories. 7390 73912000-10-22 Werner LEMBERG <wl@gnu.org> 7392 7393 Implement $GROFF_BIN_PATH environment variable (which defaults to 7394 $bindir) used for child programs of groff and similar wrappers. 7395 7396 * gendefs.sh: Improve documentation. 7397 * Makefile.comm (,man.n), src/include/Makefile.sub (defs.h), 7398 src/preproc/eqn/Makefile.sub (neqn), 7399 src/roff/nroff/Makefile.sub (nroff): Add $(bindir). 7400 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Implement 7401 $GROFF_BIN_PATH. 7402 * src/roff/groff/groff.cc (main): Implement $GROFF_BIN_PATH and 7403 $GROFF_PATH__ (the latter for communication with troff). 7404 * src/roff/troff/input.cc (main): Use $GROFF_PATH__ for $PATH if 7405 set. 7406 * NEWS, src/roff/nroff/nroff.man, src/roff/groff/groff.man, 7407 doc/groff.texinfo: Document it. 7408 7409 * doc/groff.texinfo: Improve documentation of troff's -a option. 7410 74112000-10-17 Gaius Mulley <gaius@glam.ac.uk> 7412 7413 * src/roff/troff/node.cc: Fixed calculation of opminx and fixed 7414 non-intrusive eol marker. 7415 (troff_output_file::determine_line_limits): New function. 7416 (troff_output_file::draw): Use it. 7417 * src/roff/troff/env.cc (environment::add_html_tag): Use output() + 7418 output_pending_lines() instead of output_line(). 7419 * src/preproc/eqn/main.cc (do_file): Fix graphic_end(). 7420 * src/preproc/html2/pre-html.cc (char_buffer::write_file_troff, 7421 createImage): Small fixes. 7422 74232000-10-14 Werner LEMBERG <wl@gnu.org> 7424 7425 Replace tmac.safer with a real secure solution. 7426 7427 * src/roff/troff/input.cc (open_request, opena_request, pipe_source, 7428 system_request, pipe_output): Disable requests if in safer mode. 7429 * src/roff/groff/groff.cc (main): Remove reference to tmac.safer. 7430 * tmac/tmac.safer, tmac/groff_msafer.man: Removed. 7431 * tmac/Makefile.sub, NEWS, man/roff.man, tmac/groff_tmac.man, 7432 doc/groff.texinfo, src/roff/groff/groff.man, 7433 src/roff/troff/troff.man, arch/djgpp/README: Updated. 7434 7435 * src/devices/grops/ps.cc (main), src/devices/grops/psrm.cc 7436 (resource_manager::output_prolog): Replace setenv() with putenv(). 7437 74382000-10-09 Werner LEMBERG <wl@gnu.org> 7439 7440 * src/libs/libbib/map.c, src/libs/libgroff/getcwd.c, 7441 src/libs/libgroff/strtol.c, src/preproc/html2/image.cc, 7442 src/preproc/html2/pre-html.cc, src/preproc/html2/pushbackbuffer.cc, 7443 src/roff/groff/pipeline.c: Removing `#ifndef errno' to avoid 7444 compilation errors with some compilers. It seems that this code 7445 is no longer necessary -- if yes, it is easy to add some #ifdef's 7446 for that particular old-fashioned compiler. 7447 7448 * MORE.STUFF: Added info about Meta-tbl. 7449 7450 * doc/groff.texinfo: Added more info about `.if "..."..."'. 7451 74522000-10-07 Werner LEMBERG <wl@gnu.org> 7453 7454 Adding a new escape sequence \B'...': If the string between 7455 the delimiters is a valid numeric expression, return the character 7456 `1', and `0' otherwise. This is an analogon to \A. 7457 7458 * src/roff/troff/input.cc (do_expr_test): Implement it. 7459 (token::next): Use it. 7460 * src/roff/troff/troff.man, NEWS, man/groff.man: Document it. 7461 7462 * tmac/tmac.trace: Made independent from escape character. 7463 74642000-10-06 Werner LEMBERG <wl@gnu.org> 7465 7466 Adding a new request .dei: define indirect. The first and second 7467 parameter of .dei are taken from string registers instead directly; 7468 this very special request is needed to make tmac.trace independent 7469 from the escape character (which might even be disabled). 7470 7471 * src/roff/troff/input.cc (do_define_macro): Implement it. 7472 (define_macro_indirect): New function. 7473 (init_input_requests): Use it. 7474 7475 Adding two requests .ecs and .ecr: Save and restore the escape 7476 character. These two requests are needed to make tmac.trace 7477 independent from the escape character (which might even be 7478 disabled). 7479 7480 * src/roff/troff/input.cc (save_escape_char, restore_escape_char): 7481 Implement it. 7482 (init_input_requests): Use it. 7483 7484 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 7485 74862000-09-22 Ricardo Soares Guimar�es <ricardo@conectiva.com.br> 7487 7488 Adding a new option -P and new environment variable GROPS_PROLOGUE 7489 to grops, selecting a different prologue file (minor modifications 7490 by WL). 7491 7492 * src/devices/grops/psrm.cc (resource_manager::output_prolog), 7493 src/devices/grops/ps.cc (main): Implement it. 7494 * src/devices/grops/grops.man, NEWS: Document it. 7495 74962000-09-22 Werner LEMBERG <wl@gnu.org> 7497 7498 * INSTALL: Add info about selecting paper format. 7499 75002000-09-21 Werner LEMBERG <wl@gnu.org> 7501 7502 * src/roff/troff/input.cc (main): Fixing compiler warning. 7503 * src/include/{driver.h, lib.h}: Move inclusion of string.h and 7504 strings.h from the former to the latter. 7505 * src/devices/grolbp/lpb.cc, src/include/lib.h: Move strncasecmp() 7506 stuff from the former to the latter. 7507 75082000-09-11 Werner LEMBERG <wl@gnu.org> 7509 7510 Implementing two new requests .tm1 and .tmc: The former is similar 7511 to .tm but can output leading spaces; its syntax is similar to 7512 defining a string, i.e., a `"' can be used to mark the beginning of 7513 the string to be written to stderr: `.tm1 " test'. The latter is 7514 similar to .tm1 but doesn't write out a final newline character. 7515 7516 * src/roff/troff/input.cc (terminal1, terminal_continue, 7517 do_terminal): New functions. 7518 (init_input_requests): Use them. 7519 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 7520 75212000-09-09 Werner LEMBERG <wl@gnu.org> 7522 7523 * tmac/groff_mdoc.samples.man: Small fixes. 7524 75252000-09-08 Werner LEMBERG <wl@gnu.org> 7526 7527 * tmac/groff_mdoc.man: Fixing typo. 7528 75292000-09-02 Werner LEMBERG <wl@gnu.org> 7530 7531 Implementing a .nop request which does nothing. 7532 7533 * src/roff/troff/input.cc (nop_request): New function. 7534 (init_input_requests): Use it. 7535 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 7536 75372000-09-01 Werner LEMBERG <wl@gnu.org> 7538 7539 * doc/groff.texinfo: Added some comments. 7540 75412000-08-30 Werner LEMBERG <wl@gnu.org> 7542 7543 * src/roff/troff/TODO: Updated. 7544 75452000-08-25 Werner LEMBERG <wl@gnu.org> 7546 7547 * doc/groff.texinfo: Fix comment how to compile the DVI file. 7548 75492000-08-25 Eli Zaretskii <eliz@is.elta.co.il> 7550 7551 * font/devps/generate/Makefile (SHELL): Define explicitly to 7552 "/bin/sh", for non-Unix platforms. 7553 (extraclean): Use a more portable "" quoting instead of a 7554 backslash (which doesn't work on DOS/Windows). 7555 7556 * font/devlj4/generate/Makefile (extraclean): Ditto. 7557 7558 * font/devdvi/generate/Makefile (extraclean): Ditto. 7559 75602000-08-25 Werner LEMBERG <wl@gnu.org> 7561 7562 * NEWS, doc/groff.texinfo, tmac/groff_tmac.man, man/roff.man, 7563 src/roff/troff/troff.man: Document Eli's latest changes. 7564 75652000-08-25 Eli Zaretskii <eliz@is.elta.co.il> 7566 7567 * src/roff/troff/input.cc (open_mac_file, macro_source): Support 7568 macro file names of the form NAME.tmac as well as tmac.NAME. 7569 75702000-08-25 Werner LEMBERG <wl@gnu.org> 7571 7572 * src/include/posix.h: Remove definition of FILENAME_MAX. 7573 7574 * src/preproc/html2/pre-html.h, pre-html.cc: Add return type to 7575 `sys_fatal' and `stop' function(). 7576 7577 * test-groff: Updated. 7578 75792000-08-24 Gaius Mulley <gaius@glam.ac.uk> 7580 7581 Added the new troff command .output <arg> to suppress output (while 7582 still obeying motion) and also the opminx, opminy, opmaxx, opmaxy 7583 registers (for passing the output dimensions to the output device). 7584 7585 * src/roff/troff/div.cc (top_level_diversion::output): Use `width' 7586 parameter. 7587 * src/roff/troff/node.h, src/roff/troff/node.cc 7588 (troff_output_file::really_print_line, 7589 ascii_output_file::really_print_line, 7590 supress_output_file::really_print_line): Use `width' parameter. 7591 (troff_output_file::really_on, troff_output_file::really_off, 7592 output_file::on, output_file::off, real_output_file::on, 7593 real_output_file::off, real_output_file::really_on, 7594 real_output_file::really_off): New functions. 7595 (real_output_file:public output_file): New variable `output_on'. 7596 (real_output_file::begin_page, real_output_file::copy_file, 7597 real_output_file::transparent_char, real_output_file::print_line): 7598 Use it. 7599 (real_output_file::print_line): Use check_output_limits. 7600 * src/roff/troff/reg.h, src/roff/troff/request.h, 7601 src/roff/troff/input.cc (assign_registers): New function to remove 7602 two `goto's. 7603 (do_ps_file): Use it. 7604 (check_output_limits, reset_output_registers, output_request, 7605 init_output_requests): New functions. 7606 (init_input_requests): Updated. 7607 7608 Added new grohtml2 device and html2 preprocessor (coding 7609 not yet finished) which will eventually replace grohtml. 7610 7611 * Makefile.in, tmac/Makefile.sub, tmac/eqnrc, tmac/troffrc-end: 7612 Updated. 7613 * src/include/htmlindicate.h, src/include/htmlindicate 7614 (html_begin_suppress, html_end_suppress): New functions. 7615 * src/preproc/tbl/main.cc: Use it. 7616 * src/roff/groff/groff.cc: Add support for html2 device (which will 7617 automatically invoke the html2 preprocessor). 7618 * src/roff/troff/input.cc (is_html2): New variable. 7619 * src/roff/troff/troff.h, src/roff/troff/env.h, 7620 src/roff/troff/env.cc (environment::add_html_tag): New function 7621 (uses `is_html2'). 7622 (environment::do_break): Use it. 7623 * font/devhtml2/*: New files. 7624 * src/devices/grohtml2: New device. 7625 * src/preproc/html2: New preprocessor. 7626 * tmac/tmac.html-tags, tmac/tmac.html2: New files. 7627 76282000-08-23 Werner LEMBERG <wl@gnu.org> 7629 7630 * src/devices/grolbp/lbp.cc: Same workaround for sinix as for AIX. 7631 76322000-08-22 Werner LEMBERG <wl@gnu.org> 7633 7634 * src/include/lib.h: Provide a fix for IRIX to not include 7635 groff-getopt.h. 7636 76372000-08-18 Werner LEMBERG <wl@gnu.org> 7638 7639 * configure.in: Don't provide an empty value for SH_SCRIPT_SED_CMD 7640 since some non-GNU sed programs can't handle null regexps. 7641 * configure, src/preproc/eqn/Makefile.sub, 7642 src/roff/grog/Makefile.sub, src/roff/nroff/Makefile.sub: Updated. 7643 7644 * src/devices/grolbp/lbp.cc: Add an AIX workaround for an autoconf 7645 bug (string.h and strings.h are both needed according to latest 7646 POSIX standard). 7647 7648 * MORE.STUFF: Added info about unroff and troffcvt. 7649 76502000-08-08 Werner LEMBERG <wl@gnu.org> 7651 7652 * tmac/tmac.a4: Will now work with ms macros also; -ma4 should be 7653 used before -ms. 7654 7655 * tmac/tmac.man.old: Remove unused number register. 7656 7657 * tmac.doc: Minor documentation fix. 7658 76592000-08-07 Paul Eggert <eggert@twinsun.com> 7660 7661 * src/roff/groff/pipeline.c (is_system_shell): 7662 Fix typo: "monocased_shell" no longer exists. 7663 76642000-08-07 Paul Eggert <eggert@twinsun.com> 7665 7666 Remove FILENAME_MAX limits. 7667 7668 * src/roff/groff/pipeline.c (is_system_shell): Do not assume 7669 that the argument length is less than FILENAME_MAX. 7670 * src/libs/libgroff/tmpfile.cc (add_tmp_file): Likewise. 7671 Use struct hack to allocate and free file name. 7672 (struct xtmpfile_list): fname is now part of the structure, 7673 not a pointer to another string. 7674 76752000-08-07 Tom Schmidt <tschmidt@micron.com> 7676 7677 * src/include/posix.h: Add a default value for FILENAME_MAX. 7678 76792000-08-06 Paul Eggert <eggert@twinsun.com> 7680 7681 Add support for new BSD-style man pages (with ".Dd" instead of 7682 ".TH"), so that "groff -man" understands both styles, even 7683 when running "groff -man" on a host whose system man page 7684 macros don't support ".Dd". 7685 7686 * tmac/Makefile.sub (NORMALFILES): Add tmac.an.old. 7687 (stamp-wrap): Source tmac.andoc first when wrapping man macros, 7688 in case the system man macros don't define Dd or TH. 7689 7690 * tmac/tmac.an.old: Renamed from tmac/tmac.an. 7691 * tmac/tmac.an: New one-line file. 7692 * tmac/tmac.andoc (TH): Adjust to the tmac.an.old file renaming. 7693 76942000-08-06 Werner LEMBERG <wl@gnu.org> 7695 7696 * src/roff/troff/troff.man: Fixing typos. 7697 7698Version 1.16.1 released 7699======================= 7700 77012000-07-31 Werner LEMBERG <wl@gnu.org> 7702 7703 Preparing release 1.16.1. 7704 7705 * REVISION: Revision number set to 1. 7706 * MORE.STUFF: Added info about port to DOS. 7707 * NEWS, win32-diffs: Updated. 7708 7709 * src/include/nonposix.h: Remove first line -- this file is used 7710 in C also. 7711 7712 * Makefile.in (dist): Delete Imakefile earlier to avoid a soft 7713 link to it. 7714 77152000-07-30 Werner LEMBERG <wl@gnu.org> 7716 7717 * doc/texinfo.tex: Update to latest version. 7718 77192000-06-28 Paul Eggert <eggert@twinsun.com> 7720 7721 * Makefile.in (ENVSETUP): Don't assume POSIX make semantics for 7722 commands that fail. Don't assume that "export a=b" is valid shell 7723 syntax. This is needed for Solaris 2.5.1. 7724 7725 * src/libs/libgroff/tmpfile.cc, src/utils/indxbib/indxbib.cc: Fix 7726 comment about missing Solaris headers. 7727 7728 * PROBLEMS: Add section about problems with Sun Make and VPATH. 7729 77302000-06-25 Werner LEMBERG <wl@gnu.org> 7731 7732 * src/devics/grodvi/dvi.cc: Replace _setmode() (for MSC) with 7733 SET_BINARY(). 7734 7735 * src/include/posix.h: Use HAVE_UNISTD instead of _MSC_VER. 7736 7737 * win32-diffs: Updated. 7738 * README.WIN32: Added CRs to make all Windows editors happy. 7739 7740 * src/roff/troff/node.cc: Added WIFSIGNALED() macro (copied from 7741 src/roff/groff/pipeline.c). 7742 77432000-06-23 Eli Zaretskii <eliz@is.elta.co.il> 7744 7745 * src/roff/grog/Makefile.sub (grog): Prepend `-e' to 7746 $(SH_SCRIPT_SED_CMD), for the case where its value is empty. 7747 77482000-06-17 Eli Zaretskii <eliz@is.elta.co.il> 7749 7750 * src/utils/tfmtodit/tfmtodit.cc: #include nonposix.h. 7751 (tfm::load, gf::load): Open tfm and gf files in binary mode: these 7752 are binary files. 7753 (main): Support non-Posix systems with several different styles of 7754 slash characters in file names. 7755 7756 * src/utils/pfbtops/pfbtops.c: #include nonposix.h. 7757 (main) [SET_BINARY]: Switch stdin into binary mode. 7758 7759 * src/utils/indxbib/indxbib.cc: #include nonposix.h. 7760 (main): Support file names with several possible slash-type 7761 characters, as given by DIR_SEPS[] in nonposix.h. 7762 (main) [__MSDOS__]: If renaming the temporary index file fails 7763 because it has more than one dot in its trunk, replace the dot 7764 with an underscore and try again. 7765 (do_file): Use FOPEN_RB instead of "r". Skip every CR before a 7766 Newline. 7767 [__MSDOS__ || _MSC_VER]: Stop at the first ^Z character. 7768 7769 * src/utils/hpftodit/hpftodit.cc: #include nonposix.h. 7770 (File::File): Open the input file in binary mode. Strip CR 7771 characters from each CR-LF pair. 7772 (xbasename): Support file names with several possible slash-type 7773 characters, as given by DIR_SEPS[] in nonposix.h. 7774 7775 * src/include/Makefile.sub (HDRS): Add nonposix.h. 7776 7777 * src/roff/troff/node.cc [HAVE_UNISTD_H]: Include <unistd.h>. 7778 (WIFEXITED, WEXITSTATUS, WTERMSIG, WIFSTOPPED, WSTOPSIG) 7779 [!_POSIX_VERSION]: Define for traditional Unix systems. 7780 (real_output_file::real_output_file): Remove the MSVC-specific 7781 call to popen, use instead POPEN_WT, appropriately defined on 7782 nonposix.h. #include nonposix.h. 7783 (real_output_file::~real_output_file): Remove the MSVC-specific 7784 call to pclose, a suitable macro is now defined on nonposix.h. 7785 Use the portable macros WIFEXITED, WIFSIGNALED, WTERMSIG, WSTOPSIG 7786 and WEXITSTATUS instead of assuming traditional Unix 7787 interpretation of the status returned by pclose. 7788 7789 * src/roff/troff/input.cc (pipe_source): Remove the MSVC-specific 7790 call to popen, use POPEN_RT instead (appropriately defined on 7791 nonposix.h). #include nonposix.h. 7792 (ps_bbox_request): Open the PostScript file in binary mode. 7793 Close the file after processing it. 7794 (getpid) [_MSC_VER]: Remove; a suitable macro is now defined on 7795 nonposix.h. 7796 7797 * src/roff/groff/pipeline.c (run_pipeline) [__MSDOS__ || _WIN32]: 7798 A version of run_pipeline that doesn't use `fork'. 7799 (signal_catcher) [__MSDOS__ || _WIN32]: New function. 7800 (system_shell_name, system_shell_dash_c) 7801 (is_system_shell) [__MSDOS__ || _WIN32]: New functions, to hide 7802 the ugliness of testing DOS/Windows file names for equality, and 7803 support both stock shells and ports of Unix shells. 7804 7805 * src/roff/groff/groff.cc: #include nonposix.h. 7806 (BSHELL): Definition moved to nonposix.h. 7807 (main): Use PATH_SEP[0] instead of literal ':'. Use BSHELL_DASH_C 7808 instead of a literal "-c". 7809 (xbasename): Support file names with several possible slash-type 7810 characters, as given by DIR_SEPS[] in nonposix.h. 7811 (possible_command::print): Use BSHELL_DASH_C and IS_BSHELL instead 7812 of literal strings. 7813 7814 * src/preproc/soelim/soelim.cc: #include nonposix.h. 7815 (do_file): Use IS_ABSOLUTE instead of testing for a literal '/'. 7816 7817 * src/preproc/pic/Makefile.sub (YTABH): Change pic.tab.h to 7818 pic_tab.h. 7819 7820 * src/preproc/pic/lex.cc: Change pic.tab.h to pic_tab.h. 7821 7822 * src/preproc/eqn/Makefile.sub (YTABH): Rename eqn.tab.h to 7823 eqn_tab.h. 7824 7825 * src/preproc/eqn/lex.cc: #include eqn_tab.h, not eqn.tab.h. 7826 7827 * src/libs/libgroff/tmpfile.cc (DEFAULT_TMPDIR) [P_tmpdir]: If 7828 P_tmpdir is defined, use it instead of the literal "/tmp". 7829 (remove_tmp_files, add_tmp_file): New functions. 7830 (xtmpfile): Record temporary files and register an atexit function 7831 to delete them explicitly, instead of relying on the OS to do 7832 that, which doesn't work on non-Unix systems. 7833 7834 * src/libs/libgroff/searchpath.cc: #include nonposix.h. 7835 (search_path::search_path): Use PATH_SEP instead of a literal 7836 colon. 7837 (search_path::command_line_dir): Ditto. 7838 (search_path::open_file): Use IS_ABSOLUTE, PATH_SEP and DIR_SEPS, 7839 to support non-Posix systems. 7840 7841 * src/libs/libbib/search.cc: #include nonposix.h. 7842 (search_list::add_file): Open the file in binary mode. 7843 7844 * src/libs/libbib/linear.cc: #include nonposix.h. 7845 (file_buffer::load): Remove \r characters preceding \n from the 7846 loaded buffer. 7847 7848 * src/libs/libbib/index.cc: #include nonposix.h. 7849 (make_index_search_item): Open index_filename in O_BINARY mode. 7850 (index_search_item_iterator::get_tag): Ditto. Remove \r 7851 characters before \n characters. 7852 (index_search_item::check_files): Open files in binary mode. 7853 (index_search_item::munge_filename): Support DOS-style file names 7854 with backslashes and drive letters, use IS_ABSOLUTE. 7855 7856 * src/devices/grops/ps.cc: #include nonposix.h. 7857 (main) [SET_BINARY]: Switch stdout to binary mode. 7858 7859 * src/devices/grolj4/lj4.cc: #include nonposix.h. 7860 (main) [SET_BINARY]: Switch stdout to binary mode. 7861 7862 * src/devices/grolbp/lbp.cc: #include nonposix.h 7863 (fill_pattern) [SET_BINARY]: Switch stdout to binary mode. 7864 7865 * src/devices/grodvi/dvi.cc: #include nonposix.h. 7866 [_MSC_VER]: Remove inclusion of Windows-specific headers (done by 7867 nonposix.h). 7868 (main) [SET_BINARY]: Switch stdout to binary mode. 7869 [_MSC_VER]: Remove an explicit call to _setmode. 7870 7871 * src/include/nonposix.h: New file. 7872 7873 * Makefile.in (ENVSETUP): New variable, to set up case-sensitive 7874 operation when building with DJGPP. 7875 ($(TARGETS), dot, $(LIBDIRS), $(CPROGDIRS), $(CCPROGDIRS)) 7876 ($(DEVDIRS), $(TTYDEVDIRS), $(INCDIRS), $(OTHERDIRS)): Use 7877 ENVSETUP. 7878 7879 * Makefile.comm: mv y.tab.[ch] to y_tab.[ch], to make it work on 7880 MS-DOS. 7881 (.man.n): Replace `;' with `|', since FONTPATH, MACROPATH, 7882 etc. can include a semi-colon on DOS/Windows. 7883 (depend.temp): Use depend1.temp instead of depend.temp1, to 7884 prevent files from overerwiting each other on 8+3 filesystems. 7885 7886 * gendef.sh (t): Change definition to work with DOS/Windows. 7887 7888 doc/groff.texinfo: Apart of some typo corrections, I also changed 7889 some index entris, to make them more non-ambiguous, and also put 7890 @ignore around some parts that are not yet written, to allow the 7891 Info output be readable. 7892 78932000-06-10 Gael Queri <gqueri@mail.dotcom.fr> 7894 7895 Replaced specific checks for function declarations with a generic 7896 routine taken from GNU bfd. 7897 7898 * aclocal.m4 (GROFF_NEED_DECLARATION): New function. 7899 GROFF_PUTENV, GROFF_POPEN, GROFF_PCLOSE, GROFF_HYPOT: Removed. 7900 * configure.in: Use it. 7901 * src/devices/grolbp/lbp.cc, src/include/lib.h, 7902 src/preproc/grn/hgraph.cc, src/preproc/pic/pic.h, 7903 src/roff/groff/groff.cc: Use it. 7904 * Makefile.in, configure: Updated. 7905 79062000-06-07 Paco Andr�s Verd� <pandres@dragonet.es> 7907 7908 * src/devides/grolbp/lbp.h: Removed unused variables. 7909 79102000-05-31 Keith Thompson <kst@sdsc.edu> 7911 7912 * src/devices/grolbp/lbp.cc (set_papersizes): Add declaration of 7913 strncasecmp(). 7914 79152000-05-31 Werner LEMBERG <wl@gnu.org> 7916 7917 * aclocal.m4 (GROFF_SRAND): New function to test the return value 7918 of srand() -- at least SunOS 4.1.3 uses `int' instead of `void'. 7919 * configure.in: Use it. 7920 * src/preproc/pic/pic.y, src/preproc/pic/pic.cc: Use it. 7921 * configure, Makefile.in: Updated. 7922 7923 * configure.in: Add test for strncasecmp(). 7924 * src/include/lib.h: Use it. 7925 79262000-05-29 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru> 7927 7928 * src/preproc/grn/Makefile.sub: Add MLIB. 7929 79302000-05-29 Nix <nix@esperi.demon.co.uk> 7931 7932 * Makefile.in: Use @datadir@ and @mandir@ appropriately. 7933 79342000-05-29 Werner LEMBERG <wl@gnu.org> 7935 7936 * src/roff/grog/Makefile.sub, src/roff/grog/grog.sh: Add `@g@'. 7937 7938 * PROBLEMS: Small update. 7939 7940 * src/devices/grolbp/lbp.cc: Various small fixes. 7941 79422000-05-28 Keith Thompson <kst@sdsc.edu> 7943 7944 * src/roff/nroff/nroff.sh: Fix main loop syntax. 7945 7946 * src/utils/indxbib/indxbib.cc: Add declaration of mkstemp(). 7947 79482000-05-25 Werner LEMBERG <wl@gnu.org> 7949 7950 * man/roff.man: Removed unused macro. 7951 79522000-05-24 Werner LEMBERG <wl@gnu.org> 7953 7954 * Makefile.in (dist): Remove src/xditview/Imakefile explicitly. 7955 This is needed e.g. if you do 7956 `make distclean; ./configure; make dist'. 7957 7958Version 1.16 released 7959===================== 7960 79612000-05-23 Werner LEMBERG <wl@gnu.org> 7962 7963 Adding font CWI (constant width italic) to devdvi. 7964 7965 * font/devdvi/CWI: New file. 7966 * font/devdvi/generate/Makefile: Add generating rule. 7967 * font/devdvi/DESC.in, font/devdvi/Makefile.sub, win32-diffs, 7968 tmac/tmac.dvi: Use it. 7969 * NEWS: Announce it. 7970 7971 * font/devlj4/*: Regenerated (only adding kernings for `cq' glyph). 7972 * font/devlj4/generate/Makefile: Cosmetic changes only. 7973 7974 * man/groff.man: Removed most of the redundant description of 7975 special characters (which is in groff_char.man). Added font 7976 translation CB->CR for devdvi. Other minor fixes. 7977 7978 * tmac/tmac.dvi: Improved appearance of \(co (copyright) and \(rg 7979 (registered) symbols. 7980 79812000-05-22 Werner LEMBERG <wl@gnu.org> 7982 7983 * doc/Makefile: Added rule for creating info files. 7984 7985 * font/devdvi/*: Added kernings for `cq' glyph. Updated to latest 7986 AMS font metrics. 7987 * font/devdvi/generate/Makefile: Fixed dependencies. 7988 7989 * font/devps/*: Regenerated. Heavy changes for Bookman and 7990 NewCentury Schoolbook! 7991 * font/devps/generate/afmname: Will now run with GNU awk. 7992 * font/devps/generate/textmap: Added forgotten `cq' glyph name. 7993 * font/devps/generate/Makefile: Cosmetic changes only. 7994 79952000-05-21 Werner LEMBERG <wl@gnu.org> 7996 7997 * tmac/tmac.an: Added a new command line option `-rSxx' (`xx' can be 7998 10, 11, or 12) to support output with 11pt and 12pt base font sizes. 7999 `.SS' now produces a heading with a smaller size than `.SH'. 8000 Completely formatted. 8001 * doc/groff.texinfo, tmac/groff_man.man, NEWS: Document it. 8002 8003 * man/groff.man: Improved table appearance. Use of `eo' request 8004 to reduce number of doubled backslashes in macro definitions. 8005 Replacing `\e' with `\(rs'. Other minor fixes. 8006 8007 * src/preproc/tbl/main.cc: Insert HTML table end tag before `lf' 8008 to have correct line number. 8009 8010 * INSTALL: Small improvement. 8011 80122000-05-20 Bernd Warken <bwarken@mayn.de> 8013 8014 * man/roff.man, tmac/groff_tmac.man: Updates (with corrections by 8015 WL). 8016 80172000-05-19 Bernd Warken <bwarken@mayn.de> 8018 8019 * man/groff.man: Complete update (with a lot of corrections by WL). 8020 80212000-05-18 Werner LEMBERG <wl@gnu.org> 8022 8023 Adding `cq' (PS name `quoteright') glyph name as an alias for "'". 8024 8025 * font/*/*: Implement it. 8026 * man/groff_char.man, NEWS: Document it. 8027 8028 * src/include/unix.h: Removed. It isn't used. 8029 8030 * doc/groff.texinfo: Slight improvements. 8031 80322000-05-17 Werner LEMBERG <wl@gnu.org> 8033 8034 * README, win32-diffs: Small fixes and improvements. 8035 80362000-05-16 Werner LEMBERG <wl@gnu.org> 8037 8038 * FDL: New file (the Free Documentation License version 1.1). 8039 8040 * doc/groff.texinfo: Added many start-up values for gtroff. 8041 Some structural improvements of the source code. 8042 80432000-05-15 Werner LEMBERG <wl@gnu.org> 8044 8045 * src/roff/troff/input.cc: Added small comment about troffrc-end. 8046 * src/roff/troff/troff.man: Added info about troffrc-end. 8047 80482000-05-14 Werner LEMBERG <wl@gnu.org> 8049 8050 * Makefile.in (EXTRADIRS): Fix typos. 8051 (dist): Handle deletion of old .tar.gz file correctly. 8052 (DISTDIRS): Include all tty output devices. 8053 8054 * doc/groff.texinfo: Adding more cross references; countless other 8055 fixes. 8056 80572000-05-13 Werner LEMBERG <wl@gnu.org> 8058 8059 * MORE.STUFF: Added Robert Marks's utilities. 8060 80612000-05-12 Werner LEMBERG <wl@gnu.org> 8062 8063 Added win32 port contributed by Blake McBride 8064 <blake@florida-software.com>. 8065 8066 * README.WIN32, win32-diffs: New files. 8067 * NEWS: Updated. 8068 8069 * src/preproc/grn/hgraph.cc (HGSetBrush): Replace `%lf' with `%f'. 8070 (tmove, tmove2): Added parentheses to avoid compiler warnings. 8071 (change): Removed unused variables. 8072 8073 * src/preproc/grn/main.cc (main, conv): Removed unused variables. 8074 (savebounds): Changed return value from `int' to `void'. 8075 * src/preproc/grn/hdb.cc: Ditto. 8076 8077 * src/devices/grolbp/lbp.cc (lbp_printer::draw): Removed superfluous 8078 final backslash in comment to avoid compiler warning. 8079 8080 * src/utils/pfbtops/pfbtops.c: Added `getopt.h'. 8081 8082 * doc/groff.texinfo: More fixes. 8083 80842000-05-11 OKAZAKI Tetsurou <okazaki@be.to> 8085 8086 * tmac/tmac.doc: Documentation fix. 8087 80882000-05-11 Werner LEMBERG <wl@gnu.org> 8089 8090 * doc/groff.texinfo: Reading the source code shows up a lot of 8091 omissions and incorrect data... More conversion to @Deffn macros. 8092 80932000-05-10 Werner LEMBERG <wl@gnu.org> 8094 8095 * src/roff/troff/reg.cc (number_value_to_ascii): Remove ASCII 8096 dependency. 8097 8098 * src/roff/troff/request.h: Removing unused `no_break_flag'. 8099 81002000-05-09 Werner LEMBERG <wl@gnu.org> 8101 8102 * man/groff.man, man/roff.man, tmac/groff_tmac.man: Minor 8103 improvements. 8104 8105 * doc/groff.texinfo: Extended history section. More conversion to 8106 @Deffn macros. More .tr documentation. 8107 81082000-05-07 Werner LEMBERG <wl@gnu.org> 8109 8110 * doc/groff.texinfo: Completed tab section. Added info about 8111 fields. 8112 81132000-05-06 Mike MacIsaac <mikemac@us.ibm.com> 8114 8115 * PROBLEMS: Describe configure script fix for OS/390 Unix. 8116 81172000-05-05 Werner LEMBERG <wl@gnu.org> 8118 8119 * font/devdvi/DESC.in: Change size 11pt to 10.95pt (as used in 8120 LaTeX 2e). 8121 * NEWS: Document it. 8122 8123 * man/troff.man: Minor optical improvements. 8124 81252000-05-03 Werner LEMBERG <wl@gnu.org> 8126 8127 Adding `dq' (PS name `quotedbl') glyph name as an alias for `"'. 8128 8129 * font/*/*: Implement it. 8130 * man/groff_char.man, NEWS: Document it. 8131 81322000-05-02 Werner LEMBERG <wl@gnu.org> 8133 8134 * tmac/groff_tmac.man, man/groff.man, man/roff.man: Fixing @MANxEXT@ 8135 expansion. 8136 * NEWS: Document the three new man pages. 8137 8138 * aclocal.m4 (GROFF_CXX_CHECK): Removing obsolete AC_C_CROSS call. 8139 * configure: Updated. 8140 8141 * font/devcp1047/R.proto: Fixing fatal bug (a missing `"' character). 8142 81432000-05-01 Werner LEMBERG <wl@gnu.org> 8144 8145 Added grap support to grog. 8146 8147 * src/roff/grog/grog.sh, src/roff/grog/grog.pl: Implement it. 8148 * src/roff/grog/grog.man: Document it. 8149 8150 * doc/groff.texinfo, NEWS: Add info about grap support. 8151 8152 Add new man pages comptributed by Bernd Warken <bwarken@mayn.de> 8153 (with slight fixes by me). 8154 8155 * tmac/groff_tmac.man: New file documenting tmac mechanism. 8156 * tmac/Makefile.sub: Add groff_tmac.man. 8157 * man/roff.man: New file giving overview of roff system. 8158 * man/troff.man: A short reference of troff. 8159 * man/Makefile.sub: Add roff.man and troff.man. 8160 81612000-04-30 Werner LEMBERG <wl@gnu.org> 8162 8163 Added grap support to groff. 8164 8165 * src/roff/groff/groff.cc: Implement it. 8166 * src/roff/groff/groff.man: Document it. 8167 8168 * src/devices/grotty/grotty.man: Add cp1047 device. 8169 * src/preproc/eqn/eqn.man, src/preproc/eqn/neqn.sh, tmac/eqnrc: 8170 Ditto. 8171 * src/roff/groff/groff.man: Ditto. 8172 * src/roff/nroff/nroff.sh, src/roff/nroff/nroff.man: Ditto. 8173 * doc/groff.texinfo: Ditto. 8174 8175 * tmac/troffrc: Fix mapping of latin-1 char 160 (non-breakable space) 8176 for cp1047. 8177 81782000-04-29 Werner LEMBERG <wl@gnu.org> 8179 8180 * man/groff_char.man: Add `pc' glyph. 8181 * tmac/tmac.latin1: Replacing `md' glyph with `pc'. 8182 * tmac/tmac.tty: Add `pc' glyph. 8183 * tmac/tmac.tty-char: Use/add `pc' glyph. Don't call tmac.latin1 if 8184 we use cp1047 output device. 8185 8186 * Makefile.in, aclocal.m4: Don't build utf8 on EBCDIC hosts since 8187 there are still hardcoded latin1->unicode values in utf8's font 8188 definition files. 8189 * configure: Updated. 8190 * NEWS: Minor clarification. Updated. 8191 8192 * PROBLEMS: Formatted. Added info about C++ fix pack for OS/390 8193 Unix. 8194 81952000-04-28 Werner LEMBERG <wl@gnu.org> 8196 8197 Adding EBCDIC code page 1047. 8198 8199 * font/devcp1047/R.proto, font/devcp1047/Makefile.sub, 8200 font/devcp1047/DESC.proto: New files. 8201 8202 * aclocal.m4 (GROFF_EBCDIC): Introduce TTYDEVDIRS which can be 8203 either ascii/latin1 or cp1047. 8204 * Makefile.in: Use it. 8205 * configure: Updated. 8206 8207 Replacing and/or adding `md' (mathdot) glyph with `pc' 8208 (periodcentered) in all text fonts. 8209 8210 * font/*/*: Change it. 8211 82122000-04-27 Werner LEMBERG <wl@gnu.org> 8213 8214 * aclocal.m4 (GROFF_OS390): Fixing compiler flags. 8215 8216 * configure.in: Add check for strings.h. 8217 * src/include/driver.h: Use HAVE_STRINGS_H. 8218 * src/devices/grolbp/lpb.cc: Remove string.h. 8219 8220 * src/include/groff-getopt.h: New file. It will be used instead of 8221 getopt.h (to be included in lib.h) to avoid endless problems with 8222 picky C++ compilers. 8223 * src/include/lib.h: Use groff-getopt.h. 8224 * src/include/Makefile.sub: Updated. 8225 8226 * configure: Updated. 8227 * Makefile.in: Updated. 8228 8229 * NEWS: Mention EBCDIC support. 8230 82312000-04-26 Werner LEMBERG <wl@gnu.org> 8232 8233 * TODO: Some additions. 8234 82352000-04-25 Werner LEMBERG <wl@gnu.org> 8236 8237 * src/roff/troff/troff.man, doc/groff.texinfo: Fixing documentation 8238 of mso request. 8239 82402000-04-23 Werner LEMBERG <wl@gnu.org> 8241 8242 * src/roff/troff/troff.man: Minor fixes. 8243 82442000-04-22 Werner LEMBERG <wl@gnu.org> 8245 8246 * src/roff/troff/troff.man, doc/groff.texinfo, NEWS: Document the 8247 `.T' string register and the incompatible definition of the `.T' 8248 number register (compared to Unix troff). 8249 8250 * man/groff_char.man: Add some missing characters. 8251 * font/devutf8/NOTES: Update. 8252 82532000-04-21 Werner LEMBERG <wl@gnu.org> 8254 8255 * src/include/htmlindicate.h, src/include/lib.h, 8256 src/include/posix.h: Fix copyright. 8257 8258 * src/include/Makefile.sub: Update. 8259 82602000-04-20 Werner LEMBERG <wl@gnu.org> 8261 8262 * src/roff/troff/input.cc (input_char_description): Removing 8263 superfluous space char. 8264 8265 * tmac/tmac.X: Fix typo \(bq -> \(Bq. 8266 8267 * doc/groff.texinfo: Document EBCDIC. 8268 82692000-04-19 Werner LEMBERG <wl@gnu.org> 8270 8271 Introducing `shc' as the glyph name for the soft hyphen character. 8272 8273 * tmac/tmac.tty, tmac/tmac.latin1, tmac/tmac.html, 8274 font/devlatin1/R.proto: Use it. 8275 8276 * NEWS: Updated. 8277 82782000-04-18 Werner LEMBERG <wl@gnu.org> 8279 8280 * src/devices/grops/ps.cc (ps_printer::flush_sbuf): Removing 8281 dependency on ASCII order. 8282 82832000-04-16 Sandor BARANY <S.Barany@infosys.tuwien.ac.at> 8284 8285 * src/libs/libgroff/illegal.c: Added EBCDIC table. 8286 * src/roff/troff/input.cc: Added adaptation to EBCDIC. 8287 8288 * src/preproc/refer/refer.cc, src/roff/troff/env.cc: Minor changes 8289 to increase portability. 8290 82912000-04-15 Werner LEMBERG <wl@gnu.org> 8292 8293 * aclocal.m4: Added GROFF_EBCDIC and GROFF_OS390 tests. 8294 Redefined AC_OUTPUT_MAKE_DEFS to replace ASCII character `012' with 8295 the generic `\n' if under OS/390 Unix. 8296 8297 * configure.in: Call GROFF_EBCDIC and GROFF_OS390. 8298 8299 * configure: Regenerated. 8300 83012000-04-14 Werner LEMBERG <wl@gnu.org> 8302 8303 * doc/groff.texinfo: More conversions to @Deffn. 8304 83052000-04-12 Werner LEMBERG <wl@gnu.org> 8306 8307 * tmac/tmac.psfig: Fix incorrect use of `&' operator by replacing it 8308 with `:'. 8309 8310 * src/roff/nroff/nroff.man: Add note about tmac.tty-char. 8311 83122000-04-10 Werner LEMBERG <wl@gnu.org> 8313 8314 * doc/groff.texinfo: More conversions to @Deffn. 8315 83162000-04-08 Werner LEMBERG <wl@gnu.org> 8317 8318 * src/libs/libgroff/{getopt.c,getopt1.c}, src/include/getopt.h: 8319 Updated to latest version (glibc 2.1.3). 8320 83212000-04-07 Werner LEMBERG <wl@gnu.org> 8322 8323 * doc/Makefile (clean): Include more index files. 8324 Add rule texinfo->dvi. 8325 83262000-04-05 Werner LEMBERG <wl@gnu.org> 8327 8328 * doc/groff.texinfo: Added new index `op' for operators. More 8329 info on end of sentence characters. More use of @Deffn. 8330 83312000-03-30 Werner LEMBERG <wl@gnu.org> 8332 8333 * */*.man: Adding a note that a whitespace can be inserted between 8334 a command line option and its parameter -- we are using GNU getopt. 8335 8336 * src/roff/groff/groff.man: Add example of `-m mandoc'. 8337 83382000-03-28 Werner LEMBERG <wl@gnu.org> 8339 8340 Correct anachronism of calling the man macro file with `-man' 8341 instead of `-m man' etc. 8342 8343 * tmac/tmac.man, tmac/tmac.mandoc, tmac/tmac.markup, tmac/tmac.mdoc, 8344 tmac/tmac.me, tmac/tmac.ms: New files tmac.m<package> which simply 8345 load tmac.<package>. 8346 8347 * tmac/Makefile.sub: Updated. Take care of $(tmac_an_prefix) etc. 8348 8349 * NEWS: Updated. 8350 8351 * doc/groff.texinfo: Updated. 8352 8353 * tmac/groff_man.man: Copyright added. 8354 83552000-03-27 Werner LEMBERG <wl@gnu.org> 8356 8357 * doc/groff.texinfo: Introducing macros `Deffn' and `Defmac' to 8358 typeset the request resp. escape name with a tt font -- due to a 8359 bug in texinfo.tex it is necessary to use the `-e' switch with 8360 texi2dvi. 8361 8362 Improving info about usage of groff units. 8363 8364 Other minor fixes. 8365 83662000-03-20 Werner LEMBERG <wl@gnu.org> 8367 8368 * doc/groff.texinfo: Added section about man macro package 8369 (I've basically taken groff_man.man). Introducing new indices `ma' 8370 for macros/strings and `gl' for glyph names. Other minor fixes. 8371 8372 * tmac/groff_man.man: Fixed some typos. 8373 83742000-03-19 Werner LEMBERG <wl@gnu.org> 8375 8376 * doc/groff.texinfo: Removed all occurrences of `you', `we', etc. 8377 Other minor fixes. 8378 8379 * doc/texinfo.tex: New file. 8380 83812000-03-18 Werner LEMBERG <wl@gnu.org> 8382 8383 * doc/groff.texinfo: Improved section on number registers. Other 8384 minor updates. 8385 83862000-03-16 Werner LEMBERG <wl@gnu.org> 8387 8388 * src/roff/groff/groff.man: Added info about grolbp. Make nicer 8389 synopsis. 8390 8391 * src/devices/grolbp/grolbp.man, src/roff/nroff/nroff.man, 8392 src/devices/grolj4/grlj4.man, src/devices/grops/grops.man, 8393 src/preproc/eqn/eqn.man, src/utils/afmtodit/afmtodit.man, 8394 src/utils/tfmtodit/tfmtodit.man: Make nicer synopsis. 8395 8396 * src/preproc/grn/grn.man: Better synopsis; added copyright. 8397 8398 * src/roff/grog/grog.man: Updated copyright date. 8399 84002000-03-14 Francisco Andr�s Verd� <pandres@dragonet.es> 8401 8402 * configure.in: Added test for strdup. 8403 8404 * src/devices/grolbp/lbp.cc: Added a strdup() version in case none 8405 is available. 8406 8407 Replaced dynamic allocation of arrays `[...]' with `new' operator. 8408 8409 Other minor fixes. 8410 84112000-03-12 OKAZAKI Tetsurou <okazaki@be.to> 8412 8413 * Makefile.comm: Add $(INCLUDES) to $(ALL_CFLAGS). 8414 84152000-03-11 Werner LEMBERG <wl@gnu.org> 8416 8417 * src/preproc/grn/hdb.cc (DBGetType): Added return value to make 8418 compilers silent. 8419 * src/preproc/grn/hgraph.cc: Add #ifdef for hypot(). 8420 * src/include/lib.h: Remove some spaces. 8421 84222000-03-10 Werner LEMBERG <wl@gnu.org> 8423 8424 * src/libs/libgroff/tmpfile.cc (xtmptemplate, xtmpfile): Removing 8425 initializers from arguments (some compilers don't like this). 8426 84272000-03-09 Gaius Mulley <gaius@glam.ac.uk> 8428 8429 * src/libs/libgroff/htmlindicate.cc: Added library file which is now 8430 used by pic and eqn to tell grohtml where the graphic regions start 8431 and end. 8432 * src/libs/libgroff/Makefile.sub: Use it. 8433 * src/preproc/eqn/main.cc, src/preproc/pic/troff.cc: Altered to use 8434 graphic_start() and graphic_end() from htmlindicate.cc. 8435 84362000-03-09 Werner LEMBERG <wl@gnu.org> 8437 8438 * tmac/tmac.safer: Will now work correctly in compatibility mode. 8439 * tmac/groff_man.man: More fixes. 8440 84412000-03-08 Werner LEMBERG <wl@gnu.org> 8442 8443 * doc/Makefile: Added texput.log to the `clean' target. 8444 * doc/groff.texinfo: Added info about delimiters for escapes. 8445 84462000-03-08 Bernd Warken <bwarken@mayn.de> 8447 8448 * src/preproc/pic/pic.man: Add info on conversion of pic images to 8449 other graphic formats. 8450 84512000-03-07 OKAZAKI Tetsurou <okazaki@be.to> 8452 8453 * Makefile.in, Makefile.sub, src/preproc/eqn/Makefile.sub, 8454 src/roff/groff/Makefile.sub, src/roff/nroff/Makefile.sub, 8455 src/utils/afmtodit/Makefile.sub: Use $(INSTALL_SCRIPT) for script 8456 files. 8457 84582000-03-07 Werner LEMBERG <wl@gnu.org> 8459 8460 * doc/groff.texinfo: Spelling fixes. 8461 84622000-03-06 Werner LEMBERG <wl@gnu.org> 8463 8464 * tmac/groff_man.man: Completely revised to cover everything in 8465 tmac.an. 8466 8467 * doc/groff.texinfo, src/roff/troff/troff.man: Document evc request. 8468 Other minor fixings. 8469 * src/roff/troff/env.cc (environment_copy): Improve error message and 8470 fix itoa->i_to_a. 8471 * src/roff/troff/TODO: Updated. 8472 8473 * doc/Makefile: Bug fixes -- this is still provisional, though... 8474 8475 * tmac/eqnrc: Small fixes. 8476 84772000-03-05 Abramo Bagnara <abramo@alsa-project.org> 8478 8479 Adding a request `evc' to copy environments. 8480 8481 * src/roff/troff/env.cc (environment::copy, environment_copy): 8482 Implement it. 8483 * src/roff/troff/env.h: Add prototype. 8484 84852000-03-05 Francisco Andr�s Verd� <pandres@dragonet.es> 8486 8487 Adding strsep() -- Solaris 8 doesn't have it. 8488 8489 * configure.in: Test it. 8490 * src/devices/grolbp/lbp.cc: Add code. 8491 84922000-03-05 Werner LEMBERG <wl@gnu.org> 8493 8494 * src/roff/troff/div.cc (macro_diversion::output, 8495 top_level_diversion::output): Fixing an incompatibility with 8496 original troff: \x'0' updates the .a register also. Thanks to 8497 <Andries.Brouwer@cwi.nl> for pointing this out. 8498 * doc/groff.texinfo: Document it. 8499 8500 * Makefile.in: Create Makefile.dep if necessary before calling the 8501 submake process to avoid warning about nonexistent file. 8502 8503 * NEWS, PROJECTS: Updated. 8504 85052000-03-04 Werner LEMBERG <wl@gnu.org> 8506 8507 * tmac/troffrc: Add tmac.lbp. 8508 85092000-03-03 Francisco Andr�s Verd� <pandres@dragonet.es> 8510 8511 * tmac/tmac.lbp: New file. 8512 * src/devices/grolbp/grolbp.man: Add documentation of `lbpname' 8513 command. 8514 85152000-03-03 Werner LEMBERG <wl@gnu.org> 8516 8517 * Makefile.in: Fixing $(subdir). 8518 8519 * README, NEWS: Small fixes. 8520 8521 * test-groff: Adding path to grolbp. 8522 8523 * configure.in: The (new) file src/xditview/Imakefile.in will be 8524 also configured -- it is now possible to build gxditview in a 8525 directory different from $srcdir. 8526 85272000-03-02 Blake McBride <blake@florida-software.com> 8528 8529 * src/libs/libgroff/searchpath.cc (open_file): Adapting to WinNT. 8530 8531 * MORE.STUFF: Added website of bell labs and info about plot2dev. 8532 85332000-03-01 Colin Phipps <crp22@cam.ac.uk> 8534 8535 * src/utils/indxbib/indxbib.cc (main): Use mkstemp() for temporary 8536 files. 8537 85382000-02-29 Werner LEMBERG <wl@gnu.org> 8539 8540 Adding GNU getopt to the groff distribution. 8541 8542 * src/include/getopt.h, src/libs/libgroff/{getopt.c,getopt1.c}: 8543 New files. 8544 * src/include/Makefile.sub, src/libs/libgroff/Makefile.sub: Update. 8545 * aclocal.a4: Remove GROFF_GETOPT function. 8546 * configure.in, Makefile.in, PROBLEMS: Update. 8547 * src/include/lib.h: Replace getopt tests with getopt.h. 8548 * src/devices/grolbp/lpb.cc: Remove inclusion of getopt.h. 8549 8550 * doc/groff.texinfo: Further checking/updating. Adding more index 8551 entries. 8552 8553 * man/groff_out.man: Fix nroff mode activation (for emacs). 8554 * man/groff_font.man: Add missing ligature. 8555 85562000-02-28 Werner LEMBERG <wl@gnu.org> 8557 8558 * doc/groff.texinfo: Further checking/updating. Adding more index 8559 entries. 8560 8561 * src/devices/grolbp/grolbp.man: Added a comment line at the 8562 beginning of the file (similar to shell scripts) which indicates 8563 that `tbl' should be used as a preprocessor. 8564 85652000-02-27 Blake McBride <blake@florida-software.com> 8566 8567 Adapting groff to MS Visual C++ 6.0 compiler (tested with 8568 Windows NT 4.0). Uses _MSC_VER define where necessary. 8569 8570 * src/devices/grodvi/dvi.cc: Making stdout a binary stream. 8571 * src/devices/grolj4/lj4.cc: Making getopt variables `extern "C"'. 8572 * src/devices/grohtml/html.cc, src/devices/grops/ps.cc, 8573 src/include/lib.h, src/libs/libgroff/errarg.cc, 8574 src/libs/libgroff/itoa.c, src/libs/libgroff/nametoindex.cc, 8575 src/preproc/refer/label.y, src/preproc/refer/label.cc, 8576 src/roff/groff/pipeline.c, src/roff/troff/column.cc, 8577 src/roff/troff/div.cc, src/roff/troff/env.cc, 8578 src/roff/troff/input.cc, src/roff/troff/node.cc, 8579 src/roff/troff/reg.cc: Renaming itoa() to i_to_a() and iftoa() to 8580 if_to_a() to avoid name clashes. 8581 * src/include/posix.h: Don't use unistd.h. 8582 * src/libs/libgroff/tmpfile.cc: Use `#ifndef...#else...#endif' 8583 clause for integrating non-Unix xtmpfile() code. 8584 * src/roff/troff/input.cc: Adding `public' keyword to macro_header 8585 structure; use "rt" for popen() in pipe_source(); add getpid() 8586 dummy function. 8587 * src/roff/troff/node.cc: Use special versions of popen() in 8588 real_output_file() and pclose() in ~real_output_file(). 8589 85902000-02-27 Werner LEMBERG <wl@gnu.org> 8591 8592 Adding a new driver, grolbp, for Canon CAPSL printers (LBP-4 and 8593 LBP-8 series laser printers). This code has been contributed by 8594 Francisco Andr�s Verd� <pandres@dragonet.es>. 8595 8596 * src/devices/grolbp/*: The grolbp output device. 8597 * font/devlpb/*: The font description files. 8598 * Makefile.in: Add grolpb and devlbp subdirectories. 8599 8600 * src/devices/grodvi/grodvi.man, src/devices/grolj4/grolj4.man, 8601 src/devices/grotty/grotty.man,src/roff/troff/troff.man: Minor 8602 typographic fixes. 8603 8604 * doc/groff.texinfo: Further checking/updating. Adding more index 8605 entries. 8606 8607 * NEWS: Updated. 8608 8609 * src/devices/grolbp/Makefile.sub: Adding $(srcdir). 8610 8611 * man/groff_font.man: Adding info about obsolete DESC keywords. 8612 * src/devices/grolj4/grolj4.man: Documenting additional DESC 8613 keywords. 8614 86152000-02-26 Werner LEMBERG <wl@gnu.org> 8616 8617 * src/preproc/grn/grn.man: Added info about the gremlin file format 8618 (contributed by Daniel Senderowicz <daniel@synchrods.com>). 8619 86202000-02-25 Werner LEMBERG <wl@gnu.org> 8621 8622 * src/preproc/grn/main.cc: Allow values of `narrow' parameter and 8623 friends to be non-integer. 8624 8625 * src/preproc/grn/grn.man: Document it. 8626 8627 * doc/groff.texinfo: Further checking/updating. Adding more index 8628 entries. 8629 86302000-02-24 Werner LEMBERG <wl@gnu.org> 8631 8632 * src/preproc/grn/main.cc: Introduce BASE_THICKNESS, defining 8633 line thicknesses to be integer multiples of this value. 8634 8635 * src/preproc/grn/grn.man: Commenting out the -s option -- the 8636 corresponding code doesn't work (yet). 8637 8638 * doc/groff.texinfo: Further checking/updating. Adding more index 8639 entries. 8640 86412000-02-23 Werner LEMBERG <wl@gnu.org> 8642 8643 * src/preproc/grn/{main.cc, hgraph.cc}: Using point units to 8644 specify line thickness instead of base units. The new default 8645 values are now 0.15,pt 0.45pt, and 0.75pt for thin, middle, and 8646 thick lines respectively. 8647 8648 Removed unused variable `prevval'. 8649 8650 * src/preproc/grn/grn.man: Updated. 8651 86522000-02-22 Werner LEMBERG <wl@gnu.org> 8653 8654 * src/preproc/grn/main.cc: Slight formatting. 8655 8656 * src/roff/groff/groff.man: Formatting fix. 8657 * src/preproc/grn/grn.man: Ditto. 8658 8659 * src/roff/grog/grog.pl: Fixing two embarassing bugs. 8660 8661 * doc/groff.texinfo: Further checking/updating. 8662 86632000-02-21 Werner LEMBERG <wl@gnu.org> 8664 8665 * README, INSTALL, PROJECT, PROBLEMS, BUGREPORT: Updated. 8666 8667 * test-groff: Added grn subdir to path. 8668 8669 * doc/groff.texinfo: Some restructing and other small improvements. 8670 8671 * src/roff/groff/groff.cc (help): Fixed info string. 8672 86732000-02-20 Werner LEMBERG <wl@gnu.org> 8674 8675 * doc/meref.me: Fix description of .GS request. 8676 8677 * src/roff/troff/troff.man: Fixing typo. 8678 8679 Adding the `grn' preprocessor for gremlin graphic files. 8680 8681 * src/preproc/grn/*: This is the Berkeley distribution written by 8682 David Slattengren and Barry Roitblat, adapted to groff by Daniel 8683 Senderowicz and Werner Lemberg. 8684 8685 * doc/grnexampl.{me,g}: A sample for grn. 8686 8687 * Makefile.in: Added subdirectory entry for grn. 8688 8689 * src/roff/groff/groff.cc: Added support for grn. It can be now 8690 called with the switch `-g'. 8691 8692 * src/roff/groff/groff.man: Updated. 8693 8694 * src/roff/grog/grog.{man,pl,sh}: Updated. 8695 8696 * NEWS: Updated. 8697 86982000-02-11 Gaius Mulley <gaius@glam.ac.uk> 8699 8700 * src/include/lib.h: Added xtmptemplate and made xtmpfile 8701 parametrically polymorphic. 8702 8703 * src/libs/libgroff/tmpfile.cc: Implemented xtmptemplate 8704 and the alterations to xtmpfile. 8705 xtmpfile can be requested to return the filename created 8706 and asked not to unlink the temp file. The default behaviour 8707 if parameters are absent is exactly the same as before. 8708 87092000-02-11 Abramo Bagnara <abramo@alsa-project.org> 8710 8711 A new request `length' is available which returns the length of a 8712 string in a number register: 8713 8714 * src/roff/troff/input.cc (length_macro): Implement it. 8715 * src/roff/troff/input.cc (init_input_requests): Register it. 8716 87172000-02-11 Werner LEMBERG <wl@gnu.org> 8718 8719 * doc/groff.texinfo, src/roff/troff/troff.man: Add documentation 8720 of the `substring' request. 8721 8722 * src/roff/troff/troff.man, doc/groff.texinfo: Document `length' 8723 request. 8724 8725 * src/roff/troff/TODO, NEWS: Updated. 8726 87272000-02-09 Werner LEMBERG <wl@gnu.org> 8728 8729 * src/roff/groff/groff.man: Added an example. 8730 87312000-02-06 Werner LEMBERG <wl@gnu.org> 8732 8733 I've considerably modified the directory structure of the 8734 distribution to get a more vertical layout. For example, the number 8735 of top level directories has been reduced from 42 to 6. 8736 8737 As a consequence, many changes, especially to the makefiles, were 8738 necessary: 8739 8740 * The makefile variables `top_builddir' and `top_srcdir' have been 8741 introduced. Virtually all relative paths have been replaced with 8742 absolute ones using these two variables. 8743 8744 * Dependencies (in the files `Makefile.dep') are no longer part of 8745 the distribution. Instead, they are created during a `make install' 8746 in the build directory. 8747 8748 * aclocal.m4 (GROFF_SRCDIR, GROFF_BUILDDIR): Two new functions to 8749 make `top_srcdir' and `top_builddir' absolute. 8750 8751 Some other changes: 8752 8753 * Man pages now depend on the files `VERSION' and `REVISION'. 8754 8755 * The added shell script `mkinstalldirs' will replace `mkdir' in 8756 almost all cases. 8757 8758 * VERSION: Version number increased to 1.16. 8759 87602000-02-04 Werner LEMBERG <wl@gnu.org> 8761 8762 * grops/psrm.cc (read_one_of): Fixed pointer incrementation. 8763 8764 * Makefile.in: Removed $(tmac_m) since it is no longer needed 8765 (after an update of the mm stuff). 8766 8767 * troff/Makefile.sub (majorminor.cc): Fix dependencies. 8768 87692000-02-03 Werner LEMBERG <wl@gnu.org> 8770 8771 The .psbb request will now also accept Mac PS images (i.e. using LF 8772 as the EOL character). 8773 8774 * troff/input.cc (ps_get_line): New function, taken from psrm.cc 8775 (with slight modifications). 8776 * troff/input.cc (do_ps_file): Use it. 8777 8778 * test-groff: Add grohtml and grolj4 output devices to PATH. 8779 87802000-01-30 Werner LEMBERG <wl@gnu.org> 8781 8782 * NEWS, MORE.STUFF: Updated. 8783 87842000-01-30 Cary D. Renzema <caryr@dollar.mxim.com> 8785 8786 Add the `srand' command to pic. 8787 8788 * pic/lex.cc, pic/pic.y: Implement it. 8789 * pic/pic.man: Document it. 8790 * pic/pic.cc, pic/pic.tab.h: Regenerated (with yacc). 8791 87922000-01-30 Werner LEMBERG <wl@gnu.org> 8793 8794 Add a new request `.psbb'. This does exactly what the external 8795 program psbb did. It scans a PostScript image file for a 8796 %%BoundingBox comment and extracts the bounding box values (in 8797 PostScript units) which are then stored in the four new (read-only) 8798 number registers `llx', `lly', `urx', and `ury'. 8799 8800 This will allow the usage of the .PSPIC macro without worrying 8801 about unsafe behaviour of groff, i.e., it will work without the 8802 `-U' switch of groff. 8803 8804 * troff/input.cc: Implement it. 8805 * tmac/tmac.pspic: Use it. 8806 * troff/troff.man, grops/grops.man, NEWS: Document it. 8807 * psbb/*, Makefile.in: Remove it since it is no longer needed. 8808 8809 This is bloody C code simply adapted from psbb.c! Any improvements 8810 welcome. 8811 88122000-01-29 Werner LEMBERG <wl@gnu.org> 8813 8814 * man/groff_font.man: Minor clarifications. 8815 8816 * NEWS: Updated. 8817 88182000-01-28 Werner LEMBERG <wl@gnu.org> 8819 8820 * afmtodit/afmtodit.pl: Use new `--' comment delimiter. 8821 88222000-01-28 Gaius Mulley <gaius@glam.ac.uk> 8823 8824 * man/groff_font.man: Brought up to date regarding tcommand 8825 extensions. 8826 * libgroff/font.cc: Handle everything after `--' as a comment 8827 in the font files. 8828 * devps/*: Added comment delimiter inside devps font files. 8829 88302000-01-28 Werner LEMBERG <wl@gnu.org> 8831 8832 * tmac/tmac.arkup, tmac/groff_markup.man: Replace \fC...\fR with 8833 \fC...\fP (which now works as expected). 8834 8835 * troff/troff.man: Fix typo. 8836 88372000-01-27 Gaius Mulley <gaius@glam.ac.uk> 8838 8839 Completed the pass_filenames implementation in troff. 8840 8841 * libdriver/input.cc: Will read the new `F' tcommand. 8842 * troff/node.cc, troff/node.h: Will issue the new `F' tcommand. 8843 * troff/input.cc: Use it. 8844 88452000-01-26 Werner LEMBERG <wl@gnu.org> 8846 8847 * troff/env.cc (set_font): Fix the behaviour of \fP. The previous 8848 font will now be updated even if an invalid font is selected. 8849 88502000-01-24 Werner LEMBERG <wl@gnu.org> 8851 8852 * doc/homepage.ms: Updated for new tmac.arkup. 8853 8854 * tmac/tmac.html: Disable line breaks after hyphen-like characters. 8855 8856 * tmac/tmac.arkup: Cleanup. 8857 8858 Added `\&' to .HTML macro to `leave vertical mode', so to say. 8859 8860 Removed obsolete .LINK macro completely. 8861 8862 The macros .URL, .FTP, and .MAILTO now accept a third argument which 8863 will be immediately appended to the second argument (to be used with 8864 punctuation, for example). 8865 8866 Disabled .CDFTP macro temporarily for security reasons. 8867 8868 * tmac/groff_markup.man: Complete revision for latest changes in 8869 tmac.arkup -- note that it does not yet format correctly with 8870 grohtml :-( 8871 88722000-01-23 Bruno Haible <haible@clisp.cons.org> 8873 8874 * nroff/nroff.sh: Accept -Tutf8 option and pass it through. 8875 * devutf8/R.proto: Add mappings for wp, lh, rh. 8876 * devutf8/NOTES: Updated. 8877 88782000-01-23 Werner LEMBERG <wl@gnu.org> 8879 8880 * doc/groff.texinfo: Updated version/copyright info. 8881 88822000-01-21 Gaius Mulley <gaius@glam.ac.uk> 8883 8884 Added support for two new directives in device descriptions: 8885 `pass_filenames' (to pass the input file name to the output device) 8886 and `use_charnames_in_special' (to support e.g. accented characters 8887 in the `X' request). 8888 8889 * include/font.h, troff/charinfo.h: Declare it. 8890 8891 * libgroff/font.cc, libgroff/fontfile.cc: Set it. 8892 8893 * devhtml/DESC: Use it. 8894 8895 * troff/input.cc: New function encoded_char. 8896 8897 * troff/token.h: Add test for `specialness'. 8898 88992000-01-21 Werner LEMBERG <wl@gnu.org> 8900 8901 * tmac/Makefile.sub: tmac.a4 and tmac.trace have been removed by 8902 mistake from the list of files to be installed. 8903 89042000-01-18 Werner LEMBERG <wl@gnu.org> 8905 8906 * README: Added info how to apply patches. 8907 89082000-01-15 Jan Echternach <echter@informatik.uni-rostock.de> 8909 8910 * troff/node.cc (ligature_note::operator delete): Fix g++ warning. 8911 89122000-01-15 Gaius Mulley <gaius@glam.ac.uk> 8913 8914 * troff/input.cc: Add support for troffrc-end. 8915 8916 * tbl/main.cc: Altered to issue table-start and table-end special 8917 characters if using the html device. 8918 8919 * devhtml/*: Modified font files to incorporate html encoding of 8920 characters. 8921 8922 * tmac/groff_markup.man: New file documenting tmac.arkup. 8923 8924 * tmac/troffrc-end: New file. This is invoked after all user 8925 specified macros. Currently used by the html device to include 8926 tmac.html. Thus no need for users to specify -mhtml anymore. 8927 8928 * tmac/Makefile.sub (NORMALFILES): Add troffrc-end. 8929 (MAN7): Add groff_markup.man. 8930 8931 * tmac/tmac.an, tmac/tmac.html: Small html updates. 8932 8933 * tmac/troffrc: tmac.arkup will now be called for the html device. 8934 8935 * libgroff/font.cc, libgroff/font.h: Altered to include reading of 8936 extra device specific information about fonts. 8937 8938 * doc/homepage.ms: New file. It is an example how an HTML home page 8939 could look like with grohtml. 8940 8941 * doc/Makefile: Add homepage.ms. Remove rule for pic.html. 8942 89432000-01-12 Bruno Haible <haible@clisp.cons.org> 8944 8945 * devutf8/R.proto: Add mappings for ti, Fn, st, an. Change mappings 8946 of Im, Re. 8947 8948 * devutf8/NOTES: Updated. 8949 89502000-01-08 Bruno Haible <haible@clisp.cons.org> 8951 8952 * eqn/box.cc, eqn/lex.cc, eqn/other.cc, eqn/over.cc, eqn/special.cc, 8953 eqn/text.cc, grodvi/dvi.cc, grops/ps.cc, grops/psrm.cc, 8954 libbib/index.cc, libbib/linear.cc, libbib/search.cc, 8955 libdriver/printer.cc, libgroff/font.cc, libgroff/string.cc, 8956 pic/lex.cc, pic/object.cc, refer/label.y, refer/ref.cc, tbl/main.cc, 8957 tbl/table.cc, tfmtodit/tfmtodit.cc, troff/dictionary.cc, 8958 troff/div.cc, troff/env.cc, troff/input.cc, troff/node.cc, 8959 troff/node.h, troff/reg.cc: Avoid most "g++ -Wall -Wno-sign-compare" 8960 warnings. 8961 8962 * troff/node.cc (bracket_node::copy): Initialize last to NULL. 8963 89642000-01-12 Fabrizio Polacco <fab@prosa.it> 8965 8966 grolj4: Paper size will be searched case-insensitively. 8967 8968 * include/lib.h: Add check for strcasecmp(). 8969 * grolj4/li4.cc (lookup_paper_size): Use strcasecmp(). 8970 * configure.in: Check for strcasecmp(). 8971 89722000-01-11 Werner LEMBERG <wl@gnu.org> 8973 8974 * troff/Makefile.sub (majorminor.cc): Fix incorrect path to 8975 `REVISION'. 8976 89772000-01-10 Werner LEMBERG <wl@gnu.org> 8978 8979 * Makefile.comm, Makefile.in, doc/Makefile: More fixes for the 8980 revision scheme. 8981 8982 Add a new read-only register, `.Y', which contains the groff 8983 revision. 8984 8985 * troff/input.cc (init_input_requests): Define it. 8986 * troff/Makefile.sub (majorminor.cc): Define `revision' string. 8987 * doc/groff.texinfo, troff/troff.man: Document it. 8988 8989 * libgroff/Makefile.sub (version.cc): Add definition of 8990 `Version_string[]', consisting of `<major>.<minor>.<revision>' 8991 * eqn/main.cc, grodvi/dvi.cc, grolj4/lj4.cc, grops/ps.cc, 8992 grotty/tty.cc, hpftodit/hpftodit.cc, indxbib/indxbib.cc, pic/main.cc, 8993 refer/refer.cc, soelim/soelim.cc, tbl/main.cc, tfmtodit/tfmtodit.cc, 8994 troff/input.cc, pfbtops/pfbtops.c: Use it. 8995 89962000-01-10 Fabrizio Polacco <fab@prosa.it> 8997 8998 Add a revision scheme to the groff package. 8999 9000 * REVISION: New file. 9001 * libgroff/Makefile.sub (version.cc): Use it to define 9002 `revision_string[]'. 9003 * grops/psrm.cc: Use revision_string (converted to an unsigned 9004 integer) in constructor of resource_manager. 9005 90062000-01-10 Bruno Haible <haible@clisp.cons.org> 9007 9008 * devutf8/Makefile.sub, devutf8/DESC.proto, devutf8/R.proto: New 9009 files. 9010 * Makefile.in (DEVDIRS): Add devutf8. 9011 * grotty/tty.cc: Include device.h. 9012 (glyph): Change type of `code' to `unsigned int'. 9013 (tty_printer): New field is_utf8. Constructor takes device argument. 9014 (tty_printer::tty_printer): If device if `utf8', set is_utf8. 9015 (tty_printer::add_char): Change type of first arg to `unsigned int'. 9016 (tty_printer::put_char): New function. 9017 (tty_printer::end_page): Use put_char() instead of ::putchar(). 9018 (make_printer): Pass device to tty_printer constructor. 9019 * nroff.sh: Determine default device by calling 'locale'. As a 9020 fallback, look at all of $LC_ALL, $LC_CTYPE, $LANG, $LESSCHARSET. 9021 Recognize UTF-8 locales. 9022 * tmac/eqnrc: Recognize utf8 like latin1. 9023 * tmac/troffrc: Device utf8 needs tmac.tty. 9024 90252000-01-07 Werner LEMBERG <wl@gnu.org> 9026 9027 * tmac/Makefile.sub: tmac.a4 and tmac.trace will now be installed. 9028 90292000-01-07 Paul Eggert <eggert@twinsun.com> 9030 9031 Add a new predefined writeable number register, `year', 9032 which contains the current year. 9033 9034 * doc/groff.texinfo, PROBLEMS, troff/troff.man: Document it. 9035 * tmac/tmac.s: Use it. 9036 * troff/input.cc (init_registers): Initialize it. 9037 90382000-01-06 Werner LEMBERG <wl@gnu.org> 9039 9040 * PROBLEMS: Fixed typo. 9041 90422000-01-04 Paul Eggert <eggert@twinsun.com> 9043 9044 * PROBLEMS: Add Y2k advice for the yr number register. 9045 90462000-01-03 Paul Eggert <eggert@twinsun.com> 9047 9048 * doc/groff.texinfo: Fix Y2k bug in documentation of \n(yr. 9049 90502000-01-02 Werner LEMBERG <wl@gnu.org> 9051 9052 * tmac/tmac.arkup: Slight modification of macros to provide better 9053 appearance for non-HTML formats. 9054 90552000-01-01 Charles Levert <charles@comm.polymtl.ca> 9056 9057 * soelim/soelim.cc (include_path_append): realloc(NULL, n) 9058 does not automatically translate to malloc(n) on all OSes 9059 (e.g., SunOS) so do it explicitly. Also, check the returned 9060 value. 9061 90622000-01-01 Werner LEMBERG <wl@gnu.org> 9063 9064 * tmac/tmac.arkup: Added .LINE macro. Some formatting. 9065 9066 * Makefile.in: Added $(tmac_m) again since the Makefile in `mm' 9067 expects this variable 9068 90692000-01-01 Gaius Mulley <gaius@glam.ac.uk> 9070 9071 * doc/Makefile: Added instructions to create HTML and text 9072 versions of some files. 9073 90741999-12-31 Werner LEMBERG <wl@gnu.org> 9075 9076 * Updated INSTALL.gen. 9077 9078 * tmac/tmac.arkup: Added fixes so that .FTP and .MAILTO works 9079 better resp. correctly with non-HTML devices. 9080 9081Version 1.15 released 9082===================== 9083 90841999-12-28 Werner LEMBERG <wl@gnu.org> 9085 9086 * NEWS, VERSION: Changed to 1.15 9087 90881999-12-27 Paul Eggert <eggert@twinsun.com> 9089 9090 * nroff/nroff.man: -S is safer, not safe. 9091 9092 * groff/groff.cc (main): Use `safer', not `safe', in variable 9093 names. This does not change the behavior. 9094 9095 * troff/input.cc (main): Likewise. 9096 9097 * nroff/nroff.sh: Likewise. 9098 9099 * troff/input.cc (prepend_string): New function. 9100 (main): Prepend -msafer, so that we check macro libraries for 9101 safety. 9102 9103 * PROBLEMS: Report problem with Sun C++ 5.0 and 5.1. 9104 9105Version 1.14 released 9106===================== 9107 91081999-12-26 Werner LEMBERG <wl@gnu.org> 9109 9110 * NEWS, VERSION: Changed to 1.14. 9111 91121999-12-24 Werner LEMBERG <wl@gnu.org> 9113 9114 * refer/refer.cc: Fixing the last fix. 9115 9116Version 1.13 released 9117===================== 9118 91191999-12-23 Werner LEMBERG <wl@gnu.org> 9120 9121 * tmac/tmac.an: A typo (`.if' instead of `.ie') made the page 9122 number disappear. 9123 9124 * NEWS: Updated. 9125 9126 * tmac/tmac.safer: Forgot to remove `so' from the `rm' request. 9127 9128 * VERSION: Changed to 1.13 -- to be compliant with the Adobe 3.0 9129 document conventions, the version number must be a real. 9130 9131Version 1.12.1 released 9132======================= 9133 91341999-12-22 Werner LEMBERG <wl@gnu.org> 9135 9136 * VERSION: Changed to 1.12.1. 9137 91381999-12-22 Alan Rooks <arooks@istar.ca> 9139 9140 * refer/refer.cc (do_file): Slight modification to satisfy the 9141 `Standard system CC - C++ Compilation System 3.1 03/03/99' on SCO 9142 UnixWare 7.1. 9143 91441999-12-20 Werner LEMBERG <wl@gnu.org> 9145 9146 * changed prep.ai.mit.edu -> ftp.gnu.org; updated copyright 9147 notices. 9148 9149 * tmac/tmac.safer, tmac/groff_msafer.man: Remove `so' (again) from 9150 list of unsafe requests. 9151 9152 * pic/pic.man: Fixed a typo. 9153 9154 * man/groff_out.man: Fixed a typo. 9155 91561999-12-18 Werner LEMBERG <wl@gnu.org> 9157 9158 * Makefile.in: Doc fixes. 9159 91601999-12-17 Fabrizio Polacco <fab@prosa.it> 9161 9162 * groff/groff.cc: Missing `U' option added to getopt(). 9163 9164 * troff/troff.man: Missing `U' option added to synopsis. 9165 9166Version 1.12 released 9167===================== 9168 91691999-12-14 Werner LEMBERG <wl@gnu.org> 9170 9171 * troff/input.cc (usage), groff/groff.cc (synopsis): Added -U flag 9172 to the synopsis. 9173 9174 * nroff/nroff.sh, nroff/nroff.man: Replaced `secure', `unsecure' 9175 with the more appropriate terms `safer' and `unsafe'. 9176 9177 * libgroff/strerror.c, aclocal.m4, configure.in: Added checks for 9178 sys_nerr and sys_errlist[]. 9179 9180 * pic/pic.h, aclocal.m4, configure.in: Added check for hypot(). 9181 9182 * pic/pic.y, pic/pic.cc: Added check for fmod(). 9183 91841999-12-13 Werner LEMBERG <wl@gnu.org> 9185 9186 * VERSION: Changed to 1.12. 9187 9188 Here some patches from various sources; most of them taken from 9189 the Debian distribution. 9190 9191 * tmac/groff_mdoc.man, tmac/groff_mdoc.samples.man, 9192 tmac/Makefile.sub: New files copied directly from the NetBSD 9193 distribution. Probably, some additional adaptation later on is 9194 necessary... 9195 9196 * tmac/tmac.safer, tmac/groff_msafer.man: Added `so' to the list 9197 of unsafe requests. 9198 9199 * groff/groff.cc, groff/groff.man, nroff/nroff.sh, 9200 nroff/nroff.man, pic/main.cc, pic/pic.man, troff/input.cc, 9201 troff/troff.man: Added option `-U' for unsafe mode. Safe mode 9202 (`-S') is now the default. 9203 9204 * README, NEWS: Updated. 9205 92061999-12-09 Werner LEMBERG <wl@gnu.org> 9207 9208 * doc/groff.texinfo: Regenerated nodes and menus with emacs. 9209 9210 * doc/Makefile (clean): Added cleaning commands for groff.texinfo. 9211 92121999-12-06 Werner LEMBERG <wl@gnu.org> 9213 9214 * configure.in: Removed AC_PREFIX_PROGRAM since it causes more 9215 grief than relief today. Additionally, it is against the GNU 9216 coding standards. 9217 9218 * configure: Recreated. 9219 92201999-12-05 Werner LEMBERG <wl@gnu.org> 9221 9222 * configure.in: Added GROFF_LIBM. 9223 9224 * configure: Recreated. 9225 9226 * aclocal.m4 (GROFF_LIBM): New function which tests whether -lm is 9227 necessary. 9228 9229 * Makefile.in: Added definition of $(LIBM). 9230 9231 * Makefile.comm (LIBM): Removed. 9232 9233 * pfbtops/Makefile.sub: On AIX, -lm is needed also. 9234 92351999-12-03 Gaius Mulley <gaius@glam.ac.uk> 9236 9237 * doc/Makefile: Added rule for generation pic.html. 9238 9239 (clean): Files produced by grohtml will be removed also. 9240 9241 * doc/pic.ms: Small fix. 9242 9243 * tmac/tmac.html: Fixed suppression of headers. 9244 92451999-11-16 Gaius Mulley <gaius@glam.ac.uk> 9246 9247 * tmac/tmac.html: Fixing horizontal arrows. 9248 9249 Turning off hyphenation. 9250 9251 * tmac/tmac.an: Improved support for grohtml; better indentation, 9252 no footers/headers. 9253 92541999-10-31 Gaius Mulley <gaius@glam.ac.uk> 9255 9256 * tmac/tmac.arkup: Added CDFTP macro 9257 9258 * tmac/tmac.html: All headers are turned off for ms, me, and mm 9259 macros. 9260 9261 * tmac/troffrc: Some additions for HTML stuff. 9262 92631999-10-06 Gaius Mulley <gaius@glam.ac.uk> 9264 9265 * tmac/tmac.html: Small changes. 9266 92671999-09-26 Werner LEMBERG <wl@gnu.org> 9268 9269 * doc/groff.texinfo: Minor fixes. 9270 92711999-09-26 Gaius Mulley <gaius@glam.ac.uk> 9272 9273 * devhtml/TR: Changed spacewidth to 3. 9274 9275 * tmac/Makefile.sub (NORMALFILES): Added tmac.arkup. 9276 9277 * tmac/tmac.html: Moved markup macros to tmap.arkup. 9278 9279 * tmac/tmac.arkup: New file. 9280 9281 * grohtml/ChangeLog: New file. 9282 92831999-09-16 Werner LEMBERG <wl@gnu.org> 9284 9285 * doc/groff.texinfo (Common Features): Added Copying chapter. 9286 Changed format to @smallbook. 9287 92881999-09-15 Werner LEMBERG <wl@gnu.org> 9289 9290 * NEWS: Added info about groff.texinfo. 9291 9292 * doc/groff.texinfo: Will now compile (using texi2dvi) without 9293 warning messages. 9294 92951999-09-14 Werner LEMBERG <wl@gnu.org> 9296 9297 * groff/groff.man: More updates. 9298 92991999-09-13 Werner LEMBERG <wl@gnu.org> 9300 9301 * doc/groff.texinfo: New file. This manual is still very 9302 rudimentary. It has been originally contributed by Trent 9303 A. Fisher <trent@gnurd.portland.or.us> with first corrections and 9304 additions by me. 9305 9306 * INSTALL: Added information about the `doc' subdir 9307 9308 * troff/troff.man: Minor fixes. 9309 9310 * groff/groff.man: Added missing `-L arg' to SYNOPSIS section; 9311 reordered options. 9312 9313 * troff/input.cc (usage): Added missing `-ffam' to usage message. 9314 9315 * Makefile.in (dist): groff-$(version).tar.gz must be removed 9316 also, otherwise it is included itself in another call of `make 9317 dist'. 9318 9319 * groff/groff.cc (synopsis): Removed superfluous space. 9320 9321 * PROJECTS, PROBLEMS, NEWS: Updated. 9322 9323 * VERSION: Updated to 1.12beta. 9324 9325 * BUG-REPORT: Some cosmetic fixes. Corrected email address. 9326 9327 * README: Updated: Included documentation about CVS repository, 9328 mailing lists, and daily snapshots. 9329 9330 * tmac/Makefile.sub: Fixed $(tmap_wrap) finally. 9331 93321999-09-12 Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 9333 9334 * tmac/tmac.an: If the tag didn't fit into the space that the 9335 macro `TP' specifies, the rest of the tag went into the space for 9336 the next line. 9337 93381999-09-12 Jeffrey Copeland <jeff@opennt.com> 9339 9340 * grolj4/lj4.cc: Added duplex printing (option `-d'). 9341 9342 * grolj4/grolj4.man: Document duplex printing. 9343 93441999-09-12 Werner LEMBERG <wl@gnu.org> 9345 9346 * doc/Makefile (pic.ps): Fixed rule which caused problems with 9347 non-GNUish sed programs. 9348 9349 * tmac/doc-syms: Removed extra space from -iso8802-3 macro 9350 definition. 9351 9352 * configure.in (LIBS): Added `-lc' 9353 9354 * Makefile.comm (.man.n): Added substitution for @TMAC_AN_PREFIX@. 9355 9356 * pic/tex.cc (solid_arc): Casting M_PI to double. 9357 9358 * libgroff/putenv.c (putenv): Changed function header to ANSI C. 9359 9360 * groff/groff.man, tmac/Makefile.sub (MAN7), tmac/groff_msafer.man 9361 (new file), tmac/msafer.man (deleted), tmac/groff_me.man (new 9362 file), tmac/me.man (deleted): {me,msafer} -> groff_{me,msafer}. 9363 9364 * groff/groff_man.man: New file. This manual page was originally 9365 written for the Debian GNU/Linux system by Susan G. Kleinmann 9366 <sgk@debian.org>. 9367 9368 * eqn/list.cc (list_box::compute_metrics, 9369 list_box::compute_sublist_width): Removed variable declaration to 9370 avoid shadowing warnings. 9371 9372 * grops/psrm.cc (resource_manager::process_file): Ditto. 9373 9374 * tfmtodit/tfmtodit.cc (main): Ditto. 9375 9376 * libgroff/font.cc (font::load_desc): Renamed auxiliary variable 9377 to avoid shadowing warnings. 9378 9379 * tbl/table.cc (block_entry::do_divert, table::do_row): Renamed 9380 shadowing loop variable. 9381 9382 * groff/groff.man, troff/troff.man: Added doc about grohtml. 9383 93841999-09-12 Gaius Mulley <gaius@glam.ac.uk> 9385 9386 New grohtml frontend to convert groff input to html. 9387 9388 * Makefile.in (CCPROGDIRS, DEVDIRS): Added html device. 9389 9390 * tmac/Makefile.sub (NORMALFILES): Added tmac.html. 9391 9392 * tmac/eqnrc: Added html device. 9393 9394 * tmac/tmac.html: New file. 9395 9396 * eqn/main.cc (do_file, inline_equation), pic/troff.cc 9397 (troff_output::start_picture, troff_output::finish_picture), 9398 tbl/main.cc (process_input_file): 9399 Surrounded output with `graphics_start' and `graphics_end' so that 9400 the html driver can identify non-text portions. 9401 9402 * grodvi/dvi.cc (dvi_printer::set_char), grolj4/lj4.cc 9403 (lj4_printer::set_char), grops/ps.cc (ps_printer::set_char), 9404 grotty/tty.ps (tty_printer::set_char): Additional parameter 9405 `name'. 9406 9407 * include/printer.h: Class printer: New function 9408 set_char_and_width; new variables (is_char_named, is_named_set, 9409 named_command, named_char_s, named_char_n) to hold information 9410 about named characters -- needed by the html driver. 9411 9412 * libdriver/printer.cc (printer::set_ascii_char, 9413 printer::set_special_char): Use set_char_and_width. 9414 9415 * devhtml/*: New device files for html driver. 9416 9417 * grohtml/*: New driver grohtml. 9418 94191999-09-11 Wilfredo Sanchez <wsanchez@apple.com> 9420 9421 * tmac/doc-common, tmac/tmac.an: Removed the word `UNIX' in 9422 default strings. 9423 94241999-09-11 Luke Mewburn <lukem@netbsd.org> 9425 9426 * libgroff/string.cc (search): Small fix to test against NULL 9427 pointer. 9428 94291999-09-11 Jeff Conrad <jeff_conrad@msn.com> 9430 9431 * troff/node.cc (copy): The characters in a bracket escape (e.g., 9432 \b'abc') were stacked in reverse order when processed in a 9433 diversion. 9434 9435 * troff/node.h: Added `*last' to struct `node' to make the above 9436 fix work. 9437 9438 * troff/input.cc (read_draw_node), libdriver/input.cc (do_file): 9439 The default scale for the 'f' and 't' graphics functions were 'm' 9440 rather than 'u' (i.e., no scaling). 9441 94421999-09-11 Peter Miller <peterm@jna.com.au> 9443 9444 * groff/groff.cc (main), groff.man, soelim/soelim.cc (main, 9445 do_file), soelim/soelim.man: Added `-I file' option to soelim, 9446 defining include paths. 9447 9448 * soelim/soelim.cc (include_path_append): New function. 9449 94501999-09-11 Larry Jones <larry.jones@sdrc.com> 9451 9452 * tbl/main.cc (process_options): Unix (at least Documenter's 9453 Workbench) tbl allows arbitrary non-alpha characters between 9454 options. 9455 94561999-09-11 Paul Eggert <eggert@twinsun.com> 9457 9458 Y2k fixes. Don't assume that the current year precedes 2000. 9459 9460 * doc/meref.me: Add \n(y2, \n(y4. 9461 9462 * tmac/doc-common (Yr): New number register. 9463 (Dd): Don't assume current year precedes 2000. 9464 9465 * tmac/tmac.e (td): Likewise. 9466 (y2, y4): New number registers. 9467 9468 * pic/pic.man: Update reference for pic paper to May, 1991 9469 version. 9470 94711999-09-11 Werner LEMBERG <wl@gnu.org> 9472 9473 * tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub): 9474 Removed quotation marks which prevented correct expansion of 9475 $(tmac_wrap). 9476 9477 * devlj4/Makefile.sub (LJ4RES): Fixed value (600 instead of 300). 9478 94791999-09-10 Werner LEMBERG <wl@gnu.org> 9480 9481 * Makefile.sub (DISTCLEANFILES): Added `config.log' and 9482 `config.cache'. 9483 9484 * Removed configure.old. 9485 94861999-08-31 Werner LEMBERG <wl@gnu.org> 9487 9488 * VERSION: Updated to 1.11.1 9489 94901999-05-27 Werner LEMBERG <wl@gnu.org> 9491 9492 * doc/Makefile: changed `.PS' postfix to `.ps' for consistency. 9493 9494 * tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub): 9495 added quotations around $(tmac_wrap) to avoid syntax error if 9496 variable is empty. 9497 9498 * configure: Newly generated using autoconf 2.13. 9499 9500 * Makefile.in (LDFLAGS): Set variable to @LDFLAGS@. 9501 9502Fri Aug 15 08:51:47 1997 Eric S. Raymond <esr@snark.thyrsus.com> 9503 9504 * README, PROJECTS, NEWS, INSTALL, VERSION, 9505 doc/Makefile. doc/pic.ms, groff/groff.man: 9506 Prepare for 1.11 release. No code changes. 9507 Documentation for pic added (doc/pic.ms). 9508 9509Sun Nov 26 11:45:13 1995 James Clark <jjc@jclark.com> 9510 9511 * Version 1.10 released. 9512 9513Fri Nov 24 09:56:16 1995 James Clark <jjc@jclark.com> 9514 9515 * afmtodit/afmtodit.pl: Avoid comment on first line. 9516 9517Mon Nov 20 11:13:49 1995 James Clark <jjc@jclark.com> 9518 9519 * aclocal.m4 (GROFF_INSTALL_SH): New macro. 9520 * configure.in: Call it. 9521 9522 * Makefile.sub (configure): Depends on aclocal.m4 not acgroff.m4. 9523 (distfiles): Doesn't depend on config.log or config.cache. 9524 9525Sun Oct 1 08:45:36 1995 James Clark <jjc@jclark.com> 9526 9527 * grog/grog.sh: Use print "" rather than print in END rule. 9528 9529Wed Aug 23 13:30:52 1995 James Clark <jjc@jclark.com> 9530 9531 * tbl/main.cc (process_data): Don't give error for excess data 9532 entries that are comments. 9533 9534Fri Jul 28 11:00:27 1995 James Clark <jjc@jclark.com> 9535 9536 * tbl/main.cc (process_data): Fix case where new for-scope rules 9537 silently change meaning of code. 9538 9539Tue Jul 4 23:39:51 1995 James Clark <jjc@jclark.com> 9540 9541 * troff/env.cc (hyphenate): Loop over all consecutive sequences 9542 of non-zero hyphenation codes. 9543 9544Sat Jul 1 00:42:15 1995 James Clark <jjc@jclark.com> 9545 9546 * aclocal.m4 (GROFF_POSIX): Use conflicting declaration technique. 9547 9548Thu Jun 29 13:58:36 1995 James Clark <jjc@jclark.com> 9549 9550 * tmac/tmac.e (ip): Divert the tag so as to freeze the spaces. 9551 9552Tue Jun 27 12:30:16 1995 James Clark <jjc@jclark.com> 9553 9554 * tmac/tmac.andoc: Make it work in compatibility mode. 9555 9556 * refer/token.h (token_info::is_range_sep): New function. 9557 * refer/token.cc (init_special_chars): Make \(en a RANGE_SEP. 9558 * refer/ref.cc (reference::output): More sophisticated check for 9559 multiple pages. 9560 9561 * devps/prologue.ps (MANUAL): New procedure. 9562 * grops/ps.cc (main): New -m option. 9563 (usage): Include -m. 9564 (ps_printer::~ps_printer): Implement -m. 9565 9566 * aclocal.m4 (GROFF_G): New macro. 9567 * configure.in: Call it. 9568 * Makefile.in (g): Provided by configure. 9569 9570 * hpftodit/hpftodit.cc (basename): Rename to xbasename. 9571 9572 * tmac/tmac.tty: Disable warning about bad fonts. Remove font 9573 translations. 9574 9575 * Makefile.in (tmacpath): Don't include /usr/lib/tmac. 9576 (tmac_m, tmac_s): Deleted. 9577 (sys_tmac_prefix, tmac_wrap, tmac_prefix, tmac_an_prefix, 9578 tmac_s_prefix): New variables. 9579 (MDEFINES): Change accordingly. 9580 * Makefile.comm (.man.n): Use new TMAC_* variables. 9581 * configure.in (GROFF_TMAC): Call. 9582 * aclocal.m4 (GROFF_TMAC): Define. 9583 * tmac/Makefile.sub (stamp_wrap): New target. 9584 (install_data, uninstall_sub): Handle macro wrapping. 9585 9586Mon Jun 26 14:54:39 1995 James Clark <jjc@jclark.com> 9587 9588 * tbl/main.cc (main): Ignore -T option. 9589 9590Thu Jun 22 09:08:06 1995 James Clark <jjc@jclark.com> 9591 9592 * devlj4/generate/special.map: Add definition of \(nb. 9593 9594 * tmac/tmac.dvi: Add definition of \(nb. 9595 9596 * troff/dictionary.c (dictionary::dictionary): association::v gets 9597 initialized by association::association. 9598 9599 * tmac/Makefile.sub: Avoid using temporary files when installing. 9600 9601 * troff/env.cc (environment::set_font): Make bad font number a 9602 warning. 9603 9604 * Makefile.in (fontpath): Remove $(prefix)/lib/font from fontpath. 9605 9606 * Makefile.in (datadir): Use share rather than lib. 9607 9608 * groff/groff.cc (basename): Rename to xbasename. 9609 9610Wed Jun 21 16:59:46 1995 James Clark <jjc@jclark.com> 9611 9612 * Makefile (CCLIBS): Don't use. 9613 * Makefile.ccpg: Likewise. 9614 9615 * acgroff.m4: Rename to... 9616 * aclocal.m4: Modify extensively for autoconf 2. 9617 * configure.in: Likewise. 9618 * Makefile.in: Likewise. 9619 9620 * groff/pipeline.c (const): Declare as empty if __STDC__ not 9621 defined. 9622 (xstrsignal): Check for definition of NSIG. Conditionalize 9623 on SYS_SIGLIST_DECLARED. Make return type const. 9624 9625Sat Jun 10 12:28:16 1995 James Clark <jjc@jclark.com> 9626 9627 * troff/input.cc (interpolate_macro): Rephrase missing space 9628 warning. 9629 9630Thu May 11 01:07:16 1995 Jason Merrill <jason@phydeaux.cygnus.com> 9631 9632 * addftinfo/addftinfo.cc, eqn/delim.cc, eqn/lex.cc, eqn/list.cc, 9633 grodvi/dvi.cc, groff/groff.cc, grops/ps.cc, grops/psrm.cc, 9634 grotty/tty.cc, include/ptable.h indxbib/indxbib.cc, 9635 libbib/index.cc, libbib/linear.cc, libbib/search.cc, 9636 libdriver/input.cc, libdriver/printer.cc, libgroff/font.cc, 9637 libgroff/lf.cc, libgroff/nametoindex.cc, libgroff/ptable.cc, 9638 libgroff/string.cc, lkbib/lkbib.cc, lookbib/lookbib.cc, 9639 pic/lex.cc, pic/object.cc, pic/pic.y refer/label.y refer/ref.cc, 9640 refer/refer.cc, refer/token.cc, tbl/main.cc, tbl/table.cc, 9641 tfmtodit/tfmtodit.cc, troff/dictionary.cc, troff/div.cc, 9642 troff/env.cc, troff/input.cc, troff/node.cc, troff/symbol.cc: 9643 Fix 'for' scoping. 9644 9645Wed Apr 19 21:15:11 1995 James Clark <jjc@jclark.com> 9646 9647 * troff/input.cc (spring_trap): Push a macro_iterator rather than a 9648 string_iterator. 9649 (spring_trap, postpone_traps, unpostpone_traps): Move to later in 9650 file. 9651 (macro_iterator::macro_iterator): Add additional argument. 9652 9653Mon Apr 10 12:06:02 1995 James Clark <jjc@jclark.com> 9654 9655 * troff/div.cc (vertical_size::vertical_size): In place of integer 9656 specifying line spacing use cunits specifying post vertical 9657 space. 9658 (macro_diversion::output, top_level_diversion::output): Likewise. 9659 * troff/div.h: Change declarations accordingly. 9660 * troff/env.cc (pending_output_line): Replace ls field by post_vs 9661 field. 9662 (pending_output_line::pending_output_line, 9663 pending_output_line::output, environment::output, 9664 environment::output_line, environment::output_title, 9665 environment::hyphenate_line): In place of 9666 integer specifying line spacing use cunits specifying post vertical 9667 space. 9668 (environment::environment): Add post_vertical_spacing and 9669 prev_post_vertical_spacing arguments. 9670 (environment::get_post_vertical_spacing): New function. 9671 (environment::total_post_vertical_spacing): New function. 9672 (environment::post_vertical_spacing): New function. 9673 (init_env_requests): Initialize pvs request and .pvs register. 9674 * troff/env.h: Change declarations. 9675 9676Tue Mar 28 09:52:07 1995 James Clark <jjc@jclark.com> 9677 9678 * tmac/tmac.pspic: Immediately remove the temporary file. 9679 9680Sat Mar 25 10:43:11 1995 James Clark <jjc@jclark.com> 9681 9682 * tmac/tmac.pspic (PSPIC): Scale graphic uniformly even when 9683 height is specified. 9684 9685Thu Jan 26 16:20:13 1995 James Clark <jjc@jclark.com> 9686 9687 * tbl/table.c (struct vertical rule, class table_entry): Use int 9688 not short for start_row and end_row. 9689 9690Fri Jan 13 13:53:05 1995 James Clark <jjc@jclark.com> 9691 9692 * troff/input.cc (trapping_blank_line, blank_line_macro): New 9693 functions. 9694 (diverted_space_node::reread, process_input_stack): Call 9695 trapping_blank_line() rather than blank_line(). 9696 (init_input_requests): Bind "blm" to blank_line_macro(). 9697 9698 * tmac/tmac.s (XA): Use .br and par@reset rather than XA. 9699 9700Tue Jan 10 11:40:35 1995 James Clark <jjc@jclark.com> 9701 9702 * troff/env.cc (environment::possibly_break_line): Require that 9703 width total excluding width of final space node be greater than 9704 the target text length. 9705 9706Tue Jan 3 09:13:37 1995 James Clark <jjc@jclark.com> 9707 9708 * troff/node.cc (kern_pair_node::vertical_extent): New function. 9709 9710Sun Dec 4 13:19:07 1994 James Clark <jjc@jclark.com> 9711 9712 * troff/node.cc (charinfo_node): New class. 9713 (glyph_node, composite_node): Derive from charinfo_node. Change 9714 member functions accordingly. 9715 9716Wed Nov 30 10:29:29 1994 James Clark <jjc@jclark.com> 9717 9718 * nroff/nroff.sh: Use -Tlatin1 not -TLatin1. 9719 9720Mon Aug 8 10:17:59 1994 James Clark (jjc@jclark.com) 9721 9722 * tmac/tmac.tty-char: Add definitions for \(ab and \[arrowvertex]. 9723 9724 * devps/generate/textmap (notsubset): Add. 9725 9726 * tmac/tmac.a4: New file. 9727 9728Sun Jul 24 20:08:42 1994 James Clark (jjc@jclark.com) 9729 9730 * pic/main.cc (had_parse_error): New variable. 9731 (do_picture, do_whole_file): Set had_parse_error if yyparse() 9732 returns non-zero. 9733 (main): Return 1 if had_parse_error is true. 9734 9735Tue Jul 19 13:40:31 1994 James Clark (jjc@jclark.com) 9736 9737 * grolj4/lj4.cc (main): Avoid use of strtoul. 9738 9739Mon Jul 18 15:03:02 1994 James Clark (jjc@jclark.com) 9740 9741 * nroff/nroff.sh: Default device is -Tlatin1 if $LC_CTYPE is 9742 iso_8859_1 or $LESSCHARSET is latin1. 9743 9744Sun Jul 10 13:38:35 1994 James Clark (jjc@jclark.com) 9745 9746 * hpftodit: New directory. 9747 * Makefile.in (CCPROGDIRS): Add hpftodit. 9748 * devlj4/generate: New directory. 9749 9750Thu Jul 7 23:49:48 1994 James Clark (jjc@jclark.com) 9751 9752 * configure.in: Don't use AC_VFORK. 9753 * groff/pipeline.c (run_pipeline): Use fork() always. 9754 9755Wed Jul 6 11:13:17 1994 James Clark (jjc@jclark.com) 9756 9757 * grops/ps.cc (main): Use %1 not %s in error message for -w. 9758 9759 * Makefile.in (CCPROGDIRS): Add grolj4. 9760 (DEVDIRS): Add devlj4. 9761 * grolj4, devlj4: New directories. 9762 * tmac/troffrc: Handle lj4. 9763 * tmac/tmac.lj4: New file. 9764 9765Fri Jun 17 18:02:53 1994 James Clark (jjc@jclark.com) 9766 9767 * tmac/tmac.e (@n): Set indent to 0 before calling |h. 9768 9769Wed Jun 1 07:33:47 1994 James Clark (jjc@jclark.com) 9770 9771 * troff/input.cc (do_if_request): At end of second string, switch 9772 environments before getting next token. 9773 9774Fri May 20 07:39:18 1994 James Clark (jjc@jclark.com) 9775 9776 * devps/psstrip.sed: Split rule that strips whitespace on either 9777 side of delimiters. 9778 9779Wed May 18 08:13:47 1994 James Clark (jjc@jclark.com) 9780 9781 * troff/node.h (font_family::make_definition): Add return value to 9782 declaration. * troff/symbol.h (symbol::operator==, 9783 symbol::operator!=): Likewise. 9784 9785Tue May 17 20:46:06 1994 James Clark (jjc@jclark.com) 9786 9787 * groff/groff.cc (main, help, synopsis): Handle -S. 9788 (possible_command::insert_arg): New function. 9789 9790 * tmac/tmac.safer: New file. 9791 * tmac/msafer.man: New file. 9792 * tmac/Makefile.sub (FILES): Add tmac.safer and msafer.man. 9793 9794Thu Mar 10 01:58:30 1994 Paul Eggert (eggert@twinsun.com) 9795 9796 * pic/pic.h, pic/main.cc (safer_flag): New variable. 9797 * pic/pic.y (placeless_element): Avoid unsafe operations if 9798 `safer_flag' is set. 9799 * pic/main.cc (main): Add -S option, which sets `safer_flag'. 9800 9801Tue May 10 13:02:31 1994 James Clark (jjc@jclark.com) 9802 9803 * eqn/lex.cc (get_token): Put call to add_context() in block to 9804 work around Sun C++ 4.0 bug. 9805 9806 * include/stringclass.h (operator +): Use ?: instead of `if' to 9807 work around Sun C++ 4.0 bug. 9808 9809Thu May 5 11:18:03 1994 James Clark (jjc@jclark.com) 9810 9811 * tbl/main.cc (process_format): Accept - as a synonym for the _ 9812 key letter. 9813 9814 * libbib/index.cc (minus_one): Don't declare as const. 9815 9816Fri Apr 29 09:32:48 1994 James Clark (jjc@jclark.com) 9817 9818 * troff/input.cc (get_char_for_escape_name): Push back a newline. 9819 9820Wed Apr 27 21:14:18 1994 James Clark (jjc@jclark.com) 9821 9822 * troff/input.cc (write_macro_request): New function. 9823 (init_input_requests): Bind write_macro_request to writem. 9824 9825Sun Apr 17 11:15:38 1994 James Clark (jjc@jclark.com) 9826 9827 * tmac/tmac.s (@EN): Turn filling back on even if there was no 9828 equation. 9829 9830 * eqn/lex.cc (do_space): Supply missing argument to lex_error. 9831 9832 * tmac/tmac.s (@TS): Renamed from TS. 9833 (TS): Call LP then TS again. 9834 (cov*ab-init): Alias @TS to TS. 9835 9836 * tmac/tmac.s: Allow QP or RS to initialize. 9837 9838 * tmac/tmac.s (par@load-init): New macro. Call at end of file. 9839 Move initializations of PS and LL here. 9840 (par@init): Don't initialize HY. Avoid changing environment 0. 9841 (par*env-init): Don't all par@reset. 9842 9843Thu Apr 14 19:15:45 1994 James Clark (jjc@jclark.com) 9844 9845 * include/posix.h: Include <fcntl.h> only if not using <osfcn.h>. 9846 9847Sun Apr 10 09:54:44 1994 James Clark (jjc@jclark.com) 9848 9849 * Makefile.in (MDEFINES): Add LDFLAGS. 9850 (LDFLAGS): Add definition line. 9851 9852Thu Apr 7 22:22:22 1994 James Clark (jjc@jclark.com) 9853 9854 * troff/input.cc (get_optional_char): Split off error check into... 9855 (check_missing_character): New function. 9856 * troff/token.h: Declare it. 9857 * troff/env.cc (margin_character): Don't call get_optional_char. 9858 Only call tok.next() after making the node. 9859 9860 * include/lib.h (getopt): Make 2nd argument char *const *. 9861 9862Fri Mar 11 07:28:03 1994 James Clark (jjc@jclark.com) 9863 9864 * nroff/conftest.sh: Deleted. 9865 9866Fri Mar 4 10:51:36 1994 James Clark (jjc@jclark.com) 9867 9868 * pic/make-dos-dist: Deleted. 9869 9870Wed Mar 2 20:59:16 1994 James Clark (jjc@jclark.com) 9871 9872 * devps/psstrip.sed: Strip comments before stripping trailing 9873 white space. 9874 9875Sat Feb 19 13:07:16 1994 James Clark (jjc@jclark.com) 9876 9877 * Version 1.09 released. 9878 9879Wed Feb 16 16:53:49 1994 James Clark (jjc@jclark.com) 9880 9881 * tmac/doc-ditroff (hK): Don't reset page number if \nC is > 0. 9882 9883Mon Feb 14 08:26:40 1994 James Clark (jjc@jclark.com) 9884 9885 * libgroff/font.cc (font::load_desc): Fix typo in error message. 9886 9887Sun Feb 13 09:37:38 1994 James Clark (jjc@jclark.com) 9888 9889 * libgroff/new.cc (operator new): Rewrite so as to avoid warning 9890 about returning without a value. 9891 9892 * troff/charinfo.h (charinfo::get_special_translation): Cast 9893 TRANSLATE_NONE to int. 9894 9895 * refer/token.cc (lookup_token, store_token): Remove bogus loop 9896 test. Fix test so that it works with n unsigned. 9897 9898 * pic/pic.y (defaults_table): Fully bracket initializer. 9899 * pic/lex.cc (lookup_keyword): Likewise. 9900 * eqn/lex.cc (token_table, def_table): Likewise. 9901 * eqn/box.cc (param_table): Likewise. 9902 * troff/input.cc (warning_table): Likewise. 9903 * libgroff/font.cc (table): Likewise. 9904 * grops/ps.cc (ps_printer::special): Likewise. 9905 * grops/psrm.cc (resource_manager::process_file): Likewise. 9906 * tfmtodit/tfmtodit.cc (lig_chars, lig_table): Likewise. 9907 * refer/command.cc (command_table): Likewise. 9908 * addftinfo/addftinfo.cc (param_table): Likewise. 9909 9910 * troff/symbol.cc (symbol::symbol): Prevent compiler warnings 9911 about temp's being unused. 9912 (unused): New function. 9913 9914 * groff/pipeline.cc: Declare c_fatal. 9915 9916 * libbib/linear.cc (bmpattern::search): Cast patterrn[--j] to 9917 uchar. 9918 9919 * libbib/index.cc (index_search_item::load): Prevent compiler 9920 warnings about fd_closer's being unused. 9921 (unused): New function. 9922 9923Sat Feb 12 10:31:59 1994 James Clark (jjc@jclark.com) 9924 9925 * troff/input.cc (copy_mode_error): Make `prefix' static. 9926 Fix typo. 9927 9928 * include/posix.h: Include <osfcn.h> is HAVE_CC_OSFCN_H is 9929 defined. 9930 * acgroff.m4, configure.in, Makefile: Rename HAVE_CC_UNISTD_H to 9931 HAVE_CC_OSFCN_H and modify accordingly. 9932 9933 * troff/input.cc (init_charset_table): radicalex overlaps 9934 horizontally. 9935 9936 * groff/acgroff.m4 (GROFF_ISC_SYSV3): New macro (from 9937 udodo!hans@relay.NL.net). 9938 * groff/configure.in: Call it. 9939 9940 * groff/acgroff.m4 (GROFF_PCLOSE): New macro. 9941 * groff/configure.in: Call it. 9942 * include/lib.h: Conditionalize declaration of pclose. 9943 9944 * troff/div.cc (last_page_number): New global variable. 9945 (top_level_diversion::begin_page): Exit if we just printed the 9946 last page. 9947 * troff/div.h (last_page_number): Declare it. 9948 * troff/input.cc (parse_output_page_list): Set last_page_number. 9949 9950 * eqn/sqrt.cc: Rename \(rn to \[radicalex]. 9951 * devps/S, devps/textmap, tmac/tmac.ps, tmac/tmac.dvi, 9952 tmac/tmac.X: Likewise. 9953 * tmac/tmac.ps, tmac/tmac.X, tmac.dvi: Add definitions of \(rn. 9954 * tmac.dvi: Make \(ru and \(ul extend beyond their width by .04m. 9955 9956Fri Feb 11 11:45:40 1994 James Clark (jjc@jclark.com) 9957 9958 * tmac/doc-ditroff (hK): Remove groff specific code which 9959 prevented page-breaks between separate manual entries. If this is 9960 the first page, don't set the page number to 1. 9961 9962 * acgroff.m4 (GROFF_POSIX): New macro. 9963 * configure.in: Use it. 9964 9965 * troff/node.cc (class real_output_file, 9966 real_output_file::real_output_file, 9967 real_output_file::~real_output_file): Conditionalize use of 9968 popen/pclose on POPEN_MISSING. 9969 * troff/node.h: Conditionalize pipe_command on POPEN_MISSING. 9970 * troff/input.cc (pipe_command): Give an error if POPEN_MISSING. 9971 (pipe_source): Similarily. 9972 9973 * acgroff.m4 (GROFF_PROG_CCC): Update message about libg++. 9974 9975 * acgroff.m4 (GROFF_GETOPT, GROFF_PUTENV, GROFF_POPEN): Detect 9976 presence of declarations by trying to compile example with 9977 conflicting declarations. (gcc only gives a warning for missing 9978 declarations.) 9979 9980Wed Feb 9 09:12:23 1994 James Clark (jjc@jclark.com) 9981 9982 * tmac/tmac.pspic (PSPIC): Allow options to specify alignment 9983 (from Ulrich Lauther). 9984 9985Tue Feb 8 03:56:40 1994 James Clark (jjc@jclark.com) 9986 9987 * libbib/linear.cc (file_buffer::load): Use S_ISREG macro. 9988 9989Thu Feb 3 09:34:35 1994 James Clark (jjc@jclark.com) 9990 9991 * indxbib/indxbib.cc (write_hash_table): Add code for case where 9992 pointers and ints have different sizes. 9993 9994Sun Jan 9 16:17:51 1994 James Clark (jjc@jclark.com) 9995 9996 * tmac/tmac.s (par*env-init): Call par@reset. 9997 9998Fri Jan 7 10:24:27 1994 James Clark (jjc@jclark.com) 9999 10000 * tmac/tmac.s (@IP): Switch to a new environment when diverting 10001 tag. 10002 (par*push-tag-env, par*pop-tag-env): New macros. 10003 10004Wed Jan 5 21:18:34 1994 James Clark (jjc@jclark.com) 10005 10006 * grops/ps.cc (ps_printer::ps_printer): Use MAX_LINE_LENGTH for 10007 initializing `out'. Reduce MAX_LINE_LENGTH from 79 to 72. 10008 10009 * grops/ps.cc (ps_printer::~ps_printer): Output %%CreationDate 10010 comment. Include <time.h>. 10011 10012Wed Dec 15 14:14:00 1993 James Clark (jjc@jclark.com) 10013 10014 * grops/ps.cc (is_small_h, is_small_v): Deleted. 10015 (ps_printer::flush_sbuf): Use absolute motion only at beginning of 10016 lines. 10017 10018Tue Dec 14 10:06:34 1993 James Clark (jjc@jclark.com) 10019 10020 * troff/input.cc (read_request): Only print a prompt if reading 10021 from the terminal. Also clearerr on EOF if reading from the 10022 terminal. Declare isatty. 10023 10024Mon Nov 29 08:38:15 1993 James Clark (jjc@jclark.com) 10025 10026 * refer/label.y: Rename map_t to map_func and extractor_t to 10027 extractor_func. 10028 10029Sat Oct 30 06:38:12 1993 James Clark (jjc@jclark.com) 10030 10031 * include/assert.h: Don't use volatile. 10032 * libgroff/assert.cc: Likewise. 10033 10034Fri Oct 29 15:00:23 1993 James Clark (jjc@jclark.com) 10035 10036 * troff/input.cc (abort_request): Look at character in tok before 10037 calling get_copy(). 10038 10039Thu Oct 28 14:09:48 1993 James Clark (jjc@jclark.com) 10040 10041 * troff/troff.h (NO_RETURN): Deleted. 10042 * troff/div.cc (cleanup_and_exit): Don't declare aas NO_RETURN. 10043 * troff/input.cc (exit_troff): Likewise 10044 10045 * Makefile.in: Remove `Making ...' messages since GNU make now 10046 gives these. 10047 10048 * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H. 10049 10050Wed Oct 27 11:12:51 1993 James Clark (jjc@jclark.com) 10051 10052 * tmac/tmac.s (@init): Initialize PO to \n(.o here, rather than 10053 to constant 1 inch. 10054 10055Sat Oct 23 10:03:52 1993 James Clark (jjc@jclark.com) 10056 10057 * tmac/tmac.e (hl): Use \n[.in] rather than \n(.i. 10058 10059Thu Oct 14 12:09:45 1993 James Clark (jjc@jclark.com) 10060 10061 * eqn/delim.cc (delim_box::compute_metrics): Don't increase 10062 MARK_REG if there was no left delimiter. 10063 10064Sat Oct 2 19:54:47 1993 James Clark (jjc@jclark.com) 10065 10066 * pic/troff.cc (troff_output::text): Set line thickness to 10067 relative before outputting text. 10068 10069 * tmac/tmac.e (@k): Don't zero ?T. 10070 ((z): Likewise. 10071 10072Sat Sep 25 11:08:43 1993 James Clark (jjc@jclark.com) 10073 10074 * tmac/tmac.e ($p): Handle possibility that $3 is empty. 10075 10076Wed Aug 18 08:51:41 1993 James Clark (jjc@jclark.com) 10077 10078 * troff/input.cc (decode_args): Warn about unquoted tabs (from 10079 Paul Eggert). 10080 10081Tue Aug 10 08:38:32 1993 James Clark (jjc@jclark.com) 10082 10083 * troff/input.cc (ignoring): New variable. 10084 (ignore): Set ignoring during call to do_define_macro. 10085 (do_define_macro): Clear ignoring before interpolating terminating 10086 macro. 10087 (copy_mode_error): New function. 10088 (get_char_for_escape_name, read_long_escape_name, 10089 interpolate_arg): Use copy_mode_error. 10090 (warning_table): Add WARN_IG. 10091 * troff/troff.h (WARN_IG): Declare. 10092 (WARN_TOTAL): Change accordingly. 10093 10094 * groff/pipeline.c (strsignal): Rename to xstrsignal. 10095 * groff/groff.cc (strsignal): Delete declaration. 10096 10097Fri Jul 16 01:43:12 1993 James Clark (jjc@jclark.com) 10098 10099 * troff/div.cc (page_offset): Use 'm' as default scaling. 10100 10101Sat Jul 3 09:11:38 1993 James Clark (jjc@jclark.com) 10102 10103 * nroff/nroff.sh: Ignore -u. 10104 10105Wed Jun 9 12:17:27 1993 James Clark (jjc@jclark.com) 10106 10107 * Makefile.in (MDEFINES): Pass down MAKEOVERRIDES. 10108 10109Fri Jun 4 17:35:47 1993 James Clark (jjc@jclark.com) 10110 10111 * tmac/tmac.s (par*box-draw): Set adjustment mode to l while 10112 drawing box. 10113 (B2): With -Tascii, leave additional vertical space before 10114 and after. Ensure that the left and right indent is restored to 10115 what it was even if the point size changes. Don't call 10116 par@finish. Change the indent, line length and title length 10117 directly. With -Tascii, make the width of the box 1n less. 10118 (B1): Remember 1n at the current point size. Don't call 10119 par@reset. Change the indent, line length and title length 10120 directly. Ensure that the temporary indent is preserved. 10121 (par*box-mark-top): Turn off no spacing mode. 10122 10123Thu Jun 3 17:47:14 1993 James Clark (jjc@jclark.com) 10124 10125 * Makefile.in (dist): Use .gz suffix. 10126 10127Thu May 27 20:04:59 1993 James Clark (jjc@jclark.com) 10128 10129 * troff/input.cc (main): Add return 0. 10130 * pic/main.cc (main): Use return instead of exit. 10131 * tbl/main.cc (main): Likewise. 10132 * eqn/main.cc (main): Likewise. 10133 * grops/ps.cc (main): Likewise. 10134 * grotty/tty.cc (main): Likewise. 10135 * groff/groff.cc (main): Likewise. 10136 * grodvi/dvi.cc (main): Likewise. 10137 * refer/refer.cc (main): Likewise. 10138 * indxbib/indxbib.cc (main): Likewise. 10139 * lkbib/lkbib.cc (main): Likewise. 10140 * soelim/soelim.cc (main): Likewise. 10141 * addftinfo/addftinfo.cc (main): Likewise. 10142 * acgroff.m4 (GROFF_PROG_CCC, GROFF_CC_COMPILE_CHECK, 10143 GROFF_COOKIE_BUG, GROFF_CC_ANSI_BUG): Likewise. 10144 10145 * troff/token.h (process_input_stack): Don't declare as static. 10146 * troff/input.cc: Likewise. 10147 10148 * troff/node.c (invalidate_fontno): Make it a static member of 10149 class font_family. Change callers. 10150 * troff/node.c: Change declaration. 10151 10152 * tbl/main.cc (struct input_entry_format): Add explicit public 10153 specifier. 10154 * tbl/table.cc (struct text_stuff, struct single_hline_stuff, 10155 struct double_hline_stuff): Likewise. 10156 * tbl/table.h (struct entry_format): Likewise. 10157 * pic/object.h (struct saved_state): Likewise. 10158 10159 * include/stringclass.h: Add forward declarations of friend 10160 functions that are later declared as inline. Don't include inline 10161 specifier in friend declaration. 10162 10163 * libgroff/lib.h: Declare popen and pclose. 10164 * acgroff.m4 (GROFF_POPEN): New macro. 10165 * configure.in: Call it. 10166 10167 * include/lib.h (PI): New constant. Undef first if necessary. 10168 * tfmtodit/tfmtodit.cc (main): Use PI rather than M_PI. 10169 * grops/ps.cc (degrees, radians): Likewise. 10170 * libgroff/font.cc (font::get_skew): Likewise. 10171 10172 * grops/ps.cc (is_ascii): New function. 10173 (ps_output::put_string): Use is_ascii. Use csprint rather than 10174 isprint. 10175 (ps_printer::define_encoding): Use csspace. 10176 * libgroff/strtol.c (ISASCII): New macro. 10177 (strtol): Cast arguments to is*() and tolower() to unsigned char. 10178 Use ISASCII rather than isascii. 10179 * libgroff/cmap.cc: Use isascii() only if <ctype.h> defines it. 10180 * libgroff/cset.cc: Likewise. 10181 * libdriver/input.cc: Include cset.h. 10182 (do_file, get_integer, possibly_get_integer): Use csdigit() rather 10183 than isdigit(). 10184 10185 * refer/refer.cc (main): Use %ld rather than %d for longs. 10186 10187 * libbib/index.cc (index_search_item_iterator::get_tag): Use 10188 S_ISREG macro. 10189 10190 * addftinfo/addftinfo.cc (param_t): Add explicit `int'. 10191 10192Mon May 24 08:51:37 1993 James Clark (jjc@jclark.com) 10193 10194 * troff/input.cc (hyphenation_code): Skip white space between 10195 char/code pairs. 10196 10197Sun May 16 08:15:52 1993 James Clark (jjc at jclark.com) 10198 10199 * tbl/table.h (table::entry_list_tailp): New member. 10200 (table::table): Initialize it. 10201 (table::add_entry): Use entry_list_tailp to avoid O(n^2) 10202 behaviour. 10203 10204Sat May 15 17:26:00 1993 James Clark (jjc at jclark.com) 10205 10206 * grotty/tty.cc (tty_printer::add_char): Don't discard characters 10207 with negative horizontal positions. Remove casts of glyph::hpos to 10208 int. 10209 (USHRT_MAX): Delete definition. 10210 (SHRT_MAX, SHRT_MIN): New definitions. 10211 (glyph::hpos): Change type to short. 10212 (tty_printer::end_page): Output multiple backspaces if necessary. 10213 Remove casts of glyph::hpos to int. 10214 10215Fri May 7 12:14:37 1993 James Clark (jjc at jclark.com) 10216 10217 * tmac/tmac.s (@RT): New definition. 10218 10219Thu May 6 21:36:54 1993 James Clark (jjc at jclark.com) 10220 10221 * refer/refer.cc (do_file): Make sure current_filename is set when 10222 filename is "-". 10223 10224 * pic/common.cc (common_output::dot_line): Handle zero length 10225 lines. 10226 10227Sun May 2 19:54:16 1993 James Clark (jjc at jclark.com) 10228 10229 * tmac/tmac.s (par@reset): Get value for .hy for \n[HY]. 10230 (par@init): Initialize \n[HY]. 10231 10232Mon Apr 26 11:43:16 1993 James Clark (jjc at jclark.com) 10233 10234 * troff/dictionary.cc (dictionary::remove): Continue when 10235 r < j < i. 10236 10237Sun Apr 25 11:03:00 1993 James Clark (jjc at jclark.com) 10238 10239 * Makefile.com (.y.cc): Avoid ending up with two versions of 10240 $(YTABH). 10241 10242Thu Apr 22 21:03:45 1993 James Clark (jjc at jclark.com) 10243 10244 * tmac/tmac.dvi (\(,c): Define only if it does not exist. 10245 (\(,C): Likewise. Also fix typo. 10246 10247Wed Apr 21 08:47:32 1993 James Clark (jjc at jclark.com) 10248 10249 * lib.h: Delete extraneous semi-colon. 10250 10251 * Add pso request: `so' from a pipe. 10252 * troff/input.c (file_iterator::file_iterator): Add 3rd argument. 10253 (file_iterator::close): New function. 10254 (file_iterator::~file_iterator, file_iterator::next_file): Use 10255 file_iterator::close. 10256 (file_iterator::backtrace): Say `process' rather than `file' when 10257 the stream is popened. 10258 (pipe_source): New function. 10259 (init_input_requests): Bind ".pso" to pipe_source. 10260 10261Tue Apr 20 00:02:26 1993 James Clark (jjc at jclark.com) 10262 10263 * afmtodit/afmtodit.pl: Avoid single quotes in comments. 10264 10265 * pfbtops/pfbtops.c: Output 64 characters per line. Output hex 10266 digits in lower case. 10267 10268Mon Apr 19 09:55:57 1993 James Clark (jjc at jclark) 10269 10270 * Version 1.08 released. 10271 10272 * Makefile.in (dist): Insert || true after ln -s commands that 10273 might fail. 10274 10275 * mm: Update to mm 1.16. 10276 10277 * acgroff.m4 (GROFF_CSH_HACK): New macro. 10278 * configure.in: Call GROFF_CSH_HACK. Substitute for 10279 SH_SCRIPT_SED_CMD. 10280 * Makefile.in (SH_SCRIPT_SED_CMD): New variable. Include in 10281 MDEFINES. 10282 * nroff/Makefile.sub (nroff): New target. 10283 (install_data): Install nroff. 10284 * eqn/Makefile.sub (neqn): Sed with SH_SCRIPT_SED_CMD. 10285 * grog/Makefile.sub (grog): Sed grog.sh with SH_SCRIPT_SED_CMD. 10286 10287Sat Apr 17 08:24:28 1993 James Clark (jjc at jclark) 10288 10289 * eqn/Makefile.sub (neqn): Add chmod +x. 10290 10291 * grog/Makefile.sub (grog): Remove spurious semi-colon. 10292 10293Fri Apr 16 22:41:57 1993 James Clark (jjc at jclark) 10294 10295 * troff/input.cc (string_iterator::string_iterator()): Initialize 10296 lineno and count. 10297 10298Tue Apr 13 10:22:28 1993 James Clark (jjc at jclark) 10299 10300 * troff/div.cc (macro_diversion::space, 10301 top_level_diversion::space): Don't set high_water_mark. 10302 (macro_diversion::output, top_level_diversion::output): Don't 10303 include post line space in high water mark. 10304 10305Wed Apr 7 12:48:18 1993 James Clark (jjc at jclark) 10306 10307 * eqn/eqn.y: Don't define YYDEBUG. 10308 * pic/pic.y: Likewise. 10309 10310Mon Apr 5 10:15:15 1993 James Clark (jjc at jclark) 10311 10312 * tmac/tmac.e ([3): Add space after comma following editors. 10313 Change double spaces to single spaces. 10314 ([4): Change double spaces to single spaces. 10315 10316 * grops/ps.h (USE_PS_ADOBE_2_0): New flag for broken_flags. 10317 * grops/ps.cc (ps_printer::~ps_printer): If the USE_PS_ADOBE_2_0 10318 bit is set in broken_flags, use 2.0 rather than 3.0 as the version 10319 after %!PS-Adobe- (for Newsprint). 10320 10321 * troff/div.cc (top_level_diversion::begin_page): When 10322 before_first_page is 1, set page_number to 1. 10323 10324Sun Apr 4 14:28:53 1993 James Clark (jjc at jclark) 10325 10326 * eqn/box.cc (box::top_level): Protect equation with \&. 10327 10328Sat Apr 3 23:27:25 1993 James Clark (jjc at jclark) 10329 10330 * groff/groff.cc (possible_command::set_name): Delete old name. 10331 10332 * groff/groff.cc (possible_command::~possible_command): Use 10333 a_delete. 10334 10335 * troff/node.cc (troff_output_file::begun_page): New member. 10336 (troff_output_file::troff_output_file): Initialize it. 10337 (troff_output_file::really_begin_page): Only output V command if a 10338 page has been begun. 10339 10340 * pic/pic.y (placeless_element): Delete argument to PRINT after 10341 use. 10342 10343Fri Apr 2 11:31:02 1993 James Clark (jjc at jclark) 10344 10345 * Make wrapman work. 10346 * troff/div.h (class top_level_diversion): Replace 10347 first_page_begun by before_first_page (with opposite sense). 10348 * Change first_page_begun to before_first_page inverting sense. 10349 * troff/div.cc (class nl_reg): New class. 10350 (init_div_requests): Use class nl_reg for \n(nl. 10351 (top_level_diversion::begin_page): Don't call 10352 output_file::begin_page if before_first_page is 2; 10353 reset before_first_page afterwards. If have_next_page_number is 10354 false, then always increment page_number. 10355 * tmac/tmac.an: Set traps within TH rather than at the top-level. 10356 Restore compatibility mode after loading, and then disable 10357 compatibility mode in TH. 10358 10359Thu Apr 1 11:09:34 1993 James Clark (jjc at jclark) 10360 10361 * grotty/tty.cc (tty_printer::end_page): Don't discard characters 10362 past last line. 10363 * troff/node.h (output_file::trailer): Declare. 10364 * troff/div.cc (cleanup_and_exit): Call output_file::trailer(). 10365 * troff/node.cc (output_file::trailer): New function. 10366 (troff_output_file::~troff_output_file): Move most code into... 10367 (troff_output_file::trailer): New function. 10368 (class troff_output_file): Delete page_length member. Declare 10369 trailer(). 10370 (troff_output_file::really_begin_page): Use current page length 10371 for final V command. 10372 10373 * tbl/main.cc (struct options): New decimal_point_char member. 10374 (options::options): Initialize this. 10375 (process_options): Implement decimalpoint option. 10376 (process_data): Pass decimal_point_char option to table::table. 10377 * tbl/table.h (class table): New decimal_point_char member. 10378 (table::table): Add additional argument. 10379 * tbl/table.cc (find_dot): Rename to find_decimal_point. Add 10380 second argument specifying decimal point character. Use this 10381 instead of '.'. 10382 (table::table): Initialize decimal_point_char. 10383 (table::add_entry): Change call to find_dot. 10384 10385 * troff/input.cc (get_copy, token::next): Implement \V. 10386 (interpolate_environment_variable): New function. 10387 10388Tue Mar 30 14:41:39 1993 James Clark (jjc at jclark) 10389 10390 * pic/lex.cc (lookup_keyword): Rename MIN to K_MIN, MAX to K_MAX. 10391 * pic/pic.y: Likewise. 10392 10393 * grotty/tty.cc (tty_printer::add_char, tty_printer::end_page): 10394 Add casts to int. 10395 * refer/ref.cc (reference::insert_field, reference::delete_field): 10396 Likewise. 10397 * troff/number.cc (parse_term): Likewise. 10398 10399 * acgroff.m4 (GROFF_PROG_YACC): New macro. 10400 * configure.in: Use GROFF_PROG_YACC. 10401 10402 * acgroff.m4 (GROFF_PROG_CCC): Don't add -O automatically for gcc 10403 and g++. 10404 * Makefile.in (OPTIMIZE): New define. 10405 (DEBUG): Empty by default. 10406 (CCFLAGS, CFLAGS): Include $(OPTIMIZE). 10407 10408 * acgroff.m4 (GROFF_SYS_SIGLIST): Don't quote program. 10409 (GROFF_ARRAY_DELETE): Likewise. 10410 (GROFF_CC_COMPILE_CHECK): Quote use of $2 and $3. 10411 10412 * troff/env.cc (trie::~trie): Make virtual to shut up g++. 10413 10414 * devps/psstrip.sed: Use different delimiter on last line (so that 10415 it works with BSD 4.4 sed.) 10416 10417Mon Mar 29 17:07:14 1993 James Clark (jjc at jclark) 10418 10419 * devps/psstrip.sed: Delete comments. 10420 10421 * acgroff.m4 (AC_GETOPT): Don't test whether <unistd.h> declares 10422 optind, opterr, optarg. 10423 * lib.h: When UNISTD_H_DECLARES_GETOPT is defined, declare optind, 10424 opterr, optarg. 10425 10426Sun Mar 28 17:44:25 1993 James Clark (jjc at jclark) 10427 10428 * Makefile.in (check): Dummy target. 10429 10430Wed Mar 3 04:53:38 1993 James Clark (jjc at jclark) 10431 10432 * Version 1.07 released. 10433 10434 * Integrate mm 1.11. 10435 10436 * tbl/table.cc (alphabetic_block_entry::print): start_row was used 10437 where start_col was meant. 10438 10439Thu Feb 25 07:55:36 1993 James Clark (jjc at jclark) 10440 10441 * grog/grog.sh, grog/grog.pl: Recognize PH and SA as -mm macros. 10442 10443Wed Feb 24 10:15:34 1993 James Clark (jjc at jclark) 10444 10445 * troff/input.cc (token::next): Make \z\o'...' and similar things 10446 work. 10447 10448 * env.h (MARGIN_CHARACTER_ON, MARGIN_CHARACTER_NEXT): New 10449 constants. 10450 (environment): Add margin_character_flags member. 10451 * env.cc (environment::environment(symbol), 10452 environment::environment(const environment *): Initialize 10453 margin_character_flags. 10454 (margin_character): Rewrite. 10455 (environment::output_line): Add a margin character if 10456 margin_character_flags is non-zero. Turn off the 10457 MARGIN_CHARACTER_NEXT bit. If that makes margin_character_flags 10458 zero, use margin_character_node without copying and then set 10459 margin_character_node to 0. 10460 10461 * devps/DESC.in: Change minimum size to 1000. 10462 10463Tue Feb 23 14:57:49 1993 James Clark (jjc at jclark) 10464 10465 * troff/symbol.h (symbol::hash): Change return type to unsigned 10466 long. 10467 * troff/dictionary.cc (dictionary::lookup, dictionary::remove): 10468 Add casts to int. 10469 10470 * test-groff: Use -r rather than -x. 10471 10472 * grops/psfig.diff: Include in distribution again. 10473 10474Mon Feb 22 09:10:44 1993 James Clark (jjc at jclark) 10475 10476 * Makefile.in (dist): Use gzip. 10477 10478Sun Feb 21 11:12:53 1993 James Clark (jjc at jclark) 10479 10480 * acgroff.m4 (GROFF_GETOPT): Check for declaration of getopt() in 10481 unistd.h as well as in stdlib.h. 10482 * include/lib.h: Include <stdlib.h> is STDLIB_H_DECLARES_GETOPT is 10483 defined; otherwise include <sys/types.h> and <unistd.h> if 10484 UNISTD_H_DECLARES_GETOPT is defined. 10485 10486 * configure.in: use builtin(include, ... rather than include(... 10487 * configure: Regenerate with autoconf 1.3. 10488 10489 * libdriver/print.cc (printer::adjust_arc_center): Use new 10490 algorithm suggested by Andy Fyfe. 10491 10492 * libdriver/printer.cc (printer::adjust_arc_center): New function. 10493 * include/printer.h: Declare this. 10494 * grops/ps.cc (ps_printer::draw): Use it. 10495 * grodvi/dvi.cc (dvi_printer::draw): Use it. 10496 10497Fri Feb 19 23:13:51 1993 James Clark (jjc at jclark) 10498 10499 * Makefile.comm (.man.n): Replace macrodir by tmacdir. 10500 10501Thu Feb 11 16:46:59 1993 James Clark (jjc at jclark) 10502 10503 * eqn/main.cc (main): Handle "eqn -". 10504 10505Mon Jan 4 20:29:56 1993 James Clark (jjc at jclark) 10506 10507 * tmac/tmac.e (++): Install fix from comp.bugs.4sd. 10508 10509 * mm: Integrate version 1.08. 10510 10511 * pic/troff.cc (troff_output::finish_picture): Set 10512 EQN_NO_EXTRA_SPACE reg to 0 rather than removing it. 10513 * eqn/box.cc (box::extra_space): Set EQN_NO_EXTRA_SPACE_REG to 0 10514 if it's not defined. Check whether the register is non-zero rather 10515 than whether it's not defined. 10516 * tmac.e ({, <): Make argument to \x zero if \n(0x is non-zero. 10517 10518 * indxbib/indxbib.cc: Move all signal handling into... 10519 * indxbib/signal.c: New file. 10520 * configure.in: Call AC_RETSIGTYPE. 10521 10522 * acgroff.m4 (GROFF_STRUCT_EXCEPTION): New macro. 10523 * configure.in: Call GROFF_STRUCT_EXCEPTION. 10524 * libgroff/matherr.c: Protect with ifdef HAVE_STRUCT_EXCEPTION. 10525 10526 * troff/input.cc (token::token, token::operator=): Work round SGI 10527 C++ bug. 10528 * pic/object.cc (position::position): Likewise. 10529 10530Mon Dec 28 21:50:21 1992 James Clark (jjc at jclark) 10531 10532 * pic/pic.h: Move declaration of hypot(). 10533 10534Wed Dec 16 12:28:29 1992 James Clark (jjc at jclark) 10535 10536 * pic/pic.h: Declare hypot(). 10537 10538 * pic/pic.h: Define M_PI if necessary. 10539 10540Thu Dec 10 12:03:29 1992 James Clark (jjc at jclark) 10541 10542 * tmac/tmac.e (re): Add alternative version that doesn't use groff 10543 `.ta T' feature. 10544 10545 * devps/prologue.ps (RE): Handle the possibility that the old font 10546 doesn't have a FontName entry. 10547 10548Wed Dec 2 10:25:29 1992 James Clark (jjc at jclark) 10549 10550 * tmac/tmac.e (fam): Redefine to set family in environment 2. 10551 (@C): Use @fam not fam. 10552 10553Thu Nov 26 16:01:25 1992 James Clark (jjc at jclark) 10554 10555 * lookbib/lookbib.cc (main): Change type of start to const char *. 10556 * lkbib/lkbib.cc (main): Likewise. 10557 10558 * eqn/lex.cc (definition::definition): Don't use member 10559 initializer syntax for members of anonymous unions. 10560 10561 * troff/input.cc (input_stack::backtrace): Change type of to const 10562 char *. 10563 10564Wed Nov 25 13:43:09 1992 James Clark (jjc at jclark) 10565 10566 * include/stringclass.h (class string): Declare inline friend 10567 functions as inline in class declaration. 10568 * troff/hvunits.h (class hunits, class vunits): Likewise. 10569 * include/refid.h (class reference_id): Likewise 10570 * troff/troff.h (points_to_units(units), scale(units, double)): 10571 Delete declarations. 10572 * libdriver/input.cc (get_char): Delete declaration. 10573 * include/lib.h: Change 2nd argument of getopt from const char ** 10574 to char **. 10575 * troff/symbol.cc (symbol::symbol): Cast `new char *[n]' to `const 10576 char **' before assigning to a `const char **'. 10577 * tbl/table.cc: Delete extra declarations of prints(). 10578 10579Tue Nov 24 14:33:13 1992 James Clark (jjc at jclark) 10580 10581 * libgroff/font.cc (font::load_desc): Cast `new char *[n]' to `const 10582 char **' before assigning to a `const char **'. 10583 10584 * libgroff/errarg.cc (errarg::errarg): Don't use member 10585 initializer syntax for members of anonymous unions. 10586 10587Sat Nov 21 05:02:23 1992 James Clark (jjc at jclark) 10588 10589 * mm: Integrate version 1.07. 10590 10591Tue Nov 17 16:44:27 1992 James Clark (jjc at jclark) 10592 10593 * troff/input.c (translate2): Rename to 10594 (translate_no_transparent). 10595 (init_input_requests): Rename tr2 to trnt. 10596 10597Mon Nov 16 09:49:32 1992 James Clark (jjc at jclark) 10598 10599 * troff/charinfo.h (class charinfo): Add transparent_translate field. 10600 (charinfo::set_translation, charinfo::set_special_translation): 10601 Add second argument that specifies value for 10602 transparent_translate. 10603 (charinfo::get_translation, charinfo::get_special_translation): 10604 Add optional second argument that specifies whether translation is 10605 being used for transparent throughput. 10606 * troff/input.cc (charinfo::set_translation, 10607 charinfo::set_special_translation): Handle second argument. 10608 (charinfo::charinfo): Initialize transparent_translate. 10609 (translate): Split main part off into 10610 (do_translate): New function. Pass argument saying whether 10611 translation applies to transparent throughput. 10612 (translate2): New request. 10613 (init_input_requests): Bind translate2 to `tr2'. 10614 10615Wed Nov 11 11:43:20 1992 James Clark (jjc at jclark) 10616 10617 * tbl/table.h (class table): Add `nokeep' flag. 10618 * tbl/main.cc (process_options): Handle `nokeep' option. 10619 * tbl/table.cc (table::init_output, table::do_row, table::do_top, 10620 table::do_bottom): Don't output keep/release macro definitions or 10621 calls when `nokeep' option has been specified. 10622 10623Sat Nov 7 01:28:33 1992 James Clark (jjc at jclark) 10624 10625 * tmac/tmac.Xps (Xps-char): Use " as delimiter for \Z. 10626 10627Wed Nov 4 16:29:04 1992 James Clark (jjc at jclark) 10628 10629 * tbl/table.cc (table_entry::divert, block_entry::do_divert, 10630 block_entry::divert, alphabetic_block_entry::divert): Add extra 10631 argument giving column separation. 10632 (table::compute_widths): Pass column separation to 10633 table_entry::divert(). 10634 (block_entry::do_divert): If an entry spans multiple columns and a 10635 minimumum width has been specified for each column, then set the 10636 line length to the sum of the widths (plus possibly the column 10637 separations). 10638 10639 * troff/input.cc (set_escape_char): Don't set the escape_char 10640 until after calling has_arg(). 10641 10642Tue Nov 3 11:23:27 1992 James Clark (jjc at jclark) 10643 10644 * tbl/table.cc (table::do_top): Add missing \s0 for double box 10645 case. 10646 10647 * tbl/table.cc (table::print_double_hline): Avoid extra new line 10648 in case where r > nrows - 1. 10649 10650 * tbl/table.cc (BODY_HEIGHT): Deleted. 10651 (LINE_SEP): New definition. 10652 (table::print_single_hline, table::print_double_hline, 10653 table::compute_vrule_top_adjust, table::compute_vrule_bot_adjust, 10654 table::do_row, table::do_top): Use LINE_SEP space before a line 10655 instead of \n[.v]-BODY_HEIGHT-BODY_DEPTH. 10656 10657 * tbl/table.cc (text_entry::print_contents): New function. 10658 (text_string_name, right_text_string_name): Deleted. 10659 (TEXT_STRING, RIGHT_TEXT_STRING): Deleted. 10660 (simple_text_entry::do_width, numeric_text_entry::do_width, 10661 alphabetic_text_entry::do_width): Don't store the contents of the 10662 entry in a string. 10663 (left_text_entry::simple_print, right_text_entry::simple_print, 10664 center_text_entry::simple_print, 10665 alphabetic_text_entry::simple_print, 10666 numeric_text_entry::simple_print): Print the entry directly 10667 instead of using the stored string. 10668 10669Fri Oct 30 10:39:32 1992 James Clark (jjc at jclark) 10670 10671 * devps/Makefile: Strip PostScript files. 10672 * devps/prologue: Rename to... 10673 * devps/prologue.ps. 10674 * devps/psstrip.sed: New file. 10675 * devps/download: Use .pfa rather than .ps for installed versions 10676 of fonts. 10677 10678Thu Oct 29 09:14:43 1992 James Clark (jjc at jclark) 10679 10680 * troff/env.cc (input_trap): Give a warning if the argument is out 10681 of range. 10682 10683 * troff/env.cc (adjust): Treat negative argument as missing. Round 10684 argument > 5 down to 5. 10685 10686 * troff/env.cc (center, right_justify): Make negative argument zero. 10687 10688 * troff/div.cc (page_offset, vertical_position_traps): Treat 10689 invalid argument as missing. 10690 * troff/env.cc (line_spacing, line_length, title_length, indent, 10691 underline, hyphen_line_max_request, control_char, 10692 no_break_control_char, widow_control_request, adjust, input_trap, 10693 point_size): Likewise. 10694 * troff/node.cc (ligature, kern_request, bold_font, track_kern, 10695 constant_space): Likewise. 10696 * troff/input.cc (compatible, shift, warn_request, 10697 set_escape_char): Likewise. 10698 10699 * tbl/main.cc (format::format): Avoid doing `new int[0]'. 10700 * tbl/table.cc (table::table): Likewise. 10701 10702 * Makefile.dev (install_dev): depends on $(DEVFILES). 10703 10704Wed Oct 28 08:30:57 1992 James Clark (jjc at jclark) 10705 10706 * devX75, devX75-12, devX100, devX100-12: New directories. 10707 * Makefile.in: Add these to DEVDIRS. 10708 10709 * troff/Makefile.sub, eqn/Makefile.sub, indxbib/Makefile.sub, 10710 afmtodit/Makefile.sub, tmac/Makefile.sub, nroff/Makefile.sub, 10711 grog/Makefile.sub, mm/Makefile.sub (uninstall_sub): New target. 10712 * Makefile.in (uninstall, uninstall_sub, uninstall_dirs): New 10713 targets. 10714 * Makefile.ccpg, Makefile.cpg, Makefile.dev, Makefile.man 10715 (uninstall): New target. 10716 * Makefile.comm (uninstall, uninstall_sub, uninstall_man, 10717 uninstall_prog, uninstall_dev): New targets. 10718 10719 * troff/div.cc (return_request): Treat an invalid argument as 10720 missing. 10721 10722Mon Oct 26 11:33:47 1992 James Clark (jjc at jclark) 10723 10724 * tmac/tmac.e ((f): Set up the environment even when there's a 10725 current diversion. Transperently throughput a call to @N. 10726 (@N): New macro. 10727 10728Thu Oct 22 05:05:59 1992 James Clark (jjc at jclark) 10729 10730 * tbl/table.cc (table::compute_vrule_top_adjust): Round adjustment 10731 up to vertical resolution. 10732 10733 * tbl/table.cc (table::do_row): Change row number after printing 10734 stuff list. 10735 10736 * pic/lex.cc (get_token_after_dot): Make .left and .right work. 10737 10738Wed Oct 21 14:46:45 1992 James Clark (jjc at jclark) 10739 10740 * Rename CHANGES to NEWS. 10741 10742Tue Oct 20 23:25:21 1992 James Clark (jjc at jclark) 10743 10744 * libgroff/new.cc (operator new): Avoid calling malloc(0). 10745 10746Mon Oct 19 09:10:13 1992 James Clark (jjc at jclark) 10747 10748 * man.ultrix: Removed. 10749 10750Sun Oct 18 06:35:15 1992 James Clark (jjc at jclark) 10751 10752 * Makefile.comm (extraclean): Delete files whose names begin with 10753 `='. 10754 10755 * pic/troff.cc (troff_output::text): Fix typo in implementation of 10756 aligned text. 10757 10758Sat Oct 10 09:32:29 1992 James Clark (jjc at jclark) 10759 10760 * troff/env.cc (hyphenate_request, vertical_spacing, no_number): 10761 * troff/div.cc (page_length, need_space, space_request): Treat 10762 invalid optional argument as missing. 10763 * troff/env.cc (number_lines): If the first argument is present 10764 but not a number, turn on line numbering, don't change the next 10765 line number and parse the remaining arguments. 10766 10767 * tmac/tmac.e (@q): Do the `ne' before changing to environment 2. 10768 10769Thu Oct 8 10:24:40 1992 James Clark (jjc at jclark) 10770 10771 * eqn/box.h: Change declaration accordingly. 10772 * eqn/box.cc (set_gsize): Change return type to int. Return 0 if 10773 the specified size was bad but don't give an error. Check for 10774 overflow. 10775 * eqn/main.cc (main): Change caller. Leave validation to set_gsize. 10776 * eqn/lex (do_size): Likewise. 10777 10778Wed Oct 7 09:48:59 1992 James Clark (jjc at jclark) 10779 10780 * acgroff.m4 (GROFF_PROG_CCC): Use fopen when checking for C++ 10781 compatible headers. 10782 10783Sun Oct 4 18:24:02 1992 James Clark (jjc at jclark) 10784 10785 * tbl/table.cc (table::init_output): Improve error message when 10786 table won't fit on one page. 10787 10788Fri Oct 2 10:41:40 1992 James Clark (jjc at jclark) 10789 10790 * pic/troff.cc (troff_output::start_picture): Generate line 10791 containing a horizontal motion equal to the width of the picture. 10792 10793 * groff/groff.cc (main): Allow PROG_PREFIX to be set at runtime 10794 using GROFF_COMMAND_PREFIX environment variable. 10795 10796Fri Sep 25 11:40:40 1992 James Clark (jjc at jclark) 10797 10798 * mdate.sh: Use $NF rather than $(NF). 10799 10800Tue Sep 22 09:47:24 1992 James Clark (jjc at jclark) 10801 10802 * pic/main.cc (main): Use %1 not %c in argument to warning. 10803 10804 * eqn/main.cc (main): Output code to check that geqn was given the 10805 correct -T option. 10806 10807Mon Sep 21 10:59:16 1992 James Clark (jjc at jclark) 10808 10809 * Makefile.in (dist): Instead of doing `make -f ../Makefile', do 10810 `ln -s ../Makefile .; make; rm -f Makefile'. 10811 10812 * troff/hyphen: Rename to... 10813 * troff/hyphen.us: 10814 * troff/input.cc (main): Delete -H option. Don't call 10815 read_hyphen_file(). 10816 * troff/env.cc: Include searchpath.h and macropath.h. 10817 (exception_dictionary): Deleted. 10818 (ht): Deleted. 10819 (read_hyphen_file): Deleted. 10820 (hyphenation_language): New struct. 10821 (class trie, class hyphen_trie): Move declarations up. 10822 (trie_node::~trie_node): Deleted. 10823 (trie::delete_trie_node): New function. 10824 (trie::do_delete): New pure virtual function. 10825 (hyphen_trie::do_delete): New function. 10826 (trie::~trie): New function. 10827 (hyphen_trie::~hyphen_trie): New function. 10828 (trie::clear): No need to chcek that tp is not 0. 10829 (current_language, language_dictionary): New variables. 10830 (hyphen_word): Give an error if no current language. Use 10831 exceptions dictionary in current language. 10832 (hyphen_trie::read_patterns_file): Find file using macro_path. 10833 Allow comments (starting with %) in patterns file. Don't make it 10834 a fatal error if the file can't be found. 10835 (hyphenate): Return if no current language. Get the exceptions 10836 dictionary and the hyphenation patterns from the current language. 10837 (set_hyphenation_language): New variable. 10838 (hyphenation_patterns_file): New function. 10839 (hyphenation_language_reg): New class. 10840 (hyphenation_language_reg::get_string): New function. 10841 (init_hyphen_requests): Bind "hla" to set_hyphenation_language and 10842 "hpf" to hyphenation_patterns_file. Initialize `.hla' number 10843 register. 10844 * groff/groff.cc (main, help, synopsis): Delete -H option. 10845 * include/Makefile.sub: Don't define HYPHENFILE. 10846 * Makefile.in: Delete hyphenfile variable and remove from MDEFINES. 10847 * Makefile.comm (.man.n): Don't substitute for HYPHENFILE. 10848 * tmac/troffrc: Set hyphenation language to `us'. Load `hyphen.us' 10849 hyphenation patterns. 10850 10851Sun Sep 20 09:33:02 1992 James Clark (jjc at jclark) 10852 10853 * eqn/neqn.sh: New file. 10854 * eqn/Makefile.sub: Handle neqn.sh. 10855 10856 * eqn/eqn.h: Declare `nroff' variable. 10857 * eqn/box.cc (param_table): Add `nroff' param. 10858 (nroff): Define it. 10859 * eqn/lex.cc (yylex): Handle TDEFINE and NDEFINE using `nroff' 10860 variable. 10861 * tmac/eqnrc: Set `nroff' to 1 for -Tascii or -Tlatin1. 10862 10863 * troff/troff.h (WARN_FONT): New warning. 10864 (WARN_TOTAL): Change accordingly. 10865 * troff/input.cc (DEFAULT_WARNING_MASK): Include WARN_FONT. 10866 (warning_table): Add WARN_FONT. 10867 * troff/node.cc (mount_font_no_translate): Pass argument to 10868 font::load_font. If this is non-zero, give a warning. 10869 Don't give an error message when accessing a font that has already 10870 been found to be invalid. 10871 * include/font.h (font::load, font::load_font): Add additional 10872 optional argument which suppresses error message if the font is 10873 not found. 10874 * libgroff/font.cc (font::load_font): Handle additional argument. 10875 (font::load): Add additional argument. If this is non-null, set it 10876 to 1 and don't give error message. 10877 10878 * include/printer.h (printer::end_page): Add argument giving 10879 length of page. 10880 * libdriver/input.cc (do_file): Pass this. 10881 * grops/ps.cc (ps_printer::end_page): Add argument. 10882 * grodvi/dvi.cc (dvi_printer::end_page, 10883 draw_dvi_printer::end_page): Add argument. 10884 * grotty/tty.cc (class tty_printer): Remove lines_per_page and 10885 columns_per_page members. New member nlines. 10886 (DEFAULT_LINES_PER_PAGE): Deleted. 10887 (tty_printer::tty_printer): Don't compute lines_per_page from 10888 font::paperlength. Don't compute columns_per_page from 10889 font::paperwidth. 10890 (tty_printer::add_char): Don't check horizontal position against 10891 columns_per_page. Grow glyphs vector if neccessary. 10892 (tty_printer::end_page): Add argument giving page_length in units. 10893 Discard lines past end of page. 10894 10895Wed Sep 16 06:29:52 1992 James Clark (jjc at jclark) 10896 10897 * tmac/tmac.tty-char: Fix definition of \(/l. 10898 10899 * tmac/tmac.X: Define \(en. 10900 10901Tue Sep 15 10:37:13 1992 James Clark (jjc at jclark) 10902 10903 * acgroff.m4 (GROFF_PRINT): If a system has lpr and lp but not 10904 lpq, then use lp rather than lpr. 10905 10906 * tmac/tmac.s (par@reset): Don't call `ad'. 10907 (par*env-init): Call `ad'. 10908 10909Sun Sep 13 18:48:20 1992 James Clark (jjc at jclark) 10910 10911 * mdate.sh: Use $(NF) instead of $6 to extract year from output of 10912 date. 10913 10914 * troff/symbol.cc: #undef BLOCK_SIZE if it's defined. 10915 * indxbib/indxbib.cc: Likewise. 10916 10917Sun Sep 6 09:44:46 1992 James Clark (jjc at jclark) 10918 10919 * libgroff/putenv.c: New file. 10920 * libgroff/Makefile.sub: Add putenv.c to CSRCS. 10921 * Makefile.in: Say that putenv.o can be one of LIBOBJS. 10922 * configure.in: Test for putenv with AC_REPLACE_FUNCS. Test for 10923 stdlib.h with AC_HAVE_HEADERS. 10924 10925Sat Sep 5 18:11:52 1992 James Clark (jjc at jclark) 10926 10927 * indxbib/dirnamemax.c: Include <sys/dir.h> only if <dirent.h> 10928 does not exist. 10929 10930Fri Sep 4 09:43:26 1992 James Clark (jjc at jclark) 10931 10932 * eqn/box.cc (gsize): Make it an int. 10933 (set_gsize): Parse argument handling increment or decrement. 10934 (box::top_level): Convert gsize to a string. 10935 10936 * troff/input.cc (exit_troff): Make buf unsigned char []. 10937 Call to make_temp_iterator casts buf to char*. 10938 10939 * Makefile.in ($(TARGETS), dot): Pass $(MDEFINES) to recursive makes. 10940 10941 * Makefile.ccpg (depend.temp): Depends on $(YTABC). 10942 * Makefile.cpg (depend.temp): Likewise. 10943 10944 * Makefile.dep: Remove Makefile.dep from $(REALCLEANFILES). 10945 10946 * Makefile.comm: Add y.output to MOSTLYCLEANFILES. 10947 10948Thu Sep 3 08:01:55 1992 James Clark (jjc at jclark) 10949 10950 * tmac/tmac.s (B, I, BI, CW): Rewrite avoiding aliases. 10951 10952Tue Sep 1 18:24:53 1992 James Clark (jjc at jclark) 10953 10954 * Version 1.06 released. 10955 10956 * Integrate mm 1.04. 10957 10958Fri Aug 28 11:28:19 1992 James Clark (jjc at jclark) 10959 10960 * Makefile.comm, Makefile.ccpg, Makefile.cpg: Fix TAGS target. 10961 10962Thu Aug 27 11:03:33 1992 James Clark (jjc at jclark) 10963 10964 * afmtodit/afmtodit.pl: Add -n option that disables generation of 10965 ligatures command. 10966 * devps/generate/Makefile (CR, CB, CI, CBI): Pass -n flag to 10967 afmtodit. Regenerate. 10968 10969 * tmac/tmac.e ()z): Adjust _b if necessary so as to avoid moving 10970 @f back past the current position. 10971 10972 * tmac/tmac.e: Change calls to @R so that comments are not part of 10973 arguments. 10974 10975Tue Aug 25 10:42:07 1992 James Clark (jjc at jclark) 10976 10977 * configure.in: Check for mkstemp with AC_HAVE_FUNCS. 10978 10979 * acgroff.m4 (GROFF_PROG_CCC): Don't check for <osfcn.h>. Instead 10980 check that we can link a call to a function declared in <stdio.h>. 10981 (GROFF_UNISTD_H): New macro. 10982 * configure.in: Call it. 10983 * Makefile.in: Document it. 10984 * include/posix.h: New file. 10985 * troff/troff.h: Don't include <osfcn.h> 10986 * troff/input.cc: Include posix.h. 10987 * libgroff/new.cc, libgroff/tmpfile.cc: Include posix.h rather than 10988 osfcn.h. 10989 * indxbib/indxbib.cc, libbib/{search.cc,linear.cc,index.cc}: 10990 Include posix.h rather <sys/types.h>, <sys/stat.h>, <osfcn.h>, 10991 <fcntl.h>. 10992 * indxbib/indxbib.cc (S_IRUSR, S_IRGRP, S_IROTH): Delete definitions. 10993 * libbib/index.cc (S_ISREG, O_RDONLY): Delete definitions. 10994 * libbib/search.cc (O_RDONLY): Delete definition. 10995 * refer/refer.cc, include/driver.h, pic/pic.h, groff/groff.cc: 10996 Don't include <osfcn.h>. 10997 10998 * acgroff.m4 (GROFF_TIME_T): New macro. 10999 * configure.in: Call it. 11000 * Makefile.in: Document it. 11001 11002 * acgroff.m4 (GROFF_TRADITIONAL_CPP): New macro. 11003 * configure.in: Call it. 11004 * Makefile.in: Document -DTRADITIONAL_CPP. 11005 * include/ptable.h: Don't include generic.h. 11006 (name2): Define it. 11007 11008 * tmac/tmac.s (][): Make [T1 and [T2 aliases for [T. 11009 Afterwards remove [T1 and [T2. 11010 (ref*spec!0, ref*spec!2): Use T1 rather than T. 11011 (ref*spec!1, ref*spec!4, ref*spec!4): Use T2 rather than T. 11012 (ref*add-T2): Renamed from ref*add-T. 11013 (ref*add-T1): New macro. 11014 11015Mon Aug 24 11:11:11 1992 James Clark (jjc at jclark) 11016 11017 * acgroff.m4 (AC_PROG_CCC): Use GROFF_EXIT rather than exit 1. 11018 11019 * libbib/index.cc: Include <fcntl.h>. 11020 (O_RDONLY): Define if necessary. 11021 (make_index_search_item, index_search_item_iterator::get_tag, 11022 index_search_item::check_files): Use O_RDONLY. 11023 * libbib/seach.cc: Include <fcntl.h>, <sys/types.h>, <sys/stat.h>. 11024 (O_RDONLY): Define if necessary. 11025 (search_list::add_file): Use O_RDONLY. 11026 * indxbib/indxbib.cc: Include <fcntl.h>, <sys/types.h>, 11027 <sys/stat.h>. 11028 (S_IRUSR, S_IRGRP, S_IROTH): Define if necessary. 11029 (main): Use these. 11030 11031 * libbib/index.cc (S_ISREG): Define it if necessary. 11032 (index_search_item::load): Use S_ISREG. 11033 11034 * include/driver.h: Include <errno.h>. 11035 11036Sun Aug 23 11:32:18 1992 James Clark (jjc at jclark) 11037 11038 * eqn/box.cc (body_height): Increase default value to 85. 11039 (body_depth): Increase default value to 35. 11040 11041Fri Aug 21 05:34:42 1992 James Clark (jjc at jclark) 11042 11043 * eqn/pbox.h (SAVE_FONT_STRING): Define it. 11044 * eqn/box.cc (box::top_level): Hide use of \R in a string that is 11045 protected from expansion with \E. 11046 11047 * acgroff.m4 (GROFF_PAGE): Use `case' to test domain. 11048 11049 * Makefile (Makefile): New target. 11050 11051 * Makefile.sub (configure, distfiles): New targets. 11052 11053 * acgroff.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Avoid using ${var:-val} 11054 construct. 11055 11056Thu Aug 20 12:27:26 1992 James Clark (jjc at jclark) 11057 11058 * eqn/box.cc (param_table): Add body_height and body_depth. 11059 11060 * eqn/lex.cc (def_table): Make circumflex in hat_def roman. 11061 11062Tue Aug 18 16:24:25 1992 James Clark (jjc at jclark) 11063 11064 * psbb/Makefile.sub: Don't link with libgroff.a. 11065 11066 * acgroff.m4 (GROFF_PUTENV): New macro. 11067 * configure.in: Call GROFF_PUTENV. 11068 * Makefile.in: Document STDLIB_H_DECLARES_PUTENV. 11069 * groff/groff.cc: Don't declare putenv if STDLIB_H_DECLARES_PUTENV 11070 is defined. 11071 11072 * troff/env.cc (distribute_space): Rename force_forward argument 11073 to force_reverse. Reverse the list if force_reverse is true. 11074 11075Mon Aug 17 17:49:05 1992 James Clark (jjc at jclark) 11076 11077 * tmac/tmac.an: Don't define a string `T'. Just define Tm. 11078 11079 * eqn/pile.cc (matrix_box::compute_metrics): Don't allow computed 11080 height or depth to be negative. Guard against SUP_RAISE quantity 11081 being negative. 11082 11083Sat Aug 15 08:18:54 1992 James Clark (jjc at jclark) 11084 11085 * devps/generate/textmap: Add `an' (arrowhorizex). 11086 * tmac/tmac.ps: \(an overlaps horizontally. 11087 * tmac/tmac.dvi, tmac/tmac.tty: Add `an'. 11088 11089 * devps/symbolchars: Add arrowverttp, arrowvertbt. 11090 * devps/textmap: Add arrowvertex. 11091 * eqn/delim.cc (delim_table): Add uparrow, downarrow and 11092 updownarrow delimiters. 11093 * tmac/tmac.ps, tmac/tmac.X: Add definition of \(va. 11094 11095 * tbl/table.cc (simple_entry::position_vertically, 11096 block_entry::position_vertically): For a centered entry, perform 11097 the motion in two stages. 11098 11099 * refer/refer.cc (split_punct): Don't call lookup_token if there 11100 is no token. 11101 11102Fri Aug 14 11:14:58 1992 James Clark (jjc at jclark) 11103 11104 * troff/input.cc (token::next): Delete token_node after copying 11105 token. 11106 11107 * grodvi/grodvi.cc (dvi_printer::dvi_printer): Initialize 11108 cur_point_size. 11109 11110 * libdriver/printer.cc (printer::load_font): Delete old_font_table. 11111 11112 * grops/ps.cc (ps_printer::define_encoding): Delete elements of vec. 11113 11114Tue Aug 11 13:50:38 1992 James Clark (jjc at jclark) 11115 11116 * grops/ps.cc (usage): -b option takes an argument. 11117 11118 * devps/prologue (PLG): New procedure. 11119 * grops/ps.cc (main, usage): New -g option. 11120 (ps_printer::~ps_printer): If guess_flag is set, guess the paper 11121 length using PLG. 11122 11123Mon Aug 10 11:17:53 1992 James Clark (jjc at jclark) 11124 11125 * include/cset.h: Include <limits.h> if we have it. 11126 11127 * libgroff/illegal.cc: New file. 11128 * include/lib.h (illegal_input_char): Use table. 11129 * troff/input.cc (ESCAPE_RIGHT_PARENTHESIS): Renumber to 0206. 11130 * pic/lex.cc (ARG1): Renumber to 14. 11131 * eqn/lex.cc (ARG1): Likewise. 11132 11133 * troff/Makefile.sub (majorminor.cc): Handle 3 part versions 11134 (eg 1.05.90) correctly. 11135 11136Sun Aug 9 13:35:43 1992 James Clark (jjc at jclark) 11137 11138 * tmac/tmac.e (sr): Deleted. Set $r and $R directly. 11139 Rename $r and $R registers to $v and $V. 11140 ($r, $R): Initialize to 0. 11141 (@v, @V): New macros. 11142 (sz): Call @v. 11143 (@M): Call @V. 11144 11145 * troff/input.cc (main, usage): Add -R option that says not to 11146 load troffrc. 11147 * eqn/main.cc (main, usage): Rename -n to -R. 11148 11149Sat Aug 8 00:16:00 1992 James Clark (jjc at jclark) 11150 11151 * devps/DESC.in: Leave font positions 5-9 blank. 11152 * devdvi/DESC.in: Likewise. 11153 11154 * grog/grog.pl: Handle `.PS <file' correctly. 11155 11156 * troff/input.cc (input_stack::push): Improve error message when 11157 input stack limit exceeded. 11158 11159Fri Aug 7 13:08:16 1992 James Clark (jjc at jclark) 11160 11161 * refer/refer.cc (main): Fix typo in handling of `a' option. 11162 11163 * refer/refer.cc (do_bib): In state START after a newline remain 11164 in state START. 11165 11166 * groff/groff.sh: Deleted. 11167 * groff/Makefile.sub: Delete handling of groff.sh. 11168 11169 * pic/troff.cc (troff_output::text): Test \n(0p rather than \*(.T 11170 to determine whether to use \X'ps:...'. 11171 * tmac/troffrc: Set 0p register to 0. 11172 * tmac/tmac.ps: Set 0p register to 1. 11173 11174 * groff/groff.cc: Support -X option. Give warning for -TXps and 11175 transform to -X -Tps. Pass troff a -r.X=1 option if -X is used. 11176 * tmac/troffrc: Support -r.X=1. 11177 11178 * pic/troff.cc (troff_output::dot): Don't test 11179 zero_length_line_flag. 11180 11181Thu Aug 6 13:32:08 1992 James Clark (jjc at jclark) 11182 11183 * include/lib.h: Declare getopt() and friends unless 11184 STDLIB_H_DECLARES_GETOPT is defined. 11185 11186 * doc/chars.tr: Delete. 11187 * man/groff_char.man: New file. 11188 11189Wed Aug 5 00:38:58 1992 James Clark (jjc at jclark) 11190 11191 * tmac/tmac.e (np, bu): Test \n($p with string expression in case 11192 user has changed register format. 11193 11194Mon Aug 3 11:22:18 1992 James Clark (jjc at jclark) 11195 11196 * groff/groff.cc: Get rid of device_table. Get postprocessor from 11197 `postpro' command in DESC file. Get spooler command from `print' 11198 command in DESC file. Execute spooler command with /bin/sh. 11199 11200 * groff/groff.cc: Split Unix-specific parts into... 11201 * groff/pipeline.c: New file. 11202 11203 * LICENSE: Delete. 11204 * COPYING: New file. 11205 * all files: Update copyright notices. 11206 11207 * Rearrange files. Redo Makefiles. Use autoconf. 11208 11209Sat Aug 1 09:36:50 1992 James Clark (jjc at jclark) 11210 11211 * troff/input.c (charinfo_to_node_list): Interpret character 11212 definition with escape_char of `\'. 11213 11214Tue Jul 28 12:20:12 1992 James Clark (jjc at jclark) 11215 11216 * lib/strerror.c, lib/iftoa.c, lib/itoa.c: Don't include lib.h. 11217 Define INT_DIGITS as big enough for 64-bit integer. 11218 * lib/strtol.c: Don't include lib.h. 11219 * lib/lib.h: Delete ifdef __cplusplus stuff. 11220 11221Mon Jul 27 11:08:50 1992 James Clark (jjc at jclark) 11222 11223 * ps/devps/Makefile: Add DESC to DEVICEFILES. Separate out rule 11224 for making DESC. Make $(FONTS) depend on DESC. afmtodit should 11225 get DESC from current directory. 11226 11227Sun Jul 26 15:38:26 1992 James Clark (jjc at jclark) 11228 11229 * tbl/main.c (main): Always reset the line number when reading 11230 from stdin. 11231 11232 * tbl/table.c (table::print_single_hline, table::print_double_hline, 11233 table::define_bottom_macro, table::do_row, table::do_top): Round 11234 vertical spacing up to vertical resolution. 11235 11236Fri Jul 24 14:32:07 1992 James Clark (jjc at jclark) 11237 11238 * ps/ps.h (enum resource_type): Avoid comma at end of 11239 enumerator-list. 11240 * dvi/dvi.c (class dvi_printer): Likewise. 11241 * dvi/tfmtodit.c (gf::load): Likewise. 11242 * refer/label.y (struct expression): Likewise. 11243 * refer/refer.c (class label_processing_state): Likewise. 11244 * refer/indxbib.c (do_file): Likewise. 11245 * troff/troff.c (enum warning_type): Likewise. 11246 * tbl/main.c (process_data): Likewise. 11247 * troff/charinfo.h (class charinfo): 11248 11249Wed Jul 22 09:17:58 1992 James Clark (jjc at jclark) 11250 11251 * dvi/devdvi/textt.map: Add entry for `-'. Regenerate fonts. 11252 11253Tue Jul 21 11:39:26 1992 James Clark (jjc at jclark) 11254 11255 * groff.c: Move to new groff subdirectory. 11256 * groff/Makefile: New file. 11257 * Makefile: Remove handling of groff.c. Add groff to SUBDIRS. 11258 11259 * man/mdate.sh: Use ls -L if supported. 11260 11261 * Consolidate all header files produced by gendef into lib/defs.h. 11262 * lib/macropath.c, lib/fontfile.c, lib/device.c: Include defs.h. 11263 Don't include path.h. 11264 * lib/Makefile (path.h): Don't generate. 11265 * troff/input.c: Include defs.h. Don't include config.h. 11266 * troff/Makefile (config.h): Don't generate. 11267 * refer/index.h: Don't include suffix.h. 11268 * refer/index.c: Include defs.h. 11269 * refer/indxbib.c: Include defs.h. 11270 * refer/refer.h, refer/lkbib.h: Don't include path.h. Include 11271 defs.h. 11272 * refer/Makefile (suffix.h, path.h): Don't generate. 11273 * groff.c: Don't include config.h. Include defs.h. 11274 * Makefile (config.h): Don't generate. 11275 (lib/defs.h): Generate. 11276 (topclean): Remove lib/defs.h. 11277 11278Mon Jul 20 10:12:57 1992 James Clark (jjc at jclark) 11279 11280 * lib/malloc.c, lib/getpagesize.h: Deleted. 11281 * Makefile: Add COOKIE_BUG configuration option. Delete malloc 11282 related stuff. 11283 * lib/Makefile: Delete malloc-related stuff. 11284 * lib/new.c: Workaround COOKIE_BUG if necessary. 11285 11286 * refer/lkbib.c, refer/indxbib.c: Don't include refer.h. Include 11287 needed header files directly. 11288 * refer/refer.h: Omit definition of DEFAULT_INDEX. 11289 * Makefile: Include definition of DEFAULT_INDEX in path.h. 11290 11291Sun Jul 19 10:19:22 1992 James Clark (jjc at jclark) 11292 11293 * lib/font.c (FONT_COMMAND_HANDLER): Pass command name and single 11294 argument. 11295 * lib/font (font::load_desc, font::load): Don't split argument of 11296 unknown command. 11297 (font::handle_unknown_font_command): Change type. 11298 * ps/ps.c (ps_font::handle_unknown_font_command, 11299 handle_unknown_desc_command): Change type. 11300 * dvi/dvi.c (dvi_font::handle_unknown_font_command): Change type. 11301 11302Fri Jul 17 11:12:49 1992 James Clark (jjc at jclark) 11303 11304 * lib/font.h (font::handle_unknown_font_command): Add file and 11305 line arguments. 11306 * lib/font.c (font::handle_unknown_font_command): 11307 * ps/ps.c (ps_font::handle_unknown_font_command): 11308 * dvi/dvi.c (dvi_font::handle_unknown_font_command): Add file and 11309 lineno arguments. Use _with_file_and_line functions for error 11310 reporting. 11311 11312 * lib/fontfile.c (font::unknown_desc_command_handler): New static 11313 data member. 11314 * lib/font.c (font::set_unknown_desc_command_handler): New 11315 function. 11316 (font::load_desc): For unknown commands, call 11317 unknown_desc_command_handler if not null. 11318 * lib/font.h (class font): Declare them. 11319 (FONT_COMMAND_HANDLER): New typedef. 11320 * ps/ps.c (handle_unknown_desc_command): New function. 11321 (main): Set bflag if we had a -b option. Call 11322 font::set_unknown_desc_command_handler. 11323 (broken.h): Don't include. 11324 * ps/Makefile: No need for broken.h. Pass BROKEN_SPOOLER_FLAGS to 11325 submake 11326 * ps/devps/Makefile: Add `broken' command to DESC file using 11327 BROKEN_SPOOLER_FLAGS. 11328 11329 * macros/tmac.e ([, ]): Add as synonyms for { and }. 11330 11331 * macros/tmac.e ($p): Only exdent if \$3 > 0. 11332 11333 * macros/tmac.e (@R, @S): New macros. 11334 Declare @, po, $0, $i, $p, df, so, fu, bt, *, ?a, ?b, ?C, ?e, ?H, 11335 ?I, ?n, ?o, ?R, ?s, ?T, ?W, ?w registers with @R. 11336 Declare $H, $[0-9], .. macros with @S. 11337 Declare |0, |1, |2, |3 strings with @S. 11338 11339 * macros/tmac.e (@S): Rename to @U. 11340 11341 * macros/tmac.e (@z): Define @b and bp as empty instead of 11342 deleting them, 11343 11344 * macros/tmac.e (@m): Deleted. 11345 (@h): Don't call @m. 11346 (@z): Don't set @m trap. 11347 11348 * macros/tmac.e ($h, $f): Define |z as empty string. 11349 11350 * macros/tmac.e (@D): Rework to avoid unbalanced .el requests. 11351 (@q): Likewise. 11352 11353 * macros/tmac.e (@h): Set ?H, ?C , ?s registers to 0 rather than 11354 removing them. 11355 ()f): Likewise for * register. 11356 11357 * macros/tmac.e (sr): Don't ever scale the arguments. If the third 11358 argument is missing, don't change $R. Call sr with three 11359 arguments when initializing. 11360 11361Thu Jul 16 12:17:12 1992 James Clark (jjc at jclark) 11362 11363 * macros/tmac.e (sr): New macro. 11364 Initialize $r and $R using sr. 11365 11366 * macros/tmac.e (,): Delete \*(#[. 11367 11368 * troff/env.c (set_tabs): Read the tab type even if the position 11369 is bad. Allow the position of the first tab stop to be negative. 11370 11371Wed Jul 15 13:14:37 1992 James Clark (jjc at jclark) 11372 11373 * refer/dirnamemax.c: Use pathconf() if <unistd.h> defines 11374 _POSIX_VERSION. 11375 * refer/Makefile: Compile dirnamemax.c using -DHAVE_UNISTD_H 11376 rather than -DPATHCONF_MISSING. 11377 * Makefile: Get rid of PATHCONF_MISSING. 11378 11379 * refer/map.c: New file. 11380 * refer/index.c: Interface to mmap through map.c. Rename map_size 11381 to map_len. 11382 * refer/Makefile: Handle map.c. 11383 * Makefile: Include -DHAVE_MMAP in OLDCFLAGS rather than CFLAGS. 11384 11385Tue Jul 14 14:15:20 1992 James Clark (jjc at jclark) 11386 11387 * Makefile: RANLIB should be `true' if there is no ranlib. 11388 * lib/Makefile (libgroff.a): Simplify. 11389 * driver/Makefile (libdriver.a): Simplify. 11390 11391 * Makefile: Change -DWAIT_COREDUMP_0200 to -DWCOREFLAG=0200. 11392 * groff.c (WCOREDUMP): Use WCOREFLAG. Define only if not already 11393 defined. 11394 11395Sat Jul 11 09:19:17 1992 James Clark (jjc at jclark) 11396 11397 * troff/env.c (compare_ranges): Declare as extern "C". 11398 11399 * troff/input.c (init_registers): Use `struct tm' instead of `tm'. 11400 11401 * macros/tmac.s, macros/tmac.e: Change .nx /dev/null to .nx. 11402 11403Wed Jul 8 11:52:27 1992 James Clark (jjc at jclark) 11404 11405 * pic/troff.c (troff_output::text): Merge in grops_output::text, 11406 but conditionalize use of \X based on \*(.T. 11407 (grops_output::*): Deleted. 11408 * pic/output.h: Delete declaration of make_grops_output. 11409 * pic/main.c (main): Ignore -p and -x. driver_extension_flag is 1 11410 by default. -n sets it to 0. 11411 (usage): Corresponding changes. 11412 * groff.c (main): Don't pass -x or -p to pic. 11413 * groff.sh: Likewise. 11414 11415 * ps/ps.c (ps_printer::do_exec, ps_printer::do_file): Force ndefs 11416 to be non-zero. 11417 11418 * ps/devps/afmtodit: Change calculation of asc_boundary and 11419 desc_boundary. Make these bounds inclusive. 11420 * ps/devps: Regenerate font files. 11421 11422Tue Jul 7 13:14:15 1992 James Clark (jjc at jclark) 11423 11424 * macros/tmac.latin1: New file. 11425 * macros/tmac.tty-char: Use tmac.latin1. 11426 (tmac.tty-tr): Deleted. 11427 * macros/Makefile: Install tmac.latin1. 11428 * macros/tmac.dvi: Use tmac.latin1. 11429 * macros/troffrc: Translate \[char160] onto no-break space here. 11430 * macros/{tmac.dvi,tmac.ps,tmac.tty,tmac.X75}: Don't do it here. 11431 11432Mon Jul 6 11:06:52 1992 James Clark (jjc at jclark) 11433 11434 * macros/tmac.Xps: Use `do' request. 11435 11436 * macros/tmac.ps: Use `do' request. 11437 11438 * macros/tmac.e (@C): Use `do' request. 11439 11440 * macros/tmac.X, macros/tmac.Xps: Moved from xditview. 11441 * macros/Makefile: Install tmac.X*. 11442 11443 * tty/tmac.tty, tty/tmac.tty-char: Move to macros. 11444 * tty/Makefile: Don't install tmac.tty*. 11445 * macros/Makefile: Install tmac.tty*. 11446 11447 * dvi/tmac.dvi: Move to macros. 11448 * dvi/Makefile: Don't install tmac.dvi. 11449 * macros/Makefile: Install tmac.dvi. 11450 11451 * ps/tmac.ps*: Move to macros. 11452 * ps/Makefile: Don't install tmac.ps*. 11453 * macros/Makefile: Install tmac.ps*. 11454 11455 * eqn/box.c: Provide draw_lines parameter corresponding to -D 11456 option. 11457 * macros/eqnrc: Set draw_lines parameter based on device. 11458 * groff.c: Don't pass -D flag to eqn. 11459 * groff.sh: Likewise. 11460 * eqn/main.c: Warn about use of -D. 11461 11462 * troff/input.c (process_startup_file): New function. 11463 (main): Call process_startup_file(). 11464 * macros/troffrc: New file. 11465 * macros/Makefile: Install troffrc. 11466 * groff.c (main): Don't pass extra -m option to troff. For a 11467 pseudo device pass the name of the pseudo device to troff using 11468 -d. 11469 * groff.sh: Likewise. 11470 * groff.c (possible_command::prepend_arg): Deleted. 11471 11472 * troff/input.c (do_request): New function. 11473 (init_input_requests): Bind "do" to do_request. 11474 11475 * eqn/main.c (main): Instead of loading eqnchar from device directory, 11476 load eqnrc from macro directory. 11477 * macros/eqnrc: New file. 11478 * macros/Makefile: Install eqnrc. 11479 * ps/devps/eqnchar: Deleted. 11480 * ps/devps/Makefile: Don't install eqnchar. 11481 * dvi/devdvi/eqnchar: Deleted. 11482 * dvi/devdvi/Makefile: Don't install eqnchar. 11483 * groff.c (main): Pass -M to eqn. Don't pass -F to eqn. New 11484 variable optM. 11485 11486 * lib/device.[ch]: New files. 11487 * lib/font.h (font::set_device_name, font::get_device_name): 11488 Deleted. 11489 * lib/fontfile.c: Use device.h. 11490 * lib/Makefile: Handle device.[ch]. Make paths.h define DEVICE. 11491 * troff/input.c: Delete definition of `device'. 11492 (main): Don't initialize device. 11493 * troff/troff.h: Include device.h rather than declaring device. 11494 * troff/Makefile: No need to handle DEVICE. 11495 * driver/input.c: Include device.h. Don't use 11496 font::{set,get}_device_name. 11497 * groff.c, Makefile: Rename device.h to config.h. 11498 * groff.c: Use library device variable. 11499 * eqn/main.c: Use library device variable. 11500 * eqn/Makefile: No need to handle DEVICE. 11501 11502 * lib/searchpath.[ch]: New files. 11503 * lib/Makefile: Handle searchpath.[ch]. 11504 * troff/input.c (open_file, init_dirs): Deleted. 11505 (macro_dirs): Deleted. 11506 (open_mac_file, macro_source): Use class search_path. 11507 (add_string, struct string_list): Move definition. 11508 (main): Change -M option to use macro_path. Delete call to 11509 init_dirs(). 11510 * lib/fontfile.c (font::command_line_font_dir, font::open_file): 11511 Rewrite to use class search_path. 11512 * lib/font.h, lib/fontfile.c (font::cl_font_dirs): Deleted. 11513 * lib/Makefile: fontfile.c depends on searchpath.h. 11514 * lib/Makefile: Rename fontpath.h to paths.h. Make paths.h define 11515 MACROPATH. 11516 * lib/macropath.[ch]: New files. 11517 * troff/Makefile: No need to handle MACROPATH. 11518 11519 * troff/input.c: Delete DUMP code. 11520 * lib/fontfile.c, lib/font.h: Delete 11521 font::forget_command_line_font_dirs. 11522 11523 * troff/input.c (push_token): New function. 11524 (handle_first_page_transition): Use push_token(). 11525 (process_input_stack): Change handling of a space at the beginning 11526 of the line. 11527 11528Sun Jul 5 17:11:09 1992 James Clark (jjc at jclark) 11529 11530 * troff/input.c (font_dirs): Delete unused variable. 11531 11532 * eqn/lex.c (do_set): Correct error messages. 11533 11534Sat Jul 4 10:20:55 1992 James Clark (jjc at jclark) 11535 11536 * troff/input.c (do_define_string): Allow the string name to be 11537 followed immediately by a tab. 11538 (define_character): Likewise. 11539 11540Thu Jul 2 10:59:15 1992 James Clark (jjc at jclark) 11541 11542 * ps/ps.c (ps_printer::draw): When drawing an arc, don't allow k to 11543 be negative. 11544 11545 * troff/input.c (input_iterator::is_file): New virtual function. 11546 (file_iterator::is_file): New function. 11547 (input_stack::end_file): New function. 11548 (input_stack::next_file): Handle the situation where there is no 11549 file on the input stack correctly. Avoid making two passes over 11550 the input stack. 11551 (next_file): Make the filename optional; in this case call 11552 input_stack::end_file(). 11553 11554Wed Jul 1 10:17:25 1992 James Clark (jjc at jclark) 11555 11556 * dvi/tmac.dvi: Change the definitions of \(ul and _ so that they 11557 produce a real _ charater when the current font is CW and _ 11558 otherwise. 11559 11560 * lib/errarg.c (errarg::errarg(const char *)): Invert conditional 11561 expression to work around gcc 2.2 bug. 11562 11563Wed Jun 24 08:12:24 1992 James Clark (jjc at jclark) 11564 11565 * eqn/main.c (main): Don't give an error if we can't find eqnchar. 11566 11567 * troff/env.c (environment::add_padding): New function. 11568 (environment::add_char): Use add_padding(). 11569 (environment::space): Likewise. 11570 (environment::wrap_up_field): Add some padding if there is none 11571 and there's no current tab. 11572 * troff/env.h: Declare environment::add_padding. 11573 11574Mon Jun 22 08:37:45 1992 James Clark (jjc@jclark) 11575 11576 * pic/pic.y: undef fmod and rand before declaring them. 11577 11578Sun Jun 14 11:40:18 1992 James Clark (jjc@jclark) 11579 11580 * troff/input.c (main): If the DESC file specifies a font name of 11581 0, then leave the corresponding font position empty. 11582 11583 * nroff.sh: New file. 11584 * Makefile (install.nobin): Install nroff.sh. 11585 11586 * tty/devlatin1/R.proto: Add ao as synonym for de. 11587 * tty/tmac.tty-char: Define ao as o. 11588 11589 * tty/dev{ascii,latin1}/R.proto: Add aq. 11590 * tty/tmac.tty-char: Delete definition of aq. 11591 11592Mon Jun 8 11:43:20 1992 James Clark (jjc@jclark) 11593 11594 * troff/input.c (init_charset_table): Don't translate 0240. 11595 * ps/tmac.ps: Translate char160 to space. 11596 * dvi/tmac.dvi: Likewise. 11597 * tty/tmac.tty: Likewise. 11598 11599Sun Jun 7 10:52:35 1992 James Clark (jjc@jclark) 11600 11601 * dvi/tmac.dvi: Add support for all Latin-1 characters. 11602 11603 * macros/tmac.s: Delete definitions of \(rg, \(ah, \(ad, \(a-, 11604 \(ao, \(ac, \(ho, \(-D, \(Sd, \(TP, \(Tp, \(ss, \(AE, \(ae, \(OE, 11605 \(oe, \(r?, \(r!. 11606 11607 * tty/tmac.tty-char: Add \(ah. 11608 11609 * dvi/tmac.dvi: Add definitions of Tp, TP, Sd, -D, ho. 11610 No need to define \(FM and \(!/. Conditionalize all character 11611 definitions. 11612 11613 * ps/devps/lgreekmap: Add +h, +f, +p. 11614 11615 * ps/tmac.psnew: New file. 11616 * ps/Makefile: Install tmac.psnew. 11617 11618 * troff/input.c (charinfo_to_node_list): Don't ever interpret 11619 character definitions in compatible mode. 11620 11621 * troff/input.c (remove_character): New function. 11622 (init_input_requests): Bind remove_character to "rchar". 11623 11624 * ps/tmac.psold: New file. 11625 * ps/Makefile: Install tmac.psold. 11626 * ps/tmac.ps: Load tmac.psold. Move definitions of ISO Latin-1 11627 characters into tmac.psold. Make these definitions unconditional. 11628 11629 * tty/tmac.tty-char: Define \n(_C only if it is not already defined. 11630 11631 * ps/tmac.ps: Don't define \('c and \('C. 11632 11633 * ps/devps/textmap: Move Greek characters to... 11634 * ps/devps/symbolchars: 11635 11636Sat Jun 6 16:41:17 1992 James Clark (jjc@jclark) 11637 11638 * ps/devps/text.enc: Add quotesingle. 11639 * ps/devps/textmap: Add +h, +f, +p, Fn, Bq, bq, aq, lz. 11640 * tty/tmac.tty-char: Likewise. 11641 * dvi/devdvi/texmi.map: Add +h, +f, +p. 11642 * dvi/devdvi/texi.map: Add Fn. 11643 * dvi/devdvi/msam.map: Add lz. 11644 * dvi/tmac.dvi: Handle Bq, bq, aq. 11645 11646 * pic/lex.c (get_token): Recognize 'th. 11647 * pic/map.y: Allow `expr'th in contexts where ORDINAL was allowed. 11648 11649Fri Jun 5 11:20:46 1992 James Clark (jjc@jclark) 11650 11651 * ps/devps/textmap: Move di, mu, +- to... 11652 * ps/devps/symbolchars: 11653 11654 * macros/tmac.s (@XS): Don't call par@reset or fi. 11655 (XA): Call LP. Turn off adjustment. Reduce line length. 11656 11657 * macros/tmac.s: Initially alias XS to LP. 11658 (XS): Rename to @XS. 11659 (cov*ab-init): Alias XS to @XS. 11660 11661Thu Jun 4 09:12:05 1992 James Clark (jjc@jclark) 11662 11663 * troff/token.h: Delete TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT, 11664 TOKEN_FONT_NAME, TOKEN_FONT_POSITION, TOKEN_SIZE tokens. 11665 (token::is_size, token::changes_env): Deleted. 11666 * troff/number.c (parse_term): No need to process \s explicitly. 11667 Call tok.next() only after scale indicator has been processed. 11668 * troff/input.c (do_overstrike, do_bracket): No need to process \s, 11669 \f etc explicitly. 11670 (token::next): Handle \s, \f, \S, \H immediately rather than 11671 returning them as tokens. 11672 (token::operator==, token::description, token::add_to_node_list, 11673 token::process): Remove handling of deleted tokens. 11674 11675 * troff/env.c (environment::add_char): When adding padding 11676 indicator character, call start_line() if necessary. 11677 11678Wed Jun 3 09:55:50 1992 James Clark (jjc@jclark) 11679 11680 * ps/devps/afmtodit: Don't output 0 kerns. 11681 11682 * ps/devps/afmtodit: Remove directory from name of encoding in 11683 font description file. 11684 11685 * ps/devps/afmtodit: Improve error messages. 11686 11687 * ps/devps/afmtodit: Allow DESC file to be specified with -d. 11688 11689 * ps/devps/Makefile: Incorporate FontMakefile. Rework. 11690 * ps/devps/FontMakefile: Deleted. 11691 * ps/devps/afmname: New file. 11692 11693 * ps/devps/symbol.sed: New file. 11694 * ps/devps/symbol.diff: Deleted. 11695 * ps/devps/FontMakefile: Generate symbol.afm using symbol.sed. 11696 Generate zapfdr.afm from zapfd.afm. 11697 11698 * tty/tmac.tty (tty-char): Prefix definition with ". 11699 11700 * macros/tmac.an (TP): Don't start a diversion if one has already 11701 been started. 11702 11703 * tty/tmac.tty-char: Add Latin-1 characters. 11704 11705 * tty/tmac.tty-char: Incorporate suggestions from Paul Eggert. 11706 11707Tue Jun 2 00:54:34 1992 James Clark (jjc@jclark) 11708 11709 * tbl/table.c (table::allocate): Delete old_vline, old_entry. 11710 Move declaration of struct horizontal_span. 11711 11712 * tbl/table.c (table::table): Initialize span_list. 11713 (table::~table): Delete span_list. 11714 11715 * lib/ptable.h (PTABLE(T)::~PTABLE(T)): Delete v. 11716 11717 * ps/devps/Makefile: Avoid dependency on GNU make. 11718 11719 * ps/tmac.ps: Check that character does not already exist before 11720 defining it. 11721 11722 * tty/tmac.tty: Add definitions of \(ff, \(!=, \(==, \(~=, \(sq, 11723 \(OE, \(oe, \(AE, \(ae, \(lh, \(rh. Delete definitions of \(en, 11724 \(ru, \(ul, \(br, \(bv, \(sl which are in the font description 11725 files. 11726 11727 * tty/tmac.tty-char: New file. 11728 * tty/Makefile: Install tmac.tty-char. 11729 * tty/tmac.tty: Move definitions of \(ua, \(da, \(uA, \(dA into 11730 tmac.tty-char. 11731 11732 * tty/tmac.tty: Fix definition of \(34. 11733 11734 * tty/dev{ascii,latin1}/R.proto: Add ha and ti. Map 11735 bracket-drawing characters onto |. Add *o. 11736 11737 * troff/env.c (environment::wrap_up_tab): Increment field_spaces 11738 only if current_field. 11739 11740 * troff/dictionary.c (dictionary::lookup): Free old_table after 11741 rehashing. 11742 11743Mon Jun 1 10:15:22 1992 James Clark (jjc@jclark) 11744 11745 * tty/dev{ascii,latin1}/R.proto: Add uppercase Greek characters 11746 whose glyphs are identical to glyphs of some Roman character. 11747 11748 * tty/devlatin1/R.proto (bu): Deleted. 11749 * tty/devascii/R.proto (bu): Deleted. 11750 * tty/tmac.tty: Add definition of \(bu. 11751 11752 * eqn/main.c (do_file): Pass FILE as argument. 11753 (main): Automatically load eqnchar. New options -F and -n. 11754 Pass do_file an opened FILE. 11755 * groff.c: Don't pass eqnchar to eqn. Pass -F options onto eqn. 11756 No need to include font.h. 11757 * groff.sh: Likewise. Don't need to use - for standard input. 11758 Prefix files with -- if first file starts with -. 11759 11760 * macros/tmac.e: Conditionalize use of \$* on \n(.g. 11761 11762 * troff/env.c (environment::possibly_break_line): Don't set line 11763 to 0 across call to output_line(). Don't call output_line() until 11764 after discarding nodes after break. 11765 11766Sun May 31 10:45:29 1992 James Clark (jjc@jclark) 11767 11768 * request.h (macro::empty): Declare it. 11769 * input.c (macro::empty): New method. 11770 (interpolate_macro): Don't give a WARN_SPACE if the two-character 11771 macro is empty. 11772 11773Sat May 30 10:27:15 1992 James Clark (jjc@jclark) 11774 11775 * troff/env.c (environment::start_field): Decrement space_total 11776 when a space is frozen. 11777 11778Fri May 22 14:34:38 1992 James Clark (jjc@jclark) 11779 11780 * macros/tmac.an (R): Delete macro. 11781 11782 * troff/input.c (get_copy, token::next): Support \# (like \" but 11783 newline is ignored). 11784 11785 * troff/input.c (token::next): Fix error message in 'Y' case. 11786 11787Thu May 21 09:26:24 1992 James Clark (jjc@jclark) 11788 11789 * eqn/delim.c (define_extensible_string): Recognize any prefix of 11790 a delimiter name. 11791 11792Fri May 15 10:20:41 1992 James Clark (jjc at jclark) 11793 11794 * c++test.c: Include <osfcn.h>. 11795 11796 * lib/strtol.c, lib/getcwd.c, ps/psbb.c: Declare errno in case 11797 <errno.h> doesn't. 11798 11799Fri May 8 09:37:19 1992 James Clark (jjc at jclark) 11800 11801 * tbl/table.c (table::divide_span): Don't count column separation 11802 if expand was specified. 11803 11804 * tbl/main.c (process_format): Don't ignore width specs in 11805 continued format. Give warning for changing equal widths or 11806 column separation in continued format. 11807 (process_data): Set column separation, minimum width, equal 11808 columns at end of table. 11809 11810Thu May 7 08:50:40 1992 James Clark (jjc at jclark) 11811 11812 * troff/node.c (kern_pair_node::add_discretionary_hyphen, 11813 node::add_discretionary_hyphen): Use soft_hyphen_char. 11814 (set_soft_hyphen_char): New function. 11815 (init_node_requests): Bind to shc. Initialize soft_hyphen_char. 11816 11817 * Makefile (c++tested): Give more helpful message if test fails. 11818 11819Tue May 5 10:58:39 1992 James Clark (jjc at jclark) 11820 11821 * troff/input.c (init_charset_table): Translate 0240 to 11822 an unbreakable space. 11823 11824 * troff/token.h (token::hyphen_indicator): New function. 11825 * troff/charinfo.h (TRANSLATE_HYPHEN_INDICATOR): New special 11826 translation. 11827 * troff/input.c (translate): Allow translation to \%. 11828 * troff/node.c (node::add_char): Handle 11829 TRANSLATE_HYPHEN_INDICATOR. 11830 (make_node): Don't allow TRANSLATE_HYPHEN_INDICATOR here. 11831 11832 * troff/input.c (init_charset_table): Don't set BREAK_AFTER flag 11833 for \(hy. 11834 11835 * tty/devlatin1/R.proto: \(hy and - should print as 055. 11836 11837Tue Apr 21 09:24:42 1992 James Clark (jjc at jclark) 11838 11839 * groff.c (run_commands): If the last command gets a SIGPIPE send 11840 a SIGPIPE to all children than haven't yet terminated. When 11841 command terminates, set pid field to -1. 11842 11843Fri Apr 17 11:20:48 1992 James Clark (jjc at jclark) 11844 11845 * groff.c (main): Pass an appropriate -filename option to gxditview. 11846 11847Thu Apr 16 15:11:40 1992 James Clark (jjc at jclark) 11848 11849 * Makefile.bd (install): Remove existing program before copying. 11850 11851 * Makefile, */Makefile, Makefile.bd, groff.sh, groff.c: Allow 11852 programs which have Unix counterparts to be installed with 11853 user-specified prefix. 11854 11855 * troff/input.c (exit_troff): Don't check if exit_started. 11856 (exit_request): Don't call exit_troff if exit_started. 11857 11858 * Makefile.bd (install.mm): Rename to install.dwbmm. 11859 11860Tue Apr 14 10:05:10 1992 James Clark (jjc at jclark) 11861 11862 * driver/input.c (do_file): Add missing break for '#' case. 11863 11864Mon Apr 13 10:11:02 1992 James Clark (jjc at jclark) 11865 11866 * troff/input.c (input_stack::clear): Clear past any boundaries and 11867 then add the boundaries back. 11868 11869 * troff/input.c (exit_troff): Return immediately if already 11870 exiting. 11871 11872 * macros/tmac.s (pg@end-text): New macro. Use pg@end-text for the 11873 end macro. 11874 (pg*end-page): If the text has ended and there are no more 11875 footnotes or keeps, exit. 11876 11877 * macros/doc-ditroff (Lq, Rq): Define as \(lq and \(rq. 11878 11879 * troff/input.c (init_charset_table): Make \(rq transparent by 11880 default. 11881 11882 * macros/tmac.an: Define lq and rq strings. 11883 11884 * macros/tmac.s (Q, U): Define as \(lq and \(rq. 11885 11886Sun Apr 12 12:54:37 1992 James Clark (jjc at jclark) 11887 11888 * troff/env.c (environment::final_break): New function. 11889 (environment::newline): Set prev_line_interrupted to 2 if 11890 exit_started. 11891 * troff/env.h: Declare environment::final_break. 11892 * troff/input.c (exit_troff): Call environment::final_break() 11893 instead of environment::do_break(). 11894 11895 * macros/Makefile: Install man.local if $(MACRODIR)/man.local 11896 doesn't already exist. 11897 * macros/man.local: New file. 11898 * macros/tmac.an: Load man.local. 11899 * macros/man.ultrix: New file. 11900 11901Sat Apr 11 17:32:04 1992 James Clark (jjc at jclark) 11902 11903 * troff/input.c (exit_groff): Rename to... 11904 (exit_troff): New function. 11905 11906 * troff/div.c (exit_started, done_end_macro, 11907 seen_last_page_ejector): New global variables. 11908 (began_page_in_end_macro): New static variable. 11909 (exit_flag): Deleted. 11910 (top_level_diversion::top_level_diversion): Initialize 11911 last_page_count. 11912 (top_level_diversion): More elaborate test for whether 11913 cleanup_and_exit() should be called. 11914 Set began_page_in_end_macro if the end macro isn't yet finished. 11915 * troff/div.h (top_level_diversion::last_page_count): New data 11916 member. 11917 (top_level_diversion::set_last_page): New function. 11918 (exit_started, done_end_macro, seen_last_page_ejector): Declare. 11919 * troff/env.c (do_break): Zero prev_line_interrupted. 11920 * troff/input.c (exit_flag): Delete declaration. 11921 (LAST_PAGE_EJECTOR): New magic cookie. 11922 (token::next): Handle LAST_PAGE_EJECTOR. 11923 (exit_groff): Set exit_started and done_end_macro instead of 11924 exit_flag. Call top_level_diversion::set_last_page. Push a 11925 LAST_PAGE_EJECTOR instead of calling push_page_ejector(). Do 11926 another ejection after setting seen_last_page_ejector. 11927 11928Thu Apr 9 04:37:11 1992 James Clark (jjc at jclark) 11929 11930 * etc/grog.sh, etc/grog.sh: Recognize -me sh macro. 11931 11932 * macros/tmac.e (TH): Make sure there's room for the initial 11933 header. 11934 11935 * macros/tmac.s (par@init): Make PD and DD at least \n(.V. 11936 Set FVS in points rather than units. 11937 11938Mon Apr 6 11:21:32 1992 James Clark (jjc at jclark) 11939 11940 * troff/div.c (top_level_diversion::add_trap): Don't consider the 11941 position of empty slots. 11942 11943Fri Apr 3 10:46:45 1992 James Clark (jjc at jclark) 11944 11945 * ps/devps/S: Fix height and depth of parenrightex. 11946 * ps/devps/symbol.diff: Regenerate. 11947 11948Sat Mar 28 21:17:52 1992 James Clark (jjc at jclark) 11949 11950 * tmac.e (u): Do underlining as in -mgs. 11951 11952Fri Mar 27 09:23:44 1992 James Clark (jjc at jclark) 11953 11954 * tty/tty.c (tty_printer::end_page): If overstriking is 11955 suppressed, still turn overstruck horizontal and vertical lines 11956 into +. 11957 11958 * lib/new.c: Back out Feb 24 change; no longer needed with gcc 11959 2.1. 11960 11961 * refer/label.y (format_expr::evaluate): Avoid use of %0*d. 11962 11963Wed Mar 18 09:29:10 1992 James Clark (jjc at jclark) 11964 11965 * Version 1.05 released. 11966 11967Tue Mar 17 16:50:45 1992 James Clark (jjc at jclark) 11968 11969 * tty/tty.c: Instead of keeping an array of glyphs and then 11970 sorting it, keep a ordered linked list of glyphs for each line. 11971 11972 * driver/driver.h: Include stddef.h. 11973 11974 * tty/tty.c (compare_glyph): 11975 * refer/refer.c (rcompare): 11976 * troff/env.c (compare_ranges): Arguments of qsort comparison 11977 function should be const void *. 11978 11979 * troff/number.c (parse_term): 11980 * dvi/dvi.c (draw_dvi_printer::draw): Avoid initialization in 11981 switch statement. 11982 11983 * refer/label.y (consider_authors): Don't access variables 11984 constructed under a condition outside that condition: put braces 11985 round for statement containing declaration; redeclare use of same 11986 variable later. 11987 11988 * pic/pic.y (text_expr): Delete production that allows 11989 parenthesised text_expr. 11990 (expr): Allow a conditional_expr to appear in parentheses. 11991 (conditional_expr): Rename to any_expr. 11992 11993 * mm: Install new version 1.01 from jh. 11994 11995 * lib/font.c (font::get_width): Cache scaled widths. 11996 (font::font): Initialize widths_cache. 11997 (font::~font): Destroy widths_cache. 11998 * lib/font.h: Add font::widths_cache. Declare font_widths_cache. 11999 12000Mon Mar 16 10:16:10 1992 James Clark (jjc at jclark) 12001 12002 * c++test.c, c++test.ref: New files. 12003 * Makefile: Check that the C++ compiler works. 12004 12005 * ps/tmac.pspic (PSPIC): Do a break. 12006 12007 * ps/tmac.ps: Move definition of PSPIC into... 12008 * ps/tmac.pspic: New file. 12009 (PSPIC): Draw box around picture, but make it invisible to grops. 12010 * ps/tmac.ps: Load tmac.pspic. 12011 * ps/Makefile: Install tmac.pspic. 12012 12013Sun Mar 15 14:18:08 1992 James Clark (jjc at jclark) 12014 12015 * lib/font.c (scale_round): If n is negative, 12016 subtract .5 before truncating floating point result. 12017 12018 * lib/fontfile.c: Include <errno.h>. 12019 12020Tue Mar 10 14:17:03 1992 James Clark (jjc at jclark) 12021 12022 * driver/input.c (get_char): Inline. Don't update current_lineno. 12023 Change callers to up date current_lineno if necessary. 12024 Use get_char() instead of getc(current_file). 12025 12026Sun Mar 8 18:05:28 1992 James Clark (jjc at jclark) 12027 12028 * ps/tmac.ps: Fix up spacing of \(mo and \(nm. 12029 12030Fri Mar 6 19:38:58 1992 James Clark (jjc at jclark) 12031 12032 * tty/tty.c (tmac.tty): Define \(rg as (R). 12033 12034Tue Mar 3 10:11:25 1992 James Clark (jjc at jclark) 12035 12036 * lib/lib.h: New define a_delete. 12037 * Use a_delete instead of delete when deleting an array of objects 12038 without destructors. 12039 12040 * lib/lib.h: Rename adelete to ad_delete. 12041 * Change uses of adelete. 12042 12043Mon Mar 2 12:41:05 1992 James Clark (jjc at jclark) 12044 12045 * eqn/eqn.y: Include lib.h. 12046 12047 * troff/node.c (grow_font_table): Delete old_font_table. 12048 12049 * mm: Install new version from jh. 12050 12051Fri Feb 28 10:42:23 1992 James Clark (jjc at jclark) 12052 12053 * tbl/table.h (format_type): Make global instead of local to class 12054 entry_format. Prefix enumerators with FORMAT_. 12055 * tbl/table.c, tbl/main.c: Corresponding changes. 12056 * refer/token.h (token_type): Make global. Prefix enumerators 12057 with TOKEN_. 12058 * refer/token.[ch]: Corresponding changes. 12059 * Makefile: Get rid of -DNO_NESTED_TYPES configuration option. 12060 12061 * troff/div.c (node::set_vertical_size): Don't name argument. 12062 12063Thu Feb 27 10:29:19 1992 James Clark (jjc at jclark) 12064 12065 * Makefile: New configuration option ARRAY_DELETE_NEEDS_SIZE. 12066 * lib/lib.h: Define adelete accordingly. 12067 * pic/object.c (graphic_object::graphic_object): 12068 * tbl/main.c (format::~format): 12069 * tbl/table.c (table::~table): 12070 * refer/ref.c (reference::~reference, reference::merge, 12071 reference::insert_field, reference::delete_field): Use adelete. 12072 12073 * Makefile: Change NESTED_TYPES to NO_NESTED_TYPES. 12074 * refer/token.h: 12075 * tbl/table.h: Corresponding changes. 12076 12077 * common.c (common_output::dashed_arc, common_output::dotted_arc): 12078 Ensure total_angle is positive. 12079 12080Wed Feb 26 08:49:26 1992 James Clark (jjc at jclark) 12081 12082 * refer/ref.c (reference::merge, reference::insert_field, 12083 reference::delete_field): Avoid delete[0]. 12084 12085 * refer/token.c (init_special_chars): Move calls to cmupper 12086 outside calls to init_two_char_letter to work around bug in gcc 12087 2.0. 12088 12089Mon Feb 24 14:20:00 1992 James Clark (jjc at jclark) 12090 12091 * lib/new.c (operator new): Use __builtin_new for g++. 12092 12093 * pic/object.c (graphic_object::~graphic_object): Don't use 12094 delete [] on 0. 12095 12096 * pic/object.c (output::compute_scale): Initialize max_width and 12097 max_height. 12098 12099Sat Feb 15 09:55:20 1992 James Clark (jjc at jclark) 12100 12101 * troff/input.c (write_request): Call fflush. 12102 12103 * troff/node.h (class composite_node): Move declaration to node.c 12104 * troff/input.c (charinfo_to_node): Rename to ... 12105 (charinfo_to_node_list): Return node list rather than composite 12106 node. 12107 * troff/node.c (make_composite_node): New function. 12108 (make_node, add_char): Call make_composite_node instead of 12109 charinfo_to_node. 12110 (class composite_node): Add a tfont * member. Delete font_size 12111 member. 12112 (composite_node::composite_node, composite_node::copy, 12113 composite_node::size): Corresponding changes. 12114 (composite_node::tprint): Provide constant spacing, emboldening 12115 and track kerning as specified in tfont. 12116 (composite_node::width): Change width calculation accordingly. 12117 * troff/env.h (environment::composite): New member. 12118 (environment::is_composite, environment::set_composite): New 12119 functions. 12120 * troff/env.c (environment::environment): Initialize composite. 12121 * troff/input.c (charinfo_to_node): Call 12122 environment::set_composite. 12123 * troff/node.c (make_composite_node, make_glyph_node): Use the 12124 plain version of the tfont if the environment is composite. 12125 12126 * troff/node.c (font_info::get_space_width): Additional argument 12127 giving space_size. Handle constant space correctly. Scale by 12128 space_size unless constant spaced. 12129 (env_sentence_space_width): New function. 12130 * troff/node.h: Declare it. 12131 * troff/env.h (environment::get_space_size, 12132 environment::get_sentence_space_size, 12133 environment::get_narrow_space_width, 12134 environment::get_half_narrow_space_width): Make inline. 12135 (environment::get_space_width): Make inline. Just call 12136 env_space_width. 12137 * troff/env.c: Delete definitions for funtions made inline. 12138 (environment::space_newline, environment::space): Use 12139 env_sentence_space_width(). Don't scale by space_size. 12140 * troff/node.h: Move declarations of env*space_width() functions 12141 into env.h. 12142 12143Sat Feb 8 09:30:22 1992 James Clark (jjc at jclark) 12144 12145 * macros/tmac.s (PS): Don't try to set negative indent. 12146 12147Thu Feb 6 09:00:35 1992 James Clark (jjc at jclark) 12148 12149 * pic/pic.y: Fix min function. 12150 12151Tue Jan 28 07:52:29 1992 James Clark (jjc at jclark) 12152 12153 * man/mdate.sh: Clear LANGUAGE. 12154 12155Sun Jan 19 13:02:41 1992 James Clark (jjc at jclark) 12156 12157 * pic/pic.y, pic/lex.c: Rename COMMAND token to COMMAND_LINE. 12158 * pic/lex.c: New COMMAND keyword. 12159 * pic/pic.y (print_args, print_arg): New rules. 12160 (placeless_element): Use print_args for PRINT. 12161 New COMMAND element. 12162 12163Tue Jan 7 13:14:31 1992 James Clark (jjc at jclark) 12164 12165 * troff/input.c (terminal): Handle missing argument correctly. 12166 12167 * pic/pic.y (text_expr): New rule. 12168 12169 * pic/pic.y: Implement := operator. 12170 12171Sun Jan 5 10:23:02 1992 James Clark (jjc at jclark) 12172 12173 * etc/grog.pl, etc/grog.sh: Distinguish old and new versions of 12174 mdoc. 12175 12176Sat Jan 4 14:42:26 1992 James Clark (jjc at jclark) 12177 12178 * ps/devps/dingbatsrmap: Include this in the distribution. 12179 12180 * macros/tmac.doc: Replace with new version from 2nd Networking 12181 Release. Fix loading of doc-* files. 12182 * macros/{doc-common,doc-ditroff,doc-nroff,doc-syms}: New files. 12183 * macros/tmac.doc.old: New file. Apply fixes that had been 12184 applied to old tmac.doc. 12185 * macros/tmac.andoc: Check that we're running under groff. 12186 * macros/Makefile: Rework. 12187 12188Fri Jan 3 13:27:51 1992 James Clark (jjc at jclark) 12189 12190 * tbl/table.h (format_type): 12191 * refer/token.h (token_type): If NESTED_TYPES is defined, use 12192 typedef to make these types visible at file scope. 12193 * Makefile: Add NESTED_TYPES configuration option. 12194 12195 * troff/div.c (mark): At the top level use the value of 12196 nl_reg_contents rather than the current vertical position. 12197 12198Thu Jan 2 10:34:51 1992 James Clark (jjc at jclark) 12199 12200 * tty/tty.c: Implement \D for horizontal or vertical lines. 12201 (tty_printer::set_char): Use vec_used+2 as serial number. 12202 Don't allow size of vector to exceed USHRT_MAX-2. 12203 Split off part into... 12204 (tty_printer::add_char): New function. 12205 (tty_printer::draw): New function. 12206 (compare_glyph): Handle equal serial numbers. 12207 (tty_printer::end_page): Handle overstruck characters from \D. 12208 (main, usage): Implement -d option. 12209 12210Mon Dec 23 10:37:51 1991 James Clark (jjc at jclark) 12211 12212 * tbl/main.c (process_format): 12213 * eqn/text.c (split_text): 12214 * troff/input.c (token::next): Use inner block for declarations 12215 with initializers in switch statement. 12216 12217Mon Dec 16 20:52:03 1991 James Clark (jjc at jclark) 12218 12219 * pic/common.c (common_output::dash_line): Cope with zero-length 12220 lines. 12221 12222Sun Nov 17 12:04:08 1991 James Clark (jjc at jclark) 12223 12224 * Version 1.04 released. 12225 12226Wed Nov 13 05:27:21 1991 James Clark (jjc at jclark) 12227 12228 * macros/tmac.an (TH): Define a macro an-init to define variables 12229 based on command line arguments. 12230 (an-header): Call it. 12231 12232Sun Nov 3 12:07:34 1991 James Clark (jjc at jclark) 12233 12234 * Makefile (install.mm): Rename to install.dwbmm. 12235 12236 * Makefile: Integrate mm. 12237 * mm: New directory. 12238 12239Wed Oct 30 10:11:34 1991 James Clark (jjc at jclark) 12240 12241 * refer/dirnamemax.c: If PATHCONF_MISSING is defined, include 12242 <sys/types.h>. 12243 12244 * pic/troff.c (troff_output::simple_spline, 12245 troff_output::simple_polygon): Rename variable `v' to `d' to avoid 12246 shadowing parameter. 12247 12248 * lib/tmpfile.c (xtmpfile): Declare dir as const char *. 12249 12250 * lib/ptable.h: Add explicit casts when converting from unsigned 12251 long to unsigned. 12252 12253 * dvi/devdvi/{SA,SB,msam.map,msbm.map}: New files. 12254 * dvi/devdvi/Makefile: Install SA, SB. 12255 12256 * refer/indxbib.c: Add declaration of mktemp. 12257 12258 * refer/lookbib.c: Add declaration of isatty. 12259 12260Fri Oct 25 09:00:17 1991 James Clark (jjc at jclark) 12261 12262 * pic/lex.c (interpolate_macro_with_args): While collecting 12263 arguments, keep track of whether we're in a string. 12264 12265Wed Oct 23 08:42:48 1991 James Clark (jjc at jclark) 12266 12267 * ps/tmac.ps (PSPIC): Do the .sp after the \X, and move the \X 12268 down with \v, so as to avoid problems with top of page trap 12269 setting no space mode. 12270 12271Tue Oct 22 17:38:49 1991 James Clark (jjc at jclark) 12272 12273 * eqn/lex.c (get_delimited_text): Allow tab before macro body. 12274 12275Tue Oct 15 17:24:53 1991 James Clark (jjc at jclark) 12276 12277 * ps/psrm.c (ps_get_line): Fix bug when lines longer than 255. 12278 Improve error message. 12279 12280Fri Oct 11 11:09:38 1991 James Clark (jjc at jclark) 12281 12282 * ps/psrm.c (print_ps_string): Don't pass negative numbers to 12283 printf("%03o"); 12284 12285Wed Oct 9 17:50:14 1991 James Clark (jjc at jclark) 12286 12287 * groff.c (possible_command::execp): Always use _exit() after a 12288 failed exec. 12289 12290 * Makefile: Add HAVE_UNION_WAIT, HAVE_PID_T, WAIT_COREDUMP_0200, 12291 NO_SYS_WAIT_H configuration options. 12292 * groff.c: Use these options. Use POSIX-style macros to extract 12293 fields from the status returned by wait(). 12294 12295Fri Oct 4 12:12:27 1991 James Clark (jjc at jclark) 12296 12297 * tbl/table.c (table::compute_separation_factor): Allow the 12298 separation factor to drop to 0. 12299 12300Tue Oct 1 18:12:38 1991 James Clark (jjc at jclark) 12301 12302 * refer/search.c: Include <errno.h>. 12303 12304Sun Sep 29 08:40:57 1991 James Clark (jjc at jclark) 12305 12306 * pic/pic.y (YYDEBUG): Don't define for Borland C++. 12307 12308 * lib/lib.h: #ifdef out declarations of itoa and iftoa for Borland 12309 C++. 12310 12311 * pic/lex.c (input_stack::bol): Move definition out of class body. 12312 12313 * pic/main.c: On MSDOS munge argv[0]. 12314 12315 * lib/ptable.h: Define name2 as _Paste2 for Borland C++. 12316 12317 * lib/ptable.c (hash_string): Use unsigned long rather than 12318 unsigned. 12319 (next_ptable_size): Use unsigned rather than int. Give an error 12320 message if we've hit the largest table size. 12321 * lib/ptable.c: Corresponding changes. Also use unsigneds for the 12322 table size. 12323 12324 * pic/object.h (object_spec): Make flags unsigned long. Declare 12325 flags as const unisgned long rather than as enums. 12326 12327 * pic/output.c: Deleted. 12328 12329 * pic/troff.c (troff_output::simple_ellipse): Remove spurious %. 12330 12331 * tbl/table.c (simple_entry::note_double_vrule_on_{left,right}): 12332 Add additional argument. 12333 (line_entry::note_double_vrule_on_{left,right}): Set value of 12334 douvle_vrule_on_{right,left} flag according to argument. 12335 (simple_line_entry::simple_print, 12336 simple_line_entry::double_line_print): If adjacent to double vrule 12337 on a corner extend rather than shorten the rule by half the double 12338 vrule sep. 12339 12340 * troff/number.c (parse_term): In checking for overflow, handle the 12341 case where the current horizontal position is negative. 12342 12343Thu Sep 12 08:26:09 1991 James Clark (jjc at jclark) 12344 12345 * pic/object.c (draw_arrow): Check for object having zero length. 12346 12347Wed Sep 11 10:32:38 1991 James Clark (jjc at jclark) 12348 12349 * eqn/main.c (do_file): Split off inline equation handling into... 12350 (inline_equation): New function. Search for starting delimiter 12351 using... 12352 (delim_search): New function. Don't recognize a delimiter that 12353 occurs in the name of an escape sequence, number register, string 12354 etc. 12355 12356Tue Sep 10 04:01:11 1991 James Clark (jjc at jclark) 12357 12358 * eqn/delim.c (delim_box::compute_metrics): Don't call 12359 define_extensible_string if left is 0. 12360 (delim_box::output): Don't print the left delimiter if left is 0. 12361 (delim_box::debug_print): Check for left == 0 before calling printf. 12362 12363Fri Aug 23 13:02:30 1991 James Clark (jjc at jclark) 12364 12365 * troff/Makefile (majorminor.c): Include only digits in 12366 minor_version. 12367 12368Thu Aug 22 09:35:37 1991 James Clark (jjc at jclark) 12369 12370 * refer/dirnamemax.c: new file. 12371 * refer/genlimits.c: Deleted. 12372 * refer/indxbib.c (main): Use dir_name_max() instead of NAME_MAX. 12373 Don't check path length. 12374 * refer/Makefile: Add dir_name_max.o; delete genlimits. 12375 * Makefile: Add PATHCONF_MISSING option. 12376 12377 * refer/indxbib.c (get_cwd): New function. 12378 (main): Use get_cwd(). 12379 * lib/getcwd.c: New file. 12380 * Makefile: Delete -DHAVE_GETWD. Include GETCWD variable. Pass 12381 GETCWD in SUBFLAGS. 12382 * lib/Makefile: Compile getcwd.o. 12383 12384 * ps/tmac.psatk (psatk-defs): Define showpage after pushing 12385 userdict. 12386 12387 * refer/indxbib.c (main): Check success of mktemp. 12388 12389 * lib/tmpfile.c: New file. 12390 * lib/Makefile: Add tmpfile.c. 12391 * lib/lib.h: Declare xtmpfile(); include <stdio.h>. 12392 * ps/ps.h: Delete declaration of mktemp(). 12393 * ps/ps.c (ps_printer::ps_printer): Use xtmpfile(). 12394 * refer/refer.c (divert_to_temporary_file): Use xtmpfile(). 12395 * driver/driver.h: No need now to include errno.h. 12396 12397 * everywhere: Set errno to 0 before calling fopen(). 12398 12399 * eqn/eqn.h, etc/soelim.c, driver/driver.h, etc/addftinfo.c, 12400 dvi/tfmtodit.c, groff.c, refer/index.c, refer/linear.c, 12401 refer/lookbib.c, refer/refer.h, ps/psbb.c: Include <errno.h>. 12402 12403Mon Aug 19 10:52:18 1991 James Clark (jjc at jclark) 12404 12405 * troff/env.h (translate_space_to_dummy): Declare it. 12406 * troff/env.c (environment::space_newline, environment::space): 12407 If translate_space_to_dummy is set then make the width of spaces 0. 12408 * troff/input.c (translate): If the second character of a 12409 translation is a space, translate to unbreakable space. If the 12410 first character is a space, set or clear translate_space_to_dummy 12411 according to whether the second character is \&. Weird! 12412 12413Tue Jul 30 10:03:56 1991 James Clark (jjc at jclark) 12414 12415 * groff.c (run_commands): Don't use non-zero exit code because a 12416 command gets SIGPIPE. 12417 12418 * groff.c, groff.sh: Use -mXps with -TXps. 12419 12420 * ps/ps.c (ps_printer::special): Move call to flush_sbuf() into... 12421 (ps_printer::do_exec, ps_printer::do_file, ps_printer::do_def, 12422 ps_printer::do_mdef, ps_printer::do_import): Call flush_sbuf(). 12423 (ps_printer::special): New specials invis and endinvis. 12424 (ps_printer::do_invis, ps_printer::do_endinvis): New functions. 12425 (ps_printer::set_char, ps_printer::draw): Return if invis_count>0. 12426 (ps_printer::end_page): Check that invis_count == 0. 12427 (ps_printer::invis_count): New member. 12428 (ps_printer::ps_printer): Initialize invis_count to 0. 12429 12430 * troff/env.c (environment::hyphenate_line): Hyphenation 12431 indicator at beginning of word inhibits splitting after -, \(em 12432 etc. 12433 12434 * pic/pic.y (element): Allow another element to follow } without 12435 any intervening separator. 12436 12437Mon Jul 22 12:27:37 1991 James Clark (jjc at jclark) 12438 12439 * pic/lex.c (get_delimited): Allow tabs before delimiter. 12440 12441Wed Jul 17 10:59:08 1991 James Clark (jjc at jclark) 12442 12443 * groff.c: Get rid of HAVE_UNION_WAIT stuff. Instead suppress 12444 declaration of wait() in header files. 12445 * Makefile: Get rid of -DHAVE_UNION_WAIT. 12446 12447 * tbl/table.c (alphabetic_text_entry::add_tab): New function. 12448 12449 * lib/lib.h: Declare return type of strerror as char *. 12450 12451 * man/Makefile: Add g flag to sed substitutions. 12452 * Makefile (shgroff, bindist): Likewise. 12453 12454Sun Jul 14 11:57:02 1991 James Clark (jjc at jclark) 12455 12456 * ps/ps.c (ps_printer::do_import): Move push of userdict into... 12457 * ps/devps/prologue (PBEGIN): Define showpage after pushing 12458 userdict. 12459 12460Sat Jul 13 20:53:04 1991 James Clark (jjc at jclark) 12461 12462 * ps/devps/prologue (PBEGIN): Zap any definition of showpage in 12463 userdict. 12464 12465Fri Jul 12 07:10:09 1991 James Clark (jjc at jclark) 12466 12467 * man/mdate.sh: Handle the fact that BSD ls -l does not print the 12468 group. 12469 12470Sun Jul 7 08:00:23 1991 James Clark (jjc at jclark) 12471 12472 * troff/input.c (define_number_reg): If currently undefined, 12473 don't define it if the argument is an invalid expression. 12474 12475 * Makefile: Ignore return value of `if' commands without `else' 12476 parts. 12477 12478 * Makefile: Split up CPPDEFINES into a series of separate 12479 configuration options. 12480 12481 * troff/input.c (init_registers): Use time_t instead of long 12482 unless LONG_FOR_TIME_T is defined. Use returned result rather 12483 than passing pointer. 12484 * Makefile: Document LONG_FOR_TIME_T as a CPPDEFINE. 12485 12486 * lib/Makefile (fontpath.h): Use gendef. 12487 12488Thu Jul 4 09:48:05 1991 James Clark (jjc at jclark) 12489 12490 * troff/input.c (input_iterator::shift): Delete argument name. 12491 * troff/node.c (suppress_output_file::really_begin_page, 12492 suppress_output_file::really_transparent_char, node::ascii_print, 12493 node::tprint): Delete names of unused arguments. 12494 12495Wed Jul 3 17:34:57 1991 James Clark (jjc at jclark) 12496 12497 * refer/label.y (string): Pass $4 to command_error. 12498 12499Tue Jul 2 15:06:01 1991 James Clark (jjc at jclark) 12500 12501 * Version 1.03 released. 12502 12503Sat Jun 29 08:14:01 1991 James Clark (jjc at jclark) 12504 12505 * Makefile: Pass definition of SHELL in SUBFLAGS. 12506 12507 * gendef: New file. 12508 * Makefile, eqn/Makefile, refer/Makefile, troff/Makefile, 12509 ps/Makefile: Use gendef to construct header files that are 12510 constructed from the Makefile. 12511 12512 * macros/Makefile: make all should build stripped version of tmac.e. 12513 12514 * refer/Makefile (clean): Remove y.output. 12515 12516Fri Jun 28 09:44:36 1991 James Clark (jjc at jclark) 12517 12518 * ps/pfbtops.c (main): Add -v option which prints out a version 12519 number. 12520 * ps/Makefile (pfbtops): Link with libgroff.a. 12521 12522Fri Jun 21 07:43:23 1991 James Clark (jjc at jclark) 12523 12524 * refer/search.h (linear_searcher::get_nkeys): Delete declaration. 12525 * refer/linear.c (linear_searcher::get_nkeys): Delete definition. 12526 12527 * refer/lkbib.c (main): Always terminate reference with blank 12528 line. 12529 * refer/lookbib.c (main): Likewise. 12530 12531 * refer/linear.c (file_buffer::load): Check that the file is not a 12532 binary file. 12533 12534 * refer/Makefile (genlimits): Possibly add -DHAVE_SYS_DIR_H. 12535 (genlimits.c): Include <sys/dir.h> if HAVE_SYS_DIR_H is defined. 12536 Delete second inclusion of <sys/param.h>. 12537 12538Tue Jun 18 01:32:26 1991 James Clark (jjc at jclark) 12539 12540 * troff/token.h (token::special): Deleted. 12541 12542 * tbl/main.c (process_format): Rework so that opt->tab_char is 12543 recognized only when appropriate. 12544 12545 * ps/Makefile (clean): Remove pfbtops. 12546 12547Sun Jun 16 09:37:19 1991 James Clark (jjc at jclark) 12548 12549 * lib/font.c (text_file::next): Don't return if we have got a 12550 blank line. 12551 12552Fri Jun 14 09:52:26 1991 James Clark (jjc at jclark) 12553 12554 * refer/refer.c (store_reference): Get hash code from old_table[i] 12555 when rehashing the table. 12556 12557Thu Jun 13 01:26:43 1991 James Clark (jjc at jclark) 12558 12559 * eqn/box.c (box::top_level): Save size and prev size using \R and 12560 restore it afterwards. Set the size to the size at the beginning 12561 of the line. 12562 * eqn/pbox.h: Declare SAVED_INLINE_PREV_SIZE_REG, 12563 SAVED_INLINE_SIZE_REG, and SAVED_SIZE_REG. 12564 12565 * refer/Makefile (limits.h): Use ./genlimits. 12566 12567Wed Jun 12 16:05:34 1991 James Clark (jjc at jclark) 12568 12569 * refer/index.c: Delete declarations of stat() and fstat(). 12570 12571Tue Jun 11 14:52:49 1991 James Clark (jjc at jclark) 12572 12573 * tty/tmac.tty: Add character definitions for \(>= and \(<=. 12574 12575Mon Jun 10 22:49:48 1991 James Clark (jjc at jclark) 12576 12577 * etc/grog.sh, etc/grog.pl: Change regex for .PS. 12578 12579Fri Jun 7 09:13:06 1991 James Clark (jjc at jclark) 12580 12581 * troff/input.c (token::get_char): Handle \e. 12582 12583 * refer/linear.c: Delete declarations of fstat() and stat(). 12584 12585Wed Jun 5 09:11:59 1991 James Clark (jjc at jclark) 12586 12587 * troff/node.c, troff/env.c, troff/input.c, Makefile: Remove 12588 OP_DELETE_BROKEN stuff, since we now have a fix for g++. 12589 12590Mon Jun 3 13:41:32 1991 James Clark (jjc at jclark) 12591 12592 * troff/input.c (do_define_macro): Improve error handling for end 12593 of file while defining macro. 12594 12595Sun Jun 2 10:20:24 1991 James Clark (jjc at jclark) 12596 12597 * eqn/box.h: Fix declaration of set_gsize. 12598 * eqn/box.c (set_gsize): Make argument const char *. 12599 (gsize): Declare as char *. 12600 * eqn/main.c (main): Don't convert gsize to int. 12601 * eqn/lex.c (do_gsize): Pass char * to set_gsize. 12602 12603 * Version 1.02 released. 12604 12605Sat Jun 1 12:19:46 1991 James Clark (jjc at jclark) 12606 12607 * macros/tmac.andoc: New file. 12608 * macros/Makefile: Install tmac.andoc. 12609 12610 * troff/node.c, troff/env.c, troff/input.c: Conditionalize use of 12611 operator new and delete on OP_DELETE_BROKEN not being defined. 12612 * Makefile: Mention OP_DELETE_BROKEN. 12613 12614Mon May 27 13:49:07 1991 James Clark (jjc at jclark) 12615 12616 * Makefile (bindist): Pass SUBFLAGS. 12617 12618Sun May 26 14:13:22 1991 James Clark (jjc at jclark) 12619 12620 * Makefile, groff.c: Pass definitions to groff.c via device.h. 12621 12622 * tty/tty.c (tty_font::load_tty_font): Avoid shadowing 12623 parameter. 12624 12625 * ps/Makefile, ps.c: Pass BROKEN_SPOOLER_FLAGS via broken.h. 12626 12627 * ps/ps.h, ps/psrm.c: Make comment_table and 12628 header_comment_table local to resource_manager::process_file. 12629 12630 * groff.sh: With -TXps pass -printCommand option to gxditview. 12631 12632 * groff.c (possible_command::print): Implement using 12633 append_arg_to_string. 12634 12635 * xditview: Merge in new implementation with own ChangeLog. 12636 12637Sat May 25 18:33:20 1991 James Clark (jjc at jclark) 12638 12639 * groff.c (main): Implement PRINT_OPTION. 12640 (append_arg_to_string): New command. 12641 (device_table): Set PRINT_OPTION flag for Xps. 12642 12643Fri May 24 09:48:58 1991 James Clark (jjc at jclark) 12644 12645 * troff/groff.h: Rename to troff.h. 12646 12647 * pic/lex.c (lookup_keyword, docmp): New functions. 12648 (get_token): Use new lookup_keyword. 12649 Don't include key.h. 12650 * pic/key.[ch], pic/pic.gperf: Deleted. 12651 * pic/Makefile: Remove gperf stuff. 12652 12653 * pic/Makefile, pic/output.h: Move definition of TEX_SUPPORT 12654 into output.h. 12655 * pic/tex.c: Move include of pic.h before test of TEX_SUPPORT. 12656 12657 * troff/Makefile, troff/node.c: Move definition of 12658 STORE_WIDTH into node.c. 12659 12660 * etc/grog.pl, etc/grog.sh: Support -mdoc. 12661 12662Thu May 23 12:30:49 1991 James Clark (jjc at jclark) 12663 12664 * dvi/devdvi/texr.map, dvi.devdvi/texi.map, 12665 dvi/devdvi/texb.map: Add lq and rq. 12666 dvi/devdvi: Regenerate fonts. 12667 * ps/devps/textmap: Add lq and rq. 12668 * ps/devps: Regenerate fonts. 12669 * tty/devascii/R.proto, tty/devlatin1/R.proto: Add lq and rq. 12670 * macros/tmac.e: Define \*(lq and \*(rq to be \(lq and \(rq. 12671 12672 * pic/object.c (position_rectangle): When checking radius 12673 cope with possiblity that width or height is negative. 12674 (box_object::box_object): Have separate xrad and yrad with 12675 signs matching signs of dim components. 12676 (box_object::{north,south}_{east,west}): Use xrad and yrad. 12677 (box_object::print): With rounded boxes use absolute values 12678 for dim and rad arguments. 12679 12680 * lib/Makefile, lib/fontfile.o: Pass definition of FONTPATH 12681 in fontpath.h. 12682 12683 * eqn/Makefile, eqn/main.c: Pass definition of DEVICE in device.h. 12684 12685 * various files: Add explicit destructors to keep Saber CC +d 12686 happy. 12687 12688Wed May 22 11:37:11 1991 James Clark (jjc at jclark) 12689 12690 * eqn/box.c (box::top_level): Restore fonts correctly after 12691 font changes in line containing inline equation. Also 12692 restore previous font as well as current font. 12693 * eqn/pbox.h: Define necessary string and register names. 12694 12695 * troff/input.c (token::next): Case 'R' calls do_register. 12696 (do_register): New function. 12697 12698Tue May 21 11:28:23 1991 James Clark (jjc at jclark) 12699 12700 * groff.c, groff.sh: Support Xps device. Allow each device 12701 to have a pseudo_name and a real_name. 12702 12703 * groff.c (run_commands): Don't print `Broken pipe' messages. 12704 12705 * ps/pfbtops.c: New file. 12706 * ps/Makefile: Add pfbtops. 12707 12708 * troff/number.c (parse_term): Improved error message. 12709 12710Mon May 20 11:22:14 1991 James Clark (jjc at jclark) 12711 12712 * groff.c, groff.sh, etc/grog.sh, etc/grog.pl: Support grefer. 12713 12714 * Makefile: Integrate refer. 12715 * refer: New directory. 12716 * man/grefer.man, man/glookbib.man, man/gindxbib.man, 12717 man/lkbib.man: New files. 12718 * man/Makefile: Support refer man pages. 12719 12720 * lib/lib.h: Declare is_prime. 12721 * lib/prime.c: New file. 12722 12723 * troff/input.c (macro_source): New function. 12724 (init_input_requests): Bind "mso" to macro_source. 12725 12726 * troff/env.c (environment::possibly_break_line): Maintain 12727 pointer to pointer to node to be split in ndp so as to avoid 12728 using address of freed node. 12729 12730 * troff/env.c (environment::hyphenate_line): Maintain pointer to 12731 pointer to first node to be hyphenated in startp so as to 12732 avoid using address of freed node. 12733 12734 * troff/env.c (class trie, class hyphen_trie): Make the 12735 elements of the trie be of type char not unsigned char. 12736 Declare arguments to be const char* instead of unsigned char *. 12737 12738 * troff/env.c (hyphenate): Initialize hbuf[0]. 12739 12740 * troff/input.c (set_string): Declare p to be char * and cast 12741 *p to unsigned char when necessary. 12742 12743 * troff/input.c (do_define_macro): Declare s to be const 12744 char*. Cast element to unisgned char when necessary, Declare 12745 d to be an int. Handle EOF better. 12746 12747 * troff/Makefile, troff/input.c: Different scheme for passing 12748 definitions of MACROPATH, HYPHENFILE and DEVICE. 12749 12750Tue May 14 13:41:36 1991 James Clark (jjc at jclark) 12751 12752 * tty/devascii/R.proto: Delete entry for em. 12753 * tty/devlatin1/R.proto: Likewise. 12754 12755Sat May 11 11:13:28 1991 James Clark (jjc at jclark) 12756 12757 * troff/input.c (translate): Stop when we get a space. Treat eof 12758 like newline. 12759 12760 * macros/tmac.an (IP): Only pass quoted argument to TP when \n(.$>1. 12761 12762Wed Apr 24 19:24:33 1991 James Clark (jjc at jclark) 12763 12764 * tbl/main.c (process_format): A font name following a `f' 12765 modifier that starts with a digit can be only one character long. 12766 Also deal with EOF on the second character of the font name. 12767 12768Wed Apr 17 11:23:43 1991 James Clark (jjc at jclark) 12769 12770 * troff/input.c (token::next): Turn \~ into an 12771 unbreakable_space_node. 12772 * troff/node.c (unbreakable_space_node): New class. 12773 * troff/node.h: Declare it. 12774 12775Tue Apr 16 10:47:12 1991 James Clark (jjc at jclark) 12776 12777 * dvi/dvi.c (dvi_printer::set_char): Make code an int. Check that 12778 it's >= 0, before outputting it as a single byte. 12779 12780Mon Apr 15 11:20:23 1991 James Clark (jjc at jclark) 12781 12782 * lib/font.c: Make font_char_metric::code an int. 12783 (font::get_code): Change return type to int. 12784 (font::load): Allow code to be arbitrary integer. 12785 * lib/font.h (font::get_code): Change return type to int. 12786 (font::number_to_index): Change argument type to int. 12787 * troff/input.c (token::next): In case 'N', allow any value. 12788 Store value in token::val. 12789 (token::operator==): For TOKEN_NUMBERED_CHAR test equality of val. 12790 (token::get_char, token::add_to_node_list, token::process): Get 12791 number from val. 12792 (charinfo::set_number): Change argument to int. 12793 (charinfo::get_number): Require that NUMBERED flag be set. 12794 (get_charinfo_by_number): Store numbered characters not between 0 12795 and 255 in a dictionary. 12796 * troff/charinfo.h (get_charinfo_by_number): Change argument type 12797 to int. 12798 (charinfo::number): Change type to int. 12799 (charinfo::set_number): Change type of set_number to int. 12800 * troff/node.c (troff_output_file::put_char_width, 12801 troff_output_file::put_char): Test whether character is numbered 12802 using charinfo::numbered(). 12803 * driver/printer.c (printer::set_numbered_char): Allow arbitrary 12804 values of num. 12805 * lib/nametoindex.c: New implementation to cope with arbitrary 12806 number characters. 12807 12808 * troff/input.c (token::operator==): Test val for 12809 TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT, TOKEN_FONT_POSITION, and 12810 TOKEN_SIZE. 12811 12812 * man/Makefile: Add definiton of BROKEN_SPOOLER_FLAGS. 12813 (.man.n): sed out @BROKEN_SPOOLER_FLAGS@. 12814 12815Sun Apr 14 12:57:00 1991 James Clark (jjc at jclark) 12816 12817 * ps/devps/zapfdr.ps: Don't copy UniqueID. Avoid use of newdict 12818 variable. 12819 12820 * all Makefiles: rm targets of cp and >. 12821 12822 * xditview/xtotroff.c (MapFont): Unlink troff_name before opening 12823 it. 12824 12825 * eqn/lex.c (def_table): Add dollar. 12826 12827Sat Apr 13 13:02:44 1991 James Clark (jjc at jclark) 12828 12829 * troff/input.c (do_width): Push back newline before closing delim 12830 like do_bracket. 12831 12832Fri Apr 12 15:16:03 1991 James Clark (jjc at jclark) 12833 12834 * groff.c (possible_command::prepend_arg): New function. 12835 (main): Prepend device -m option. 12836 * groff.sh: Put device -m options before command-line options. 12837 12838Tue Apr 9 10:24:43 1991 James Clark (jjc at jclark) 12839 12840 * macros/tmac.an (IP): Quote argument to TP. 12841 12842 * ps/ps.c (main): New option -b, which sets... 12843 (broken_flags): New variable. 12844 (ps_printer::~ps_printer): Incorporate the setup section in the 12845 prolog if (broken_flags & NO_SETUP_SECTION). 12846 (ps_printer::begin_page): Generate {Begin,End}PageSetup comments. 12847 (ps_printer::merge_download_fonts, ps_printer::merge_import_fonts, 12848 ps_printer::merge_ps_fonts, ps_printer::print_font_comment, 12849 ps_printer::print_needed_font_comment, 12850 ps_printer::print_supplied_font_comment, 12851 ps_printer::print_include_font_comments, 12852 ps_printer::lookup_doc_font, ps_printer::download_fonts, 12853 ps_printer::read_download_file, read_document_fonts, add_font, 12854 skip_line, parse_fonts_arg, document_font::document_font, 12855 document_font::~document_font, document_font::download, 12856 ps_output::include_file): Deleted. 12857 (ps_printer::~ps_printer): Generate %%EOF. Generate %!PS-Adobe-3.0 12858 rather than %!PS-Adobe-2.0. Make calls to 12859 resource_manager::need_font for each font that we used. Replace 12860 calls to merge_ps_fonts, merge_download_fonts, print_font_comment, 12861 print_supplied_font_comment, print_needed_font_comment by call to 12862 resource_manager::print_header_comments. Output %%Orientation 12863 comment. Output %%Requirements: numcopies comment if ncopies > 1. 12864 Don't output the prolog directly. Instead call 12865 resource_manager::output_prolog. Only define #copies when ncopies 12866 > 1. Delete calls to print_include_font_comments and 12867 download_fonts. Add call to resource_manager::document_setup. 12868 (ps_printer::do_file): Call resource_manager::import_file instead 12869 of including it ourselves. 12870 (ps_printer::do_import): Likewise. Also don't call 12871 merge_import_fonts. Push userdict on the dictionary stack before 12872 and pop it afterwards. 12873 Move declaration of ps_output into ps.h. 12874 * ps/psrm.c: New file implementing resource_manager class. 12875 * ps/ps.h: New file declaring ps_output and resource_manager 12876 classes. 12877 * ps/devps/zapfdr.ps: 12878 * ps/devps/symbolsl.ps: 12879 * ps/devps/prologue: Use 3.0 conventions. 12880 * ps/Makefile: Pass definition of BROKEN_SPOOLER_FLAGS in DEFINES. 12881 Add default definition of BROKEN_SPOOLER_FLAGS. 12882 * Makefile: New variable BROKEN_SPOOLER_FLAGS. Add 12883 BROKEN_SPOOLER_FLAGS to SUBFLAGS. 12884 12885Mon Apr 8 09:26:54 1991 James Clark (jjc at jclark) 12886 12887 * etc/grog.pl: New file. 12888 * Makefile (GROG): New variable. 12889 Add GROG to SUBFLAGS. 12890 * etc/Makefile (GROG): New variable. 12891 (install.nobin): Install $(GROG) rather than grog.sh. 12892 12893Thu Apr 4 11:36:45 1991 James Clark (jjc at jclark) 12894 12895 * eqn/special.c (special_box::compute_metrics): Make the input and 12896 output strings the same. Get the new height and depth from the 12897 predefined height and depth registers. Also make subscript kern 12898 and skew available. 12899 (special_box::compute_subscript_kern, special_box::compute_skew): 12900 New functions. 12901 12902 * eqn/box.c (pointer_box::compute_skew, 12903 simple_box::compute_metrics, box::top_level) 12904 * eqn/text.c (prime_box::compute_metrics, 12905 prime_box::comput_subscript_kern) 12906 * eqn/limit.c (limit_box::compute_metrics): 12907 * eqn/delim.c (build_extensible, delim_box::compute_metrics): 12908 * eqn/sqrt.c (sqrt_box::compute_metrics): Protect possibly 12909 negative numbers in `nr' requests with a leading 0. 12910 12911Wed Apr 3 15:58:23 1991 James Clark (jjc at jclark) 12912 12913 * eqn/special.c: New file. 12914 * eqn/eqn.y: Declare token SPECIAL. Make it right associative. 12915 Add new rule for simple. 12916 * eqn/lex.c (token_table): Add SPECIAL. 12917 * eqn/box.h: Declare make_special_box. 12918 * eqn/Makefile: Add special.[co]. 12919 12920Sat Mar 30 10:57:53 1991 James Clark (jjc at jclark) 12921 12922 * ps/devps/prologue: Possibly set packing to true while defining. 12923 Create grops dictionary here. Initialize local variables before 12924 defining procedures. 12925 (PICTURE): Rename to PBEGIN. Also do save, noop showpage, count 12926 the dictionary stack. Set strokeadjust and overprint to false if 12927 the relevant operators are defined. 12928 (PEND): New procedure. 12929 * ps/ps.c (ps_printer::~ps_printer): In the prolog just include 12930 prologue. Do everything else in the setup section. 12931 (ps_printer::do_import): Just call PBEGIN and PEND around the 12932 picture. Also push userdict before, and pop it afterwards. 12933 12934Wed Mar 27 07:59:50 1991 James Clark (jjc at jclark) 12935 12936 * troff/node.c (bracket_node::tprint): Brackets were being printed 12937 1m too low. 12938 12939 * macros/tmac.an (SH, SS): Set fill mode. 12940 12941Tue Mar 26 07:46:31 1991 James Clark (jjc at jclark) 12942 12943 * troff/div.c (top_level_diversion::begin_page): Set 12944 high_water_mark to 0. 12945 12946Fri Mar 22 09:19:46 1991 James Clark (jjc at jclark) 12947 12948 * man/mdate.sh: New file. 12949 * man/mdate.c: Deleted. 12950 * man/Makefile: Use mdate.sh instead of mdate. 12951 (mdate): Deleted. 12952 12953 * eqn/lex.c (do_gsize): Supply missing argument to error message. 12954 12955Tue Mar 19 11:06:50 1991 James Clark (jjc at jclark) 12956 12957 * man/mdate.c: New file. 12958 * man/*.man: Replace modification date by @MDATE@. 12959 * man/Makefile (.man.n): Replace @MDATE@ by `mdate $<`. 12960 (mdate): New target. 12961 12962 * lib/font.c (text_file::next): Deal with arbitrarily long lines. 12963 Remove illegal input characters. 12964 12965Mon Mar 18 08:32:25 1991 James Clark (jjc at jclark) 12966 12967 * macros/tmac.s (pg*start-col): Do .ns *after* running the hooks. 12968 12969Sat Mar 16 03:52:25 1991 James Clark (jjc at jclark) 12970 12971 * troff/div.c (begin_page): Change behaviour when 12972 !first_page_begun and !break_flag. 12973 12974 * troff/input.c (do_name_test): Return 0 if argument is empty. 12975 12976 * troff/input.c (read_long_escape_name): Require closing ] to be 12977 at same input level as opening [. 12978 12979 * troff/input.c (read_increment_and_escape_name): New function. 12980 (get_copy, process_input_stack): Use this for \n. 12981 12982Fri Mar 15 00:31:48 1991 James Clark (jjc at jclark) 12983 12984 * troff/div.c (top_level_diversion::begin_page): Ignore the 12985 current value of page_number if !first_page_begun. 12986 12987 * groff.c (main): Fix declaration of buf. 12988 12989 * troff/input.c (do_name_test): New function. 12990 (token::next): Implement \A. 12991 (token::next): Implement \e by turning it into a TOKEN_ESCAPE. 12992 (token::description, token::add_to_node_list, token::process): 12993 Handle TOKEN_ESCAPE. 12994 * troff/token.h: New token TOKEN_ESCAPE. 12995 12996Thu Mar 14 10:22:26 1991 James Clark (jjc at jclark) 12997 12998 * pic/main.c (do_picture): Allow space before and after filename 12999 following `<'. Check that the filename is not empty. 13000 13001Wed Mar 13 12:49:40 1991 James Clark (jjc at jclark) 13002 13003 * Version 1.01 released. 13004 13005 * dvi/devdvi/CompileFonts: Add cm*ss10 fonts. 13006 13007 * dvi/tmac.dvi: ftr HR to H. 13008 13009 * macros/tmac.e: Round up computation of $r. 13010 13011 * xditview/tmac.X: Don't give up completely in compatibility mode. 13012 Use \n(.s instead of \n[.s]. 13013 13014 * dvi/tmac.dvi: Don't give up completely in compatibility mode. 13015 Use \(ci instead of \[ci]. Use \n(.s instead of \n[.s]. 13016 Add u to factors inside \s[...]. Rename frac to dvi-frac. 13017 Translate \(FM onto \[prime] and \(!/ onto \[slashnot]; use these 13018 short names in the char definitions. 13019 13020 * ps/tmac.ps: Don't give up completely in compatibility mode. 13021 Fix the fraction definitions to use \n(.s and \(f/. Add an extra 13022 quote in front of \n(.s. Add u to factors inside \s[...]. 13023 13024Mon Mar 11 12:01:20 1991 James Clark (jjc at jclark) 13025 13026 * tty/tmac.tty: Call the nroff request. 13027 13028 * macros/tmac.e ((x, )x): Better definitions that work properly 13029 in a diversion. 13030 (@0, @1): Helper macros for (x. 13031 13032 * macros/tmac.e ($s, hl): Use \l rather than \D. 13033 13034 * tty/tmac.tty: Make it work better in compatibility mode. 13035 (pchar): Rename to tty-char. 13036 13037 * macros/tmac.e (@E): New macro. 13038 (r, i, b, rb, bi): Use @E. 13039 13040 * macros/tmac.e (@F): Don't use (;...) syntax. 13041 13042 * macros/tmac.e: Remove mention of \*(||/revisions. Mention that 13043 it was modified for groff. 13044 13045 * macros/tmac.e: Make sure \n(ps and \n(es are >= \n(.V. 13046 13047 * macros/tmac.e (<., .>): Removed. 13048 ([., .]): If \n(.V>=1v, use [] instead of superscripting. 13049 13050 * macros/tmac.e: Remove check that groff is being used. 13051 13052 * macros/tmac.e (@C): Change families only if using groff; turn 13053 compatibility mode off while changing familes. Save compatibility 13054 mode before changing families and restore it afterwards. 13055 13056 * macros/tmac.e (@h): Remove test for offset + line length. 13057 13058 * macros/tmac.e (sorry): Rename to @S. Use \$1 instead of \$0 13059 (lo, th, ac): Define to call @S instead of using als. 13060 13061 * macros/tmac.e: Make $r and $R now contain \n(.v*100/\n(.sp, ie 13062 the ratio of the vertical spacing to the point size in units 13063 expressed as a percentage. Use these instead of $10r and $10R, 13064 Delete $10r and $10R. 13065 13066 * lib/font.c (font::load): In default computation of space_width, 13067 divide by sizescale. Use scale_round. 13068 13069 * macros/tmac.an (TP): Don't call `nf'. 13070 (an-do-tag): Don't call `fi'. 13071 13072Sun Mar 10 09:52:35 1991 James Clark (jjc at jclark) 13073 13074 * troff/input.c (process_input_stack): Handle the case where 13075 spaces at the beginning of an input line are followed by a 13076 newline. 13077 13078Thu Mar 7 20:18:07 1991 James Clark (jjc at jclark) 13079 13080 * groff.c (device_table): Add PIC_X_OPTION for dvi device. 13081 * groff.sh: Use pic -x with the dvi device. 13082 13083 * dvi/devdvi/FontMakefile (H): Don't use -s. 13084 13085 * dvi/devdvi/HI, dvi/devdvi/HB: New files. 13086 * dvi/devdvi/Makefile: Add HI and HB to FONTS. 13087 * dvi/devdvi/FontMakefile: Add rules for HI and HB. Include these 13088 in FONTS. 13089 13090Mon Mar 4 13:20:14 1991 James Clark (jjc at jclark) 13091 13092 * ps/psfig.diff: New file. 13093 * ps/tmac.psfig: New file. 13094 13095Sat Mar 2 00:15:09 1991 James Clark (jjc at jclark) 13096 13097 * macros/tmac.s (]=, ref*do-tl, ref*bib-print): Deleted. 13098 (]-): Don't call ref*do-tl. 13099 13100 * macros/tmac.s (ref*end-print): Use XP if [F not defined. 13101 13102 * macros/tmac.s (ref*normal-print): Call FS rather than fn@do-FS. 13103 (fn@do-FS): Rename to fn*do-FS. 13104 13105 * troff/input.c (transparent_translate): New function. 13106 (process_input_stack): Apply transparent_translate before calling 13107 diversion::transparent_output(unsigned char). 13108 13109Wed Feb 27 00:13:25 1991 James Clark (jjc at jclark) 13110 13111 * troff/input.c (do_define_macro): Define the macro before calling 13112 skip_line. 13113 13114 * xditview/Makefile: Add DEVICES variable. Change install target 13115 to use this. 13116 13117Tue Feb 26 10:46:22 1991 James Clark (jjc at jclark) 13118 13119 * groff.c (run_commands): Handle the possibility that there are 13120 child processes other than those forked by us. 13121 13122Sun Feb 24 21:32:30 1991 James Clark (jjc at jclark) 13123 13124 * lib/string.c (string::append): New function. 13125 * lib/stringclass.h: Declare it. 13126 13127Thu Feb 21 11:49:26 1991 James Clark (jjc at jclark) 13128 13129 * eqn/main.c (main): New option -N which sets 13130 no_newline_in_delim_flag. 13131 (do_file): If no_newline_in_delim_flag is set don't allow newlines 13132 in delimiters. 13133 * groff.c (main): Pass -N on to eqn. 13134 (help, synopsis): Mention -N. 13135 * groff.sh: Implement -N. 13136 13137Wed Feb 20 15:16:10 1991 James Clark (jjc at jclark) 13138 13139 * macros/tmac.s (]=, ref*bib-print, ref*do-tl): New macros. 13140 (]-): Call ref*do-tl if ref*need-tl is non-zero. 13141 (XP): Allow as initializer. 13142 13143Tue Feb 19 14:09:06 1991 James Clark (jjc at jclark) 13144 13145 * troff/env.c (environment::wrap_up_field): If field_spaces are 13146 non-zero and we have a current_tab, subtract padding from 13147 tab_distance. If this makes tab_distance <= 0, use the next tab 13148 stop instead. If there isn't any next tab or it's a left tab, 13149 wrap up the current tab. 13150 (environment::start_field): Initialize tab_precedes_field. 13151 (environment::wrap_up_tab): If there's a current field, update 13152 pre_field_width, field_distance and tab_precedes_field. 13153 * troff/env.h (environment::tab_precedes_field): New member. 13154 13155Fri Feb 15 01:24:00 1991 James Clark (jjc at jclark) 13156 13157 * ps/ps.c (ps_printer::do_file): New function. 13158 (ps_printer::special): Bind to `file' special. 13159 (ps_printer::do_exec): Set ndefined_styles to 0. 13160 13161Sat Feb 9 03:03:04 1991 James Clark (jjc at jclark) 13162 13163 * eqn/text.c (split_text): Grok \* and similar escapes sequences. 13164 Avoid stripping first character from the start of unrecognized 13165 escapes. Use lex_error instead of error to report errors. 13166 * eqn/lex.c (get_token): Rework handling of escapes. 13167 (lex_error): Move declaration into... 13168 * eqn/eqn.h. 13169 13170 * xditview/xditview.c (main): Make -page option work. 13171 13172 * Makefile: Correct comment about -DBROKEN_SPOOLER and pageview. 13173 13174Wed Feb 6 12:28:43 1991 James Clark (jjc at jclark) 13175 13176 * macros/tmac.s (B2): Correct size of box. 13177 13178Tue Feb 5 00:37:35 1991 James Clark (jjc at jclark) 13179 13180 * macros/tmac.s (B2): Postpone drawing the box until in the 13181 top-level diversion. 13182 13183 * tty/tmac.tty: Add font translations for C, CR, CW. 13184 13185 * groff.c (synopsis, help): Document -i. 13186 * groff.sh: Implement -i. 13187 13188 * macros/tmac.s (@NH): Put a `.' after multi-part numbers. 13189 Simplify the construction of SN. 13190 13191 * troff/number.c (parse_term): Give `|' a higher precedence. 13192 * tbl/table.c (numeric_text_entry::simple_print): Parenthesise 13193 accordingly. 13194 13195 * macros/tmac.s (B2): Use par@finish instead of par@reset. 13196 13197Mon Feb 4 12:36:09 1991 James Clark (jjc at jclark) 13198 13199 * lib/string.c (string::move): New function. 13200 * lib/stringclass.h: Declare it. 13201 13202Sat Feb 2 16:02:16 1991 James Clark (jjc at jclark) 13203 13204 * troff/env.c (distribute_space): Add optional argument 13205 `force_forward'. 13206 (environment::wrap_up_field): Call distribute_space with 13207 `force_forward' argument of 1. 13208 13209Fri Feb 1 19:36:33 1991 James Clark (jjc at jclark) 13210 13211 * lib/string.c, lib/stringclass.h (string::operator+=(char)): 13212 Inline it. Move reallocation into... 13213 (string::grow1): New function. 13214 * pic/Makefile, tbl/Makefile, eqn/Makefile, ps/Makefile: Redo 13215 dependencies to include library header files. 13216 * lib/Makefile: Make string.c and lf.c depend on stringclass.h. 13217 13218Thu Jan 31 15:02:27 1991 James Clark (jjc at jclark) 13219 13220 * macros/tmac.s (@NH): Use the same number registers than -ms does 13221 for the heading level counters. Use the same string that -ms does 13222 for the number for this heading. 13223 13224Wed Jan 30 14:25:40 1991 James Clark (jjc at jclark) 13225 13226 * lib/new.c (operator new): Cast result of malloc to char *. 13227 13228 * troff/input.c (spring_trap, lookup_request): Add assert that nm 13229 is not null. 13230 13231Tue Jan 29 18:08:05 1991 James Clark (jjc at jclark) 13232 13233 * groff.c (main): Support -i. 13234 13235Sun Jan 27 13:23:17 1991 James Clark (jjc at jclark) 13236 13237 * pic/pic.h: Include <osfcn.h>. 13238 13239 * ps/ps.c: Add declaration of mktemp. 13240 13241 * Makefile: Add -DHAVE_UNION_WAIT option for CPPDEFINES. 13242 * groff.c: If HAVE_UNION_WAIT is defined, declare wait()'s 13243 argument as union wait *. 13244 (run_commands): If HAVE_UNION_WAIT is defined cast wait()'s 13245 argument to union wait *. 13246 13247Sat Jan 26 12:04:52 1991 James Clark (jjc at jclark) 13248 13249 * tty/tmac.tty: Add definition of \(co. 13250 13251 * pic/object.c (make_arc): Only increase radius when radius 13252 strictly less than d. 13253 (arc_object::update_bounding_box): May need to add 4.0 to end_quad 13254 more than once. 13255 13256 * troff/env.c (environment::environment(symbol), 13257 environment::environment(const environment *)): Initialize 13258 input_trap_count. 13259 13260Sat Jan 19 08:18:35 1991 James Clark (jjc at jclark) 13261 13262 * tbl/main.c (main): Add exit(0). 13263 13264 * ps/ps.c (ps_printer::~ps_printer): Use fseek instead of rewind. 13265 13266 * pic/main.c (main): 13267 * eqn/main.c (main): 13268 * tbl/main.c (main): 13269 * etc/soelim.c (main): 13270 * driver/printer.c (printer::~printer): 13271 * troff/node.c (real_output_file::~real_output_file, 13272 real_output_file::flush): Check for errors on stdout. 13273 13274 * most files: Add 1991 to copyright notice. 13275 13276 * macros/tmac.s: Don't test \n(.x and \n(.y. 13277 13278 * troff/input.c (token::next): Rename `escape_char' label to 13279 `handle_escape_char' and `normal_char' label to 13280 `handle_normal_char'. 13281 13282Thu Jan 17 15:46:35 1991 James Clark (jjc at jclark) 13283 13284 * groff.c (main, synopsis, help): Support -a option. 13285 * groff.sh: Likewise. Also eliminate Zflag variable by adding -z 13286 to trflags while parsing options. 13287 13288Tue Jan 15 13:07:27 1991 James Clark (jjc at jclark) 13289 13290 * troff/number.c (parse_term): With `m', `M' and `n' scale 13291 indicators, convert scale factor to hunits before scaling. 13292 13293Mon Jan 14 12:39:12 1991 James Clark (jjc at jclark) 13294 13295 * lib/font.c (scale_round): Better test for overflow when n is 13296 negative. 13297 13298Thu Jan 10 11:10:56 1991 James Clark (jjc at jclark) 13299 13300 * tbl/main.c (process_format): Add second argument of type 13301 options*. Change callers. Allow opt->tab_char as well as '\t' 13302 between format items. 13303 13304Mon Jan 7 12:30:18 1991 James Clark (jjc at jclark) 13305 13306 * macros/tmac.an (PD): With no arguments, make sure register PD is 13307 at least \n[.V]. 13308 (TH): Call PD with no argument, instead of setting register PD 13309 directly. 13310 13311Sun Jan 6 11:18:39 1991 James Clark (jjc at jclark) 13312 13313 * Version 1.00 released. 13314 13315Sat Jan 5 08:44:30 1991 James Clark (jjc at jclark) 13316 13317 * ps/tmac.ps, xditview/tmac.X: Add font translation of C to CR. 13318 13319 * dvi/devdvi/DESC: Mount CW instead of CR. 13320 13321 * dvi/tmac.dvi: Add definition of \(tm. 13322 13323 * dvi/devdvi/texsy.map: Add lh, and rh. 13324 * dvi/devdvi/texex.map: Add lt, rt, lb, rb, lk, rk. 13325 * dvi/devdvi/texmi.map: Add *o. Regenerate fonts. 13326 13327 * dvi/devdvi/FontMakefile: Generate H from cmss10. 13328 * dvi/devdvi/Makefile: Install H. 13329 * dvi/devdvi/H: New file. 13330 13331Fri Jan 4 15:04:57 1991 James Clark (jjc at jclark) 13332 13333 * troff/env.c (vertical_spacing): Don't allow vertical spacing to 13334 be 0. 13335 13336Thu Jan 3 13:41:19 1991 James Clark (jjc at jclark) 13337 13338 * macros/tmac.s (@EN): Add \n(.V to the argument to ds@need. 13339 13340 * macros/tmac.pic (PS): Avoid attempting to set negative indent. 13341 13342 * macros/tmac.s (@EN): Handle the case where the equation is empty 13343 but the label is not. 13344 13345Wed Jan 2 10:31:44 1991 James Clark (jjc at jclark) 13346 13347 * troff/groff.h: New warning category WARN_SPACE. 13348 * troff/input.c: Add WARN_SPACE to DEFAULT_WARNING_MASK. Add 13349 WARN_SPACE to warning_table. 13350 (interpolate_macro): Give a warning of type WARN_SPACE if the name 13351 is longer than two characters and is not defined, but the first 13352 two characters do make a defined name. 13353 13354 * PROBLEMS: New file. 13355 13356 * CHANGES: New file. 13357 * README-0.6, README-1.00: Deleted. 13358 13359 * groff.c, groff.sh: Add X75-12 and X100-12 devices. 13360 * xditview/devX75/Makefile: Make devX75-12. 13361 * xditview/devX100/Makefile: Make devX100-12. 13362 13363 * xditview/devX100/eqnchar, xditview/devX75/eqnchar, 13364 dvi/devdvi/eqnchar, ps/devps/eqnchar: Remove use of \R. 13365 13366Tue Jan 1 19:24:01 1991 James Clark (jjc at jclark) 13367 13368 * README-0.7: Rename to README-1.00. 13369 13370 * macros/tmac.pic: New file. 13371 * macros/Makefile (install.nobin): Install tmac.pic. 13372 13373Mon Dec 31 10:40:53 1990 James Clark (jjc at jclark) 13374 13375 * troff/env.c (hyphen_word): Correct the test for whether the 13376 token is a hyphen. Reset npos to 0. 13377 13378 * macros/tmac.s (par@sup-start, par@sup-end): New implementations. 13379 13380Sun Dec 30 15:53:13 1990 James Clark (jjc at jclark) 13381 13382 * macros/tmac.s (ds*common-end): Call par*reset. 13383 (PE): Likewise. 13384 (par@reset-indent): Deleted. 13385 13386 * macros/tmac.s (@IP): Divert the label. 13387 13388Sat Dec 29 14:33:32 1990 James Clark (jjc at jclark) 13389 13390 * xditview/draw.c (setGC): Use a line width of .1m rather than 13391 .04m by default; round rather than truncate value. 13392 13393 * tbl/table.c (class empty_entry): New class. 13394 (empty_entry::empty_entry, empty_entry::line_type): New functions. 13395 (table::add_entry): Represent empty entries by objects of type 13396 empty_entry. 13397 (table_entry::line_type): Return -1. 13398 (table::determine_row_type): Ignore entries with line_type 0. 13399 Treat type -1 as non-lines. 13400 13401Fri Dec 28 15:04:41 1990 James Clark (jjc at jclark) 13402 13403 * ps/devps/textmap, xditview/libXdvi/DviChar.c, tty/devlatin1/R.proto, 13404 macros/tmac.s: Rename \(-d to \(Sd. 13405 13406Thu Dec 27 12:35:47 1990 James Clark (jjc at jclark) 13407 13408 * ps/devps/textmap: Add `sd', `/_' and `3d' characters. 13409 * xditview/libXdvi/DviChar.c: Likewise. 13410 * dvi/devdvi/texsy.map: Add `<<', `>>'. 13411 13412Wed Dec 26 13:33:23 1990 James Clark (jjc at jclark) 13413 13414 * troff/div.c (top_level_diversion::begin_page): Call 13415 init_output() if the_output is 0. 13416 13417Sat Dec 22 12:35:29 1990 James Clark (jjc at jclark) 13418 13419 * troff/input.c: Replace ESCAPE_E by ESCAPE_e and ESCAPE_C by 13420 ESCAPE_c. 13421 (get_copy): Turn \E into ESCAPE_E. 13422 (token::process, asciify): Handle ESCAPE_E. 13423 13424 * macros/tmac.s (ds*common-end, par@reset): Add `.rj 0'. 13425 (RD): New macro. 13426 (DS): Implement `.DS R'. 13427 13428Fri Dec 21 11:41:53 1990 James Clark (jjc at jclark) 13429 13430 * macros/tmac.s (FS): New macro. 13431 13432 * macros/tmac.s (fn@do-FS): Use @LP instead of LP. 13433 13434 * macros/tmac.s (cov*tl-init): Remove after first execution 13435 instead of aliasing to @nop. Call top of page macro explicitly 13436 instead of setting trap; call @init first. Set pg@top as top of 13437 page macro. 13438 (cov*auto-init): Deleted. Set cov*tl-init instead of 13439 cov*auto-init as top of page trap. 13440 (TL, LP): Do a break instead of calling cov*tl-init. 13441 (cov*print): With RP format but no TL, alias FS and FE to @FS and 13442 @FE; in this case also give a warning and always start another 13443 page. No need to set pg@top here. 13444 (cov*tl-init): Rename to cov*first-page-init. 13445 13446 * macros/tmac.s (RP): Do `.pn 0'. 13447 (cov*tl-init): With RP format don't do `.pn 0'. 13448 13449 * macros/tmac.s (pg@cs-top): Set no space mode. 13450 13451 * macros/tmac.s (par@TL, par@AU, par@AI): New macros. 13452 (cov*ab-init): Alias TL, AU and AI to these. 13453 13454Thu Dec 20 10:10:50 1990 James Clark (jjc at jclark) 13455 13456 * macros/tmac.s (@EQ): Move the space before the equation into @EN 13457 (@EN): Do nothing unless \n[dl] is > 0. 13458 13459Tue Dec 18 12:20:47 1990 James Clark (jjc at jclark) 13460 13461 * pic/object.c (ellipse_object::radius): New function. 13462 13463 * VERSION: Change version to 0.7. 13464 13465 * tbl/table.c (block_entry::do_divert): Declare return type as 13466 void. 13467 (block_entry::divert, alphabetic_block_entry::divert): Return 1. 13468 13469Mon Dec 17 12:30:34 1990 James Clark (jjc at jclark) 13470 13471 * troff/column.c: New file. 13472 * troff/Makefile: Corresponding changes. 13473 13474 * troff/hvunits.c (scale(vunits, vunits, vunits)): New function. 13475 Friend of vunits. 13476 13477 * troff/div.c (top_level_diversion::space): If the space causes 13478 the first-page transition and springs a trap, truncate the space 13479 to 0. 13480 13481Fri Dec 14 12:30:02 1990 James Clark (jjc at jclark) 13482 13483 * ps/ps.c (ps_printer::do_import): Add a `clear' after including 13484 the document. 13485 13486 * pic/troff.c (troff_output::line_thickness, 13487 troff_output::set_fill): Do a horizontal motion to compensate for 13488 the width of the \D escape sequence. 13489 13490Thu Dec 13 10:17:14 1990 James Clark (jjc at jclark) 13491 13492 * xditview/tmac.X: Reinstate definition of \(rn, but only for X100 13493 (not X75). 13494 13495 * eqn/sqrt.c (sqrt_box::compute_metrics): Supply missing argument 13496 to printf. 13497 13498 * tbl/table.c (simple_entry::simply_print): Don't declare as pure. 13499 Supply empty definition. 13500 (text_entry::simple_print, simple_text_entry::simple_print): 13501 Delete declarations. 13502 (table::add_entry): Represent empty entries by objects of type 13503 `simple_entry'. 13504 13505Wed Dec 12 08:50:48 1990 James Clark (jjc at jclark) 13506 13507 * troff/Makefile: Remove -DHYPHEN_CONTROL from DEFINES. 13508 13509 * tbl/table.c (left_text_entry::add_tab): New function. 13510 13511 * macros/tmac.s: Make @RT an alias for par@reset. Make RT 13512 initialize like LP. 13513 13514Mon Dec 10 11:19:55 1990 James Clark (jjc at jclark) 13515 13516 * troff/env.c (environment::start_field): Give an error message if 13517 there is no next tab. 13518 13519Sun Dec 9 11:46:40 1990 James Clark (jjc at jclark) 13520 13521 * troff/env.c (hyphenate): Skip initial elements with zero 13522 hyphenation code. 13523 13524 * macros/tmac.s (par@init): Keep VS in points rather than units. 13525 13526Sat Dec 8 23:00:27 1990 James Clark (jjc at jclark) 13527 13528 * pic/main.c (main): Implement `-c' option. 13529 * pic/output.h: Declare make_tpic_output(). 13530 * pic/tex.c (tex_output::set_pen_size): Make it virtual and 13531 protected. 13532 (tpic_output): New class. 13533 (tpic_output::tpic_output, tpic_output::set_pen_size, 13534 tpic_output::command, make_tpic_output): New functions. 13535 13536Fri Dec 7 11:57:41 1990 James Clark (jjc at jclark) 13537 13538 * tbl/main.c (main): Call `.ab' if \n(.g is false. Define TS/TE 13539 if they're not already defined. 13540 * tbl/table.c (init_output): Don't test \n(.g. 13541 13542 * troff/input.c (do_if_request): Delete `g' condition. Recognize 13543 `d', `r' and `c' conditions even in compatibility mode. 13544 13545Tue Dec 4 09:13:47 1990 James Clark (jjc at jclark) 13546 13547 * ps/tmac.ps (ps-bb): Protect against negative numbers in bounding 13548 box. 13549 13550Mon Dec 3 07:18:26 1990 James Clark (jjc at jclark) 13551 13552 * troff/env.h (environment::prev_line_interrupted): New member. 13553 (environment::get_prev_line_interrupted): New function. 13554 * troff/env.c (environment::newline): Set prev_line_interrupted. 13555 (environment::environment(const environment *), 13556 environment::environment(symbol)): Initialize 13557 prev_line_interrupted. 13558 * troff/input.c (process_input_stack): Don't give special 13559 treatment to space and newline at the beginning of the line if the 13560 previous line was interrupted. 13561 13562Sat Dec 1 15:48:37 1990 James Clark (jjc at jclark) 13563 13564 * eqn/eqn.y: Disallow PRIME by itself. 13565 * eqn/lex.c (token_table): Bind `opprime' instead of `prime' to 13566 PRIME. 13567 (def_table): Remove definition of '. Define prime to be `. 13568 13569 * eqn/eqn.y: Split off part of rule `script' into a new rule 13570 `nonsup'. 13571 13572Fri Nov 30 10:23:44 1990 James Clark (jjc at jclark) 13573 13574 * macros/tmac.s ({, }): New string aliases. 13575 13576Thu Nov 29 11:34:40 1990 James Clark (jjc at jclark) 13577 13578 * README-0.7: New file. 13579 13580Wed Nov 28 10:09:57 1990 James Clark (jjc at jclark) 13581 13582 * macros/tmac.s: New file. 13583 * man/groff_ms.man: New file. 13584 * Makefile: Add definition of TMAC_S. Pass TMAC_S in SUBFLAGS. 13585 * Makefile.bd: Similarily. 13586 * man/Makefile: Add groff_ms.n to MAN7PAGES. Replace @TMAC_S@. Add 13587 definition of TMAC_S. 13588 * macros/Makefile: Add definition of TMAC_S. Install tmac.s. 13589 * macros/TODO: New file. 13590 13591Sat Nov 24 20:04:54 1990 James Clark (jjc at jclark) 13592 13593 * troff/env.c (right_justify): New function. 13594 (init_env_requests): Bind this to request "rj". 13595 (center_lines): Set right_justify_lines to 0. If we get a bad 13596 integer, center 1 line. 13597 (environment::environment(symbol), environment::environment(const 13598 environment *)): Initialize right_justify_lines. 13599 (environment::get_right_justify_lines): New function. 13600 (init_env_requests): Bind this to number_register ".rj". 13601 13602 * troff/env.c (environment::choose_breakpoint): Implement 13603 hyphenation_margin and hyphenation_space. 13604 (environment::get_hyphenation_space, 13605 environment::get_hyphenation_margin): New functions. 13606 (init_env_requests): Bind these to .hys and .hym. 13607 (hyphenation_space_request, hyphenation_margin_request): New 13608 functions 13609 (init_env_requests): Bind these to hys and hym. 13610 (environment::environment(symbol), environment::environment(const 13611 environment *)): Initialize hyphenation_margin and 13612 hyphenation_space. 13613 * troff/env.h: Corresponding changes to class environment. 13614 13615Fri Nov 23 09:08:16 1990 James Clark (jjc at jclark) 13616 13617 * troff/div.c (blank_line): Always do a break. 13618 13619 * eqn/box.c (do_text): Turn off escapes while appending text to 13620 string. 13621 13622Thu Nov 22 10:58:59 1990 James Clark (jjc at jclark) 13623 13624 * troff/input.c (while_break_request, while_continue_request): New 13625 functions. 13626 (init_input_requests): Bind these to "break" and "continue". 13627 (while_depth, while_break_flag): New variables. 13628 (while_request): Update while_depth. Break out of loop if 13629 while_break_flag is set. 13630 13631Wed Nov 21 10:54:40 1990 James Clark (jjc at jclark) 13632 13633 * tbl/table.c (init_span_reg): Initialize span_width_reg to \n(.H 13634 rather than 0. 13635 13636Mon Nov 19 00:45:03 1990 James Clark (jjc at jclark) 13637 13638 * Makefile: Include -DBROKEN_SPOOLER by default. Expand comment. 13639 13640 * stringify: New file. 13641 * Makefile (groff.o): Use stringify. 13642 13643 * xditview/tmac.X: Remove definition of \(rn. 13644 * xditview/libXdvi/DviChar.c: Remove radicalex from 13645 Adobe_symbol_map. 13646 13647Sat Nov 17 10:44:58 1990 James Clark (jjc at jclark) 13648 13649 * tbl/table.c (table::add_entry): Allow alphabetic text blocks. 13650 (alphabetic_block_entry::alphabetic_block_entry, 13651 alphabetic_block_entry::divert, alphabetic_block_entry::print): 13652 New functions. 13653 (block_entry::divert): Split off body into ... 13654 (block_entry::do_divert): If the block is alphabetic, subtract 2n 13655 from the line length; also update the span width to dl+2n, and the 13656 alphabetic span width to dl. 13657 13658 * driver/input.c (do_file): While reading argument to D command, 13659 when expanding buffer, multiply szp by sizeof(int) rather than 2 13660 in the argument to memcpy. 13661 13662 * tbl/table.c (compute_span_width): Add 2n rather than 1n to the 13663 width of alphabetic columns. 13664 13665Fri Nov 16 06:34:27 1990 James Clark (jjc at jclark) 13666 13667 * troff/node.c (lookup_family): Supply second argument to lookup. 13668 13669 * troff/dictionary.c (dictionary::lookup): After an unsuccesful 13670 search, return immediately if v is 0. 13671 13672 * pic/troff.c: Define EQN_NO_EXTRA_SPACE_REG. 13673 (troff_output::start_picture): Set this reg. 13674 (troff_output::end_picture): Remove this reg 13675 * eqn/box.c (box::extra_space): Don't produce `\x's if 13676 EQN_NO_EXTRA_SPACE_REG is defined. 13677 13678 * eqn/eqn.y: Allow just a PRIME to be a `simple'. 13679 * eqn/text.c (split_text): Map ' to \(fm when it's the first 13680 character. 13681 13682Thu Nov 15 10:35:06 1990 James Clark (jjc at jclark) 13683 13684 * macros/tmac.e: Use font 3 instead of B in $c. Remove `bd' 13685 requests. 13686 13687 * troff/div.c (top_level_diversion::top_level_diversion): 13688 Initialize page_number to 0. 13689 13690Wed Nov 14 21:41:58 1990 James Clark (jjc at jclark) 13691 13692 * groff/troff (environment::environment(const environment *)): 13693 Initialize name to e->name, rather than "anonymous". 13694 13695Sat Nov 10 01:59:37 1990 James Clark (jjc at jclark) 13696 13697 * xditview/libXdvi/Dvi.c (ShowDvi): If eof is encountered, reset 13698 requested_page. Split middle part into ... 13699 (FindPage): New function. 13700 (SetValues): If we don't yet know the last page, and the requested 13701 page is greater than the current page, call FindPage. 13702 Update the font_map_string before doing this. 13703 13704 * xditview/tmac.X: Add definitions of \(sq, \(ga, \(dg and \(dd. 13705 Translate \(lh and \(rh into left and right double arrows. 13706 13707 * troff/node.c (class hyphen_inhibitor_node): New class. 13708 (hyphen_inhibitor_node::hyphen_inhibitor_node, 13709 hyphen_inhibitor_node::copy, hyphen_inhibitor_node::same, 13710 hyphen_inhibitor_node::type, 13711 hyphen_inhibitor_node::get_hyphenation_type): New functions. 13712 (node::add_discretionary_hyphen): Use hyphen_inhibitor_node rather 13713 than dbreak_node(0, 0) to represent a `\%' at the beginning of a 13714 word. 13715 13716Fri Nov 9 16:05:38 1990 James Clark (jjc at jclark) 13717 13718 * troff/node.h (dummy_node::get_hyphenation_type, 13719 transparent_dummy_node::get_hyphenation_type): Declare them. 13720 * troff/node.c: (dummy_node::get_hyphenation_type, 13721 transparent_dummy_node::get_hyphenation_type): New functions. 13722 13723Wed Nov 7 10:09:06 1990 James Clark (jjc at jclark) 13724 13725 * xditview/libXdvi/draw.c: If M_PI not defined after including 13726 math.h, then define it. 13727 13728 * xditview/Makefile: Add definition of AR. Pass it to the submake 13729 in libXdvi. 13730 * xditview/libXdvi/Makefile: Add definitions of AR and RANLIB. 13731 13732Tue Nov 6 10:14:27 1990 James Clark (jjc at jclark) 13733 13734 * troff/dictionary.h (object_dictionary::alias): Declare return 13735 value as int. 13736 * troff/dictionary.c (object_dictionary::alias): Return non-zero 13737 if the old name was defined. 13738 * troff/input.c (alias_macro): Give a warning if the old name was 13739 not defined. 13740 * troff/reg.c (alias_reg): Likewise. 13741 13742Mon Nov 5 00:31:39 1990 James Clark (jjc at jclark) 13743 13744 * troff/input.c (token::next): Delete implementation of \R. 13745 13746 * macros/Makefile: Strip comments from tmac.e while installing it. 13747 13748 * troff/input.c: New variable `nroff_mode'. 13749 (troff_request, nroff_request): New functions. 13750 (init_input_requests): Bind `troff' and `nroff' to troff_request 13751 and nroff_request. 13752 (do_if_request): Compute results of t and n conditions from 13753 nroff_mode. 13754 13755 * text/text.c (split_text): Fix typo in >=. 13756 13757 * eqn/lex.c: Add definition of `==' to def_table. 13758 13759Fri Nov 2 02:49:09 1990 James Clark (jjc at jclark) 13760 13761 * pic/tex.c (tex_output::start_picture): Change the definitions of 13762 \graph and \graphtemp so that they work properly with Plain TeX. 13763 13764 * pic/tex.c (tex_output::solid_arc): Ensure that the second angle 13765 argument to `ar' is not less than the first. 13766 13767 * pic/pic.y: Allow a comma between elements of the variable list 13768 in the argument to `reset'. 13769 13770 * pic/object.c (arc_object::arc_object): Fix computation of 13771 radius. 13772 13773 * eqn/main.c (main): Add exit(0). 13774 13775Thu Nov 1 02:03:50 1990 James Clark (jjc at jclark) 13776 13777 * troff/div.c (begin_page): Test no_space_mode after doing the 13778 break, but still push the page ejector cookie before doing the 13779 break. Also set the next page number after doing the break. 13780 13781 * xditview/xditview.c (NewFile): Don't set the title and icon name 13782 if this is the first file and its name is `-'. 13783 * groff/groff.c: Define a new device flag XT_OPTION. Set it for 13784 the X75 and X100 devices. 13785 (main): If a device has the XT_OPTION flag set and there's exactly 13786 one file argument, pass the driver -xrm and -title options to set 13787 the icon name and window title to the name of the file. 13788 13789 * troff/env.c (environment_switch): If there was an argument but 13790 it wasn't a valid number or name, then pop an environment but 13791 don't give an error message on underflow. 13792 13793 * troff/number.c (start_number): Correct spelling in error message. 13794 13795 * troff/input.c (token::delimiter): Don't print an error message 13796 if err is false. 13797 13798 * xditview/libXdvi/parse.c (ParseInput): In case 'D', only call 13799 ParseDrawFunction if dw->display_enable is true. 13800 13801Wed Oct 31 05:49:50 1990 James Clark (jjc at jclark) 13802 13803 * pic/pic.y: Parse text positioning like normal attributes, so as 13804 to allow `"text" at 0,0 ljust'. Don't allow `center' as a 13805 positioning attribute. 13806 13807Mon Oct 29 22:50:38 1990 James Clark (jjc at jclark) 13808 13809 * tbl/main.c (process_data): When in state START while reading a 13810 text block, don't change to state MIDDLE if c is a newline. 13811 13812Sun Oct 28 21:59:56 1990 James Clark (jjc at jclark) 13813 13814 * dvi/dvi.c (dvi_printer::begin_page): Rename `i' variable to `j' 13815 so as to avoid shadowing parameter. 13816 13817Wed Oct 24 18:35:39 1990 James Clark (jjc at jclark) 13818 13819 * tbl/table.c (trim_space): Deleted. 13820 (table::add_entry): Don't call trim_space. 13821 13822Mon Oct 22 03:48:39 1990 James Clark (jjc at jclark) 13823 13824 * VERSION: Change version to 0.6. 13825 13826 * troff/number.c (parse_expr): Make == work. 13827 13828Sat Oct 20 11:28:17 1990 James Clark (jjc at jclark) 13829 13830 * man/grog.man: New file. 13831 * man/Makefile: Add grog.n to MAN1PAGES. 13832 * etc/grog.sh: New file. 13833 * etc/Makefile: Install grog.sh as grog. 13834 13835Fri Oct 19 11:17:15 1990 James Clark (jjc at jclark) 13836 13837 * troff/input.c (token::next): Implement \E. 13838 13839Thu Oct 18 11:56:24 1990 James Clark (jjc at jclark) 13840 13841 * xditview/tmac.X: Change font translations to match tmac.ps. 13842 13843 * troff/input.c (non_empty_name_warning): Don't give a warning if 13844 `\{' terminates the name. 13845 13846Tue Oct 16 10:04:23 1990 James Clark (jjc at jclark) 13847 13848 * ps/devps/symbol.diff: New file. 13849 * ps/devps/FontMakefile: Mention symbol.diff. 13850 13851Sun Oct 14 11:46:46 1990 James Clark (jjc at jclark) 13852 13853 * troff/node.c (font_position): Use get_long_name to read the 13854 external_name. 13855 13856 * troff/env.c (environment_switch): If we get a number that's < 0 13857 or >= NENVIRONMENTS, treat it like a name. 13858 Change NENVIRONMENTS to 10. 13859 13860 * troff/groff.h: Remove definition of FONTS_MAX. 13861 * troff/node.h (class font_family): Make map a pointer instead of 13862 an array. Add a map_size member. Make it a class. Make nm const 13863 and public. Make invalidate_fontno a friend. 13864 * troff/node.c: Define font_table_size. Make font_info a pointer 13865 rather than an array. 13866 (class troff_output_file): Allocate font_position dynamically. Add 13867 nfont_positions member. 13868 (troff_output_file::set_font): Grow font_position if necessary. 13869 (troff_output_file::~troff_output_file): Delete font_position. 13870 (troff_output_file::troff_output_file): Allocate font_position. 13871 (grow_font_table): New function. 13872 (troff_output_file::really_begin_page, 13873 troff_output_file:really_copy_page): Use nfont_positions rather 13874 than FONTS_MAX. 13875 (mount_font_no_translate, mount_style): Call grow_font_table if 13876 necessary. 13877 (font_family::font_family): Allocate map. 13878 (font_family::make_definite): Grow map if necessary. Use 13879 font_table_size instead of FONTS_MAX. 13880 (font_family::~font_family): New function. 13881 (invalidate_fontno): Use font_family::map_size. 13882 (get_fontno, env_space_width, env_half_narrow_space_width, 13883 env_narrow_space_width, symbol_fotno, is_good_fontno, 13884 get_bold_fontno, make_glyph_node): Use font_table_size rather than 13885 FONTS_MAX. 13886 (next_available_font_position): Never return 0. 13887 13888Fri Oct 12 10:17:52 1990 James Clark (jjc at jclark) 13889 13890 * ps/tmac.ps: Add font translations for compatibility with dpost. 13891 13892Thu Oct 11 12:09:03 1990 James Clark (jjc at jclark) 13893 13894 * eqn/pile.c: Rename default_baseline_sep to baseline_sep. 13895 Move BASELINE_SEP_FORMAT and COLUMN_WIDTH_FORMAT into pbox.h. 13896 Move definitions baseline_sep, shift_down, column_sep, 13897 matrix_side_sep into... 13898 * eqn/box.c: Add them to param_table. 13899 * eqn/pbox.h: Add declarations to pbox.h. 13900 13901 * troff/input.c (set_string): Cast value to unsigned char *. 13902 13903 * troff/token.h (process_input_stack): Declare it static before 13904 declaring it a friend. 13905 13906Wed Oct 10 09:59:13 1990 James Clark (jjc at jclark) 13907 13908 * dvi/devdvi/texex.map: Fix positions of extensible brace middle 13909 and bottom. 13910 * dvi/devdvi/EX: Regenerate. 13911 13912 * troff/input.c (init_charset_table): Make ", ', ), ], *, \(dg 13913 transparent. 13914 13915Tue Oct 9 08:34:02 1990 James Clark (jjc at jclark) 13916 13917 * eqn/lex.c: In defaults_table, make definition of `dot' call 13918 `dot_def'. Don't explicitly make it roman. Similarily for other 13919 accents. 13920 13921 * pic/lex.c (for_input::for_input): Add by_is_multiplicative 13922 argument. 13923 (for_input::get, for_input::peek): Use this. 13924 (do_for): Add by_is_multiplicative argument. 13925 * pic/pic.y: Change optional_by clause to allow '*' after `by'. 13926 Change semantic value of optional_by to be a double plus a flag 13927 saying whethet the by clause is multiplicative. 13928 13929 * eqn/lex.c (get_delimited_text): Remember location of start of 13930 definition. Improve error handling when EOF is encountered. 13931 13932 * lib/font.h: Rename handle_x_command to 13933 handle_unknown_font_command. 13934 * lib/font.c (font::load): Call handle_unknown_font_command for 13935 any unknown command in the font description file. Don't call 13936 handle_x_command. Include the name of the command in the argv. 13937 Improve message for unknown command after kernpairs or charset 13938 command. 13939 * ps/ps.c (ps_font::handle_x_command): Rename to 13940 handle_unknown_font_command. Remove message about `x download' 13941 command. Give error message for wrong number of arguments. 13942 * ps/devps/afmtodit: Generate `encoding' instead of `x encoding'. 13943 * dvi/dvi.c (dvi_font::handle_x_command): Rename to 13944 handle_unknown_font_command. Give an error message for wrong 13945 number of arguments. Rename design_size to designsize. 13946 * dvi/tfmtodit.c (main): Generate `checksum' instead of `x 13947 checksum', `designsize' instead of `design_size'. 13948 13949Mon Oct 8 00:38:55 1990 James Clark (jjc at jclark) 13950 13951 * eqn/*.[chy]: Change underaccent to uaccent. 13952 13953 * eqn/eqn.y: Add rule for underaccent. Declare UNDERACCENT token; 13954 give it the same precedence as ACCENT. 13955 * eqn/other.c (make_underaccent_box): New function. 13956 * eqn/box.h: Declare it. 13957 * eqn/lex.c: Add UNDERACCENT to token_table. Add utilde to 13958 def_table. 13959 13960Sun Oct 7 11:25:16 1990 James Clark (jjc at jclark) 13961 13962 * pic/pic.y (reset_all): New function. Called in rule for RESET. 13963 (parse_init): Call reset_all. 13964 (define_variable): When defining scale reset only those 13965 pre-defined variables that are scaled. 13966 (defaults_table): Add `scale' as non-scaled value. 13967 13968 * pic/pic.y: Redo parsing of text adjustments: parse adjustments 13969 together with the text; allow any number of positioning words; 13970 allow center as a positioning word. 13971 13972 * pic/object.c (output::compute_scale): Get picture maximum height 13973 and width from variables called maxpswid and maxpsht. 13974 * pic/pic.y: Add maxpswid and maxpsht to defaults_table. 13975 13976Sat Oct 6 10:16:56 1990 James Clark (jjc at jclark) 13977 13978 * pic/object.c (object_spec::make_text): Multiply textht by number 13979 of text items. 13980 13981 * pic/pic.y: Allow `sprintf("string", expr,...)' wherever text can 13982 occur. 13983 (do_sprintf): New function. 13984 (pic.gperf): Add sprintf token. 13985 (text, sprintf): New rules. 13986 13987 * pic/pic.y: `rand()' with no arguments returns a random number 13988 in the range [0,1). 13989 13990 * pic/pic.y: Allow a bare expression to be an attribute: change 13991 precedences to support this. Change optional_ordinal rule to 13992 optional_ordinal_last to avoid reduce/reduce conflict. 13993 * pic/object.c (object_spec::object_spec): Initialize direction. 13994 13995 * pic/pic.y: Implement ^ operator meaning exponentiation. 13996 13997 * troff/node.h: Add default argument to mount_font. 13998 * troff/node.c (font_position): Read an optional third argument 13999 giving the external_name. 14000 (mount_font): Add optional argument giving the external_name. 14001 (mount_font_not_translate): Have additional argument giving 14002 external name. Use this name to load the font. Pass both names 14003 to font_info::font_info. 14004 (font_info::font_info): Have additional argument giving 14005 external_name. 14006 (class tfont): New member external_name. 14007 (font_info::get_tfont): Use external name to construct tfont_spec. 14008 14009Fri Oct 5 04:03:13 1990 James Clark (jjc at jclark) 14010 14011 * eqn/lex.c (init_table): Add argument giving device. Define 14012 name of device to be "1". 14013 (do_ifdef): Counts as true if the argument has been defined with 14014 `define'. 14015 * eqn/main.c (main): Call init_table with device argument. Make 14016 device local to main. 14017 * eqn/eqn.h: Change declaration of init_table. Remove declaration 14018 of device. 14019 14020 * pic/lex.c (get_delimited): Allow text to be delimited by 14021 matching {}s. Don't recognize ending delimiter within a string. 14022 14023 * troff/input.c (get_delim_name): New function. 14024 (token::next): Implement \C. 14025 14026 * lib/font.c (font::load): Grok ---. Add an alias for each 14027 character based on its code. 14028 (font::get_code_width): Deleted. 14029 * lib/font.h (class font): Declare font::number_to_index(). 14030 Remove declaration of font::get_code_width. 14031 * lib/nametoindex.c (font::name_to_index): Add 512 rather than 256 14032 to indices of named characters. 14033 (font::number_to_index): New function. 14034 * troff/input.c (font::number_to_index): New function. 14035 (get_charinfo_by_number, charinfo::get_number, 14036 charinfo::set_number): New functions. 14037 (token::next): Turn \N into a TOKEN_NUMBERED_CHAR. 14038 (token::process, token::description, token::get_char, 14039 token::add_to_node_list, token::operator==): Handle 14040 TOKEN_NUMBERED_CHAR. 14041 * troff/charinfo.h: Declare get_charinfo_by_number, 14042 charinfo::get_number, charinfo::set_number. Add NUMBERED flag to 14043 charinfo class. 14044 (charinfo::numbered): New function. 14045 * troff/token.h: Add TOKEN_NUMBERED_CHAR. 14046 * troff/env.h (class environment): Remove declaration of ... 14047 * troff/env.c (environment::make_numbered_char_node): Deleted. 14048 * troff/node.c (make_numbered_node): Deleted. 14049 (class numbered_glyph_node): Remove. 14050 (troff_output_file::put_char_width, troff_output_file::put_char): 14051 Handle numbered chars. 14052 (troff_output_file::numbered_char): Removed. 14053 (tfont::get_code_width): Removed. 14054 (make_glyph_node): Don't search special fonts for numbered 14055 characters. 14056 * troff/node.h: Remove declaration of make_numbered_node. 14057 * driver/input.c (do_file): Handle N command. 14058 * driver/printer.h: Add declaration of ... 14059 * driver/printer.c (printer::set_numbered_char): New function. 14060 * dvi/tfmtodit.c (main): Generate unnamed entries. 14061 * ps/devps/afmtodit: Likewise. 14062 * xditview/xtotroff.c (MapFont): Likewise. 14063 * xditview/libXdvi/parse.c (ParseInput): Grok N command. 14064 14065 * tbl/main.c (process_format): If multiple widths are specified 14066 for a column but all the widths are the same, don't give an error 14067 message. 14068 14069 * tbl/table.c (table::do_row): If the current row is all lines and 14070 the stuff doesn't contains a line, mark the top of the row after 14071 printing stuff before the row. If the current row is not all 14072 lines and the stuff doesn't contain a line, don't unnecessarily 14073 mark the top of the row before printing the stuff. 14074 14075Mon Oct 1 11:42:00 1990 James Clark (jjc at jclark) 14076 14077 * troff/groff.h: Remove MAX_PATH. 14078 * troff/input.c (open_file): Dynamically allocate space for the 14079 path. 14080 (open_mac_file, process_macro_file): Corresponding changes. 14081 14082Sun Sep 23 18:56:26 1990 James Clark (jjc at jclark) 14083 14084 * troff/node.h (class output_file): Make copy_file pure. Add 14085 vspace method ifdef COLUMN. Add is_printing method. 14086 * troff/node.c: Add class printing_reg. Add class 14087 real_output_file. Derive other output_file classes from 14088 real_output_file; in these classes rename begin_page to 14089 really_begin_page, print_line to really_print_line, copy_file to 14090 really_copy_file, transparent_char to really_transparent_char. 14091 Move output_file::flush to real_output_file. Add printing member 14092 to class output_file. 14093 * troff/div.h: Remove printing member from top_level_diversion. 14094 Add vspace member function to class diversion ifdef COLUMN. Add 14095 some declarations ifdef COLUMN. 14096 * troff/div.c (top_level_diversion::copy_file, 14097 top_level_diversion::transparent_output, 14098 top_level_diversion::output): Don't test printing member before 14099 output. 14100 * troff/input.c: Handle initial variable_space_request ifdef 14101 COLUMN. 14102 * troff/Makefile: Add column.c but comment it out. Add -DCOLUMN 14103 but comment it out. 14104 14105Sat Sep 22 11:32:22 1990 James Clark (jjc at jclark) 14106 14107 * troff/div.c (diversion::need): Make any space forced. If we 14108 sprung a trap, set truncated_space to minus the distance to the 14109 trap and set needed_space to the amount that was needed. 14110 (top_level_diversion::space): A forced space turns no_space_mode 14111 off. 14112 (class constant_vunits_reg): New class. 14113 (init_div_requests): Implement number registers .trunc and .ne 14114 using constant_vunits_reg. 14115 (class truncated_space_reg): Deleted. 14116 14117 * troff/div.h: Don't have a no_space_mode member in diversion. 14118 Instead have it in top_level_diversion. 14119 * troff/div.c (diversion::diversion): Don't initialize 14120 no_space_mode. 14121 (top_level_diversion::top_level_diversion): Initialize 14122 no_space_mode. 14123 (no_space, restore_spacing): Do nothing if curdiv != topdiv. 14124 (macro_diversion::output): Don't clear no_space_mode. 14125 14126 * troff/input.c (diverted_space_node::reread): Don't call 14127 environment::do_break. In fill mode, act like a blank line. 14128 (diverted_copy_file_node::reread): Don't call 14129 environment::do_break. 14130 14131 * troff/div.c (blank_line): New function. 14132 * troff/div.h: Declare it. 14133 * troff/input.c (process_input_stack): Call it. 14134 14135 * troff/div.c (truncated_space_reg::get_string): New function. 14136 (init_div_requests): Bind to .trunc. 14137 (space_request, top_level_diversion::space, 14138 top_level_diversion::output, macro_diversion::space, 14139 macro_diversion::output): Update truncated_space. 14140 (macro_diversion::output): Redo calculations when trap sprung. 14141 (macro_diversion::output, macro_diversion::space): No need for 14142 trap_flag. 14143 14144 * troff/div.c (top_level_diversion::output): Set nl_reg_contents 14145 after truncating post line spacing. 14146 14147Fri Sep 21 11:27:25 1990 James Clark (jjc at jclark) 14148 14149 * ps/devps/prologue (MF, SF): Make them work even if setfont is 14150 defined as a procedure rather than as an operator. 14151 14152Thu Sep 20 12:55:05 1990 James Clark (jjc at jclark) 14153 14154 * troff/div.c (macro_diversion::space): Ignore no_space_mode. 14155 14156Wed Sep 19 10:54:37 1990 James Clark (jjc at jclark) 14157 14158 * troff/div.c (top_level_diversion::output): Merge 14159 output_file::print_line and output_file::end_of_line member 14160 functions. 14161 * troff/div.h (class output_file): 14162 * troff/node.c (troff_output_file::print_line, 14163 troff_output_file::end_of_line, output_file::end_of_line, 14164 ascii_output_file::print_line, suppress_output_file::print_line): 14165 Corresponding changes. 14166 14167Tue Sep 18 11:31:47 1990 James Clark (jjc at jclark) 14168 14169 * troff/input.c (token::next): Don't give a warning for `\.'. 14170 14171 * troff/env.c (environment::get_center_lines): New function. 14172 (init_env_requests): Bind number register .ce to it. 14173 * troff/env.h: Declare it. 14174 * tbl/table.c (table::init_output): Define reset macro to restore 14175 .ce. If center option not given, store .ce in SAVED_CENTER_REG. 14176 Then do .ce 0. 14177 (table::print): If center option not given, then imply center 14178 option if SAVED_CENTER_REG > 0. 14179 14180Mon Sep 17 09:19:19 1990 James Clark (jjc at jclark) 14181 14182 * ps/devps/Makefile: Remove T from FONTS. Remove TSymbol.ps and 14183 Troff.ps from DOWNLOAD. 14184 14185 * troff/Makefile: Change comment in DEFINES to avoid confusing 14186 System V make. 14187 14188 * ps/ps.c (ps_printer::do_exec): Allow newlines within PostScript 14189 code. Don't try to catch errors with stopped. 14190 (check_line_lengths): New function. 14191 * ps/devps/prologue (EXEC): Deleted. 14192 (EBEGIN, EEND): New procedures. 14193 14194Sun Sep 16 14:51:15 1990 James Clark (jjc at jclark) 14195 14196 * troff/input.c: Include request.h before node.h. 14197 * troff/node.c: Likewise. 14198 * troff/env.c: Likewise. 14199 * troff/div.c: Likewise. 14200 * troff/node.h (class special_node): Store argument as a macro 14201 rather than a char *. 14202 * troff/node.c (special_node::special_node, special_node::copy): 14203 Grok this. 14204 (special_node::~special_node): Deleted. 14205 (special_node::tprint): Deleted. 14206 (special_node::tprint_start, special_node::tprint_end, 14207 special_node::tprint_char): New functions. 14208 (troff_output_file::special): Deleted. 14209 (troff_output_file::start_special, troff_output_file::end_special, 14210 troff_output_file::special_char): New functions. 14211 * troff/input.c (special_node::tprint): New function. 14212 (do_special): Use macro not char *. 14213 (do_transparent_macro): Deleted. 14214 (token::next): Don't call do_transparent_macro. 14215 14216 * troff/input.c (token::next): Add 'Y' case. 14217 (do_transparent_macro): New function. 14218 * troff/node.c (troff_output_file::special): Handle newlines with 14219 argument using new continuation convention. 14220 * driver/input.c (get_string): Cope with continuation convention. 14221 (do_file): Don't call skip_line after calling get_string(1). 14222 * ps/ps.c (ps_printer::special, ps_printer::do_import, 14223 ps_printer::do_def, ps_printer::do_exec): Cope with newlines in 14224 arg. 14225 * xditview/libXdvi/parse.c (ParseInput): Ignore lines starting 14226 with +. 14227 14228Sat Sep 15 19:00:10 1990 James Clark (jjc at jclark) 14229 14230 * troff/input.c (asciify): By default, illegal input characters 14231 should return empty string. 14232 14233 * troff/input.c (copy_file): Handle first page transition like title. 14234 (token::next, process_input_stack): Grok COPY_FILE_REQUEST. 14235 14236 * troff/input.c (token::next): Improve error message for EOF after 14237 escape character. 14238 (input_char_description): New function. 14239 (get_char_for_escape_name): Use input_char_description. 14240 (token::next): Warn about unrecognized escape sequences. 14241 (warning_table): Add WARN_ESCAPE. 14242 * troff/groff.h: Declare WARN_ESCAPE. Change WARN_TOTAL 14243 accordingly. 14244 14245 * troff/token.h: Remove declaration of process_input_stack. 14246 14247 * troff/input.c: Remove declaration of init_hyphen_requests. 14248 * troff/request.h: Correct spelling in declaration of same. 14249 14250 * troff/input.c (token::next): Check whether escape_char is 0. 14251 14252Fri Sep 14 12:09:25 1990 James Clark (jjc at jclark) 14253 14254 * groff.c (main, usage, help): Implement -P and -L options. 14255 * groff.sh: Likewise. 14256 14257 * troff/input.c (token::next): Use some gotos to avoid code 14258 duplication. 14259 14260 * troff/input.c (get_long_name, get_name, read_long_ecsape_name): 14261 Avoid calling symbol::symbol if name empty. 14262 14263Thu Sep 13 06:21:45 1990 James Clark (jjc at jclark) 14264 14265 * troff/input.c (init_input_requests): Make \n(.x return the major 14266 version number and \n(.y return the minor version number. 14267 * troff/Makefile: Construct file majorminor.c defining 14268 major_version and minor_version automatically from ../VERSION. 14269 14270 * troff/node.c (class glyph_node): Make operator new and operator 14271 delete public. 14272 (class ligature_node): Similarily. 14273 14274 * troff/input.c (operator==(const macro &, const macro &)): New 14275 function. 14276 (non_interpreted_node::same): Use this. 14277 (string_iterator::string_iterator): Make macro& argument const. 14278 14279 * troff/input.c (input_iterator::get): New function. Don't make 14280 asciify_macro or class non_interpreted_node friends of class 14281 input_iterator. 14282 (non_interpreted_node::interpret): Use input_iterator::get. 14283 (asciify_macro): Likewise. 14284 14285 * troff/input.c (~token_node, ~string_iterator, ~arg_list, 14286 ~non_interpreted_node): Deleted. 14287 * troff/node.c: (~suppress_output_file, ~ascii_output_file): 14288 Deleted. 14289 14290 * troff/symbol.h: Make all symbol member functions const. 14291 14292 * lib/strtol.c: New file. 14293 * lib/Makefile: Add strtol.c. 14294 * Makefile: Define STRTOL as strtol.o to include strtol in 14295 libgroff.a. 14296 14297Wed Sep 12 10:00:49 1990 James Clark (jjc at jclark) 14298 14299 * pic/troff.c (troff_output::simple_circle): Divide by scale. 14300 14301Tue Sep 11 14:17:16 1990 James Clark (jjc at jclark) 14302 14303 * troff/input.c (do_special): Use input_level. 14304 14305 * troff/token.h (TOKEN_BACKSPACE): New token. 14306 (token::backspace): New function. 14307 * troff/input.c (token::description, token::next, token::process): 14308 Grok TOKEN_BACKSPACE. 14309 (do_special): Turn TOKEN_BACKSPACE back into \b. 14310 14311 * troff/token.h (token::leader): New function. 14312 * troff/input.c (do_special): Turn TOKEN_LEADER back into \001. 14313 14314 * troff/input.c (do_special): Turn TOKEN_TAB back into \t. 14315 14316 * troff/input.c (do_special): Use token::description in error 14317 message. 14318 14319Mon Sep 10 11:06:27 1990 James Clark (jjc at jclark) 14320 14321 * troff/input.c (decode_args): Combine quoted and 14322 quote_input_level variables. Make it a for (;;) loop. 14323 14324 * troff/input.c (get_char_for_escape_name): Check for \001 and \b. 14325 14326 * troff/input.c (read_long_escape_name): The test for whether to 14327 expand buffer was off by 1. 14328 (read_string): Similarily. 14329 14330Fri Sep 7 11:45:50 1990 James Clark (jjc at jclark) 14331 14332 * troff/input.c: Use `const int' rather than `static const int'. 14333 14334 * troff/div.h (diversion::copy_file): Declare as pure virtual. 14335 (macro_diversion::copy_file): New function. 14336 * troff/node.h: New class diverted_copy_file_node. 14337 * troff/node.c: Implement it. 14338 * troff/input.c (copy_file): Use diversion::copy_file. Handle 14339 first page transition by pushing a diverted_copy_file_node. 14340 * troff/input.c (token::next, process_input_stack): Don't handle 14341 COPY_FILE_REQUEST. 14342 14343Thu Sep 6 13:29:10 1990 James Clark (jjc at jclark) 14344 14345 * ps/ps.c (flush_sbuf): Remember to add sbuf_kern when checking 14346 whether space widths need adjusting. 14347 14348 * troff/charinfo.h: Generalize translated_to_space to 14349 special_translation so as to allow translation to \&. 14350 * troff/input.c (translate): Allow translation to \&. 14351 (charinfo::*): Corresponding changes. 14352 * troff/node.c (make_node, node::add_char): Corresponding changes. 14353 * troff/node.h (dummy_node::dummy_node): Allow optional first 14354 argument. 14355 14356 * lib/lib.h: Make codes 0200 to 0237 illegal input characters. 14357 * troff/token.h: Remove TOKEN_TITLE. Remove token::title. Add 14358 TOKEN_REQUEST. 14359 * troff/input.c (token::next): Turn a TITLE_REQUEST into a 14360 TOKEN_REQUEST with an argument of TITLE_REQUEST. 14361 (token::process): Grok that. 14362 * troff/input.c (copy_file): Handle first page transition like 14363 title by pushing a COPY_FILE_REQUEST cookie. 14364 (token::next, process_input_stack): Grok that. 14365 * troff/node.h (output_file::copy_file): Add x and y arguments. 14366 Make it non-pure. 14367 * troff/div.c (top_level_diversion::copy_file): Supply them. 14368 * troff/node.c (troff_output_file::copy_file): Add x and y 14369 arguments; moveto specified position. Invalidate font_position 14370 array after copying file. 14371 (output_file::copy_file): New function. 14372 (suppressed_output_file::copy_file, ascii_output::copy_file): 14373 Removed. 14374 * troff/input.c (transparent_file): New function. 14375 (init_input_requests): Bind to "trf". 14376 (token::next): Handle TRANSPARENT_FILE_REQUEST cookie. 14377 (process_input_stack): Likewise. 14378 14379 * troff/Makefile: Add ../lib/lib.h to GROFF_H. 14380 14381 * troff/node.c (init_node_requests): New number registers .kern 14382 pointing to global_kern_mode, and .lg pointing to 14383 global_ligature_mode. 14384 14385 * troff/node.c (ligature): Don't change it if we get a bad 14386 integer. 14387 14388 * troff/input.c (do_define_string): Don't strip tabs. 14389 14390 * troff/input.c (asciify_macro): Make the string_iterator auto. 14391 14392 * troff/node.c (init_font_requests): Rename to... 14393 (init_node_requests): 14394 * troff/node.h: Change declaration. 14395 * troff/input.c (main): Change call. 14396 14397 * troff/input.c (node::reread, diverted_space_node::reread): New 14398 methods. 14399 (process_input_stack): Call reread rather than 14400 get_diverted_space_node. 14401 * troff/node.c (node::get_diverted_space_node, 14402 diverted_space_node::get_diverted_space_node): Removed. 14403 * troff/node.h: Declare reread methods instead of 14404 get_diverted_space_node methods. Make `n' member private. 14405 * troff/input.c: (token::diverted_space): Removed. 14406 * troff/token.h: Removed declaration. 14407 14408 14409Tue Sep 4 00:48:04 1990 James Clark (jjc at jclark) 14410 14411 * eqn/script.c (script_box::compute_metrics): Don't let 14412 SUP_RAISE_FORMAT become negative. 14413 14414 * tbl/table.c (table::do_row): Entries that don't end in the 14415 this row shouldn't make the row non-blank. 14416 14417 * tbl/table.c (table::make_columns_equal): Only set the width of 14418 columns which are marked as equal. 14419 14420 * tbl/main.c (process_data): Before issuing excess data error, 14421 if last character was a newline unget it; then get it again after 14422 the error. Also include the contents of the entry in the message. 14423 14424 * groff.c: New file. 14425 * Makefile: Build groff from groff.c. Make it possible to use 14426 either groff.sh or groff.c as groff. 14427 * Makefile.bd: Similarily. 14428 14429Mon Sep 3 09:39:49 1990 James Clark (jjc at jclark) 14430 14431 * groff.sh: Don't delay expansion of $@ in assignment to files. 14432 Remove occurrences of \". 14433 14434Sun Sep 2 09:56:59 1990 James Clark (jjc at jclark) 14435 14436 * all Makefiles: Simplify and rearrange. 14437 14438 * Makefile: Handle fmod like malloc. 14439 * lib/Makefile: Similarily. 14440 * lib/fmod.c: Remove #ifdef NEED_FMOD. 14441 14442 * Makefile: Rename OPTIMISE to OPTIMIZE. 14443 14444 * groff.sh: Remove assignment to PATH. 14445 * Makefile: Remove SHPATH variable. 14446 * Makefile.bd: Similarily. 14447 14448 * groff.sh: Add -V option to print the pipeline instead of 14449 executing it. 14450 14451Fri Aug 31 00:56:46 1990 James Clark (jjc at jclark) 14452 14453 * lib/font.c: Split off file searching into ... 14454 * lib/fontfile.c: New file. 14455 14456 * lib/strerror.c (strerror): Use `Error %d' for unknown errors. 14457 14458Thu Aug 30 13:13:55 1990 James Clark (jjc at jclark) 14459 14460 * tbl/table.c (table::do_hspan): Delete assertion that e != 0. 14461 Also change misleading comment. 14462 (table::do_vspan): Change similarily misleading comment. 14463 * tbl/main.c (process_data): A format row with an explicit `s' 14464 uses up a data line, even if all the other columns are `_' or `='. 14465 14466 * troff/input.c (token::description): Fix description of 14467 TOKEN_DUMMY and TOKEN_EMPTY. 14468 14469Wed Aug 29 04:12:08 1990 James Clark (jjc at jclark) 14470 14471 * groff.sh: Fix description of -Z in help message. 14472 14473Tue Aug 28 07:28:33 1990 James Clark (jjc at jclark) 14474 14475 * pic/object.c (object_spec::make_object): Allow negative and zero 14476 line thicknesses. 14477 * pic/pic.y: Give linethick default value of -1.0. 14478 * pic/troff.c (troff_output::troff_output): Initialize 14479 last_line_thickness to BAD_THICKNESS. 14480 (troff_output::finish_picture): Set thickness to BAD_THICKNESS. 14481 (troff_output::line_thickness): Canonicalize negative thicknesses 14482 to RELATIVE_THICKNESS. 14483 * pic/tex.c (tex_output::set_pen_size): Silently map negative line 14484 thicknesses to DEFAULT_PEN_SIZE. Canonicalize negative pen sizes 14485 to -1.0. 14486 (tex_output::start_picture): Set pen_size to -2.0. 14487 14488 * ps/ps.c (ps_printer::set_line_thickness): If line_thickness is 14489 0, then use 0 linewidth. 14490 (ps_printer::ps_printer): Initialize line_thickness to -1. 14491 14492 * pic/troff.c (troff_output::simple_ellipse): Divide by scale. 14493 14494 * ps/devps/symbolchars: Remove `or'. 14495 * ps/tmac.ps: Implement \(or with .char. 14496 14497 * ps/devps/symbolchars: Move most characters into textmap. 14498 * ps/devps/textmap: Add names for troff bracket characters. Remove 14499 ul, ru, br, bv. 14500 14501 * ps/devps/TSymbol.ps: Removed. 14502 * ps/devps/FontMakefile: Make S from Symbol not TSymbol. 14503 * ps/tmac.ps: Do with .char what TSymbol did. 14504 * ps/devps/download: Remove TSymbol. 14505 14506 * ps/devps/T: Removed. 14507 * ps/devps/Troff.ps: Removed. 14508 * ps/devps/Troff.afm: Removed. 14509 * ps/tmac.ps: Implement \(ru, \(ul, and \(br with .char. 14510 * ps/devps/download: Remove Troff. 14511 * ps/devps/FontMakefile: Remove T target. 14512 * ps/devps/DESC-A4: Remove T from font list. 14513 * ps/devps/DESC-letter: Likewise. 14514 14515 * troff/input.c (macro_to_node): Rename to ... 14516 (charinfo_to_node): Don't pass mac argument. Temporarily remove the 14517 character's definition while processing it. 14518 * troff/node.c (node::add_char, make_node): Change calls to 14519 macro_to_node accordingly. 14520 14521 * troff/input.c (token::next): Translate \_ to \(ul. 14522 14523 * tty/devascii/R.proto: Add `|'. 14524 * tty/devlatin1/R.proto: Likewise. 14525 14526Mon Aug 27 11:25:41 1990 James Clark (jjc at jclark) 14527 14528 * man: Put the version number in all the man pages. 14529 14530Sun Aug 26 11:40:05 1990 James Clark (jjc at jclark) 14531 14532 * Makefile.bd: New file. 14533 * README.bd: New file. 14534 14535 * VERSION: New file. 14536 * lib/version.c: Removed. 14537 * lib/Makefile: Create version.c from ../VERSION. Remove version.c 14538 in clean target. 14539 14540 * troff/input.c (main): Get hyphen_file from GROFF_HYPHEN 14541 environment variable. 14542 14543 * all Makefiles: Split install target into install.bin for 14544 binaries, and install.nobin for everything else. 14545 * Makefile: Add bindist target. 14546 14547 * man/afmtodit.man: New file. 14548 * man/Makefile: Add afmtodit.n to MAN1PAGES. 14549 * ps/devps/Makefile: Add textmap to DEVICEFILES. Install afmtodit 14550 in BINDIR. 14551 * ps/Makefile: Pass BINDIR to make install in devps. 14552 14553 * ps/ps.c (ps_printer::set_char): Do nothing if the character is 14554 the space character. 14555 14556 * ps/devps/FontMakefile: Rename symbol.afm to tsymbol.afm. 14557 14558Sat Aug 25 15:39:03 1990 James Clark (jjc at jclark) 14559 14560 * ps/ps.c: Redo font downloading. 14561 * ps/devps/download: New file. 14562 * ps/devps/Makefile: Add download to DEVICEFILES. 14563 * ps/devps/afmtodit: Remove -d option. 14564 * ps/devps/FontMakefile: Don't use -d option with afmtodit. 14565 * ps/devps/symbosl.ps: Add %%DocumentFonts comment. 14566 * ps/devps/zapfdr.ps: Likewise. 14567 * ps/devps/TSymbol.ps: Likewise. 14568 14569Fri Aug 24 20:10:30 1990 James Clark (jjc at jclark) 14570 14571 * groff.sh: Initialize dev to ${GROFF_TYPESETTER:-@DEVICE@}. 14572 14573Thu Aug 23 10:03:47 1990 James Clark (jjc at yquem) 14574 14575 * ps/ps.c (ps_output::include_file): If BROKEN_SPOOLER is defined, 14576 then strip the first line if it starts with %. 14577 * Makefile: Add a comment about this. 14578 14579 * man/tfmtodit.man: New file. 14580 * man/Makefile: Add tfmtodit.n to MAN1PAGES. 14581 * dvi/Makefile: Install tfmtodit in BINDIR. 14582 14583 * dvi/tfmtodit.c (usage): Mention -v option. 14584 14585Wed Aug 22 09:56:36 1990 James Clark (jjc at yquem) 14586 14587 * troff/node.c (troff_output_file::end_of_line): Call do_motion. 14588 * troff/node.c (troff_output_file::transparent_char): Don't call 14589 flush_tbuf. 14590 14591 * eqn: Add check_tabs method to most box classes. 14592 * eqn/box.c (box::top_level): Call check_tabs. 14593 14594 * eqn/script.c (script_box::output): Use \Z. 14595 * eqn/limit.c (limit_box::output): Use \Z. 14596 14597 * eqn/box.c (box::top_level): Use itoa. 14598 14599Tue Aug 21 09:29:28 1990 James Clark (jjc at yquem) 14600 14601 * dvi/tmac.dvi: Add font translations for CR, C, TT. 14602 * dvi/devdvi/Makefile: Don't make links to CW. 14603 14604 * ps/tmac.ps: Add font translations for C, CW, CO, CX, CD, H, HO, 14605 HX, HD. 14606 * xditview/tmac.X: Likewise. 14607 14608 * troff/node.c: Add font translation feature. 14609 (get_font_translation): New function. 14610 (symbol_fontno): Translate the font name. 14611 (mount_font_no_translate): Rename to mount_font to this. 14612 (mount_font): New function. 14613 (font_family::make_definite): Call mount_font_no_translate instead 14614 of mount_font. 14615 (mount_style): Translate the font name. 14616 (font_translate): New function. 14617 (init_font_requests): Bind "ftr" to font_translate. 14618 14619 * ps/devps/prologue (SN): New procedure that rounds a position to 14620 the nearest (pixel + (.25,.25)). 14621 (DL): Use SN to round endpoints. 14622 14623 * lib/version.c: Changed version to 0.5. 14624 14625Sat Aug 18 04:43:21 1990 James Clark (jjc at yquem) 14626 14627 * Makefile: Move definition of PAGE to the very beginning, so that 14628 people are less likely to miss it. 14629 14630Fri Aug 17 02:15:11 1990 James Clark (jjc at yquem) 14631 14632 * man/Makefile: Don't need to sed out @UPCASE_PROG_PREFIX@. 14633 14634 * troff/env.c (environment::choose_breakpoint): Make `can't find 14635 breakpoint' error a warning of type WARN_BREAK. Change message to 14636 `can't break line'. 14637 * troff/groff.h: Declare WARN_BREAK with code 4; change WARN_INPUT to 14638 code 040000. 14639 * troff/input.c: Add WARN_BREAK to warning_table. Include 14640 WARN_BREAK in DEFAULT_WARNING_MASK. 14641 14642 * tty/tmac.tty: Add definition of \(+-. 14643 14644 * groff.sh: Remove `--' option to set command. 14645 14646 * dvi/devdvi/texsy.map: Remove duplicate md entry. 14647 14648 * ps/devps/eqnchar: Better definition of cdot using md. 14649 * dvi/devdvi/eqnchar: Likewise. 14650 * xditview/devX100/eqnchar: Likewise. 14651 * xditview/devX75/eqnchar: Likewise. 14652 * eqn/lex.c: Add definition of cdot. 14653 14654Thu Aug 16 09:33:57 1990 James Clark (jjc at yquem) 14655 14656 * troff/input.c (get_optional_char): New function. 14657 * troff/input.c (set_page_character): Use get_optional_char(), 14658 rather than has_arg() and tok.get_char(1). 14659 * troff/env.c (tab_character, leader_character, hyphen_char, 14660 field_characters): Likewise. 14661 (margin_character): Likewise. Also always delete the 14662 margin_character_node. 14663 14664 * troff/input.c (token::get_char): Use token::description. 14665 14666 * troff/input.c (has_arg): Don't skip over tab and \}. 14667 * troff/number.c (start_number): Give a warning if the number 14668 starts with \} (WARN_RIGHT_BRACE) or tab (WARN_TAB). 14669 14670Wed Aug 15 10:04:37 1990 James Clark (jjc at yquem) 14671 14672 * troff/input.c (empty_name_warning, non_empty_name_warning): New 14673 functions. 14674 (get_name, get_long_name): Use these. Rename `warn' argument to 14675 `required'. 14676 14677 * troff/node.c (get_fontno): Test that the symbol is not null. 14678 14679 * troff/input.c (token::description): New function. 14680 * troff/number.c (parse_term): Use token::description in `numeric 14681 expression expected' message. 14682 * troff/groff.h: Add WARN_MISSING. 14683 * troff/number.c (start_number): New function. 14684 * troff/number.c (get_vunits, get_hunits, get_number, get_integer, 14685 get_incr_number): Use start_number(). 14686 * troff/input.c (DEFAULT_WARNING_MASK): Enable WARN_NUMBER by 14687 default. 14688 * troff/input.c (get_name, get_long_name): Use WARN_MISSING. 14689 * troff/reg.c (alter_format): Use WARN_MISSING. Also use 14690 token::descripion. 14691 * troff/input.c (token::get_char): Use WARN_MISSING. 14692 * troff/input.c (token::delimiter): Use token::description. 14693 * troff/env.c (environment_switch): Back out Aug 3 change. 14694 * troff/input.c (has_arg): Skip over \}s and tabs but give a 14695 warning. 14696 * troff/token.h (token::tab): New function. 14697 * troff/node.c (get_fontno): Use tok.skip() rather than has_arg(). 14698 * troff/reg.c (alter_format): Likewise. 14699 * troff/node.c (bold_font): Use has_arg() rather than tok.skip(). 14700 14701Tue Aug 14 10:11:21 1990 James Clark (jjc at yquem) 14702 14703 * troff (most files): Redo warnings. Divide warnings into various 14704 categories; warning() has an additional first argument indicating 14705 the category it falls into. 14706 * troff/input.c (main): -w now takes an argument. New option -W. 14707 (enable_warning, disable_warning): New functions. 14708 14709 * ps/devps/afmtodit: Add -a option to lie about the italic angle. 14710 * ps/devps/FontMakefile: Pretend TI has an angle of 7. 14711 14712Mon Aug 13 10:11:16 1990 James Clark (jjc at yquem) 14713 14714 * ps/devps/eqnchar: Better definitions of dotdot, vec, dyad, inf. 14715 * xditview/devX100/eqnchar: Likewise. Remove definition of dot. 14716 * xditview/devX75/eqnchar: Likewise. 14717 * dvi/devdvi/eqnchar: Better definitions of vec, dyad, dotdot. 14718 14719 * eqn/other.c: When bar or over applies to a single character 14720 don't produce an overline_box or an underline_box. Instead produce 14721 an accent_box or an underaccent_box, with the accent a line 14722 whose width is accent_width. New classes underaccent_box, 14723 overline_char_box and underline_char_box. 14724 * eqn/box.h: Move overline_box, underline_box, accent_box class 14725 declarations into eqn/other.c. Add declarations of 14726 make_underline_box, make_overline_box, make_accent_box. 14727 * eqn/eqn.y: Call make_overline_box, make_underline_box 14728 make_accent_box instead of constructors. 14729 * eqn/pbox.h, eqn/box.c: Add accent_width parameter. 14730 14731 * eqn/other.c: Add accent_box::~accent_box. 14732 * eqn/box.h: Declare it. 14733 14734 * groff.sh: With -Tps, use eqn -D. 14735 14736 * eqn/other.c (overline_box::output): Use \Z. If draw_flag use \D 14737 rather than \l. 14738 (underline_box::output): Similarily. 14739 (accent_box::output): Use \Z. 14740 14741 * xditview/tmac.X: Add definitions of ~ and ^ (so that they are a 14742 bit smaller.) 14743 14744Sun Aug 12 09:41:15 1990 James Clark (jjc at yquem) 14745 14746 * troff/div.c (top_level_diversion::transparent_output(unsigned 14747 char)): Use asciify. 14748 * troff/input.c (asciify): Don't make it static. 14749 * troff/token.h (asciify): Declare it. 14750 14751 * troff/input.c (get_name, get_long_name, token::get_char, 14752 token::delimiter): Add an extra default argument which says 14753 whether a warning should be printed. 14754 * troff: Pass a non-zero argument to one of these rather than 14755 printing a warning directly. 14756 14757Sat Aug 11 09:02:21 1990 James Clark (jjc at yquem) 14758 14759 * troff: Consistently use symbol::is_null. 14760 14761 * troff/dictionary.h: Move some inline functions into 14762 dictionary.c. 14763 14764 * troff/request.h: Move inline functions into input.c. 14765 (request_or_macro::invoke): Make it pure. 14766 14767 * troff/input.c, troff/reg.h: New class `constant_int_reg'. 14768 * troff/input.c (init_input_requests): Use class constant_int_reg. 14769 (class compatible_reg): Deleted. 14770 * troff/div.c (init_div_requests): Use class constant_int_reg. 14771 (class last_post_line_extra_space_reg): Deleted. 14772 14773 * troff/env.c (tab_character): Don't change the tab character if 14774 we get an invalid argument. 14775 (hyphen_char): Similarily. 14776 14777 * troff/reg.c (alter_format): Check that nm is not null. 14778 14779 * Makefile, groff.sh: Make it possible to customize the commands 14780 used for printing PostScript and dvi files. Also make it possible 14781 to customize the path used by groff.sh. 14782 14783 * eqn/eqn.y: Make `left' right associative. 14784 14785Fri Aug 10 18:20:39 1990 James Clark (jjc at yquem) 14786 14787 * pic/pic.h: Added definition of M_SQRT2 for those systems that 14788 don't have it. 14789 14790 * pic/pic.h: Removed definition of INT_MAX. 14791 14792 * troff/node.c (italic_corrected_node::vertical_extent): Omit 14793 `return'. 14794 14795 * troff/input.c (token::next): Handle \R like \n. 14796 14797Tue Aug 7 09:46:33 1990 James Clark (jjc at yquem) 14798 14799 * ps/tmac.pc (PSPIC): Simplify. 14800 14801 * troff/env.c (tab_stops::to_string): 14802 * pic/pic.y (object_type_name): 14803 * pic/troff.c (simple_output::line): 14804 * pic/tex.c (tex_output::spline): 14805 * pic/object.c (object_spec::make_object): 14806 * tbl/main.c (process_data): Add cases to switch statements to 14807 avoid cfront warnings. (Some of these are spurious, since the 14808 switch already has a default case.) 14809 14810 * ps/tmac.ps (PSPIC): Reformatted. Prefix all local names with 14811 `ps-'. Don't test systat; instead check number of arguments to 14812 ps-bb. 14813 14814Mon Aug 6 00:13:07 1990 James Clark (jjc at yquem) 14815 14816 * macros/tmac.e: Do not decrease the page offset by 0.5i. 14817 14818 * ps/ps.c (ps_printer::ps_printer): Use mktemp instead of tempnam. 14819 Unlink the file as soon as we have opened it, so that we don't 14820 have to bother with signal handlers. 14821 (handler): Deleted. 14822 (fatal_error_exit): Deleted. 14823 (main): Don't call signal. 14824 14825 * dvi/tfmtodit.c: Add -k option so that kerns with the skewchar 14826 can be ignored. 14827 * dvi/devdvi/Makefile: Use the -k option with S and MI. 14828 14829 * pic/pic.y: If there is a label, or an nth construction before 14830 the first `.' in the argument to `with', ignore it and generate a 14831 warning. 14832 * pic/lex.c (lex_warning): New function. 14833 14834 * tbl/table.c (table::init_output): In section keep and release 14835 macro, use 0 indent when diverting and the correct indent when 14836 rereading. 14837 14838 * troff/input.c (interpolate_number_format): Do not interpolate 14839 anything if the number register is not defined. 14840 14841 * tbl/main.c (process_data): Don't add entry when col >= ncolumns. 14842 14843Sat Aug 4 08:12:05 1990 James Clark (jjc at yquem) 14844 14845 * ps/devps/prologue (PICTURE): Set components of graphics state to 14846 their default values. 14847 14848 * ps/devps/text.enc: Add trademark 14849 * ps/devps/textmap: Add names for club, spade, heart, diamond, 14850 carriagereturn, suchthat. Use Upsilon1 rather than Upsilon. 14851 * ps/devps/symbolchars: Add names for summation and product. 14852 14853 * dvi/devdvi/texsy.map: Add names for club, spade, heart, diamond, 14854 suchthat. Add pp. Add upper-case letters. 14855 14856 * xditview/libXdvi/DviChar.c: Add names for club, spade, heart, 14857 diamond, carriagereturn, suchthat. Use Upsilon1 rather than 14858 Upsilon. 14859 14860 * dvi/devdvi/texsy.map: Rename lA (left angle bracket) to la, and 14861 rA (right angle bracket) to ra. Introduce names for double-headed 14862 arrows and double-barred arrows: <>, va, lA, rA, hA, uA, dA, vA. 14863 * ps/devps/textmap: Likewise for ps device. 14864 * xditview/libXdvi/DviChar.c: Likewise for X100 and X75 devices. 14865 * tty/devascii/R.proto: Rename lA to la and rA to ra. 14866 * tty/devascii/R.proto: Likewise. 14867 * tty/tmac.tty: Provide definitions for \(<>, \(lA, \(rA, \(hA, 14868 \(uA, \(dA. 14869 * eqn/delim.c: In delim_table, rename \(lA to \(la and \(rA to \(ra. 14870 14871 * xditview/tmac.X: Add definitions for \(fi \(fl \(ff \(Fi \(Fl. 14872 14873 * eqn/lex.c: Added definitions of `approx', `grad' and `del' to 14874 def_table. 14875 14876Fri Aug 3 09:59:27 1990 James Clark (jjc at yquem) 14877 14878 * troff/div.c (when_request): Use symbol::is_null rather than 14879 has_arg to determine whether we have an argument. 14880 (change_trap): Remove the trap if we get an invalid number. Give 14881 an error if we don't get at least the macro name. 14882 (diversion_trap): Remove trap if we get an invalid name or number. 14883 14884 * troff/env.c (environment_switch): Pop if we get an invalid 14885 symbol or numeric expression. 14886 14887 * troff/input.c (do_define_macro): If EOF is encoutered while 14888 defining the macro, do tok.next() before returning. 14889 14890 * troff/token.h (has_arg): Move definition from here, to ... 14891 * troff/input.c (has_arg): ... here 14892 14893 * troff/env.c (space_size): Do nothing if we get an invalid argument. 14894 * troff/input.c (shift): Likewise. 14895 14896 * pic/lex.c (get_token_after_dot): Accept `.center' as a synonym 14897 for `.c'. 14898 14899 * pic/troff.c (troff_output::start_picture): Comment out calls to 14900 `..'. 14901 14902 * eqn/main.c (do_file): Subtract 1 from current_lineno if 14903 interpret_lf_args succeeds. 14904 14905 * eqn/main.c (do_file): Don't recognize delimiter if preceded by 14906 \\. This avoids problems with \$N. 14907 14908 * groff.sh: Pass -C to preprocessors. 14909 14910 * lib/lf.c (interpret_lf_args): Be more flexible. 14911 14912 * tbl/main.c (main): Add -C option. 14913 (table_input::get): Do not recognize TE if followed by character 14914 other than a space or newline unless -C option given. 14915 (process_input_file): Likewise for lf, TS. 14916 (process_data): Likewise for lf in text blocks. 14917 14918 * eqn/main.c (main): Add -C option. 14919 (do_file): Don't recognize EQ, EN or lf if followed by character 14920 other than space or newline unless -C option given. 14921 * eqn/lex.c (file_input::read_line): Similarily. 14922 * eqn/eqn.h: Declare compatible_flag. 14923 14924 * etc/soelim.c (main): Add -C option. 14925 (interpret_lf_args): Use version in libgroff. 14926 (do_file): 14927 14928 * pic/main.c (main): Add -C option, which sets compatible_flag. 14929 (top_input::get), (top_input::peek): If -C option not given, 14930 do not recognize .PS/.PE/.PF/.lf if followed by a character 14931 other than space or newline. 14932 * pic/lex.c (file_input::read_line): Similarily. 14933 * pic/pic.h: Add declaration of compatible_flag. 14934 14935Thu Aug 2 11:11:27 1990 James Clark (jjc at yquem) 14936 14937 * ps/tmac.ps (PSPIC): Avoid use of `echo -n'. 14938 14939 * troff/node.c, troff/node.h: Add `asciify' methods to classes 14940 derived from node. New class space_char_hmotion_node. 14941 * troff/input.c (asciify_macro): New function. 14942 * troff/input.c (init_input_requests): New request `asciify' bound 14943 to asciify_macro. 14944 * macros/mm.diff: New file. 14945 * Makefile: In install.mm target use `patch' to apply 14946 macros/mm.diff. 14947 14948 * troff/input.c (macro::print_size): Just print the size in bytes. 14949 14950 * troff/div.c (return_request): Correct the argument 14951 interpretation. 14952 14953Wed Aug 1 12:38:36 1990 James Clark (jjc at yquem) 14954 14955 * troff/node.h (class composite_node): Add sz member. 14956 * troff/node.c (composite_node::size): Return sz. 14957 * troff/input.c (macro_to_node): Use the initial size in the 14958 environment as the size of the composite_node. 14959 14960 * troff/node.c (node::zero_width_tprint): Provide a reasonable 14961 default. 14962 14963Tue Jul 31 10:07:10 1990 James Clark (jjc at yquem) 14964 14965 * troff/div.c (change_trap): If we get a bad number expression, 14966 do nothing. 14967 14968Mon Jul 30 10:30:49 1990 James Clark (jjc at yquem) 14969 14970 * lib/matherr.c (matherr): Define this only if math.h defines 14971 TLOSS. 14972 14973Sun Jul 29 10:34:27 1990 James Clark (jjc at yquem) 14974 14975 * troff/div.c (macro_diversion::distance_to_next_trap): If there 14976 no diversion trap return vunits(INT_MAX - vresolution). 14977 14978Sat Jul 28 14:28:14 1990 James Clark (jjc at yquem) 14979 14980 * troff/input.c (do_zero_width): New implementation that doesn't 14981 use a temporary environment. Use instead: 14982 (token::add_to_node_list): New function. 14983 * troff/env.c (environment::get_prev_char_height), 14984 (environment::get_prev_char_height), 14985 (environment::get_prev_char_skew): New functions. 14986 (environment::get_prev_char): New function. 14987 (environment::get_prev_char_width): Change to use get_prev_char. 14988 (init_env_request): Implement new registers .cht, .cdp, .csk. 14989 * eqn/sqrt.c (sqrt_box::output): Don't rely upon the argument to 14990 \Z being processed in a separate environment. 14991 14992Fri Jul 27 10:21:25 1990 James Clark (jjc at yquem) 14993 14994 * tbl/table.c: Removed TABLE_BOTTOM_REG. 14995 14996 * tbl/table.c (table::init_output): In the section release macro, 14997 give a warning message if the section won't fit on one page. 14998 14999 * tbl/table.c (table::do_top): Emit table keep only if table is 15000 boxed. 15001 (table::do_bottom): Likewise for table release. 15002 (table::table), (table::add_vertical_rule): Remove reference to 15003 keep member. 15004 * tbl/table.h: Remove keep member. 15005 15006 * tbl/table.c: New register SUPPRESS_BOTTOM_REG. In 15007 SECTION_RELEASE_MACRO, if there's not enough space before the next 15008 trap to output the diversion, call T# ourselves, set 15009 SUPPRESS_BOTTOM_REG to 1, spring the trap, then set 15010 SUPPRESS_BOTTOM_REG back to 0. In T#, do nothing if 15011 SUPPRESS_BOTTOM_REG is non-zero. In T#, always mark the current 15012 vertical position and return to it before turning traps on again. 15013 15014Thu Jul 26 02:54:32 1990 James Clark (jjc at yquem) 15015 15016 * troff/node.c, troff/node.h: In classes derived from node, 15017 replace prev_char_width method by last_char_node method. 15018 * troff/env.c (environment::get_prev_char_width): Use 15019 node::last_char_node rather than node::get_prev_char_width. 15020 15021 * Makefile: Added comment about -fno-inline on 68030-based 15022 Apollos. 15023 15024 * troff/reg.c (number_format_to_ascii), eqn/delim.c (DELIM_TABLE_SIZE), 15025 tty/tty.c (tty_font::load_tty_font), dvi/tfmtodit.c (main): Cast 15026 expressions using sizeof to int. 15027 * dvi/dvi.c (dvi_font::handle_x_command): Avoid long->int warnings. 15028 15029 * macros/tmac.e (TS): Don't move @f back past the current 15030 position. 15031 15032Wed Jul 25 09:11:08 1990 James Clark (jjc at yquem) 15033 15034 * ps/ps.c (main): Buffer stderr. 15035 * dvi/dvi.c (main): Likewise. 15036 * tty/tty.c (main): Likewise. 15037 15038 * ps/ps.c (ps_printer::do_import): Improve error handling. 15039 15040 * troff/input.c (abort_request): Use asciify. 15041 15042 * driver/printer.h (printer::draw), driver/printer.c (printer::draw), 15043 ps/ps.c (ps_printer::draw), dvi/dvi.c (dvi_printer::draw): Make 15044 type of first argument int rather than char. This works around a 15045 bug on the 68030 based Apollo using g++ 1.37.1. 15046 15047 * tbl/table.h (class table): Add `keep' member. 15048 * tbl/table.c (table::table): Initialize `keep'. 15049 (table::add_vertical_rule): Set `keep' to 1. 15050 (table::do_top): Only emit table keep macro is `keep' is non-zero. 15051 (table::do_bottom): Likewise for table release macro. 15052 (table::do_row): Emit section keep macro even if the row is 0. 15053 15054Tue Jul 24 08:35:07 1990 James Clark (jjc at yquem) 15055 15056 * macros/tmac.e (@C): Preserve the font family across the change 15057 in environments. 15058 15059Mon Jul 23 10:15:23 1990 James Clark (jjc at yquem) 15060 15061 * lib/font.c: Initialize font::hor and font::vert to 1. 15062 (font::load_desc): Check the values of font::hor and font::vert. 15063 15064 * lib/lib.h: Added definition of INT_DIGITS. Fix it so that it can 15065 be included in a C compilation. 15066 (iftoa): Use INT_DIGITS. Include lib.h. 15067 (itoa): Likewise. 15068 (as_string): Likewise. 15069 * tbl/table.c: Removed definition of INT_DIGITS. 15070 * eqn/box.c (box::top_level): Use INT_DIGITS + 1 instead of 12. 15071 * troff/input.c (input_input_requests): Likewise. 15072 * ps/ps.c (make_encoding_name): Likewise. 15073 (ps_printer::set_style): Likewise. 15074 (ps_output::put_number): Use 1 + INT_DIGITS + 1 instead of 12. 15075 15076 * tty/devascii/R.proto: Map fm onto '. 15077 * tty/devlatin1/R.proto: Likewise. 15078 15079Sat Jul 21 12:45:07 1990 James Clark (jjc at yquem) 15080 15081 * tbl/table.c: Use ' instead of DELIMITER_CHAR in places where the 15082 argument to \w is at a different input level. 15083 15084 * tbl/table.c (table::init_output): Define a new macro 15085 REPEATED_VPT_MACRO, like vpt but if in a diversion also 15086 transparently outputs itself. 15087 (table::define_bottom_macro): Use REPEATED_VPT_MACRO instead of 15088 vpt. 15089 (table::do_row): Likewise. 15090 15091 * tbl/table.c (vertical_rule::print): Prefix the .sp -1 line with 15092 TRANSPARENT_STRING_NAME. 15093 15094 * tbl/table.c (table::init_output): In the table release macro 15095 print an error message and don't produce any output if after 15096 issuing the need request the table still will not fit. Also 15097 remove the diversion after bringing it back. 15098 15099 * tbl/table.c (table::init_output): Define a new macro 15100 REPEATED_MARK_MACRO, like mk but if in a diversion also 15101 transparently outputs itself. 15102 (table::do_row): Mark row_top_reg using REPEATED_MARK_MACRO. This 15103 is necessary because .TH might not call .T#. 15104 (table::do_top): Likewise TOP_REG. 15105 (table::define_bottom_macro): If TOP_REG is no longer valid, use 15106 #T - DOUBLE_LINE_SEP rather than #T. This is necessary because the 15107 table header might contain just the two top rules. 15108 15109Fri Jul 20 10:51:42 1990 James Clark (jjc at yquem) 15110 15111 * troff/div.c: Implement new request `ptr' to print all traps. 15112 15113 * troff/env.c (init_env_requests): Implement `.tabs' reg with 15114 init_string_env_reg. 15115 * troff/env.c (class tab_reg): Deleted. 15116 15117Thu Jul 19 12:07:16 1990 James Clark (jjc at yquem) 15118 15119 * troff/div.c: New number register .pn returns the number of the 15120 next page as set by the pn request. 15121 15122 * macros/tmac.an: Redid headers and footers. Number each manual 15123 entry starting from 1 unless \nC is > 0, like Sun. Added an 15124 optional 5th argument to .TH which specifies the manual name and 15125 appears in the center of the header. Understand the X, P and D 15126 registers like Sun. 15127 15128Wed Jul 18 10:23:31 1990 James Clark (jjc at yquem) 15129 15130 * troff/env.c (init_env_requests): New number register `.lt' to 15131 return the title length. 15132 15133 * troff/node.h (class transparent_dummy_node): New class. 15134 * troff/node.c (class transparent_dummy_node): Provide member 15135 functions. 15136 * troff/env.c (interrupt): Add a transparent_dummy_node, rather 15137 than a dummy_node. 15138 15139 * troff/input.c (token::next): New escape sequence \). 15140 * troff/input.c (get_copy): Recognize \) in copy mode. 15141 15142 * troff/input.c (input_stack::clear): New function. 15143 * troff/input.c (exit_request): Use input_stack::clear. 15144 15145 * troff/token.h: Removed TOKEN_NO_PRINT_CHAR. 15146 * troff/input.c (token::process): Removed case TOKEN_NO_PRINT_CHAR. 15147 15148 * troff/env.c: Move set_page_character to input.c. Move 15149 page_character to input.c also. 15150 * troff/env.c (title): Split off the reading of the parts of the 15151 title into read_title_parts. 15152 * troff/input.c (read_title_parts): New function. Check the 15153 input_level when testing whether a token matches the delimiter. 15154 15155 * troff/input.c (exit_request): New function. 15156 * troff/input.c (init_input_requests): Bind ex request to 15157 exit_request rather than exit_groff. 15158 15159 * troff/input.c (exit_groff): Call tok.next() before 15160 process_input_stack(). 15161 15162Mon Jul 16 09:47:23 1990 James Clark (jjc at yquem) 15163 15164 * troff/env.c: ifdef widow control support on WIDOW_CONTROL. 15165 * troff/env.h: ditto. 15166 * troff/input.c: ditto. 15167 15168 * troff/env.c (environment::is_empty): Test pending_lines. 15169 15170 * troff/env.c (environment::have_pending_lines): Removed. 15171 15172 * troff/input.c: Add request to flush pending lines from the 15173 environment. 15174 15175 * troff/env.c, troff/env.h: Add automatic widow control feature. 15176 15177 * troff/input.c (exit_groff): Do process_input_stack() after 15178 do_break() but before setting exit_flag to 2. 15179 15180 * troff/input.c: Remove FLUSH_PENDING_LINES and 15181 TOKEN_FLUSH_PENDING_LINES. Instead, flush pending lines from 15182 environment after END_TRAP token seen, but only if there aren't 15183 any more traps still unfinished. 15184 * troff/token.h: Remove TOKEN_FLUSH_PENDING_LINES. 15185 15186Sun Jul 15 10:50:08 1990 James Clark (jjc at yquem) 15187 15188 * troff/env.c: Rename the `retain_size' member of class 15189 pending_output_line to `no_fill'. 15190 15191 * troff/env.c (title): When the line is output, make the 15192 retain_size argument !fill. 15193 15194 * troff/node.h: Add `hyphenated' member to struct breakpoint. 15195 * troff/node.c (space_node::get_breakpoints), 15196 (dbreak_node::get_breakpoints): Fill this in. 15197 * troff/env.c: Allow specification of maximum number of 15198 consecutive hyphenated lines. 15199 15200 * troff/env.c (environment::is_empty): Add test for !current_tab. 15201 15202Sat Jul 14 11:23:01 1990 James Clark (jjc at yquem) 15203 15204 * troff/env.c (environment::hyphenate_line): Don't completely give 15205 up if the word is not to be hyphenated; continue so that breaks 15206 can be made at break_char_node's. 15207 15208 * lib/lib.h: Only define INT_MAX if it's not already defined; 15209 undef INT_MIN if it's already defined. 15210 15211 * Makefile: Make it easy to define CFRONT_ANSI_BUG. 15212 15213 * lib/lib.h: If CFRONT_ANSI_BUG is defined, cast INT_MIN to long. 15214 This works around a bug in AT&T C++ 2.0 used with an ANSI C 15215 compiler. 15216 15217 * macros/tmac.an (an-header): Set no-space mode. 15218 15219 * macros/tmac.an (TH): Start a new page if necessary. 15220 15221 * Started using ChangeLog at version 0.4. 15222 15223Local Variables: 15224version-control: never 15225coding: latin-1 15226End: 15227