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