ChangeLog revision 75584
1Version 1.17 released 2===================== 3 42001-04-17 Werner LEMBERG <wl@gnu.org> 5 6 * tmac/Makefile.sub (install-data): mdoc.local-s is in current 7 directory, not in $(srcdir). 8 92001-04-16 Werner LEMBERG <wl@gnu.org> 10 11 * doc/groff.texinfo: More info on conditionals. 12 132001-04-15 Werner LEMBERG <wl@gnu.org> 14 15 * doc/groff.texinfo: Added some info about groff internals. 16 17 * src/roff/troff/node.cc (make_glyph_node): Emit warning message 18 about missing special character only if the name is non-null. 19 202001-04-14 Werner LEMBERG <wl@gnu.org> 21 22 Removing the grohtml-old device driver which is now obsolete. 23 24 * src/devices/grohtml-old/*: Removed. 25 * font/devhtml-old/*: Removed. 26 * src/libgroff/htmlindicate.cc (graphic_start, graphic_end): Remove 27 comments. 28 * Makefile.in (CCPROGDIRS, DEVDIRS): Updated. 29 * test-groff (PATH): Updated. 30 * tmac/Makefile.sub (NORMALFILES): Updated. 31 * tmac/an-old.tmac: Remove special code for html-old device. 32 Replace `html-or-html-old' register with `an-html'. 33 * tmac/eqnrc: Updated. 34 * tmac/html-old.tmac: Removed. 35 * tmac/troffrc, tmac/troffrc-end: Updated. 36 * tmac/www.tmac: Remove special code for html-old device. 37 Replace `html-or-html-old' register with `www-html'. 38 39 * src/libgroff/tmpfile.cc (remove_tmp_files), 40 src/libgroff/htmlindicate.cc (graphic_end), include/htmlindicate.h, 41 src/preproc/grn/*.cc, src/roff/groff/env.{cc,h}: Remove `void' 42 parameter if used as a single argument for consistency with rest of 43 source code. 44 45 * aclocal.m4, tmac/an-old.tmac: Fix copyright. 46 472001-04-13 Ruslan Ermilov <ru@FreeBSD.org> 48 49 * src/roff/troff/troff.man: Fixing typos. 50 512001-04-13 Werner LEMBERG <wl@gnu.org> 52 53 * doc/pic.ms: Fixing many font switches. 54 * doc/groff.texinfo: Fixes, additions. 55 * MORE.STUFF: Updated. 56 572001-04-12 Gaius Mulley <gaius@glam.ac.uk> 58 59 * src/devices/grohtml/grohtml.man: Updated manual page regarding 60 simple anchor. 61 * src/preproc/html/pre-html.cc (createImage): Fixed right hand 62 cropping of images. 63 (removeTempFiles): New function to tidy up temporary files. 64 * src/preproc/html/pre-html.cc (main): Calls `removeTempFiles()'. 65 Many fixes to do with the new inline suppress node and image regions 66 are much tighter. 67 * src/devices/grohtml/post-html.cc: New method `is_auto_img'. 68 (generate_img_src): New function. 69 (html_printer::do_auto_image): Utilizes it. 70 (do_heading, do_title): Include inline images within their contents. 71 (html_printer::begin_page): Tidied up comments that are issued to 72 the html output file. 73 (html_printer::do_fill): Fixed so that `.nf' works with fonts other 74 than courier. 75 (text_glob::is_br): New method used by do_heading. 76 * tmac/s.tmac: If -Thtml then emit $1 in .IP rather than its 77 equivalent diversion. 78 * src/include/html-strings.h: Altered image tags to reflect the 79 inline image node. 80 * src/include/htmlindicate.h (html_end_suppress): Added `is_inline' 81 parameter. 82 * src/preproc/eqn/main.cc: Will suppress generation of image tags if 83 it is already inside a pic image. Only emit tags if the argument 84 `-Tps:html' is present. 85 * src/preproc/tbl/main.cc: Changes to reflect additional 86 `html_end_suppress' parameter. 87 * src/roff/troff/env.cc: Only emit eol tag if a node has been 88 emitted since the last eol tag was written. 89 * src/roff/troff/env.h: New boolean `emitted_node'. 90 * src/roff/troff/input.cc (do_suppress): Handles extra suppress 91 nodes \O3, \O4, \O5. No longer use `output_low_mark_miny'. 92 * src/roff/troff/node.cc (check_charinfo): New method. 93 (troff_output_file::determine_line_limits): Alterations to limit 94 checking. 95 * tmac/www.tmac: Changes to reflect new suppress nodes. 96 972001-04-12 Bruno Haible <haible@clisp.cons.org> 98 99 * src/devices/grohtml/post-html.cc (html_printer::add_to_sbuf): 100 Escape the html_glyph in the buffer. 101 (str_translate_to_html): Output the unescaped escaped_char. 102 * src/devices/grohtml/html-text.cc (issue_table_begin): Set 103 `frame=void', not `frame=none'. Add `border=0'. 104 1052001-04-12 Ruslan Ermilov <ru@FreeBSD.org> 106 107 * contrib/mm/groff_mm.man: Fixing some typos. 108 1092001-04-12 Werner LEMBERG <wl@gnu.org> 110 111 * PROBLEMS: Add some words on how to avoid wrapper macros. 112 1132001-04-11 Blake McBride <blake@florida-software.com> 114 115 * src/include/nonposix.h (fileno) [_MSC_VER]: Removed. 116 1172001-04-11 Werner LEMBERG <wl@gnu.org> 118 119 * font/devlbp/Makefile.sub (CLEANADD): Set it. 120 * tmac/Makefile.sub (CLEANADD): Add tmac.local-s. 121 * Makefile.in (dist): Don't remove src/xditview/Imakefile, but ... 122 * Makefile.sub (DISTCLEANFILES): Here. 123 124 * libs/libgroff/new.cc: Include `nonposix.h'. 125 * win32-diffs: Updated. 126 1272001-04-10 Ruslan Ermilov <ru@FreeBSD.org> 128 129 Added skeleton macro for defunct macros. 130 131 Updated documentation. 132 133 When inside displays, an empty input line warning should be 134 suppressed. If another macro call is put inside a display, 135 all subsequent empty lines found in that display caused a 136 warning to be emitted. 137 138 * tmac/doc.tmac (doc-defunct-macro): New macro. 139 (Db, Ds, Ex, Or, Sf): Reimplemented using this macro. 140 (doc-restore-global-vars): Fixed typo. 141 (doc-empty-line): Check the `doc-display-depth' register to 142 determine whether we are inside display or not. 143 144 * tmac/doc-common: Removed `Or' and `Sf' registers. 145 Moved obsolete `Ds' macro to doc.tmac. 146 147 * tmac/groff_mdoc.man: Bump document date. 148 Document `.Vt' under ``Variable Types''. 149 Removed documentation for obsolete `.Or' macro. 150 1512001-04-10 Werner LEMBERG <wl@gnu.org> 152 153 * NEWS: Updated. 154 * doc/groff.texinfo: Many fixes, additions, clarifications, etc. 155 1562001-04-10 Bruno Haible <haible@clisp.cons.org> 157 158 * src/devices/grodvi/dvi.cc (main): Accept --help and --version. 159 (usage): Add stream argument. Don't exit. 160 * src/devices/grohtml/post-html.cc (main): Accept --help and --version. 161 Write --version output to stdout, not stderr. 162 (usage): Add stream argument. Don't exit. 163 * src/devices/grohtml-old/html.cc (main): Accept --help and --version. 164 (usage): Add stream argument. Don't exit. 165 * src/devices/grolbp/lbp.cc (long_options): Use symbolic getopt.h 166 constants. 167 (usage): Add stream argument. Don't exit. 168 (main): Write --help output to stdout, not stderr. 169 * src/devices/grolj4/lj4.cc (main): Accept --help and --version. 170 (usage): Add stream argument. Don't exit. 171 * src/devices/grops/ps.cc (main): Accept --help and --version. 172 (usage): Add stream argument. Don't exit. 173 * src/devices/grotty/tty.cc (main): Accept --help and --version. 174 (usage): Add stream argument. Don't exit. 175 * src/preproc/eqn/main.cc (usage): Add stream argument. Don't exit. 176 (main): Accept --help and --version. 177 * src/preproc/grn/main.cc (usage): Add stream argument. Don't exit. 178 (main): Accept --help and --version. 179 * src/preproc/html/pre-html.cc (usage): Add stream argument. 180 (scanArguments): Accept --help and --version. 181 * src/preproc/pic/main.cc (usage): Add stream argument. Don't exit. 182 (main): Accept --help and --version. 183 * src/preproc/refer/refer.cc (main): Accept --help and --version. 184 (usage): Add stream argument. Don't exit. 185 * src/preproc/soelim/soelim.cc (usage): Add stream argument. Don't 186 exit. 187 (main): Accept --help and --version. 188 * src/preproc/tbl/main.cc (usage): Add stream argument. Don't exit. 189 (main): Accept --help and --version. 190 * src/roff/groff/groff.cc (main): Accept --help and --version. 191 (synopsis): Add stream argument. 192 (help): Write --help output to stdout, not stderr. 193 (usage): Add stream argument. Don't exit. 194 * src/roff/grog/grog.pl: Accept --help and --version. 195 (help): New sub. 196 * src/roff/grog/grog.sh: Accept --help and --version. 197 * src/roff/nroff/nroff.sh: Accept --help and --version. 198 * src/roff/troff/input.cc (USAGE_EXIT_CODE): Remove macro. 199 (usage): Add stream argument. Don't exit. 200 (main): Accept --help and --version. 201 * src/utils/addftinfo/addftinfo.cc (main): Accept --help and --version. 202 (usage): New function with stream argument, doesn't exit. 203 * src/utils/hpftodit/hpftodit.cc (main): Accept --help and --version. 204 (usage): New function with stream argument, doesn't exit. 205 * src/utils/indxbib/indxbib.cc (main): Accept --help and --version. 206 (usage): Add stream argument. Don't exit. 207 * src/utils/lkbib/lkbib.cc (usage): Add stream argument. Don't exit. 208 (main): Accept --help and --version. 209 * src/utils/lookbib/lookbib.cc (usage): Add stream argument. Don't 210 exit. 211 (main): Accept --help and --version. 212 * src/utils/pfbtops/pfbtops.c (usage): Add stream argument. Don't exit. 213 (main): Accept --help and --version. 214 * src/utils/tfmtodit/tfmtodit.cc (main): Accept --help and --version. 215 (usage): Add stream argument. Don't exit. 216 2172001-04-10 Ruslan Ermilov <ru@freebsd.org> 218 219 Fix indentation in SYNOPSIS. 220 221 Updated to include changes of latest BSD mdoc version (basically, 222 the only change is that `.Fn' and `.Fc' put a final semicolon after 223 a function declaration in the SYNOPSIS section). 224 225 * tmac/doc.tmac (doc-in-synopsis-count): Replaced with ... 226 (doc-in-synopsis-section): New variable. Updated all related 227 functions. 228 (doc-indent-synopsis-active): New register. 229 (Nd, Fn, Fo): Use it. 230 (Cd): It requires manipulation of \n[doc-indent-synopsis] so that 231 `.Cd' with long argument line produces indented wrapped lines. 232 Also, the misplaced `.nop \*[doc-Nm-font]\c'' caused extra 233 undesirable line break to be output. 234 (doc-do-func-decl, Nm, Vt, Fn, Fo): Remove extraneous calls to 235 `.rs'. 236 (Fn, Fc): Add final `;' to output. 237 (doc-save-global-vars, doc-restore-global-vars): Updated. 238 * tmac/doc-common: Remove `Ex' register. 239 Updated. 240 * tmac/doc-ditroff, tmac/doc-nroff, tmac/doc-syms: Updated 241 copyright. 242 2432001-04-06 Ruslan Ermilov <ru@freebsd.org> 244 245 * tmac/doc.tmac (Cd): Simplify code. 246 * tmac/groff_mdoc.man: Document some behaviour of `Cd' request. 247 2482001-04-06 Werner Lemberg <wl@gnu.org> 249 250 Implement continuous underlining for nroff mode. To do that, a new 251 request in the ditroff language has been added: `x u N' (N is 0 252 or 1). 253 254 \X and \Y are now transparent to end-of-sentence recognition. 255 256 * src/include/printer.h (printer): Add `type' parameter to `special' 257 method. 258 * src/libs/libdriver/printer.cc (printer::special): Updated. 259 * src/libs/libdriver/input.cc (do_file): Handle `x u N'. 260 261 * src/devices/dvi/dvi.cc (dvi_printer::special): Handle only 262 specials of type `p'. 263 * src/devices/grohtml/post-html.cc (html_printer::special): Ditto. 264 * src/devices/grohtml-old/html.cc (html_printer::special): Ditto. 265 * src/devices/grops/ps.cc (ps_printer::special): Ditto. 266 * src/devices/grotty/tty.cc: Add new enum CU_MODE. 267 (glyph::order): New method. 268 (tty_printer::add_char): Use it. 269 (tty_printer::special): New method. 270 (tty_printer::end_page): Implement it. 271 272 * src/roff/troff/node.h (special_node): Add `no_init_string' member. 273 * src/roff/troff/node.cc (special_node::special_node): Add parameter 274 to set `no_init_string'. 275 (special_node::tprint_start): Use it. 276 (special_node::same, special_node::copy): Updated. 277 (special_node::ends_sentence): New method. 278 (troff_output_file::start_special): Add parameter to include 279 inititialization of special conditionally. 280 281 * src/roff/troff/env.h (environment): New member `underline_spaces'. 282 * src/roff/troff/env.cc (do_underline_special): New function. 283 (environment::set_font): Use it. 284 (do_underline): Use it. This was `underline()'. 285 (underline): Call `do_underline()'. 286 (continuous_underline): New function which calls `do_underline()'. 287 (environment::newline): Use `do_underline_special()'. 288 (init_env_requests): Updated. 289 290 * NEWS, man/troff_out.man: Updated. 291 2922001-04-06 Bruno Haible <haible@clisp.cons.org> 293 294 * font/devutf8/R.proto: Fix code of 'shc'. 295 2962001-04-06 Ruslan Ermilov <ru@freebsd.org> 297 298 Many fixes. Diag lists can now be nested also; additionally, 299 `-compact' and `-offset' are supported. 300 301 * tmac/doc.tmac (doc-have-indent): Replaced with ... 302 (doc-list-have-indent-stackXXX): A new register stack. 303 (doc-have-diag-list): Removed. 304 (Bl): Use `doc-list-have-indent-stackXXX'. 305 (El): Updated. 306 (doc-diag-list): Use `doc-compact-list-stackXXX'. 307 (doc-tag-list): Use `doc-list-have-indent-stackXXX'. 308 (doc-set-vertical-and-indent): Ditto. 309 (doc-next-list-depth): Removed. 310 (doc-increment-list-stack): Updated. 311 (doc-decrement-list-stack): Use `doc-list-depth' instead of 312 `doc-next-list-depth'. 313 (doc-end-list, doc-end-column-list): Don't use 314 `doc-increment-list-stack'. 315 (doc-set-column-tab): Don't use `doc-list-offset-stackXXX'. 316 (doc-save-global-vars, doc-restore-global-vars): Updated. 317 * tmac/doc-common: Updated. 318 * tmac/groff_mdoc.man: Updated. 319 * NEWS: Fix typo. 320 3212001-04-02 Werner LEMBERG <wl@gnu.org> 322 323 * src/devices/grotty/grotty.man: Fix grammatical error. 324 3252001-03-30 Ruslan Ermilov <ru@freebsd.org> 326 327 Remove .Ld from mdoc package; replace it with special handling of 328 `...'. 329 330 * tmac/doc-common: Remove `Ld' register. 331 Uncomment `doc-volume-ds-*' strings. 332 Remove `doc-operating-system-default'. 333 (Os): Updated. 334 * tmac/doc-syms (Ld): Removed. 335 * tmac/doc.tmac (doc-parse-args, doc-parse-arg-vector): Handle 336 `...' specially. 337 * NEWS: Updated. 338 339 * tmac/groff_mdoc.man: Many fixes and updates. 340 3412001-03-29 Werner LEMBERG <wl@gnu.org> 342 343 * tmac/troffrc-end: Protect data with `.do'. Reported by T. Kurt 344 Bond <tkb@tkb.mpl.com>. 345 * tmac/www.tmac: Save compatibility mode. 346 3472001-03-28 Ruslan Ermilov <ru@freebsd.org> 348 349 * tmac/groff_mdoc.man: Many fixes. 350 3512001-03-28 Werner LEMBERG <wl@gnu.org> 352 353 * src/preproc/soelim/soelim.man: Document that `.<whitespace>so' 354 isn't recognized. 355 3562001-03-27 Werner LEMBERG <wl@gnu.org> 357 358 * tmac/an-old.tmac (TP, an-do-tag): Reduce line length while in 359 diversion. This fixes overlong tags. 360 3612001-03-26 Werner LEMBERG <wl@gnu.org> 362 363 * doc/groff.texinfo: Fixed and improved documentation of fonts. 364 * tmac/doc-syms: Fix error messages. 365 * tmac/an-old.tmac: Remove incorrect double backslashes. 366 3672001-03-24 Ruslan Ermilov <ru@freebsd.org> 368 369 * tmac/Makefile.sub: Strip mdoc.local also 370 * tmac/strip.sed: Fixed. 371 3722001-03-24 Werner LEMBERG <wl@gnu.org> 373 374 * tmac/doc-nroff, tmac/doc-ditroff: Implement -rSxx switch for 375 selecting the font size. 376 * tmac/groff_mdoc.man, NEWS: Document it. 377 3782001-03-23 Werner LEMBERG <wl@gnu.org> 379 380 * src/roff/troff/div.cc (save_vertical_space): Add default argument 381 to `sv' request. 382 * src/roff/troff/env.cc (family_change): Make `.fam' accept no 383 argument to restore previous font family. 384 * src/roff/troff/troff.man, man/groff.man, NEWS: Updated. 385 386 * doc/groff.texinfo: More fixes and additions (mainly for font 387 manipulating commands). 388 389 * tmac/groff_mdoc.reference.man: Small updates and renamed to ... 390 * tmac/groff_mdoc.man: This. The quick reference has been removed. 391 * tmac/Makefile.sub, NEWS: Updated. 392 3932001-03-23 Werner LEMBERG <wl@gnu.org> 394 395 Replaced mdoc implementation. The new version is `state of the 396 art', using almost all new features of groff 1.17 -- it won't run 397 with older versions. 398 399 * tmac/doc.tmac: Completely rewritten. 400 * tmac/doc-common: Ditto. 401 * tmac/doc-nroff: Ditto. 402 * tmac/doc-ditroff: Ditto. 403 * tmac/doc-syms: Ditto. 404 * tmac/mdoc.local: New file. 405 * tmac/groff_mdoc.samples.man: Replaced with ... 406 * tmac/groff_mdoc.reference.man: New file, covering mdoc completely. 407 * tmac/strip.sed: Updated. 408 * tmac/Makefile.sub: Updated. 409 * INSTALL: Updated. 410 411 * tmac/groff_man.man: Add `man.local' to the FILES section. 412 4132001-03-22 Werner LEMBERG <wl@gnu.org> 414 415 * doc/groff.texinfo: Added many @noindent. 416 Replaced @end_Example -> @endExample. 417 Added info whether registers are r/o. 418 Many other additions and fixes. 419 4202001-03-21 Werner LEMBERG <wl@gnu.org> 421 422 * doc/groff.texinfo: Added macro @Var (and some hacks due to bugs 423 in makeinfo of texinfo 4.0) to be used in @Def* macros. 424 Improved @Def* macros: Now the exact syntax of request, register, 425 and escapes is shown. 426 Added macros for parentheses and brackets to be used in @Def*. 427 Many fixes and improvements of the documentation. 428 4292001-03-20 Werner LEMBERG <wl@gnu.org> 430 431 * doc/groff.texinfo: Added new index: `st' (for strings). 432 Added macros @Defstr(x). 433 Added macro @Example (adding @group). 434 Other minor improvements. 435 4362001-03-19 Werner LEMBERG <wl@gnu.org> 437 438 * doc/groff.texinfo: Added two new indices: `es' (for escapes) and 439 `rq' for requests. `fn' is no longer used. 440 Added macros @Defreq(x), @Defreg(x), and @Defesc(x). 441 Removed @Deffn(x). 442 443 * tmac/an-old.tmac (an-p-footer): If `cR' is set, replace page 444 number with name of man page. 445 4462001-03-19 Larry Kollar <kollar@alltel.net> 447 448 * doc/groff.texinfo: Complete revision. Added many @Deffn to gain 449 consistency. 450 4512001-03-19 Werner LEMBERG <wl@gnu.org> 452 453 * man/groff_font.man: Document `prepro', `postpro', and `print'. 454 * src/roff/groff/groff.man: Improve documentation of `-l' and `-L'. 455 * src/devices/grohtml/grohtml.man: Fixing typos. 456 4572001-03-19 Gaius Mulley <gaius@glam.ac.uk> 458 459 * tmac/s.tmac (@IP): Pass `.ip' html tag. 460 * tmac/groff_mwww.man: Remove .LINE macro 461 * tmac/www.tmac (LINE): Add `.ti'. 462 463 * src/devices/grohtml/post-html.cc (html_printer): New member 464 `indent'. 465 (html_printer::emit_raw): Use it. 466 (html_printer::do_linelength): Ditto. 467 (html_printer::do_pageoffset): Ditto. 468 (html_printer::do_indentation): Ditto. 469 (html_printer::do_tempindent): Ditto. 470 (html_printer::do_break): Ditto. 471 (html_printer::begin_page): Ditto. 472 (html_printer::do_indentedparagraph): New function. 473 (html_printer::troff_tag): Handle `.ip'. 474 * src/devices/grohtml/html-text.cc (html_text::issue_table_begin): 475 Add `<td width=...>' handling. 476 (html_text::do_table): Add parameter. 477 (html_text::do_indent): Updated. 478 * src/devices/groohtml/html-text.h: Updated. 479 4802001-03-16 Gaius Mulley <gaius@glam.ac.uk> 481 482 Introduced simple html tables to implement indentation. 483 484 * src/devices/grohtml/html.h (word, word_list): New structures. 485 (simple_output): Use it. 486 * src/devices/grohtml/post-html.cc: Add `INDENTATION'. 487 (html_printer): Improve indentation handling. 488 (html_printer::emit_raw): Set `in_table' element. Handle 489 indentation if set. 490 (html_printer::write_header): Move conditional downwards. 491 Don't allow whitespace in tags. 492 (html_printer::do_linelength): Handle line length and indentation 493 conditionally. 494 (html_printer::do_pageoffset): Handle indentation conditionally. 495 (html_printer::do_indentation): Ditto. 496 (html_printer::do_tempindent): New function member. 497 (html_printer::do_fill): Take care of indentation. 498 (html_printer::do_flush): Finish table. 499 (html_printer::do_links): Ditto. 500 (html_printer::do_break): New function for handling `.br' and `.ti'. 501 (html_printer::troff_tag): Use it. 502 Handle `.ti'. 503 (html_printer::flush_globs): Fix. 504 (html_printer::flush_page): Finish table. 505 (html_printer::html_printer): Fix error message. Set up 506 `linelength'. 507 (html_printer::add_to_sbuf): Remove special handling of character 508 code 255. 509 (to_unicode): Remove `stop()'. 510 (html_printer::write_title): Cleanup. 511 (html_printer::begin_page): Use `put_string()'. Handle indentation. 512 (html_printer::~html_printer): Flush text and end the line. 513 Use `put_string()'. 514 * src/devices/grohtml/html_text.h: Add more *_TAG enum values. 515 * src/devices/grohtml/html_text.cc (html_text::end_tag): Fix 516 emission of tags. 517 (html_text::start_tag): Disable newlines. 518 (html_text::table_is_void): New function. 519 (html_text::issue_table_begin): Ditto. 520 (html_text::issue_table_end): Ditto. 521 (html_text::push_para): Better table handling. 522 (html_text::do_indent): New function. 523 (html_text::do_table): Ditto. 524 (html_text::done_table): Ditto. 525 (html_text::do_tt): Handle PRE_TAG. 526 (html_text::is_in_table): New function. 527 (html_text::check_emit_text): Handle tables. 528 (html_text::do_emittext): Use `nl()'. 529 (html_text::do_para): Handle table. 530 (html_text::remove_def): New function. 531 * src/devices/grohtml/output.cc (word, word_list): Implement 532 methods. 533 (simple_output::end_line): Flush last word. 534 (simple_output::simple_comment): Ditto. 535 (simple_output::begin_comment): Recoded. 536 (simple_output::end_comment): Ditto. 537 (simple_output::comment_arg): Removed. 538 (simple_output::check_newline): Improve test and flush last word. 539 (simple_output::space_or_newline): Improved. 540 (simple_output::write_newline): Replaced with... 541 (simple_output::nl): This. 542 (simple_output::put_raw_char): Flush last word. 543 (simple_output::check_space): Removed. 544 (simple_output::put_translated_string): Ditto. 545 (simple_output::put_string): Simplified. 546 (simple_output::put_number): Updated. 547 (simple_output::put_float): Ditto. 548 (simple_output::put_symbol): Removed. 549 (simple_output::enable_newlines): Add `check_newline()'. 550 (simple_output::flush_last_word): New function. 551 552 * src/roff/troff/enc.cc (no_fill): Remove call to add_html_tag(). 553 * src/roff/troff/div.cc (page_offset): Add call to add_html_tag(). 554 555 * tmac/s.tmac (@PP, @IP): Add html conditional code. 556 * tmac/an-old.tmac (TP): Ditto. 557 5582001-03-09 Ruslan Ermilov <ru@freebsd.org> 559 560 * mdate.sh: Make it POSIX compliant. 561 5622001-03-09 Werner LEMBERG <wl@gnu.org> 563 564 Added the `return' request to end a macro immediately. It simply 565 pops iterators from the input stack until a macro iterator is found. 566 567 * src/roff/troff/input.cc (input_iterator::is_macro, 568 macro_iterator::is_macro): New member. 569 (input_return_boundary): New class to signal an immediate return 570 to while_request(). 571 (input_stack::add_return_boundary, input_stack::is_return_boundary): 572 New functions. 573 (input_stack::clear): Use it. 574 (input_stack::pop_macro): New function. 575 (while_request): Use `is_return_boundary()'. 576 (return_macro_request): New function. 577 (init_input_requests): Use it. 578 579 * src/roff/troff/TODO: Updated. 580 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 581 5822001-03-08 Werner LEMBERG <wl@gnu.org> 583 584 * src/roff/troff/input.cc (input_iterator::is_boundary): Minor 585 cleanup. 586 5872001-03-07 Werner LEMBERG <wl@gnu.org> 588 589 Make `\B' more rigid. 590 591 * src/roff/troff/number.cc (parse_expr, parse_term): Add `rigid' 592 parameter. 593 (get_number_rigidly): New function. 594 * src/roff/troff/input.cc (do_expr_test): Use it. 595 * src/roff/troff/token.h: Updated. 596 597 * src/roff/troff/request.h: Fix typo (init_html_request -> 598 init_markup_request). 599 6002001-03-04 Gaius Mulley <gaius@glam.ac.uk> 601 602 Fixed grohtml handling of any named glyph for glyph indexes < 0x80. 603 Cosmetic changes to `.html-begin', `.html-end', `.html-image' which 604 are now `.begin', `.end', `.image'. 605 606 * src/devices/grohtml/post-html.cc: Adding UNICODE_DESC_START. 607 (html_printer::add_to_sbuf): Changing type of `code' parameter. 608 Use add_char_to_sbuf(). 609 (to_unicode): New function. 610 (char_translate_to_html): Changing type of `ch' parameter. 611 Use `to_unicode()'. 612 (html_printer::~html_printer): Comment out doctype string. 613 * src/preproc/html/pre-html.cc (write_end_image): Use `.end' 614 instead of `.html-end'. 615 (write_start_image): Use `.begin' and `.image' instead of 616 `.html-begin' and `.html-image'. 617 * src/roff/troff/input.cc: Rename `html_level' to `begin_level'. 618 (html_begin): Renamed to ... 619 (begin): This. 620 (html_end): Renamed to ... 621 (end): This. 622 (html_image): Renamed to ... 623 (image): This. 624 (init_html_requests): Renamed to ... 625 (init_markup_requests): This. 626 * tmac/www.tmac: Updated. 627 6282001-02-28 Bram <bram@avontuur.org> 629 630 * src/libs/libgroff/font.cc (font_widths_cache): Fixing syntax of 631 constructor. 632 6332001-02-26 David Leonard <david.leonard@csee.uq.edu.au> 634 635 * doc/meref.me: Fixing some typos. 636 6372001-02-16 Werner LEMBERG <wl@gnu.org> 638 639 * src/roff/troff/node.cc (space_node::get_hyphenation_type): New 640 method. Return `HYPHEN_MIDDLE' if it was `\:'. 641 * src/roff/troff/node.h: Updated. 642 6432001-02-17 Ruslan Ermilov <ru@FreeBSD.org> 644 645 * tmac/groff_tmac.man: Fix typo. 646 6472001-02-16 Werner LEMBERG <wl@gnu.org> 648 649 Fixing a bug which prevented proper end-of-sentence recognition 650 between an `unformatted' box and the following text. As a 651 consequence, vertical line distances are no longer preserved in 652 boxes after a call to `.unformat' -- because boxes aren't 653 line-oriented (contrary to diversions), this doesn't make sense 654 anyway. 655 656 * src/roff/troff/node.cc (*node::set_unformat_flag): Add return 657 value. 658 (vertical_size_node::set_unformat_flag): New method. 659 * src/roff/troff/node.hh: Updated. 660 * src/roff/troff/input.cc (word_space_node::reread, 661 hmotion_node::reread): Reset `unformat' flag after usage. 662 (unformat_macro): Append only if `set_unformat_flag()' returns 663 non-zero. 664 * src/roff/troff/troff.man: Updated. 665 6662001-02-15 Werner LEMBERG <wl@gnu.org> 667 668 * src/roff/troff/troff.man, NEWS, man/groff.man: Improved 669 documentation of `asciify' and `unformat' requests. 670 6712001-02-13 Werner LEMBERG <wl@gnu.org> 672 673 Redesigned the `unformat' request. It is no longer connected with 674 `asciify' but rather uses new `reread()' methods if the `unformat' 675 flag is set. Additionally, the handling of space characters after 676 unformatting has been fixed so that they retain their width. 677 678 * src/roff/troff/node.h (width_list): New structure to store 679 original widths of spaces. 680 (node): Added `unformat' member. 681 Replaced `num_spaces' variable with `orig_width' list. 682 * src/roff/troff/node.cc (*node::asciify, 683 asciify_reverse_node_list): Removed `unformat_only' flag and related 684 code. 685 (word_space_node::asciify, word_space_node::word_space_node): Use 686 `orig_width'. 687 (word_space_node::~word_space_node): New destructor. 688 (word_space_node::copy): Updated to handle `orig_width'. 689 (hmotion_node::copy, unbreakable_space_node::copy): Updated. 690 (*node::merge_space): Update `orig_width' list if necessary. 691 (*node::set_unformat_flag): New methods to set the `unformat' flag. 692 * src/roff/troff/enc.cc (environment::space_newline): Use 693 `width_list'. 694 (environment::space): Added method to handle space width and 695 sentence space width as parameters. Use `width_list'. 696 (environment::make_tab_node): Updated. 697 * src/roff/troff/env.h: Updated. 698 * src/roff/troff/input.cc (word_space_node::reread, 699 unbreakable_space_node::reread, hmotion_node::reread): New methods 700 to handle nodes specially if `unformat' flag is set. 701 (do_asciify_macro): Renamed back to ... 702 (asciify_macro): This. 703 (unformat_macro): New implementation to simply set the `unformat' 704 flag. 705 706 * MORE.STUFF: Added more info about deroff. 707 7082001-02-08 Werner LEMBERG <wl@gnu.org> 709 710 * src/roff/troff/node.h (unbreakable_space_node, hmotion_node, 711 space_char_hmotion_node, overstrike_node): Add `get_hyphen_list()' 712 and `add_self()' methods to avoid hyphenation. For example, the 713 hyphen list for `foo\0\0bar' was `foobar', causing insertion of a 714 soft hyphen after `foo'. Now the hyphen list is correctly 715 `foo<ignore><ignore>bar'. 716 7172001-02-05 Yoshiteru Kageyama <yt-kage@cb3.so-net.ne.jp> 718 719 * tmac/groff_tmac.man: Fix `BIR' macro. 720 7212001-02-04 Werner LEMBERG <wl@gnu.org> 722 723 A new escape sequence `\:', inserting a zero-width break point. 724 725 * src/roff/troff/input.h: Adding `ESCAPE_COLON'. 726 * src/roff/troff/input.cc (get_copy, token::next, asciify): 727 Implement it. 728 * src/roff/troff/node.h (node): Add `is_escape_colon()' virtual 729 method. 730 (space_node): Add `was_escape_colon' member. Add `is_escape_colon()' 731 and `asciify()' methods. 732 * src/roff/troff/node.cc (space_node::space_node): Updated. 733 (space_node::asciify): Handle `was_escape_colon'. 734 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 735 736 Handle `\~' similar to other comparable requests. 737 738 * src/roff/troff/input.cc (process_input_stack): Remove now obsolete 739 label. 740 (token::next): Move creation of an unbreakable_space_node to... 741 (token::add_to_node_list): Here. 742 743 Fix a bug which sometimes prevented hyphenation of words connected 744 with `\~' or `\ ' (and other escape sequences handled as 745 TOKEN_NODE). This also fixes a hyphenation problem with boxes 746 (after a call to the `unformat' request). 747 748 * src/roff/troff/env.h (environment::possibly_break_line, 749 environment::hyphenate_line): Introducing `start_here' parameter. 750 * src/roff/troff/env.cc (environment::space_newline, 751 environment::space): Use it. 752 (environment::possibly_break_line, environment::hyphenate_line): 753 Implement it. 754 * src/roff/troff/input.cc (process_input_stack): Use it. 755 * src/roff/troff/node.h (unbreakable_space_node, hmotion_node, 756 space_char_hmotion_node, overstrike_node): Add 757 `get_hyphenation_type()' method. 758 * src/roff/troff/node.cc (break_char_node::asciify): Don't asciify 759 if `unformat_only' is active. 760 7612001-01-30 Werner LEMBERG <wl@gnu.org> 762 763 Implemented new read-only number register `.linetabs' which 764 returns 1 if in line-tabs mode, 0 otherwise. 765 766 * src/roff/troff/env.h (environment): Add get_line_tabs() member. 767 * src/roff/troff/env.cc (get_line_tabs): New function. 768 (init_env_requests): Use it. 769 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 770 771 * VERSION, REVISION: Changing to 1.17.0. 772 7732001-01-28 Werner LEMBERG <wl@gnu.org> 774 775 Fixed a bug which prevented hyphenation of words which are finished 776 with `\)'. 777 778 * src/roff/troff/token.h (token): Add enum type 779 `TOKEN_TRANSPARENT_DUMMY' and method `transparent_dummy()'. 780 * src/roff/troff/input.cc (token::next, token::description, 781 get_line_arg, token::add_to_node_list, token::process): Use it. 782 7832001-01-27 Werner LEMBERG <wl@gnu.org> 784 785 * src/roff/troff/div.h (diversion): Add `saved_prev_line_interrupted'. 786 * src/roff/troff/div.cc (do_divert): Use it. 787 788 * src/roff/troff/input.cc (asciify): Add ESCAPE_RIGHT_PARENTHESIS. 789 7902001-01-25 Werner LEMBERG <wl@gnu.org> 791 792 Adding the `linetabs' request. If set, tab distances are not 793 computed relative to the input line but relative to the output line. 794 795 * src/roff/troff/env.h (environment): New member `line_tabs'. 796 * src/roff/troff/env.cc (line_tabs_request): Implement request. 797 (environment::environment, environment::copy): Updated. 798 (environment::distance_to_next_tab): Use `line_tabs'. 799 (init_env_requests): Register request. 800 * src/roff/troff/troff.man, man/groff.man, NEWS: Document it. Other 801 fixes. 802 8032001-01-24 Werner LEMBERG <wl@gnu.org> 804 805 Introducing a new read-only register `.int' which is set to a 806 positive value if the last output line is interrupted (i.e., if it 807 contains `\c'). 808 809 * src/roff/troff/env.cc (init_env_requests): Add it. 810 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 811 8122001-01-23 Gaius Mulley <gaius@glam.ac.uk> 813 814 * tmac/mwww.tmac: Call `www.tmac', not `arkup.tmac'. 815 * src/preproc/html/pre-html.cc (findPrefix): New function which 816 generates the troff executable name via the system prefix. 817 * src/preproc/eqn/main.cc: Modified warning message. 818 8192001-01-23 Werner LEMBERG <wl@gnu.org> 820 821 troff's `box' and `boxa' requests didn't preserve temporary 822 indentation. 823 824 * src/roff/troff/div.h (diversion): Add `saved_saved_indent' and 825 `saved_target_text_length' members. 826 * src/roff/troff/div.cc (do_divert): Use them. 827 828 Tabs (but not yet leaders and fields) are now handled correctly by 829 `asciify' request. 830 831 * node.h (hmotion_node): Add field `was_tab'. 832 * env.cc (environment::make_tab_node): Set it. 833 * node.cc (hmotion_node::copy, hmotion_node::asciify): Use it. 834 835 Added new request `unformat' which will, contrary to `asciify', 836 preserve font information after unformatting (i.e., only nodes 837 dealing with horizontal space are converted back to input 838 characters). 839 840 * input.cc (asciify_macro): Renamed to ... 841 (do_asciify_macro): this, having a new parameter `unformat_only'. 842 (asciify_macro, unformat_macro): New; using do_asciify_macro. 843 (init_input_requests): Added `unformat'. 844 * node.cc (*_node::asciify), asciify_reverse_node_list: Added 845 parameter to control asciification process. 846 * node.h (*_node::asciify): Ditto. 847 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 848 8492001-01-20 Werner LEMBERG <wl@gnu.org> 850 851 * doc/groff.texinfo: Minor improvement of `.in' documentation. 852 8532001-01-18 Werner LEMBERG <wl@gnu.org> 854 855 * tmac/ps.tmac: Remove call of psold.tmac. 856 * tmac/psold.tmac: Comment updated. 857 * tmac/psnew.tmac: Removed since no longer needed. 858 * tmac/Makefile.sub, NEWS, src/devices/grops/grops.man: Updated. 859 860 * font/devutf8/R.proto: Adding `shc' glyph. 861 * font/devutf8/NOTES: Updated. 862 863 * test-groff: Updated. 864 8652001-01-15 Gaius Mulley <gaius@glam.ac.uk> 866 867 First cut of the new html device driver. Changes to pre-html and 868 the new grohtml are too numerous to be documented here. 869 870 Stuff related to `html' has been renamed to `html-old' and `html2' 871 stuff has been renamed to `html' (including directories). The new 872 html device driver is therefore invoked as `-Thtml'. 873 874 Added new `\O' escape to suppress output (needed by html driver). 875 876 Added functions and code to pass info about input-level commands 877 (`.in', `.fl', etc.) to html driver. 878 879 Three new functions (.html-begin, .html-end, and .html-image) for 880 better html handling: `html-begin' will execute the remaining line 881 if at the outermost nesting level, increasing an internal counter. 882 `html-end' does the same but decreases the internal counter. 883 `html_image' puts its arguments into a special node (suppress_node) 884 to define an image region. 885 886 The `output' request has been removed. 887 888 * tmac/html-tags.tmac: Removed. 889 * tmac/arkup.tmac: Updated and renamed to ... 890 * tmac/www.tmac: New file. 891 * tmac/markup.tmac Updated and renamed to ... 892 * tmac/mwww.tmac: New file. 893 * tmac/Makefile.sub: Updated. 894 * tmac/an-old.tmac: Updated. 895 * tmac/eqnrc: Updated. 896 * tmac/groff_man.man 897 * tmac/groff_markup.man: Updated and renamed to ... 898 * tmac/groff_mwww.man: New file. 899 * tmac/groff_tmac.man: Updated. 900 * tmac/html-old.tmac: Updated and Renamed from html.tmac. 901 * tmac/html.tmac: Updated and renamed from html2.tmac. 902 * tmac/pspic.tmac: Updated html support. 903 * tmac/s.tmac: Added html output support. 904 * tmac/troffrc, tmac/troffrc-end: Updated. 905 906 * Makefile.in, doc/Makefile: Updated. 907 * doc/groff.texinfo: Added info about new `\O' escape. 908 * doc/homepage.ms: Use `MAILTO' macro. 909 910 * font/devhtml/DESC.proto: Add `C' font. 911 * font/devhtml/Makefile.sub: Updated. 912 * font/devhtml/R.proto: Minor fixes. 913 * font/devhtml-old/Makefile.sub: Updated. 914 915 * src/devices/grohtml-old/Makefile.sub: Updated. 916 917 * src/libs/libdriver/printer.cc (printer::get_font_from_index): New 918 method. 919 * src/libs/libgroff/htmlindicate.cc (html_begin_suppress, 920 graphic_start): Add `inline' parameter. Update. 921 (html_end_suppress, graphic_end): Update. 922 923 * src/include/html-strings.h: New file. 924 * src/include/htmlindicate.h: Comments updated. 925 * src/include/printer.h: Updated. 926 927 * src/preproc/eqn/main.cc (do_file, main): Updated. 928 * src/preproc/pic/troff.cc (troff_output::start_picture, 929 troff_output::finish_picture): Updated. 930 * src/preproc/tbl/main.cc (process_input_file): Updated. 931 932 * src/roff/groff/groff.cc (main): Updated. 933 Pass device arguments to predrivers also. 934 Use `ps' device for `eqn' preprocessor if `-Thtml' is given. 935 * src/roff/troff/env.h (environment): Updated. 936 New elements `need_eol' and `ignore_next_eol' (for html output). 937 * src/roff/troff/env.cc (environment::environment): Add initializers 938 for `need_eol' and `ignore_next_eol'. 939 (environment::add_html_tag_eol, environment::add_html_tag_tabs): New 940 functions. 941 (point_size, fill, no_fill, center, right_justify, line_length, 942 indent, temporary_indent, break_request, handle_tab): Use 943 `add_html_tag()'. 944 (set_tabs): Use `add_html_tag_tabs()'. 945 (environment::add_html_tag): Updated. 946 (environment::do_break): Updated. 947 * src/roff/troff/div.cc (space_request, flush_output): Use 948 `environment::add_html_tag()'. 949 * src/roff/troff/input.cc: Updated. 950 New variable `html_level' to indicate nested `html-begin' requests. 951 (file_iterator::fill): Use `environment::add_html_tag_eol()'. 952 (non_interpreted_char_node, token_node, non_interpreted_node): Add 953 `force_tprint()' method. 954 (token::next): Handle `\O'. 955 (do_suppress): Implement it. 956 (html_begin, html_end, html_image): New functions. 957 (init_output_requests): Renamed to ... 958 (init_html_requests): this. 959 (main): Use it. 960 (macro::append_str, macro::append_unsigned, macro::append_int): New 961 methods. 962 New variable `output_low_mark_miny' to limit minimal value of y. 963 (reset_output_registers): Use it. 964 (output_request): Removed. 965 (get_output_registers): New function. 966 * src/roff/troff/node.h (node): Make `force_tprint()' virtual. 967 (*_node): Added `force_tprint()' if necessary. 968 (special_node): New elements `tf' and `get_tfont()'. 969 (suppress_node): New class. 970 * src/roff/troff/node.cc: 971 New global variables `image_no' and `suppress_start_page'. 972 (real_output_file): New method `is_on()'. 973 (troff_output_file): New method `start_special(tfont)'. 974 (troff_output_file::really_print_line): Use `tprint' conditionally. 975 (real_output_file::print_line): Updated. 976 (real_output_file::on): Updated. 977 (*_node): Added `force_tprint()'. 978 (special_node::special_node): Initializer updated. 979 (special_node::same, special_node::copy, special_node::tprint_start): 980 Updated. 981 (get_reg_int, get_reg_str): New functions. 982 (suppress_node::*): New methods. 983 New global variables last_position, last_image_filename; 984 (min): New inline function. 985 * src/roff/troff/reg.h, src/roff/troff/request.h, 986 src/roff/troff/troff.h: Updated. 987 9882001-01-13 Werner LEMBERG <wl@gnu.org> 989 990 * NEWS, src/roff/troff/troff.man, doc/groff.texinfo: Fix 991 documentation of `asciify' request. 992 9932001-01-12 Werner LEMBERG <wl@gnu.org> 994 995 * src/roff/troff/input.cc: Move definition of special characters 996 like `ESCAPE_TILDE' to ... 997 * src/roff/troff/input.h: New file. 998 * src/roff/troff/Makefile.sub (HDRS): Add it. 999 1000 Extending the .asciify request to `unformat' space characters also. 1001 1002 * src/roff/troff/node.h (word_space_node): Add `num_spaces' element 1003 to count input space characters. 1004 Update constructors to take care of it. 1005 * src/roff/troff/node.cc (space_char_hmotion_node::asciify): Use 1006 `ESCAPE_SPACE' instead of normal space. 1007 (word_space_node::asciify): New method. 1008 (unbreakable_space_node::asciify): New method. 1009 (word_space_node::merge_space): New method. 1010 * src/roff/troff/env.cc (environment::space_newline, 1011 environment::space): Add code to initialize `num_spaces' (using the 1012 constructor of `word_space_node'). 1013 * NEWS, src/roff/troff/troff.man, man/groff.man, doc/groff.texinfo: 1014 Document it. 1015 10162001-01-09 Werner LEMBERG <wl@gnu.org> 1017 1018 * man/groff_char.man: Use table header traps only conditionally. 1019 10202001-01-09 Bjarni Ingi G�slason <bjarniig@hi.is> 1021 1022 * man/groff_char.man: Add `�' and `�' to the `acute' group. 1023 10242001-01-08 Werner LEMBERG <wl@gnu.org> 1025 1026 Introducing the `box' and `boxa' requests which are similar to 1027 `di' resp. `da' but omitting a partially filled line (which is 1028 restored after ending the diversion). 1029 1030 * src/roff/troff/div.h (diversion): Add elements to save partially 1031 filled line. 1032 * src/roff/troff/div.cc (do_divert): Add parameter `boxing' to save 1033 partially filled line. 1034 (divert, divert_append): Updated. 1035 (box, box_append): New functions. 1036 (init_div_requests): Use them. 1037 * src/roff/troff/env.h (environment): do_divert() is now a friend. 1038 * NEWS, src/roff/troff/troff.man, man/groff.man: Document it. 1039 1040 * doc/groff.texinfo: Fix documentation of `lf' request. 1041 10422000-12-25 Werner LEMBERG <wl@gnu.org> 1043 1044 * src/roff/troff/troff.man, NEWS: Document `writem' request. 1045 10462000-12-21 Werner LEMBERG <wl@gnu.org> 1047 1048 Ignore `ss' request if in compatibility mode. 1049 1050 * src/roff/troff/input.cc: Make `compatible_flag' non-static. 1051 * src/roff/troff/env.h: Added extern `compatible_flag' declaration. 1052 * src/roff/troff/env.cc (space_size): Use it. 1053 1054 * doc/groff.texinfo, src/roff/troff/troff.man: Fix documentation of 1055 `ss' request in nroff mode. 1056 1057 * tmac/an-old.tmac: Fixed some serious bugs introduced with latest 1058 changes. 1059 10602000-12-15 Ruslan Ermilov <ru@FreeBSD.org> 1061 1062 * tmac/troffrc, tmac/troffrc-end: Convert tmac.* to *.tmac. 1063 10642000-12-13 Werner LEMBERG <wl@gnu.org> 1065 1066 * src/preproc/eqn/Makefile.sub (MAN1): Added neqn.man. 1067 * src/preproc/eqn/neqn.man: Small fixes and additions. 1068 10692000-12-13 Ruslan Ermilov <ru@FreeBSD.org> 1070 1071 * src/utils/addftinfo/addftinfo.man, src/devices/grops/grops.man: 1072 Fixing typo. 1073 1074 * src/preproc/eqn/neqn.man: New file. 1075 1076 * src/preproc/tbl/table.cc (table::print): Fix `indent cannot be 1077 negative' warning. 1078 1079 * tmac/e.tmac: Add `T&' macro. 1080 Fix `indent cannot be negative' warning. 1081 * tmac/s.tmac: Fix `indent cannot be negative' warning. 1082 10832000-12-07 Werner LEMBERG <wl@gnu.org> 1084 1085 * src/include/lib.h: Replaced __ALPHA with __alpha symbol. 1086 10872000-12-06 Werner LEMBERG <wl@gnu.org> 1088 1089 * PROBLEMS: Added info about adding -lPW on HP-UX to satisfy the 1090 `alloca' symbol . 1091 1092 * MORE.STUFF: Added info about deroff for djgpp. 1093 1094 * tmac/an-old.tmac, tmac/groff_man.man, doc/groff.texinfo, NEWS: Fix 1095 documentation of -rcR switch. 1096 10972000-12-03 Werner LEMBERG <wl@gnu.org> 1098 1099 * tmac/an-old.tmac: Implementing the -rcR switch (similar to mdoc); 1100 if -rcR=1 (which is now the default in nroff mode), a single, very 1101 long page is created instead of multiple pages: All `ne' and `wh' 1102 requests are put into conditionals; a new macro `an-end' is added to 1103 be called with `em'. 1104 1105 Some other minor cleanups. 1106 1107 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Updated. 1108 11092000-12-02 Werner LEMBERG <wl@gnu.org> 1110 1111 Fixing a bug which prevented hyphenation in words followed 1112 immediately by a TOKEN_NODE (e.g. `\ ', `\~', etc.). 1113 1114 * src/roff/troff/input.cc (process_input_stack <token::TOKEN_NODE>): 1115 Adding possibly_break_line(). 1116 * src/roff/troff/env.h (environment): Make possibly_break_line() 1117 public. 1118 1119 Make `\~' usable in .tr request. 1120 1121 * src/roff/troff/token.h (token_type): Add TOKEN_STRETCHABLE_SPACE. 1122 (token): Add stretchable_space(). 1123 * src/roff/troff/input.cc (token::next, token::delimiter, 1124 token::description, process_input_stack, do_translate, 1125 add_to_node_list, token::process): Use it. 1126 * src/roff/troff/node.h (node): Add fourth parameter to add_char() 1127 for adjusting the space. 1128 * src/roff/troff/node.cc (node::add_char): Implement it. Add code 1129 for stretchable space. 1130 * src/roff/troff/input.cc (token::add_to_node_list): Use it. 1131 (make_node): Add code for stretchable space. 1132 * src/roff/troff/env.cc (environment::add_char): Use it. 1133 * src/roff/troff/input.cc: Add ESCAPE_TILDE special character. 1134 (get_copy, token::next, transparent_translate, asciify): Use it. 1135 1136 * NEWS, src/roff/troff/troff.man, src/roff/troff/TODO, 1137 doc/groff.texinfo: Updated. 1138 * man/groff.man: Small reorderings. 1139 11402000-11-23 Werner LEMBERG <wl@gnu.org> 1141 1142 * NEWS: Fixes. 1143 * src/preproc/eqn/main.cc (main): Use `config_macro_path' for -M 1144 option. 1145 * src/roff/troff/input.cc (main): Add `config_macro_path' and 1146 `safer_macro_path' to -M option. 1147 * src/roff/troff/troff.man: Fixes. 1148 11492000-11-22 Werner LEMBERG <wl@gnu.org> 1150 1151 Use safer path (except for config files) if -U isn't specified. Add 1152 a special macro path (without home and current directory) for config 1153 files. Add home directory to unsafe path for consistency. Don't 1154 include the home directory in the font path. 1155 1156 * src/lib/libgroff/macropath.cc: Add `config_macro_path', change 1157 `macro_path'. 1158 * src/include/macropath.h: Add `config_macrp_path'. 1159 * src/lib/libgroff/fontfile.cc: Fix font path. 1160 * src/roff/troff/input.cc (process_startup_file): Use 1161 `config_macro_path'. 1162 (main): Select unsafe path if -U is given. 1163 1164 * src/preproc/eqn/main.cc (main): Fixing search path for 1165 configuration file. 1166 * src/preproc/eqn/eqn.man: Updated. 1167 1168 * src/roff/troff/troff.man, man/roff.man, tmac/groff_tmac.man: 1169 Updated. 1170 1171 * src/preproc/grn/grn.man, src/devices/grodvi/grodvi.man, 1172 src/devices/grohtml/grohtml.man, src/devices/grolbp/grplbp.man, 1173 src/devices/grolj4/grolj4.man, src/devices/grops/grops.man, 1174 src/devices/grotty/grotty.man: Updated. 1175 1176 * Makefile.in: Fix comments. 1177 11782000-11-17 Werner LEMBERG <wl@gnu.org> 1179 1180 * tmac/safer.tmac: Empty file added (again) for compatibility 1181 reasons. 1182 * tmac/Makefile.sub: Updated. 1183 11842000-11-16 Werner LEMBERG <wl@gnu.org> 1185 1186 * src/devices/grodvi/dvi.cc (main), 1187 src/devices/grohtml2/post-html.cc (main), 1188 src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc 1189 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc 1190 (main), src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc 1191 (main), src/preproc/html2/pre-html.cc (main), 1192 src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main), 1193 src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc 1194 (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc 1195 (main), src/utils/hpftodit/hpftodit.cc (main), 1196 src/utils/indxbib/indxbib.cc (main), src/utils/lkbib/lkbib.cc 1197 (main), src/utils/lookbib/lookbib.cc (main), 1198 src/utils/pfbtops/pfbtops.c (main), src/utils/tfmtodit/tfmtodit.cc 1199 (main): Use stdout for -v. 1200 * src/roff/groff/groff.cc (run_commands), 1201 src/roff/groff/pipeline.c (run_pipeline): New parameter `no_pipe' 1202 to make direct printing to stdout possible. 1203 * src/roff/groff/pipeline.h: Updated. 1204 1205 * src/utils/afmtodit/afmtodit.pl: Add -v switch. 1206 * src/utils/afmtodit/Makefile.sub (afmtodit): Use @VERSION@. 1207 * src/utils/afmtodit/afmtodit.man: Updated. 1208 1209 * src/utils/addftinfo/addftinfo.cc (main): Add -v switch. 1210 (version): New function. 1211 (usage): Updated. 1212 * src/utils/addftinfo/addftinfo.man: Updated. 1213 1214 * src/devices/*/*, src/preproc/*/*, src/roff/*/*, src/utils/*/*: 1215 Fixing copyright dates. 1216 1217 * src/preproc/eqn/neqn.sh: Adding GROFF_BIN_PATH to path instead of 1218 replacing it. 1219 1220 * src/devices/grolbp/lbp.cc (main): Use Version_string instead of 1221 version_string. 1222 1223 * src/roff/nroff/Makefile.sub (nroff): Fix use of @VERSION@. 1224 12252000-11-15 Werner LEMBERG <wl@gnu.org> 1226 1227 In all programs, make -v return immediately with exit status 0 to 1228 be compliant with the GNU standard. 1229 1230 * src/devices/grodvi/dvi.cc (main), 1231 src/devices/grohtml2/post-html.cc (main), 1232 src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc 1233 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc 1234 (main) src/preproc/eqn/main.cc (main), src/preproc/grn/main.cc 1235 (main), src/preproc/html2/pre-html.cc (main), 1236 src/preproc/pic/main.cc (main), src/preproc/refer/refer.cc (main), 1237 src/preproc/soelim/soelim.cc (main), src/preproc/tbl/main.cc 1238 (main), src/roff/groff/groff.cc (main), src/roff/troff/input.cc 1239 (main): Implement it. 1240 * NEWS: Updated. 1241 1242 * src/roff/groff/groff.cc (main): Add copyright notice. Add refer 1243 and postprocessors to the -v option. 1244 1245 * src/roff/grog/grog.pl: Implement -v. 1246 * src/roff/grog/Makefile.sub (grog): Use @VERSION@. 1247 * src/roff/grog/grog.man, doc/groff.texinfo: Updated. 1248 1249 * src/roff/nroff/nroff.sh: Implement -v. 1250 * src/roff/nroff/Makefile.sub (nroff): Use @VERSION@. 1251 * src/roff/nroff/nroff.man: Updated. 1252 1253 * src/preproc/eqn/main.cc (main): Fix comment typo. 1254 1255 * MORE.STUFF: Added info about djgpp port of grap. 1256 12572000-11-14 Werner LEMBERG <wl@gnu.org> 1258 1259 * src/roff/grog/grog.{pl,sh}: Implemented -C switch for compatibility 1260 mode (or rather, implemented non-compatibility mode). 1261 * NEWS, src/roff/grog/grog.man, doc/groff.texinfo: Updated. 1262 1263 * src/roff/groff/groff.cc (main): Add BIN_PATH to PATH instead of 1264 replacing it -- we don't find gxditview otherwise. 1265 * NEWS, src/roff/groff/groff.man, doc/groff.texinfo: Updated. 1266 1267 * src/preproc/pic/depend: Removed. Unnecessary. 1268 1269 Implemented dummy keyword `solid' in pic for compatibility with 1270 AT&T pic. 1271 1272 * lex.cc (lookup_keyword): Added `solid'. 1273 * pic.y: Added SOLID with dummy rule. 1274 * pic.cc, pic_tab.h: Regenerated. 1275 * doc/pic.ms: Updated. 1276 12772000-11-13 Werner LEMBERG <wl@gnu.org> 1278 1279 For security reasons, don't use the current directory but the home 1280 directory while searching and scanning troffrc and troffrc-end. 1281 Similarly, replace the current directory with the home directory 1282 in the font path. 1283 1284 * Makefile.in (fontpath, tmacpath): Remove current directory. 1285 1286 * src/libs/libgroff/searchpath.cc (search_path::search_path): Add 1287 two parameters `add_home' and `add_current'. 1288 (search_path::~search_path, search_path::command_line_dir, 1289 search_path::open_file): Remove tests for `dirs' being zero. 1290 * src/include/searchpath.h: Adjust. 1291 * src/libs/libgroff/macropath.cc, src/include/macropath.h: Add 1292 `safer_macro_path'. 1293 * src/libs/libgroff/fontfile.cc: Adjust `font_path'. 1294 1295 * src/roff/troff/troff.h: Add `searchpath.h' and `mac_path'. 1296 * src/roff/troff/input.cc: Use `mac_path', initialized with 1297 `macro_path'. 1298 (process_startup_file): Set `mac_path' to `safer_macro_path'. 1299 * src/roff/troff/env.cc: Use `mac_path'. 1300 1301 * src/preproc/eqn/main.cc (main): Use `safer_macro_path'. 1302 1303 * NEWS, man/roff.man, src/roff/troff/troff.man, 1304 src/roff/groff/groff.man, tmac/groff_tmac.man, arch/djgpp/README: 1305 Updated. 1306 13072000-11-12 Werner LEMBERG <wl@gnu.org> 1308 1309 * src/include/lib.h: Don't include groff-getopt.h for OSF/1. 1310 1311 * aclocal.m4 (GROFF_SYS_ERRLIST): Do test in C, not in C++. 1312 * configure.in: Fix typo in comment. 1313 * configure: Regenerated. 1314 1315 * src/libgroff/*, src/include/*, src/roff/troff/*: Fixing copyright 1316 dates. 1317 13182000-11-08 Werner LEMBERG <wl@gnu.org> 1319 1320 Add system tmac directory (/usr/local/lib/groff/site-tmac). 1321 1322 * Makefile.in: Add $(libdir), $(libprogramdir), and $(systemtmacdir). 1323 (uninstall_dirs): Add $(libdir), $(libprogramdir), and 1324 $(systemtmacdir). 1325 Use @libdir@. 1326 * Makefile.comm (.man.n): Add @SYSTEMMACRODIR@. 1327 * tmac/Makefile.sub (install_data): Create 1328 $(systemtmacdir) and $(localtmacdir). 1329 (uninstall_sub): Use $(systemtmacdir) for wrapper macros. 1330 * man/roff.man, src/roff/troff/troff.man, src/roff/groff/groff.man, 1331 NEWS, doc/groff.texinfo: Updated and minor fixes. 1332 1333 * Makefile.comm, Makefile.in: Added tmac_{s,an}_prefix stuff again. 1334 * tmac/Makefile.sub: Added `wrap' stuff again, but installing into 1335 $(systemtmacdir) since the wrapper files are platform-dependent. 1336 13372000-11-01 Werner LEMBERG <wl@gnu.org> 1338 1339 * doc/groff.texinfo: Fix typo. 1340 13412000-10-26 Werner LEMBERG <wl@gnu.org> 1342 1343 Convert macros `tmac.XXX' to `XXX.tmac'. Special cases: 1344 tmac.doc.old -> doc-old.tmac 1345 tmac.an.old -> an-old.tmac 1346 1347 * tmac/tmac.*: Moved to ... 1348 * tmac/*.tmac: this. 1349 * tmac/man.local: Fix comment. 1350 * tmac/groff_man.man, tmac/groff_markup.man, tmac/groff_mdoc.man, 1351 tmac/groff_me.man, tmac/groff_ms.man, tmac/groff_tmac.man: Updated. 1352 Added some `FILES' sections. More use of @...@ directives. Other 1353 minor updates. 1354 * arch/djgpp/README, font/devutf8/NOTES: Updated. 1355 * doc/homepage.ms, doc/groff.texinfo: Updated. 1356 * man/groff.man, man/roff.man: Updated. 1357 * src/devices/grodvi/grodvi.man, src/devices/grolbp/grolbp.man, 1358 src/devices/grolj4/grolj4.man, src/devices/grops/grops.man, 1359 src/devices/grotty/grotty.man: Updated. 1360 * src/preproc/pic/pic.man: Updated. 1361 * src/roff/grog/grog.pl, src/roff/grog/grog.sh: Use -mdoc-old 1362 instead of -mdoc.old. 1363 * src/roff/grog/grog.man: Document -mdoc and -mdoc-old. 1364 * src/roff/nroff/nroff.man: Updated. 1365 * NEWS: Updated. 1366 1367 * tmac/fixmacros.sed, tmac/strip.sed: Add explanatory comment. 1368 1369 * tmac/mm.diff: Removed -- it has no use now since the mm package 1370 is part of groff. 1371 1372 * tmac/*: Removed trailing spaces. 1373 1374 * arch/djgpp/t-groff.bat: Fix GROFF_TMAC_PATH (hyphen.us is now in 1375 the tmac subdirectory also). 1376 1377 * Makefile.comm, Makefile.in: Remove tmac_{s,an}_prefix stuff. 1378 * tmac/Makefile.sub: Adapted to new macro names; removed `wrap' 1379 stuff since it is no longer needed. 1380 1381 * README, PROBLEMS: Updated. 1382 13832000-10-25 Werner LEMBERG <wl@gnu.org> 1384 1385 Invert current behaviour: Search first FOOBAR.tmac, then 1386 tmac.FOOBAR. 1387 1388 * src/roff/troff/input.cc: Introduce MACRO_POSTFIX. 1389 (open_mac_file, macro_source): Implement it. 1390 * src/roff/troff/troff.man, tmac/groff_tmac.man, man/roff.man, 1391 doc/groff.texinfo, NEWS: Document it. 1392 1393 * src/roff/nroff/nroff.man, src/roff/groff/groff.man, man/groff.man: 1394 Small documentation improvements. 1395 1396 * test-groff: Fix GROFF_TMAC_PATH (hyphen.us is now in the tmac 1397 subdirectory also). 1398 1399 * font/devps/Makefile.sub: Fix rules for dingbats.*map. 1400 14012000-10-24 Werner LEMBERG <wl@gnu.org> 1402 1403 Add local tmac directory (groff/site-tmac). 1404 1405 * Makefile.in: Add $(localtmacdir). 1406 (uninstall_dirs): Add $(localtmacdir). 1407 * Makefile.comm (.man.n): Add @LOCALMACRODIR@. 1408 * tmac/Makefile.sub (install_data, uninstall_sub): Handle man.local 1409 in $(localtmacdir). Create $(localtmacdir). 1410 * man/roff.man, src/roff/troff/troff.man, NEWS, doc/groff.texinfo: 1411 Updated and minor fixes. 1412 1413 Rename font/devps/generate/dingbats[r]map to dingbats.[r]map. 1414 1415 * font/devps/generate/Makefile.sub, arch/djgpp/README: Adjust. 1416 14172000-10-23 Werner LEMBERG <wl@gnu.org> 1418 1419 Move hyphen.us to tmac directory. 1420 1421 * src/roff/troff/hyphen.us: Removed. 1422 * src/tmac/hyphen.us: Added. 1423 * src/roff/troff/Makefile.sub, tmac/Makefile.sub: Updated. 1424 1425 Change installation structure for data files from .../groff/... to 1426 .../groff/<version><revision>/... to be conform with other GNU 1427 programs. 1428 1429 * Makefile.in, Makefile.comm, src/utils/indxbib/Makefile.sub, 1430 doc/Makefile: Implement it. 1431 * aclocal.m4 (GROFF_PAGE): Add test for new directory structure. 1432 * configure: Updated. 1433 * arch/djgpp/README, font/devutf8/NOTES: Use it. 1434 * NEWS: Document it. 1435 * man/roff.man, tmac/groff_tmac.man: Use @FONTPATH@, @FONTDIR@, and 1436 @MACRODIR@ instead of hard-coded directories. 1437 14382000-10-22 Werner LEMBERG <wl@gnu.org> 1439 1440 Implement $GROFF_BIN_PATH environment variable (which defaults to 1441 $bindir) used for child programs of groff and similar wrappers. 1442 1443 * gendefs.sh: Improve documentation. 1444 * Makefile.comm (,man.n), src/include/Makefile.sub (defs.h), 1445 src/preproc/eqn/Makefile.sub (neqn), 1446 src/roff/nroff/Makefile.sub (nroff): Add $(bindir). 1447 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Implement 1448 $GROFF_BIN_PATH. 1449 * src/roff/groff/groff.cc (main): Implement $GROFF_BIN_PATH and 1450 $GROFF_PATH__ (the latter for communication with troff). 1451 * src/roff/troff/input.cc (main): Use $GROFF_PATH__ for $PATH if 1452 set. 1453 * NEWS, src/roff/nroff/nroff.man, src/roff/groff/groff.man, 1454 doc/groff.texinfo: Document it. 1455 1456 * doc/groff.texinfo: Improve documentation of troff's -a option. 1457 14582000-10-17 Gaius Mulley <gaius@glam.ac.uk> 1459 1460 * src/roff/troff/node.cc: Fixed calculation of opminx and fixed 1461 non-intrusive eol marker. 1462 (troff_output_file::determine_line_limits): New function. 1463 (troff_output_file::draw): Use it. 1464 * src/roff/troff/env.cc (environment::add_html_tag): Use output() + 1465 output_pending_lines() instead of output_line(). 1466 * src/preproc/eqn/main.cc (do_file): Fix graphic_end(). 1467 * src/preproc/html2/pre-html.cc (char_buffer::write_file_troff, 1468 createImage): Small fixes. 1469 14702000-10-14 Werner LEMBERG <wl@gnu.org> 1471 1472 Replace tmac.safer with a real secure solution. 1473 1474 * src/roff/troff/input.cc (open_request, opena_request, pipe_source, 1475 system_request, pipe_output): Disable requests if in safer mode. 1476 * src/roff/groff/groff.cc (main): Remove reference to tmac.safer. 1477 * tmac/tmac.safer, tmac/groff_msafer.man: Removed. 1478 * tmac/Makefile.sub, NEWS, man/roff.man, tmac/groff_tmac.man, 1479 doc/groff.texinfo, src/roff/groff/groff.man, 1480 src/roff/troff/troff.man, arch/djgpp/README: Updated. 1481 1482 * src/devices/grops/ps.cc (main), src/devices/grops/psrm.cc 1483 (resource_manager::output_prolog): Replace setenv() with putenv(). 1484 14852000-10-09 Werner LEMBERG <wl@gnu.org> 1486 1487 * src/libs/libbib/map.c, src/libs/libgroff/getcwd.c, 1488 src/libs/libgroff/strtol.c, src/preproc/html2/image.cc, 1489 src/preproc/html2/pre-html.cc, src/preproc/html2/pushbackbuffer.cc, 1490 src/roff/groff/pipeline.c: Removing `#ifndef errno' to avoid 1491 compilation errors with some compilers. It seems that this code 1492 is no longer necessary -- if yes, it is easy to add some #ifdef's 1493 for that particular old-fashioned compiler. 1494 1495 * MORE.STUFF: Added info about Meta-tbl. 1496 1497 * doc/groff.texinfo: Added more info about `.if "..."..."'. 1498 14992000-10-07 Werner LEMBERG <wl@gnu.org> 1500 1501 Adding a new escape sequence \B'...': If the string between 1502 the delimiters is a valid numeric expression, return the character 1503 `1', and `0' otherwise. This is an analogon to \A. 1504 1505 * src/roff/troff/input.cc (do_expr_test): Implement it. 1506 (token::next): Use it. 1507 * src/roff/troff/troff.man, NEWS, man/groff.man: Document it. 1508 1509 * tmac/tmac.trace: Made independent from escape character. 1510 15112000-10-06 Werner LEMBERG <wl@gnu.org> 1512 1513 Adding a new request .dei: define indirect. The first and second 1514 parameter of .dei are taken from string registers instead directly; 1515 this very special request is needed to make tmac.trace independent 1516 from the escape character (which might even be disabled). 1517 1518 * src/roff/troff/input.cc (do_define_macro): Implement it. 1519 (define_macro_indirect): New function. 1520 (init_input_requests): Use it. 1521 1522 Adding two requests .ecs and .ecr: Save and restore the escape 1523 character. These two requests are needed to make tmac.trace 1524 independent from the escape character (which might even be 1525 disabled). 1526 1527 * src/roff/troff/input.cc (save_escape_char, restore_escape_char): 1528 Implement it. 1529 (init_input_requests): Use it. 1530 1531 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 1532 15332000-09-22 Ricardo Soares Guimar�es <ricardo@conectiva.com.br> 1534 1535 Adding a new option -P and new environment variable GROPS_PROLOGUE 1536 to grops, selecting a different prologue file (minor modifications 1537 by WL). 1538 1539 * src/devices/grops/psrm.cc (resource_manager::output_prolog), 1540 src/devices/grops/ps.cc (main): Implement it. 1541 * src/devices/grops/grops.man, NEWS: Document it. 1542 15432000-09-22 Werner LEMBERG <wl@gnu.org> 1544 1545 * INSTALL: Add info about selecting paper format. 1546 15472000-09-21 Werner LEMBERG <wl@gnu.org> 1548 1549 * src/roff/troff/input.cc (main): Fixing compiler warning. 1550 * src/include/{driver.h, lib.h}: Move inclusion of string.h and 1551 strings.h from the former to the latter. 1552 * src/devices/grolbp/lpb.cc, src/include/lib.h: Move strncasecmp() 1553 stuff from the former to the latter. 1554 15552000-09-11 Werner LEMBERG <wl@gnu.org> 1556 1557 Implementing two new requests .tm1 and .tmc: The former is similar 1558 to .tm but can output leading spaces; its syntax is similar to 1559 defining a string, i.e., a `"' can be used to mark the beginning of 1560 the string to be written to stderr: `.tm1 " test'. The latter is 1561 similar to .tm1 but doesn't write out a final newline character. 1562 1563 * src/roff/troff/input.cc (terminal1, terminal_continue, 1564 do_terminal): New functions. 1565 (init_input_requests): Use them. 1566 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 1567 15682000-09-09 Werner LEMBERG <wl@gnu.org> 1569 1570 * tmac/groff_mdoc.samples.man: Small fixes. 1571 15722000-09-08 Werner LEMBERG <wl@gnu.org> 1573 1574 * tmac/groff_mdoc.man: Fixing typo. 1575 15762000-09-02 Werner LEMBERG <wl@gnu.org> 1577 1578 Implementing a .nop request which does nothing. 1579 1580 * src/roff/troff/input.cc (nop_request): New function. 1581 (init_input_requests): Use it. 1582 * src/roff/troff/troff.man, NEWS, man/groff.man: Updated. 1583 15842000-09-01 Werner LEMBERG <wl@gnu.org> 1585 1586 * doc/groff.texinfo: Added some comments. 1587 15882000-08-30 Werner LEMBERG <wl@gnu.org> 1589 1590 * src/roff/troff/TODO: Updated. 1591 15922000-08-28 Bruno Haible <haible@clisp.cons.org> 1593 1594 * contrib/mm/Makefile.sub: New target 'all', makes all prerequisites 1595 of 'install'. 1596 15972000-08-25 Werner LEMBERG <wl@gnu.org> 1598 1599 * doc/groff.texinfo: Fix comment how to compile the DVI file. 1600 16012000-08-25 Eli Zaretskii <eliz@is.elta.co.il> 1602 1603 * font/devps/generate/Makefile (SHELL): Define explicitly to 1604 "/bin/sh", for non-Unix platforms. 1605 (extraclean): Use a more portable "" quoting instead of a 1606 backslash (which doesn't work on DOS/Windows). 1607 1608 * font/devlj4/generate/Makefile (extraclean): Ditto. 1609 1610 * font/devdvi/generate/Makefile (extraclean): Ditto. 1611 16122000-08-25 Werner LEMBERG <wl@gnu.org> 1613 1614 * NEWS, doc/groff.texinfo, tmac/groff_tmac.man, man/roff.man, 1615 src/roff/troff/troff.man: Document Eli's latest changes. 1616 16172000-08-25 Eli Zaretskii <eliz@is.elta.co.il> 1618 1619 * src/roff/troff/input.cc (open_mac_file, macro_source): Support 1620 macro file names of the form NAME.tmac as well as tmac.NAME. 1621 16222000-08-25 Werner LEMBERG <wl@gnu.org> 1623 1624 * src/include/posix.h: Remove definition of FILENAME_MAX. 1625 1626 * src/preproc/html2/pre-html.h, pre-html.cc: Add return type to 1627 `sys_fatal' and `stop' function(). 1628 1629 * test-groff: Updated. 1630 16312000-08-24 Gaius Mulley <gaius@glam.ac.uk> 1632 1633 Added the new troff command .output <arg> to suppress output (while 1634 still obeying motion) and also the opminx, opminy, opmaxx, opmaxy 1635 registers (for passing the output dimensions to the output device). 1636 1637 * src/roff/troff/div.cc (top_level_diversion::output): Use `width' 1638 parameter. 1639 * src/roff/troff/node.h, src/roff/troff/node.cc 1640 (troff_output_file::really_print_line, 1641 ascii_output_file::really_print_line, 1642 supress_output_file::really_print_line): Use `width' parameter. 1643 (troff_output_file::really_on, troff_output_file::really_off, 1644 output_file::on, output_file::off, real_output_file::on, 1645 real_output_file::off, real_output_file::really_on, 1646 real_output_file::really_off): New functions. 1647 (real_output_file:public output_file): New variable `output_on'. 1648 (real_output_file::begin_page, real_output_file::copy_file, 1649 real_output_file::transparent_char, real_output_file::print_line): 1650 Use it. 1651 (real_output_file::print_line): Use check_output_limits. 1652 * src/roff/troff/reg.h, src/roff/troff/request.h, 1653 src/roff/troff/input.cc (assign_registers): New function to remove 1654 two `goto's. 1655 (do_ps_file): Use it. 1656 (check_output_limits, reset_output_registers, output_request, 1657 init_output_requests): New functions. 1658 (init_input_requests): Updated. 1659 1660 Added new grohtml2 device and html2 preprocessor (coding 1661 not yet finished) which will eventually replace grohtml. 1662 1663 * Makefile.in, tmac/Makefile.sub, tmac/eqnrc, tmac/troffrc-end: 1664 Updated. 1665 * src/include/htmlindicate.h, src/include/htmlindicate 1666 (html_begin_suppress, html_end_suppress): New functions. 1667 * src/preproc/tbl/main.cc: Use it. 1668 * src/roff/groff/groff.cc: Add support for html2 device (which will 1669 automatically invoke the html2 preprocessor). 1670 * src/roff/troff/input.cc (is_html2): New variable. 1671 * src/roff/troff/troff.h, src/roff/troff/env.h, 1672 src/roff/troff/env.cc (environment::add_html_tag): New function 1673 (uses `is_html2'). 1674 (environment::do_break): Use it. 1675 * font/devhtml2/*: New files. 1676 * src/devices/grohtml2: New device. 1677 * src/preproc/html2: New preprocessor. 1678 * tmac/tmac.html-tags, tmac/tmac.html2: New files. 1679 16802000-08-23 Werner LEMBERG <wl@gnu.org> 1681 1682 * src/devices/grolbp/lbp.cc: Same workaround for sinix as for AIX. 1683 16842000-08-22 Werner LEMBERG <wl@gnu.org> 1685 1686 * src/include/lib.h: Provide a fix for IRIX to not include 1687 groff-getopt.h. 1688 16892000-08-18 Werner LEMBERG <wl@gnu.org> 1690 1691 * configure.in: Don't provide an empty value for SH_SCRIPT_SED_CMD 1692 since some non-GNU sed programs can't handle null regexps. 1693 * configure, src/preproc/eqn/Makefile.sub, 1694 src/roff/grog/Makefile.sub, src/roff/nroff/Makefile.sub: Updated. 1695 1696 * src/devices/grolbp/lbp.cc: Add an AIX workaround for an autoconf 1697 bug (string.h and strings.h are both needed according to latest 1698 POSIX standard). 1699 1700 * MORE.STUFF: Added info about unroff and troffcvt. 1701 17022000-08-08 Werner LEMBERG <wl@gnu.org> 1703 1704 * tmac/tmac.a4: Will now work with ms macros also; -ma4 should be 1705 used before -ms. 1706 1707 * tmac/tmac.man.old: Remove unused number register. 1708 1709 * tmac.doc: Minor documentation fix. 1710 17112000-08-07 Paul Eggert <eggert@twinsun.com> 1712 1713 * src/roff/groff/pipeline.c (is_system_shell): 1714 Fix typo: "monocased_shell" no longer exists. 1715 17162000-08-07 Paul Eggert <eggert@twinsun.com> 1717 1718 Remove FILENAME_MAX limits. 1719 1720 * src/roff/groff/pipeline.c (is_system_shell): Do not assume 1721 that the argument length is less than FILENAME_MAX. 1722 * src/libs/libgroff/tmpfile.cc (add_tmp_file): Likewise. 1723 Use struct hack to allocate and free file name. 1724 (struct xtmpfile_list): fname is now part of the structure, 1725 not a pointer to another string. 1726 17272000-08-07 Tom Schmidt <tschmidt@micron.com> 1728 1729 * src/include/posix.h: Add a default value for FILENAME_MAX. 1730 17312000-08-06 Paul Eggert <eggert@twinsun.com> 1732 1733 Add support for new BSD-style man pages (with ".Dd" instead of 1734 ".TH"), so that "groff -man" understands both styles, even 1735 when running "groff -man" on a host whose system man page 1736 macros don't support ".Dd". 1737 1738 * tmac/Makefile.sub (NORMALFILES): Add tmac.an.old. 1739 (stamp-wrap): Source tmac.andoc first when wrapping man macros, 1740 in case the system man macros don't define Dd or TH. 1741 1742 * tmac/tmac.an.old: Renamed from tmac/tmac.an. 1743 * tmac/tmac.an: New one-line file. 1744 * tmac/tmac.andoc (TH): Adjust to the tmac.an.old file renaming. 1745 17462000-08-06 Werner LEMBERG <wl@gnu.org> 1747 1748 * src/roff/troff/troff.man: Fixing typos. 1749 1750Version 1.16.1 released 1751======================= 1752 17532000-07-31 Werner LEMBERG <wl@gnu.org> 1754 1755 Preparing release 1.16.1. 1756 1757 * REVISION: Revision number set to 1. 1758 * MORE.STUFF: Added info about port to DOS. 1759 * NEWS, win32-diffs: Updated. 1760 1761 * src/include/nonposix.h: Remove first line -- this file is used 1762 in C also. 1763 1764 * Makefile.in (dist): Delete Imakefile earlier to avoid a soft 1765 link to it. 1766 17672000-07-30 Werner LEMBERG <wl@gnu.org> 1768 1769 * doc/texinfo.tex: Update to latest version. 1770 17712000-06-28 Paul Eggert <eggert@twinsun.com> 1772 1773 * Makefile.in (ENVSETUP): Don't assume POSIX make semantics for 1774 commands that fail. Don't assume that "export a=b" is valid shell 1775 syntax. This is needed for Solaris 2.5.1. 1776 1777 * src/libs/libgroff/tmpfile.cc, src/utils/indxbib/indxbib.cc: Fix 1778 comment about missing Solaris headers. 1779 1780 * PROBLEMS: Add section about problems with Sun Make and VPATH. 1781 17822000-06-25 Werner LEMBERG <wl@gnu.org> 1783 1784 * src/devics/grodvi/dvi.cc: Replace _setmode() (for MSC) with 1785 SET_BINARY(). 1786 1787 * src/include/posix.h: Use HAVE_UNISTD instead of _MSC_VER. 1788 1789 * win32-diffs: Updated. 1790 * README.WIN32: Added CRs to make all Windows editors happy. 1791 1792 * src/roff/troff/node.cc: Added WIFSIGNALED() macro (copied from 1793 src/roff/groff/pipeline.c). 1794 17952000-06-23 Eli Zaretskii <eliz@is.elta.co.il> 1796 1797 * src/roff/grog/Makefile.sub (grog): Prepend `-e' to 1798 $(SH_SCRIPT_SED_CMD), for the case where its value is empty. 1799 18002000-06-17 Eli Zaretskii <eliz@is.elta.co.il> 1801 1802 * src/utils/tfmtodit/tfmtodit.cc: #include nonposix.h. 1803 (tfm::load, gf::load): Open tfm and gf files in binary mode: these 1804 are binary files. 1805 (main): Support non-Posix systems with several different styles of 1806 slash characters in file names. 1807 1808 * src/utils/pfbtops/pfbtops.c: #include nonposix.h. 1809 (main) [SET_BINARY]: Switch stdin into binary mode. 1810 1811 * src/utils/indxbib/indxbib.cc: #include nonposix.h. 1812 (main): Support file names with several possible slash-type 1813 characters, as given by DIR_SEPS[] in nonposix.h. 1814 (main) [__MSDOS__]: If renaming the temporary index file fails 1815 because it has more than one dot in its trunk, replace the dot 1816 with an underscore and try again. 1817 (do_file): Use FOPEN_RB instead of "r". Skip every CR before a 1818 Newline. 1819 [__MSDOS__ || _MSC_VER]: Stop at the first ^Z character. 1820 1821 * src/utils/hpftodit/hpftodit.cc: #include nonposix.h. 1822 (File::File): Open the input file in binary mode. Strip CR 1823 characters from each CR-LF pair. 1824 (xbasename): Support file names with several possible slash-type 1825 characters, as given by DIR_SEPS[] in nonposix.h. 1826 1827 * src/include/Makefile.sub (HDRS): Add nonposix.h. 1828 1829 * src/roff/troff/node.cc [HAVE_UNISTD_H]: Include <unistd.h>. 1830 (WIFEXITED, WEXITSTATUS, WTERMSIG, WIFSTOPPED, WSTOPSIG) 1831 [!_POSIX_VERSION]: Define for traditional Unix systems. 1832 (real_output_file::real_output_file): Remove the MSVC-specific 1833 call to popen, use instead POPEN_WT, appropriately defined on 1834 nonposix.h. #include nonposix.h. 1835 (real_output_file::~real_output_file): Remove the MSVC-specific 1836 call to pclose, a suitable macro is now defined on nonposix.h. 1837 Use the portable macros WIFEXITED, WIFSIGNALED, WTERMSIG, WSTOPSIG 1838 and WEXITSTATUS instead of assuming traditional Unix 1839 interpretation of the status returned by pclose. 1840 1841 * src/roff/troff/input.cc (pipe_source): Remove the MSVC-specific 1842 call to popen, use POPEN_RT instead (appropriately defined on 1843 nonposix.h). #include nonposix.h. 1844 (ps_bbox_request): Open the PostScript file in binary mode. 1845 Close the file after processing it. 1846 (getpid) [_MSC_VER]: Remove; a suitable macro is now defined on 1847 nonposix.h. 1848 1849 * src/roff/groff/pipeline.c (run_pipeline) [__MSDOS__ || _WIN32]: 1850 A version of run_pipeline that doesn't use `fork'. 1851 (signal_catcher) [__MSDOS__ || _WIN32]: New function. 1852 (system_shell_name, system_shell_dash_c) 1853 (is_system_shell) [__MSDOS__ || _WIN32]: New functions, to hide 1854 the ugliness of testing DOS/Windows file names for equality, and 1855 support both stock shells and ports of Unix shells. 1856 1857 * src/roff/groff/groff.cc: #include nonposix.h. 1858 (BSHELL): Definition moved to nonposix.h. 1859 (main): Use PATH_SEP[0] instead of literal ':'. Use BSHELL_DASH_C 1860 instead of a literal "-c". 1861 (xbasename): Support file names with several possible slash-type 1862 characters, as given by DIR_SEPS[] in nonposix.h. 1863 (possible_command::print): Use BSHELL_DASH_C and IS_BSHELL instead 1864 of literal strings. 1865 1866 * src/preproc/soelim/soelim.cc: #include nonposix.h. 1867 (do_file): Use IS_ABSOLUTE instead of testing for a literal '/'. 1868 1869 * src/preproc/pic/Makefile.sub (YTABH): Change pic.tab.h to 1870 pic_tab.h. 1871 1872 * src/preproc/pic/lex.cc: Change pic.tab.h to pic_tab.h. 1873 1874 * src/preproc/eqn/Makefile.sub (YTABH): Rename eqn.tab.h to 1875 eqn_tab.h. 1876 1877 * src/preproc/eqn/lex.cc: #include eqn_tab.h, not eqn.tab.h. 1878 1879 * src/libs/libgroff/tmpfile.cc (DEFAULT_TMPDIR) [P_tmpdir]: If 1880 P_tmpdir is defined, use it instead of the literal "/tmp". 1881 (remove_tmp_files, add_tmp_file): New functions. 1882 (xtmpfile): Record temporary files and register an atexit function 1883 to delete them explicitly, instead of relying on the OS to do 1884 that, which doesn't work on non-Unix systems. 1885 1886 * src/libs/libgroff/searchpath.cc: #include nonposix.h. 1887 (search_path::search_path): Use PATH_SEP instead of a literal 1888 colon. 1889 (search_path::command_line_dir): Ditto. 1890 (search_path::open_file): Use IS_ABSOLUTE, PATH_SEP and DIR_SEPS, 1891 to support non-Posix systems. 1892 1893 * src/libc/libbib/search.cc: #include nonposix.h. 1894 (search_list::add_file): Open the file in binary mode. 1895 1896 * src/libs/libbib/linear.cc: #include nonposix.h. 1897 (file_buffer::load): Remove \r characters preceding \n from the 1898 loaded buffer. 1899 1900 * src/libs/libbib/index.cc: #include nonposix.h. 1901 (make_index_search_item): Open index_filename in O_BINARY mode. 1902 (index_search_item_iterator::get_tag): Ditto. Remove \r 1903 characters before \n characters. 1904 (index_search_item::check_files): Open files in binary mode. 1905 (index_search_item::munge_filename): Support DOS-style file names 1906 with backslashes and drive letters, use IS_ABSOLUTE. 1907 1908 * src/devices/grops/ps.cc: #include nonposix.h. 1909 (main) [SET_BINARY]: Switch stdout to binary mode. 1910 1911 * src/devices/grolj4/lj4.cc: #include nonposix.h. 1912 (main) [SET_BINARY]: Switch stdout to binary mode. 1913 1914 * src/devices/grolbp/lbp.cc: #include nonposix.h 1915 (fill_pattern) [SET_BINARY]: Switch stdout to binary mode. 1916 1917 * src/devices/grodvi/dvi.cc: #include nonposix.h. 1918 [_MSC_VER]: Remove inclusion of Windows-specific headers (done by 1919 nonposix.h). 1920 (main) [SET_BINARY]: Switch stdout to binary mode. 1921 [_MSC_VER]: Remove an explicit call to _setmode. 1922 1923 * src/include/nonposix.h: New file. 1924 1925 * Makefile.in (ENVSETUP): New variable, to set up case-sensitive 1926 operation when building with DJGPP. 1927 ($(TARGETS), dot, $(LIBDIRS), $(CPROGDIRS), $(CCPROGDIRS)) 1928 ($(DEVDIRS), $(TTYDEVDIRS), $(INCDIRS), $(OTHERDIRS)): Use 1929 ENVSETUP. 1930 1931 * Makefile.comm: mv y.tab.[ch] to y_tab.[ch], to make it work on 1932 MS-DOS. 1933 (.man.n): Replace `;' with `|', since FONTPATH, MACROPATH, 1934 etc. can include a semi-colon on DOS/Windows. 1935 (depend.temp): Use depend1.temp instead of depend.temp1, to 1936 prevent files from overerwiting each other on 8+3 filesystems. 1937 1938 * gendef.sh (t): Change definition to work with DOS/Windows. 1939 1940 doc/groff.texinfo: Apart of some typo corrections, I also changed 1941 some index entris, to make them more non-ambiguous, and also put 1942 @ignore around some parts that are not yet written, to allow the 1943 Info output be readable. 1944 19452000-06-10 Gael Queri <gqueri@mail.dotcom.fr> 1946 1947 Replaced specific checks for function declarations with a generic 1948 routine taken from GNU bfd. 1949 1950 * aclocal.m4 (GROFF_NEED_DECLARATION): New function. 1951 GROFF_PUTENV, GROFF_POPEN, GROFF_PCLOSE, GROFF_HYPOT: Removed. 1952 * configure.in: Use it. 1953 * src/devices/grolbp/lbp.cc, src/include/lib.h, 1954 src/preproc/grn/hgraph.cc, src/preproc/pic/pic.h, 1955 src/roff/groff/groff.cc: Use it. 1956 * Makefile.in, configure: Updated. 1957 19582000-06-07 Paco Andres Verdu <pandres@dragonet.es> 1959 1960 * src/devides/grolbp/lbp.h: Removed unused variables. 1961 19622000-05-31 Keith Thompson <kst@sdsc.edu> 1963 1964 * src/devices/grolbp/lbp.cc (set_papersizes): Add declaration of 1965 strncasecmp(). 1966 19672000-05-31 Werner LEMBERG <wl@gnu.org> 1968 1969 * aclocal.m4 (GROFF_SRAND): New function to test the return value 1970 of srand() -- at least SunOS 4.1.3 uses `int' instead of `void'. 1971 * configure.in: Use it. 1972 * src/preproc/pic/pic.y, src/preproc/pic/pic.cc: Use it. 1973 * configure, Makefile.in: Updated. 1974 1975 * configure.in: Add test for strncasecmp(). 1976 * src/include/lib.h: Use it. 1977 19782000-05-29 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru> 1979 1980 * src/preproc/grn/Makefile.sub: Add MLIB. 1981 19822000-05-29 Nix <nix@esperi.demon.co.uk> 1983 1984 * Makefile.in: Use @datadir@ and @mandir@ appropriately. 1985 19862000-05-29 Werner LEMBERG <wl@gnu.org> 1987 1988 * src/roff/grog/Makefile.sub, src/roff/grog/grog.sh: Add `@g@'. 1989 1990 * PROBLEMS: Small update. 1991 1992 * src/devices/grolbp/lbp.cc: Various small fixes. 1993 19942000-05-28 Keith Thompson <kst@sdsc.edu> 1995 1996 * src/roff/nroff/nroff.sh: Fix main loop syntax. 1997 1998 * src/utils/indxbib/indxbib.cc: Add declaration of mkstemp(). 1999 20002000-05-25 Werner LEMBERG <wl@gnu.org> 2001 2002 * man/roff.man: Removed unused macro. 2003 20042000-05-24 Werner LEMBERG <wl@gnu.org> 2005 2006 * Makefile.in (dist): Remove src/xditview/Imakefile explicitly. 2007 This is needed e.g. if you do 2008 `make distclean; ./configure; make dist'. 2009 2010Version 1.16 released 2011===================== 2012 20132000-05-23 Werner LEMBERG <wl@gnu.org> 2014 2015 Adding font CWI (constant width italic) to devdvi. 2016 2017 * font/devdvi/CWI: New file. 2018 * font/devdvi/generate/Makefile: Add generating rule. 2019 * font/devdvi/DESC.in, font/devdvi/Makefile.sub, win32-diffs, 2020 tmac/tmac.dvi: Use it. 2021 * NEWS: Announce it. 2022 2023 * font/devlj4/*: Regenerated (only adding kernings for `cq' glyph). 2024 * font/devlj4/generate/Makefile: Cosmetic changes only. 2025 2026 * man/groff.man: Removed most of the redundant description of 2027 special characters (which is in groff_char.man). Added font 2028 translation CB->CR for devdvi. Other minor fixes. 2029 2030 * tmac/tmac.dvi: Improved appearance of \(co (copyright) and \(rg 2031 (registered) symbols. 2032 20332000-05-22 Werner LEMBERG <wl@gnu.org> 2034 2035 * doc/Makefile: Added rule for creating info files. 2036 2037 * font/devdvi/*: Added kernings for `cq' glyph. Updated to latest 2038 AMS font metrics. 2039 * font/devdvi/generate/Makefile: Fixed dependencies. 2040 2041 * font/devps/*: Regenerated. Heavy changes for Bookman and 2042 NewCentury Schoolbook! 2043 * font/devps/generate/afmname: Will now run with GNU awk. 2044 * font/devps/generate/textmap: Added forgotten `cq' glyph name. 2045 * font/devps/generate/Makefile: Cosmetic changes only. 2046 20472000-05-21 Werner LEMBERG <wl@gnu.org> 2048 2049 * tmac/tmac.an: Added a new command line option `-rSxx' (`xx' can be 2050 10, 11, or 12) to support output with 11pt and 12pt base font sizes. 2051 `.SS' now produces a heading with a smaller size than `.SH'. 2052 Completely formatted. 2053 * doc/groff.texinfo, tmac/groff_man.man, NEWS: Document it. 2054 2055 * man/groff.man: Improved table appearance. Use of `eo' request 2056 to reduce number of doubled backslashes in macro definitions. 2057 Replacing `\e' with `\(rs'. Other minor fixes. 2058 2059 * src/preproc/tbl/main.cc: Insert HTML table end tag before `lf' 2060 to have correct line number. 2061 2062 * INSTALL: Small improvement. 2063 20642000-05-20 Bernd Warken <bwarken@mayn.de> 2065 2066 * man/roff.man, tmac/groff_tmac.man: Updates (with corrections by 2067 WL). 2068 20692000-05-19 Bernd Warken <bwarken@mayn.de> 2070 2071 * man/groff.man: Complete update (with a lot of corrections by WL). 2072 20732000-05-18 Werner LEMBERG <wl@gnu.org> 2074 2075 Adding `cq' (PS name `quoteright') glyph name as an alias for "'". 2076 2077 * font/*/*: Implement it. 2078 * man/groff_char.man, NEWS: Document it. 2079 2080 * src/include/unix.h: Removed. It isn't used. 2081 2082 * doc/groff.texinfo: Slight improvements. 2083 20842000-05-17 Werner LEMBERG <wl@gnu.org> 2085 2086 * README, win32-diffs: Small fixes and improvements. 2087 20882000-05-16 Werner LEMBERG <wl@gnu.org> 2089 2090 * FDL: New file (the Free Documentation License version 1.1). 2091 2092 * doc/groff.texinfo: Added many start-up values for gtroff. 2093 Some structural improvements of the source code. 2094 20952000-05-15 Werner LEMBERG <wl@gnu.org> 2096 2097 * src/roff/troff/input.cc: Added small comment about troffrc-end. 2098 * src/roff/troff/troff.man: Added info about troffrc-end. 2099 21002000-05-14 Werner LEMBERG <wl@gnu.org> 2101 2102 * Makefile.in (EXTRADIRS): Fix typos. 2103 (dist): Handle deletion of old .tar.gz file correctly. 2104 (DISTDIRS): Include all tty output devices. 2105 2106 * doc/groff.texinfo: Adding more cross references; countless other 2107 fixes. 2108 21092000-05-13 Werner LEMBERG <wl@gnu.org> 2110 2111 * MORE.STUFF: Added Robert Marks's utilities. 2112 21132000-05-12 Werner LEMBERG <wl@gnu.org> 2114 2115 Added win32 port contributed by Blake McBride 2116 <blake@florida-software.com>. 2117 2118 * README.WIN32, win32-diffs: New files. 2119 * NEWS: Updated. 2120 2121 * src/preproc/grn/hgraph.cc (HGSetBrush): Replace `%lf' with `%f'. 2122 (tmove, tmove2): Added parentheses to avoid compiler warnings. 2123 (change): Removed unused variables. 2124 2125 * src/preproc/grn/main.cc (main, conv): Removed unused variables. 2126 (savebounds): Changed return value from `int' to `void'. 2127 * src/preproc/grn/hdb.cc: Ditto. 2128 2129 * src/devices/grolbp/lbp.cc (lbp_printer::draw): Removed superfluous 2130 final backslash in comment to avoid compiler warning. 2131 2132 * src/utils/pfbtops/pfbtops.c: Added `getopt.h'. 2133 2134 * doc/groff.texinfo: More fixes. 2135 21362000-05-11 OKAZAKI Tetsurou <okazaki@be.to> 2137 2138 * tmac/tmac.doc: Documentation fix. 2139 21402000-05-11 Werner LEMBERG <wl@gnu.org> 2141 2142 * doc/groff.texinfo: Reading the source code shows up a lot of 2143 omissions and incorrect data... More conversion to @Deffn macros. 2144 21452000-05-10 Werner LEMBERG <wl@gnu.org> 2146 2147 * src/roff/troff/reg.cc (number_value_to_ascii): Remove ASCII 2148 dependency. 2149 2150 * src/roff/troff/request.h: Removing unused `no_break_flag'. 2151 21522000-05-09 Werner LEMBERG <wl@gnu.org> 2153 2154 * man/groff.man, man/roff.man, tmac/groff_tmac.man: Minor 2155 improvements. 2156 2157 * doc/groff.texinfo: Extended history section. More conversion to 2158 @Deffn macros. More .tr documentation. 2159 21602000-05-07 Werner LEMBERG <wl@gnu.org> 2161 2162 * doc/groff.texinfo: Completed tab section. Added info about 2163 fields. 2164 21652000-05-06 Mike MacIsaac <mikemac@us.ibm.com> 2166 2167 * PROBLEMS: Describe configure script fix for OS/390 Unix. 2168 21692000-05-05 Werner LEMBERG <wl@gnu.org> 2170 2171 * font/devdvi/DESC.in: Change size 11pt to 10.95pt (as used in 2172 LaTeX 2e). 2173 * NEWS: Document it. 2174 2175 * man/troff.man: Minor optical improvements. 2176 21772000-05-03 Werner LEMBERG <wl@gnu.org> 2178 2179 Adding `dq' (PS name `quotedbl') glyph name as an alias for `"'. 2180 2181 * font/*/*: Implement it. 2182 * man/groff_char.man, NEWS: Document it. 2183 21842000-05-02 Werner LEMBERG <wl@gnu.org> 2185 2186 * tmac/groff_tmac.man, man/groff.man, man/roff.man: Fixing @MANxEXT@ 2187 expansion. 2188 * NEWS: Document the three new man pages. 2189 2190 * aclocal.m4 (GROFF_CXX_CHECK): Removing obsolete AC_C_CROSS call. 2191 * configure: Updated. 2192 2193 * font/devcp1047/R.proto: Fixing fatal bug (a missing `"' character). 2194 21952000-05-01 Werner LEMBERG <wl@gnu.org> 2196 2197 Added grap support to grog. 2198 2199 * src/roff/grog/grog.sh, src/roff/grog/grog.pl: Implement it. 2200 * src/roff/grog/grog.man: Document it. 2201 2202 * doc/groff.texinfo, NEWS: Add info about grap support. 2203 2204 Add new man pages comptributed by Bernd Warken <bwarken@mayn.de> 2205 (with slight fixes by me). 2206 2207 * tmac/groff_tmac.man: New file documenting tmac mechanism. 2208 * tmac/Makefile.sub: Add groff_tmac.man. 2209 * man/roff.man: New file giving overview of roff system. 2210 * man/troff.man: A short reference of troff. 2211 * man/Makefile.sub: Add roff.man and troff.man. 2212 22132000-04-30 Werner LEMBERG <wl@gnu.org> 2214 2215 Added grap support to groff. 2216 2217 * src/roff/groff/groff.cc: Implement it. 2218 * src/roff/groff/groff.man: Document it. 2219 2220 * src/devices/grotty/grotty.man: Add cp1047 device. 2221 * src/preproc/eqn/eqn.man, src/preproc/eqn/neqn.sh, tmac/eqnrc: 2222 Ditto. 2223 * src/roff/groff/groff.man: Ditto. 2224 * src/roff/nroff/nroff.sh, src/roff/nroff/nroff.man: Ditto. 2225 * doc/groff.texinfo: Ditto. 2226 2227 * tmac/troffrc: Fix mapping of latin-1 char 160 (non-breakable space) 2228 for cp1047. 2229 22302000-04-29 Werner LEMBERG <wl@gnu.org> 2231 2232 * man/groff_char.man: Add `pc' glyph. 2233 * tmac/tmac.latin1: Replacing `md' glyph with `pc'. 2234 * tmac/tmac.tty: Add `pc' glyph. 2235 * tmac/tmac.tty-char: Use/add `pc' glyph. Don't call tmac.latin1 if 2236 we use cp1047 output device. 2237 2238 * Makefile.in, aclocal.m4: Don't build utf8 on EBCDIC hosts since 2239 there are still hardcoded latin1->unicode values in utf8's font 2240 definition files. 2241 * configure: Updated. 2242 * NEWS: Minor clarification. Updated. 2243 2244 * PROBLEMS: Formatted. Added info about C++ fix pack for OS/390 2245 Unix. 2246 22472000-04-28 Werner LEMBERG <wl@gnu.org> 2248 2249 Adding EBCDIC code page 1047. 2250 2251 * font/devcp1047/R.proto, font/devcp1047/Makefile.sub, 2252 font/devcp1047/DESC.proto: New files. 2253 2254 * aclocal.m4 (GROFF_EBCDIC): Introduce TTYDEVDIRS which can be 2255 either ascii/latin1 or cp1047. 2256 * Makefile.in: Use it. 2257 * configure: Updated. 2258 2259 Replacing and/or adding `md' (mathdot) glyph with `pc' 2260 (periodcentered) in all text fonts. 2261 2262 * font/*/*: Change it. 2263 22642000-04-27 Werner LEMBERG <wl@gnu.org> 2265 2266 * aclocal.m4 (GROFF_OS390): Fixing compiler flags. 2267 2268 * configure.in: Add check for strings.h. 2269 * src/include/driver.h: Use HAVE_STRINGS_H. 2270 * src/devices/grolbp/lpb.cc: Remove string.h. 2271 2272 * src/include/groff-getopt.h: New file. It will be used instead of 2273 getopt.h (to be included in lib.h) to avoid endless problems with 2274 picky C++ compilers. 2275 * src/include/lib.h: Use groff-getopt.h. 2276 * src/include/Makefile.sub: Updated. 2277 2278 * configure: Updated. 2279 * Makefile.in: Updated. 2280 2281 * NEWS: Mention EBCDIC support. 2282 22832000-04-26 Werner LEMBERG <wl@gnu.org> 2284 2285 * TODO: Some additions. 2286 22872000-04-25 Werner LEMBERG <wl@gnu.org> 2288 2289 * src/roff/troff/troff.man, doc/groff.texinfo: Fixing documentation 2290 of mso request. 2291 22922000-04-23 Werner LEMBERG <wl@gnu.org> 2293 2294 * src/roff/troff/troff.man: Minor fixes. 2295 22962000-04-22 Werner LEMBERG <wl@gnu.org> 2297 2298 * src/roff/troff/troff.man, doc/groff.texinfo, NEWS: Document the 2299 `.T' string register and the incompatible definition of the `.T' 2300 number register (compared to Unix troff). 2301 2302 * man/groff_char.man: Add some missing characters. 2303 * font/devutf8/NOTES: Update. 2304 23052000-04-21 Werner LEMBERG <wl@gnu.org> 2306 2307 * src/include/htmlindicate.h, src/include/lib.h, 2308 src/include/posix.h: Fix copyright. 2309 2310 * src/include/Makefile.sub: Update. 2311 23122000-04-20 Werner LEMBERG <wl@gnu.org> 2313 2314 * src/roff/troff/input.cc (input_char_description): Removing 2315 superfluous space char. 2316 2317 * tmac/tmac.X: Fix typo \(bq -> \(Bq. 2318 2319 * doc/groff.texinfo: Document EBCDIC. 2320 23212000-04-19 Werner LEMBERG <wl@gnu.org> 2322 2323 Introducing `shc' as the glyph name for the soft hyphen character. 2324 2325 * tmac/tmac.tty, tmac/tmac.latin1, tmac/tmac.html, 2326 font/devlatin1/R.proto: Use it. 2327 2328 * NEWS: Updated. 2329 23302000-04-18 Werner LEMBERG <wl@gnu.org> 2331 2332 * src/devices/grops/ps.cc (ps_printer::flush_sbuf): Removing 2333 dependency on ASCII order. 2334 23352000-04-16 Sandor BARANY <S.Barany@infosys.tuwien.ac.at> 2336 2337 * src/libs/libgroff/illegal.c: Added EBCDIC table. 2338 * src/roff/troff/input.cc: Added adaptation to EBCDIC. 2339 2340 * src/preproc/refer/refer.cc, src/roff/troff/env.cc: Minor changes 2341 to increase portability. 2342 23432000-04-15 Werner LEMBERG <wl@gnu.org> 2344 2345 * aclocal.m4: Added GROFF_EBCDIC and GROFF_OS390 tests. 2346 Redefined AC_OUTPUT_MAKE_DEFS to replace ASCII character `012' with 2347 the generic `\n' if under OS/390 Unix. 2348 2349 * configure.in: Call GROFF_EBCDIC and GROFF_OS390. 2350 2351 * configure: Regenerated. 2352 23532000-04-14 Werner LEMBERG <wl@gnu.org> 2354 2355 * doc/groff.texinfo: More conversions to @Deffn. 2356 23572000-04-12 Werner LEMBERG <wl@gnu.org> 2358 2359 * tmac/tmac.psfig: Fix incorrect use of `&' operator by replacing it 2360 with `:'. 2361 2362 * src/roff/nroff/nroff.man: Add note about tmac.tty-char. 2363 23642000-04-10 Werner LEMBERG <wl@gnu.org> 2365 2366 * doc/groff.texinfo: More conversions to @Deffn. 2367 23682000-04-08 Werner LEMBERG <wl@gnu.org> 2369 2370 * src/libs/libgroff/{getopt.c,getopt1.c}, src/include/getopt.h: 2371 Updated to latest version (glibc 2.1.3). 2372 23732000-04-07 Werner LEMBERG <wl@gnu.org> 2374 2375 * doc/Makefile (clean): Include more index files. 2376 Add rule texinfo->dvi. 2377 23782000-04-05 Werner LEMBERG <wl@gnu.org> 2379 2380 * doc/groff.texinfo: Added new index `op' for operators. More 2381 info on end of sentence characters. More use of @Deffn. 2382 23832000-03-30 Werner LEMBERG <wl@gnu.org> 2384 2385 * */*.man: Adding a note that a whitespace can be inserted between 2386 a command line option and its parameter -- we are using GNU getopt. 2387 2388 * src/roff/groff/groff.man: Add example of `-m mandoc'. 2389 23902000-03-28 Werner LEMBERG <wl@gnu.org> 2391 2392 Correct anachronism of calling the man macro file with `-man' 2393 instead of `-m man' etc. 2394 2395 * tmac/tmac.man, tmac/tmac.mandoc, tmac/tmac.markup, tmac/tmac.mdoc, 2396 tmac/tmac.me, tmac/tmac.ms: New files tmac.m<package> which simply 2397 load tmac.<package>. 2398 2399 * tmac/Makefile.sub: Updated. Take care of $(tmac_an_prefix) etc. 2400 2401 * NEWS: Updated. 2402 2403 * doc/groff.texinfo: Updated. 2404 2405 * tmac/groff_man.man: Copyright added. 2406 24072000-03-27 Werner LEMBERG <wl@gnu.org> 2408 2409 * doc/groff.texinfo: Introducing macros `Deffn' and `Defmac' to 2410 typeset the request resp. escape name with a tt font -- due to a 2411 bug in texinfo.tex it is necessary to use the `-e' switch with 2412 texi2dvi. 2413 2414 Improving info about usage of groff units. 2415 2416 Other minor fixes. 2417 24182000-03-20 Werner LEMBERG <wl@gnu.org> 2419 2420 * doc/groff.texinfo: Added section about man macro package 2421 (I've basically taken groff_man.man). Introducing new indices `ma' 2422 for macros/strings and `gl' for glyph names. Other minor fixes. 2423 2424 * tmac/groff_man.man: Fixed some typos. 2425 24262000-03-19 Werner LEMBERG <wl@gnu.org> 2427 2428 * doc/groff.texinfo: Removed all occurrences of `you', `we', etc. 2429 Other minor fixes. 2430 2431 * doc/texinfo.tex: New file. 2432 24332000-03-18 Werner LEMBERG <wl@gnu.org> 2434 2435 * doc/groff.texinfo: Improved section on number registers. Other 2436 minor updates. 2437 24382000-03-16 Werner LEMBERG <wl@gnu.org> 2439 2440 * src/roff/groff/groff.man: Added info about grolbp. Make nicer 2441 synopsis. 2442 2443 * src/devices/grolbp/grolbp.man, src/roff/nroff/nroff.man, 2444 src/devices/grolj4/grlj4.man, src/devices/grops/grops.man, 2445 src/preproc/eqn/eqn.man, src/utils/afmtodit/afmtodit.man, 2446 src/utils/tfmtodit/tfmtodit.man: Make nicer synopsis. 2447 2448 * src/preproc/grn/grn.man: Better synopsis; added copyright. 2449 2450 * src/roff/grog/grog.man: Updated copyright date. 2451 24522000-03-14 Francisco Andres Verdu <pandres@dragonet.es> 2453 2454 * configure.in: Added test for strdup. 2455 2456 * src/devices/grolbp/lbp.cc: Added a strdup() version in case none 2457 is available. 2458 2459 Replaced dynamic allocation of arrays `[...]' with `new' operator. 2460 2461 Other minor fixes. 2462 24632000-03-12 OKAZAKI Tetsurou <okazaki@be.to> 2464 2465 * Makefile.comm: Add $(INCLUDES) to $(ALL_CFLAGS). 2466 24672000-03-11 Werner LEMBERG <wl@gnu.org> 2468 2469 * src/preproc/grn/hdb.cc (DBGetType): Added return value to make 2470 compilers silent. 2471 * src/preproc/grn/hgraph.cc: Add #ifdef for hypot(). 2472 * src/include/lib.h: Remove some spaces. 2473 24742000-03-10 Werner LEMBERG <wl@gnu.org> 2475 2476 * src/libs/libgroff/tmpfile.cc (xtmptemplate, xtmpfile): Removing 2477 initializers from arguments (some compilers don't like this). 2478 24792000-03-09 Gaius Mulley <gaius@glam.ac.uk> 2480 2481 * src/libs/libgroff/htmlindicate.cc: Added library file which is now 2482 used by pic and eqn to tell grohtml where the graphic regions start 2483 and end. 2484 * src/libs/libgroff/Makefile.sub: Use it. 2485 * src/preproc/eqn/main.cc, src/preproc/pic/troff.cc: Altered to use 2486 graphic_start() and graphic_end() from htmlindicate.cc. 2487 24882000-03-09 Werner LEMBERG <wl@gnu.org> 2489 2490 * tmac/tmac.safer: Will now work correctly in compatibility mode. 2491 * tmac/groff_man.man: More fixes. 2492 24932000-03-08 Werner LEMBERG <wl@gnu.org> 2494 2495 * doc/Makefile: Added texput.log to the `clean' target. 2496 * doc/groff.texinfo: Added info about delimiters for escapes. 2497 24982000-03-08 Bernd Warken <bwarken@mayn.de> 2499 2500 * src/preproc/pic/pic.man: Add info on conversion of pic images to 2501 other graphic formats. 2502 25032000-03-07 OKAZAKI Tetsurou <okazaki@be.to> 2504 2505 * Makefile.in, contrib/mm/Makefile.sub, src/preproc/eqn/Makefile.sub, 2506 src/roff/groff/Makefile.sub, src/roff/nroff/Makefile.sub, 2507 src/utils/afmtodit/Makefile.sub: Use $(INSTALL_SCRIPT) for script 2508 files. 2509 25102000-03-07 Werner LEMBERG <wl@gnu.org> 2511 2512 * doc/groff.texinfo: Spelling fixes. 2513 25142000-03-06 Werner LEMBERG <wl@gnu.org> 2515 2516 * tmac/groff_man.man: Completely revised to cover everything in 2517 tmac.an. 2518 2519 * doc/groff.texinfo, src/roff/troff/troff.man: Document evc request. 2520 Other minor fixings. 2521 * src/roff/troff/env.cc (environment_copy): Improve error message and 2522 fix itoa->i_to_a. 2523 * src/roff/troff/TODO: Updated. 2524 2525 * doc/Makefile: Bug fixes -- this is still provisional, though... 2526 2527 * tmac/eqnrc: Small fixes. 2528 25292000-03-05 Abramo Bagnara <abramo@alsa-project.org> 2530 2531 Adding a request `evc' to copy environments. 2532 2533 * src/roff/troff/env.cc (environment::copy, environment_copy): 2534 Implement it. 2535 * src/roff/troff/env.h: Add prototype. 2536 25372000-03-05 Francisco Andres Verdu <pandres@dragonet.es> 2538 2539 Adding strsep() -- Solaris 8 doesn't have it. 2540 2541 * configure.in: Test it. 2542 * src/devices/grolbp/lbp.cc: Add code. 2543 25442000-03-05 Werner LEMBERG <wl@gnu.org> 2545 2546 * src/roff/troff/div.cc (macro_diversion::output, 2547 top_level_diversion::output): Fixing an incompatibility with 2548 original troff: \x'0' updates the .a register also. Thanks to 2549 <Andries.Brouwer@cwi.nl> for pointing this out. 2550 * doc/groff.texinfo: Document it. 2551 2552 * Makefile.in: Create Makefile.dep if necessary before calling the 2553 submake process to avoid warning about nonexistent file. 2554 2555 * NEWS, PROJECTS: Updated. 2556 25572000-03-04 Werner LEMBERG <wl@gnu.org> 2558 2559 * tmac/troffrc: Add tmac.lbp. 2560 25612000-03-03 Francisco Andres Verdu <pandres@dragonet.es> 2562 2563 * tmac/tmac.lbp: New file. 2564 * src/devices/grolbp/grolbp.man: Add documentation of `lbpname' 2565 command. 2566 25672000-03-03 Werner LEMBERG <wl@gnu.org> 2568 2569 * Makefile.in: Fixing $(subdir). 2570 2571 * README, NEWS: Small fixes. 2572 2573 * test-groff: Adding path to grolbp. 2574 2575 * configure.in: The (new) file src/xditview/Imakefile.in will be 2576 also configured -- it is now possible to build gxditview in a 2577 directory different from $srcdir. 2578 25792000-03-02 Blake McBride <blake@florida-software.com> 2580 2581 * src/libs/libgroff/searchpath.cc (open_file): Adapting to WinNT. 2582 2583 * MORE.STUFF: Added website of bell labs and info about plot2dev. 2584 25852000-03-01 Colin Phipps <crp22@cam.ac.uk> 2586 2587 * src/utils/indxbib/indxbib.cc (main): Use mkstemp() for temporary 2588 files. 2589 25902000-02-29 Werner LEMBERG <wl@gnu.org> 2591 2592 Adding GNU getopt to the groff distribution. 2593 2594 * src/include/getopt.h, src/libs/libgroff/{getopt.c,getopt1.c}: 2595 New files. 2596 * src/include/Makefile.sub, src/libs/libgroff/Makefile.sub: Update. 2597 * aclocal.a4: Remove GROFF_GETOPT function. 2598 * configure.in, Makefile.in, PROBLEMS: Update. 2599 * src/include/lib.h: Replace getopt tests with getopt.h. 2600 * src/devices/grolbp/lpb.cc: Remove inclusion of getopt.h. 2601 2602 * doc/groff.texinfo: Further checking/updating. Adding more index 2603 entries. 2604 2605 * man/groff_out.man: Fix nroff mode activation (for emacs). 2606 * man/groff_font.man: Add missing ligature. 2607 26082000-02-28 Werner LEMBERG <wl@gnu.org> 2609 2610 * doc/groff.texinfo: Further checking/updating. Adding more index 2611 entries. 2612 2613 * src/devices/grolbp/grolbp.man: Added a comment line at the 2614 beginning of the file (similar to shell scripts) which indicates 2615 that `tbl' should be used as a preprocessor. 2616 26172000-02-27 Blake McBride <blake@florida-software.com> 2618 2619 Adapting groff to MS Visual C++ 6.0 compiler (tested with 2620 Windows NT 4.0). Uses _MSC_VER define where necessary. 2621 2622 * src/devices/grodvi/dvi.cc: Making stdout a binary stream. 2623 * src/devices/grolj4/lj4.cc: Making getopt variables `extern "C"'. 2624 * src/devices/grohtml/html.cc, src/devices/grops/ps.cc, 2625 src/include/lib.h, src/libs/libgroff/errarg.cc, 2626 src/libs/libgroff/itoa.c, src/libs/libgroff/nametoindex.cc, 2627 src/preproc/refer/label.y, src/preproc/refer/label.cc, 2628 src/roff/groff/pipeline.c, src/roff/troff/column.cc, 2629 src/roff/troff/div.cc, src/roff/troff/env.cc, 2630 src/roff/troff/input.cc, src/roff/troff/node.cc, 2631 src/roff/troff/reg.cc: Renaming itoa() to i_to_a() and iftoa() to 2632 if_to_a() to avoid name clashes. 2633 * src/include/posix.h: Don't use unistd.h. 2634 * src/libs/libgroff/tmpfile.cc: Use `#ifndef...#else...#endif' 2635 clause for integrating non-Unix xtmpfile() code. 2636 * src/roff/troff/input.cc: Adding `public' keyword to macro_header 2637 structure; use "rt" for popen() in pipe_source(); add getpid() 2638 dummy function. 2639 * src/roff/troff/node.cc: Use special versions of popen() in 2640 real_output_file() and pclose() in ~real_output_file(). 2641 26422000-02-27 Werner LEMBERG <wl@gnu.org> 2643 2644 Adding a new driver, grolbp, for Canon CAPSL printers (LBP-4 and 2645 LBP-8 series laser printers). This code has been contributed by 2646 Francisco Andres Verdu <pandres@dragonet.es>. 2647 2648 * src/devices/grolbp/*: The grolbp output device. 2649 * font/devlpb/*: The font description files. 2650 * Makefile.in: Add grolpb and devlbp subdirectories. 2651 2652 * src/devices/grodvi/grodvi.man, src/devices/grolj4/grolj4.man, 2653 src/devices/grotty/grotty.man,src/roff/troff/troff.man: Minor 2654 typographic fixes. 2655 2656 * doc/groff.texinfo: Further checking/updating. Adding more index 2657 entries. 2658 2659 * NEWS: Updated. 2660 2661 * src/devices/grolbp/Makefile.sub: Adding $(srcdir). 2662 2663 * man/groff_font.man: Adding info about obsolete DESC keywords. 2664 * src/devices/grolj4/grolj4.man: Documenting additional DESC 2665 keywords. 2666 26672000-02-26 Werner LEMBERG <wl@gnu.org> 2668 2669 * src/preproc/grn/grn.man: Added info about the gremlin file format 2670 (contributed by Daniel Senderowicz <daniel@synchrods.com>). 2671 26722000-02-25 Werner LEMBERG <wl@gnu.org> 2673 2674 * src/preproc/grn/main.cc: Allow values of `narrow' parameter and 2675 friends to be non-integer. 2676 2677 * src/preproc/grn/grn.man: Document it. 2678 2679 * doc/groff.texinfo: Further checking/updating. Adding more index 2680 entries. 2681 26822000-02-24 Werner LEMBERG <wl@gnu.org> 2683 2684 * src/preproc/grn/main.cc: Introduce BASE_THICKNESS, defining 2685 line thicknesses to be integer multiples of this value. 2686 2687 * src/preproc/grn/grn.man: Commenting out the -s option -- the 2688 corresponding code doesn't work (yet). 2689 2690 * doc/groff.texinfo: Further checking/updating. Adding more index 2691 entries. 2692 26932000-02-23 Werner LEMBERG <wl@gnu.org> 2694 2695 * src/preproc/grn/{main.cc, hgraph.cc}: Using point units to 2696 specify line thickness instead of base units. The new default 2697 values are now 0.15,pt 0.45pt, and 0.75pt for thin, middle, and 2698 thick lines respectively. 2699 2700 Removed unused variable `prevval'. 2701 2702 * src/preproc/grn/grn.man: Updated. 2703 27042000-02-22 Werner LEMBERG <wl@gnu.org> 2705 2706 * src/preproc/grn/main.cc: Slight formatting. 2707 2708 * src/roff/groff/groff.man: Formatting fix. 2709 * src/preproc/grn/grn.man: Ditto. 2710 2711 * src/roff/grog/grog.pl: Fixing two embarassing bugs. 2712 2713 * doc/groff.texinfo: Further checking/updating. 2714 27152000-02-21 Werner LEMBERG <wl@gnu.org> 2716 2717 * README, INSTALL, PROJECT, PROBLEMS, BUGREPORT: Updated. 2718 2719 * test-groff: Added grn subdir to path. 2720 2721 * doc/groff.texinfo: Some restructing and other small improvements. 2722 2723 * src/roff/groff/groff.cc (help): Fixed info string. 2724 27252000-02-20 Werner LEMBERG <wl@gnu.org> 2726 2727 * doc/meref.me: Fix description of .GS request. 2728 2729 * src/roff/troff/troff.man: Fixing typo. 2730 2731 Adding the `grn' preprocessor for gremlin graphic files. 2732 2733 * src/preproc/grn/*: This is the Berkeley distribution written by 2734 David Slattengren and Barry Roitblat, adapted to groff by Daniel 2735 Senderowicz and Werner Lemberg. 2736 2737 * doc/grnexampl.{me,g}: A sample for grn. 2738 2739 * Makefile.in: Added subdirectory entry for grn. 2740 2741 * src/roff/groff/groff.cc: Added support for grn. It can be now 2742 called with the switch `-g'. 2743 2744 * src/roff/groff/groff.man: Updated. 2745 2746 * src/roff/grog/grog.{man,pl,sh}: Updated. 2747 2748 * NEWS: Updated. 2749 27502000-02-11 Gaius Mulley <gaius@glam.ac.uk> 2751 2752 * src/include/lib.h: Added xtmptemplate and made xtmpfile 2753 parametrically polymorphic. 2754 2755 * src/libs/libgroff/tmpfile.cc: Implemented xtmptemplate 2756 and the alterations to xtmpfile. 2757 xtmpfile can be requested to return the filename created 2758 and asked not to unlink the temp file. The default behaviour 2759 if parameters are absent is exactly the same as before. 2760 27612000-02-11 Abramo Bagnara <abramo@alsa-project.org> 2762 2763 A new request `length' is available which returns the length of a 2764 string in a number register: 2765 2766 * src/roff/troff/input.cc (length_macro): Implement it. 2767 * src/roff/troff/input.cc (init_input_requests): Register it. 2768 27692000-02-11 Werner LEMBERG <wl@gnu.org> 2770 2771 * doc/groff.texinfo, src/roff/troff/troff.man: Add documentation 2772 of the `substring' request. 2773 2774 * src/roff/troff/troff.man, doc/groff.texinfo: Document `length' 2775 request. 2776 2777 * src/roff/troff/TODO, NEWS: Updated. 2778 27792000-02-09 Werner LEMBERG <wl@gnu.org> 2780 2781 * src/roff/groff/groff.man: Added an example. 2782 27832000-02-06 Werner LEMBERG <wl@gnu.org> 2784 2785 I've considerably modified the directory structure of the 2786 distribution to get a more vertical layout. For example, the number 2787 of top level directories has been reduced from 42 to 6. 2788 2789 As a consequence, many changes, especially to the makefiles, were 2790 necessary: 2791 2792 * The makefile variables `top_builddir' and `top_srcdir' have been 2793 introduced. Virtually all relative paths have been replaced with 2794 absolute ones using these two variables. 2795 2796 * Dependencies (in the files `Makefile.dep') are no longer part of 2797 the distribution. Instead, they are created during a `make install' 2798 in the build directory. 2799 2800 * aclocal.m4 (GROFF_SRCDIR, GROFF_BUILDDIR): Two new functions to 2801 make `top_srcdir' and `top_builddir' absolute. 2802 2803 Some other changes: 2804 2805 * Man pages no depend on the files `VERSION' and `REVISION'. 2806 2807 * The added shell script `mkinstalldirs' will replace `mkdir' in 2808 almost all cases. 2809 2810 * VERSION: Version number increased to 1.16. 2811 28122000-02-04 Werner LEMBERG <wl@gnu.org> 2813 2814 * grops/psrm.cc (read_one_of): Fixed pointer incrementation. 2815 2816 * Makefile.in: Removed $(tmac_m) since it is no longer needed 2817 (after an update of the mm stuff). 2818 2819 * troff/Makefile.sub (majorminor.cc): Fix dependencies. 2820 28212000-02-03 Werner LEMBERG <wl@gnu.org> 2822 2823 The .psbb request will now also accept Mac PS images (i.e. using LF 2824 as the EOL character). 2825 2826 * troff/input.cc (ps_get_line): New function, taken from psrm.cc 2827 (with slight modifications). 2828 * troff/input.cc (do_ps_file): Use it. 2829 2830 * test-groff: Add grohtml and grolj4 output devices to PATH. 2831 28322000-01-30 Werner LEMBERG <wl@gnu.org> 2833 2834 * NEWS, MORE.STUFF: Updated. 2835 28362000-01-30 Cary D. Renzema <caryr@dollar.mxim.com> 2837 2838 Add the `srand' command to pic. 2839 2840 * pic/lex.cc, pic/pic.y: Implement it. 2841 * pic/pic.man: Document it. 2842 * pic/pic.cc, pic/pic.tab.h: Regenerated (with yacc). 2843 28442000-01-30 Werner LEMBERG <wl@gnu.org> 2845 2846 Add a new request `.psbb'. This does exactly what the external 2847 program psbb did. It scans a PostScript image file for a 2848 %%BoundingBox comment and extracts the bounding box values (in 2849 PostScript units) which are then stored in the four new (read-only) 2850 number registers `llx', `lly', `urx', and `ury'. 2851 2852 This will allow the usage of the .PSPIC macro without worrying 2853 about unsafe behaviour of groff, i.e., it will work without the 2854 `-U' switch of groff. 2855 2856 * troff/input.cc: Implement it. 2857 * tmac/tmac.pspic: Use it. 2858 * troff/troff.man, grops/grops.man, NEWS: Document it. 2859 * psbb/*, Makefile.in: Remove it since it is no longer needed. 2860 2861 This is bloody C code simply adapted from psbb.c! Any improvements 2862 welcome. 2863 28642000-01-29 Werner LEMBERG <wl@gnu.org> 2865 2866 * man/groff_font.man: Minor clarifications. 2867 2868 * NEWS: Updated. 2869 28702000-01-28 Werner LEMBERG <wl@gnu.org> 2871 2872 * afmtodit/afmtodit.pl: Use new `--' comment delimiter. 2873 28742000-01-28 Gaius Mulley <gaius@glam.ac.uk> 2875 2876 * man/groff_font.man: Brought up to date regarding tcommand 2877 extensions. 2878 * libgroff/font.cc: Handle everything after `--' as a comment 2879 in the font files. 2880 * devps/*: Added comment delimiter inside devps font files. 2881 28822000-01-28 Werner LEMBERG <wl@gnu.org> 2883 2884 * tmac/tmac.arkup, tmac/groff_markup.man: Replace \fC...\fR with 2885 \fC...\fP (which now works as expected). 2886 2887 * troff/troff.man: Fix typo. 2888 28892000-01-27 Gaius Mulley <gaius@glam.ac.uk> 2890 2891 Completed the pass_filenames implementation in troff. 2892 2893 * libdriver/input.cc: Will read the new `F' tcommand. 2894 * troff/node.cc, troff/node.h: Will issue the new `F' tcommand. 2895 * troff/input.cc: Use it. 2896 28972000-01-26 Werner LEMBERG <wl@gnu.org> 2898 2899 * troff/env.cc (set_font): Fix the behaviour of \fP. The previous 2900 font will now be updated even if an invalid font is selected. 2901 29022000-01-24 Werner LEMBERG <wl@gnu.org> 2903 2904 * doc/homepage.ms: Updated for new tmac.arkup. 2905 2906 * tmac/tmac.html: Disable line breaks after hyphen-like characters. 2907 2908 * tmac/tmac.arkup: Cleanup. 2909 2910 Added `\&' to .HTML macro to `leave vertical mode', so to say. 2911 2912 Removed obsolete .LINK macro completely. 2913 2914 The macros .URL, .FTP, and .MAILTO now accept a third argument which 2915 will be immediately appended to the second argument (to be used with 2916 punctuation, for example). 2917 2918 Disabled .CDFTP macro temporarily for security reasons. 2919 2920 * tmac/groff_markup.man: Complete revision for latest changes in 2921 tmac.arkup -- note that it does not yet format correctly with 2922 grohtml :-( 2923 29242000-01-23 Bruno Haible <haible@clisp.cons.org> 2925 2926 * nroff/nroff.sh: Accept -Tutf8 option and pass it through. 2927 * devutf8/R.proto: Add mappings for wp, lh, rh. 2928 * devutf8/NOTES: Updated. 2929 29302000-01-23 Werner LEMBERG <wl@gnu.org> 2931 2932 * doc/groff.texinfo: Updated version/copyright info. 2933 29342000-01-21 Gaius Mulley <gaius@glam.ac.uk> 2935 2936 Added support for two new directives in device descriptions: 2937 `pass_filenames' (to pass the input file name to the output device) 2938 and `use_charnames_in_special' (to support e.g. accented characters 2939 in the `X' request). 2940 2941 * include/font.h, troff/charinfo.h: Declare it. 2942 2943 * libgroff/font.cc, libgroff/fontfile.cc: Set it. 2944 2945 * devhtml/DESC: Use it. 2946 2947 * troff/input.cc: New function encoded_char. 2948 2949 * troff/token.h: Add test for `specialness'. 2950 29512000-01-21 Werner LEMBERG <wl@gnu.org> 2952 2953 * tmac/Makefile.sub: tmac.a4 and tmac.trace have been removed by 2954 mistake from the list of files to be installed. 2955 29562000-01-18 Werner LEMBERG <wl@gnu.org> 2957 2958 * README: Added info how to apply patches. 2959 29602000-01-15 Jan Echternach <echter@informatik.uni-rostock.de> 2961 2962 * troff/node.cc (ligature_note::operator delete): Fix g++ warning. 2963 29642000-01-15 Gaius Mulley <gaius@glam.ac.uk> 2965 2966 * troff/input.cc: Add support for troffrc-end. 2967 2968 * tbl/main.cc: Altered to issue table-start and table-end special 2969 characters if using the html device. 2970 2971 * devhtml/*: Modified font files to incorporate html encoding of 2972 characters. 2973 2974 * tmac/groff_markup.man: New file documenting tmac.arkup. 2975 2976 * tmac/troffrc-end: New file. This is invoked after all user 2977 specified macros. Currently used by the html device to include 2978 tmac.html. Thus no need for users to specify -mhtml anymore. 2979 2980 * tmac/Makefile.sub (NORMALFILES): Add troffrc-end. 2981 (MAN7): Add groff_markup.man. 2982 2983 * tmac/tmac.an, tmac/tmac.html: Small html updates. 2984 2985 * tmac/troffrc: tmac.arkup will now be called for the html device. 2986 2987 * libgroff/font.cc, libgroff/font.h: Altered to include reading of 2988 extra device specific information about fonts. 2989 2990 * doc/homepage.ms: New file. It is an example how an HTML home page 2991 could look like with grohtml. 2992 2993 * doc/Makefile: Add homepage.ms. Remove rule for pic.html. 2994 29952000-01-12 Bruno Haible <haible@clisp.cons.org> 2996 2997 * devutf8/R.proto: Add mappings for ti, Fn, st, an. Change mappings 2998 of Im, Re. 2999 3000 * devutf8/NOTES: Updated. 3001 30022000-01-08 Bruno Haible <haible@clisp.cons.org> 3003 3004 * eqn/box.cc, eqn/lex.cc, eqn/other.cc, eqn/over.cc, eqn/special.cc, 3005 eqn/text.cc, grodvi/dvi.cc, grops/ps.cc, grops/psrm.cc, 3006 libbib/index.cc, libbib/linear.cc, libbib/search.cc, 3007 libdriver/printer.cc, libgroff/font.cc, libgroff/string.cc, 3008 pic/lex.cc, pic/object.cc, refer/label.y, refer/ref.cc, tbl/main.cc, 3009 tbl/table.cc, tfmtodit/tfmtodit.cc, troff/dictionary.cc, 3010 troff/div.cc, troff/env.cc, troff/input.cc, troff/node.cc, 3011 troff/node.h, troff/reg.cc: Avoid most "g++ -Wall -Wno-sign-compare" 3012 warnings. 3013 3014 * troff/node.cc (bracket_node::copy): Initialize last to NULL. 3015 30162000-01-12 Fabrizio Polacco <fab@prosa.it> 3017 3018 grolj4: Paper size will be searched case-insensitively. 3019 3020 * include/lib.h: Add check for strcasecmp(). 3021 * grolj4/li4.cc (lookup_paper_size): Use strcasecmp(). 3022 * configure.in: Check for strcasecmp(). 3023 30242000-01-11 Werner LEMBERG <wl@gnu.org> 3025 3026 * troff/Makefile.sub (majorminor.cc): Fix incorrect path to 3027 `REVISION'. 3028 30292000-01-10 Werner LEMBERG <wl@gnu.org> 3030 3031 * Makefile.comm, Makefile.in, doc/Makefile: More fixes for the 3032 revision scheme. 3033 3034 Add a new read-only register, `.Y', which contains the groff 3035 revision. 3036 3037 * troff/input.cc (init_input_requests): Define it. 3038 * troff/Makefile.sub (majorminor.cc): Define `revision' string. 3039 * doc/groff.texinfo, troff/troff.man: Document it. 3040 3041 * libgroff/Makefile.sub (version.cc): Add definition of 3042 `Version_string[]', consisting of `<major>.<minor>.<revision>' 3043 * eqn/main.cc, grodvi/dvi.cc, grolj4/lj4.cc, grops/ps.cc, 3044 grotty/tty.cc, hpftodit/hpftodit.cc, indxbib/indxbib.cc, pic/main.cc, 3045 refer/refer.cc, soelim/soelim.cc, tbl/main.cc, tfmtodit/tfmtodit.cc, 3046 troff/input.cc, pfbtops/pfbtops.c: Use it. 3047 30482000-01-10 Fabrizio Polacco <fab@prosa.it> 3049 3050 Add a revision scheme to the groff package. 3051 3052 * REVISION: New file. 3053 * libgroff/Makefile.sub (version.cc): Use it to define 3054 `revision_string[]'. 3055 * grops/psrm.cc: Use revision_string (converted to an unsigned 3056 integer) in constructor of resource_manager. 3057 30582000-01-10 Bruno Haible <haible@clisp.cons.org> 3059 3060 * devutf8/Makefile.sub, devutf8/DESC.proto, devutf8/R.proto: New 3061 files. 3062 * Makefile.in (DEVDIRS): Add devutf8. 3063 * grotty/tty.cc: Include device.h. 3064 (glyph): Change type of `code' to `unsigned int'. 3065 (tty_printer): New field is_utf8. Constructor takes device argument. 3066 (tty_printer::tty_printer): If device if `utf8', set is_utf8. 3067 (tty_printer::add_char): Change type of first arg to `unsigned int'. 3068 (tty_printer::put_char): New function. 3069 (tty_printer::end_page): Use put_char() instead of ::putchar(). 3070 (make_printer): Pass device to tty_printer constructor. 3071 * nroff.sh: Determine default device by calling 'locale'. As a 3072 fallback, look at all of $LC_ALL, $LC_CTYPE, $LANG, $LESSCHARSET. 3073 Recognize UTF-8 locales. 3074 * tmac/eqnrc: Recognize utf8 like latin1. 3075 * tmac/troffrc: Device utf8 needs tmac.tty. 3076 30772000-01-07 Werner LEMBERG <wl@gnu.org> 3078 3079 * tmac/Makefile.sub: tmac.a4 and tmac.trace will now be installed. 3080 30812000-01-07 Paul Eggert <eggert@twinsun.com> 3082 3083 Add a new predefined writeable number register, `year', 3084 which contains the current year. 3085 3086 * doc/groff.texinfo, PROBLEMS, troff/troff.man: Document it. 3087 * tmac/tmac.s: Use it. 3088 * troff/input.cc (init_registers): Initialize it. 3089 30902000-01-06 Werner LEMBERG <wl@gnu.org> 3091 3092 * PROBLEMS: Fixed typo. 3093 30942000-01-04 Paul Eggert <eggert@twinsun.com> 3095 3096 * PROBLEMS: Add Y2k advice for the yr number register. 3097 30982000-01-03 Paul Eggert <eggert@twinsun.com> 3099 3100 * doc/groff.texinfo: Fix Y2k bug in documentation of \n(yr. 3101 31022000-01-02 Werner LEMBERG <wl@gnu.org> 3103 3104 * tmac/tmac.arkup: Slight modification of macros to provide better 3105 appearance for non-HTML formats. 3106 31072000-01-01 Charles Levert <charles@comm.polymtl.ca> 3108 3109 * soelim/soelim.cc (include_path_append): realloc(NULL, n) 3110 does not automatically translate to malloc(n) on all OSes 3111 (e.g., SunOS) so do it explicitly. Also, check the returned 3112 value. 3113 31142000-01-01 Werner LEMBERG <wl@gnu.org> 3115 3116 * tmac/tmac.arkup: Added .LINE macro. Some formatting. 3117 3118 * Makefile.in: Added $(tmac_m) again since the Makefile in `mm' 3119 expects this variable 3120 31212000-01-01 Gaius Mulley <gaius@glam.ac.uk> 3122 3123 * doc/Makefile: Added instructions to create HTML and text 3124 versions of some files. 3125 31261999-12-31 Werner LEMBERG <wl@gnu.org> 3127 3128 * Updated INSTALL.gen. 3129 3130 * tmac/tmac.arkup: Added fixes so that .FTP and .MAILTO works 3131 better resp. correctly with non-HTML devices. 3132 3133Version 1.15 released 3134===================== 3135 31361999-12-28 Werner LEMBERG <wl@gnu.org> 3137 3138 * NEWS, VERSION: Changed to 1.15 3139 31401999-12-27 Paul Eggert <eggert@twinsun.com> 3141 3142 * nroff/nroff.man: -S is safer, not safe. 3143 3144 * groff/groff.cc (main): Use `safer', not `safe', in variable 3145 names. This does not change the behavior. 3146 3147 * troff/input.cc (main): Likewise. 3148 3149 * nroff/nroff.sh: Likewise. 3150 3151 * troff/input.cc (prepend_string): New function. 3152 (main): Prepend -msafer, so that we check macro libraries for 3153 safety. 3154 3155 * PROBLEMS: Report problem with Sun C++ 5.0 and 5.1. 3156 3157Version 1.14 released 3158===================== 3159 31601999-12-26 Werner LEMBERG <wl@gnu.org> 3161 3162 * NEWS, VERSION: Changed to 1.14. 3163 31641999-12-24 Werner LEMBERG <wl@gnu.org> 3165 3166 * refer/refer.cc: Fixing the last fix. 3167 3168Version 1.13 released 3169===================== 3170 31711999-12-23 Werner LEMBERG <wl@gnu.org> 3172 3173 * tmac/tmac.an: A typo (`.if' instead of `.ie') made the page 3174 number disappear. 3175 3176 * NEWS: Updated. 3177 3178 * tmac/tmac.safer: Forgot to remove `so' from the `rm' request. 3179 3180 * VERSION: Changed to 1.13 -- to be compliant with the Adobe 3.0 3181 document conventions, the version number must be a real. 3182 3183Version 1.12.1 released 3184======================= 3185 31861999-12-22 Werner LEMBERG <wl@gnu.org> 3187 3188 * VERSION: Changed to 1.12.1. 3189 31901999-12-22 Alan Rooks <arooks@istar.ca> 3191 3192 * refer/refer.cc (do_file): Slight modification to satisfy the 3193 `Standard system CC - C++ Compilation System 3.1 03/03/99' on SCO 3194 UnixWare 7.1. 3195 31961999-12-20 Werner LEMBERG <wl@gnu.org> 3197 3198 * changed prep.ai.mit.edu -> ftp.gnu.org; updated copyright 3199 notices. 3200 3201 * tmac/tmac.safer, tmac/groff_msafer.man: Remove `so' (again) from 3202 list of unsafe requests. 3203 3204 * pic/pic.man: Fixed a typo. 3205 3206 * man/groff_out.man: Fixed a typo. 3207 32081999-12-18 Werner LEMBERG <wl@gnu.org> 3209 3210 * Makefile.in: Doc fixes. 3211 32121999-12-17 Fabrizio Polacco <fab@prosa.it> 3213 3214 * groff/groff.cc: Missing `U' option added to getopt(). 3215 3216 * troff/troff.man: Missing `U' option added to synopsis. 3217 3218Version 1.12 released 3219===================== 3220 32211999-12-14 Werner LEMBERG <wl@gnu.org> 3222 3223 * troff/input.cc (usage), groff/groff.cc (synopsis): Added -U flag 3224 to the synopsis. 3225 3226 * nroff/nroff.sh, nroff/nroff.man: Replaced `secure', `unsecure' 3227 with the more appropriate terms `safer' and `unsafe'. 3228 3229 * libgroff/strerror.c, aclocal.m4, configure.in: Added checks for 3230 sys_nerr and sys_errlist[]. 3231 3232 * pic/pic.h, aclocal.m4, configure.in: Added check for hypot(). 3233 3234 * pic/pic.y, pic/pic.cc: Added check for fmod(). 3235 32361999-12-13 Werner LEMBERG <wl@gnu.org> 3237 3238 * VERSION: Changed to 1.12. 3239 3240 Here some patches from various sources; most of them taken from 3241 the Debian distribution. 3242 3243 * tmac/groff_mdoc.man, tmac/groff_mdoc.samples.man, 3244 tmac/Makefile.sub: New files copied directly from the NetBSD 3245 distribution. Probably, some additional adaptation later on is 3246 necessary... 3247 3248 * tmac/tmac.safer, tmac/groff_msafer.man: Added `so' to the list 3249 of unsafe requests. 3250 3251 * groff/groff.cc, groff/groff.man, nroff/nroff.sh, 3252 nroff/nroff.man, pic/main.cc, pic/pic.man, troff/input.cc, 3253 troff/troff.man: Added option `-U' for unsafe mode. Safe mode 3254 (`-S') is now the default. 3255 3256 * README, NEWS: Updated. 3257 32581999-12-09 Werner LEMBERG <wl@gnu.org> 3259 3260 * doc/groff.texinfo: Regenerated nodes and menus with emacs. 3261 3262 * doc/Makefile (clean): Added cleaning commands for groff.texinfo. 3263 32641999-12-06 Werner LEMBERG <wl@gnu.org> 3265 3266 * configure.in: Removed AC_PREFIX_PROGRAM since it causes more 3267 grief than relief today. Additionally, it is against the GNU 3268 coding standards. 3269 3270 * configure: Recreated. 3271 32721999-12-05 Werner LEMBERG <wl@gnu.org> 3273 3274 * configure.in: Added GROFF_LIBM. 3275 3276 * configure: Recreated. 3277 3278 * aclocal.m4 (GROFF_LIBM): New function which tests whether -lm is 3279 necessary. 3280 3281 * Makefile.in: Added definition of $(LIBM). 3282 3283 * Makefile.comm (LIBM): Removed. 3284 3285 * pfbtops/Makefile.sub: On AIX, -lm is needed also. 3286 32871999-12-03 Gaius Mulley <gaius@glam.ac.uk> 3288 3289 * doc/Makefile: Added rule for generation pic.html. 3290 3291 (clean): Files produced by grohtml will be removed also. 3292 3293 * doc/pic.ms: Small fix. 3294 3295 * tmac/tmac.html: Fixed suppression of headers. 3296 32971999-11-16 Gaius Mulley <gaius@glam.ac.uk> 3298 3299 * tmac/tmac.html: Fixing horizontal arrows. 3300 3301 Turning off hyphenation. 3302 3303 * tmac/tmac.an: Improved support for grohtml; better indentation, 3304 no footers/headers. 3305 33061999-10-31 Gaius Mulley <gaius@glam.ac.uk> 3307 3308 * tmac/tmac.arkup: Added CDFTP macro 3309 3310 * tmac/tmac.html: All headers are turned off for ms, me, and mm 3311 macros. 3312 3313 * tmac/troffrc: Some additions for HTML stuff. 3314 33151999-10-06 Gaius Mulley <gaius@glam.ac.uk> 3316 3317 * tmac/tmac.html: Small changes. 3318 33191999-09-26 Werner LEMBERG <wl@gnu.org> 3320 3321 * doc/groff.texinfo: Minor fixes. 3322 33231999-09-26 Gaius Mulley <gaius@glam.ac.uk> 3324 3325 * devhtml/TR: Changed spacewidth to 3. 3326 3327 * tmac/Makefile.sub (NORMALFILES): Added tmac.arkup. 3328 3329 * tmac/tmac.html: Moved markup macros to tmap.arkup. 3330 3331 * tmac/tmac.arkup: New file. 3332 3333 * grohtml/ChangeLog: New file. 3334 33351999-09-16 Werner LEMBERG <wl@gnu.org> 3336 3337 * doc/groff.texinfo (Common Features): Added Copying chapter. 3338 Changed format to @smallbook. 3339 33401999-09-15 Werner LEMBERG <wl@gnu.org> 3341 3342 * NEWS: Added info about groff.texinfo. 3343 3344 * doc/groff.texinfo: Will now compile (using texi2dvi) without 3345 warning messages. 3346 33471999-09-14 Werner LEMBERG <wl@gnu.org> 3348 3349 * groff/groff.man: More updates. 3350 33511999-09-13 Werner LEMBERG <wl@gnu.org> 3352 3353 * doc/groff.texinfo: New file. This manual is still very 3354 rudimentary. It has been originally contributed by Trent 3355 A. Fisher <trent@gnurd.portland.or.us> with first corrections and 3356 additions by me. 3357 3358 * INSTALL: Added information about the `doc' subdir 3359 3360 * troff/troff.man: Minor fixes. 3361 3362 * groff/groff.man: Added missing `-L arg' to SYNOPSIS section; 3363 reordered options. 3364 3365 * troff/input.cc (usage): Added missing `-ffam' to usage message. 3366 3367 * Makefile.in (dist): groff-$(version).tar.gz must be removed 3368 also, otherwise it is included itself in another call of `make 3369 dist'. 3370 3371 * groff/groff.cc (synopsis): Removed superfluous space. 3372 3373 * PROJECTS, PROBLEMS, NEWS: Updated. 3374 3375 * VERSION: Updated to 1.12beta. 3376 3377 * BUG-REPORT: Some cosmetic fixes. Corrected email address. 3378 3379 * README: Updated: Included documentation about CVS repository, 3380 mailing lists, and daily snapshots. 3381 3382 * tmac/Makefile.sub: Fixed $(tmap_wrap) finally. 3383 33841999-09-12 Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 3385 3386 * tmac/tmac.an: If the tag didn't fit into the space that the 3387 macro `TP' specifies, the rest of the tag went into the space for 3388 the next line. 3389 33901999-09-12 Jeffrey Copeland <jeff@opennt.com> 3391 3392 * grolj4/lj4.cc: Added duplex printing (option `-d'). 3393 3394 * grolj4/grolj4.man: Document duplex printing. 3395 33961999-09-12 Werner LEMBERG <wl@gnu.org> 3397 3398 * doc/Makefile (pic.ps): Fixed rule which caused problems with 3399 non-GNUish sed programs. 3400 3401 * tmac/doc-syms: Removed extra space from -iso8802-3 macro 3402 definition. 3403 3404 * configure.in (LIBS): Added `-lc' 3405 3406 * Makefile.comm (.man.n): Added substitution for @TMAC_AN_PREFIX@. 3407 3408 * pic/tex.cc (solid_arc): Casting M_PI to double. 3409 3410 * libgroff/putenv.c (putenv): Changed function header to ANSI C. 3411 3412 * groff/groff.man, tmac/Makefile.sub (MAN7), tmac/groff_msafer.man 3413 (new file), tmac/msafer.man (deleted), tmac/groff_me.man (new 3414 file), tmac/me.man (deleted): {me,msafer} -> groff_{me,msafer}. 3415 3416 * groff/groff_man.man: New file. This manual page was originally 3417 written for the Debian GNU/Linux system by Susan G. Kleinmann 3418 <sgk@debian.org>. 3419 3420 * eqn/list.cc (list_box::compute_metrics, 3421 list_box::compute_sublist_width): Removed variable declaration to 3422 avoid shadowing warnings. 3423 3424 * grops/psrm.cc (resource_manager::process_file): Ditto. 3425 3426 * tfmtodit/tfmtodit.cc (main): Ditto. 3427 3428 * libgroff/font.cc (font::load_desc): Renamed auxiliary variable 3429 to avoid shadowing warnings. 3430 3431 * tbl/table.cc (block_entry::do_divert, table::do_row): Renamed 3432 shadowing loop variable. 3433 3434 * groff/groff.man, troff/troff.man: Added doc about grohtml. 3435 34361999-09-12 Gaius Mulley <gaius@glam.ac.uk> 3437 3438 New grohtml frontend to convert groff input to html. 3439 3440 * Makefile.in (CCPROGDIRS, DEVDIRS): Added html device. 3441 3442 * tmac/Makefile.sub (NORMALFILES): Added tmac.html. 3443 3444 * tmac/eqnrc: Added html device. 3445 3446 * tmac/tmac.html: New file. 3447 3448 * eqn/main.cc (do_file, inline_equation), pic/troff.cc 3449 (troff_output::start_picture, troff_output::finish_picture), 3450 tbl/main.cc (process_input_file): 3451 Surrounded output with `graphics_start' and `graphics_end' so that 3452 the html driver can identify non-text portions. 3453 3454 * grodvi/dvi.cc (dvi_printer::set_char), grolj4/lj4.cc 3455 (lj4_printer::set_char), grops/ps.cc (ps_printer::set_char), 3456 grotty/tty.ps (tty_printer::set_char): Additional parameter 3457 `name'. 3458 3459 * include/printer.h: Class printer: New function 3460 set_char_and_width; new variables (is_char_named, is_named_set, 3461 named_command, named_char_s, named_char_n) to hold information 3462 about named characters -- needed by the html driver. 3463 3464 * libdriver/printer.cc (printer::set_ascii_char, 3465 printer::set_special_char): Use set_char_and_width. 3466 3467 * devhtml/*: New device files for html driver. 3468 3469 * grohtml/*: New driver grohtml. 3470 34711999-09-11 Wilfredo Sanchez <wsanchez@apple.com> 3472 3473 * tmac/doc-common, tmac/tmac.an: Removed the word `UNIX' in 3474 default strings. 3475 34761999-09-11 Luke Mewburn <lukem@netbsd.org> 3477 3478 * libgroff/string.cc (search): Small fix to test against NULL 3479 pointer. 3480 34811999-09-11 Jeff Conrad <jeff_conrad@msn.com> 3482 3483 * troff/node.cc (copy): The characters in a bracket escape (e.g., 3484 \b'abc') were stacked in reverse order when processed in a 3485 diversion. 3486 3487 * troff/node.h: Added `*last' to struct `node' to make the above 3488 fix work. 3489 3490 * troff/input.cc (read_draw_node), libdriver/input.cc (do_file): 3491 The default scale for the 'f' and 't' graphics functions were 'm' 3492 rather than 'u' (i.e., no scaling). 3493 34941999-09-11 Peter Miller <peterm@jna.com.au> 3495 3496 * groff/groff.cc (main), groff.man, soelim/soelim.cc (main, 3497 do_file), soelim/soelim.man: Added `-I file' option to soelim, 3498 defining include paths. 3499 3500 * soelim/soelim.cc (include_path_append): New function. 3501 35021999-09-11 Larry Jones <larry.jones@sdrc.com> 3503 3504 * tbl/main.cc (process_options): Unix (at least Documenter's 3505 Workbench) tbl allows arbitrary non-alpha characters between 3506 options. 3507 35081999-09-11 Paul Eggert <eggert@twinsun.com> 3509 3510 Y2k fixes. Don't assume that the current year precedes 2000. 3511 3512 * doc/meref.me: Add \n(y2, \n(y4. 3513 3514 * tmac/doc-common (Yr): New number register. 3515 (Dd): Don't assume current year precedes 2000. 3516 3517 * tmac/tmac.e (td): Likewise. 3518 (y2, y4): New number registers. 3519 3520 * pic/pic.man: Update reference for pic paper to May, 1991 3521 version. 3522 35231999-09-11 Werner LEMBERG <wl@gnu.org> 3524 3525 * tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub): 3526 Removed quotation marks which prevented correct expansion of 3527 $(tmac_wrap). 3528 3529 * devlj4/Makefile.sub (LJ4RES): Fixed value (600 instead of 300). 3530 35311999-09-10 Werner LEMBERG <wl@gnu.org> 3532 3533 * Makefile.sub (DISTCLEANFILES): Added `config.log' and 3534 `config.cache'. 3535 3536 * Removed configure.old. 3537 35381999-08-31 Werner LEMBERG <wl@gnu.org> 3539 3540 * VERSION: Updated to 1.11.1 3541 35421999-05-27 Werner LEMBERG <wl@gnu.org> 3543 3544 * doc/Makefile: changed `.PS' postfix to `.ps' for consistency. 3545 3546 * tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub): 3547 added quotations around $(tmac_wrap) to avoid syntax error if 3548 variable is empty. 3549 3550 * configure: Newly generated using autoconf 2.13. 3551 3552 * Makefile.in (LDFLAGS): Set variable to @LDFLAGS@. 3553 3554Fri Aug 15 08:51:47 1997 Eric S. Raymond <esr@snark.thyrsus.com> 3555 3556 * README, PROJECTS, NEWS, INSTALL, VERSION, 3557 doc/Makefile. doc/pic.ms, groff/groff.man: 3558 Prepare for 1.11 release. No code changes. 3559 Documentation for pic added (doc/pic.ms). 3560 3561Sun Nov 26 11:45:13 1995 James Clark <jjc@jclark.com> 3562 3563 * Version 1.10 released. 3564 3565Fri Nov 24 09:56:16 1995 James Clark <jjc@jclark.com> 3566 3567 * afmtodit/afmtodit.pl: Avoid comment on first line. 3568 3569Mon Nov 20 11:13:49 1995 James Clark <jjc@jclark.com> 3570 3571 * aclocal.m4 (GROFF_INSTALL_SH): New macro. 3572 * configure.in: Call it. 3573 3574 * Makefile.sub (configure): Depends on aclocal.m4 not acgroff.m4. 3575 (distfiles): Doesn't depend on config.log or config.cache. 3576 3577Sun Oct 1 08:45:36 1995 James Clark <jjc@jclark.com> 3578 3579 * grog/grog.sh: Use print "" rather than print in END rule. 3580 3581Wed Aug 23 13:30:52 1995 James Clark <jjc@jclark.com> 3582 3583 * tbl/main.cc (process_data): Don't give error for excess data 3584 entries that are comments. 3585 3586Fri Jul 28 11:00:27 1995 James Clark <jjc@jclark.com> 3587 3588 * tbl/main.cc (process_data): Fix case where new for-scope rules 3589 silently change meaning of code. 3590 3591Tue Jul 4 23:39:51 1995 James Clark <jjc@jclark.com> 3592 3593 * troff/env.cc (hyphenate): Loop over all consecutive sequences 3594 of non-zero hyphenation codes. 3595 3596Sat Jul 1 00:42:15 1995 James Clark <jjc@jclark.com> 3597 3598 * aclocal.m4 (GROFF_POSIX): Use conflicting declaration technique. 3599 3600Thu Jun 29 13:58:36 1995 James Clark <jjc@jclark.com> 3601 3602 * tmac/tmac.e (ip): Divert the tag so as to freeze the spaces. 3603 3604Tue Jun 27 12:30:16 1995 James Clark <jjc@jclark.com> 3605 3606 * tmac/tmac.andoc: Make it work in compatibility mode. 3607 3608 * refer/token.h (token_info::is_range_sep): New function. 3609 * refer/token.cc (init_special_chars): Make \(en a RANGE_SEP. 3610 * refer/ref.cc (reference::output): More sophisticated check for 3611 multiple pages. 3612 3613 * devps/prologue.ps (MANUAL): New procedure. 3614 * grops/ps.cc (main): New -m option. 3615 (usage): Include -m. 3616 (ps_printer::~ps_printer): Implement -m. 3617 3618 * aclocal.m4 (GROFF_G): New macro. 3619 * configure.in: Call it. 3620 * Makefile.in (g): Provided by configure. 3621 3622 * hpftodit/hpftodit.cc (basename): Rename to xbasename. 3623 3624 * tmac/tmac.tty: Disable warning about bad fonts. Remove font 3625 translations. 3626 3627 * Makefile.in (tmacpath): Don't include /usr/lib/tmac. 3628 (tmac_m, tmac_s): Deleted. 3629 (sys_tmac_prefix, tmac_wrap, tmac_prefix, tmac_an_prefix, 3630 tmac_s_prefix): New variables. 3631 (MDEFINES): Change accordingly. 3632 * Makefile.comm (.man.n): Use new TMAC_* variables. 3633 * configure.in (GROFF_TMAC): Call. 3634 * aclocal.m4 (GROFF_TMAC): Define. 3635 * tmac/Makefile.sub (stamp_wrap): New target. 3636 (install_data, uninstall_sub): Handle macro wrapping. 3637 3638Mon Jun 26 14:54:39 1995 James Clark <jjc@jclark.com> 3639 3640 * tbl/main.cc (main): Ignore -T option. 3641 3642Thu Jun 22 09:08:06 1995 James Clark <jjc@jclark.com> 3643 3644 * devlj4/generate/special.map: Add definition of \(nb. 3645 3646 * tmac/tmac.dvi: Add definition of \(nb. 3647 3648 * troff/dictionary.c (dictionary::dictionary): association::v gets 3649 initialized by association::association. 3650 3651 * tmac/Makefile.sub: Avoid using temporary files when installing. 3652 3653 * troff/env.cc (environment::set_font): Make bad font number a 3654 warning. 3655 3656 * Makefile.in (fontpath): Remove $(prefix)/lib/font from fontpath. 3657 3658 * Makefile.in (datadir): Use share rather than lib. 3659 3660 * groff/groff.cc (basename): Rename to xbasename. 3661 3662Wed Jun 21 16:59:46 1995 James Clark <jjc@jclark.com> 3663 3664 * Makefile (CCLIBS): Don't use. 3665 * Makefile.ccpg: Likewise. 3666 3667 * acgroff.m4: Rename to... 3668 * aclocal.m4: Modify extensively for autoconf 2. 3669 * configure.in: Likewise. 3670 * Makefile.in: Likewise. 3671 3672 * groff/pipeline.c (const): Declare as empty if __STDC__ not 3673 defined. 3674 (xstrsignal): Check for definition of NSIG. Conditionalize 3675 on SYS_SIGLIST_DECLARED. Make return type const. 3676 3677Sat Jun 10 12:28:16 1995 James Clark <jjc@jclark.com> 3678 3679 * troff/input.cc (interpolate_macro): Rephrase missing space 3680 warning. 3681 3682Thu May 11 01:07:16 1995 Jason Merrill <jason@phydeaux.cygnus.com> 3683 3684 * addftinfo/addftinfo.cc, eqn/delim.cc, eqn/lex.cc, eqn/list.cc, 3685 grodvi/dvi.cc, groff/groff.cc, grops/ps.cc, grops/psrm.cc, 3686 grotty/tty.cc, include/ptable.h indxbib/indxbib.cc, 3687 libbib/index.cc, libbib/linear.cc, libbib/search.cc, 3688 libdriver/input.cc, libdriver/printer.cc, libgroff/font.cc, 3689 libgroff/lf.cc, libgroff/nametoindex.cc, libgroff/ptable.cc, 3690 libgroff/string.cc, lkbib/lkbib.cc, lookbib/lookbib.cc, 3691 pic/lex.cc, pic/object.cc, pic/pic.y refer/label.y refer/ref.cc, 3692 refer/refer.cc, refer/token.cc, tbl/main.cc, tbl/table.cc, 3693 tfmtodit/tfmtodit.cc, troff/dictionary.cc, troff/div.cc, 3694 troff/env.cc, troff/input.cc, troff/node.cc, troff/symbol.cc: 3695 Fix 'for' scoping. 3696 3697Wed Apr 19 21:15:11 1995 James Clark <jjc@jclark.com> 3698 3699 * troff/input.cc (spring_trap): Push a macro_iterator rather than a 3700 string_iterator. 3701 (spring_trap, postpone_traps, unpostpone_traps): Move to later in 3702 file. 3703 (macro_iterator::macro_iterator): Add additional argument. 3704 3705Mon Apr 10 12:06:02 1995 James Clark <jjc@jclark.com> 3706 3707 * troff/div.cc (vertical_size::vertical_size): In place of integer 3708 specifying line spacing use cunits specifying post vertical 3709 space. 3710 (macro_diversion::output, top_level_diversion::output): Likewise. 3711 * troff/div.h: Change declarations accordingly. 3712 * troff/env.cc (pending_output_line): Replace ls field by post_vs 3713 field. 3714 (pending_output_line::pending_output_line, 3715 pending_output_line::output, environment::output, 3716 environment::output_line, environment::output_title, 3717 environment::hyphenate_line): In place of 3718 integer specifying line spacing use cunits specifying post vertical 3719 space. 3720 (environment::environment): Add post_vertical_spacing and 3721 prev_post_vertical_spacing arguments. 3722 (environment::get_post_vertical_spacing): New function. 3723 (environment::total_post_vertical_spacing): New function. 3724 (environment::post_vertical_spacing): New function. 3725 (init_env_requests): Initialize pvs request and .pvs register. 3726 * troff/env.h: Change declarations. 3727 3728Tue Mar 28 09:52:07 1995 James Clark <jjc@jclark.com> 3729 3730 * tmac/tmac.pspic: Immediately remove the temporary file. 3731 3732Sat Mar 25 10:43:11 1995 James Clark <jjc@jclark.com> 3733 3734 * tmac/tmac.pspic (PSPIC): Scale graphic uniformly even when 3735 height is specified. 3736 3737Thu Jan 26 16:20:13 1995 James Clark <jjc@jclark.com> 3738 3739 * tbl/table.c (struct vertical rule, class table_entry): Use int 3740 not short for start_row and end_row. 3741 3742Fri Jan 13 13:53:05 1995 James Clark <jjc@jclark.com> 3743 3744 * troff/input.cc (trapping_blank_line, blank_line_macro): New 3745 functions. 3746 (diverted_space_node::reread, process_input_stack): Call 3747 trapping_blank_line() rather than blank_line(). 3748 (init_input_requests): Bind "blm" to blank_line_macro(). 3749 3750 * tmac/tmac.s (XA): Use .br and par@reset rather than XA. 3751 3752Tue Jan 10 11:40:35 1995 James Clark <jjc@jclark.com> 3753 3754 * troff/env.cc (environment::possibly_break_line): Require that 3755 width total excluding width of final space node be greater than 3756 the target text length. 3757 3758Tue Jan 3 09:13:37 1995 James Clark <jjc@jclark.com> 3759 3760 * troff/node.cc (kern_pair_node::vertical_extent): New function. 3761 3762Sun Dec 4 13:19:07 1994 James Clark <jjc@jclark.com> 3763 3764 * troff/node.cc (charinfo_node): New class. 3765 (glyph_node, composite_node): Derive from charinfo_node. Change 3766 member functions accordingly. 3767 3768Wed Nov 30 10:29:29 1994 James Clark <jjc@jclark.com> 3769 3770 * nroff/nroff.sh: Use -Tlatin1 not -TLatin1. 3771 3772Mon Aug 8 10:17:59 1994 James Clark (jjc@jclark.com) 3773 3774 * tmac/tmac.tty-char: Add definitions for \(ab and \[arrowvertex]. 3775 3776 * devps/generate/textmap (notsubset): Add. 3777 3778 * tmac/tmac.a4: New file. 3779 3780Sun Jul 24 20:08:42 1994 James Clark (jjc@jclark.com) 3781 3782 * pic/main.cc (had_parse_error): New variable. 3783 (do_picture, do_whole_file): Set had_parse_error if yyparse() 3784 returns non-zero. 3785 (main): Return 1 if had_parse_error is true. 3786 3787Tue Jul 19 13:40:31 1994 James Clark (jjc@jclark.com) 3788 3789 * grolj4/lj4.cc (main): Avoid use of strtoul. 3790 3791Mon Jul 18 15:03:02 1994 James Clark (jjc@jclark.com) 3792 3793 * nroff/nroff.sh: Default device is -Tlatin1 if $LC_CTYPE is 3794 iso_8859_1 or $LESSCHARSET is latin1. 3795 3796Sun Jul 10 13:38:35 1994 James Clark (jjc@jclark.com) 3797 3798 * hpftodit: New directory. 3799 * Makefile.in (CCPROGDIRS): Add hpftodit. 3800 * devlj4/generate: New directory. 3801 3802Thu Jul 7 23:49:48 1994 James Clark (jjc@jclark.com) 3803 3804 * configure.in: Don't use AC_VFORK. 3805 * groff/pipeline.c (run_pipeline): Use fork() always. 3806 3807Wed Jul 6 11:13:17 1994 James Clark (jjc@jclark.com) 3808 3809 * grops/ps.cc (main): Use %1 not %s in error message for -w. 3810 3811 * Makefile.in (CCPROGDIRS): Add grolj4. 3812 (DEVDIRS): Add devlj4. 3813 * grolj4, devlj4: New directories. 3814 * tmac/troffrc: Handle lj4. 3815 * tmac/tmac.lj4: New file. 3816 3817Fri Jun 17 18:02:53 1994 James Clark (jjc@jclark.com) 3818 3819 * tmac/tmac.e (@n): Set indent to 0 before calling |h. 3820 3821Wed Jun 1 07:33:47 1994 James Clark (jjc@jclark.com) 3822 3823 * troff/input.cc (do_if_request): At end of second string, switch 3824 environments before getting next token. 3825 3826Fri May 20 07:39:18 1994 James Clark (jjc@jclark.com) 3827 3828 * devps/psstrip.sed: Split rule that strips whitespace on either 3829 side of delimiters. 3830 3831Wed May 18 08:13:47 1994 James Clark (jjc@jclark.com) 3832 3833 * troff/node.h (font_family::make_definition): Add return value to 3834 declaration. * troff/symbol.h (symbol::operator==, 3835 symbol::operator!=): Likewise. 3836 3837Tue May 17 20:46:06 1994 James Clark (jjc@jclark.com) 3838 3839 * groff/groff.cc (main, help, synopsis): Handle -S. 3840 (possible_command::insert_arg): New function. 3841 3842 * tmac/tmac.safer: New file. 3843 * tmac/msafer.man: New file. 3844 * tmac/Makefile.sub (FILES): Add tmac.safer and msafer.man. 3845 3846Thu Mar 10 01:58:30 1994 Paul Eggert (eggert@twinsun.com) 3847 3848 * pic/pic.h, pic/main.cc (safer_flag): New variable. 3849 * pic/pic.y (placeless_element): Avoid unsafe operations if 3850 `safer_flag' is set. 3851 * pic/main.cc (main): Add -S option, which sets `safer_flag'. 3852 3853Tue May 10 13:02:31 1994 James Clark (jjc@jclark.com) 3854 3855 * eqn/lex.cc (get_token): Put call to add_context() in block to 3856 work around Sun C++ 4.0 bug. 3857 3858 * include/stringclass.h (operator +): Use ?: instead of `if' to 3859 work around Sun C++ 4.0 bug. 3860 3861Thu May 5 11:18:03 1994 James Clark (jjc@jclark.com) 3862 3863 * tbl/main.cc (process_format): Accept - as a synonym for the _ 3864 key letter. 3865 3866 * libbib/index.cc (minus_one): Don't declare as const. 3867 3868Fri Apr 29 09:32:48 1994 James Clark (jjc@jclark.com) 3869 3870 * troff/input.cc (get_char_for_escape_name): Push back a newline. 3871 3872Wed Apr 27 21:14:18 1994 James Clark (jjc@jclark.com) 3873 3874 * troff/input.cc (write_macro_request): New function. 3875 (init_input_requests): Bind write_macro_request to writem. 3876 3877Sun Apr 17 11:15:38 1994 James Clark (jjc@jclark.com) 3878 3879 * tmac/tmac.s (@EN): Turn filling back on even if there was no 3880 equation. 3881 3882 * eqn/lex.cc (do_space): Supply missing argument to lex_error. 3883 3884 * tmac/tmac.s (@TS): Renamed from TS. 3885 (TS): Call LP then TS again. 3886 (cov*ab-init): Alias @TS to TS. 3887 3888 * tmac/tmac.s: Allow QP or RS to initialize. 3889 3890 * tmac/tmac.s (par@load-init): New macro. Call at end of file. 3891 Move initializations of PS and LL here. 3892 (par@init): Don't initialize HY. Avoid changing environment 0. 3893 (par*env-init): Don't all par@reset. 3894 3895Thu Apr 14 19:15:45 1994 James Clark (jjc@jclark.com) 3896 3897 * include/posix.h: Include <fcntl.h> only if not using <osfcn.h>. 3898 3899Sun Apr 10 09:54:44 1994 James Clark (jjc@jclark.com) 3900 3901 * Makefile.in (MDEFINES): Add LDFLAGS. 3902 (LDFLAGS): Add definition line. 3903 3904Thu Apr 7 22:22:22 1994 James Clark (jjc@jclark.com) 3905 3906 * troff/input.cc (get_optional_char): Split off error check into... 3907 (check_missing_character): New function. 3908 * troff/token.h: Declare it. 3909 * troff/env.cc (margin_character): Don't call get_optional_char. 3910 Only call tok.next() after making the node. 3911 3912 * include/lib.h (getopt): Make 2nd argument char *const *. 3913 3914Fri Mar 11 07:28:03 1994 James Clark (jjc@jclark.com) 3915 3916 * nroff/conftest.sh: Deleted. 3917 3918Fri Mar 4 10:51:36 1994 James Clark (jjc@jclark.com) 3919 3920 * pic/make-dos-dist: Deleted. 3921 3922Wed Mar 2 20:59:16 1994 James Clark (jjc@jclark.com) 3923 3924 * devps/psstrip.sed: Strip comments before stripping trailing 3925 white space. 3926 3927Sat Feb 19 13:07:16 1994 James Clark (jjc@jclark.com) 3928 3929 * Version 1.09 released. 3930 3931Wed Feb 16 16:53:49 1994 James Clark (jjc@jclark.com) 3932 3933 * tmac/doc-ditroff (hK): Don't reset page number if \nC is > 0. 3934 3935Mon Feb 14 08:26:40 1994 James Clark (jjc@jclark.com) 3936 3937 * libgroff/font.cc (font::load_desc): Fix typo in error message. 3938 3939Sun Feb 13 09:37:38 1994 James Clark (jjc@jclark.com) 3940 3941 * libgroff/new.cc (operator new): Rewrite so as to avoid warning 3942 about returning without a value. 3943 3944 * troff/charinfo.h (charinfo::get_special_translation): Cast 3945 TRANSLATE_NONE to int. 3946 3947 * refer/token.cc (lookup_token, store_token): Remove bogus loop 3948 test. Fix test so that it works with n unsigned. 3949 3950 * pic/pic.y (defaults_table): Fully bracket initializer. 3951 * pic/lex.cc (lookup_keyword): Likewise. 3952 * eqn/lex.cc (token_table, def_table): Likewise. 3953 * eqn/box.cc (param_table): Likewise. 3954 * troff/input.cc (warning_table): Likewise. 3955 * libgroff/font.cc (table): Likewise. 3956 * grops/ps.cc (ps_printer::special): Likewise. 3957 * grops/psrm.cc (resource_manager::process_file): Likewise. 3958 * tfmtodit/tfmtodit.cc (lig_chars, lig_table): Likewise. 3959 * refer/command.cc (command_table): Likewise. 3960 * addftinfo/addftinfo.cc (param_table): Likewise. 3961 3962 * troff/symbol.cc (symbol::symbol): Prevent compiler warnings 3963 about temp's being unused. 3964 (unused): New function. 3965 3966 * groff/pipeline.cc: Declare c_fatal. 3967 3968 * libbib/linear.cc (bmpattern::search): Cast patterrn[--j] to 3969 uchar. 3970 3971 * libbib/index.cc (index_search_item::load): Prevent compiler 3972 warnings about fd_closer's being unused. 3973 (unused): New function. 3974 3975Sat Feb 12 10:31:59 1994 James Clark (jjc@jclark.com) 3976 3977 * troff/input.cc (copy_mode_error): Make `prefix' static. 3978 Fix typo. 3979 3980 * include/posix.h: Include <osfcn.h> is HAVE_CC_OSFCN_H is 3981 defined. 3982 * acgroff.m4, configure.in, Makefile: Rename HAVE_CC_UNISTD_H to 3983 HAVE_CC_OSFCN_H and modify accordingly. 3984 3985 * troff/input.cc (init_charset_table): radicalex overlaps 3986 horizontally. 3987 3988 * groff/acgroff.m4 (GROFF_ISC_SYSV3): New macro (from 3989 udodo!hans@relay.NL.net). 3990 * groff/configure.in: Call it. 3991 3992 * groff/acgroff.m4 (GROFF_PCLOSE): New macro. 3993 * groff/configure.in: Call it. 3994 * include/lib.h: Conditionalize declaration of pclose. 3995 3996 * troff/div.cc (last_page_number): New global variable. 3997 (top_level_diversion::begin_page): Exit if we just printed the 3998 last page. 3999 * troff/div.h (last_page_number): Declare it. 4000 * troff/input.cc (parse_output_page_list): Set last_page_number. 4001 4002 * eqn/sqrt.cc: Rename \(rn to \[radicalex]. 4003 * devps/S, devps/textmap, tmac/tmac.ps, tmac/tmac.dvi, 4004 tmac/tmac.X: Likewise. 4005 * tmac/tmac.ps, tmac/tmac.X, tmac.dvi: Add definitions of \(rn. 4006 * tmac.dvi: Make \(ru and \(ul extend beyond their width by .04m. 4007 4008Fri Feb 11 11:45:40 1994 James Clark (jjc@jclark.com) 4009 4010 * tmac/doc-ditroff (hK): Remove groff specific code which 4011 prevented page-breaks between separate manual entries. If this is 4012 the first page, don't set the page number to 1. 4013 4014 * acgroff.m4 (GROFF_POSIX): New macro. 4015 * configure.in: Use it. 4016 4017 * troff/node.cc (class real_output_file, 4018 real_output_file::real_output_file, 4019 real_output_file::~real_output_file): Conditionalize use of 4020 popen/pclose on POPEN_MISSING. 4021 * troff/node.h: Conditionalize pipe_command on POPEN_MISSING. 4022 * troff/input.cc (pipe_command): Give an error if POPEN_MISSING. 4023 (pipe_source): Similarily. 4024 4025 * acgroff.m4 (GROFF_PROG_CCC): Update message about libg++. 4026 4027 * acgroff.m4 (GROFF_GETOPT, GROFF_PUTENV, GROFF_POPEN): Detect 4028 presence of declarations by trying to compile example with 4029 conflicting declarations. (gcc only gives a warning for missing 4030 declarations.) 4031 4032Wed Feb 9 09:12:23 1994 James Clark (jjc@jclark.com) 4033 4034 * tmac/tmac.pspic (PSPIC): Allow options to specify alignment 4035 (from Ulrich Lauther). 4036 4037Tue Feb 8 03:56:40 1994 James Clark (jjc@jclark.com) 4038 4039 * libbib/linear.cc (file_buffer::load): Use S_ISREG macro. 4040 4041Thu Feb 3 09:34:35 1994 James Clark (jjc@jclark.com) 4042 4043 * indxbib/indxbib.cc (write_hash_table): Add code for case where 4044 pointers and ints have different sizes. 4045 4046Sun Jan 9 16:17:51 1994 James Clark (jjc@jclark.com) 4047 4048 * tmac/tmac.s (par*env-init): Call par@reset. 4049 4050Fri Jan 7 10:24:27 1994 James Clark (jjc@jclark.com) 4051 4052 * tmac/tmac.s (@IP): Switch to a new environment when diverting 4053 tag. 4054 (par*push-tag-env, par*pop-tag-env): New macros. 4055 4056Wed Jan 5 21:18:34 1994 James Clark (jjc@jclark.com) 4057 4058 * grops/ps.cc (ps_printer::ps_printer): Use MAX_LINE_LENGTH for 4059 initializing `out'. Reduce MAX_LINE_LENGTH from 79 to 72. 4060 4061 * grops/ps.cc (ps_printer::~ps_printer): Output %%CreationDate 4062 comment. Include <time.h>. 4063 4064Wed Dec 15 14:14:00 1993 James Clark (jjc@jclark.com) 4065 4066 * grops/ps.cc (is_small_h, is_small_v): Deleted. 4067 (ps_printer::flush_sbuf): Use absolute motion only at beginning of 4068 lines. 4069 4070Tue Dec 14 10:06:34 1993 James Clark (jjc@jclark.com) 4071 4072 * troff/input.cc (read_request): Only print a prompt if reading 4073 from the terminal. Also clearerr on EOF if reading from the 4074 terminal. Declare isatty. 4075 4076Mon Nov 29 08:38:15 1993 James Clark (jjc@jclark.com) 4077 4078 * refer/label.y: Rename map_t to map_func and extractor_t to 4079 extractor_func. 4080 4081Sat Oct 30 06:38:12 1993 James Clark (jjc@jclark.com) 4082 4083 * include/assert.h: Don't use volatile. 4084 * libgroff/assert.cc: Likewise. 4085 4086Fri Oct 29 15:00:23 1993 James Clark (jjc@jclark.com) 4087 4088 * troff/input.cc (abort_request): Look at character in tok before 4089 calling get_copy(). 4090 4091Thu Oct 28 14:09:48 1993 James Clark (jjc@jclark.com) 4092 4093 * troff/troff.h (NO_RETURN): Deleted. 4094 * troff/div.cc (cleanup_and_exit): Don't declare aas NO_RETURN. 4095 * troff/input.cc (exit_troff): Likewise 4096 4097 * Makefile.in: Remove `Making ...' messages since GNU make now 4098 gives these. 4099 4100 * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H. 4101 4102Wed Oct 27 11:12:51 1993 James Clark (jjc@jclark.com) 4103 4104 * tmac/tmac.s (@init): Initialize PO to \n(.o here, rather than 4105 to constant 1 inch. 4106 4107Sat Oct 23 10:03:52 1993 James Clark (jjc@jclark.com) 4108 4109 * tmac/tmac.e (hl): Use \n[.in] rather than \n(.i. 4110 4111Thu Oct 14 12:09:45 1993 James Clark (jjc@jclark.com) 4112 4113 * eqn/delim.cc (delim_box::compute_metrics): Don't increase 4114 MARK_REG if there was no left delimiter. 4115 4116Sat Oct 2 19:54:47 1993 James Clark (jjc@jclark.com) 4117 4118 * pic/troff.cc (troff_output::text): Set line thickness to 4119 relative before outputting text. 4120 4121 * tmac/tmac.e (@k): Don't zero ?T. 4122 ((z): Likewise. 4123 4124Sat Sep 25 11:08:43 1993 James Clark (jjc@jclark.com) 4125 4126 * tmac/tmac.e ($p): Handle possibility that $3 is empty. 4127 4128Wed Aug 18 08:51:41 1993 James Clark (jjc@jclark.com) 4129 4130 * troff/input.cc (decode_args): Warn about unquoted tabs (from 4131 Paul Eggert). 4132 4133Tue Aug 10 08:38:32 1993 James Clark (jjc@jclark.com) 4134 4135 * troff/input.cc (ignoring): New variable. 4136 (ignore): Set ignoring during call to do_define_macro. 4137 (do_define_macro): Clear ignoring before interpolating terminating 4138 macro. 4139 (copy_mode_error): New function. 4140 (get_char_for_escape_name, read_long_escape_name, 4141 interpolate_arg): Use copy_mode_error. 4142 (warning_table): Add WARN_IG. 4143 * troff/troff.h (WARN_IG): Declare. 4144 (WARN_TOTAL): Change accordingly. 4145 4146 * groff/pipeline.c (strsignal): Rename to xstrsignal. 4147 * groff/groff.cc (strsignal): Delete declaration. 4148 4149Fri Jul 16 01:43:12 1993 James Clark (jjc@jclark.com) 4150 4151 * troff/div.cc (page_offset): Use 'm' as default scaling. 4152 4153Sat Jul 3 09:11:38 1993 James Clark (jjc@jclark.com) 4154 4155 * nroff/nroff.sh: Ignore -u. 4156 4157Wed Jun 9 12:17:27 1993 James Clark (jjc@jclark.com) 4158 4159 * Makefile.in (MDEFINES): Pass down MAKEOVERRIDES. 4160 4161Fri Jun 4 17:35:47 1993 James Clark (jjc@jclark.com) 4162 4163 * tmac/tmac.s (par*box-draw): Set adjustment mode to l while 4164 drawing box. 4165 (B2): With -Tascii, leave additional vertical space before 4166 and after. Ensure that the left and right indent is restored to 4167 what it was even if the point size changes. Don't call 4168 par@finish. Change the indent, line length and title length 4169 directly. With -Tascii, make the width of the box 1n less. 4170 (B1): Remember 1n at the current point size. Don't call 4171 par@reset. Change the indent, line length and title length 4172 directly. Ensure that the temporary indent is preserved. 4173 (par*box-mark-top): Turn off no spacing mode. 4174 4175Thu Jun 3 17:47:14 1993 James Clark (jjc@jclark.com) 4176 4177 * Makefile.in (dist): Use .gz suffix. 4178 4179Thu May 27 20:04:59 1993 James Clark (jjc@jclark.com) 4180 4181 * troff/input.cc (main): Add return 0. 4182 * pic/main.cc (main): Use return instead of exit. 4183 * tbl/main.cc (main): Likewise. 4184 * eqn/main.cc (main): Likewise. 4185 * grops/ps.cc (main): Likewise. 4186 * grotty/tty.cc (main): Likewise. 4187 * groff/groff.cc (main): Likewise. 4188 * grodvi/dvi.cc (main): Likewise. 4189 * refer/refer.cc (main): Likewise. 4190 * indxbib/indxbib.cc (main): Likewise. 4191 * lkbib/lkbib.cc (main): Likewise. 4192 * soelim/soelim.cc (main): Likewise. 4193 * addftinfo/addftinfo.cc (main): Likewise. 4194 * acgroff.m4 (GROFF_PROG_CCC, GROFF_CC_COMPILE_CHECK, 4195 GROFF_COOKIE_BUG, GROFF_CC_ANSI_BUG): Likewise. 4196 4197 * troff/token.h (process_input_stack): Don't declare as static. 4198 * troff/input.cc: Likewise. 4199 4200 * troff/node.c (invalidate_fontno): Make it a static member of 4201 class font_family. Change callers. 4202 * troff/node.c: Change declaration. 4203 4204 * tbl/main.cc (struct input_entry_format): Add explicit public 4205 specifier. 4206 * tbl/table.cc (struct text_stuff, struct single_hline_stuff, 4207 struct double_hline_stuff): Likewise. 4208 * tbl/table.h (struct entry_format): Likewise. 4209 * pic/object.h (struct saved_state): Likewise. 4210 4211 * include/stringclass.h: Add forward declarations of friend 4212 functions that are later declared as inline. Don't include inline 4213 specifier in friend declaration. 4214 4215 * libgroff/lib.h: Declare popen and pclose. 4216 * acgroff.m4 (GROFF_POPEN): New macro. 4217 * configure.in: Call it. 4218 4219 * include/lib.h (PI): New constant. Undef first if necessary. 4220 * tfmtodit/tfmtodit.cc (main): Use PI rather than M_PI. 4221 * grops/ps.cc (degrees, radians): Likewise. 4222 * libgroff/font.cc (font::get_skew): Likewise. 4223 4224 * grops/ps.cc (is_ascii): New function. 4225 (ps_output::put_string): Use is_ascii. Use csprint rather than 4226 isprint. 4227 (ps_printer::define_encoding): Use csspace. 4228 * libgroff/strtol.c (ISASCII): New macro. 4229 (strtol): Cast arguments to is*() and tolower() to unsigned char. 4230 Use ISASCII rather than isascii. 4231 * libgroff/cmap.cc: Use isascii() only if <ctype.h> defines it. 4232 * libgroff/cset.cc: Likewise. 4233 * libdriver/input.cc: Include cset.h. 4234 (do_file, get_integer, possibly_get_integer): Use csdigit() rather 4235 than isdigit(). 4236 4237 * refer/refer.cc (main): Use %ld rather than %d for longs. 4238 4239 * libbib/index.cc (index_search_item_iterator::get_tag): Use 4240 S_ISREG macro. 4241 4242 * addftinfo/addftinfo.cc (param_t): Add explicit `int'. 4243 4244Mon May 24 08:51:37 1993 James Clark (jjc@jclark.com) 4245 4246 * troff/input.cc (hyphenation_code): Skip white space between 4247 char/code pairs. 4248 4249Sun May 16 08:15:52 1993 James Clark (jjc at jclark.com) 4250 4251 * tbl/table.h (table::entry_list_tailp): New member. 4252 (table::table): Initialize it. 4253 (table::add_entry): Use entry_list_tailp to avoid O(n^2) 4254 behaviour. 4255 4256Sat May 15 17:26:00 1993 James Clark (jjc at jclark.com) 4257 4258 * grotty/tty.cc (tty_printer::add_char): Don't discard characters 4259 with negative horizontal positions. Remove casts of glyph::hpos to 4260 int. 4261 (USHRT_MAX): Delete definition. 4262 (SHRT_MAX, SHRT_MIN): New definitions. 4263 (glyph::hpos): Change type to short. 4264 (tty_printer::end_page): Output multiple backspaces if necessary. 4265 Remove casts of glyph::hpos to int. 4266 4267Fri May 7 12:14:37 1993 James Clark (jjc at jclark.com) 4268 4269 * tmac/tmac.s (@RT): New definition. 4270 4271Thu May 6 21:36:54 1993 James Clark (jjc at jclark.com) 4272 4273 * refer/refer.cc (do_file): Make sure current_filename is set when 4274 filename is "-". 4275 4276 * pic/common.cc (common_output::dot_line): Handle zero length 4277 lines. 4278 4279Sun May 2 19:54:16 1993 James Clark (jjc at jclark.com) 4280 4281 * tmac/tmac.s (par@reset): Get value for .hy for \n[HY]. 4282 (par@init): Initialize \n[HY]. 4283 4284Mon Apr 26 11:43:16 1993 James Clark (jjc at jclark.com) 4285 4286 * troff/dictionary.cc (dictionary::remove): Continue when 4287 r < j < i. 4288 4289Sun Apr 25 11:03:00 1993 James Clark (jjc at jclark.com) 4290 4291 * Makefile.com (.y.cc): Avoid ending up with two versions of 4292 $(YTABH). 4293 4294Thu Apr 22 21:03:45 1993 James Clark (jjc at jclark.com) 4295 4296 * tmac/tmac.dvi (\(,c): Define only if it does not exist. 4297 (\(,C): Likewise. Also fix typo. 4298 4299Wed Apr 21 08:47:32 1993 James Clark (jjc at jclark.com) 4300 4301 * lib.h: Delete extraneous semi-colon. 4302 4303 * Add pso request: `so' from a pipe. 4304 * troff/input.c (file_iterator::file_iterator): Add 3rd argument. 4305 (file_iterator::close): New function. 4306 (file_iterator::~file_iterator, file_iterator::next_file): Use 4307 file_iterator::close. 4308 (file_iterator::backtrace): Say `process' rather than `file' when 4309 the stream is popened. 4310 (pipe_source): New function. 4311 (init_input_requests): Bind ".pso" to pipe_source. 4312 4313Tue Apr 20 00:02:26 1993 James Clark (jjc at jclark.com) 4314 4315 * afmtodit/afmtodit.pl: Avoid single quotes in comments. 4316 4317 * pfbtops/pfbtops.c: Output 64 characters per line. Output hex 4318 digits in lower case. 4319 4320Mon Apr 19 09:55:57 1993 James Clark (jjc at jclark) 4321 4322 * Version 1.08 released. 4323 4324 * Makefile.in (dist): Insert || true after ln -s commands that 4325 might fail. 4326 4327 * mm: Update to mm 1.16. 4328 4329 * acgroff.m4 (GROFF_CSH_HACK): New macro. 4330 * configure.in: Call GROFF_CSH_HACK. Substitute for 4331 SH_SCRIPT_SED_CMD. 4332 * Makefile.in (SH_SCRIPT_SED_CMD): New variable. Include in 4333 MDEFINES. 4334 * nroff/Makefile.sub (nroff): New target. 4335 (install_data): Install nroff. 4336 * eqn/Makefile.sub (neqn): Sed with SH_SCRIPT_SED_CMD. 4337 * grog/Makefile.sub (grog): Sed grog.sh with SH_SCRIPT_SED_CMD. 4338 4339Sat Apr 17 08:24:28 1993 James Clark (jjc at jclark) 4340 4341 * eqn/Makefile.sub (neqn): Add chmod +x. 4342 4343 * grog/Makefile.sub (grog): Remove spurious semi-colon. 4344 4345Fri Apr 16 22:41:57 1993 James Clark (jjc at jclark) 4346 4347 * troff/input.cc (string_iterator::string_iterator()): Initialize 4348 lineno and count. 4349 4350Tue Apr 13 10:22:28 1993 James Clark (jjc at jclark) 4351 4352 * troff/div.cc (macro_diversion::space, 4353 top_level_diversion::space): Don't set high_water_mark. 4354 (macro_diversion::output, top_level_diversion::output): Don't 4355 include post line space in high water mark. 4356 4357Wed Apr 7 12:48:18 1993 James Clark (jjc at jclark) 4358 4359 * eqn/eqn.y: Don't define YYDEBUG. 4360 * pic/pic.y: Likewise. 4361 4362Mon Apr 5 10:15:15 1993 James Clark (jjc at jclark) 4363 4364 * tmac/tmac.e ([3): Add space after comma following editors. 4365 Change double spaces to single spaces. 4366 ([4): Change double spaces to single spaces. 4367 4368 * grops/ps.h (USE_PS_ADOBE_2_0): New flag for broken_flags. 4369 * grops/ps.cc (ps_printer::~ps_printer): If the USE_PS_ADOBE_2_0 4370 bit is set in broken_flags, use 2.0 rather than 3.0 as the version 4371 after %!PS-Adobe- (for Newsprint). 4372 4373 * troff/div.cc (top_level_diversion::begin_page): When 4374 before_first_page is 1, set page_number to 1. 4375 4376Sun Apr 4 14:28:53 1993 James Clark (jjc at jclark) 4377 4378 * eqn/box.cc (box::top_level): Protect equation with \&. 4379 4380Sat Apr 3 23:27:25 1993 James Clark (jjc at jclark) 4381 4382 * groff/groff.cc (possible_command::set_name): Delete old name. 4383 4384 * groff/groff.cc (possible_command::~possible_command): Use 4385 a_delete. 4386 4387 * troff/node.cc (troff_output_file::begun_page): New member. 4388 (troff_output_file::troff_output_file): Initialize it. 4389 (troff_output_file::really_begin_page): Only output V command if a 4390 page has been begun. 4391 4392 * pic/pic.y (placeless_element): Delete argument to PRINT after 4393 use. 4394 4395Fri Apr 2 11:31:02 1993 James Clark (jjc at jclark) 4396 4397 * Make wrapman work. 4398 * troff/div.h (class top_level_diversion): Replace 4399 first_page_begun by before_first_page (with opposite sense). 4400 * Change first_page_begun to before_first_page inverting sense. 4401 * troff/div.cc (class nl_reg): New class. 4402 (init_div_requests): Use class nl_reg for \n(nl. 4403 (top_level_diversion::begin_page): Don't call 4404 output_file::begin_page if before_first_page is 2; 4405 reset before_first_page afterwards. If have_next_page_number is 4406 false, then always increment page_number. 4407 * tmac/tmac.an: Set traps within TH rather than at the top-level. 4408 Restore compatibility mode after loading, and then disable 4409 compatibility mode in TH. 4410 4411Thu Apr 1 11:09:34 1993 James Clark (jjc at jclark) 4412 4413 * grotty/tty.cc (tty_printer::end_page): Don't discard characters 4414 past last line. 4415 * troff/node.h (output_file::trailer): Declare. 4416 * troff/div.cc (cleanup_and_exit): Call output_file::trailer(). 4417 * troff/node.cc (output_file::trailer): New function. 4418 (troff_output_file::~troff_output_file): Move most code into... 4419 (troff_output_file::trailer): New function. 4420 (class troff_output_file): Delete page_length member. Declare 4421 trailer(). 4422 (troff_output_file::really_begin_page): Use current page length 4423 for final V command. 4424 4425 * tbl/main.cc (struct options): New decimal_point_char member. 4426 (options::options): Initialize this. 4427 (process_options): Implement decimalpoint option. 4428 (process_data): Pass decimal_point_char option to table::table. 4429 * tbl/table.h (class table): New decimal_point_char member. 4430 (table::table): Add additional argument. 4431 * tbl/table.cc (find_dot): Rename to find_decimal_point. Add 4432 second argument specifying decimal point character. Use this 4433 instead of '.'. 4434 (table::table): Initialize decimal_point_char. 4435 (table::add_entry): Change call to find_dot. 4436 4437 * troff/input.cc (get_copy, token::next): Implement \V. 4438 (interpolate_environment_variable): New function. 4439 4440Tue Mar 30 14:41:39 1993 James Clark (jjc at jclark) 4441 4442 * pic/lex.cc (lookup_keyword): Rename MIN to K_MIN, MAX to K_MAX. 4443 * pic/pic.y: Likewise. 4444 4445 * grotty/tty.cc (tty_printer::add_char, tty_printer::end_page): 4446 Add casts to int. 4447 * refer/ref.cc (reference::insert_field, reference::delete_field): 4448 Likewise. 4449 * troff/number.cc (parse_term): Likewise. 4450 4451 * acgroff.m4 (GROFF_PROG_YACC): New macro. 4452 * configure.in: Use GROFF_PROG_YACC. 4453 4454 * acgroff.m4 (GROFF_PROG_CCC): Don't add -O automatically for gcc 4455 and g++. 4456 * Makefile.in (OPTIMIZE): New define. 4457 (DEBUG): Empty by default. 4458 (CCFLAGS, CFLAGS): Include $(OPTIMIZE). 4459 4460 * acgroff.m4 (GROFF_SYS_SIGLIST): Don't quote program. 4461 (GROFF_ARRAY_DELETE): Likewise. 4462 (GROFF_CC_COMPILE_CHECK): Quote use of $2 and $3. 4463 4464 * troff/env.cc (trie::~trie): Make virtual to shut up g++. 4465 4466 * devps/psstrip.sed: Use different delimiter on last line (so that 4467 it works with BSD 4.4 sed.) 4468 4469Mon Mar 29 17:07:14 1993 James Clark (jjc at jclark) 4470 4471 * devps/psstrip.sed: Delete comments. 4472 4473 * acgroff.m4 (AC_GETOPT): Don't test whether <unistd.h> declares 4474 optind, opterr, optarg. 4475 * lib.h: When UNISTD_H_DECLARES_GETOPT is defined, declare optind, 4476 opterr, optarg. 4477 4478Sun Mar 28 17:44:25 1993 James Clark (jjc at jclark) 4479 4480 * Makefile.in (check): Dummy target. 4481 4482Wed Mar 3 04:53:38 1993 James Clark (jjc at jclark) 4483 4484 * Version 1.07 released. 4485 4486 * Integrate mm 1.11. 4487 4488 * tbl/table.cc (alphabetic_block_entry::print): start_row was used 4489 where start_col was meant. 4490 4491Thu Feb 25 07:55:36 1993 James Clark (jjc at jclark) 4492 4493 * grog/grog.sh, grog/grog.pl: Recognize PH and SA as -mm macros. 4494 4495Wed Feb 24 10:15:34 1993 James Clark (jjc at jclark) 4496 4497 * troff/input.cc (token::next): Make \z\o'...' and similar things 4498 work. 4499 4500 * env.h (MARGIN_CHARACTER_ON, MARGIN_CHARACTER_NEXT): New 4501 constants. 4502 (environment): Add margin_character_flags member. 4503 * env.cc (environment::environment(symbol), 4504 environment::environment(const environment *): Initialize 4505 margin_character_flags. 4506 (margin_character): Rewrite. 4507 (environment::output_line): Add a margin character if 4508 margin_character_flags is non-zero. Turn off the 4509 MARGIN_CHARACTER_NEXT bit. If that makes margin_character_flags 4510 zero, use margin_character_node without copying and then set 4511 margin_character_node to 0. 4512 4513 * devps/DESC.in: Change minimum size to 1000. 4514 4515Tue Feb 23 14:57:49 1993 James Clark (jjc at jclark) 4516 4517 * troff/symbol.h (symbol::hash): Change return type to unsigned 4518 long. 4519 * troff/dictionary.cc (dictionary::lookup, dictionary::remove): 4520 Add casts to int. 4521 4522 * test-groff: Use -r rather than -x. 4523 4524 * grops/psfig.diff: Include in distribution again. 4525 4526Mon Feb 22 09:10:44 1993 James Clark (jjc at jclark) 4527 4528 * Makefile.in (dist): Use gzip. 4529 4530Sun Feb 21 11:12:53 1993 James Clark (jjc at jclark) 4531 4532 * acgroff.m4 (GROFF_GETOPT): Check for declaration of getopt() in 4533 unistd.h as well as in stdlib.h. 4534 * include/lib.h: Include <stdlib.h> is STDLIB_H_DECLARES_GETOPT is 4535 defined; otherwise include <sys/types.h> and <unistd.h> if 4536 UNISTD_H_DECLARES_GETOPT is defined. 4537 4538 * configure.in: use builtin(include, ... rather than include(... 4539 * configure: Regenerate with autoconf 1.3. 4540 4541 * libdriver/print.cc (printer::adjust_arc_center): Use new 4542 algorithm suggested by Andy Fyfe. 4543 4544 * libdriver/printer.cc (printer::adjust_arc_center): New function. 4545 * include/printer.h: Declare this. 4546 * grops/ps.cc (ps_printer::draw): Use it. 4547 * grodvi/dvi.cc (dvi_printer::draw): Use it. 4548 4549Fri Feb 19 23:13:51 1993 James Clark (jjc at jclark) 4550 4551 * Makefile.comm (.man.n): Replace macrodir by tmacdir. 4552 4553Thu Feb 11 16:46:59 1993 James Clark (jjc at jclark) 4554 4555 * eqn/main.cc (main): Handle "eqn -". 4556 4557Mon Jan 4 20:29:56 1993 James Clark (jjc at jclark) 4558 4559 * tmac/tmac.e (++): Install fix from comp.bugs.4sd. 4560 4561 * mm: Integrate version 1.08. 4562 4563 * pic/troff.cc (troff_output::finish_picture): Set 4564 EQN_NO_EXTRA_SPACE reg to 0 rather than removing it. 4565 * eqn/box.cc (box::extra_space): Set EQN_NO_EXTRA_SPACE_REG to 0 4566 if it's not defined. Check whether the register is non-zero rather 4567 than whether it's not defined. 4568 * tmac.e ({, <): Make argument to \x zero if \n(0x is non-zero. 4569 4570 * indxbib/indxbib.cc: Move all signal handling into... 4571 * indxbib/signal.c: New file. 4572 * configure.in: Call AC_RETSIGTYPE. 4573 4574 * acgroff.m4 (GROFF_STRUCT_EXCEPTION): New macro. 4575 * configure.in: Call GROFF_STRUCT_EXCEPTION. 4576 * libgroff/matherr.c: Protect with ifdef HAVE_STRUCT_EXCEPTION. 4577 4578 * troff/input.cc (token::token, token::operator=): Work round SGI 4579 C++ bug. 4580 * pic/object.cc (position::position): Likewise. 4581 4582Mon Dec 28 21:50:21 1992 James Clark (jjc at jclark) 4583 4584 * pic/pic.h: Move declaration of hypot(). 4585 4586Wed Dec 16 12:28:29 1992 James Clark (jjc at jclark) 4587 4588 * pic/pic.h: Declare hypot(). 4589 4590 * pic/pic.h: Define M_PI if necessary. 4591 4592Thu Dec 10 12:03:29 1992 James Clark (jjc at jclark) 4593 4594 * tmac/tmac.e (re): Add alternative version that doesn't use groff 4595 `.ta T' feature. 4596 4597 * devps/prologue.ps (RE): Handle the possibility that the old font 4598 doesn't have a FontName entry. 4599 4600Wed Dec 2 10:25:29 1992 James Clark (jjc at jclark) 4601 4602 * tmac/tmac.e (fam): Redefine to set family in environment 2. 4603 (@C): Use @fam not fam. 4604 4605Thu Nov 26 16:01:25 1992 James Clark (jjc at jclark) 4606 4607 * lookbib/lookbib.cc (main): Change type of start to const char *. 4608 * lkbib/lkbib.cc (main): Likewise. 4609 4610 * eqn/lex.cc (definition::definition): Don't use member 4611 initializer syntax for members of anonymous unions. 4612 4613 * troff/input.cc (input_stack::backtrace): Change type of to const 4614 char *. 4615 4616Wed Nov 25 13:43:09 1992 James Clark (jjc at jclark) 4617 4618 * include/stringclass.h (class string): Declare inline friend 4619 functions as inline in class declaration. 4620 * troff/hvunits.h (class hunits, class vunits): Likewise. 4621 * include/refid.h (class reference_id): Likewise 4622 * troff/troff.h (points_to_units(units), scale(units, double)): 4623 Delete declarations. 4624 * libdriver/input.cc (get_char): Delete declaration. 4625 * include/lib.h: Change 2nd argument of getopt from const char ** 4626 to char **. 4627 * troff/symbol.cc (symbol::symbol): Cast `new char *[n]' to `const 4628 char **' before assigning to a `const char **'. 4629 * tbl/table.cc: Delete extra declarations of prints(). 4630 4631Tue Nov 24 14:33:13 1992 James Clark (jjc at jclark) 4632 4633 * libgroff/font.cc (font::load_desc): Cast `new char *[n]' to `const 4634 char **' before assigning to a `const char **'. 4635 4636 * libgroff/errarg.cc (errarg::errarg): Don't use member 4637 initializer syntax for members of anonymous unions. 4638 4639Sat Nov 21 05:02:23 1992 James Clark (jjc at jclark) 4640 4641 * mm: Integrate version 1.07. 4642 4643Tue Nov 17 16:44:27 1992 James Clark (jjc at jclark) 4644 4645 * troff/input.c (translate2): Rename to 4646 (translate_no_transparent). 4647 (init_input_requests): Rename tr2 to trnt. 4648 4649Mon Nov 16 09:49:32 1992 James Clark (jjc at jclark) 4650 4651 * troff/charinfo.h (class charinfo): Add transparent_translate field. 4652 (charinfo::set_translation, charinfo::set_special_translation): 4653 Add second argument that specifies value for 4654 transparent_translate. 4655 (charinfo::get_translation, charinfo::get_special_translation): 4656 Add optional second argument that specifies whether translation is 4657 being used for transparent throughput. 4658 * troff/input.cc (charinfo::set_translation, 4659 charinfo::set_special_translation): Handle second argument. 4660 (charinfo::charinfo): Initialize transparent_translate. 4661 (translate): Split main part off into 4662 (do_translate): New function. Pass argument saying whether 4663 translation applies to transparent throughput. 4664 (translate2): New request. 4665 (init_input_requests): Bind translate2 to `tr2'. 4666 4667Wed Nov 11 11:43:20 1992 James Clark (jjc at jclark) 4668 4669 * tbl/table.h (class table): Add `nokeep' flag. 4670 * tbl/main.cc (process_options): Handle `nokeep' option. 4671 * tbl/table.cc (table::init_output, table::do_row, table::do_top, 4672 table::do_bottom): Don't output keep/release macro definitions or 4673 calls when `nokeep' option has been specified. 4674 4675Sat Nov 7 01:28:33 1992 James Clark (jjc at jclark) 4676 4677 * tmac/tmac.Xps (Xps-char): Use " as delimiter for \Z. 4678 4679Wed Nov 4 16:29:04 1992 James Clark (jjc at jclark) 4680 4681 * tbl/table.cc (table_entry::divert, block_entry::do_divert, 4682 block_entry::divert, alphabetic_block_entry::divert): Add extra 4683 argument giving column separation. 4684 (table::compute_widths): Pass column separation to 4685 table_entry::divert(). 4686 (block_entry::do_divert): If an entry spans multiple columns and a 4687 minimumum width has been specified for each column, then set the 4688 line length to the sum of the widths (plus possibly the column 4689 separations). 4690 4691 * troff/input.cc (set_escape_char): Don't set the escape_char 4692 until after calling has_arg(). 4693 4694Tue Nov 3 11:23:27 1992 James Clark (jjc at jclark) 4695 4696 * tbl/table.cc (table::do_top): Add missing \s0 for double box 4697 case. 4698 4699 * tbl/table.cc (table::print_double_hline): Avoid extra new line 4700 in case where r > nrows - 1. 4701 4702 * tbl/table.cc (BODY_HEIGHT): Deleted. 4703 (LINE_SEP): New definition. 4704 (table::print_single_hline, table::print_double_hline, 4705 table::compute_vrule_top_adjust, table::compute_vrule_bot_adjust, 4706 table::do_row, table::do_top): Use LINE_SEP space before a line 4707 instead of \n[.v]-BODY_HEIGHT-BODY_DEPTH. 4708 4709 * tbl/table.cc (text_entry::print_contents): New function. 4710 (text_string_name, right_text_string_name): Deleted. 4711 (TEXT_STRING, RIGHT_TEXT_STRING): Deleted. 4712 (simple_text_entry::do_width, numeric_text_entry::do_width, 4713 alphabetic_text_entry::do_width): Don't store the contents of the 4714 entry in a string. 4715 (left_text_entry::simple_print, right_text_entry::simple_print, 4716 center_text_entry::simple_print, 4717 alphabetic_text_entry::simple_print, 4718 numeric_text_entry::simple_print): Print the entry directly 4719 instead of using the stored string. 4720 4721Fri Oct 30 10:39:32 1992 James Clark (jjc at jclark) 4722 4723 * devps/Makefile: Strip PostScript files. 4724 * devps/prologue: Rename to... 4725 * devps/prologue.ps. 4726 * devps/psstrip.sed: New file. 4727 * devps/download: Use .pfa rather than .ps for installed versions 4728 of fonts. 4729 4730Thu Oct 29 09:14:43 1992 James Clark (jjc at jclark) 4731 4732 * troff/env.cc (input_trap): Give a warning if the argument is out 4733 of range. 4734 4735 * troff/env.cc (adjust): Treat negative argument as missing. Round 4736 argument > 5 down to 5. 4737 4738 * troff/env.cc (center, right_justify): Make negative argument zero. 4739 4740 * troff/div.cc (page_offset, vertical_position_traps): Treat 4741 invalid argument as missing. 4742 * troff/env.cc (line_spacing, line_length, title_length, indent, 4743 underline, hyphen_line_max_request, control_char, 4744 no_break_control_char, widow_control_request, adjust, input_trap, 4745 point_size): Likewise. 4746 * troff/node.cc (ligature, kern_request, bold_font, track_kern, 4747 constant_space): Likewise. 4748 * troff/input.cc (compatible, shift, warn_request, 4749 set_escape_char): Likewise. 4750 4751 * tbl/main.cc (format::format): Avoid doing `new int[0]'. 4752 * tbl/table.cc (table::table): Likewise. 4753 4754 * Makefile.dev (install_dev): depends on $(DEVFILES). 4755 4756Wed Oct 28 08:30:57 1992 James Clark (jjc at jclark) 4757 4758 * devX75, devX75-12, devX100, devX100-12: New directories. 4759 * Makefile.in: Add these to DEVDIRS. 4760 4761 * troff/Makefile.sub, eqn/Makefile.sub, indxbib/Makefile.sub, 4762 afmtodit/Makefile.sub, tmac/Makefile.sub, nroff/Makefile.sub, 4763 grog/Makefile.sub, mm/Makefile.sub (uninstall_sub): New target. 4764 * Makefile.in (uninstall, uninstall_sub, uninstall_dirs): New 4765 targets. 4766 * Makefile.ccpg, Makefile.cpg, Makefile.dev, Makefile.man 4767 (uninstall): New target. 4768 * Makefile.comm (uninstall, uninstall_sub, uninstall_man, 4769 uninstall_prog, uninstall_dev): New targets. 4770 4771 * troff/div.cc (return_request): Treat an invalid argument as 4772 missing. 4773 4774Mon Oct 26 11:33:47 1992 James Clark (jjc at jclark) 4775 4776 * tmac/tmac.e ((f): Set up the environment even when there's a 4777 current diversion. Transperently throughput a call to @N. 4778 (@N): New macro. 4779 4780Thu Oct 22 05:05:59 1992 James Clark (jjc at jclark) 4781 4782 * tbl/table.cc (table::compute_vrule_top_adjust): Round adjustment 4783 up to vertical resolution. 4784 4785 * tbl/table.cc (table::do_row): Change row number after printing 4786 stuff list. 4787 4788 * pic/lex.cc (get_token_after_dot): Make .left and .right work. 4789 4790Wed Oct 21 14:46:45 1992 James Clark (jjc at jclark) 4791 4792 * Rename CHANGES to NEWS. 4793 4794Tue Oct 20 23:25:21 1992 James Clark (jjc at jclark) 4795 4796 * libgroff/new.cc (operator new): Avoid calling malloc(0). 4797 4798Mon Oct 19 09:10:13 1992 James Clark (jjc at jclark) 4799 4800 * man.ultrix: Removed. 4801 4802Sun Oct 18 06:35:15 1992 James Clark (jjc at jclark) 4803 4804 * Makefile.comm (extraclean): Delete files whose names begin with 4805 `='. 4806 4807 * pic/troff.cc (troff_output::text): Fix typo in implementation of 4808 aligned text. 4809 4810Sat Oct 10 09:32:29 1992 James Clark (jjc at jclark) 4811 4812 * troff/env.cc (hyphenate_request, vertical_spacing, no_number): 4813 * troff/div.cc (page_length, need_space, space_request): Treat 4814 invalid optional argument as missing. 4815 * troff/env.cc (number_lines): If the first argument is present 4816 but not a number, turn on line numbering, don't change the next 4817 line number and parse the remaining arguments. 4818 4819 * tmac/tmac.e (@q): Do the `ne' before changing to environment 2. 4820 4821Thu Oct 8 10:24:40 1992 James Clark (jjc at jclark) 4822 4823 * eqn/box.h: Change declaration accordingly. 4824 * eqn/box.cc (set_gsize): Change return type to int. Return 0 if 4825 the specified size was bad but don't give an error. Check for 4826 overflow. 4827 * eqn/main.cc (main): Change caller. Leave validation to set_gsize. 4828 * eqn/lex (do_size): Likewise. 4829 4830Wed Oct 7 09:48:59 1992 James Clark (jjc at jclark) 4831 4832 * acgroff.m4 (GROFF_PROG_CCC): Use fopen when checking for C++ 4833 compatible headers. 4834 4835Sun Oct 4 18:24:02 1992 James Clark (jjc at jclark) 4836 4837 * tbl/table.cc (table::init_output): Improve error message when 4838 table won't fit on one page. 4839 4840Fri Oct 2 10:41:40 1992 James Clark (jjc at jclark) 4841 4842 * pic/troff.cc (troff_output::start_picture): Generate line 4843 containing a horizontal motion equal to the width of the picture. 4844 4845 * groff/groff.cc (main): Allow PROG_PREFIX to be set at runtime 4846 using GROFF_COMMAND_PREFIX environment variable. 4847 4848Fri Sep 25 11:40:40 1992 James Clark (jjc at jclark) 4849 4850 * mdate.sh: Use $NF rather than $(NF). 4851 4852Tue Sep 22 09:47:24 1992 James Clark (jjc at jclark) 4853 4854 * pic/main.cc (main): Use %1 not %c in argument to warning. 4855 4856 * eqn/main.cc (main): Output code to check that geqn was given the 4857 correct -T option. 4858 4859Mon Sep 21 10:59:16 1992 James Clark (jjc at jclark) 4860 4861 * Makefile.in (dist): Instead of doing `make -f ../Makefile', do 4862 `ln -s ../Makefile .; make; rm -f Makefile'. 4863 4864 * troff/hyphen: Rename to... 4865 * troff/hyphen.us: 4866 * troff/input.cc (main): Delete -H option. Don't call 4867 read_hyphen_file(). 4868 * troff/env.cc: Include searchpath.h and macropath.h. 4869 (exception_dictionary): Deleted. 4870 (ht): Deleted. 4871 (read_hyphen_file): Deleted. 4872 (hyphenation_language): New struct. 4873 (class trie, class hyphen_trie): Move declarations up. 4874 (trie_node::~trie_node): Deleted. 4875 (trie::delete_trie_node): New function. 4876 (trie::do_delete): New pure virtual function. 4877 (hyphen_trie::do_delete): New function. 4878 (trie::~trie): New function. 4879 (hyphen_trie::~hyphen_trie): New function. 4880 (trie::clear): No need to chcek that tp is not 0. 4881 (current_language, language_dictionary): New variables. 4882 (hyphen_word): Give an error if no current language. Use 4883 exceptions dictionary in current language. 4884 (hyphen_trie::read_patterns_file): Find file using macro_path. 4885 Allow comments (starting with %) in patterns file. Don't make it 4886 a fatal error if the file can't be found. 4887 (hyphenate): Return if no current language. Get the exceptions 4888 dictionary and the hyphenation patterns from the current language. 4889 (set_hyphenation_language): New variable. 4890 (hyphenation_patterns_file): New function. 4891 (hyphenation_language_reg): New class. 4892 (hyphenation_language_reg::get_string): New function. 4893 (init_hyphen_requests): Bind "hla" to set_hyphenation_language and 4894 "hpf" to hyphenation_patterns_file. Initialize `.hla' number 4895 register. 4896 * groff/groff.cc (main, help, synopsis): Delete -H option. 4897 * include/Makefile.sub: Don't define HYPHENFILE. 4898 * Makefile.in: Delete hyphenfile variable and remove from MDEFINES. 4899 * Makefile.comm (.man.n): Don't substitute for HYPHENFILE. 4900 * tmac/troffrc: Set hyphenation language to `us'. Load `hyphen.us' 4901 hyphenation patterns. 4902 4903Sun Sep 20 09:33:02 1992 James Clark (jjc at jclark) 4904 4905 * eqn/neqn.sh: New file. 4906 * eqn/Makefile.sub: Handle neqn.sh. 4907 4908 * eqn/eqn.h: Declare `nroff' variable. 4909 * eqn/box.cc (param_table): Add `nroff' param. 4910 (nroff): Define it. 4911 * eqn/lex.cc (yylex): Handle TDEFINE and NDEFINE using `nroff' 4912 variable. 4913 * tmac/eqnrc: Set `nroff' to 1 for -Tascii or -Tlatin1. 4914 4915 * troff/troff.h (WARN_FONT): New warning. 4916 (WARN_TOTAL): Change accordingly. 4917 * troff/input.cc (DEFAULT_WARNING_MASK): Include WARN_FONT. 4918 (warning_table): Add WARN_FONT. 4919 * troff/node.cc (mount_font_no_translate): Pass argument to 4920 font::load_font. If this is non-zero, give a warning. 4921 Don't give an error message when accessing a font that has already 4922 been found to be invalid. 4923 * include/font.h (font::load, font::load_font): Add additional 4924 optional argument which suppresses error message if the font is 4925 not found. 4926 * libgroff/font.cc (font::load_font): Handle additional argument. 4927 (font::load): Add additional argument. If this is non-null, set it 4928 to 1 and don't give error message. 4929 4930 * include/printer.h (printer::end_page): Add argument giving 4931 length of page. 4932 * libdriver/input.cc (do_file): Pass this. 4933 * grops/ps.cc (ps_printer::end_page): Add argument. 4934 * grodvi/dvi.cc (dvi_printer::end_page, 4935 draw_dvi_printer::end_page): Add argument. 4936 * grotty/tty.cc (class tty_printer): Remove lines_per_page and 4937 columns_per_page members. New member nlines. 4938 (DEFAULT_LINES_PER_PAGE): Deleted. 4939 (tty_printer::tty_printer): Don't compute lines_per_page from 4940 font::paperlength. Don't compute columns_per_page from 4941 font::paperwidth. 4942 (tty_printer::add_char): Don't check horizontal position against 4943 columns_per_page. Grow glyphs vector if neccessary. 4944 (tty_printer::end_page): Add argument giving page_length in units. 4945 Discard lines past end of page. 4946 4947Wed Sep 16 06:29:52 1992 James Clark (jjc at jclark) 4948 4949 * tmac/tmac.tty-char: Fix definition of \(/l. 4950 4951 * tmac/tmac.X: Define \(en. 4952 4953Tue Sep 15 10:37:13 1992 James Clark (jjc at jclark) 4954 4955 * acgroff.m4 (GROFF_PRINT): If a system has lpr and lp but not 4956 lpq, then use lp rather than lpr. 4957 4958 * tmac/tmac.s (par@reset): Don't call `ad'. 4959 (par*env-init): Call `ad'. 4960 4961Sun Sep 13 18:48:20 1992 James Clark (jjc at jclark) 4962 4963 * mdate.sh: Use $(NF) instead of $6 to extract year from output of 4964 date. 4965 4966 * troff/symbol.cc: #undef BLOCK_SIZE if it's defined. 4967 * indxbib/indxbib.cc: Likewise. 4968 4969Sun Sep 6 09:44:46 1992 James Clark (jjc at jclark) 4970 4971 * libgroff/putenv.c: New file. 4972 * libgroff/Makefile.sub: Add putenv.c to CSRCS. 4973 * Makefile.in: Say that putenv.o can be one of LIBOBJS. 4974 * configure.in: Test for putenv with AC_REPLACE_FUNCS. Test for 4975 stdlib.h with AC_HAVE_HEADERS. 4976 4977Sat Sep 5 18:11:52 1992 James Clark (jjc at jclark) 4978 4979 * indxbib/dirnamemax.c: Include <sys/dir.h> only if <dirent.h> 4980 does not exist. 4981 4982Fri Sep 4 09:43:26 1992 James Clark (jjc at jclark) 4983 4984 * eqn/box.cc (gsize): Make it an int. 4985 (set_gsize): Parse argument handling increment or decrement. 4986 (box::top_level): Convert gsize to a string. 4987 4988 * troff/input.cc (exit_troff): Make buf unsigned char []. 4989 Call to make_temp_iterator casts buf to char*. 4990 4991 * Makefile.in ($(TARGETS), dot): Pass $(MDEFINES) to recursive makes. 4992 4993 * Makefile.ccpg (depend.temp): Depends on $(YTABC). 4994 * Makefile.cpg (depend.temp): Likewise. 4995 4996 * Makefile.dep: Remove Makefile.dep from $(REALCLEANFILES). 4997 4998 * Makefile.comm: Add y.output to MOSTLYCLEANFILES. 4999 5000Thu Sep 3 08:01:55 1992 James Clark (jjc at jclark) 5001 5002 * tmac/tmac.s (B, I, BI, CW): Rewrite avoiding aliases. 5003 5004Tue Sep 1 18:24:53 1992 James Clark (jjc at jclark) 5005 5006 * Version 1.06 released. 5007 5008 * Integrate mm 1.04. 5009 5010Fri Aug 28 11:28:19 1992 James Clark (jjc at jclark) 5011 5012 * Makefile.comm, Makefile.ccpg, Makefile.cpg: Fix TAGS target. 5013 5014Thu Aug 27 11:03:33 1992 James Clark (jjc at jclark) 5015 5016 * afmtodit/afmtodit.pl: Add -n option that disables generation of 5017 ligatures command. 5018 * devps/generate/Makefile (CR, CB, CI, CBI): Pass -n flag to 5019 afmtodit. Regenerate. 5020 5021 * tmac/tmac.e ()z): Adjust _b if necessary so as to avoid moving 5022 @f back past the current position. 5023 5024 * tmac/tmac.e: Change calls to @R so that comments are not part of 5025 arguments. 5026 5027Tue Aug 25 10:42:07 1992 James Clark (jjc at jclark) 5028 5029 * configure.in: Check for mkstemp with AC_HAVE_FUNCS. 5030 5031 * acgroff.m4 (GROFF_PROG_CCC): Don't check for <osfcn.h>. Instead 5032 check that we can link a call to a function declared in <stdio.h>. 5033 (GROFF_UNISTD_H): New macro. 5034 * configure.in: Call it. 5035 * Makefile.in: Document it. 5036 * include/posix.h: New file. 5037 * troff/troff.h: Don't include <osfcn.h> 5038 * troff/input.cc: Include posix.h. 5039 * libgroff/new.cc, libgroff/tmpfile.cc: Include posix.h rather than 5040 osfcn.h. 5041 * indxbib/indxbib.cc, libbib/{search.cc,linear.cc,index.cc}: 5042 Include posix.h rather <sys/types.h>, <sys/stat.h>, <osfcn.h>, 5043 <fcntl.h>. 5044 * indxbib/indxbib.cc (S_IRUSR, S_IRGRP, S_IROTH): Delete definitions. 5045 * libbib/index.cc (S_ISREG, O_RDONLY): Delete definitions. 5046 * libbib/search.cc (O_RDONLY): Delete definition. 5047 * refer/refer.cc, include/driver.h, pic/pic.h, groff/groff.cc: 5048 Don't include <osfcn.h>. 5049 5050 * acgroff.m4 (GROFF_TIME_T): New macro. 5051 * configure.in: Call it. 5052 * Makefile.in: Document it. 5053 5054 * acgroff.m4 (GROFF_TRADITIONAL_CPP): New macro. 5055 * configure.in: Call it. 5056 * Makefile.in: Document -DTRADITIONAL_CPP. 5057 * include/ptable.h: Don't include generic.h. 5058 (name2): Define it. 5059 5060 * tmac/tmac.s (][): Make [T1 and [T2 aliases for [T. 5061 Afterwards remove [T1 and [T2. 5062 (ref*spec!0, ref*spec!2): Use T1 rather than T. 5063 (ref*spec!1, ref*spec!4, ref*spec!4): Use T2 rather than T. 5064 (ref*add-T2): Renamed from ref*add-T. 5065 (ref*add-T1): New macro. 5066 5067Mon Aug 24 11:11:11 1992 James Clark (jjc at jclark) 5068 5069 * acgroff.m4 (AC_PROG_CCC): Use GROFF_EXIT rather than exit 1. 5070 5071 * libbib/index.cc: Include <fcntl.h>. 5072 (O_RDONLY): Define if necessary. 5073 (make_index_search_item, index_search_item_iterator::get_tag, 5074 index_search_item::check_files): Use O_RDONLY. 5075 * libbib/seach.cc: Include <fcntl.h>, <sys/types.h>, <sys/stat.h>. 5076 (O_RDONLY): Define if necessary. 5077 (search_list::add_file): Use O_RDONLY. 5078 * indxbib/indxbib.cc: Include <fcntl.h>, <sys/types.h>, 5079 <sys/stat.h>. 5080 (S_IRUSR, S_IRGRP, S_IROTH): Define if necessary. 5081 (main): Use these. 5082 5083 * libbib/index.cc (S_ISREG): Define it if necessary. 5084 (index_search_item::load): Use S_ISREG. 5085 5086 * include/driver.h: Include <errno.h>. 5087 5088Sun Aug 23 11:32:18 1992 James Clark (jjc at jclark) 5089 5090 * eqn/box.cc (body_height): Increase default value to 85. 5091 (body_depth): Increase default value to 35. 5092 5093Fri Aug 21 05:34:42 1992 James Clark (jjc at jclark) 5094 5095 * eqn/pbox.h (SAVE_FONT_STRING): Define it. 5096 * eqn/box.cc (box::top_level): Hide use of \R in a string that is 5097 protected from expansion with \E. 5098 5099 * acgroff.m4 (GROFF_PAGE): Use `case' to test domain. 5100 5101 * Makefile (Makefile): New target. 5102 5103 * Makefile.sub (configure, distfiles): New targets. 5104 5105 * acgroff.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Avoid using ${var:-val} 5106 construct. 5107 5108Thu Aug 20 12:27:26 1992 James Clark (jjc at jclark) 5109 5110 * eqn/box.cc (param_table): Add body_height and body_depth. 5111 5112 * eqn/lex.cc (def_table): Make circumflex in hat_def roman. 5113 5114Tue Aug 18 16:24:25 1992 James Clark (jjc at jclark) 5115 5116 * psbb/Makefile.sub: Don't link with libgroff.a. 5117 5118 * acgroff.m4 (GROFF_PUTENV): New macro. 5119 * configure.in: Call GROFF_PUTENV. 5120 * Makefile.in: Document STDLIB_H_DECLARES_PUTENV. 5121 * groff/groff.cc: Don't declare putenv if STDLIB_H_DECLARES_PUTENV 5122 is defined. 5123 5124 * troff/env.cc (distribute_space): Rename force_forward argument 5125 to force_reverse. Reverse the list if force_reverse is true. 5126 5127Mon Aug 17 17:49:05 1992 James Clark (jjc at jclark) 5128 5129 * tmac/tmac.an: Don't define a string `T'. Just define Tm. 5130 5131 * eqn/pile.cc (matrix_box::compute_metrics): Don't allow computed 5132 height or depth to be negative. Guard against SUP_RAISE quantity 5133 being negative. 5134 5135Sat Aug 15 08:18:54 1992 James Clark (jjc at jclark) 5136 5137 * devps/generate/textmap: Add `an' (arrowhorizex). 5138 * tmac/tmac.ps: \(an overlaps horizontally. 5139 * tmac/tmac.dvi, tmac/tmac.tty: Add `an'. 5140 5141 * devps/symbolchars: Add arrowverttp, arrowvertbt. 5142 * devps/textmap: Add arrowvertex. 5143 * eqn/delim.cc (delim_table): Add uparrow, downarrow and 5144 updownarrow delimiters. 5145 * tmac/tmac.ps, tmac/tmac.X: Add definition of \(va. 5146 5147 * tbl/table.cc (simple_entry::position_vertically, 5148 block_entry::position_vertically): For a centered entry, perform 5149 the motion in two stages. 5150 5151 * refer/refer.cc (split_punct): Don't call lookup_token if there 5152 is no token. 5153 5154Fri Aug 14 11:14:58 1992 James Clark (jjc at jclark) 5155 5156 * troff/input.cc (token::next): Delete token_node after copying 5157 token. 5158 5159 * grodvi/grodvi.cc (dvi_printer::dvi_printer): Initialize 5160 cur_point_size. 5161 5162 * libdriver/printer.cc (printer::load_font): Delete old_font_table. 5163 5164 * grops/ps.cc (ps_printer::define_encoding): Delete elements of vec. 5165 5166Tue Aug 11 13:50:38 1992 James Clark (jjc at jclark) 5167 5168 * grops/ps.cc (usage): -b option takes an argument. 5169 5170 * devps/prologue (PLG): New procedure. 5171 * grops/ps.cc (main, usage): New -g option. 5172 (ps_printer::~ps_printer): If guess_flag is set, guess the paper 5173 length using PLG. 5174 5175Mon Aug 10 11:17:53 1992 James Clark (jjc at jclark) 5176 5177 * include/cset.h: Include <limits.h> if we have it. 5178 5179 * libgroff/illegal.cc: New file. 5180 * include/lib.h (illegal_input_char): Use table. 5181 * troff/input.cc (ESCAPE_RIGHT_PARENTHESIS): Renumber to 0206. 5182 * pic/lex.cc (ARG1): Renumber to 14. 5183 * eqn/lex.cc (ARG1: Likewise. 5184 5185 * troff/Makefile.sub (majorminor.cc): Handle 3 part versions 5186 (eg 1.05.90) correctly. 5187 5188Sun Aug 9 13:35:43 1992 James Clark (jjc at jclark) 5189 5190 * tmac/tmac.e (sr): Deleted. Set $r and $R directly. 5191 Rename $r and $R registers to $v and $V. 5192 ($r, $R): Initialize to 0. 5193 (@v, @V): New macros. 5194 (sz): Call @v. 5195 (@M): Call @V. 5196 5197 * troff/input.cc (main, usage): Add -R option that says not to 5198 load troffrc. 5199 * eqn/main.cc (main, usage): Rename -n to -R. 5200 5201Sat Aug 8 00:16:00 1992 James Clark (jjc at jclark) 5202 5203 * devps/DESC.in: Leave font positions 5-9 blank. 5204 * devdvi/DESC.in: Likewise. 5205 5206 * grog/grog.pl: Handle `.PS <file' correctly. 5207 5208 * troff/input.cc (input_stack::push): Improve error message when 5209 input stack limit exceeded. 5210 5211Fri Aug 7 13:08:16 1992 James Clark (jjc at jclark) 5212 5213 * refer/refer.cc (main): Fix typo in handling of `a' option. 5214 5215 * refer/refer.cc (do_bib): In state START after a newline remain 5216 in state START. 5217 5218 * groff/groff.sh: Deleted. 5219 * groff/Makefile.sub: Delete handling of groff.sh. 5220 5221 * pic/troff.cc (troff_output::text): Test \n(0p rather than \*(.T 5222 to determine whether to use \X'ps:...'. 5223 * tmac/troffrc: Set 0p register to 0. 5224 * tmac/tmac.ps: Set 0p register to 1. 5225 5226 * groff/groff.cc: Support -X option. Give warning for -TXps and 5227 transform to -X -Tps. Pass troff a -r.X=1 option if -X is used. 5228 * tmac/troffrc: Support -r.X=1. 5229 5230 * pic/troff.cc (troff_output::dot): Don't test 5231 zero_length_line_flag. 5232 5233Thu Aug 6 13:32:08 1992 James Clark (jjc at jclark) 5234 5235 * include/lib.h: Declare getopt() and friends unless 5236 STDLIB_H_DECLARES_GETOPT is defined. 5237 5238 * doc/chars.tr: Delete. 5239 * man/groff_char.man: New file. 5240 5241Wed Aug 5 00:38:58 1992 James Clark (jjc at jclark) 5242 5243 * tmac/tmac.e (np, bu): Test \n($p with string expression in case 5244 user has changed register format. 5245 5246Mon Aug 3 11:22:18 1992 James Clark (jjc at jclark) 5247 5248 * groff/groff.cc: Get rid of device_table. Get postprocessor from 5249 `postpro' command in DESC file. Get spooler command from `print' 5250 command in DESC file. Execute spooler command with /bin/sh. 5251 5252 * groff/groff.cc: Split Unix-specific parts into... 5253 * groff/pipeline.c: New file. 5254 5255 * LICENSE: Delete. 5256 * COPYING: New file. 5257 * all files: Update copyright notices. 5258 5259 * Rearrange files. Redo Makefiles. Use autoconf. 5260 5261Sat Aug 1 09:36:50 1992 James Clark (jjc at jclark) 5262 5263 * troff/input.c (charinfo_to_node_list): Interpret character 5264 definition with escape_char of `\'. 5265 5266Tue Jul 28 12:20:12 1992 James Clark (jjc at jclark) 5267 5268 * lib/strerror.c, lib/iftoa.c, lib/itoa.c: Don't include lib.h. 5269 Define INT_DIGITS as big enough for 64-bit integer. 5270 * lib/strtol.c: Don't include lib.h. 5271 * lib/lib.h: Delete ifdef __cplusplus stuff. 5272 5273Mon Jul 27 11:08:50 1992 James Clark (jjc at jclark) 5274 5275 * ps/devps/Makefile: Add DESC to DEVICEFILES. Separate out rule 5276 for making DESC. Make $(FONTS) depend on DESC. afmtodit should 5277 get DESC from current directory. 5278 5279Sun Jul 26 15:38:26 1992 James Clark (jjc at jclark) 5280 5281 * tbl/main.c (main): Always reset the line number when reading 5282 from stdin. 5283 5284 * tbl/table.c (table::print_single_hline, table::print_double_hline, 5285 table::define_bottom_macro, table::do_row, table::do_top): Round 5286 vertical spacing up to vertical resolution. 5287 5288Fri Jul 24 14:32:07 1992 James Clark (jjc at jclark) 5289 5290 * ps/ps.h (enum resource_type): Avoid comma at end of 5291 enumerator-list. 5292 * dvi/dvi.c (class dvi_printer): Likewise. 5293 * dvi/tfmtodit.c (gf::load): Likewise. 5294 * refer/label.y (struct expression): Likewise. 5295 * refer/refer.c (class label_processing_state): Likewise. 5296 * refer/indxbib.c (do_file): Likewise. 5297 * troff/troff.c (enum warning_type): Likewise. 5298 * tbl/main.c (process_data): Likewise. 5299 * troff/charinfo.h (class charinfo): 5300 5301Wed Jul 22 09:17:58 1992 James Clark (jjc at jclark) 5302 5303 * dvi/devdvi/textt.map: Add entry for `-'. Regenerate fonts. 5304 5305Tue Jul 21 11:39:26 1992 James Clark (jjc at jclark) 5306 5307 * groff.c: Move to new groff subdirectory. 5308 * groff/Makefile: New file. 5309 * Makefile: Remove handling of groff.c. Add groff to SUBDIRS. 5310 5311 * man/mdate.sh: Use ls -L if supported. 5312 5313 * Consolidate all header files produced by gendef into lib/defs.h. 5314 * lib/macropath.c, lib/fontfile.c, lib/device.c: Include defs.h. 5315 Don't include path.h. 5316 * lib/Makefile (path.h): Don't generate. 5317 * troff/input.c: Include defs.h. Don't include config.h. 5318 * troff/Makefile (config.h): Don't generate. 5319 * refer/index.h: Don't include suffix.h. 5320 * refer/index.c: Include defs.h. 5321 * refer/indxbib.c: Include defs.h. 5322 * refer/refer.h, refer/lkbib.h: Don't include path.h. Include 5323 defs.h. 5324 * refer/Makefile (suffix.h, path.h): Don't generate. 5325 * groff.c: Don't include config.h. Include defs.h. 5326 * Makefile (config.h): Don't generate. 5327 (lib/defs.h): Generate. 5328 (topclean): Remove lib/defs.h. 5329 5330Mon Jul 20 10:12:57 1992 James Clark (jjc at jclark) 5331 5332 * lib/malloc.c, lib/getpagesize.h: Deleted. 5333 * Makefile: Add COOKIE_BUG configuration option. Delete malloc 5334 related stuff. 5335 * lib/Makefile: Delete malloc-related stuff. 5336 * lib/new.c: Workaround COOKIE_BUG if necessary. 5337 5338 * refer/lkbib.c, refer/indxbib.c: Don't include refer.h. Include 5339 needed header files directly. 5340 * refer/refer.h: Omit definition of DEFAULT_INDEX. 5341 * Makefile: Include definition of DEFAULT_INDEX in path.h. 5342 5343Sun Jul 19 10:19:22 1992 James Clark (jjc at jclark) 5344 5345 * lib/font.c (FONT_COMMAND_HANDLER): Pass command name and single 5346 argument. 5347 * lib/font (font::load_desc, font::load): Don't split argument of 5348 unknown command. 5349 (font::handle_unknown_font_command): Change type. 5350 * ps/ps.c (ps_font::handle_unknown_font_command, 5351 handle_unknown_desc_command): Change type. 5352 * dvi/dvi.c (dvi_font::handle_unknown_font_command): Change type. 5353 5354Fri Jul 17 11:12:49 1992 James Clark (jjc at jclark) 5355 5356 * lib/font.h (font::handle_unknown_font_command): Add file and 5357 line arguments. 5358 * lib/font.c (font::handle_unknown_font_command): 5359 * ps/ps.c (ps_font::handle_unknown_font_command): 5360 * dvi/dvi.c (dvi_font::handle_unknown_font_command): Add file and 5361 lineno arguments. Use _with_file_and_line functions for error 5362 reporting. 5363 5364 * lib/fontfile.c (font::unknown_desc_command_handler): New static 5365 data member. 5366 * lib/font.c (font::set_unknown_desc_command_handler): New 5367 function. 5368 (font::load_desc): For unknown commands, call 5369 unknown_desc_command_handler if not null. 5370 * lib/font.h (class font): Declare them. 5371 (FONT_COMMAND_HANDLER): New typedef. 5372 * ps/ps.c (handle_unknown_desc_command): New function. 5373 (main): Set bflag if we had a -b option. Call 5374 font::set_unknown_desc_command_handler. 5375 (broken.h): Don't include. 5376 * ps/Makefile: No need for broken.h. Pass BROKEN_SPOOLER_FLAGS to 5377 submake 5378 * ps/devps/Makefile: Add `broken' command to DESC file using 5379 BROKEN_SPOOLER_FLAGS. 5380 5381 * macros/tmac.e ([, ]): Add as synonyms for { and }. 5382 5383 * macros/tmac.e ($p): Only exdent if \$3 > 0. 5384 5385 * macros/tmac.e (@R, @S): New macros. 5386 Declare @, po, $0, $i, $p, df, so, fu, bt, *, ?a, ?b, ?C, ?e, ?H, 5387 ?I, ?n, ?o, ?R, ?s, ?T, ?W, ?w registers with @R. 5388 Declare $H, $[0-9], .. macros with @S. 5389 Declare |0, |1, |2, |3 strings with @S. 5390 5391 * macros/tmac.e (@S): Rename to @U. 5392 5393 * macros/tmac.e (@z): Define @b and bp as empty instead of 5394 deleting them, 5395 5396 * macros/tmac.e (@m): Deleted. 5397 (@h): Don't call @m. 5398 (@z): Don't set @m trap. 5399 5400 * macros/tmac.e ($h, $f): Define |z as empty string. 5401 5402 * macros/tmac.e (@D): Rework to avoid unbalanced .el requests. 5403 (@q): Likewise. 5404 5405 * macros/tmac.e (@h): Set ?H, ?C , ?s registers to 0 rather than 5406 removing them. 5407 ()f): Likewise for * register. 5408 5409 * macros/tmac.e (sr): Don't ever scale the arguments. If the third 5410 argument is missing, don't change $R. Call sr with three 5411 arguments when initializing. 5412 5413Thu Jul 16 12:17:12 1992 James Clark (jjc at jclark) 5414 5415 * macros/tmac.e (sr): New macro. 5416 Initialize $r and $R using sr. 5417 5418 * macros/tmac.e (,): Delete \*(#[. 5419 5420 * troff/env.c (set_tabs): Read the tab type even if the position 5421 is bad. Allow the position of the first tab stop to be negative. 5422 5423Wed Jul 15 13:14:37 1992 James Clark (jjc at jclark) 5424 5425 * refer/dirnamemax.c: Use pathconf() if <unistd.h> defines 5426 _POSIX_VERSION. 5427 * refer/Makefile: Compile dirnamemax.c using -DHAVE_UNISTD_H 5428 rather than -DPATHCONF_MISSING. 5429 * Makefile: Get rid of PATHCONF_MISSING. 5430 5431 * refer/map.c: New file. 5432 * refer/index.c: Interface to mmap through map.c. Rename map_size 5433 to map_len. 5434 * refer/Makefile: Handle map.c. 5435 * Makefile: Include -DHAVE_MMAP in OLDCFLAGS rather than CFLAGS. 5436 5437Tue Jul 14 14:15:20 1992 James Clark (jjc at jclark) 5438 5439 * Makefile: RANLIB should be `true' if there is no ranlib. 5440 * lib/Makefile (libgroff.a): Simplify. 5441 * driver/Makefile (libdriver.a): Simplify. 5442 5443 * Makefile: Change -DWAIT_COREDUMP_0200 to -DWCOREFLAG=0200. 5444 * groff.c (WCOREDUMP): Use WCOREFLAG. Define only if not already 5445 defined. 5446 5447Sat Jul 11 09:19:17 1992 James Clark (jjc at jclark) 5448 5449 * troff/env.c (compare_ranges): Declare as extern "C". 5450 5451 * troff/input.c (init_registers): Use `struct tm' instead of `tm'. 5452 5453 * macros/tmac.s, macros/tmac.e: Change .nx /dev/null to .nx. 5454 5455Wed Jul 8 11:52:27 1992 James Clark (jjc at jclark) 5456 5457 * pic/troff.c (troff_output::text): Merge in grops_output::text, 5458 but conditionalize use of \X based on \*(.T. 5459 (grops_output::*): Deleted. 5460 * pic/output.h: Delete declaration of make_grops_output. 5461 * pic/main.c (main): Ignore -p and -x. driver_extension_flag is 1 5462 by default. -n sets it to 0. 5463 (usage): Corresponding changes. 5464 * groff.c (main): Don't pass -x or -p to pic. 5465 * groff.sh: Likewise. 5466 5467 * ps/ps.c (ps_printer::do_exec, ps_printer::do_file): Force ndefs 5468 to be non-zero. 5469 5470 * ps/devps/afmtodit: Change calculation of asc_boundary and 5471 desc_boundary. Make these bounds inclusive. 5472 * ps/devps: Regenerate font files. 5473 5474Tue Jul 7 13:14:15 1992 James Clark (jjc at jclark) 5475 5476 * macros/tmac.latin1: New file. 5477 * macros/tmac.tty-char: Use tmac.latin1. 5478 (tmac.tty-tr): Deleted. 5479 * macros/Makefile: Install tmac.latin1. 5480 * macros/tmac.dvi: Use tmac.latin1. 5481 * macros/troffrc: Translate \[char160] onto no-break space here. 5482 * macros/{tmac.dvi,tmac.ps,tmac.tty,tmac.X75}: Don't do it here. 5483 5484Mon Jul 6 11:06:52 1992 James Clark (jjc at jclark) 5485 5486 * macros/tmac.Xps: Use `do' request. 5487 5488 * macros/tmac.ps: Use `do' request. 5489 5490 * macros/tmac.e (@C): Use `do' request. 5491 5492 * macros/tmac.X, macros/tmac.Xps: Moved from xditview. 5493 * macros/Makefile: Install tmac.X*. 5494 5495 * tty/tmac.tty, tty/tmac.tty-char: Move to macros. 5496 * tty/Makefile: Don't install tmac.tty*. 5497 * macros/Makefile: Install tmac.tty*. 5498 5499 * dvi/tmac.dvi: Move to macros. 5500 * dvi/Makefile: Don't install tmac.dvi. 5501 * macros/Makefile: Install tmac.dvi. 5502 5503 * ps/tmac.ps*: Move to macros. 5504 * ps/Makefile: Don't install tmac.ps*. 5505 * macros/Makefile: Install tmac.ps*. 5506 5507 * eqn/box.c: Provide draw_lines parameter corresponding to -D 5508 option. 5509 * macros/eqnrc: Set draw_lines parameter based on device. 5510 * groff.c: Don't pass -D flag to eqn. 5511 * groff.sh: Likewise. 5512 * eqn/main.c: Warn about use of -D. 5513 5514 * troff/input.c (process_startup_file): New function. 5515 (main): Call process_startup_file(). 5516 * macros/troffrc: New file. 5517 * macros/Makefile: Install troffrc. 5518 * groff.c (main): Don't pass extra -m option to troff. For a 5519 pseudo device pass the name of the pseudo device to troff using 5520 -d. 5521 * groff.sh: Likewise. 5522 * groff.c (possible_command::prepend_arg): Deleted. 5523 5524 * troff/input.c (do_request): New function. 5525 (init_input_requests): Bind "do" to do_request. 5526 5527 * eqn/main.c (main): Instead of loading eqnchar from device directory, 5528 load eqnrc from macro directory. 5529 * macros/eqnrc: New file. 5530 * macros/Makefile: Install eqnrc. 5531 * ps/devps/eqnchar: Deleted. 5532 * ps/devps/Makefile: Don't install eqnchar. 5533 * dvi/devdvi/eqnchar: Deleted. 5534 * dvi/devdvi/Makefile: Don't install eqnchar. 5535 * groff.c (main): Pass -M to eqn. Don't pass -F to eqn. New 5536 variable optM. 5537 5538 * lib/device.[ch]: New files. 5539 * lib/font.h (font::set_device_name, font::get_device_name): 5540 Deleted. 5541 * lib/fontfile.c: Use device.h. 5542 * lib/Makefile: Handle device.[ch]. Make paths.h define DEVICE. 5543 * troff/input.c: Delete definition of `device'. 5544 (main): Don't initialize device. 5545 * troff/troff.h: Include device.h rather than declaring device. 5546 * troff/Makefile: No need to handle DEVICE. 5547 * driver/input.c: Include device.h. Don't use 5548 font::{set,get}_device_name. 5549 * groff.c, Makefile: Rename device.h to config.h. 5550 * groff.c: Use library device variable. 5551 * eqn/main.c: Use library device variable. 5552 * eqn/Makefile: No need to handle DEVICE. 5553 5554 * lib/searchpath.[ch]: New files. 5555 * lib/Makefile: Handle searchpath.[ch]. 5556 * troff/input.c (open_file, init_dirs): Deleted. 5557 (macro_dirs): Deleted. 5558 (open_mac_file, macro_source): Use class search_path. 5559 (add_string, struct string_list): Move definition. 5560 (main): Change -M option to use macro_path. Delete call to 5561 init_dirs(). 5562 * lib/fontfile.c (font::command_line_font_dir, font::open_file): 5563 Rewrite to use class search_path. 5564 * lib/font.h, lib/fontfile.c (font::cl_font_dirs): Deleted. 5565 * lib/Makefile: fontfile.c depends on searchpath.h. 5566 * lib/Makefile: Rename fontpath.h to paths.h. Make paths.h define 5567 MACROPATH. 5568 * lib/macropath.[ch]: New files. 5569 * troff/Makefile: No need to handle MACROPATH. 5570 5571 * troff/input.c: Delete DUMP code. 5572 * lib/fontfile.c, lib/font.h: Delete 5573 font::forget_command_line_font_dirs. 5574 5575 * troff/input.c (push_token): New function. 5576 (handle_first_page_transition): Use push_token(). 5577 (process_input_stack): Change handling of a space at the beginning 5578 of the line. 5579 5580Sun Jul 5 17:11:09 1992 James Clark (jjc at jclark) 5581 5582 * troff/input.c (font_dirs): Delete unused variable. 5583 5584 * eqn/lex.c (do_set): Correct error messages. 5585 5586Sat Jul 4 10:20:55 1992 James Clark (jjc at jclark) 5587 5588 * troff/input.c (do_define_string): Allow the string name to be 5589 followed immediately by a tab. 5590 (define_character): Likewise. 5591 5592Thu Jul 2 10:59:15 1992 James Clark (jjc at jclark) 5593 5594 * ps/ps.c (ps_printer::draw): When drawing an arc, don't allow k to 5595 be negative. 5596 5597 * troff/input.c (input_iterator::is_file): New virtual function. 5598 (file_iterator::is_file): New function. 5599 (input_stack::end_file): New function. 5600 (input_stack::next_file): Handle the situation where there is no 5601 file on the input stack correctly. Avoid making two passes over 5602 the input stack. 5603 (next_file): Make the filename optional; in this case call 5604 input_stack::end_file(). 5605 5606Wed Jul 1 10:17:25 1992 James Clark (jjc at jclark) 5607 5608 * dvi/tmac.dvi: Change the definitions of \(ul and _ so that they 5609 produce a real _ charater when the current font is CW and _ 5610 otherwise. 5611 5612 * lib/errarg.c (errarg::errarg(const char *)): Invert conditional 5613 expression to work around gcc 2.2 bug. 5614 5615Wed Jun 24 08:12:24 1992 James Clark (jjc at jclark) 5616 5617 * eqn/main.c (main): Don't give an error if we can't find eqnchar. 5618 5619 * troff/env.c (environment::add_padding): New function. 5620 (environment::add_char): Use add_padding(). 5621 (environment::space): Likewise. 5622 (environment::wrap_up_field): Add some padding if there is none 5623 and there's no current tab. 5624 * troff/env.h: Declare environment::add_padding. 5625 5626Mon Jun 22 08:37:45 1992 James Clark (jjc@jclark) 5627 5628 * pic/pic.y: undef fmod and rand before declaring them. 5629 5630Sun Jun 14 11:40:18 1992 James Clark (jjc@jclark) 5631 5632 * troff/input.c (main): If the DESC file specifies a font name of 5633 0, then leave the corresponding font position empty. 5634 5635 * nroff.sh: New file. 5636 * Makefile (install.nobin): Install nroff.sh. 5637 5638 * tty/devlatin1/R.proto: Add ao as synonym for de. 5639 * tty/tmac.tty-char: Define ao as o. 5640 5641 * tty/dev{ascii,latin1}/R.proto: Add aq. 5642 * tty/tmac.tty-char: Delete definition of aq. 5643 5644Mon Jun 8 11:43:20 1992 James Clark (jjc@jclark) 5645 5646 * troff/input.c (init_charset_table): Don't translate 0240. 5647 * ps/tmac.ps: Translate char160 to space. 5648 * dvi/tmac.dvi: Likewise. 5649 * tty/tmac.tty: Likewise. 5650 5651Sun Jun 7 10:52:35 1992 James Clark (jjc@jclark) 5652 5653 * dvi/tmac.dvi: Add support for all Latin-1 characters. 5654 5655 * macros/tmac.s: Delete definitions of \(rg, \(ah, \(ad, \(a-, 5656 \(ao, \(ac, \(ho, \(-D, \(Sd, \(TP, \(Tp, \(ss, \(AE, \(ae, \(OE, 5657 \(oe, \(r?, \(r!. 5658 5659 * tty/tmac.tty-char: Add \(ah. 5660 5661 * dvi/tmac.dvi: Add definitions of Tp, TP, Sd, -D, ho. 5662 No need to define \(FM and \(!/. Conditionalize all character 5663 definitions. 5664 5665 * ps/devps/lgreekmap: Add +h, +f, +p. 5666 5667 * ps/tmac.psnew: New file. 5668 * ps/Makefile: Install tmac.psnew. 5669 5670 * troff/input.c (charinfo_to_node_list): Don't ever interpret 5671 character definitions in compatible mode. 5672 5673 * troff/input.c (remove_character): New function. 5674 (init_input_requests): Bind remove_character to "rchar". 5675 5676 * ps/tmac.psold: New file. 5677 * ps/Makefile: Install tmac.psold. 5678 * ps/tmac.ps: Load tmac.psold. Move definitions of ISO Latin-1 5679 characters into tmac.psold. Make these definitions unconditional. 5680 5681 * tty/tmac.tty-char: Define \n(_C only if it is not already defined. 5682 5683 * ps/tmac.ps: Don't define \('c and \('C. 5684 5685 * ps/devps/textmap: Move Greek characters to... 5686 * ps/devps/symbolchars: 5687 5688Sat Jun 6 16:41:17 1992 James Clark (jjc@jclark) 5689 5690 * ps/devps/text.enc: Add quotesingle. 5691 * ps/devps/textmap: Add +h, +f, +p, Fn, Bq, bq, aq, lz. 5692 * tty/tmac.tty-char: Likewise. 5693 * dvi/devdvi/texmi.map: Add +h, +f, +p. 5694 * dvi/devdvi/texi.map: Add Fn. 5695 * dvi/devdvi/msam.map: Add lz. 5696 * dvi/tmac.dvi: Handle Bq, bq, aq. 5697 5698 * pic/lex.c (get_token): Recognize 'th. 5699 * pic/map.y: Allow `expr'th in contexts where ORDINAL was allowed. 5700 5701Fri Jun 5 11:20:46 1992 James Clark (jjc@jclark) 5702 5703 * ps/devps/textmap: Move di, mu, +- to... 5704 * ps/devps/symbolchars: 5705 5706 * macros/tmac.s (@XS): Don't call par@reset or fi. 5707 (XA): Call LP. Turn off adjustment. Reduce line length. 5708 5709 * macros/tmac.s: Initially alias XS to LP. 5710 (XS): Rename to @XS. 5711 (cov*ab-init): Alias XS to @XS. 5712 5713Thu Jun 4 09:12:05 1992 James Clark (jjc@jclark) 5714 5715 * troff/token.h: Delete TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT, 5716 TOKEN_FONT_NAME, TOKEN_FONT_POSITION, TOKEN_SIZE tokens. 5717 (token::is_size, token::changes_env): Deleted. 5718 * troff/number.c (parse_term): No need to process \s explicitly. 5719 Call tok.next() only after scale indicator has been processed. 5720 * troff/input.c (do_overstrike, do_bracket): No need to process \s, 5721 \f etc explicitly. 5722 (token::next): Handle \s, \f, \S, \H immediately rather than 5723 returning them as tokens. 5724 (token::operator==, token::description, token::add_to_node_list, 5725 token::process): Remove handling of deleted tokens. 5726 5727 * troff/env.c (environment::add_char): When adding padding 5728 indicator character, call start_line() if necessary. 5729 5730Wed Jun 3 09:55:50 1992 James Clark (jjc@jclark) 5731 5732 * ps/devps/afmtodit: Don't output 0 kerns. 5733 5734 * ps/devps/afmtodit: Remove directory from name of encoding in 5735 font description file. 5736 5737 * ps/devps/afmtodit: Improve error messages. 5738 5739 * ps/devps/afmtodit: Allow DESC file to be specified with -d. 5740 5741 * ps/devps/Makefile: Incorporate FontMakefile. Rework. 5742 * ps/devps/FontMakefile: Deleted. 5743 * ps/devps/afmname: New file. 5744 5745 * ps/devps/symbol.sed: New file. 5746 * ps/devps/symbol.diff: Deleted. 5747 * ps/devps/FontMakefile: Generate symbol.afm using symbol.sed. 5748 Generate zapfdr.afm from zapfd.afm. 5749 5750 * tty/tmac.tty (tty-char): Prefix definition with ". 5751 5752 * macros/tmac.an (TP): Don't start a diversion if one has already 5753 been started. 5754 5755 * tty/tmac.tty-char: Add Latin-1 characters. 5756 5757 * tty/tmac.tty-char: Incorporate suggestions from Paul Eggert. 5758 5759Tue Jun 2 00:54:34 1992 James Clark (jjc@jclark) 5760 5761 * tbl/table.c (table::allocate): Delete old_vline, old_entry. 5762 Move declaration of struct horizontal_span. 5763 5764 * tbl/table.c (table::table): Initialize span_list. 5765 (table::~table): Delete span_list. 5766 5767 * lib/ptable.h (PTABLE(T)::~PTABLE(T)): Delete v. 5768 5769 * ps/devps/Makefile: Avoid dependency on GNU make. 5770 5771 * ps/tmac.ps: Check that character does not already exist before 5772 defining it. 5773 5774 * tty/tmac.tty: Add definitions of \(ff, \(!=, \(==, \(~=, \(sq, 5775 \(OE, \(oe, \(AE, \(ae, \(lh, \(rh. Delete definitions of \(en, 5776 \(ru, \(ul, \(br, \(bv, \(sl which are in the font description 5777 files. 5778 5779 * tty/tmac.tty-char: New file. 5780 * tty/Makefile: Install tmac.tty-char. 5781 * tty/tmac.tty: Move definitions of \(ua, \(da, \(uA, \(dA into 5782 tmac.tty-char. 5783 5784 * tty/tmac.tty: Fix definition of \(34. 5785 5786 * tty/dev{ascii,latin1}/R.proto: Add ha and ti. Map 5787 bracket-drawing characters onto |. Add *o. 5788 5789 * troff/env.c (environment::wrap_up_tab): Increment field_spaces 5790 only if current_field. 5791 5792 * troff/dictionary.c (dictionary::lookup): Free old_table after 5793 rehashing. 5794 5795Mon Jun 1 10:15:22 1992 James Clark (jjc@jclark) 5796 5797 * tty/dev{ascii,latin1}/R.proto: Add uppercase Greek characters 5798 whose glyphs are identical to glyphs of some Roman character. 5799 5800 * tty/devlatin1/R.proto (bu): Deleted. 5801 * tty/devascii/R.proto (bu): Deleted. 5802 * tty/tmac.tty: Add definition of \(bu. 5803 5804 * eqn/main.c (do_file): Pass FILE as argument. 5805 (main): Automatically load eqnchar. New options -F and -n. 5806 Pass do_file an opened FILE. 5807 * groff.c: Don't pass eqnchar to eqn. Pass -F options onto eqn. 5808 No need to include font.h. 5809 * groff.sh: Likewise. Don't need to use - for standard input. 5810 Prefix files with -- if first file starts with -. 5811 5812 * macros/tmac.e: Conditionalize use of \$* on \n(.g. 5813 5814 * troff/env.c (environment::possibly_break_line): Don't set line 5815 to 0 across call to output_line(). Don't call output_line() until 5816 after discarding nodes after break. 5817 5818Sun May 31 10:45:29 1992 James Clark (jjc@jclark) 5819 5820 * request.h (macro::empty): Declare it. 5821 * input.c (macro::empty): New method. 5822 (interpolate_macro): Don't give a WARN_SPACE if the two-character 5823 macro is empty. 5824 5825Sat May 30 10:27:15 1992 James Clark (jjc@jclark) 5826 5827 * troff/env.c (environment::start_field): Decrement space_total 5828 when a space is frozen. 5829 5830Fri May 22 14:34:38 1992 James Clark (jjc@jclark) 5831 5832 * macros/tmac.an (R): Delete macro. 5833 5834 * troff/input.c (get_copy, token::next): Support \# (like \" but 5835 newline is ignored). 5836 5837 * troff/input.c (token::next): Fix error message in 'Y' case. 5838 5839Thu May 21 09:26:24 1992 James Clark (jjc@jclark) 5840 5841 * eqn/delim.c (define_extensible_string): Recognize any prefix of 5842 a delimiter name. 5843 5844Fri May 15 10:20:41 1992 James Clark (jjc at jclark) 5845 5846 * c++test.c: Include <osfcn.h>. 5847 5848 * lib/strtol.c, lib/getcwd.c, ps/psbb.c: Declare errno in case 5849 <errno.h> doesn't. 5850 5851Fri May 8 09:37:19 1992 James Clark (jjc at jclark) 5852 5853 * tbl/table.c (table::divide_span): Don't count column separation 5854 if expand was specified. 5855 5856 * tbl/main.c (process_format): Don't ignore width specs in 5857 continued format. Give warning for changing equal widths or 5858 column separation in continued format. 5859 (process_data): Set column separation, minimum width, equal 5860 columns at end of table. 5861 5862Thu May 7 08:50:40 1992 James Clark (jjc at jclark) 5863 5864 * troff/node.c (kern_pair_node::add_discretionary_hyphen, 5865 node::add_discretionary_hyphen): Use soft_hyphen_char. 5866 (set_soft_hyphen_char): New function. 5867 (init_node_requests): Bind to shc. Initialize soft_hyphen_char. 5868 5869 * Makefile (c++tested): Give more helpful message if test fails. 5870 5871Tue May 5 10:58:39 1992 James Clark (jjc at jclark) 5872 5873 * troff/input.c (init_charset_table): Translate 0240 to 5874 an unbreakable space. 5875 5876 * troff/token.h (token::hyphen_indicator): New function. 5877 * troff/charinfo.h (TRANSLATE_HYPHEN_INDICATOR): New special 5878 translation. 5879 * troff/input.c (translate): Allow translation to \%. 5880 * troff/node.c (node::add_char): Handle 5881 TRANSLATE_HYPHEN_INDICATOR. 5882 (make_node): Don't allow TRANSLATE_HYPHEN_INDICATOR here. 5883 5884 * troff/input.c (init_charset_table): Don't set BREAK_AFTER flag 5885 for \(hy. 5886 5887 * tty/devlatin1/R.proto: \(hy and - should print as 055. 5888 5889Tue Apr 21 09:24:42 1992 James Clark (jjc at jclark) 5890 5891 * groff.c (run_commands): If the last command gets a SIGPIPE send 5892 a SIGPIPE to all children than haven't yet terminated. When 5893 command terminates, set pid field to -1. 5894 5895Fri Apr 17 11:20:48 1992 James Clark (jjc at jclark) 5896 5897 * groff.c (main): Pass an appropriate -filename option to gxditview. 5898 5899Thu Apr 16 15:11:40 1992 James Clark (jjc at jclark) 5900 5901 * Makefile.bd (install): Remove existing program before copying. 5902 5903 * Makefile, */Makefile, Makefile.bd, groff.sh, groff.c: Allow 5904 programs which have Unix counterparts to be installed with 5905 user-specified prefix. 5906 5907 * troff/input.c (exit_troff): Don't check if exit_started. 5908 (exit_request): Don't call exit_troff if exit_started. 5909 5910 * Makefile.bd (install.mm): Rename to install.dwbmm. 5911 5912Tue Apr 14 10:05:10 1992 James Clark (jjc at jclark) 5913 5914 * driver/input.c (do_file): Add missing break for '#' case. 5915 5916Mon Apr 13 10:11:02 1992 James Clark (jjc at jclark) 5917 5918 * troff/input.c (input_stack::clear): Clear past any boundaries and 5919 then add the boundaries back. 5920 5921 * troff/input.c (exit_troff): Return immediately if already 5922 exiting. 5923 5924 * macros/tmac.s (pg@end-text): New macro. Use pg@end-text for the 5925 end macro. 5926 (pg*end-page): If the text has ended and there are no more 5927 footnotes or keeps, exit. 5928 5929 * macros/doc-ditroff (Lq, Rq): Define as \(lq and \(rq. 5930 5931 * troff/input.c (init_charset_table): Make \(rq transparent by 5932 default. 5933 5934 * macros/tmac.an: Define lq and rq strings. 5935 5936 * macros/tmac.s (Q, U): Define as \(lq and \(rq. 5937 5938Sun Apr 12 12:54:37 1992 James Clark (jjc at jclark) 5939 5940 * troff/env.c (environment::final_break): New function. 5941 (environment::newline): Set prev_line_interrupted to 2 if 5942 exit_started. 5943 * troff/env.h: Declare environment::final_break. 5944 * troff/input.c (exit_troff): Call environment::final_break() 5945 instead of environment::do_break(). 5946 5947 * macros/Makefile: Install man.local if $(MACRODIR)/man.local 5948 doesn't already exist. 5949 * macros/man.local: New file. 5950 * macros/tmac.an: Load man.local. 5951 * macros/man.ultrix: New file. 5952 5953Sat Apr 11 17:32:04 1992 James Clark (jjc at jclark) 5954 5955 * troff/input.c (exit_groff): Rename to... 5956 (exit_troff): New function. 5957 5958 * troff/div.c (exit_started, done_end_macro, 5959 seen_last_page_ejector): New global variables. 5960 (began_page_in_end_macro): New static variable. 5961 (exit_flag): Deleted. 5962 (top_level_diversion::top_level_diversion): Initialize 5963 last_page_count. 5964 (top_level_diversion): More elaborate test for whether 5965 cleanup_and_exit() should be called. 5966 Set began_page_in_end_macro if the end macro isn't yet finished. 5967 * troff/div.h (top_level_diversion::last_page_count): New data 5968 member. 5969 (top_level_diversion::set_last_page): New function. 5970 (exit_started, done_end_macro, seen_last_page_ejector): Declare. 5971 * troff/env.c (do_break): Zero prev_line_interrupted. 5972 * troff/input.c (exit_flag): Delete declaration. 5973 (LAST_PAGE_EJECTOR): New magic cookie. 5974 (token::next): Handle LAST_PAGE_EJECTOR. 5975 (exit_groff): Set exit_started and done_end_macro instead of 5976 exit_flag. Call top_level_diversion::set_last_page. Push a 5977 LAST_PAGE_EJECTOR instead of calling push_page_ejector(). Do 5978 another ejection after setting seen_last_page_ejector. 5979 5980Thu Apr 9 04:37:11 1992 James Clark (jjc at jclark) 5981 5982 * etc/grog.sh, etc/grog.sh: Recognize -me sh macro. 5983 5984 * macros/tmac.e (TH): Make sure there's room for the initial 5985 header. 5986 5987 * macros/tmac.s (par@init): Make PD and DD at least \n(.V. 5988 Set FVS in points rather than units. 5989 5990Mon Apr 6 11:21:32 1992 James Clark (jjc at jclark) 5991 5992 * troff/div.c (top_level_diversion::add_trap): Don't consider the 5993 position of empty slots. 5994 5995Fri Apr 3 10:46:45 1992 James Clark (jjc at jclark) 5996 5997 * ps/devps/S: Fix height and depth of parenrightex. 5998 * ps/devps/symbol.diff: Regenerate. 5999 6000Sat Mar 28 21:17:52 1992 James Clark (jjc at jclark) 6001 6002 * tmac.e (u): Do underlining as in -mgs. 6003 6004Fri Mar 27 09:23:44 1992 James Clark (jjc at jclark) 6005 6006 * tty/tty.c (tty_printer::end_page): If overstriking is 6007 suppressed, still turn overstruck horizontal and vertical lines 6008 into +. 6009 6010 * lib/new.c: Back out Feb 24 change; no longer needed with gcc 6011 2.1. 6012 6013 * refer/label.y (format_expr::evaluate): Avoid use of %0*d. 6014 6015Wed Mar 18 09:29:10 1992 James Clark (jjc at jclark) 6016 6017 * Version 1.05 released. 6018 6019Tue Mar 17 16:50:45 1992 James Clark (jjc at jclark) 6020 6021 * tty/tty.c: Instead of keeping an array of glyphs and then 6022 sorting it, keep a ordered linked list of glyphs for each line. 6023 6024 * driver/driver.h: Include stddef.h. 6025 6026 * tty/tty.c (compare_glyph): 6027 * refer/refer.c (rcompare): 6028 * troff/env.c (compare_ranges): Arguments of qsort comparison 6029 function should be const void *. 6030 6031 * troff/number.c (parse_term): 6032 * dvi/dvi.c (draw_dvi_printer::draw): Avoid initialization in 6033 switch statement. 6034 6035 * refer/label.y (consider_authors): Don't access variables 6036 constructed under a condition outside that condition: put braces 6037 round for statement containing declaration; redeclare use of same 6038 variable later. 6039 6040 * pic/pic.y (text_expr): Delete production that allows 6041 parenthesised text_expr. 6042 (expr): Allow a conditional_expr to appear in parentheses. 6043 (conditional_expr): Rename to any_expr. 6044 6045 * mm: Install new version 1.01 from jh. 6046 6047 * lib/font.c (font::get_width): Cache scaled widths. 6048 (font::font): Initialize widths_cache. 6049 (font::~font): Destroy widths_cache. 6050 * lib/font.h: Add font::widths_cache. Declare font_widths_cache. 6051 6052Mon Mar 16 10:16:10 1992 James Clark (jjc at jclark) 6053 6054 * c++test.c, c++test.ref: New files. 6055 * Makefile: Check that the C++ compiler works. 6056 6057 * ps/tmac.pspic (PSPIC): Do a break. 6058 6059 * ps/tmac.ps: Move definition of PSPIC into... 6060 * ps/tmac.pspic: New file. 6061 (PSPIC): Draw box around picture, but make it invisible to grops. 6062 * ps/tmac.ps: Load tmac.pspic. 6063 * ps/Makefile: Install tmac.pspic. 6064 6065Sun Mar 15 14:18:08 1992 James Clark (jjc at jclark) 6066 6067 * lib/font.c (scale_round): If n is negative, 6068 subtract .5 before truncating floating point result. 6069 6070 * lib/fontfile.c: Include <errno.h>. 6071 6072Tue Mar 10 14:17:03 1992 James Clark (jjc at jclark) 6073 6074 * driver/input.c (get_char): Inline. Don't update current_lineno. 6075 Change callers to up date current_lineno if necessary. 6076 Use get_char() instead of getc(current_file). 6077 6078Sun Mar 8 18:05:28 1992 James Clark (jjc at jclark) 6079 6080 * ps/tmac.ps: Fix up spacing of \(mo and \(nm. 6081 6082Fri Mar 6 19:38:58 1992 James Clark (jjc at jclark) 6083 6084 * tty/tty.c (tmac.tty): Define \(rg as (R). 6085 6086Tue Mar 3 10:11:25 1992 James Clark (jjc at jclark) 6087 6088 * lib/lib.h: New define a_delete. 6089 * Use a_delete instead of delete when deleting an array of objects 6090 without destructors. 6091 6092 * lib/lib.h: Rename adelete to ad_delete. 6093 * Change uses of adelete. 6094 6095Mon Mar 2 12:41:05 1992 James Clark (jjc at jclark) 6096 6097 * eqn/eqn.y: Include lib.h. 6098 6099 * troff/node.c (grow_font_table): Delete old_font_table. 6100 6101 * mm: Install new version from jh. 6102 6103Fri Feb 28 10:42:23 1992 James Clark (jjc at jclark) 6104 6105 * tbl/table.h (format_type): Make global instead of local to class 6106 entry_format. Prefix enumerators with FORMAT_. 6107 * tbl/table.c, tbl/main.c: Corresponding changes. 6108 * refer/token.h (token_type): Make global. Prefix enumerators 6109 with TOKEN_. 6110 * refer/token.[ch]: Corresponding changes. 6111 * Makefile: Get rid of -DNO_NESTED_TYPES configuration option. 6112 6113 * troff/div.c (node::set_vertical_size): Don't name argument. 6114 6115Thu Feb 27 10:29:19 1992 James Clark (jjc at jclark) 6116 6117 * Makefile: New configuration option ARRAY_DELETE_NEEDS_SIZE. 6118 * lib/lib.h: Define adelete accordingly. 6119 * pic/object.c (graphic_object::graphic_object): 6120 * tbl/main.c (format::~format): 6121 * tbl/table.c (table::~table): 6122 * refer/ref.c (reference::~reference, reference::merge, 6123 reference::insert_field, reference::delete_field): Use adelete. 6124 6125 * Makefile: Change NESTED_TYPES to NO_NESTED_TYPES. 6126 * refer/token.h: 6127 * tbl/table.h: Corresponding changes. 6128 6129 * common.c (common_output::dashed_arc, common_output::dotted_arc): 6130 Ensure total_angle is positive. 6131 6132Wed Feb 26 08:49:26 1992 James Clark (jjc at jclark) 6133 6134 * refer/ref.c (reference::merge, reference::insert_field, 6135 reference::delete_field): Avoid delete[0]. 6136 6137 * refer/token.c (init_special_chars): Move calls to cmupper 6138 outside calls to init_two_char_letter to work around bug in gcc 6139 2.0. 6140 6141Mon Feb 24 14:20:00 1992 James Clark (jjc at jclark) 6142 6143 * lib/new.c (operator new): Use __builtin_new for g++. 6144 6145 * pic/object.c (graphic_object::~graphic_object): Don't use 6146 delete [] on 0. 6147 6148 * pic/object.c (output::compute_scale): Initialize max_width and 6149 max_height. 6150 6151Sat Feb 15 09:55:20 1992 James Clark (jjc at jclark) 6152 6153 * troff/input.c (write_request): Call fflush. 6154 6155 * troff/node.h (class composite_node): Move declaration to node.c 6156 * troff/input.c (charinfo_to_node): Rename to ... 6157 (charinfo_to_node_list): Return node list rather than composite 6158 node. 6159 * troff/node.c (make_composite_node): New function. 6160 (make_node, add_char): Call make_composite_node instead of 6161 charinfo_to_node. 6162 (class composite_node): Add a tfont * member. Delete font_size 6163 member. 6164 (composite_node::composite_node, composite_node::copy, 6165 composite_node::size): Corresponding changes. 6166 (composite_node::tprint): Provide constant spacing, emboldening 6167 and track kerning as specified in tfont. 6168 (composite_node::width): Change width calculation accordingly. 6169 * troff/env.h (environment::composite): New member. 6170 (environment::is_composite, environment::set_composite): New 6171 functions. 6172 * troff/env.c (environment::environment): Initialize composite. 6173 * troff/input.c (charinfo_to_node): Call 6174 environment::set_composite. 6175 * troff/node.c (make_composite_node, make_glyph_node): Use the 6176 plain version of the tfont if the environment is composite. 6177 6178 * troff/node.c (font_info::get_space_width): Additional argument 6179 giving space_size. Handle constant space correctly. Scale by 6180 space_size unless constant spaced. 6181 (env_sentence_space_width): New function. 6182 * troff/node.h: Declare it. 6183 * troff/env.h (environment::get_space_size, 6184 environment::get_sentence_space_size, 6185 environment::get_narrow_space_width, 6186 environment::get_half_narrow_space_width): Make inline. 6187 (environment::get_space_width): Make inline. Just call 6188 env_space_width. 6189 * troff/env.c: Delete definitions for funtions made inline. 6190 (environment::space_newline, environment::space): Use 6191 env_sentence_space_width(). Don't scale by space_size. 6192 * troff/node.h: Move declarations of env*space_width() functions 6193 into env.h. 6194 6195Sat Feb 8 09:30:22 1992 James Clark (jjc at jclark) 6196 6197 * macros/tmac.s (PS): Don't try to set negative indent. 6198 6199Thu Feb 6 09:00:35 1992 James Clark (jjc at jclark) 6200 6201 * pic/pic.y: Fix min function. 6202 6203Tue Jan 28 07:52:29 1992 James Clark (jjc at jclark) 6204 6205 * man/mdate.sh: Clear LANGUAGE. 6206 6207Sun Jan 19 13:02:41 1992 James Clark (jjc at jclark) 6208 6209 * pic/pic.y, pic/lex.c: Rename COMMAND token to COMMAND_LINE. 6210 * pic/lex.c: New COMMAND keyword. 6211 * pic/pic.y (print_args, print_arg): New rules. 6212 (placeless_element): Use print_args for PRINT. 6213 New COMMAND element. 6214 6215Tue Jan 7 13:14:31 1992 James Clark (jjc at jclark) 6216 6217 * troff/input.c (terminal): Handle missing argument correctly. 6218 6219 * pic/pic.y (text_expr): New rule. 6220 6221 * pic/pic.y: Implement := operator. 6222 6223Sun Jan 5 10:23:02 1992 James Clark (jjc at jclark) 6224 6225 * etc/grog.pl, etc/grog.sh: Distinguish old and new versions of 6226 mdoc. 6227 6228Sat Jan 4 14:42:26 1992 James Clark (jjc at jclark) 6229 6230 * ps/devps/dingbatsrmap: Include this in the distribution. 6231 6232 * macros/tmac.doc: Replace with new version from 2nd Networking 6233 Release. Fix loading of doc-* files. 6234 * macros/{doc-common,doc-ditroff,doc-nroff,doc-syms}: New files. 6235 * macros/tmac.doc.old: New file. Apply fixes that had been 6236 applied to old tmac.doc. 6237 * macros/tmac.andoc: Check that we're running under groff. 6238 * macros/Makefile: Rework. 6239 6240Fri Jan 3 13:27:51 1992 James Clark (jjc at jclark) 6241 6242 * tbl/table.h (format_type): 6243 * refer/token.h (token_type): If NESTED_TYPES is defined, use 6244 typedef to make these types visible at file scope. 6245 * Makefile: Add NESTED_TYPES configuration option. 6246 6247 * troff/div.c (mark): At the top level use the value of 6248 nl_reg_contents rather than the current vertical position. 6249 6250Thu Jan 2 10:34:51 1992 James Clark (jjc at jclark) 6251 6252 * tty/tty.c: Implement \D for horizontal or vertical lines. 6253 (tty_printer::set_char): Use vec_used+2 as serial number. 6254 Don't allow size of vector to exceed USHRT_MAX-2. 6255 Split off part into... 6256 (tty_printer::add_char): New function. 6257 (tty_printer::draw): New function. 6258 (compare_glyph): Handle equal serial numbers. 6259 (tty_printer::end_page): Handle overstruck characters from \D. 6260 (main, usage): Implement -d option. 6261 6262Mon Dec 23 10:37:51 1991 James Clark (jjc at jclark) 6263 6264 * tbl/main.c (process_format): 6265 * eqn/text.c (split_text): 6266 * troff/input.c (token::next): Use inner block for declarations 6267 with initializers in switch statement. 6268 6269Mon Dec 16 20:52:03 1991 James Clark (jjc at jclark) 6270 6271 * pic/common.c (common_output::dash_line): Cope with zero-length 6272 lines. 6273 6274Sun Nov 17 12:04:08 1991 James Clark (jjc at jclark) 6275 6276 * Version 1.04 released. 6277 6278Wed Nov 13 05:27:21 1991 James Clark (jjc at jclark) 6279 6280 * macros/tmac.an (TH): Define a macro an-init to define variables 6281 based on command line arguments. 6282 (an-header): Call it. 6283 6284Sun Nov 3 12:07:34 1991 James Clark (jjc at jclark) 6285 6286 * Makefile (install.mm): Rename to install.dwbmm. 6287 6288 * Makefile: Integrate mm. 6289 * mm: New directory. 6290 6291Wed Oct 30 10:11:34 1991 James Clark (jjc at jclark) 6292 6293 * refer/dirnamemax.c: If PATHCONF_MISSING is defined, include 6294 <sys/types.h>. 6295 6296 * pic/troff.c (troff_output::simple_spline, 6297 troff_output::simple_polygon): Rename variable `v' to `d' to avoid 6298 shadowing parameter. 6299 6300 * lib/tmpfile.c (xtmpfile): Declare dir as const char *. 6301 6302 * lib/ptable.h: Add explicit casts when converting from unsigned 6303 long to unsigned. 6304 6305 * dvi/devdvi/{SA,SB,msam.map,msbm.map}: New files. 6306 * dvi/devdvi/Makefile: Install SA, SB. 6307 6308 * refer/indxbib.c: Add declaration of mktemp. 6309 6310 * refer/lookbib.c: Add declaration of isatty. 6311 6312Fri Oct 25 09:00:17 1991 James Clark (jjc at jclark) 6313 6314 * pic/lex.c (interpolate_macro_with_args): While collecting 6315 arguments, keep track of whether we're in a string. 6316 6317Wed Oct 23 08:42:48 1991 James Clark (jjc at jclark) 6318 6319 * ps/tmac.ps (PSPIC): Do the .sp after the \X, and move the \X 6320 down with \v, so as to avoid problems with top of page trap 6321 setting no space mode. 6322 6323Tue Oct 22 17:38:49 1991 James Clark (jjc at jclark) 6324 6325 * eqn/lex.c (get_delimited_text): Allow tab before macro body. 6326 6327Tue Oct 15 17:24:53 1991 James Clark (jjc at jclark) 6328 6329 * ps/psrm.c (ps_get_line): Fix bug when lines longer than 255. 6330 Improve error message. 6331 6332Fri Oct 11 11:09:38 1991 James Clark (jjc at jclark) 6333 6334 * ps/psrm.c (print_ps_string): Don't pass negative numbers to 6335 printf("%03o"); 6336 6337Wed Oct 9 17:50:14 1991 James Clark (jjc at jclark) 6338 6339 * groff.c (possible_command::execp): Always use _exit() after a 6340 failed exec. 6341 6342 * Makefile: Add HAVE_UNION_WAIT, HAVE_PID_T, WAIT_COREDUMP_0200, 6343 NO_SYS_WAIT_H configuration options. 6344 * groff.c: Use these options. Use POSIX-style macros to extract 6345 fields from the status returned by wait(). 6346 6347Fri Oct 4 12:12:27 1991 James Clark (jjc at jclark) 6348 6349 * tbl/table.c (table::compute_separation_factor): Allow the 6350 separation factor to drop to 0. 6351 6352Tue Oct 1 18:12:38 1991 James Clark (jjc at jclark) 6353 6354 * refer/search.c: Include <errno.h>. 6355 6356Sun Sep 29 08:40:57 1991 James Clark (jjc at jclark) 6357 6358 * pic/pic.y (YYDEBUG): Don't define for Borland C++. 6359 6360 * lib/lib.h: #ifdef out declarations of itoa and iftoa for Borland 6361 C++. 6362 6363 * pic/lex.c (input_stack::bol): Move definition out of class body. 6364 6365 * pic/main.c: On MSDOS munge argv[0]. 6366 6367 * lib/ptable.h: Define name2 as _Paste2 for Borland C++. 6368 6369 * lib/ptable.c (hash_string): Use unsigned long rather than 6370 unsigned. 6371 (next_ptable_size): Use unsigned rather than int. Give an error 6372 message if we've hit the largest table size. 6373 * lib/ptable.c: Corresponding changes. Also use unsigneds for the 6374 table size. 6375 6376 * pic/object.h (object_spec): Make flags unsigned long. Declare 6377 flags as const unisgned long rather than as enums. 6378 6379 * pic/output.c: Deleted. 6380 6381 * pic/troff.c (troff_output::simple_ellipse): Remove spurious %. 6382 6383 * tbl/table.c (simple_entry::note_double_vrule_on_{left,right}): 6384 Add additional argument. 6385 (line_entry::note_double_vrule_on_{left,right}): Set value of 6386 douvle_vrule_on_{right,left} flag according to argument. 6387 (simple_line_entry::simple_print, 6388 simple_line_entry::double_line_print): If adjacent to double vrule 6389 on a corner extend rather than shorten the rule by half the double 6390 vrule sep. 6391 6392 * troff/number.c (parse_term): In checking for overflow, handle the 6393 case where the current horizontal position is negative. 6394 6395Thu Sep 12 08:26:09 1991 James Clark (jjc at jclark) 6396 6397 * pic/object.c (draw_arrow): Check for object having zero length. 6398 6399Wed Sep 11 10:32:38 1991 James Clark (jjc at jclark) 6400 6401 * eqn/main.c (do_file): Split off inline equation handling into... 6402 (inline_equation): New function. Search for starting delimiter 6403 using... 6404 (delim_search): New function. Don't recognize a delimiter that 6405 occurs in the name of an escape sequence, number register, string 6406 etc. 6407 6408Tue Sep 10 04:01:11 1991 James Clark (jjc at jclark) 6409 6410 * eqn/delim.c (delim_box::compute_metrics): Don't call 6411 define_extensible_string if left is 0. 6412 (delim_box::output): Don't print the left delimiter if left is 0. 6413 (delim_box::debug_print): Check for left == 0 before calling printf. 6414 6415Fri Aug 23 13:02:30 1991 James Clark (jjc at jclark) 6416 6417 * troff/Makefile (majorminor.c): Include only digits in 6418 minor_version. 6419 6420Thu Aug 22 09:35:37 1991 James Clark (jjc at jclark) 6421 6422 * refer/dirnamemax.c: new file. 6423 * refer/genlimits.c: Deleted. 6424 * refer/indxbib.c (main): Use dir_name_max() instead of NAME_MAX. 6425 Don't check path length. 6426 * refer/Makefile: Add dir_name_max.o; delete genlimits. 6427 * Makefile: Add PATHCONF_MISSING option. 6428 6429 * refer/indxbib.c (get_cwd): New function. 6430 (main): Use get_cwd(). 6431 * lib/getcwd.c: New file. 6432 * Makefile: Delete -DHAVE_GETWD. Include GETCWD variable. Pass 6433 GETCWD in SUBFLAGS. 6434 * lib/Makefile: Compile getcwd.o. 6435 6436 * ps/tmac.psatk (psatk-defs): Define showpage after pushing 6437 userdict. 6438 6439 * refer/indxbib.c (main): Check success of mktemp. 6440 6441 * lib/tmpfile.c: New file. 6442 * lib/Makefile: Add tmpfile.c. 6443 * lib/lib.h: Declare xtmpfile(); include <stdio.h>. 6444 * ps/ps.h: Delete declaration of mktemp(). 6445 * ps/ps.c (ps_printer::ps_printer): Use xtmpfile(). 6446 * refer/refer.c (divert_to_temporary_file): Use xtmpfile(). 6447 * driver/driver.h: No need now to include errno.h. 6448 6449 * everywhere: Set errno to 0 before calling fopen(). 6450 6451 * eqn/eqn.h, etc/soelim.c, driver/driver.h, etc/addftinfo.c, 6452 dvi/tfmtodit.c, groff.c, refer/index.c, refer/linear.c, 6453 refer/lookbib.c, refer/refer.h, ps/psbb.c: Include <errno.h>. 6454 6455Mon Aug 19 10:52:18 1991 James Clark (jjc at jclark) 6456 6457 * troff/env.h (translate_space_to_dummy): Declare it. 6458 * troff/env.c (environment::space_newline, environment::space): 6459 If translate_space_to_dummy is set then make the width of spaces 0. 6460 * troff/input.c (translate): If the second character of a 6461 translation is a space, translate to unbreakable space. If the 6462 first character is a space, set or clear translate_space_to_dummy 6463 according to whether the second character is \&. Weird! 6464 6465Tue Jul 30 10:03:56 1991 James Clark (jjc at jclark) 6466 6467 * groff.c (run_commands): Don't use non-zero exit code because a 6468 command gets SIGPIPE. 6469 6470 * groff.c, groff.sh: Use -mXps with -TXps. 6471 6472 * ps/ps.c (ps_printer::special): Move call to flush_sbuf() into... 6473 (ps_printer::do_exec, ps_printer::do_file, ps_printer::do_def, 6474 ps_printer::do_mdef, ps_printer::do_import): Call flush_sbuf(). 6475 (ps_printer::special): New specials invis and endinvis. 6476 (ps_printer::do_invis, ps_printer::do_endinvis): New functions. 6477 (ps_printer::set_char, ps_printer::draw): Return if invis_count>0. 6478 (ps_printer::end_page): Check that invis_count == 0. 6479 (ps_printer::invis_count): New member. 6480 (ps_printer::ps_printer): Initialize invis_count to 0. 6481 6482 * troff/env.c (environment::hyphenate_line): Hyphenation 6483 indicator at beginning of word inhibits splitting after -, \(em 6484 etc. 6485 6486 * pic/pic.y (element): Allow another element to follow } without 6487 any intervening separator. 6488 6489Mon Jul 22 12:27:37 1991 James Clark (jjc at jclark) 6490 6491 * pic/lex.c (get_delimited): Allow tabs before delimiter. 6492 6493Wed Jul 17 10:59:08 1991 James Clark (jjc at jclark) 6494 6495 * groff.c: Get rid of HAVE_UNION_WAIT stuff. Instead suppress 6496 declaration of wait() in header files. 6497 * Makefile: Get rid of -DHAVE_UNION_WAIT. 6498 6499 * tbl/table.c (alphabetic_text_entry::add_tab): New function. 6500 6501 * lib/lib.h: Declare return type of strerror as char *. 6502 6503 * man/Makefile: Add g flag to sed substitutions. 6504 * Makefile (shgroff, bindist): Likewise. 6505 6506Sun Jul 14 11:57:02 1991 James Clark (jjc at jclark) 6507 6508 * ps/ps.c (ps_printer::do_import): Move push of userdict into... 6509 * ps/devps/prologue (PBEGIN): Define showpage after pushing 6510 userdict. 6511 6512Sat Jul 13 20:53:04 1991 James Clark (jjc at jclark) 6513 6514 * ps/devps/prologue (PBEGIN): Zap any definition of showpage in 6515 userdict. 6516 6517Fri Jul 12 07:10:09 1991 James Clark (jjc at jclark) 6518 6519 * man/mdate.sh: Handle the fact that BSD ls -l does not print the 6520 group. 6521 6522Sun Jul 7 08:00:23 1991 James Clark (jjc at jclark) 6523 6524 * troff/input.c (define_number_reg): If currently undefined, 6525 don't define it if the argument is an invalid expression. 6526 6527 * Makefile: Ignore return value of `if' commands without `else' 6528 parts. 6529 6530 * Makefile: Split up CPPDEFINES into a series of separate 6531 configuration options. 6532 6533 * troff/input.c (init_registers): Use time_t instead of long 6534 unless LONG_FOR_TIME_T is defined. Use returned result rather 6535 than passing pointer. 6536 * Makefile: Document LONG_FOR_TIME_T as a CPPDEFINE. 6537 6538 * lib/Makefile (fontpath.h): Use gendef. 6539 6540Thu Jul 4 09:48:05 1991 James Clark (jjc at jclark) 6541 6542 * troff/input.c (input_iterator::shift): Delete argument name. 6543 * troff/node.c (suppress_output_file::really_begin_page, 6544 suppress_output_file::really_transparent_char, node::ascii_print, 6545 node::tprint): Delete names of unused arguments. 6546 6547Wed Jul 3 17:34:57 1991 James Clark (jjc at jclark) 6548 6549 * refer/label.y (string): Pass $4 to command_error. 6550 6551Tue Jul 2 15:06:01 1991 James Clark (jjc at jclark) 6552 6553 * Version 1.03 released. 6554 6555Sat Jun 29 08:14:01 1991 James Clark (jjc at jclark) 6556 6557 * Makefile: Pass definition of SHELL in SUBFLAGS. 6558 6559 * gendef: New file. 6560 * Makefile, eqn/Makefile, refer/Makefile, troff/Makefile, 6561 ps/Makefile: Use gendef to construct header files that are 6562 constructed from the Makefile. 6563 6564 * macros/Makefile: make all should build stripped version of tmac.e. 6565 6566 * refer/Makefile (clean): Remove y.output. 6567 6568Fri Jun 28 09:44:36 1991 James Clark (jjc at jclark) 6569 6570 * ps/pfbtops.c (main): Add -v option which prints out a version 6571 number. 6572 * ps/Makefile (pfbtops): Link with libgroff.a. 6573 6574Fri Jun 21 07:43:23 1991 James Clark (jjc at jclark) 6575 6576 * refer/search.h (linear_searcher::get_nkeys): Delete declaration. 6577 * refer/linear.c (linear_searcher::get_nkeys): Delete definition. 6578 6579 * refer/lkbib.c (main): Always terminate reference with blank 6580 line. 6581 * refer/lookbib.c (main): Likewise. 6582 6583 * refer/linear.c (file_buffer::load): Check that the file is not a 6584 binary file. 6585 6586 * refer/Makefile (genlimits): Possibly add -DHAVE_SYS_DIR_H. 6587 (genlimits.c): Include <sys/dir.h> if HAVE_SYS_DIR_H is defined. 6588 Delete second inclusion of <sys/param.h>. 6589 6590Tue Jun 18 01:32:26 1991 James Clark (jjc at jclark) 6591 6592 * troff/token.h (token::special): Deleted. 6593 6594 * tbl/main.c (process_format): Rework so that opt->tab_char is 6595 recognized only when appropriate. 6596 6597 * ps/Makefile (clean): Remove pfbtops. 6598 6599Sun Jun 16 09:37:19 1991 James Clark (jjc at jclark) 6600 6601 * lib/font.c (text_file::next): Don't return if we have got a 6602 blank line. 6603 6604Fri Jun 14 09:52:26 1991 James Clark (jjc at jclark) 6605 6606 * refer/refer.c (store_reference): Get hash code from old_table[i] 6607 when rehashing the table. 6608 6609Thu Jun 13 01:26:43 1991 James Clark (jjc at jclark) 6610 6611 * eqn/box.c (box::top_level): Save size and prev size using \R and 6612 restore it afterwards. Set the size to the size at the beginning 6613 of the line. 6614 * eqn/pbox.h: Declare SAVED_INLINE_PREV_SIZE_REG, 6615 SAVED_INLINE_SIZE_REG, and SAVED_SIZE_REG. 6616 6617 * refer/Makefile (limits.h): Use ./genlimits. 6618 6619Wed Jun 12 16:05:34 1991 James Clark (jjc at jclark) 6620 6621 * refer/index.c: Delete declarations of stat() and fstat(). 6622 6623Tue Jun 11 14:52:49 1991 James Clark (jjc at jclark) 6624 6625 * tty/tmac.tty: Add character definitions for \(>= and \(<=. 6626 6627Mon Jun 10 22:49:48 1991 James Clark (jjc at jclark) 6628 6629 * etc/grog.sh, etc/grog.pl: Change regex for .PS. 6630 6631Fri Jun 7 09:13:06 1991 James Clark (jjc at jclark) 6632 6633 * troff/input.c (token::get_char): Handle \e. 6634 6635 * refer/linear.c: Delete declarations of fstat() and stat(). 6636 6637Wed Jun 5 09:11:59 1991 James Clark (jjc at jclark) 6638 6639 * troff/node.c, troff/env.c, troff/input.c, Makefile: Remove 6640 OP_DELETE_BROKEN stuff, since we now have a fix for g++. 6641 6642Mon Jun 3 13:41:32 1991 James Clark (jjc at jclark) 6643 6644 * troff/input.c (do_define_macro): Improve error handling for end 6645 of file while defining macro. 6646 6647Sun Jun 2 10:20:24 1991 James Clark (jjc at jclark) 6648 6649 * eqn/box.h: Fix declaration of set_gsize. 6650 * eqn/box.c (set_gsize): Make argument const char *. 6651 (gsize): Declare as char *. 6652 * eqn/main.c (main): Don't convert gsize to int. 6653 * eqn/lex.c (do_gsize): Pass char * to set_gsize. 6654 6655 * Version 1.02 released. 6656 6657Sat Jun 1 12:19:46 1991 James Clark (jjc at jclark) 6658 6659 * macros/tmac.andoc: New file. 6660 * macros/Makefile: Install tmac.andoc. 6661 6662 * troff/node.c, troff/env.c, troff/input.c: Conditionalize use of 6663 operator new and delete on OP_DELETE_BROKEN not being defined. 6664 * Makefile: Mention OP_DELETE_BROKEN. 6665 6666Mon May 27 13:49:07 1991 James Clark (jjc at jclark) 6667 6668 * Makefile (bindist): Pass SUBFLAGS. 6669 6670Sun May 26 14:13:22 1991 James Clark (jjc at jclark) 6671 6672 * Makefile, groff.c: Pass definitions to groff.c via device.h. 6673 6674 * tty/tty.c (tty_font::load_tty_font): Avoid shadowing 6675 parameter. 6676 6677 * ps/Makefile, ps.c: Pass BROKEN_SPOOLER_FLAGS via broken.h. 6678 6679 * ps/ps.h, ps/psrm.c: Make comment_table and 6680 header_comment_table local to resource_manager::process_file. 6681 6682 * groff.sh: With -TXps pass -printCommand option to gxditview. 6683 6684 * groff.c (possible_command::print): Implement using 6685 append_arg_to_string. 6686 6687 * xditview: Merge in new implementation with own ChangeLog. 6688 6689Sat May 25 18:33:20 1991 James Clark (jjc at jclark) 6690 6691 * groff.c (main): Implement PRINT_OPTION. 6692 (append_arg_to_string): New command. 6693 (device_table): Set PRINT_OPTION flag for Xps. 6694 6695Fri May 24 09:48:58 1991 James Clark (jjc at jclark) 6696 6697 * troff/groff.h: Rename to troff.h. 6698 6699 * pic/lex.c (lookup_keyword, docmp): New functions. 6700 (get_token): Use new lookup_keyword. 6701 Don't include key.h. 6702 * pic/key.[ch], pic/pic.gperf: Deleted. 6703 * pic/Makefile: Remove gperf stuff. 6704 6705 * pic/Makefile, pic/output.h: Move definition of TEX_SUPPORT 6706 into output.h. 6707 * pic/tex.c: Move include of pic.h before test of TEX_SUPPORT. 6708 6709 * troff/Makefile, troff/node.c: Move definition of 6710 STORE_WIDTH into node.c. 6711 6712 * etc/grog.pl, etc/grog.sh: Support -mdoc. 6713 6714Thu May 23 12:30:49 1991 James Clark (jjc at jclark) 6715 6716 * dvi/devdvi/texr.map, dvi.devdvi/texi.map, 6717 dvi/devdvi/texb.map: Add lq and rq. 6718 dvi/devdvi: Regenerate fonts. 6719 * ps/devps/textmap: Add lq and rq. 6720 * ps/devps: Regenerate fonts. 6721 * tty/devascii/R.proto, tty/devlatin1/R.proto: Add lq and rq. 6722 * macros/tmac.e: Define \*(lq and \*(rq to be \(lq and \(rq. 6723 6724 * pic/object.c (position_rectangle): When checking radius 6725 cope with possiblity that width or height is negative. 6726 (box_object::box_object): Have separate xrad and yrad with 6727 signs matching signs of dim components. 6728 (box_object::{north,south}_{east,west}): Use xrad and yrad. 6729 (box_object::print): With rounded boxes use absolute values 6730 for dim and rad arguments. 6731 6732 * lib/Makefile, lib/fontfile.o: Pass definition of FONTPATH 6733 in fontpath.h. 6734 6735 * eqn/Makefile, eqn/main.c: Pass definition of DEVICE in device.h. 6736 6737 * various files: Add explicit destructors to keep Saber CC +d 6738 happy. 6739 6740Wed May 22 11:37:11 1991 James Clark (jjc at jclark) 6741 6742 * eqn/box.c (box::top_level): Restore fonts correctly after 6743 font changes in line containing inline equation. Also 6744 restore previous font as well as current font. 6745 * eqn/pbox.h: Define necessary string and register names. 6746 6747 * troff/input.c (token::next): Case 'R' calls do_register. 6748 (do_register): New function. 6749 6750Tue May 21 11:28:23 1991 James Clark (jjc at jclark) 6751 6752 * groff.c, groff.sh: Support Xps device. Allow each device 6753 to have a pseudo_name and a real_name. 6754 6755 * groff.c (run_commands): Don't print `Broken pipe' messages. 6756 6757 * ps/pfbtops.c: New file. 6758 * ps/Makefile: Add pfbtops. 6759 6760 * troff/number.c (parse_term): Improved error message. 6761 6762Mon May 20 11:22:14 1991 James Clark (jjc at jclark) 6763 6764 * groff.c, groff.sh, etc/grog.sh, etc/grog.pl: Support grefer. 6765 6766 * Makefile: Integrate refer. 6767 * refer: New directory. 6768 * man/grefer.man, man/glookbib.man, man/gindxbib.man, 6769 man/lkbib.man: New files. 6770 * man/Makefile: Support refer man pages. 6771 6772 * lib/lib.h: Declare is_prime. 6773 * lib/prime.c: New file. 6774 6775 * troff/input.c (macro_source): New function. 6776 (init_input_requests): Bind "mso" to macro_source. 6777 6778 * troff/env.c (environment::possibly_break_line): Maintain 6779 pointer to pointer to node to be split in ndp so as to avoid 6780 using address of freed node. 6781 6782 * troff/env.c (environment::hyphenate_line): Maintain pointer to 6783 pointer to first node to be hyphenated in startp so as to 6784 avoid using address of freed node. 6785 6786 * troff/env.c (class trie, class hyphen_trie): Make the 6787 elements of the trie be of type char not unsigned char. 6788 Declare arguments to be const char* instead of unsigned char *. 6789 6790 * troff/env.c (hyphenate): Initialize hbuf[0]. 6791 6792 * troff/input.c (set_string): Declare p to be char * and cast 6793 *p to unsigned char when necessary. 6794 6795 * troff/input.c (do_define_macro): Declare s to be const 6796 char*. Cast element to unisgned char when necessary, Declare 6797 d to be an int. Handle EOF better. 6798 6799 * troff/Makefile, troff/input.c: Different scheme for passing 6800 definitions of MACROPATH, HYPHENFILE and DEVICE. 6801 6802Tue May 14 13:41:36 1991 James Clark (jjc at jclark) 6803 6804 * tty/devascii/R.proto: Delete entry for em. 6805 * tty/devlatin1/R.proto: Likewise. 6806 6807Sat May 11 11:13:28 1991 James Clark (jjc at jclark) 6808 6809 * troff/input.c (translate): Stop when we get a space. Treat eof 6810 like newline. 6811 6812 * macros/tmac.an (IP): Only pass quoted argument to TP when \n(.$>1. 6813 6814Wed Apr 24 19:24:33 1991 James Clark (jjc at jclark) 6815 6816 * tbl/main.c (process_format): A font name following a `f' 6817 modifier that starts with a digit can be only one character long. 6818 Also deal with EOF on the second character of the font name. 6819 6820Wed Apr 17 11:23:43 1991 James Clark (jjc at jclark) 6821 6822 * troff/input.c (token::next): Turn \~ into an 6823 unbreakable_space_node. 6824 * troff/node.c (unbreakable_space_node): New class. 6825 * troff/node.h: Declare it. 6826 6827Tue Apr 16 10:47:12 1991 James Clark (jjc at jclark) 6828 6829 * dvi/dvi.c (dvi_printer::set_char): Make code an int. Check that 6830 it's >= 0, before outputting it as a single byte. 6831 6832Mon Apr 15 11:20:23 1991 James Clark (jjc at jclark) 6833 6834 * lib/font.c: Make font_char_metric::code an int. 6835 (font::get_code): Change return type to int. 6836 (font::load): Allow code to be arbitrary integer. 6837 * lib/font.h (font::get_code): Change return type to int. 6838 (font::number_to_index): Change argument type to int. 6839 * troff/input.c (token::next): In case 'N', allow any value. 6840 Store value in token::val. 6841 (token::operator==): For TOKEN_NUMBERED_CHAR test equality of val. 6842 (token::get_char, token::add_to_node_list, token::process): Get 6843 number from val. 6844 (charinfo::set_number): Change argument to int. 6845 (charinfo::get_number): Require that NUMBERED flag be set. 6846 (get_charinfo_by_number): Store numbered characters not between 0 6847 and 255 in a dictionary. 6848 * troff/charinfo.h (get_charinfo_by_number): Change argument type 6849 to int. 6850 (charinfo::number): Change type to int. 6851 (charinfo::set_number): Change type of set_number to int. 6852 * troff/node.c (troff_output_file::put_char_width, 6853 troff_output_file::put_char): Test whether character is numbered 6854 using charinfo::numbered(). 6855 * driver/printer.c (printer::set_numbered_char): Allow arbitrary 6856 values of num. 6857 * lib/nametoindex.c: New implementation to cope with arbitrary 6858 number characters. 6859 6860 * troff/input.c (token::operator==): Test val for 6861 TOKEN_CHAR_HEIGHT, TOKEN_CHAR_SLANT, TOKEN_FONT_POSITION, and 6862 TOKEN_SIZE. 6863 6864 * man/Makefile: Add definiton of BROKEN_SPOOLER_FLAGS. 6865 (.man.n): sed out @BROKEN_SPOOLER_FLAGS@. 6866 6867Sun Apr 14 12:57:00 1991 James Clark (jjc at jclark) 6868 6869 * ps/devps/zapfdr.ps: Don't copy UniqueID. Avoid use of newdict 6870 variable. 6871 6872 * all Makefiles: rm targets of cp and >. 6873 6874 * xditview/xtotroff.c (MapFont): Unlink troff_name before opening 6875 it. 6876 6877 * eqn/lex.c (def_table): Add dollar. 6878 6879Sat Apr 13 13:02:44 1991 James Clark (jjc at jclark) 6880 6881 * troff/input.c (do_width): Push back newline before closing delim 6882 like do_bracket. 6883 6884Fri Apr 12 15:16:03 1991 James Clark (jjc at jclark) 6885 6886 * groff.c (possible_command::prepend_arg): New function. 6887 (main): Prepend device -m option. 6888 * groff.sh: Put device -m options before command-line options. 6889 6890Tue Apr 9 10:24:43 1991 James Clark (jjc at jclark) 6891 6892 * macros/tmac.an (IP): Quote argument to TP. 6893 6894 * ps/ps.c (main): New option -b, which sets... 6895 (broken_flags): New variable. 6896 (ps_printer::~ps_printer): Incorporate the setup section in the 6897 prolog if (broken_flags & NO_SETUP_SECTION). 6898 (ps_printer::begin_page): Generate {Begin,End}PageSetup comments. 6899 (ps_printer::merge_download_fonts, ps_printer::merge_import_fonts, 6900 ps_printer::merge_ps_fonts, ps_printer::print_font_comment, 6901 ps_printer::print_needed_font_comment, 6902 ps_printer::print_supplied_font_comment, 6903 ps_printer::print_include_font_comments, 6904 ps_printer::lookup_doc_font, ps_printer::download_fonts, 6905 ps_printer::read_download_file, read_document_fonts, add_font, 6906 skip_line, parse_fonts_arg, document_font::document_font, 6907 document_font::~document_font, document_font::download, 6908 ps_output::include_file): Deleted. 6909 (ps_printer::~ps_printer): Generate %%EOF. Generate %!PS-Adobe-3.0 6910 rather than %!PS-Adobe-2.0. Make calls to 6911 resource_manager::need_font for each font that we used. Replace 6912 calls to merge_ps_fonts, merge_download_fonts, print_font_comment, 6913 print_supplied_font_comment, print_needed_font_comment by call to 6914 resource_manager::print_header_comments. Output %%Orientation 6915 comment. Output %%Requirements: numcopies comment if ncopies > 1. 6916 Don't output the prolog directly. Instead call 6917 resource_manager::output_prolog. Only define #copies when ncopies 6918 > 1. Delete calls to print_include_font_comments and 6919 download_fonts. Add call to resource_manager::document_setup. 6920 (ps_printer::do_file): Call resource_manager::import_file instead 6921 of including it ourselves. 6922 (ps_printer::do_import): Likewise. Also don't call 6923 merge_import_fonts. Push userdict on the dictionary stack before 6924 and pop it afterwards. 6925 Move declaration of ps_output into ps.h. 6926 * ps/psrm.c: New file implementing resource_manager class. 6927 * ps/ps.h: New file declaring ps_output and resource_manager 6928 classes. 6929 * ps/devps/zapfdr.ps: 6930 * ps/devps/symbolsl.ps: 6931 * ps/devps/prologue: Use 3.0 conventions. 6932 * ps/Makefile: Pass definition of BROKEN_SPOOLER_FLAGS in DEFINES. 6933 Add default definition of BROKEN_SPOOLER_FLAGS. 6934 * Makefile: New variable BROKEN_SPOOLER_FLAGS. Add 6935 BROKEN_SPOOLER_FLAGS to SUBFLAGS. 6936 6937Mon Apr 8 09:26:54 1991 James Clark (jjc at jclark) 6938 6939 * etc/grog.pl: New file. 6940 * Makefile (GROG): New variable. 6941 Add GROG to SUBFLAGS. 6942 * etc/Makefile (GROG): New variable. 6943 (install.nobin): Install $(GROG) rather than grog.sh. 6944 6945Thu Apr 4 11:36:45 1991 James Clark (jjc at jclark) 6946 6947 * eqn/special.c (special_box::compute_metrics): Make the input and 6948 output strings the same. Get the new height and depth from the 6949 predefined height and depth registers. Also make subscript kern 6950 and skew available. 6951 (special_box::compute_subscript_kern, special_box::compute_skew): 6952 New functions. 6953 6954 * eqn/box.c (pointer_box::compute_skew, 6955 simple_box::compute_metrics, box::top_level) 6956 * eqn/text.c (prime_box::compute_metrics, 6957 prime_box::comput_subscript_kern) 6958 * eqn/limit.c (limit_box::compute_metrics): 6959 * eqn/delim.c (build_extensible, delim_box::compute_metrics): 6960 * eqn/sqrt.c (sqrt_box::compute_metrics): Protect possibly 6961 negative numbers in `nr' requests with a leading 0. 6962 6963Wed Apr 3 15:58:23 1991 James Clark (jjc at jclark) 6964 6965 * eqn/special.c: New file. 6966 * eqn/eqn.y: Declare token SPECIAL. Make it right associative. 6967 Add new rule for simple. 6968 * eqn/lex.c (token_table): Add SPECIAL. 6969 * eqn/box.h: Declare make_special_box. 6970 * eqn/Makefile: Add special.[co]. 6971 6972Sat Mar 30 10:57:53 1991 James Clark (jjc at jclark) 6973 6974 * ps/devps/prologue: Possibly set packing to true while defining. 6975 Create grops dictionary here. Initialize local variables before 6976 defining procedures. 6977 (PICTURE): Rename to PBEGIN. Also do save, noop showpage, count 6978 the dictionary stack. Set strokeadjust and overprint to false if 6979 the relevant operators are defined. 6980 (PEND): New procedure. 6981 * ps/ps.c (ps_printer::~ps_printer): In the prolog just include 6982 prologue. Do everything else in the setup section. 6983 (ps_printer::do_import): Just call PBEGIN and PEND around the 6984 picture. Also push userdict before, and pop it afterwards. 6985 6986Wed Mar 27 07:59:50 1991 James Clark (jjc at jclark) 6987 6988 * troff/node.c (bracket_node::tprint): Brackets were being printed 6989 1m too low. 6990 6991 * macros/tmac.an (SH, SS): Set fill mode. 6992 6993Tue Mar 26 07:46:31 1991 James Clark (jjc at jclark) 6994 6995 * troff/div.c (top_level_diversion::begin_page): Set 6996 high_water_mark to 0. 6997 6998Fri Mar 22 09:19:46 1991 James Clark (jjc at jclark) 6999 7000 * man/mdate.sh: New file. 7001 * man/mdate.c: Deleted. 7002 * man/Makefile: Use mdate.sh instead of mdate. 7003 (mdate): Deleted. 7004 7005 * eqn/lex.c (do_gsize): Supply missing argument to error message. 7006 7007Tue Mar 19 11:06:50 1991 James Clark (jjc at jclark) 7008 7009 * man/mdate.c: New file. 7010 * man/*.man: Replace modification date by @MDATE@. 7011 * man/Makefile (.man.n): Replace @MDATE@ by `mdate $<`. 7012 (mdate): New target. 7013 7014 * lib/font.c (text_file::next): Deal with arbitrarily long lines. 7015 Remove illegal input characters. 7016 7017Mon Mar 18 08:32:25 1991 James Clark (jjc at jclark) 7018 7019 * macros/tmac.s (pg*start-col): Do .ns *after* running the hooks. 7020 7021Sat Mar 16 03:52:25 1991 James Clark (jjc at jclark) 7022 7023 * troff/div.c (begin_page): Change behaviour when 7024 !first_page_begun and !break_flag. 7025 7026 * troff/input.c (do_name_test): Return 0 if argument is empty. 7027 7028 * troff/input.c (read_long_escape_name): Require closing ] to be 7029 at same input level as opening [. 7030 7031 * troff/input.c (read_increment_and_escape_name): New function. 7032 (get_copy, process_input_stack): Use this for \n. 7033 7034Fri Mar 15 00:31:48 1991 James Clark (jjc at jclark) 7035 7036 * troff/div.c (top_level_diversion::begin_page): Ignore the 7037 current value of page_number if !first_page_begun. 7038 7039 * groff.c (main): Fix declaration of buf. 7040 7041 * troff/input.c (do_name_test): New function. 7042 (token::next): Implement \A. 7043 (token::next): Implement \e by turning it into a TOKEN_ESCAPE. 7044 (token::description, token::add_to_node_list, token::process): 7045 Handle TOKEN_ESCAPE. 7046 * troff/token.h: New token TOKEN_ESCAPE. 7047 7048Thu Mar 14 10:22:26 1991 James Clark (jjc at jclark) 7049 7050 * pic/main.c (do_picture): Allow space before and after filename 7051 following `<'. Check that the filename is not empty. 7052 7053Wed Mar 13 12:49:40 1991 James Clark (jjc at jclark) 7054 7055 * Version 1.01 released. 7056 7057 * dvi/devdvi/CompileFonts: Add cm*ss10 fonts. 7058 7059 * dvi/tmac.dvi: ftr HR to H. 7060 7061 * macros/tmac.e: Round up computation of $r. 7062 7063 * xditview/tmac.X: Don't give up completely in compatibility mode. 7064 Use \n(.s instead of \n[.s]. 7065 7066 * dvi/tmac.dvi: Don't give up completely in compatibility mode. 7067 Use \(ci instead of \[ci]. Use \n(.s instead of \n[.s]. 7068 Add u to factors inside \s[...]. Rename frac to dvi-frac. 7069 Translate \(FM onto \[prime] and \(!/ onto \[slashnot]; use these 7070 short names in the char definitions. 7071 7072 * ps/tmac.ps: Don't give up completely in compatibility mode. 7073 Fix the fraction definitions to use \n(.s and \(f/. Add an extra 7074 quote in front of \n(.s. Add u to factors inside \s[...]. 7075 7076Mon Mar 11 12:01:20 1991 James Clark (jjc at jclark) 7077 7078 * tty/tmac.tty: Call the nroff request. 7079 7080 * macros/tmac.e ((x, )x): Better definitions that work properly 7081 in a diversion. 7082 (@0, @1): Helper macros for (x. 7083 7084 * macros/tmac.e ($s, hl): Use \l rather than \D. 7085 7086 * tty/tmac.tty: Make it work better in compatibility mode. 7087 (pchar): Rename to tty-char. 7088 7089 * macros/tmac.e (@E): New macro. 7090 (r, i, b, rb, bi): Use @E. 7091 7092 * macros/tmac.e (@F): Don't use (;...) syntax. 7093 7094 * macros/tmac.e: Remove mention of \*(||/revisions. Mention that 7095 it was modified for groff. 7096 7097 * macros/tmac.e: Make sure \n(ps and \n(es are >= \n(.V. 7098 7099 * macros/tmac.e (<., .>): Removed. 7100 ([., .]): If \n(.V>=1v, use [] instead of superscripting. 7101 7102 * macros/tmac.e: Remove check that groff is being used. 7103 7104 * macros/tmac.e (@C): Change families only if using groff; turn 7105 compatibility mode off while changing familes. Save compatibility 7106 mode before changing families and restore it afterwards. 7107 7108 * macros/tmac.e (@h): Remove test for offset + line length. 7109 7110 * macros/tmac.e (sorry): Rename to @S. Use \$1 instead of \$0 7111 (lo, th, ac): Define to call @S instead of using als. 7112 7113 * macros/tmac.e: Make $r and $R now contain \n(.v*100/\n(.sp, ie 7114 the ratio of the vertical spacing to the point size in units 7115 expressed as a percentage. Use these instead of $10r and $10R, 7116 Delete $10r and $10R. 7117 7118 * lib/font.c (font::load): In default computation of space_width, 7119 divide by sizescale. Use scale_round. 7120 7121 * macros/tmac.an (TP): Don't call `nf'. 7122 (an-do-tag): Don't call `fi'. 7123 7124Sun Mar 10 09:52:35 1991 James Clark (jjc at jclark) 7125 7126 * troff/input.c (process_input_stack): Handle the case where 7127 spaces at the beginning of an input line are followed by a 7128 newline. 7129 7130Thu Mar 7 20:18:07 1991 James Clark (jjc at jclark) 7131 7132 * groff.c (device_table): Add PIC_X_OPTION for dvi device. 7133 * groff.sh: Use pic -x with the dvi device. 7134 7135 * dvi/devdvi/FontMakefile (H): Don't use -s. 7136 7137 * dvi/devdvi/HI, dvi/devdvi/HB: New files. 7138 * dvi/devdvi/Makefile: Add HI and HB to FONTS. 7139 * dvi/devdvi/FontMakefile: Add rules for HI and HB. Include these 7140 in FONTS. 7141 7142Mon Mar 4 13:20:14 1991 James Clark (jjc at jclark) 7143 7144 * ps/psfig.diff: New file. 7145 * ps/tmac.psfig: New file. 7146 7147Sat Mar 2 00:15:09 1991 James Clark (jjc at jclark) 7148 7149 * macros/tmac.s (]=, ref*do-tl, ref*bib-print): Deleted. 7150 (]-): Don't call ref*do-tl. 7151 7152 * macros/tmac.s (ref*end-print): Use XP if [F not defined. 7153 7154 * macros/tmac.s (ref*normal-print): Call FS rather than fn@do-FS. 7155 (fn@do-FS): Rename to fn*do-FS. 7156 7157 * troff/input.c (transparent_translate): New function. 7158 (process_input_stack): Apply transparent_translate before calling 7159 diversion::transparent_output(unsigned char). 7160 7161Wed Feb 27 00:13:25 1991 James Clark (jjc at jclark) 7162 7163 * troff/input.c (do_define_macro): Define the macro before calling 7164 skip_line. 7165 7166 * xditview/Makefile: Add DEVICES variable. Change install target 7167 to use this. 7168 7169Tue Feb 26 10:46:22 1991 James Clark (jjc at jclark) 7170 7171 * groff.c (run_commands): Handle the possibility that there are 7172 child processes other than those forked by us. 7173 7174Sun Feb 24 21:32:30 1991 James Clark (jjc at jclark) 7175 7176 * lib/string.c (string::append): New function. 7177 * lib/stringclass.h: Declare it. 7178 7179Thu Feb 21 11:49:26 1991 James Clark (jjc at jclark) 7180 7181 * eqn/main.c (main): New option -N which sets 7182 no_newline_in_delim_flag. 7183 (do_file): If no_newline_in_delim_flag is set don't allow newlines 7184 in delimiters. 7185 * groff.c (main): Pass -N on to eqn. 7186 (help, synopsis): Mention -N. 7187 * groff.sh: Implement -N. 7188 7189Wed Feb 20 15:16:10 1991 James Clark (jjc at jclark) 7190 7191 * macros/tmac.s (]=, ref*bib-print, ref*do-tl): New macros. 7192 (]-): Call ref*do-tl if ref*need-tl is non-zero. 7193 (XP): Allow as initializer. 7194 7195Tue Feb 19 14:09:06 1991 James Clark (jjc at jclark) 7196 7197 * troff/env.c (environment::wrap_up_field): If field_spaces are 7198 non-zero and we have a current_tab, subtract padding from 7199 tab_distance. If this makes tab_distance <= 0, use the next tab 7200 stop instead. If there isn't any next tab or it's a left tab, 7201 wrap up the current tab. 7202 (environment::start_field): Initialize tab_precedes_field. 7203 (environment::wrap_up_tab): If there's a current field, update 7204 pre_field_width, field_distance and tab_precedes_field. 7205 * troff/env.h (environment::tab_precedes_field): New member. 7206 7207Fri Feb 15 01:24:00 1991 James Clark (jjc at jclark) 7208 7209 * ps/ps.c (ps_printer::do_file): New function. 7210 (ps_printer::special): Bind to `file' special. 7211 (ps_printer::do_exec): Set ndefined_styles to 0. 7212 7213Sat Feb 9 03:03:04 1991 James Clark (jjc at jclark) 7214 7215 * eqn/text.c (split_text): Grok \* and similar escapes sequences. 7216 Avoid stripping first character from the start of unrecognized 7217 escapes. Use lex_error instead of error to report errors. 7218 * eqn/lex.c (get_token): Rework handling of escapes. 7219 (lex_error): Move declaration into... 7220 * eqn/eqn.h. 7221 7222 * xditview/xditview.c (main): Make -page option work. 7223 7224 * Makefile: Correct comment about -DBROKEN_SPOOLER and pageview. 7225 7226Wed Feb 6 12:28:43 1991 James Clark (jjc at jclark) 7227 7228 * macros/tmac.s (B2): Correct size of box. 7229 7230Tue Feb 5 00:37:35 1991 James Clark (jjc at jclark) 7231 7232 * macros/tmac.s (B2): Postpone drawing the box until in the 7233 top-level diversion. 7234 7235 * tty/tmac.tty: Add font translations for C, CR, CW. 7236 7237 * groff.c (synopsis, help): Document -i. 7238 * groff.sh: Implement -i. 7239 7240 * macros/tmac.s (@NH): Put a `.' after multi-part numbers. 7241 Simplify the construction of SN. 7242 7243 * troff/number.c (parse_term): Give `|' a higher precedence. 7244 * tbl/table.c (numeric_text_entry::simple_print): Parenthesise 7245 accordingly. 7246 7247 * macros/tmac.s (B2): Use par@finish instead of par@reset. 7248 7249Mon Feb 4 12:36:09 1991 James Clark (jjc at jclark) 7250 7251 * lib/string.c (string::move): New function. 7252 * lib/stringclass.h: Declare it. 7253 7254Sat Feb 2 16:02:16 1991 James Clark (jjc at jclark) 7255 7256 * troff/env.c (distribute_space): Add optional argument 7257 `force_forward'. 7258 (environment::wrap_up_field): Call distribute_space with 7259 `force_forward' argument of 1. 7260 7261Fri Feb 1 19:36:33 1991 James Clark (jjc at jclark) 7262 7263 * lib/string.c, lib/stringclass.h (string::operator+=(char)): 7264 Inline it. Move reallocation into... 7265 (string::grow1): New function. 7266 * pic/Makefile, tbl/Makefile, eqn/Makefile, ps/Makefile: Redo 7267 dependencies to include library header files. 7268 * lib/Makefile: Make string.c and lf.c depend on stringclass.h. 7269 7270Thu Jan 31 15:02:27 1991 James Clark (jjc at jclark) 7271 7272 * macros/tmac.s (@NH): Use the same number registers than -ms does 7273 for the heading level counters. Use the same string that -ms does 7274 for the number for this heading. 7275 7276Wed Jan 30 14:25:40 1991 James Clark (jjc at jclark) 7277 7278 * lib/new.c (operator new): Cast result of malloc to char *. 7279 7280 * troff/input.c (spring_trap, lookup_request): Add assert that nm 7281 is not null. 7282 7283Tue Jan 29 18:08:05 1991 James Clark (jjc at jclark) 7284 7285 * groff.c (main): Support -i. 7286 7287Sun Jan 27 13:23:17 1991 James Clark (jjc at jclark) 7288 7289 * pic/pic.h: Include <osfcn.h>. 7290 7291 * ps/ps.c: Add declaration of mktemp. 7292 7293 * Makefile: Add -DHAVE_UNION_WAIT option for CPPDEFINES. 7294 * groff.c: If HAVE_UNION_WAIT is defined, declare wait()'s 7295 argument as union wait *. 7296 (run_commands): If HAVE_UNION_WAIT is defined cast wait()'s 7297 argument to union wait *. 7298 7299Sat Jan 26 12:04:52 1991 James Clark (jjc at jclark) 7300 7301 * tty/tmac.tty: Add definition of \(co. 7302 7303 * pic/object.c (make_arc): Only increase radius when radius 7304 strictly less than d. 7305 (arc_object::update_bounding_box): May need to add 4.0 to end_quad 7306 more than once. 7307 7308 * troff/env.c (environment::environment(symbol), 7309 environment::environment(const environment *)): Initialize 7310 input_trap_count. 7311 7312Sat Jan 19 08:18:35 1991 James Clark (jjc at jclark) 7313 7314 * tbl/main.c (main): Add exit(0). 7315 7316 * ps/ps.c (ps_printer::~ps_printer): Use fseek instead of rewind. 7317 7318 * pic/main.c (main): 7319 * eqn/main.c (main): 7320 * tbl/main.c (main): 7321 * etc/soelim.c (main): 7322 * driver/printer.c (printer::~printer): 7323 * troff/node.c (real_output_file::~real_output_file, 7324 real_output_file::flush): Check for errors on stdout. 7325 7326 * most files: Add 1991 to copyright notice. 7327 7328 * macros/tmac.s: Don't test \n(.x and \n(.y. 7329 7330 * troff/input.c (token::next): Rename `escape_char' label to 7331 `handle_escape_char' and `normal_char' label to 7332 `handle_normal_char'. 7333 7334Thu Jan 17 15:46:35 1991 James Clark (jjc at jclark) 7335 7336 * groff.c (main, synopsis, help): Support -a option. 7337 * groff.sh: Likewise. Also eliminate Zflag variable by adding -z 7338 to trflags while parsing options. 7339 7340Tue Jan 15 13:07:27 1991 James Clark (jjc at jclark) 7341 7342 * troff/number.c (parse_term): With `m', `M' and `n' scale 7343 indicators, convert scale factor to hunits before scaling. 7344 7345Mon Jan 14 12:39:12 1991 James Clark (jjc at jclark) 7346 7347 * lib/font.c (scale_round): Better test for overflow when n is 7348 negative. 7349 7350Thu Jan 10 11:10:56 1991 James Clark (jjc at jclark) 7351 7352 * tbl/main.c (process_format): Add second argument of type 7353 options*. Change callers. Allow opt->tab_char as well as '\t' 7354 between format items. 7355 7356Mon Jan 7 12:30:18 1991 James Clark (jjc at jclark) 7357 7358 * macros/tmac.an (PD): With no arguments, make sure register PD is 7359 at least \n[.V]. 7360 (TH): Call PD with no argument, instead of setting register PD 7361 directly. 7362 7363Sun Jan 6 11:18:39 1991 James Clark (jjc at jclark) 7364 7365 * Version 1.00 released. 7366 7367Sat Jan 5 08:44:30 1991 James Clark (jjc at jclark) 7368 7369 * ps/tmac.ps, xditview/tmac.X: Add font translation of C to CR. 7370 7371 * dvi/devdvi/DESC: Mount CW instead of CR. 7372 7373 * dvi/tmac.dvi: Add definition of \(tm. 7374 7375 * dvi/devdvi/texsy.map: Add lh, and rh. 7376 * dvi/devdvi/texex.map: Add lt, rt, lb, rb, lk, rk. 7377 * dvi/devdvi/texmi.map: Add *o. Regenerate fonts. 7378 7379 * dvi/devdvi/FontMakefile: Generate H from cmss10. 7380 * dvi/devdvi/Makefile: Install H. 7381 * dvi/devdvi/H: New file. 7382 7383Fri Jan 4 15:04:57 1991 James Clark (jjc at jclark) 7384 7385 * troff/env.c (vertical_spacing): Don't allow vertical spacing to 7386 be 0. 7387 7388Thu Jan 3 13:41:19 1991 James Clark (jjc at jclark) 7389 7390 * macros/tmac.s (@EN): Add \n(.V to the argument to ds@need. 7391 7392 * macros/tmac.pic (PS): Avoid attempting to set negative indent. 7393 7394 * macros/tmac.s (@EN): Handle the case where the equation is empty 7395 but the label is not. 7396 7397Wed Jan 2 10:31:44 1991 James Clark (jjc at jclark) 7398 7399 * troff/groff.h: New warning category WARN_SPACE. 7400 * troff/input.c: Add WARN_SPACE to DEFAULT_WARNING_MASK. Add 7401 WARN_SPACE to warning_table. 7402 (interpolate_macro): Give a warning of type WARN_SPACE if the name 7403 is longer than two characters and is not defined, but the first 7404 two characters do make a defined name. 7405 7406 * PROBLEMS: New file. 7407 7408 * CHANGES: New file. 7409 * README-0.6, README-1.00: Deleted. 7410 7411 * groff.c, groff.sh: Add X75-12 and X100-12 devices. 7412 * xditview/devX75/Makefile: Make devX75-12. 7413 * xditview/devX100/Makefile: Make devX100-12. 7414 7415 * xditview/devX100/eqnchar, xditview/devX75/eqnchar, 7416 dvi/devdvi/eqnchar, ps/devps/eqnchar: Remove use of \R. 7417 7418Tue Jan 1 19:24:01 1991 James Clark (jjc at jclark) 7419 7420 * README-0.7: Rename to README-1.00. 7421 7422 * macros/tmac.pic: New file. 7423 * macros/Makefile (install.nobin): Install tmac.pic. 7424 7425Mon Dec 31 10:40:53 1990 James Clark (jjc at jclark) 7426 7427 * troff/env.c (hyphen_word): Correct the test for whether the 7428 token is a hyphen. Reset npos to 0. 7429 7430 * macros/tmac.s (par@sup-start, par@sup-end): New implementations. 7431 7432Sun Dec 30 15:53:13 1990 James Clark (jjc at jclark) 7433 7434 * macros/tmac.s (ds*common-end): Call par*reset. 7435 (PE): Likewise. 7436 (par@reset-indent): Deleted. 7437 7438 * macros/tmac.s (@IP): Divert the label. 7439 7440Sat Dec 29 14:33:32 1990 James Clark (jjc at jclark) 7441 7442 * xditview/draw.c (setGC): Use a line width of .1m rather than 7443 .04m by default; round rather than truncate value. 7444 7445 * tbl/table.c (class empty_entry): New class. 7446 (empty_entry::empty_entry, empty_entry::line_type): New functions. 7447 (table::add_entry): Represent empty entries by objects of type 7448 empty_entry. 7449 (table_entry::line_type): Return -1. 7450 (table::determine_row_type): Ignore entries with line_type 0. 7451 Treat type -1 as non-lines. 7452 7453Fri Dec 28 15:04:41 1990 James Clark (jjc at jclark) 7454 7455 * ps/devps/textmap, xditview/libXdvi/DviChar.c, tty/devlatin1/R.proto, 7456 macros/tmac.s: Rename \(-d to \(Sd. 7457 7458Thu Dec 27 12:35:47 1990 James Clark (jjc at jclark) 7459 7460 * ps/devps/textmap: Add `sd', `/_' and `3d' characters. 7461 * xditview/libXdvi/DviChar.c: Likewise. 7462 * dvi/devdvi/texsy.map: Add `<<', `>>'. 7463 7464Wed Dec 26 13:33:23 1990 James Clark (jjc at jclark) 7465 7466 * troff/div.c (top_level_diversion::begin_page): Call 7467 init_output() if the_output is 0. 7468 7469Sat Dec 22 12:35:29 1990 James Clark (jjc at jclark) 7470 7471 * troff/input.c: Replace ESCAPE_E by ESCAPE_e and ESCAPE_C by 7472 ESCAPE_c. 7473 (get_copy): Turn \E into ESCAPE_E. 7474 (token::process, asciify): Handle ESCAPE_E. 7475 7476 * macros/tmac.s (ds*common-end, par@reset): Add `.rj 0'. 7477 (RD): New macro. 7478 (DS): Implement `.DS R'. 7479 7480Fri Dec 21 11:41:53 1990 James Clark (jjc at jclark) 7481 7482 * macros/tmac.s (FS): New macro. 7483 7484 * macros/tmac.s (fn@do-FS): Use @LP instead of LP. 7485 7486 * macros/tmac.s (cov*tl-init): Remove after first execution 7487 instead of aliasing to @nop. Call top of page macro explicitly 7488 instead of setting trap; call @init first. Set pg@top as top of 7489 page macro. 7490 (cov*auto-init): Deleted. Set cov*tl-init instead of 7491 cov*auto-init as top of page trap. 7492 (TL, LP): Do a break instead of calling cov*tl-init. 7493 (cov*print): With RP format but no TL, alias FS and FE to @FS and 7494 @FE; in this case also give a warning and always start another 7495 page. No need to set pg@top here. 7496 (cov*tl-init): Rename to cov*first-page-init. 7497 7498 * macros/tmac.s (RP): Do `.pn 0'. 7499 (cov*tl-init): With RP format don't do `.pn 0'. 7500 7501 * macros/tmac.s (pg@cs-top): Set no space mode. 7502 7503 * macros/tmac.s (par@TL, par@AU, par@AI): New macros. 7504 (cov*ab-init): Alias TL, AU and AI to these. 7505 7506Thu Dec 20 10:10:50 1990 James Clark (jjc at jclark) 7507 7508 * macros/tmac.s (@EQ): Move the space before the equation into @EN 7509 (@EN): Do nothing unless \n[dl] is > 0. 7510 7511Tue Dec 18 12:20:47 1990 James Clark (jjc at jclark) 7512 7513 * pic/object.c (ellipse_object::radius): New function. 7514 7515 * VERSION: Change version to 0.7. 7516 7517 * tbl/table.c (block_entry::do_divert): Declare return type as 7518 void. 7519 (block_entry::divert, alphabetic_block_entry::divert): Return 1. 7520 7521Mon Dec 17 12:30:34 1990 James Clark (jjc at jclark) 7522 7523 * troff/column.c: New file. 7524 * troff/Makefile: Corresponding changes. 7525 7526 * troff/hvunits.c (scale(vunits, vunits, vunits)): New function. 7527 Friend of vunits. 7528 7529 * troff/div.c (top_level_diversion::space): If the space causes 7530 the first-page transition and springs a trap, truncate the space 7531 to 0. 7532 7533Fri Dec 14 12:30:02 1990 James Clark (jjc at jclark) 7534 7535 * ps/ps.c (ps_printer::do_import): Add a `clear' after including 7536 the document. 7537 7538 * pic/troff.c (troff_output::line_thickness, 7539 troff_output::set_fill): Do a horizontal motion to compensate for 7540 the width of the \D escape sequence. 7541 7542Thu Dec 13 10:17:14 1990 James Clark (jjc at jclark) 7543 7544 * xditview/tmac.X: Reinstate definition of \(rn, but only for X100 7545 (not X75). 7546 7547 * eqn/sqrt.c (sqrt_box::compute_metrics): Supply missing argument 7548 to printf. 7549 7550 * tbl/table.c (simple_entry::simply_print): Don't declare as pure. 7551 Supply empty definition. 7552 (text_entry::simple_print, simple_text_entry::simple_print): 7553 Delete declarations. 7554 (table::add_entry): Represent empty entries by objects of type 7555 `simple_entry'. 7556 7557Wed Dec 12 08:50:48 1990 James Clark (jjc at jclark) 7558 7559 * troff/Makefile: Remove -DHYPHEN_CONTROL from DEFINES. 7560 7561 * tbl/table.c (left_text_entry::add_tab): New function. 7562 7563 * macros/tmac.s: Make @RT an alias for par@reset. Make RT 7564 initialize like LP. 7565 7566Mon Dec 10 11:19:55 1990 James Clark (jjc at jclark) 7567 7568 * troff/env.c (environment::start_field): Give an error message if 7569 there is no next tab. 7570 7571Sun Dec 9 11:46:40 1990 James Clark (jjc at jclark) 7572 7573 * troff/env.c (hyphenate): Skip initial elements with zero 7574 hyphenation code. 7575 7576 * macros/tmac.s (par@init): Keep VS in points rather than units. 7577 7578Sat Dec 8 23:00:27 1990 James Clark (jjc at jclark) 7579 7580 * pic/main.c (main): Implement `-c' option. 7581 * pic/output.h: Declare make_tpic_output(). 7582 * pic/tex.c (tex_output::set_pen_size): Make it virtual and 7583 protected. 7584 (tpic_output): New class. 7585 (tpic_output::tpic_output, tpic_output::set_pen_size, 7586 tpic_output::command, make_tpic_output): New functions. 7587 7588Fri Dec 7 11:57:41 1990 James Clark (jjc at jclark) 7589 7590 * tbl/main.c (main): Call `.ab' if \n(.g is false. Define TS/TE 7591 if they're not already defined. 7592 * tbl/table.c (init_output): Don't test \n(.g. 7593 7594 * troff/input.c (do_if_request): Delete `g' condition. Recognize 7595 `d', `r' and `c' conditions even in compatibility mode. 7596 7597Tue Dec 4 09:13:47 1990 James Clark (jjc at jclark) 7598 7599 * ps/tmac.ps (ps-bb): Protect against negative numbers in bounding 7600 box. 7601 7602Mon Dec 3 07:18:26 1990 James Clark (jjc at jclark) 7603 7604 * troff/env.h (environment::prev_line_interrupted): New member. 7605 (environment::get_prev_line_interrupted): New function. 7606 * troff/env.c (environment::newline): Set prev_line_interrupted. 7607 (environment::environment(const environment *), 7608 environment::environment(symbol)): Initialize 7609 prev_line_interrupted. 7610 * troff/input.c (process_input_stack): Don't give special 7611 treatment to space and newline at the beginning of the line if the 7612 previous line was interrupted. 7613 7614Sat Dec 1 15:48:37 1990 James Clark (jjc at jclark) 7615 7616 * eqn/eqn.y: Disallow PRIME by itself. 7617 * eqn/lex.c (token_table): Bind `opprime' instead of `prime' to 7618 PRIME. 7619 (def_table): Remove definition of '. Define prime to be `. 7620 7621 * eqn/eqn.y: Split off part of rule `script' into a new rule 7622 `nonsup'. 7623 7624Fri Nov 30 10:23:44 1990 James Clark (jjc at jclark) 7625 7626 * macros/tmac.s ({, }): New string aliases. 7627 7628Thu Nov 29 11:34:40 1990 James Clark (jjc at jclark) 7629 7630 * README-0.7: New file. 7631 7632Wed Nov 28 10:09:57 1990 James Clark (jjc at jclark) 7633 7634 * macros/tmac.s: New file. 7635 * man/groff_ms.man: New file. 7636 * Makefile: Add definition of TMAC_S. Pass TMAC_S in SUBFLAGS. 7637 * Makefile.bd: Similarily. 7638 * man/Makefile: Add groff_ms.n to MAN7PAGES. Replace @TMAC_S@. Add 7639 definition of TMAC_S. 7640 * macros/Makefile: Add definition of TMAC_S. Install tmac.s. 7641 * macros/TODO: New file. 7642 7643Sat Nov 24 20:04:54 1990 James Clark (jjc at jclark) 7644 7645 * troff/env.c (right_justify): New function. 7646 (init_env_requests): Bind this to request "rj". 7647 (center_lines): Set right_justify_lines to 0. If we get a bad 7648 integer, center 1 line. 7649 (environment::environment(symbol), environment::environment(const 7650 environment *)): Initialize right_justify_lines. 7651 (environment::get_right_justify_lines): New function. 7652 (init_env_requests): Bind this to number_register ".rj". 7653 7654 * troff/env.c (environment::choose_breakpoint): Implement 7655 hyphenation_margin and hyphenation_space. 7656 (environment::get_hyphenation_space, 7657 environment::get_hyphenation_margin): New functions. 7658 (init_env_requests): Bind these to .hys and .hym. 7659 (hyphenation_space_request, hyphenation_margin_request): New 7660 functions 7661 (init_env_requests): Bind these to hys and hym. 7662 (environment::environment(symbol), environment::environment(const 7663 environment *)): Initialize hyphenation_margin and 7664 hyphenation_space. 7665 * troff/env.h: Corresponding changes to class environment. 7666 7667Fri Nov 23 09:08:16 1990 James Clark (jjc at jclark) 7668 7669 * troff/div.c (blank_line): Always do a break. 7670 7671 * eqn/box.c (do_text): Turn off escapes while appending text to 7672 string. 7673 7674Thu Nov 22 10:58:59 1990 James Clark (jjc at jclark) 7675 7676 * troff/input.c (while_break_request, while_continue_request): New 7677 functions. 7678 (init_input_requests): Bind these to "break" and "continue". 7679 (while_depth, while_break_flag): New variables. 7680 (while_request): Update while_depth. Break out of loop if 7681 while_break_flag is set. 7682 7683Wed Nov 21 10:54:40 1990 James Clark (jjc at jclark) 7684 7685 * tbl/table.c (init_span_reg): Initialize span_width_reg to \n(.H 7686 rather than 0. 7687 7688Mon Nov 19 00:45:03 1990 James Clark (jjc at jclark) 7689 7690 * Makefile: Include -DBROKEN_SPOOLER by default. Expand comment. 7691 7692 * stringify: New file. 7693 * Makefile (groff.o): Use stringify. 7694 7695 * xditview/tmac.X: Remove definition of \(rn. 7696 * xditview/libXdvi/DviChar.c: Remove radicalex from 7697 Adobe_symbol_map. 7698 7699Sat Nov 17 10:44:58 1990 James Clark (jjc at jclark) 7700 7701 * tbl/table.c (table::add_entry): Allow alphabetic text blocks. 7702 (alphabetic_block_entry::alphabetic_block_entry, 7703 alphabetic_block_entry::divert, alphabetic_block_entry::print): 7704 New functions. 7705 (block_entry::divert): Split off body into ... 7706 (block_entry::do_divert): If the block is alphabetic, subtract 2n 7707 from the line length; also update the span width to dl+2n, and the 7708 alphabetic span width to dl. 7709 7710 * driver/input.c (do_file): While reading argument to D command, 7711 when expanding buffer, multiply szp by sizeof(int) rather than 2 7712 in the argument to memcpy. 7713 7714 * tbl/table.c (compute_span_width): Add 2n rather than 1n to the 7715 width of alphabetic columns. 7716 7717Fri Nov 16 06:34:27 1990 James Clark (jjc at jclark) 7718 7719 * troff/node.c (lookup_family): Supply second argument to lookup. 7720 7721 * troff/dictionary.c (dictionary::lookup): After an unsuccesful 7722 search, return immediately if v is 0. 7723 7724 * pic/troff.c: Define EQN_NO_EXTRA_SPACE_REG. 7725 (troff_output::start_picture): Set this reg. 7726 (troff_output::end_picture): Remove this reg 7727 * eqn/box.c (box::extra_space): Don't produce `\x's if 7728 EQN_NO_EXTRA_SPACE_REG is defined. 7729 7730 * eqn/eqn.y: Allow just a PRIME to be a `simple'. 7731 * eqn/text.c (split_text): Map ' to \(fm when it's the first 7732 character. 7733 7734Thu Nov 15 10:35:06 1990 James Clark (jjc at jclark) 7735 7736 * macros/tmac.e: Use font 3 instead of B in $c. Remove `bd' 7737 requests. 7738 7739 * troff/div.c (top_level_diversion::top_level_diversion): 7740 Initialize page_number to 0. 7741 7742Wed Nov 14 21:41:58 1990 James Clark (jjc at jclark) 7743 7744 * groff/troff (environment::environment(const environment *)): 7745 Initialize name to e->name, rather than "anonymous". 7746 7747Sat Nov 10 01:59:37 1990 James Clark (jjc at jclark) 7748 7749 * xditview/libXdvi/Dvi.c (ShowDvi): If eof is encountered, reset 7750 requested_page. Split middle part into ... 7751 (FindPage): New function. 7752 (SetValues): If we don't yet know the last page, and the requested 7753 page is greater than the current page, call FindPage. 7754 Update the font_map_string before doing this. 7755 7756 * xditview/tmac.X: Add definitions of \(sq, \(ga, \(dg and \(dd. 7757 Translate \(lh and \(rh into left and right double arrows. 7758 7759 * troff/node.c (class hyphen_inhibitor_node): New class. 7760 (hyphen_inhibitor_node::hyphen_inhibitor_node, 7761 hyphen_inhibitor_node::copy, hyphen_inhibitor_node::same, 7762 hyphen_inhibitor_node::type, 7763 hyphen_inhibitor_node::get_hyphenation_type): New functions. 7764 (node::add_discretionary_hyphen): Use hyphen_inhibitor_node rather 7765 than dbreak_node(0, 0) to represent a `\%' at the beginning of a 7766 word. 7767 7768Fri Nov 9 16:05:38 1990 James Clark (jjc at jclark) 7769 7770 * troff/node.h (dummy_node::get_hyphenation_type, 7771 transparent_dummy_node::get_hyphenation_type): Declare them. 7772 * troff/node.c: (dummy_node::get_hyphenation_type, 7773 transparent_dummy_node::get_hyphenation_type): New functions. 7774 7775Wed Nov 7 10:09:06 1990 James Clark (jjc at jclark) 7776 7777 * xditview/libXdvi/draw.c: If M_PI not defined after including 7778 math.h, then define it. 7779 7780 * xditview/Makefile: Add definition of AR. Pass it to the submake 7781 in libXdvi. 7782 * xditview/libXdvi/Makefile: Add definitions of AR and RANLIB. 7783 7784Tue Nov 6 10:14:27 1990 James Clark (jjc at jclark) 7785 7786 * troff/dictionary.h (object_dictionary::alias): Declare return 7787 value as int. 7788 * troff/dictionary.c (object_dictionary::alias): Return non-zero 7789 if the old name was defined. 7790 * troff/input.c (alias_macro): Give a warning if the old name was 7791 not defined. 7792 * troff/reg.c (alias_reg): Likewise. 7793 7794Mon Nov 5 00:31:39 1990 James Clark (jjc at jclark) 7795 7796 * troff/input.c (token::next): Delete implementation of \R. 7797 7798 * macros/Makefile: Strip comments from tmac.e while installing it. 7799 7800 * troff/input.c: New variable `nroff_mode'. 7801 (troff_request, nroff_request): New functions. 7802 (init_input_requests): Bind `troff' and `nroff' to troff_request 7803 and nroff_request. 7804 (do_if_request): Compute results of t and n conditions from 7805 nroff_mode. 7806 7807 * text/text.c (split_text): Fix typo in >=. 7808 7809 * eqn/lex.c: Add definition of `==' to def_table. 7810 7811Fri Nov 2 02:49:09 1990 James Clark (jjc at jclark) 7812 7813 * pic/tex.c (tex_output::start_picture): Change the definitions of 7814 \graph and \graphtemp so that they work properly with Plain TeX. 7815 7816 * pic/tex.c (tex_output::solid_arc): Ensure that the second angle 7817 argument to `ar' is not less than the first. 7818 7819 * pic/pic.y: Allow a comma between elements of the variable list 7820 in the argument to `reset'. 7821 7822 * pic/object.c (arc_object::arc_object): Fix computation of 7823 radius. 7824 7825 * eqn/main.c (main): Add exit(0). 7826 7827Thu Nov 1 02:03:50 1990 James Clark (jjc at jclark) 7828 7829 * troff/div.c (begin_page): Test no_space_mode after doing the 7830 break, but still push the page ejector cookie before doing the 7831 break. Also set the next page number after doing the break. 7832 7833 * xditview/xditview.c (NewFile): Don't set the title and icon name 7834 if this is the first file and its name is `-'. 7835 * groff/groff.c: Define a new device flag XT_OPTION. Set it for 7836 the X75 and X100 devices. 7837 (main): If a device has the XT_OPTION flag set and there's exactly 7838 one file argument, pass the driver -xrm and -title options to set 7839 the icon name and window title to the name of the file. 7840 7841 * troff/env.c (environment_switch): If there was an argument but 7842 it wasn't a valid number or name, then pop an environment but 7843 don't give an error message on underflow. 7844 7845 * troff/number.c (start_number): Correct spelling in error message. 7846 7847 * troff/input.c (token::delimiter): Don't print an error message 7848 if err is false. 7849 7850 * xditview/libXdvi/parse.c (ParseInput): In case 'D', only call 7851 ParseDrawFunction if dw->display_enable is true. 7852 7853Wed Oct 31 05:49:50 1990 James Clark (jjc at jclark) 7854 7855 * pic/pic.y: Parse text positioning like normal attributes, so as 7856 to allow `"text" at 0,0 ljust'. Don't allow `center' as a 7857 positioning attribute. 7858 7859Mon Oct 29 22:50:38 1990 James Clark (jjc at jclark) 7860 7861 * tbl/main.c (process_data): When in state START while reading a 7862 text block, don't change to state MIDDLE if c is a newline. 7863 7864Sun Oct 28 21:59:56 1990 James Clark (jjc at jclark) 7865 7866 * dvi/dvi.c (dvi_printer::begin_page): Rename `i' variable to `j' 7867 so as to avoid shadowing parameter. 7868 7869Wed Oct 24 18:35:39 1990 James Clark (jjc at jclark) 7870 7871 * tbl/table.c (trim_space): Deleted. 7872 (table::add_entry): Don't call trim_space. 7873 7874Mon Oct 22 03:48:39 1990 James Clark (jjc at jclark) 7875 7876 * VERSION: Change version to 0.6. 7877 7878 * troff/number.c (parse_expr): Make == work. 7879 7880Sat Oct 20 11:28:17 1990 James Clark (jjc at jclark) 7881 7882 * man/grog.man: New file. 7883 * man/Makefile: Add grog.n to MAN1PAGES. 7884 * etc/grog.sh: New file. 7885 * etc/Makefile: Install grog.sh as grog. 7886 7887Fri Oct 19 11:17:15 1990 James Clark (jjc at jclark) 7888 7889 * troff/input.c (token::next): Implement \E. 7890 7891Thu Oct 18 11:56:24 1990 James Clark (jjc at jclark) 7892 7893 * xditview/tmac.X: Change font translations to match tmac.ps. 7894 7895 * troff/input.c (non_empty_name_warning): Don't give a warning if 7896 `\{' terminates the name. 7897 7898Tue Oct 16 10:04:23 1990 James Clark (jjc at jclark) 7899 7900 * ps/devps/symbol.diff: New file. 7901 * ps/devps/FontMakefile: Mention symbol.diff. 7902 7903Sun Oct 14 11:46:46 1990 James Clark (jjc at jclark) 7904 7905 * troff/node.c (font_position): Use get_long_name to read the 7906 external_name. 7907 7908 * troff/env.c (environment_switch): If we get a number that's < 0 7909 or >= NENVIRONMENTS, treat it like a name. 7910 Change NENVIRONMENTS to 10. 7911 7912 * troff/groff.h: Remove definition of FONTS_MAX. 7913 * troff/node.h (class font_family): Make map a pointer instead of 7914 an array. Add a map_size member. Make it a class. Make nm const 7915 and public. Make invalidate_fontno a friend. 7916 * troff/node.c: Define font_table_size. Make font_info a pointer 7917 rather than an array. 7918 (class troff_output_file): Allocate font_position dynamically. Add 7919 nfont_positions member. 7920 (troff_output_file::set_font): Grow font_position if necessary. 7921 (troff_output_file::~troff_output_file): Delete font_position. 7922 (troff_output_file::troff_output_file): Allocate font_position. 7923 (grow_font_table): New function. 7924 (troff_output_file::really_begin_page, 7925 troff_output_file:really_copy_page): Use nfont_positions rather 7926 than FONTS_MAX. 7927 (mount_font_no_translate, mount_style): Call grow_font_table if 7928 necessary. 7929 (font_family::font_family): Allocate map. 7930 (font_family::make_definite): Grow map if necessary. Use 7931 font_table_size instead of FONTS_MAX. 7932 (font_family::~font_family): New function. 7933 (invalidate_fontno): Use font_family::map_size. 7934 (get_fontno, env_space_width, env_half_narrow_space_width, 7935 env_narrow_space_width, symbol_fotno, is_good_fontno, 7936 get_bold_fontno, make_glyph_node): Use font_table_size rather than 7937 FONTS_MAX. 7938 (next_available_font_position): Never return 0. 7939 7940Fri Oct 12 10:17:52 1990 James Clark (jjc at jclark) 7941 7942 * ps/tmac.ps: Add font translations for compatibility with dpost. 7943 7944Thu Oct 11 12:09:03 1990 James Clark (jjc at jclark) 7945 7946 * eqn/pile.c: Rename default_baseline_sep to baseline_sep. 7947 Move BASELINE_SEP_FORMAT and COLUMN_WIDTH_FORMAT into pbox.h. 7948 Move definitions baseline_sep, shift_down, column_sep, 7949 matrix_side_sep into... 7950 * eqn/box.c: Add them to param_table. 7951 * eqn/pbox.h: Add declarations to pbox.h. 7952 7953 * troff/input.c (set_string): Cast value to unsigned char *. 7954 7955 * troff/token.h (process_input_stack): Declare it static before 7956 declaring it a friend. 7957 7958Wed Oct 10 09:59:13 1990 James Clark (jjc at jclark) 7959 7960 * dvi/devdvi/texex.map: Fix positions of extensible brace middle 7961 and bottom. 7962 * dvi/devdvi/EX: Regenerate. 7963 7964 * troff/input.c (init_charset_table): Make ", ', ), ], *, \(dg 7965 transparent. 7966 7967Tue Oct 9 08:34:02 1990 James Clark (jjc at jclark) 7968 7969 * eqn/lex.c: In defaults_table, make definition of `dot' call 7970 `dot_def'. Don't explicitly make it roman. Similarily for other 7971 accents. 7972 7973 * pic/lex.c (for_input::for_input): Add by_is_multiplicative 7974 argument. 7975 (for_input::get, for_input::peek): Use this. 7976 (do_for): Add by_is_multiplicative argument. 7977 * pic/pic.y: Change optional_by clause to allow '*' after `by'. 7978 Change semantic value of optional_by to be a double plus a flag 7979 saying whethet the by clause is multiplicative. 7980 7981 * eqn/lex.c (get_delimited_text): Remember location of start of 7982 definition. Improve error handling when EOF is encountered. 7983 7984 * lib/font.h: Rename handle_x_command to 7985 handle_unknown_font_command. 7986 * lib/font.c (font::load): Call handle_unknown_font_command for 7987 any unknown command in the font description file. Don't call 7988 handle_x_command. Include the name of the command in the argv. 7989 Improve message for unknown command after kernpairs or charset 7990 command. 7991 * ps/ps.c (ps_font::handle_x_command): Rename to 7992 handle_unknown_font_command. Remove message about `x download' 7993 command. Give error message for wrong number of arguments. 7994 * ps/devps/afmtodit: Generate `encoding' instead of `x encoding'. 7995 * dvi/dvi.c (dvi_font::handle_x_command): Rename to 7996 handle_unknown_font_command. Give an error message for wrong 7997 number of arguments. Rename design_size to designsize. 7998 * dvi/tfmtodit.c (main): Generate `checksum' instead of `x 7999 checksum', `designsize' instead of `design_size'. 8000 8001Mon Oct 8 00:38:55 1990 James Clark (jjc at jclark) 8002 8003 * eqn/*.[chy]: Change underaccent to uaccent. 8004 8005 * eqn/eqn.y: Add rule for underaccent. Declare UNDERACCENT token; 8006 give it the same precedence as ACCENT. 8007 * eqn/other.c (make_underaccent_box): New function. 8008 * eqn/box.h: Declare it. 8009 * eqn/lex.c: Add UNDERACCENT to token_table. Add utilde to 8010 def_table. 8011 8012Sun Oct 7 11:25:16 1990 James Clark (jjc at jclark) 8013 8014 * pic/pic.y (reset_all): New function. Called in rule for RESET. 8015 (parse_init): Call reset_all. 8016 (define_variable): When defining scale reset only those 8017 pre-defined variables that are scaled. 8018 (defaults_table): Add `scale' as non-scaled value. 8019 8020 * pic/pic.y: Redo parsing of text adjustments: parse adjustments 8021 together with the text; allow any number of positioning words; 8022 allow center as a positioning word. 8023 8024 * pic/object.c (output::compute_scale): Get picture maximum height 8025 and width from variables called maxpswid and maxpsht. 8026 * pic/pic.y: Add maxpswid and maxpsht to defaults_table. 8027 8028Sat Oct 6 10:16:56 1990 James Clark (jjc at jclark) 8029 8030 * pic/object.c (object_spec::make_text): Multiply textht by number 8031 of text items. 8032 8033 * pic/pic.y: Allow `sprintf("string", expr,...)' wherever text can 8034 occur. 8035 (do_sprintf): New function. 8036 (pic.gperf): Add sprintf token. 8037 (text, sprintf): New rules. 8038 8039 * pic/pic.y: `rand()' with no arguments returns a random number 8040 in the range [0,1). 8041 8042 * pic/pic.y: Allow a bare expression to be an attribute: change 8043 precedences to support this. Change optional_ordinal rule to 8044 optional_ordinal_last to avoid reduce/reduce conflict. 8045 * pic/object.c (object_spec::object_spec): Initialize direction. 8046 8047 * pic/pic.y: Implement ^ operator meaning exponentiation. 8048 8049 * troff/node.h: Add default argument to mount_font. 8050 * troff/node.c (font_position): Read an optional third argument 8051 giving the external_name. 8052 (mount_font): Add optional argument giving the external_name. 8053 (mount_font_not_translate): Have additional argument giving 8054 external name. Use this name to load the font. Pass both names 8055 to font_info::font_info. 8056 (font_info::font_info): Have additional argument giving 8057 external_name. 8058 (class tfont): New member external_name. 8059 (font_info::get_tfont): Use external name to construct tfont_spec. 8060 8061Fri Oct 5 04:03:13 1990 James Clark (jjc at jclark) 8062 8063 * eqn/lex.c (init_table): Add argument giving device. Define 8064 name of device to be "1". 8065 (do_ifdef): Counts as true if the argument has been defined with 8066 `define'. 8067 * eqn/main.c (main): Call init_table with device argument. Make 8068 device local to main. 8069 * eqn/eqn.h: Change declaration of init_table. Remove declaration 8070 of device. 8071 8072 * pic/lex.c (get_delimited): Allow text to be delimited by 8073 matching {}s. Don't recognize ending delimiter within a string. 8074 8075 * troff/input.c (get_delim_name): New function. 8076 (token::next): Implement \C. 8077 8078 * lib/font.c (font::load): Grok ---. Add an alias for each 8079 character based on its code. 8080 (font::get_code_width): Deleted. 8081 * lib/font.h (class font): Declare font::number_to_index(). 8082 Remove declaration of font::get_code_width. 8083 * lib/nametoindex.c (font::name_to_index): Add 512 rather than 256 8084 to indices of named characters. 8085 (font::number_to_index): New function. 8086 * troff/input.c (font::number_to_index): New function. 8087 (get_charinfo_by_number, charinfo::get_number, 8088 charinfo::set_number): New functions. 8089 (token::next): Turn \N into a TOKEN_NUMBERED_CHAR. 8090 (token::process, token::description, token::get_char, 8091 token::add_to_node_list, token::operator==): Handle 8092 TOKEN_NUMBERED_CHAR. 8093 * troff/charinfo.h: Declare get_charinfo_by_number, 8094 charinfo::get_number, charinfo::set_number. Add NUMBERED flag to 8095 charinfo class. 8096 (charinfo::numbered): New function. 8097 * troff/token.h: Add TOKEN_NUMBERED_CHAR. 8098 * troff/env.h (class environment): Remove declaration of ... 8099 * troff/env.c (environment::make_numbered_char_node): Deleted. 8100 * troff/node.c (make_numbered_node): Deleted. 8101 (class numbered_glyph_node): Remove. 8102 (troff_output_file::put_char_width, troff_output_file::put_char): 8103 Handle numbered chars. 8104 (troff_output_file::numbered_char): Removed. 8105 (tfont::get_code_width): Removed. 8106 (make_glyph_node): Don't search special fonts for numbered 8107 characters. 8108 * troff/node.h: Remove declaration of make_numbered_node. 8109 * driver/input.c (do_file): Handle N command. 8110 * driver/printer.h: Add declaration of ... 8111 * driver/printer.c (printer::set_numbered_char): New function. 8112 * dvi/tfmtodit.c (main): Generate unnamed entries. 8113 * ps/devps/afmtodit: Likewise. 8114 * xditview/xtotroff.c (MapFont): Likewise. 8115 * xditview/libXdvi/parse.c (ParseInput): Grok N command. 8116 8117 * tbl/main.c (process_format): If multiple widths are specified 8118 for a column but all the widths are the same, don't give an error 8119 message. 8120 8121 * tbl/table.c (table::do_row): If the current row is all lines and 8122 the stuff doesn't contains a line, mark the top of the row after 8123 printing stuff before the row. If the current row is not all 8124 lines and the stuff doesn't contain a line, don't unnecessarily 8125 mark the top of the row before printing the stuff. 8126 8127Mon Oct 1 11:42:00 1990 James Clark (jjc at jclark) 8128 8129 * troff/groff.h: Remove MAX_PATH. 8130 * troff/input.c (open_file): Dynamically allocate space for the 8131 path. 8132 (open_mac_file, process_macro_file): Corresponding changes. 8133 8134Sun Sep 23 18:56:26 1990 James Clark (jjc at jclark) 8135 8136 * troff/node.h (class output_file): Make copy_file pure. Add 8137 vspace method ifdef COLUMN. Add is_printing method. 8138 * troff/node.c: Add class printing_reg. Add class 8139 real_output_file. Derive other output_file classes from 8140 real_output_file; in these classes rename begin_page to 8141 really_begin_page, print_line to really_print_line, copy_file to 8142 really_copy_file, transparent_char to really_transparent_char. 8143 Move output_file::flush to real_output_file. Add printing member 8144 to class output_file. 8145 * troff/div.h: Remove printing member from top_level_diversion. 8146 Add vspace member function to class diversion ifdef COLUMN. Add 8147 some declarations ifdef COLUMN. 8148 * troff/div.c (top_level_diversion::copy_file, 8149 top_level_diversion::transparent_output, 8150 top_level_diversion::output): Don't test printing member before 8151 output. 8152 * troff/input.c: Handle initial variable_space_request ifdef 8153 COLUMN. 8154 * troff/Makefile: Add column.c but comment it out. Add -DCOLUMN 8155 but comment it out. 8156 8157Sat Sep 22 11:32:22 1990 James Clark (jjc at jclark) 8158 8159 * troff/div.c (diversion::need): Make any space forced. If we 8160 sprung a trap, set truncated_space to minus the distance to the 8161 trap and set needed_space to the amount that was needed. 8162 (top_level_diversion::space): A forced space turns no_space_mode 8163 off. 8164 (class constant_vunits_reg): New class. 8165 (init_div_requests): Implement number registers .trunc and .ne 8166 using constant_vunits_reg. 8167 (class truncated_space_reg): Deleted. 8168 8169 * troff/div.h: Don't have a no_space_mode member in diversion. 8170 Instead have it in top_level_diversion. 8171 * troff/div.c (diversion::diversion): Don't initialize 8172 no_space_mode. 8173 (top_level_diversion::top_level_diversion): Initialize 8174 no_space_mode. 8175 (no_space, restore_spacing): Do nothing if curdiv != topdiv. 8176 (macro_diversion::output): Don't clear no_space_mode. 8177 8178 * troff/input.c (diverted_space_node::reread): Don't call 8179 environment::do_break. In fill mode, act like a blank line. 8180 (diverted_copy_file_node::reread): Don't call 8181 environment::do_break. 8182 8183 * troff/div.c (blank_line): New function. 8184 * troff/div.h: Declare it. 8185 * troff/input.c (process_input_stack): Call it. 8186 8187 * troff/div.c (truncated_space_reg::get_string): New function. 8188 (init_div_requests): Bind to .trunc. 8189 (space_request, top_level_diversion::space, 8190 top_level_diversion::output, macro_diversion::space, 8191 macro_diversion::output): Update truncated_space. 8192 (macro_diversion::output): Redo calculations when trap sprung. 8193 (macro_diversion::output, macro_diversion::space): No need for 8194 trap_flag. 8195 8196 * troff/div.c (top_level_diversion::output): Set nl_reg_contents 8197 after truncating post line spacing. 8198 8199Fri Sep 21 11:27:25 1990 James Clark (jjc at jclark) 8200 8201 * ps/devps/prologue (MF, SF): Make them work even if setfont is 8202 defined as a procedure rather than as an operator. 8203 8204Thu Sep 20 12:55:05 1990 James Clark (jjc at jclark) 8205 8206 * troff/div.c (macro_diversion::space): Ignore no_space_mode. 8207 8208Wed Sep 19 10:54:37 1990 James Clark (jjc at jclark) 8209 8210 * troff/div.c (top_level_diversion::output): Merge 8211 output_file::print_line and output_file::end_of_line member 8212 functions. 8213 * troff/div.h (class output_file): 8214 * troff/node.c (troff_output_file::print_line, 8215 troff_output_file::end_of_line, output_file::end_of_line, 8216 ascii_output_file::print_line, suppress_output_file::print_line): 8217 Corresponding changes. 8218 8219Tue Sep 18 11:31:47 1990 James Clark (jjc at jclark) 8220 8221 * troff/input.c (token::next): Don't give a warning for `\.'. 8222 8223 * troff/env.c (environment::get_center_lines): New function. 8224 (init_env_requests): Bind number register .ce to it. 8225 * troff/env.h: Declare it. 8226 * tbl/table.c (table::init_output): Define reset macro to restore 8227 .ce. If center option not given, store .ce in SAVED_CENTER_REG. 8228 Then do .ce 0. 8229 (table::print): If center option not given, then imply center 8230 option if SAVED_CENTER_REG > 0. 8231 8232Mon Sep 17 09:19:19 1990 James Clark (jjc at jclark) 8233 8234 * ps/devps/Makefile: Remove T from FONTS. Remove TSymbol.ps and 8235 Troff.ps from DOWNLOAD. 8236 8237 * troff/Makefile: Change comment in DEFINES to avoid confusing 8238 System V make. 8239 8240 * ps/ps.c (ps_printer::do_exec): Allow newlines within PostScript 8241 code. Don't try to catch errors with stopped. 8242 (check_line_lengths): New function. 8243 * ps/devps/prologue (EXEC): Deleted. 8244 (EBEGIN, EEND): New procedures. 8245 8246Sun Sep 16 14:51:15 1990 James Clark (jjc at jclark) 8247 8248 * troff/input.c: Include request.h before node.h. 8249 * troff/node.c: Likewise. 8250 * troff/env.c: Likewise. 8251 * troff/div.c: Likewise. 8252 * troff/node.h (class special_node): Store argument as a macro 8253 rather than a char *. 8254 * troff/node.c (special_node::special_node, special_node::copy): 8255 Grok this. 8256 (special_node::~special_node): Deleted. 8257 (special_node::tprint): Deleted. 8258 (special_node::tprint_start, special_node::tprint_end, 8259 special_node::tprint_char): New functions. 8260 (troff_output_file::special): Deleted. 8261 (troff_output_file::start_special, troff_output_file::end_special, 8262 troff_output_file::special_char): New functions. 8263 * troff/input.c (special_node::tprint): New function. 8264 (do_special): Use macro not char *. 8265 (do_transparent_macro): Deleted. 8266 (token::next): Don't call do_transparent_macro. 8267 8268 * troff/input.c (token::next): Add 'Y' case. 8269 (do_transparent_macro): New function. 8270 * troff/node.c (troff_output_file::special): Handle newlines with 8271 argument using new continuation convention. 8272 * driver/input.c (get_string): Cope with continuation convention. 8273 (do_file): Don't call skip_line after calling get_string(1). 8274 * ps/ps.c (ps_printer::special, ps_printer::do_import, 8275 ps_printer::do_def, ps_printer::do_exec): Cope with newlines in 8276 arg. 8277 * xditview/libXdvi/parse.c (ParseInput): Ignore lines starting 8278 with +. 8279 8280Sat Sep 15 19:00:10 1990 James Clark (jjc at jclark) 8281 8282 * troff/input.c (asciify): By default, illegal input characters 8283 should return empty string. 8284 8285 * troff/input.c (copy_file): Handle first page transition like title. 8286 (token::next, process_input_stack): Grok COPY_FILE_REQUEST. 8287 8288 * troff/input.c (token::next): Improve error message for EOF after 8289 escape character. 8290 (input_char_description): New function. 8291 (get_char_for_escape_name): Use input_char_description. 8292 (token::next): Warn about unrecognized escape sequences. 8293 (warning_table): Add WARN_ESCAPE. 8294 * troff/groff.h: Declare WARN_ESCAPE. Change WARN_TOTAL 8295 accordingly. 8296 8297 * troff/token.h: Remove declaration of process_input_stack. 8298 8299 * troff/input.c: Remove declaration of init_hyphen_requests. 8300 * troff/request.h: Correct spelling in declaration of same. 8301 8302 * troff/input.c (token::next): Check whether escape_char is 0. 8303 8304Fri Sep 14 12:09:25 1990 James Clark (jjc at jclark) 8305 8306 * groff.c (main, usage, help): Implement -P and -L options. 8307 * groff.sh: Likewise. 8308 8309 * troff/input.c (token::next): Use some gotos to avoid code 8310 duplication. 8311 8312 * troff/input.c (get_long_name, get_name, read_long_ecsape_name): 8313 Avoid calling symbol::symbol if name empty. 8314 8315Thu Sep 13 06:21:45 1990 James Clark (jjc at jclark) 8316 8317 * troff/input.c (init_input_requests): Make \n(.x return the major 8318 version number and \n(.y return the minor version number. 8319 * troff/Makefile: Construct file majorminor.c defining 8320 major_version and minor_version automatically from ../VERSION. 8321 8322 * troff/node.c (class glyph_node): Make operator new and operator 8323 delete public. 8324 (class ligature_node): Similarily. 8325 8326 * troff/input.c (operator==(const macro &, const macro &)): New 8327 function. 8328 (non_interpreted_node::same): Use this. 8329 (string_iterator::string_iterator): Make macro& argument const. 8330 8331 * troff/input.c (input_iterator::get): New function. Don't make 8332 asciify_macro or class non_interpreted_node friends of class 8333 input_iterator. 8334 (non_interpreted_node::interpret): Use input_iterator::get. 8335 (asciify_macro): Likewise. 8336 8337 * troff/input.c (~token_node, ~string_iterator, ~arg_list, 8338 ~non_interpreted_node): Deleted. 8339 * troff/node.c: (~suppress_output_file, ~ascii_output_file): 8340 Deleted. 8341 8342 * troff/symbol.h: Make all symbol member functions const. 8343 8344 * lib/strtol.c: New file. 8345 * lib/Makefile: Add strtol.c. 8346 * Makefile: Define STRTOL as strtol.o to include strtol in 8347 libgroff.a. 8348 8349Wed Sep 12 10:00:49 1990 James Clark (jjc at jclark) 8350 8351 * pic/troff.c (troff_output::simple_circle): Divide by scale. 8352 8353Tue Sep 11 14:17:16 1990 James Clark (jjc at jclark) 8354 8355 * troff/input.c (do_special): Use input_level. 8356 8357 * troff/token.h (TOKEN_BACKSPACE): New token. 8358 (token::backspace): New function. 8359 * troff/input.c (token::description, token::next, token::process): 8360 Grok TOKEN_BACKSPACE. 8361 (do_special): Turn TOKEN_BACKSPACE back into \b. 8362 8363 * troff/token.h (token::leader): New function. 8364 * troff/input.c (do_special): Turn TOKEN_LEADER back into \001. 8365 8366 * troff/input.c (do_special): Turn TOKEN_TAB back into \t. 8367 8368 * troff/input.c (do_special): Use token::description in error 8369 message. 8370 8371Mon Sep 10 11:06:27 1990 James Clark (jjc at jclark) 8372 8373 * troff/input.c (decode_args): Combine quoted and 8374 quote_input_level variables. Make it a for (;;) loop. 8375 8376 * troff/input.c (get_char_for_escape_name): Check for \001 and \b. 8377 8378 * troff/input.c (read_long_escape_name): The test for whether to 8379 expand buffer was off by 1. 8380 (read_string): Similarily. 8381 8382Fri Sep 7 11:45:50 1990 James Clark (jjc at jclark) 8383 8384 * troff/input.c: Use `const int' rather than `static const int'. 8385 8386 * troff/div.h (diversion::copy_file): Declare as pure virtual. 8387 (macro_diversion::copy_file): New function. 8388 * troff/node.h: New class diverted_copy_file_node. 8389 * troff/node.c: Implement it. 8390 * troff/input.c (copy_file): Use diversion::copy_file. Handle 8391 first page transition by pushing a diverted_copy_file_node. 8392 * troff/input.c (token::next, process_input_stack): Don't handle 8393 COPY_FILE_REQUEST. 8394 8395Thu Sep 6 13:29:10 1990 James Clark (jjc at jclark) 8396 8397 * ps/ps.c (flush_sbuf): Remember to add sbuf_kern when checking 8398 whether space widths need adjusting. 8399 8400 * troff/charinfo.h: Generalize translated_to_space to 8401 special_translation so as to allow translation to \&. 8402 * troff/input.c (translate): Allow translation to \&. 8403 (charinfo::*): Corresponding changes. 8404 * troff/node.c (make_node, node::add_char): Corresponding changes. 8405 * troff/node.h (dummy_node::dummy_node): Allow optional first 8406 argument. 8407 8408 * lib/lib.h: Make codes 0200 to 0237 illegal input characters. 8409 * troff/token.h: Remove TOKEN_TITLE. Remove token::title. Add 8410 TOKEN_REQUEST. 8411 * troff/input.c (token::next): Turn a TITLE_REQUEST into a 8412 TOKEN_REQUEST with an argument of TITLE_REQUEST. 8413 (token::process): Grok that. 8414 * troff/input.c (copy_file): Handle first page transition like 8415 title by pushing a COPY_FILE_REQUEST cookie. 8416 (token::next, process_input_stack): Grok that. 8417 * troff/node.h (output_file::copy_file): Add x and y arguments. 8418 Make it non-pure. 8419 * troff/div.c (top_level_diversion::copy_file): Supply them. 8420 * troff/node.c (troff_output_file::copy_file): Add x and y 8421 arguments; moveto specified position. Invalidate font_position 8422 array after copying file. 8423 (output_file::copy_file): New function. 8424 (suppressed_output_file::copy_file, ascii_output::copy_file): 8425 Removed. 8426 * troff/input.c (transparent_file): New function. 8427 (init_input_requests): Bind to "trf". 8428 (token::next): Handle TRANSPARENT_FILE_REQUEST cookie. 8429 (process_input_stack): Likewise. 8430 8431 * troff/Makefile: Add ../lib/lib.h to GROFF_H. 8432 8433 * troff/node.c (init_node_requests): New number registers .kern 8434 pointing to global_kern_mode, and .lg pointing to 8435 global_ligature_mode. 8436 8437 * troff/node.c (ligature): Don't change it if we get a bad 8438 integer. 8439 8440 * troff/input.c (do_define_string): Don't strip tabs. 8441 8442 * troff/input.c (asciify_macro): Make the string_iterator auto. 8443 8444 * troff/node.c (init_font_requests): Rename to... 8445 (init_node_requests): 8446 * troff/node.h: Change declaration. 8447 * troff/input.c (main): Change call. 8448 8449 * troff/input.c (node::reread, diverted_space_node::reread): New 8450 methods. 8451 (process_input_stack): Call reread rather than 8452 get_diverted_space_node. 8453 * troff/node.c (node::get_diverted_space_node, 8454 diverted_space_node::get_diverted_space_node): Removed. 8455 * troff/node.h: Declare reread methods instead of 8456 get_diverted_space_node methods. Make `n' member private. 8457 * troff/input.c: (token::diverted_space): Removed. 8458 * troff/token.h: Removed declaration. 8459 8460 8461Tue Sep 4 00:48:04 1990 James Clark (jjc at jclark) 8462 8463 * eqn/script.c (script_box::compute_metrics): Don't let 8464 SUP_RAISE_FORMAT become negative. 8465 8466 * tbl/table.c (table::do_row): Entries that don't end in the 8467 this row shouldn't make the row non-blank. 8468 8469 * tbl/table.c (table::make_columns_equal): Only set the width of 8470 columns which are marked as equal. 8471 8472 * tbl/main.c (process_data): Before issuing excess data error, 8473 if last character was a newline unget it; then get it again after 8474 the error. Also include the contents of the entry in the message. 8475 8476 * groff.c: New file. 8477 * Makefile: Build groff from groff.c. Make it possible to use 8478 either groff.sh or groff.c as groff. 8479 * Makefile.bd: Similarily. 8480 8481Mon Sep 3 09:39:49 1990 James Clark (jjc at jclark) 8482 8483 * groff.sh: Don't delay expansion of $@ in assignment to files. 8484 Remove occurrences of \". 8485 8486Sun Sep 2 09:56:59 1990 James Clark (jjc at jclark) 8487 8488 * all Makefiles: Simplify and rearrange. 8489 8490 * Makefile: Handle fmod like malloc. 8491 * lib/Makefile: Similarily. 8492 * lib/fmod.c: Remove #ifdef NEED_FMOD. 8493 8494 * Makefile: Rename OPTIMISE to OPTIMIZE. 8495 8496 * groff.sh: Remove assignment to PATH. 8497 * Makefile: Remove SHPATH variable. 8498 * Makefile.bd: Similarily. 8499 8500 * groff.sh: Add -V option to print the pipeline instead of 8501 executing it. 8502 8503Fri Aug 31 00:56:46 1990 James Clark (jjc at jclark) 8504 8505 * lib/font.c: Split off file searching into ... 8506 * lib/fontfile.c: New file. 8507 8508 * lib/strerror.c (strerror): Use `Error %d' for unknown errors. 8509 8510Thu Aug 30 13:13:55 1990 James Clark (jjc at jclark) 8511 8512 * tbl/table.c (table::do_hspan): Delete assertion that e != 0. 8513 Also change misleading comment. 8514 (table::do_vspan): Change similarily misleading comment. 8515 * tbl/main.c (process_data): A format row with an explicit `s' 8516 uses up a data line, even if all the other columns are `_' or `='. 8517 8518 * troff/input.c (token::description): Fix description of 8519 TOKEN_DUMMY and TOKEN_EMPTY. 8520 8521Wed Aug 29 04:12:08 1990 James Clark (jjc at jclark) 8522 8523 * groff.sh: Fix description of -Z in help message. 8524 8525Tue Aug 28 07:28:33 1990 James Clark (jjc at jclark) 8526 8527 * pic/object.c (object_spec::make_object): Allow negative and zero 8528 line thicknesses. 8529 * pic/pic.y: Give linethick default value of -1.0. 8530 * pic/troff.c (troff_output::troff_output): Initialize 8531 last_line_thickness to BAD_THICKNESS. 8532 (troff_output::finish_picture): Set thickness to BAD_THICKNESS. 8533 (troff_output::line_thickness): Canonicalize negative thicknesses 8534 to RELATIVE_THICKNESS. 8535 * pic/tex.c (tex_output::set_pen_size): Silently map negative line 8536 thicknesses to DEFAULT_PEN_SIZE. Canonicalize negative pen sizes 8537 to -1.0. 8538 (tex_output::start_picture): Set pen_size to -2.0. 8539 8540 * ps/ps.c (ps_printer::set_line_thickness): If line_thickness is 8541 0, then use 0 linewidth. 8542 (ps_printer::ps_printer): Initialize line_thickness to -1. 8543 8544 * pic/troff.c (troff_output::simple_ellipse): Divide by scale. 8545 8546 * ps/devps/symbolchars: Remove `or'. 8547 * ps/tmac.ps: Implement \(or with .char. 8548 8549 * ps/devps/symbolchars: Move most characters into textmap. 8550 * ps/devps/textmap: Add names for troff bracket characters. Remove 8551 ul, ru, br, bv. 8552 8553 * ps/devps/TSymbol.ps: Removed. 8554 * ps/devps/FontMakefile: Make S from Symbol not TSymbol. 8555 * ps/tmac.ps: Do with .char what TSymbol did. 8556 * ps/devps/download: Remove TSymbol. 8557 8558 * ps/devps/T: Removed. 8559 * ps/devps/Troff.ps: Removed. 8560 * ps/devps/Troff.afm: Removed. 8561 * ps/tmac.ps: Implement \(ru, \(ul, and \(br with .char. 8562 * ps/devps/download: Remove Troff. 8563 * ps/devps/FontMakefile: Remove T target. 8564 * ps/devps/DESC-A4: Remove T from font list. 8565 * ps/devps/DESC-letter: Likewise. 8566 8567 * troff/input.c (macro_to_node): Rename to ... 8568 (charinfo_to_node): Don't pass mac argument. Temporarily remove the 8569 character's definition while processing it. 8570 * troff/node.c (node::add_char, make_node): Change calls to 8571 macro_to_node accordingly. 8572 8573 * troff/input.c (token::next): Translate \_ to \(ul. 8574 8575 * tty/devascii/R.proto: Add `|'. 8576 * tty/devlatin1/R.proto: Likewise. 8577 8578Mon Aug 27 11:25:41 1990 James Clark (jjc at jclark) 8579 8580 * man: Put the version number in all the man pages. 8581 8582Sun Aug 26 11:40:05 1990 James Clark (jjc at jclark) 8583 8584 * Makefile.bd: New file. 8585 * README.bd: New file. 8586 8587 * VERSION: New file. 8588 * lib/version.c: Removed. 8589 * lib/Makefile: Create version.c from ../VERSION. Remove version.c 8590 in clean target. 8591 8592 * troff/input.c (main): Get hyphen_file from GROFF_HYPHEN 8593 environment variable. 8594 8595 * all Makefiles: Split install target into install.bin for 8596 binaries, and install.nobin for everything else. 8597 * Makefile: Add bindist target. 8598 8599 * man/afmtodit.man: New file. 8600 * man/Makefile: Add afmtodit.n to MAN1PAGES. 8601 * ps/devps/Makefile: Add textmap to DEVICEFILES. Install afmtodit 8602 in BINDIR. 8603 * ps/Makefile: Pass BINDIR to make install in devps. 8604 8605 * ps/ps.c (ps_printer::set_char): Do nothing if the character is 8606 the space character. 8607 8608 * ps/devps/FontMakefile: Rename symbol.afm to tsymbol.afm. 8609 8610Sat Aug 25 15:39:03 1990 James Clark (jjc at jclark) 8611 8612 * ps/ps.c: Redo font downloading. 8613 * ps/devps/download: New file. 8614 * ps/devps/Makefile: Add download to DEVICEFILES. 8615 * ps/devps/afmtodit: Remove -d option. 8616 * ps/devps/FontMakefile: Don't use -d option with afmtodit. 8617 * ps/devps/symbosl.ps: Add %%DocumentFonts comment. 8618 * ps/devps/zapfdr.ps: Likewise. 8619 * ps/devps/TSymbol.ps: Likewise. 8620 8621Fri Aug 24 20:10:30 1990 James Clark (jjc at jclark) 8622 8623 * groff.sh: Initialize dev to ${GROFF_TYPESETTER:-@DEVICE@}. 8624 8625Thu Aug 23 10:03:47 1990 James Clark (jjc at yquem) 8626 8627 * ps/ps.c (ps_output::include_file): If BROKEN_SPOOLER is defined, 8628 then strip the first line if it starts with %. 8629 * Makefile: Add a comment about this. 8630 8631 * man/tfmtodit.man: New file. 8632 * man/Makefile: Add tfmtodit.n to MAN1PAGES. 8633 * dvi/Makefile: Install tfmtodit in BINDIR. 8634 8635 * dvi/tfmtodit.c (usage): Mention -v option. 8636 8637Wed Aug 22 09:56:36 1990 James Clark (jjc at yquem) 8638 8639 * troff/node.c (troff_output_file::end_of_line): Call do_motion. 8640 * troff/node.c (troff_output_file::transparent_char): Don't call 8641 flush_tbuf. 8642 8643 * eqn: Add check_tabs method to most box classes. 8644 * eqn/box.c (box::top_level): Call check_tabs. 8645 8646 * eqn/script.c (script_box::output): Use \Z. 8647 * eqn/limit.c (limit_box::output): Use \Z. 8648 8649 * eqn/box.c (box::top_level): Use itoa. 8650 8651Tue Aug 21 09:29:28 1990 James Clark (jjc at yquem) 8652 8653 * dvi/tmac.dvi: Add font translations for CR, C, TT. 8654 * dvi/devdvi/Makefile: Don't make links to CW. 8655 8656 * ps/tmac.ps: Add font translations for C, CW, CO, CX, CD, H, HO, 8657 HX, HD. 8658 * xditview/tmac.X: Likewise. 8659 8660 * troff/node.c: Add font translation feature. 8661 (get_font_translation): New function. 8662 (symbol_fontno): Translate the font name. 8663 (mount_font_no_translate): Rename to mount_font to this. 8664 (mount_font): New function. 8665 (font_family::make_definite): Call mount_font_no_translate instead 8666 of mount_font. 8667 (mount_style): Translate the font name. 8668 (font_translate): New function. 8669 (init_font_requests): Bind "ftr" to font_translate. 8670 8671 * ps/devps/prologue (SN): New procedure that rounds a position to 8672 the nearest (pixel + (.25,.25)). 8673 (DL): Use SN to round endpoints. 8674 8675 * lib/version.c: Changed version to 0.5. 8676 8677Sat Aug 18 04:43:21 1990 James Clark (jjc at yquem) 8678 8679 * Makefile: Move definition of PAGE to the very beginning, so that 8680 people are less likely to miss it. 8681 8682Fri Aug 17 02:15:11 1990 James Clark (jjc at yquem) 8683 8684 * man/Makefile: Don't need to sed out @UPCASE_PROG_PREFIX@. 8685 8686 * troff/env.c (environment::choose_breakpoint): Make `can't find 8687 breakpoint' error a warning of type WARN_BREAK. Change message to 8688 `can't break line'. 8689 * troff/groff.h: Declare WARN_BREAK with code 4; change WARN_INPUT to 8690 code 040000. 8691 * troff/input.c: Add WARN_BREAK to warning_table. Include 8692 WARN_BREAK in DEFAULT_WARNING_MASK. 8693 8694 * tty/tmac.tty: Add definition of \(+-. 8695 8696 * groff.sh: Remove `--' option to set command. 8697 8698 * dvi/devdvi/texsy.map: Remove duplicate md entry. 8699 8700 * ps/devps/eqnchar: Better definition of cdot using md. 8701 * dvi/devdvi/eqnchar: Likewise. 8702 * xditview/devX100/eqnchar: Likewise. 8703 * xditview/devX75/eqnchar: Likewise. 8704 * eqn/lex.c: Add definition of cdot. 8705 8706Thu Aug 16 09:33:57 1990 James Clark (jjc at yquem) 8707 8708 * troff/input.c (get_optional_char): New function. 8709 * troff/input.c (set_page_character): Use get_optional_char(), 8710 rather than has_arg() and tok.get_char(1). 8711 * troff/env.c (tab_character, leader_character, hyphen_char, 8712 field_characters): Likewise. 8713 (margin_character): Likewise. Also always delete the 8714 margin_character_node. 8715 8716 * troff/input.c (token::get_char): Use token::description. 8717 8718 * troff/input.c (has_arg): Don't skip over tab and \}. 8719 * troff/number.c (start_number): Give a warning if the number 8720 starts with \} (WARN_RIGHT_BRACE) or tab (WARN_TAB). 8721 8722Wed Aug 15 10:04:37 1990 James Clark (jjc at yquem) 8723 8724 * troff/input.c (empty_name_warning, non_empty_name_warning): New 8725 functions. 8726 (get_name, get_long_name): Use these. Rename `warn' argument to 8727 `required'. 8728 8729 * troff/node.c (get_fontno): Test that the symbol is not null. 8730 8731 * troff/input.c (token::description): New function. 8732 * troff/number.c (parse_term): Use token::description in `numeric 8733 expression expected' message. 8734 * troff/groff.h: Add WARN_MISSING. 8735 * troff/number.c (start_number): New function. 8736 * troff/number.c (get_vunits, get_hunits, get_number, get_integer, 8737 get_incr_number): Use start_number(). 8738 * troff/input.c (DEFAULT_WARNING_MASK): Enable WARN_NUMBER by 8739 default. 8740 * troff/input.c (get_name, get_long_name): Use WARN_MISSING. 8741 * troff/reg.c (alter_format): Use WARN_MISSING. Also use 8742 token::descripion. 8743 * troff/input.c (token::get_char): Use WARN_MISSING. 8744 * troff/input.c (token::delimiter): Use token::description. 8745 * troff/env.c (environment_switch): Back out Aug 3 change. 8746 * troff/input.c (has_arg): Skip over \}s and tabs but give a 8747 warning. 8748 * troff/token.h (token::tab): New function. 8749 * troff/node.c (get_fontno): Use tok.skip() rather than has_arg(). 8750 * troff/reg.c (alter_format): Likewise. 8751 * troff/node.c (bold_font): Use has_arg() rather than tok.skip(). 8752 8753Tue Aug 14 10:11:21 1990 James Clark (jjc at yquem) 8754 8755 * troff (most files): Redo warnings. Divide warnings into various 8756 categories; warning() has an additional first argument indicating 8757 the category it falls into. 8758 * troff/input.c (main): -w now takes an argument. New option -W. 8759 (enable_warning, disable_warning): New functions. 8760 8761 * ps/devps/afmtodit: Add -a option to lie about the italic angle. 8762 * ps/devps/FontMakefile: Pretend TI has an angle of 7. 8763 8764Mon Aug 13 10:11:16 1990 James Clark (jjc at yquem) 8765 8766 * ps/devps/eqnchar: Better definitions of dotdot, vec, dyad, inf. 8767 * xditview/devX100/eqnchar: Likewise. Remove definition of dot. 8768 * xditview/devX75/eqnchar: Likewise. 8769 * dvi/devdvi/eqnchar: Better definitions of vec, dyad, dotdot. 8770 8771 * eqn/other.c: When bar or over applies to a single character 8772 don't produce an overline_box or an underline_box. Instead produce 8773 an accent_box or an underaccent_box, with the accent a line 8774 whose width is accent_width. New classes underaccent_box, 8775 overline_char_box and underline_char_box. 8776 * eqn/box.h: Move overline_box, underline_box, accent_box class 8777 declarations into eqn/other.c. Add declarations of 8778 make_underline_box, make_overline_box, make_accent_box. 8779 * eqn/eqn.y: Call make_overline_box, make_underline_box 8780 make_accent_box instead of constructors. 8781 * eqn/pbox.h, eqn/box.c: Add accent_width parameter. 8782 8783 * eqn/other.c: Add accent_box::~accent_box. 8784 * eqn/box.h: Declare it. 8785 8786 * groff.sh: With -Tps, use eqn -D. 8787 8788 * eqn/other.c (overline_box::output): Use \Z. If draw_flag use \D 8789 rather than \l. 8790 (underline_box::output): Similarily. 8791 (accent_box::output): Use \Z. 8792 8793 * xditview/tmac.X: Add definitions of ~ and ^ (so that they are a 8794 bit smaller.) 8795 8796Sun Aug 12 09:41:15 1990 James Clark (jjc at yquem) 8797 8798 * troff/div.c (top_level_diversion::transparent_output(unsigned 8799 char)): Use asciify. 8800 * troff/input.c (asciify): Don't make it static. 8801 * troff/token.h (asciify): Declare it. 8802 8803 * troff/input.c (get_name, get_long_name, token::get_char, 8804 token::delimiter): Add an extra default argument which says 8805 whether a warning should be printed. 8806 * troff: Pass a non-zero argument to one of these rather than 8807 printing a warning directly. 8808 8809Sat Aug 11 09:02:21 1990 James Clark (jjc at yquem) 8810 8811 * troff: Consistently use symbol::is_null. 8812 8813 * troff/dictionary.h: Move some inline functions into 8814 dictionary.c. 8815 8816 * troff/request.h: Move inline functions into input.c. 8817 (request_or_macro::invoke): Make it pure. 8818 8819 * troff/input.c, troff/reg.h: New class `constant_int_reg'. 8820 * troff/input.c (init_input_requests): Use class constant_int_reg. 8821 (class compatible_reg): Deleted. 8822 * troff/div.c (init_div_requests): Use class constant_int_reg. 8823 (class last_post_line_extra_space_reg): Deleted. 8824 8825 * troff/env.c (tab_character): Don't change the tab character if 8826 we get an invalid argument. 8827 (hyphen_char): Similarily. 8828 8829 * troff/reg.c (alter_format): Check that nm is not null. 8830 8831 * Makefile, groff.sh: Make it possible to customize the commands 8832 used for printing PostScript and dvi files. Also make it possible 8833 to customize the path used by groff.sh. 8834 8835 * eqn/eqn.y: Make `left' right associative. 8836 8837Fri Aug 10 18:20:39 1990 James Clark (jjc at yquem) 8838 8839 * pic/pic.h: Added definition of M_SQRT2 for those systems that 8840 don't have it. 8841 8842 * pic/pic.h: Removed definition of INT_MAX. 8843 8844 * troff/node.c (italic_corrected_node::vertical_extent): Omit 8845 `return'. 8846 8847 * troff/input.c (token::next): Handle \R like \n. 8848 8849Tue Aug 7 09:46:33 1990 James Clark (jjc at yquem) 8850 8851 * ps/tmac.pc (PSPIC): Simplify. 8852 8853 * troff/env.c (tab_stops::to_string): 8854 * pic/pic.y (object_type_name): 8855 * pic/troff.c (simple_output::line): 8856 * pic/tex.c (tex_output::spline): 8857 * pic/object.c (object_spec::make_object): 8858 * tbl/main.c (process_data): Add cases to switch statements to 8859 avoid cfront warnings. (Some of these are spurious, since the 8860 switch already has a default case.) 8861 8862 * ps/tmac.ps (PSPIC): Reformatted. Prefix all local names with 8863 `ps-'. Don't test systat; instead check number of arguments to 8864 ps-bb. 8865 8866Mon Aug 6 00:13:07 1990 James Clark (jjc at yquem) 8867 8868 * macros/tmac.e: Do not decrease the page offset by 0.5i. 8869 8870 * ps/ps.c (ps_printer::ps_printer): Use mktemp instead of tempnam. 8871 Unlink the file as soon as we have opened it, so that we don't 8872 have to bother with signal handlers. 8873 (handler): Deleted. 8874 (fatal_error_exit): Deleted. 8875 (main): Don't call signal. 8876 8877 * dvi/tfmtodit.c: Add -k option so that kerns with the skewchar 8878 can be ignored. 8879 * dvi/devdvi/Makefile: Use the -k option with S and MI. 8880 8881 * pic/pic.y: If there is a label, or an nth construction before 8882 the first `.' in the argument to `with', ignore it and generate a 8883 warning. 8884 * pic/lex.c (lex_warning): New function. 8885 8886 * tbl/table.c (table::init_output): In section keep and release 8887 macro, use 0 indent when diverting and the correct indent when 8888 rereading. 8889 8890 * troff/input.c (interpolate_number_format): Do not interpolate 8891 anything if the number register is not defined. 8892 8893 * tbl/main.c (process_data): Don't add entry when col >= ncolumns. 8894 8895Sat Aug 4 08:12:05 1990 James Clark (jjc at yquem) 8896 8897 * ps/devps/prologue (PICTURE): Set components of graphics state to 8898 their default values. 8899 8900 * ps/devps/text.enc: Add trademark 8901 * ps/devps/textmap: Add names for club, spade, heart, diamond, 8902 carriagereturn, suchthat. Use Upsilon1 rather than Upsilon. 8903 * ps/devps/symbolchars: Add names for summation and product. 8904 8905 * dvi/devdvi/texsy.map: Add names for club, spade, heart, diamond, 8906 suchthat. Add pp. Add upper-case letters. 8907 8908 * xditview/libXdvi/DviChar.c: Add names for club, spade, heart, 8909 diamond, carriagereturn, suchthat. Use Upsilon1 rather than 8910 Upsilon. 8911 8912 * dvi/devdvi/texsy.map: Rename lA (left angle bracket) to la, and 8913 rA (right angle bracket) to ra. Introduce names for double-headed 8914 arrows and double-barred arrows: <>, va, lA, rA, hA, uA, dA, vA. 8915 * ps/devps/textmap: Likewise for ps device. 8916 * xditview/libXdvi/DviChar.c: Likewise for X100 and X75 devices. 8917 * tty/devascii/R.proto: Rename lA to la and rA to ra. 8918 * tty/devascii/R.proto: Likewise. 8919 * tty/tmac.tty: Provide definitions for \(<>, \(lA, \(rA, \(hA, 8920 \(uA, \(dA. 8921 * eqn/delim.c: In delim_table, rename \(lA to \(la and \(rA to \(ra. 8922 8923 * xditview/tmac.X: Add definitions for \(fi \(fl \(ff \(Fi \(Fl. 8924 8925 * eqn/lex.c: Added definitions of `approx', `grad' and `del' to 8926 def_table. 8927 8928Fri Aug 3 09:59:27 1990 James Clark (jjc at yquem) 8929 8930 * troff/div.c (when_request): Use symbol::is_null rather than 8931 has_arg to determine whether we have an argument. 8932 (change_trap): Remove the trap if we get an invalid number. Give 8933 an error if we don't get at least the macro name. 8934 (diversion_trap): Remove trap if we get an invalid name or number. 8935 8936 * troff/env.c (environment_switch): Pop if we get an invalid 8937 symbol or numeric expression. 8938 8939 * troff/input.c (do_define_macro): If EOF is encoutered while 8940 defining the macro, do tok.next() before returning. 8941 8942 * troff/token.h (has_arg): Move definition from here, to ... 8943 * troff/input.c (has_arg): ... here 8944 8945 * troff/env.c (space_size): Do nothing if we get an invalid argument. 8946 * troff/input.c (shift): Likewise. 8947 8948 * pic/lex.c (get_token_after_dot): Accept `.center' as a synonym 8949 for `.c'. 8950 8951 * pic/troff.c (troff_output::start_picture): Comment out calls to 8952 `..'. 8953 8954 * eqn/main.c (do_file): Subtract 1 from current_lineno if 8955 interpret_lf_args succeeds. 8956 8957 * eqn/main.c (do_file): Don't recognize delimiter if preceded by 8958 \\. This avoids problems with \$N. 8959 8960 * groff.sh: Pass -C to preprocessors. 8961 8962 * lib/lf.c (interpret_lf_args): Be more flexible. 8963 8964 * tbl/main.c (main): Add -C option. 8965 (table_input::get): Do not recognize TE if followed by character 8966 other than a space or newline unless -C option given. 8967 (process_input_file): Likewise for lf, TS. 8968 (process_data): Likewise for lf in text blocks. 8969 8970 * eqn/main.c (main): Add -C option. 8971 (do_file): Don't recognize EQ, EN or lf if followed by character 8972 other than space or newline unless -C option given. 8973 * eqn/lex.c (file_input::read_line): Similarily. 8974 * eqn/eqn.h: Declare compatible_flag. 8975 8976 * etc/soelim.c (main): Add -C option. 8977 (interpret_lf_args): Use version in libgroff. 8978 (do_file): 8979 8980 * pic/main.c (main): Add -C option, which sets compatible_flag. 8981 (top_input::get), (top_input::peek): If -C option not given, 8982 do not recognize .PS/.PE/.PF/.lf if followed by a character 8983 other than space or newline. 8984 * pic/lex.c (file_input::read_line): Similarily. 8985 * pic/pic.h: Add declaration of compatible_flag. 8986 8987Thu Aug 2 11:11:27 1990 James Clark (jjc at yquem) 8988 8989 * ps/tmac.ps (PSPIC): Avoid use of `echo -n'. 8990 8991 * troff/node.c, troff/node.h: Add `asciify' methods to classes 8992 derived from node. New class space_char_hmotion_node. 8993 * troff/input.c (asciify_macro): New function. 8994 * troff/input.c (init_input_requests): New request `asciify' bound 8995 to asciify_macro. 8996 * macros/mm.diff: New file. 8997 * Makefile: In install.mm target use `patch' to apply 8998 macros/mm.diff. 8999 9000 * troff/input.c (macro::print_size): Just print the size in bytes. 9001 9002 * troff/div.c (return_request): Correct the argument 9003 interpretation. 9004 9005Wed Aug 1 12:38:36 1990 James Clark (jjc at yquem) 9006 9007 * troff/node.h (class composite_node): Add sz member. 9008 * troff/node.c (composite_node::size): Return sz. 9009 * troff/input.c (macro_to_node): Use the initial size in the 9010 environment as the size of the composite_node. 9011 9012 * troff/node.c (node::zero_width_tprint): Provide a reasonable 9013 default. 9014 9015Tue Jul 31 10:07:10 1990 James Clark (jjc at yquem) 9016 9017 * troff/div.c (change_trap): If we get a bad number expression, 9018 do nothing. 9019 9020Mon Jul 30 10:30:49 1990 James Clark (jjc at yquem) 9021 9022 * lib/matherr.c (matherr): Define this only if math.h defines 9023 TLOSS. 9024 9025Sun Jul 29 10:34:27 1990 James Clark (jjc at yquem) 9026 9027 * troff/div.c (macro_diversion::distance_to_next_trap): If there 9028 no diversion trap return vunits(INT_MAX - vresolution). 9029 9030Sat Jul 28 14:28:14 1990 James Clark (jjc at yquem) 9031 9032 * troff/input.c (do_zero_width): New implementation that doesn't 9033 use a temporary environment. Use instead: 9034 (token::add_to_node_list): New function. 9035 * troff/env.c (environment::get_prev_char_height), 9036 (environment::get_prev_char_height), 9037 (environment::get_prev_char_skew): New functions. 9038 (environment::get_prev_char): New function. 9039 (environment::get_prev_char_width): Change to use get_prev_char. 9040 (init_env_request): Implement new registers .cht, .cdp, .csk. 9041 * eqn/sqrt.c (sqrt_box::output): Don't rely upon the argument to 9042 \Z being processed in a separate environment. 9043 9044Fri Jul 27 10:21:25 1990 James Clark (jjc at yquem) 9045 9046 * tbl/table.c: Removed TABLE_BOTTOM_REG. 9047 9048 * tbl/table.c (table::init_output): In the section release macro, 9049 give a warning message if the section won't fit on one page. 9050 9051 * tbl/table.c (table::do_top): Emit table keep only if table is 9052 boxed. 9053 (table::do_bottom): Likewise for table release. 9054 (table::table), (table::add_vertical_rule): Remove reference to 9055 keep member. 9056 * tbl/table.h: Remove keep member. 9057 9058 * tbl/table.c: New register SUPPRESS_BOTTOM_REG. In 9059 SECTION_RELEASE_MACRO, if there's not enough space before the next 9060 trap to output the diversion, call T# ourselves, set 9061 SUPPRESS_BOTTOM_REG to 1, spring the trap, then set 9062 SUPPRESS_BOTTOM_REG back to 0. In T#, do nothing if 9063 SUPPRESS_BOTTOM_REG is non-zero. In T#, always mark the current 9064 vertical position and return to it before turning traps on again. 9065 9066Thu Jul 26 02:54:32 1990 James Clark (jjc at yquem) 9067 9068 * troff/node.c, troff/node.h: In classes derived from node, 9069 replace prev_char_width method by last_char_node method. 9070 * troff/env.c (environment::get_prev_char_width): Use 9071 node::last_char_node rather than node::get_prev_char_width. 9072 9073 * Makefile: Added comment about -fno-inline on 68030-based 9074 Apollos. 9075 9076 * troff/reg.c (number_format_to_ascii), eqn/delim.c (DELIM_TABLE_SIZE), 9077 tty/tty.c (tty_font::load_tty_font), dvi/tfmtodit.c (main): Cast 9078 expressions using sizeof to int. 9079 * dvi/dvi.c (dvi_font::handle_x_command): Avoid long->int warnings. 9080 9081 * macros/tmac.e (TS): Don't move @f back past the current 9082 position. 9083 9084Wed Jul 25 09:11:08 1990 James Clark (jjc at yquem) 9085 9086 * ps/ps.c (main): Buffer stderr. 9087 * dvi/dvi.c (main): Likewise. 9088 * tty/tty.c (main): Likewise. 9089 9090 * ps/ps.c (ps_printer::do_import): Improve error handling. 9091 9092 * troff/input.c (abort_request): Use asciify. 9093 9094 * driver/printer.h (printer::draw), driver/printer.c (printer::draw), 9095 ps/ps.c (ps_printer::draw), dvi/dvi.c (dvi_printer::draw): Make 9096 type of first argument int rather than char. This works around a 9097 bug on the 68030 based Apollo using g++ 1.37.1. 9098 9099 * tbl/table.h (class table): Add `keep' member. 9100 * tbl/table.c (table::table): Initialize `keep'. 9101 (table::add_vertical_rule): Set `keep' to 1. 9102 (table::do_top): Only emit table keep macro is `keep' is non-zero. 9103 (table::do_bottom): Likewise for table release macro. 9104 (table::do_row): Emit section keep macro even if the row is 0. 9105 9106Tue Jul 24 08:35:07 1990 James Clark (jjc at yquem) 9107 9108 * macros/tmac.e (@C): Preserve the font family across the change 9109 in environments. 9110 9111Mon Jul 23 10:15:23 1990 James Clark (jjc at yquem) 9112 9113 * lib/font.c: Initialize font::hor and font::vert to 1. 9114 (font::load_desc): Check the values of font::hor and font::vert. 9115 9116 * lib/lib.h: Added definition of INT_DIGITS. Fix it so that it can 9117 be included in a C compilation. 9118 (iftoa): Use INT_DIGITS. Include lib.h. 9119 (itoa): Likewise. 9120 (as_string): Likewise. 9121 * tbl/table.c: Removed definition of INT_DIGITS. 9122 * eqn/box.c (box::top_level): Use INT_DIGITS + 1 instead of 12. 9123 * troff/input.c (input_input_requests): Likewise. 9124 * ps/ps.c (make_encoding_name): Likewise. 9125 (ps_printer::set_style): Likewise. 9126 (ps_output::put_number): Use 1 + INT_DIGITS + 1 instead of 12. 9127 9128 * tty/devascii/R.proto: Map fm onto '. 9129 * tty/devlatin1/R.proto: Likewise. 9130 9131Sat Jul 21 12:45:07 1990 James Clark (jjc at yquem) 9132 9133 * tbl/table.c: Use ' instead of DELIMITER_CHAR in places where the 9134 argument to \w is at a different input level. 9135 9136 * tbl/table.c (table::init_output): Define a new macro 9137 REPEATED_VPT_MACRO, like vpt but if in a diversion also 9138 transparently outputs itself. 9139 (table::define_bottom_macro): Use REPEATED_VPT_MACRO instead of 9140 vpt. 9141 (table::do_row): Likewise. 9142 9143 * tbl/table.c (vertical_rule::print): Prefix the .sp -1 line with 9144 TRANSPARENT_STRING_NAME. 9145 9146 * tbl/table.c (table::init_output): In the table release macro 9147 print an error message and don't produce any output if after 9148 issuing the need request the table still will not fit. Also 9149 remove the diversion after bringing it back. 9150 9151 * tbl/table.c (table::init_output): Define a new macro 9152 REPEATED_MARK_MACRO, like mk but if in a diversion also 9153 transparently outputs itself. 9154 (table::do_row): Mark row_top_reg using REPEATED_MARK_MACRO. This 9155 is necessary because .TH might not call .T#. 9156 (table::do_top): Likewise TOP_REG. 9157 (table::define_bottom_macro): If TOP_REG is no longer valid, use 9158 #T - DOUBLE_LINE_SEP rather than #T. This is necessary because the 9159 table header might contain just the two top rules. 9160 9161Fri Jul 20 10:51:42 1990 James Clark (jjc at yquem) 9162 9163 * troff/div.c: Implement new request `ptr' to print all traps. 9164 9165 * troff/env.c (init_env_requests): Implement `.tabs' reg with 9166 init_string_env_reg. 9167 * troff/env.c (class tab_reg): Deleted. 9168 9169Thu Jul 19 12:07:16 1990 James Clark (jjc at yquem) 9170 9171 * troff/div.c: New number register .pn returns the number of the 9172 next page as set by the pn request. 9173 9174 * macros/tmac.an: Redid headers and footers. Number each manual 9175 entry starting from 1 unless \nC is > 0, like Sun. Added an 9176 optional 5th argument to .TH which specifies the manual name and 9177 appears in the center of the header. Understand the X, P and D 9178 registers like Sun. 9179 9180Wed Jul 18 10:23:31 1990 James Clark (jjc at yquem) 9181 9182 * troff/env.c (init_env_requests): New number register `.lt' to 9183 return the title length. 9184 9185 * troff/node.h (class transparent_dummy_node): New class. 9186 * troff/node.c (class transparent_dummy_node): Provide member 9187 functions. 9188 * troff/env.c (interrupt): Add a transparent_dummy_node, rather 9189 than a dummy_node. 9190 9191 * troff/input.c (token::next): New escape sequence \). 9192 * troff/input.c (get_copy): Recognize \) in copy mode. 9193 9194 * troff/input.c (input_stack::clear): New function. 9195 * troff/input.c (exit_request): Use input_stack::clear. 9196 9197 * troff/token.h: Removed TOKEN_NO_PRINT_CHAR. 9198 * troff/input.c (token::process): Removed case TOKEN_NO_PRINT_CHAR. 9199 9200 * troff/env.c: Move set_page_character to input.c. Move 9201 page_character to input.c also. 9202 * troff/env.c (title): Split off the reading of the parts of the 9203 title into read_title_parts. 9204 * troff/input.c (read_title_parts): New function. Check the 9205 input_level when testing whether a token matches the delimiter. 9206 9207 * troff/input.c (exit_request): New function. 9208 * troff/input.c (init_input_requests): Bind ex request to 9209 exit_request rather than exit_groff. 9210 9211 * troff/input.c (exit_groff): Call tok.next() before 9212 process_input_stack(). 9213 9214Mon Jul 16 09:47:23 1990 James Clark (jjc at yquem) 9215 9216 * troff/env.c: ifdef widow control support on WIDOW_CONTROL. 9217 * troff/env.h: ditto. 9218 * troff/input.c: ditto. 9219 9220 * troff/env.c (environment::is_empty): Test pending_lines. 9221 9222 * troff/env.c (environment::have_pending_lines): Removed. 9223 9224 * troff/input.c: Add request to flush pending lines from the 9225 environment. 9226 9227 * troff/env.c, troff/env.h: Add automatic widow control feature. 9228 9229 * troff/input.c (exit_groff): Do process_input_stack() after 9230 do_break() but before setting exit_flag to 2. 9231 9232 * troff/input.c: Remove FLUSH_PENDING_LINES and 9233 TOKEN_FLUSH_PENDING_LINES. Instead, flush pending lines from 9234 environment after END_TRAP token seen, but only if there aren't 9235 any more traps still unfinished. 9236 * troff/token.h: Remove TOKEN_FLUSH_PENDING_LINES. 9237 9238Sun Jul 15 10:50:08 1990 James Clark (jjc at yquem) 9239 9240 * troff/env.c: Rename the `retain_size' member of class 9241 pending_output_line to `no_fill'. 9242 9243 * troff/env.c (title): When the line is output, make the 9244 retain_size argument !fill. 9245 9246 * troff/node.h: Add `hyphenated' member to struct breakpoint. 9247 * troff/node.c (space_node::get_breakpoints), 9248 (dbreak_node::get_breakpoints): Fill this in. 9249 * troff/env.c: Allow specification of maximum number of 9250 consecutive hyphenated lines. 9251 9252 * troff/env.c (environment::is_empty): Add test for !current_tab. 9253 9254Sat Jul 14 11:23:01 1990 James Clark (jjc at yquem) 9255 9256 * troff/env.c (environment::hyphenate_line): Don't completely give 9257 up if the word is not to be hyphenated; continue so that breaks 9258 can be made at break_char_node's. 9259 9260 * lib/lib.h: Only define INT_MAX if it's not already defined; 9261 undef INT_MIN if it's already defined. 9262 9263 * Makefile: Make it easy to define CFRONT_ANSI_BUG. 9264 9265 * lib/lib.h: If CFRONT_ANSI_BUG is defined, cast INT_MIN to long. 9266 This works around a bug in AT&T C++ 2.0 used with an ANSI C 9267 compiler. 9268 9269 * macros/tmac.an (an-header): Set no-space mode. 9270 9271 * macros/tmac.an (TH): Start a new page if necessary. 9272 9273 * Started using ChangeLog at version 0.4. 9274 9275Local Variables: 9276version-control: never 9277coding: latin-1 9278End: 9279