home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-04-30 | 77.0 KB | 2,226 lines |
- Wed Mar 13 12:49:40 1991 James Clark (jjc at jclark)
-
- * Version 1.01 released.
-
- * dvi/devdvi/CompileFonts: Add cm*ss10 fonts.
-
- * dvi/tmac.dvi: ftr HR to H.
-
- * macros/tmac.e: Round up computation of $r.
-
- * xditview/tmac.X: Don't give up completely in compatibility mode.
- Use \n(.s instead of \n[.s].
-
- * dvi/tmac.dvi: Don't give up completely in compatibility mode.
- Use \(ci instead of \[ci]. Use \n(.s instead of \n[.s].
- Add u to factors inside \s[...]. Rename frac to dvi-frac.
- Translate \(FM onto \[prime] and \(!/ onto \[slashnot]; use these
- short names in the char definitions.
-
- * ps/tmac.ps: Don't give up completely in compatibility mode.
- Fix the fraction definitions to use \n(.s and \(f/. Add an extra
- quote in front of \n(.s. Add u to factors inside \s[...].
-
- Mon Mar 11 12:01:20 1991 James Clark (jjc at jclark)
-
- * tty/tmac.tty: Call the nroff request.
-
- * macros/tmac.e ((x, )x): Better definitions that work properly
- in a diversion.
- (@0, @1): Helper macros for (x.
-
- * macros/tmac.e ($s, hl): Use \l rather than \D.
-
- * tty/tmac.tty: Make it work better in compatibility mode.
- (pchar): Rename to tty-char.
-
- * macros/tmac.e (@E): New macro.
- (r, i, b, rb, bi): Use @E.
-
- * macros/tmac.e (@F): Don't use (;...) syntax.
-
- * macros/tmac.e: Remove mention of \*(||/revisions. Mention that
- it was modified for groff.
-
- * macros/tmac.e: Make sure \n(ps and \n(es are >= \n(.V.
-
- * macros/tmac.e (<., .>): Removed.
- ([., .]): If \n(.V>=1v, use [] instead of superscripting.
-
- * macros/tmac.e: Remove check that groff is being used.
-
- * macros/tmac.e (@C): Change families only if using groff; turn
- compatibility mode off while changing familes. Save compatibility
- mode before changing families and restore it afterwards.
-
- * macros/tmac.e (@h): Remove test for offset + line length.
-
- * macros/tmac.e (sorry): Rename to @S. Use \$1 instead of \$0
- (lo, th, ac): Define to call @S instead of using als.
-
- * macros/tmac.e: Make $r and $R now contain \n(.v*100/\n(.sp, ie
- the ratio of the vertical spacing to the point size in units
- expressed as a percentage. Use these instead of $10r and $10R,
- Delete $10r and $10R.
-
- * lib/font.c (font::load): In default computation of space_width,
- divide by sizescale. Use scale_round.
-
- * macros/tmac.an (TP): Don't call `nf'.
- (an-do-tag): Don't call `fi'.
-
- Sun Mar 10 09:52:35 1991 James Clark (jjc at jclark)
-
- * troff/input.c (process_input_stack): Handle the case where
- spaces at the beginning of an input line are followed by a
- newline.
-
- Thu Mar 7 20:18:07 1991 James Clark (jjc at jclark)
-
- * groff.c (device_table): Add PIC_X_OPTION for dvi device.
- * groff.sh: Use pic -x with the dvi device.
-
- * dvi/devdvi/FontMakefile (H): Don't use -s.
-
- * dvi/devdvi/HI, dvi/devdvi/HB: New files.
- * dvi/devdvi/Makefile: Add HI and HB to FONTS.
- * dvi/devdvi/FontMakefile: Add rules for HI and HB. Include these
- in FONTS.
-
- Mon Mar 4 13:20:14 1991 James Clark (jjc at jclark)
-
- * ps/psfig.diff: New file.
- * ps/tmac.psfig: New file.
-
- Sat Mar 2 00:15:09 1991 James Clark (jjc at jclark)
-
- * macros/tmac.s (]=, ref*do-tl, ref*bib-print): Deleted.
- (]-): Don't call ref*do-tl.
-
- * macros/tmac.s (ref*end-print): Use XP if [F not defined.
-
- * macros/tmac.s (ref*normal-print): Call FS rather than fn@do-FS.
- (fn@do-FS): Rename to fn*do-FS.
-
- * troff/input.c (transparent_translate): New function.
- (process_input_stack): Apply transparent_translate before calling
- diversion::transparent_output(unsigned char).
-
- Wed Feb 27 00:13:25 1991 James Clark (jjc at jclark)
-
- * troff/input.c (do_define_macro): Define the macro before calling
- skip_line.
-
- * xditview/Makefile: Add DEVICES variable. Change install target
- to use this.
-
- Tue Feb 26 10:46:22 1991 James Clark (jjc at jclark)
-
- * groff.c (run_commands): Handle the possibility that there are
- child processes other than those forked by us.
-
- Sun Feb 24 21:32:30 1991 James Clark (jjc at jclark)
-
- * lib/string.c (string::append): New function.
- * lib/stringclass.h: Declare it.
-
- Thu Feb 21 11:49:26 1991 James Clark (jjc at jclark)
-
- * eqn/main.c (main): New option -N which sets
- no_newline_in_delim_flag.
- (do_file): If no_newline_in_delim_flag is set don't allow newlines
- in delimiters.
- * groff.c (main): Pass -N on to eqn.
- (help, synopsis): Mention -N.
- * groff.sh: Implement -N.
-
- Wed Feb 20 15:16:10 1991 James Clark (jjc at jclark)
-
- * macros/tmac.s (]=, ref*bib-print, ref*do-tl): New macros.
- (]-): Call ref*do-tl if ref*need-tl is non-zero.
- (XP): Allow as initializer.
-
- Tue Feb 19 14:09:06 1991 James Clark (jjc at jclark)
-
- * troff/env.c (environment::wrap_up_field): If field_spaces are
- non-zero and we have a current_tab, subtract padding from
- tab_distance. If this makes tab_distance <= 0, use the next tab
- stop instead. If there isn't any next tab or it's a left tab,
- wrap up the current tab.
- (environment::start_field): Initialize tab_precedes_field.
- (environment::wrap_up_tab): If there's a current field, update
- pre_field_width, field_distance and tab_precedes_field.
- * troff/env.h (environment::tab_precedes_field): New member.
-
- Fri Feb 15 01:24:00 1991 James Clark (jjc at jclark)
-
- * ps/ps.c (ps_printer::do_file): New function.
- (ps_printer::special): Bind to `file' special.
- (ps_printer::do_exec): Set ndefined_styles to 0.
-
- Sat Feb 9 03:03:04 1991 James Clark (jjc at jclark)
-
- * eqn/text.c (split_text): Grok \* and similar escapes sequences.
- Avoid stripping first character from the start of unrecognized
- escapes. Use lex_error instead of error to report errors.
- * eqn/lex.c (get_token): Rework handling of escapes.
- (lex_error): Move declaration into...
- * eqn/eqn.h.
-
- * xditview/xditview.c (main): Make -page option work.
-
- * Makefile: Correct comment about -DBROKEN_SPOOLER and pageview.
-
- Wed Feb 6 12:28:43 1991 James Clark (jjc at jclark)
-
- * macros/tmac.s (B2): Correct size of box.
-
- Tue Feb 5 00:37:35 1991 James Clark (jjc at jclark)
-
- * macros/tmac.s (B2): Postpone drawing the box until in the
- top-level diversion.
-
- * tty/tmac.tty: Add font translations for C, CR, CW.
-
- * groff.c (synopsis, help): Document -i.
- * groff.sh: Implement -i.
-
- * macros/tmac.s (@NH): Put a `.' after multi-part numbers.
- Simplify the construction of SN.
-
- * troff/number.c (parse_term): Give `|' a higher precedence.
- * tbl/table.c (numeric_text_entry::simple_print): Parenthesise
- accordingly.
-
- * macros/tmac.s (B2): Use par@finish instead of par@reset.
-
- Mon Feb 4 12:36:09 1991 James Clark (jjc at jclark)
-
- * lib/string.c (string::move): New function.
- * lib/stringclass.h: Declare it.
-
- Sat Feb 2 16:02:16 1991 James Clark (jjc at jclark)
-
- * troff/env.c (distribute_space): Add optional argument
- `force_forward'.
- (environment::wrap_up_field): Call distribute_space with
- `force_forward' argument of 1.
-
- Fri Feb 1 19:36:33 1991 James Clark (jjc at jclark)
-
- * lib/string.c, lib/stringclass.h (string::operator+=(char)):
- Inline it. Move reallocation into...
- (string::grow1): New function.
- * pic/Makefile, tbl/Makefile, eqn/Makefile, ps/Makefile: Redo
- dependencies to include library header files.
- * lib/Makefile: Make string.c and lf.c depend on stringclass.h.
-
- Thu Jan 31 15:02:27 1991 James Clark (jjc at jclark)
-
- * macros/tmac.s (@NH): Use the same number registers than -ms does
- for the heading level counters. Use the same string that -ms does
- for the number for this heading.
-
- Wed Jan 30 14:25:40 1991 James Clark (jjc at jclark)
-
- * lib/new.c (operator new): Cast result of malloc to char *.
-
- * troff/input.c (spring_trap, lookup_request): Add assert that nm
- is not null.
-
- Tue Jan 29 18:08:05 1991 James Clark (jjc at jclark)
-
- * groff.c (main): Support -i.
-
- Sun Jan 27 13:23:17 1991 James Clark (jjc at jclark)
-
- * pic/pic.h: Include <osfcn.h>.
-
- * ps/ps.c: Add declaration of mktemp.
-
- * Makefile: Add -DHAVE_UNION_WAIT option for CPPDEFINES.
- * groff.c: If HAVE_UNION_WAIT is defined, declare wait()'s
- argument as union wait *.
- (run_commands): If HAVE_UNION_WAIT is defined cast wait()'s
- argument to union wait *.
-
- Sat Jan 26 12:04:52 1991 James Clark (jjc at jclark)
-
- * tty/tmac.tty: Add definition of \(co.
-
- * pic/object.c (make_arc): Only increase radius when radius
- strictly less than d.
- (arc_object::update_bounding_box): May need to add 4.0 to end_quad
- more than once.
-
- * troff/env.c (environment::environment(symbol),
- environment::environment(const environment *)): Initialize
- input_trap_count.
-
- Sat Jan 19 08:18:35 1991 James Clark (jjc at jclark)
-
- * tbl/main.c (main): Add exit(0).
-
- * ps/ps.c (ps_printer::~ps_printer): Use fseek instead of rewind.
-
- * pic/main.c (main):
- * eqn/main.c (main):
- * tbl/main.c (main):
- * etc/soelim.c (main):
- * driver/printer.c (printer::~printer):
- * troff/node.c (real_output_file::~real_output_file,
- real_output_file::flush): Check for errors on stdout.
-
- * most files: Add 1991 to copyright notice.
-
- * macros/tmac.s: Don't test \n(.x and \n(.y.
-
- * troff/input.c (token::next): Rename `escape_char' label to
- `handle_escape_char' and `normal_char' label to
- `handle_normal_char'.
-
- Thu Jan 17 15:46:35 1991 James Clark (jjc at jclark)
-
- * groff.c (main, synopsis, help): Support -a option.
- * groff.sh: Likewise. Also eliminate Zflag variable by adding -z
- to trflags while parsing options.
-
- Tue Jan 15 13:07:27 1991 James Clark (jjc at jclark)
-
- * troff/number.c (parse_term): With `m', `M' and `n' scale
- indicators, convert scale factor to hunits before scaling.
-
- Mon Jan 14 12:39:12 1991 James Clark (jjc at jclark)
-
- * lib/font.c (scale_round): Better test for overflow when n is
- negative.
-
- Thu Jan 10 11:10:56 1991 James Clark (jjc at jclark)
-
- * tbl/main.c (process_format): Add second argument of type
- options*. Change callers. Allow opt->tab_char as well as '\t'
- between format items.
-
- Mon Jan 7 12:30:18 1991 James Clark (jjc at jclark)
-
- * macros/tmac.an (PD): With no arguments, make sure register PD is
- at least \n[.V].
- (TH): Call PD with no argument, instead of setting register PD
- directly.
-
- Sun Jan 6 11:18:39 1991 James Clark (jjc at jclark)
-
- * Version 1.00 released.
-
- Sat Jan 5 08:44:30 1991 James Clark (jjc at jclark)
-
- * ps/tmac.ps, xditview/tmac.X: Add font translation of C to CR.
-
- * dvi/devdvi/DESC: Mount CW instead of CR.
-
- * dvi/tmac.dvi: Add definition of \(tm.
-
- * dvi/devdvi/texsy.map: Add lh, and rh.
- * dvi/devdvi/texex.map: Add lt, rt, lb, rb, lk, rk.
- * dvi/devdvi/texmi.map: Add *o. Regenerate fonts.
-
- * dvi/devdvi/FontMakefile: Generate H from cmss10.
- * dvi/devdvi/Makefile: Install H.
- * dvi/devdvi/H: New file.
-
- Fri Jan 4 15:04:57 1991 James Clark (jjc at jclark)
-
- * troff/env.c (vertical_spacing): Don't allow vertical spacing to
- be 0.
-
- Thu Jan 3 13:41:19 1991 James Clark (jjc at jclark)
-
- * macros/tmac.s (@EN): Add \n(.V to the argument to ds@need.
-
- * macros/tmac.pic (PS): Avoid attempting to set negative indent.
-
- * macros/tmac.s (@EN): Handle the case where the equation is empty
- but the label is not.
-
- Wed Jan 2 10:31:44 1991 James Clark (jjc at jclark)
-
- * troff/groff.h: New warning category WARN_SPACE.
- * troff/input.c: Add WARN_SPACE to DEFAULT_WARNING_MASK. Add
- WARN_SPACE to warning_table.
- (interpolate_macro): Give a warning of type WARN_SPACE if the name
- is longer than two characters and is not defined, but the first
- two characters do make a defined name.
-
- * PROBLEMS: New file.
-
- * CHANGES: New file.
- * README-0.6, README-1.00: Deleted.
-
- * groff.c, groff.sh: Add X75-12 and X100-12 devices.
- * xditview/devX75/Makefile: Make devX75-12.
- * xditview/devX100/Makefile: Make devX100-12.
-
- * xditview/devX100/eqnchar, xditview/devX75/eqnchar,
- dvi/devdvi/eqnchar, ps/devps/eqnchar: Remove use of \R.
-
- Tue Jan 1 19:24:01 1991 James Clark (jjc at jclark)
-
- * README-0.7: Rename to README-1.00.
-
- * macros/tmac.pic: New file.
- * macros/Makefile (install.nobin): Install tmac.pic.
-
- Mon Dec 31 10:40:53 1990 James Clark (jjc at jclark)
-
- * troff/env.c (hyphen_word): Correct the test for whether the
- token is a hyphen. Reset npos to 0.
-
- * macros/tmac.s (par@sup-start, par@sup-end): New implementations.
-
- Sun Dec 30 15:53:13 1990 James Clark (jjc at jclark)
-
- * macros/tmac.s (ds*common-end): Call par*reset.
- (PE): Likewise.
- (par@reset-indent): Deleted.
-
- * macros/tmac.s (@IP): Divert the label.
-
- Sat Dec 29 14:33:32 1990 James Clark (jjc at jclark)
-
- * xditview/draw.c (setGC): Use a line width of .1m rather than
- .04m by default; round rather than truncate value.
-
- * tbl/table.c (class empty_entry): New class.
- (empty_entry::empty_entry, empty_entry::line_type): New functions.
- (table::add_entry): Represent empty entries by objects of type
- empty_entry.
- (table_entry::line_type): Return -1.
- (table::determine_row_type): Ignore entries with line_type 0.
- Treat type -1 as non-lines.
-
- Fri Dec 28 15:04:41 1990 James Clark (jjc at jclark)
-
- * ps/devps/textmap, xditview/libXdvi/DviChar.c, tty/devlatin1/R.proto,
- macros/tmac.s: Rename \(-d to \(Sd.
-
- Thu Dec 27 12:35:47 1990 James Clark (jjc at jclark)
-
- * ps/devps/textmap: Add `sd', `/_' and `3d' characters.
- * xditview/libXdvi/DviChar.c: Likewise.
- * dvi/devdvi/texsy.map: Add `<<', `>>'.
-
- Wed Dec 26 13:33:23 1990 James Clark (jjc at jclark)
-
- * troff/div.c (top_level_diversion::begin_page): Call
- init_output() if the_output is 0.
-
- Sat Dec 22 12:35:29 1990 James Clark (jjc at jclark)
-
- * troff/input.c: Replace ESCAPE_E by ESCAPE_e and ESCAPE_C by
- ESCAPE_c.
- (get_copy): Turn \E into ESCAPE_E.
- (token::process, asciify): Handle ESCAPE_E.
-
- * macros/tmac.s (ds*common-end, par@reset): Add `.rj 0'.
- (RD): New macro.
- (DS): Implement `.DS R'.
-
- Fri Dec 21 11:41:53 1990 James Clark (jjc at jclark)
-
- * macros/tmac.s (FS): New macro.
-
- * macros/tmac.s (fn@do-FS): Use @LP instead of LP.
-
- * macros/tmac.s (cov*tl-init): Remove after first execution
- instead of aliasing to @nop. Call top of page macro explicitly
- instead of setting trap; call @init first. Set pg@top as top of
- page macro.
- (cov*auto-init): Deleted. Set cov*tl-init instead of
- cov*auto-init as top of page trap.
- (TL, LP): Do a break instead of calling cov*tl-init.
- (cov*print): With RP format but no TL, alias FS and FE to @FS and
- @FE; in this case also give a warning and always start another
- page. No need to set pg@top here.
- (cov*tl-init): Rename to cov*first-page-init.
-
- * macros/tmac.s (RP): Do `.pn 0'.
- (cov*tl-init): With RP format don't do `.pn 0'.
-
- * macros/tmac.s (pg@cs-top): Set no space mode.
-
- * macros/tmac.s (par@TL, par@AU, par@AI): New macros.
- (cov*ab-init): Alias TL, AU and AI to these.
-
- Thu Dec 20 10:10:50 1990 James Clark (jjc at jclark)
-
- * macros/tmac.s (@EQ): Move the space before the equation into @EN
- (@EN): Do nothing unless \n[dl] is > 0.
-
- Tue Dec 18 12:20:47 1990 James Clark (jjc at jclark)
-
- * pic/object.c (ellipse_object::radius): New function.
-
- * VERSION: Change version to 0.7.
-
- * tbl/table.c (block_entry::do_divert): Declare return type as
- void.
- (block_entry::divert, alphabetic_block_entry::divert): Return 1.
-
- Mon Dec 17 12:30:34 1990 James Clark (jjc at jclark)
-
- * troff/column.c: New file.
- * troff/Makefile: Corresponding changes.
-
- * troff/hvunits.c (scale(vunits, vunits, vunits)): New function.
- Friend of vunits.
-
- * troff/div.c (top_level_diversion::space): If the space causes
- the first-page transition and springs a trap, truncate the space
- to 0.
-
- Fri Dec 14 12:30:02 1990 James Clark (jjc at jclark)
-
- * ps/ps.c (ps_printer::do_import): Add a `clear' after including
- the document.
-
- * pic/troff.c (troff_output::line_thickness,
- troff_output::set_fill): Do a horizontal motion to compensate for
- the width of the \D escape sequence.
-
- Thu Dec 13 10:17:14 1990 James Clark (jjc at jclark)
-
- * xditview/tmac.X: Reinstate definition of \(rn, but only for X100
- (not X75).
-
- * eqn/sqrt.c (sqrt_box::compute_metrics): Supply missing argument
- to printf.
-
- * tbl/table.c (simple_entry::simply_print): Don't declare as pure.
- Supply empty definition.
- (text_entry::simple_print, simple_text_entry::simple_print):
- Delete declarations.
- (table::add_entry): Represent empty entries by objects of type
- `simple_entry'.
-
- Wed Dec 12 08:50:48 1990 James Clark (jjc at jclark)
-
- * troff/Makefile: Remove -DHYPHEN_CONTROL from DEFINES.
-
- * tbl/table.c (left_text_entry::add_tab): New function.
-
- * macros/tmac.s: Make @RT an alias for par@reset. Make RT
- initialize like LP.
-
- Mon Dec 10 11:19:55 1990 James Clark (jjc at jclark)
-
- * troff/env.c (environment::start_field): Give an error message if
- there is no next tab.
-
- Sun Dec 9 11:46:40 1990 James Clark (jjc at jclark)
-
- * troff/env.c (hyphenate): Skip initial elements with zero
- hyphenation code.
-
- * macros/tmac.s (par@init): Keep VS in points rather than units.
-
- Sat Dec 8 23:00:27 1990 James Clark (jjc at jclark)
-
- * pic/main.c (main): Implement `-c' option.
- * pic/output.h: Declare make_tpic_output().
- * pic/tex.c (tex_output::set_pen_size): Make it virtual and
- protected.
- (tpic_output): New class.
- (tpic_output::tpic_output, tpic_output::set_pen_size,
- tpic_output::command, make_tpic_output): New functions.
-
- Fri Dec 7 11:57:41 1990 James Clark (jjc at jclark)
-
- * tbl/main.c (main): Call `.ab' if \n(.g is false. Define TS/TE
- if they're not already defined.
- * tbl/table.c (init_output): Don't test \n(.g.
-
- * troff/input.c (do_if_request): Delete `g' condition. Recognize
- `d', `r' and `c' conditions even in compatibility mode.
-
- Tue Dec 4 09:13:47 1990 James Clark (jjc at jclark)
-
- * ps/tmac.ps (ps-bb): Protect against negative numbers in bounding
- box.
-
- Mon Dec 3 07:18:26 1990 James Clark (jjc at jclark)
-
- * troff/env.h (environment::prev_line_interrupted): New member.
- (environment::get_prev_line_interrupted): New function.
- * troff/env.c (environment::newline): Set prev_line_interrupted.
- (environment::environment(const environment *),
- environment::environment(symbol)): Initialize
- prev_line_interrupted.
- * troff/input.c (process_input_stack): Don't give special
- treatment to space and newline at the beginning of the line if the
- previous line was interrupted.
-
- Sat Dec 1 15:48:37 1990 James Clark (jjc at jclark)
-
- * eqn/eqn.y: Disallow PRIME by itself.
- * eqn/lex.c (token_table): Bind `opprime' instead of `prime' to
- PRIME.
- (def_table): Remove definition of '. Define prime to be `.
-
- * eqn/eqn.y: Split off part of rule `script' into a new rule
- `nonsup'.
-
- Fri Nov 30 10:23:44 1990 James Clark (jjc at jclark)
-
- * macros/tmac.s ({, }): New string aliases.
-
- Thu Nov 29 11:34:40 1990 James Clark (jjc at jclark)
-
- * README-0.7: New file.
-
- Wed Nov 28 10:09:57 1990 James Clark (jjc at jclark)
-
- * macros/tmac.s: New file.
- * man/groff_ms.man: New file.
- * Makefile: Add definition of TMAC_S. Pass TMAC_S in SUBFLAGS.
- * Makefile.bd: Similarily.
- * man/Makefile: Add groff_ms.n to MAN7PAGES. Replace @TMAC_S@. Add
- definition of TMAC_S.
- * macros/Makefile: Add definition of TMAC_S. Install tmac.s.
- * macros/TODO: New file.
-
- Sat Nov 24 20:04:54 1990 James Clark (jjc at jclark)
-
- * troff/env.c (right_justify): New function.
- (init_env_requests): Bind this to request "rj".
- (center_lines): Set right_justify_lines to 0. If we get a bad
- integer, center 1 line.
- (environment::environment(symbol), environment::environment(const
- environment *)): Initialize right_justify_lines.
- (environment::get_right_justify_lines): New function.
- (init_env_requests): Bind this to number_register ".rj".
-
- * troff/env.c (environment::choose_breakpoint): Implement
- hyphenation_margin and hyphenation_space.
- (environment::get_hyphenation_space,
- environment::get_hyphenation_margin): New functions.
- (init_env_requests): Bind these to .hys and .hym.
- (hyphenation_space_request, hyphenation_margin_request): New
- functions
- (init_env_requests): Bind these to hys and hym.
- (environment::environment(symbol), environment::environment(const
- environment *)): Initialize hyphenation_margin and
- hyphenation_space.
- * troff/env.h: Corresponding changes to class environment.
-
- Fri Nov 23 09:08:16 1990 James Clark (jjc at jclark)
-
- * troff/div.c (blank_line): Always do a break.
-
- * eqn/box.c (do_text): Turn off escapes while appending text to
- string.
-
- Thu Nov 22 10:58:59 1990 James Clark (jjc at jclark)
-
- * troff/input.c (while_break_request, while_continue_request): New
- functions.
- (init_input_requests): Bind these to "break" and "continue".
- (while_depth, while_break_flag): New variables.
- (while_request): Update while_depth. Break out of loop if
- while_break_flag is set.
-
- Wed Nov 21 10:54:40 1990 James Clark (jjc at jclark)
-
- * tbl/table.c (init_span_reg): Initialize span_width_reg to \n(.H
- rather than 0.
-
- Mon Nov 19 00:45:03 1990 James Clark (jjc at jclark)
-
- * Makefile: Include -DBROKEN_SPOOLER by default. Expand comment.
-
- * stringify: New file.
- * Makefile (groff.o): Use stringify.
-
- * xditview/tmac.X: Remove definition of \(rn.
- * xditview/libXdvi/DviChar.c: Remove radicalex from
- Adobe_symbol_map.
-
- Sat Nov 17 10:44:58 1990 James Clark (jjc at jclark)
-
- * tbl/table.c (table::add_entry): Allow alphabetic text blocks.
- (alphabetic_block_entry::alphabetic_block_entry,
- alphabetic_block_entry::divert, alphabetic_block_entry::print):
- New functions.
- (block_entry::divert): Split off body into ...
- (block_entry::do_divert): If the block is alphabetic, subtract 2n
- from the line length; also update the span width to dl+2n, and the
- alphabetic span width to dl.
-
- * driver/input.c (do_file): While reading argument to D command,
- when expanding buffer, multiply szp by sizeof(int) rather than 2
- in the argument to memcpy.
-
- * tbl/table.c (compute_span_width): Add 2n rather than 1n to the
- width of alphabetic columns.
-
- Fri Nov 16 06:34:27 1990 James Clark (jjc at jclark)
-
- * troff/node.c (lookup_family): Supply second argument to lookup.
-
- * troff/dictionary.c (dictionary::lookup): After an unsuccesful
- search, return immediately if v is 0.
-
- * pic/troff.c: Define EQN_NO_EXTRA_SPACE_REG.
- (troff_output::start_picture): Set this reg.
- (troff_output::end_picture): Remove this reg
- * eqn/box.c (box::extra_space): Don't produce `\x's if
- EQN_NO_EXTRA_SPACE_REG is defined.
-
- * eqn/eqn.y: Allow just a PRIME to be a `simple'.
- * eqn/text.c (split_text): Map ' to \(fm when it's the first
- character.
-
- Thu Nov 15 10:35:06 1990 James Clark (jjc at jclark)
-
- * macros/tmac.e: Use font 3 instead of B in $c. Remove `bd'
- requests.
-
- * troff/div.c (top_level_diversion::top_level_diversion):
- Initialize page_number to 0.
-
- Wed Nov 14 21:41:58 1990 James Clark (jjc at jclark)
-
- * groff/troff (environment::environment(const environment *)):
- Initialize name to e->name, rather than "anonymous".
-
- Sat Nov 10 01:59:37 1990 James Clark (jjc at jclark)
-
- * xditview/libXdvi/Dvi.c (ShowDvi): If eof is encountered, reset
- requested_page. Split middle part into ...
- (FindPage): New function.
- (SetValues): If we don't yet know the last page, and the requested
- page is greater than the current page, call FindPage.
- Update the font_map_string before doing this.
-
- * xditview/tmac.X: Add definitions of \(sq, \(ga, \(dg and \(dd.
- Translate \(lh and \(rh into left and right double arrows.
-
- * troff/node.c (class hyphen_inhibitor_node): New class.
- (hyphen_inhibitor_node::hyphen_inhibitor_node,
- hyphen_inhibitor_node::copy, hyphen_inhibitor_node::same,
- hyphen_inhibitor_node::type,
- hyphen_inhibitor_node::get_hyphenation_type): New functions.
- (node::add_discretionary_hyphen): Use hyphen_inhibitor_node rather
- than dbreak_node(0, 0) to represent a `\%' at the beginning of a
- word.
-
- Fri Nov 9 16:05:38 1990 James Clark (jjc at jclark)
-
- * troff/node.h (dummy_node::get_hyphenation_type,
- transparent_dummy_node::get_hyphenation_type): Declare them.
- * troff/node.c: (dummy_node::get_hyphenation_type,
- transparent_dummy_node::get_hyphenation_type): New functions.
-
- Wed Nov 7 10:09:06 1990 James Clark (jjc at jclark)
-
- * xditview/libXdvi/draw.c: If M_PI not defined after including
- math.h, then define it.
-
- * xditview/Makefile: Add definition of AR. Pass it to the submake
- in libXdvi.
- * xditview/libXdvi/Makefile: Add definitions of AR and RANLIB.
-
- Tue Nov 6 10:14:27 1990 James Clark (jjc at jclark)
-
- * troff/dictionary.h (object_dictionary::alias): Declare return
- value as int.
- * troff/dictionary.c (object_dictionary::alias): Return non-zero
- if the old name was defined.
- * troff/input.c (alias_macro): Give a warning if the old name was
- not defined.
- * troff/reg.c (alias_reg): Likewise.
-
- Mon Nov 5 00:31:39 1990 James Clark (jjc at jclark)
-
- * troff/input.c (token::next): Delete implementation of \R.
-
- * macros/Makefile: Strip comments from tmac.e while installing it.
-
- * troff/input.c: New variable `nroff_mode'.
- (troff_request, nroff_request): New functions.
- (init_input_requests): Bind `troff' and `nroff' to troff_request
- and nroff_request.
- (do_if_request): Compute results of t and n conditions from
- nroff_mode.
-
- * text/text.c (split_text): Fix typo in >=.
-
- * eqn/lex.c: Add definition of `==' to def_table.
-
- Fri Nov 2 02:49:09 1990 James Clark (jjc at jclark)
-
- * pic/tex.c (tex_output::start_picture): Change the definitions of
- \graph and \graphtemp so that they work properly with Plain TeX.
-
- * pic/tex.c (tex_output::solid_arc): Ensure that the second angle
- argument to `ar' is not less than the first.
-
- * pic/pic.y: Allow a comma between elements of the variable list
- in the argument to `reset'.
-
- * pic/object.c (arc_object::arc_object): Fix computation of
- radius.
-
- * eqn/main.c (main): Add exit(0).
-
- Thu Nov 1 02:03:50 1990 James Clark (jjc at jclark)
-
- * troff/div.c (begin_page): Test no_space_mode after doing the
- break, but still push the page ejector cookie before doing the
- break. Also set the next page number after doing the break.
-
- * xditview/xditview.c (NewFile): Don't set the title and icon name
- if this is the first file and its name is `-'.
- * groff/groff.c: Define a new device flag XT_OPTION. Set it for
- the X75 and X100 devices.
- (main): If a device has the XT_OPTION flag set and there's exactly
- one file argument, pass the driver -xrm and -title options to set
- the icon name and window title to the name of the file.
-
- * troff/env.c (environment_switch): If there was an argument but
- it wasn't a valid number or name, then pop an environment but
- don't give an error message on underflow.
-
- * troff/number.c (start_number): Correct spelling in error message.
-
- * troff/input.c (token::delimiter): Don't print an error message
- if err is false.
-
- * xditview/libXdvi/parse.c (ParseInput): In case 'D', only call
- ParseDrawFunction if dw->display_enable is true.
-
- Wed Oct 31 05:49:50 1990 James Clark (jjc at jclark)
-
- * pic/pic.y: Parse text positioning like normal attributes, so as
- to allow `"text" at 0,0 ljust'. Don't allow `center' as a
- positioning attribute.
-
- Mon Oct 29 22:50:38 1990 James Clark (jjc at jclark)
-
- * tbl/main.c (process_data): When in state START while reading a
- text block, don't change to state MIDDLE if c is a newline.
-
- Sun Oct 28 21:59:56 1990 James Clark (jjc at jclark)
-
- * dvi/dvi.c (dvi_printer::begin_page): Rename `i' variable to `j'
- so as to avoid shadowing parameter.
-
- Wed Oct 24 18:35:39 1990 James Clark (jjc at jclark)
-
- * tbl/table.c (trim_space): Deleted.
- (table::add_entry): Don't call trim_space.
-
- Mon Oct 22 03:48:39 1990 James Clark (jjc at jclark)
-
- * VERSION: Change version to 0.6.
-
- * troff/number.c (parse_expr): Make == work.
-
- Sat Oct 20 11:28:17 1990 James Clark (jjc at jclark)
-
- * man/grog.man: New file.
- * man/Makefile: Add grog.n to MAN1PAGES.
- * etc/grog.sh: New file.
- * etc/Makefile: Install grog.sh as grog.
-
- Fri Oct 19 11:17:15 1990 James Clark (jjc at jclark)
-
- * troff/input.c (token::next): Implement \E.
-
- Thu Oct 18 11:56:24 1990 James Clark (jjc at jclark)
-
- * xditview/tmac.X: Change font translations to match tmac.ps.
-
- * troff/input.c (non_empty_name_warning): Don't give a warning if
- `\{' terminates the name.
-
- Tue Oct 16 10:04:23 1990 James Clark (jjc at jclark)
-
- * ps/devps/symbol.diff: New file.
- * ps/devps/FontMakefile: Mention symbol.diff.
-
- Sun Oct 14 11:46:46 1990 James Clark (jjc at jclark)
-
- * troff/node.c (font_position): Use get_long_name to read the
- external_name.
-
- * troff/env.c (environment_switch): If we get a number that's < 0
- or >= NENVIRONMENTS, treat it like a name.
- Change NENVIRONMENTS to 10.
-
- * troff/groff.h: Remove definition of FONTS_MAX.
- * troff/node.h (class font_family): Make map a pointer instead of
- an array. Add a map_size member. Make it a class. Make nm const
- and public. Make invalidate_fontno a friend.
- * troff/node.c: Define font_table_size. Make font_info a pointer
- rather than an array.
- (class troff_output_file): Allocate font_position dynamically. Add
- nfont_positions member.
- (troff_output_file::set_font): Grow font_position if necessary.
- (troff_output_file::~troff_output_file): Delete font_position.
- (troff_output_file::troff_output_file): Allocate font_position.
- (grow_font_table): New function.
- (troff_output_file::really_begin_page,
- troff_output_file:really_copy_page): Use nfont_positions rather
- than FONTS_MAX.
- (mount_font_no_translate, mount_style): Call grow_font_table if
- necessary.
- (font_family::font_family): Allocate map.
- (font_family::make_definite): Grow map if necessary. Use
- font_table_size instead of FONTS_MAX.
- (font_family::~font_family): New function.
- (invalidate_fontno): Use font_family::map_size.
- (get_fontno, env_space_width, env_half_narrow_space_width,
- env_narrow_space_width, symbol_fotno, is_good_fontno,
- get_bold_fontno, make_glyph_node): Use font_table_size rather than
- FONTS_MAX.
- (next_available_font_position): Never return 0.
-
- Fri Oct 12 10:17:52 1990 James Clark (jjc at jclark)
-
- * ps/tmac.ps: Add font translations for compatibility with dpost.
-
- Thu Oct 11 12:09:03 1990 James Clark (jjc at jclark)
-
- * eqn/pile.c: Rename default_baseline_sep to baseline_sep.
- Move BASELINE_SEP_FORMAT and COLUMN_WIDTH_FORMAT into pbox.h.
- Move definitions baseline_sep, shift_down, column_sep,
- matrix_side_sep into...
- * eqn/box.c: Add them to param_table.
- * eqn/pbox.h: Add declarations to pbox.h.
-
- * troff/input.c (set_string): Cast value to unsigned char *.
-
- * troff/token.h (process_input_stack): Declare it static before
- declaring it a friend.
-
- Wed Oct 10 09:59:13 1990 James Clark (jjc at jclark)
-
- * dvi/devdvi/texex.map: Fix positions of extensible brace middle
- and bottom.
- * dvi/devdvi/EX: Regenerate.
-
- * troff/input.c (init_charset_table): Make ", ', ), ], *, \(dg
- transparent.
-
- Tue Oct 9 08:34:02 1990 James Clark (jjc at jclark)
-
- * eqn/lex.c: In defaults_table, make definition of `dot' call
- `dot_def'. Don't explicitly make it roman. Similarily for other
- accents.
-
- * pic/lex.c (for_input::for_input): Add by_is_multiplicative
- argument.
- (for_input::get, for_input::peek): Use this.
- (do_for): Add by_is_multiplicative argument.
- * pic/pic.y: Change optional_by clause to allow '*' after `by'.
- Change semantic value of optional_by to be a double plus a flag
- saying whethet the by clause is multiplicative.
-
- * eqn/lex.c (get_delimited_text): Remember location of start of
- definition. Improve error handling when EOF is encountered.
-
- * lib/font.h: Rename handle_x_command to
- handle_unknown_font_command.
- * lib/font.c (font::load): Call handle_unknown_font_command for
- any unknown command in the font description file. Don't call
- handle_x_command. Include the name of the command in the argv.
- Improve message for unknown command after kernpairs or charset
- command.
- * ps/ps.c (ps_font::handle_x_command): Rename to
- handle_unknown_font_command. Remove message about `x download'
- command. Give error message for wrong number of arguments.
- * ps/devps/afmtodit: Generate `encoding' instead of `x encoding'.
- * dvi/dvi.c (dvi_font::handle_x_command): Rename to
- handle_unknown_font_command. Give an error message for wrong
- number of arguments. Rename design_size to designsize.
- * dvi/tfmtodit.c (main): Generate `checksum' instead of `x
- checksum', `designsize' instead of `design_size'.
-
- Mon Oct 8 00:38:55 1990 James Clark (jjc at jclark)
-
- * eqn/*.[chy]: Change underaccent to uaccent.
-
- * eqn/eqn.y: Add rule for underaccent. Declare UNDERACCENT token;
- give it the same precedence as ACCENT.
- * eqn/other.c (make_underaccent_box): New function.
- * eqn/box.h: Declare it.
- * eqn/lex.c: Add UNDERACCENT to token_table. Add utilde to
- def_table.
-
- Sun Oct 7 11:25:16 1990 James Clark (jjc at jclark)
-
- * pic/pic.y (reset_all): New function. Called in rule for RESET.
- (parse_init): Call reset_all.
- (define_variable): When defining scale reset only those
- pre-defined variables that are scaled.
- (defaults_table): Add `scale' as non-scaled value.
-
- * pic/pic.y: Redo parsing of text adjustments: parse adjustments
- together with the text; allow any number of positioning words;
- allow center as a positioning word.
-
- * pic/object.c (output::compute_scale): Get picture maximum height
- and width from variables called maxpswid and maxpsht.
- * pic/pic.y: Add maxpswid and maxpsht to defaults_table.
-
- Sat Oct 6 10:16:56 1990 James Clark (jjc at jclark)
-
- * pic/object.c (object_spec::make_text): Multiply textht by number
- of text items.
-
- * pic/pic.y: Allow `sprintf("string", expr,...)' wherever text can
- occur.
- (do_sprintf): New function.
- (pic.gperf): Add sprintf token.
- (text, sprintf): New rules.
-
- * pic/pic.y: `rand()' with no arguments returns a random number
- in the range [0,1).
-
- * pic/pic.y: Allow a bare expression to be an attribute: change
- precedences to support this. Change optional_ordinal rule to
- optional_ordinal_last to avoid reduce/reduce conflict.
- * pic/object.c (object_spec::object_spec): Initialize direction.
-
- * pic/pic.y: Implement ^ operator meaning exponentiation.
-
- * troff/node.h: Add default argument to mount_font.
- * troff/node.c (font_position): Read an optional third argument
- giving the external_name.
- (mount_font): Add optional argument giving the external_name.
- (mount_font_not_translate): Have additional argument giving
- external name. Use this name to load the font. Pass both names
- to font_info::font_info.
- (font_info::font_info): Have additional argument giving
- external_name.
- (class tfont): New member external_name.
- (font_info::get_tfont): Use external name to construct tfont_spec.
-
- Fri Oct 5 04:03:13 1990 James Clark (jjc at jclark)
-
- * eqn/lex.c (init_table): Add argument giving device. Define
- name of device to be "1".
- (do_ifdef): Counts as true if the argument has been defined with
- `define'.
- * eqn/main.c (main): Call init_table with device argument. Make
- device local to main.
- * eqn/eqn.h: Change declaration of init_table. Remove declaration
- of device.
-
- * pic/lex.c (get_delimited): Allow text to be delimited by
- matching {}s. Don't recognize ending delimiter within a string.
-
- * troff/input.c (get_delim_name): New function.
- (token::next): Implement \C.
-
- * lib/font.c (font::load): Grok ---. Add an alias for each
- character based on its code.
- (font::get_code_width): Deleted.
- * lib/font.h (class font): Declare font::number_to_index().
- Remove declaration of font::get_code_width.
- * lib/nametoindex.c (font::name_to_index): Add 512 rather than 256
- to indices of named characters.
- (font::number_to_index): New function.
- * troff/input.c (font::number_to_index): New function.
- (get_charinfo_by_number, charinfo::get_number,
- charinfo::set_number): New functions.
- (token::next): Turn \N into a TOKEN_NUMBERED_CHAR.
- (token::process, token::description, token::get_char,
- token::add_to_node_list, token::operator==): Handle
- TOKEN_NUMBERED_CHAR.
- * troff/charinfo.h: Declare get_charinfo_by_number,
- charinfo::get_number, charinfo::set_number. Add NUMBERED flag to
- charinfo class.
- (charinfo::numbered): New function.
- * troff/token.h: Add TOKEN_NUMBERED_CHAR.
- * troff/env.h (class environment): Remove declaration of ...
- * troff/env.c (environment::make_numbered_char_node): Deleted.
- * troff/node.c (make_numbered_node): Deleted.
- (class numbered_glyph_node): Remove.
- (troff_output_file::put_char_width, troff_output_file::put_char):
- Handle numbered chars.
- (troff_output_file::numbered_char): Removed.
- (tfont::get_code_width): Removed.
- (make_glyph_node): Don't search special fonts for numbered
- characters.
- * troff/node.h: Remove declaration of make_numbered_node.
- * driver/input.c (do_file): Handle N command.
- * driver/printer.h: Add declaration of ...
- * driver/printer.c (printer::set_numbered_char): New function.
- * dvi/tfmtodit.c (main): Generate unnamed entries.
- * ps/devps/afmtodit: Likewise.
- * xditview/xtotroff.c (MapFont): Likewise.
- * xditview/libXdvi/parse.c (ParseInput): Grok N command.
-
- * tbl/main.c (process_format): If multiple widths are specified
- for a column but all the widths are the same, don't give an error
- message.
-
- * tbl/table.c (table::do_row): If the current row is all lines and
- the stuff doesn't contains a line, mark the top of the row after
- printing stuff before the row. If the current row is not all
- lines and the stuff doesn't contain a line, don't unnecessarily
- mark the top of the row before printing the stuff.
-
- Mon Oct 1 11:42:00 1990 James Clark (jjc at jclark)
-
- * troff/groff.h: Remove MAX_PATH.
- * troff/input.c (open_file): Dynamically allocate space for the
- path.
- (open_mac_file, process_macro_file): Corresponding changes.
-
- Sun Sep 23 18:56:26 1990 James Clark (jjc at jclark)
-
- * troff/node.h (class output_file): Make copy_file pure. Add
- vspace method ifdef COLUMN. Add is_printing method.
- * troff/node.c: Add class printing_reg. Add class
- real_output_file. Derive other output_file classes from
- real_output_file; in these classes rename begin_page to
- really_begin_page, print_line to really_print_line, copy_file to
- really_copy_file, transparent_char to really_transparent_char.
- Move output_file::flush to real_output_file. Add printing member
- to class output_file.
- * troff/div.h: Remove printing member from top_level_diversion.
- Add vspace member function to class diversion ifdef COLUMN. Add
- some declarations ifdef COLUMN.
- * troff/div.c (top_level_diversion::copy_file,
- top_level_diversion::transparent_output,
- top_level_diversion::output): Don't test printing member before
- output.
- * troff/input.c: Handle initial variable_space_request ifdef
- COLUMN.
- * troff/Makefile: Add column.c but comment it out. Add -DCOLUMN
- but comment it out.
-
- Sat Sep 22 11:32:22 1990 James Clark (jjc at jclark)
-
- * troff/div.c (diversion::need): Make any space forced. If we
- sprung a trap, set truncated_space to minus the distance to the
- trap and set needed_space to the amount that was needed.
- (top_level_diversion::space): A forced space turns no_space_mode
- off.
- (class constant_vunits_reg): New class.
- (init_div_requests): Implement number registers .trunc and .ne
- using constant_vunits_reg.
- (class truncated_space_reg): Deleted.
-
- * troff/div.h: Don't have a no_space_mode member in diversion.
- Instead have it in top_level_diversion.
- * troff/div.c (diversion::diversion): Don't initialize
- no_space_mode.
- (top_level_diversion::top_level_diversion): Initialize
- no_space_mode.
- (no_space, restore_spacing): Do nothing if curdiv != topdiv.
- (macro_diversion::output): Don't clear no_space_mode.
-
- * troff/input.c (diverted_space_node::reread): Don't call
- environment::do_break. In fill mode, act like a blank line.
- (diverted_copy_file_node::reread): Don't call
- environment::do_break.
-
- * troff/div.c (blank_line): New function.
- * troff/div.h: Declare it.
- * troff/input.c (process_input_stack): Call it.
-
- * troff/div.c (truncated_space_reg::get_string): New function.
- (init_div_requests): Bind to .trunc.
- (space_request, top_level_diversion::space,
- top_level_diversion::output, macro_diversion::space,
- macro_diversion::output): Update truncated_space.
- (macro_diversion::output): Redo calculations when trap sprung.
- (macro_diversion::output, macro_diversion::space): No need for
- trap_flag.
-
- * troff/div.c (top_level_diversion::output): Set nl_reg_contents
- after truncating post line spacing.
-
- Fri Sep 21 11:27:25 1990 James Clark (jjc at jclark)
-
- * ps/devps/prologue (MF, SF): Make them work even if setfont is
- defined as a procedure rather than as an operator.
-
- Thu Sep 20 12:55:05 1990 James Clark (jjc at jclark)
-
- * troff/div.c (macro_diversion::space): Ignore no_space_mode.
-
- Wed Sep 19 10:54:37 1990 James Clark (jjc at jclark)
-
- * troff/div.c (top_level_diversion::output): Merge
- output_file::print_line and output_file::end_of_line member
- functions.
- * troff/div.h (class output_file):
- * troff/node.c (troff_output_file::print_line,
- troff_output_file::end_of_line, output_file::end_of_line,
- ascii_output_file::print_line, suppress_output_file::print_line):
- Corresponding changes.
-
- Tue Sep 18 11:31:47 1990 James Clark (jjc at jclark)
-
- * troff/input.c (token::next): Don't give a warning for `\.'.
-
- * troff/env.c (environment::get_center_lines): New function.
- (init_env_requests): Bind number register .ce to it.
- * troff/env.h: Declare it.
- * tbl/table.c (table::init_output): Define reset macro to restore
- .ce. If center option not given, store .ce in SAVED_CENTER_REG.
- Then do .ce 0.
- (table::print): If center option not given, then imply center
- option if SAVED_CENTER_REG > 0.
-
- Mon Sep 17 09:19:19 1990 James Clark (jjc at jclark)
-
- * ps/devps/Makefile: Remove T from FONTS. Remove TSymbol.ps and
- Troff.ps from DOWNLOAD.
-
- * troff/Makefile: Change comment in DEFINES to avoid confusing
- System V make.
-
- * ps/ps.c (ps_printer::do_exec): Allow newlines within PostScript
- code. Don't try to catch errors with stopped.
- (check_line_lengths): New function.
- * ps/devps/prologue (EXEC): Deleted.
- (EBEGIN, EEND): New procedures.
-
- Sun Sep 16 14:51:15 1990 James Clark (jjc at jclark)
-
- * troff/input.c: Include request.h before node.h.
- * troff/node.c: Likewise.
- * troff/env.c: Likewise.
- * troff/div.c: Likewise.
- * troff/node.h (class special_node): Store argument as a macro
- rather than a char *.
- * troff/node.c (special_node::special_node, special_node::copy):
- Grok this.
- (special_node::~special_node): Deleted.
- (special_node::tprint): Deleted.
- (special_node::tprint_start, special_node::tprint_end,
- special_node::tprint_char): New functions.
- (troff_output_file::special): Deleted.
- (troff_output_file::start_special, troff_output_file::end_special,
- troff_output_file::special_char): New functions.
- * troff/input.c (special_node::tprint): New function.
- (do_special): Use macro not char *.
- (do_transparent_macro): Deleted.
- (token::next): Don't call do_transparent_macro.
-
- * troff/input.c (token::next): Add 'Y' case.
- (do_transparent_macro): New function.
- * troff/node.c (troff_output_file::special): Handle newlines with
- argument using new continuation convention.
- * driver/input.c (get_string): Cope with continuation convention.
- (do_file): Don't call skip_line after calling get_string(1).
- * ps/ps.c (ps_printer::special, ps_printer::do_import,
- ps_printer::do_def, ps_printer::do_exec): Cope with newlines in
- arg.
- * xditview/libXdvi/parse.c (ParseInput): Ignore lines starting
- with +.
-
- Sat Sep 15 19:00:10 1990 James Clark (jjc at jclark)
-
- * troff/input.c (asciify): By default, illegal input characters
- should return empty string.
-
- * troff/input.c (copy_file): Handle first page transition like title.
- (token::next, process_input_stack): Grok COPY_FILE_REQUEST.
-
- * troff/input.c (token::next): Improve error message for EOF after
- escape character.
- (input_char_description): New function.
- (get_char_for_escape_name): Use input_char_description.
- (token::next): Warn about unrecognized escape sequences.
- (warning_table): Add WARN_ESCAPE.
- * troff/groff.h: Declare WARN_ESCAPE. Change WARN_TOTAL
- accordingly.
-
- * troff/token.h: Remove declaration of process_input_stack.
-
- * troff/input.c: Remove declaration of init_hyphen_requests.
- * troff/request.h: Correct spelling in declaration of same.
-
- * troff/input.c (token::next): Check whether escape_char is 0.
-
- Fri Sep 14 12:09:25 1990 James Clark (jjc at jclark)
-
- * groff.c (main, usage, help): Implement -P and -L options.
- * groff.sh: Likewise.
-
- * troff/input.c (token::next): Use some gotos to avoid code
- duplication.
-
- * troff/input.c (get_long_name, get_name, read_long_ecsape_name):
- Avoid calling symbol::symbol if name empty.
-
- Thu Sep 13 06:21:45 1990 James Clark (jjc at jclark)
-
- * troff/input.c (init_input_requests): Make \n(.x return the major
- version number and \n(.y return the minor version number.
- * troff/Makefile: Construct file majorminor.c defining
- major_version and minor_version automatically from ../VERSION.
-
- * troff/node.c (class glyph_node): Make operator new and operator
- delete public.
- (class ligature_node): Similarily.
-
- * troff/input.c (operator==(const macro &, const macro &)): New
- function.
- (non_interpreted_node::same): Use this.
- (string_iterator::string_iterator): Make macro& argument const.
-
- * troff/input.c (input_iterator::get): New function. Don't make
- asciify_macro or class non_interpreted_node friends of class
- input_iterator.
- (non_interpreted_node::interpret): Use input_iterator::get.
- (asciify_macro): Likewise.
-
- * troff/input.c (~token_node, ~string_iterator, ~arg_list,
- ~non_interpreted_node): Deleted.
- * troff/node.c: (~suppress_output_file, ~ascii_output_file):
- Deleted.
-
- * troff/symbol.h: Make all symbol member functions const.
-
- * lib/strtol.c: New file.
- * lib/Makefile: Add strtol.c.
- * Makefile: Define STRTOL as strtol.o to include strtol in
- libgroff.a.
-
- Wed Sep 12 10:00:49 1990 James Clark (jjc at jclark)
-
- * pic/troff.c (troff_output::simple_circle): Divide by scale.
-
- Tue Sep 11 14:17:16 1990 James Clark (jjc at jclark)
-
- * troff/input.c (do_special): Use input_level.
-
- * troff/token.h (TOKEN_BACKSPACE): New token.
- (token::backspace): New function.
- * troff/input.c (token::description, token::next, token::process):
- Grok TOKEN_BACKSPACE.
- (do_special): Turn TOKEN_BACKSPACE back into \b.
-
- * troff/token.h (token::leader): New function.
- * troff/input.c (do_special): Turn TOKEN_LEADER back into \001.
-
- * troff/input.c (do_special): Turn TOKEN_TAB back into \t.
-
- * troff/input.c (do_special): Use token::description in error
- message.
-
- Mon Sep 10 11:06:27 1990 James Clark (jjc at jclark)
-
- * troff/input.c (decode_args): Combine quoted and
- quote_input_level variables. Make it a for (;;) loop.
-
- * troff/input.c (get_char_for_escape_name): Check for \001 and \b.
-
- * troff/input.c (read_long_escape_name): The test for whether to
- expand buffer was off by 1.
- (read_string): Similarily.
-
- Fri Sep 7 11:45:50 1990 James Clark (jjc at jclark)
-
- * troff/input.c: Use `const int' rather than `static const int'.
-
- * troff/div.h (diversion::copy_file): Declare as pure virtual.
- (macro_diversion::copy_file): New function.
- * troff/node.h: New class diverted_copy_file_node.
- * troff/node.c: Implement it.
- * troff/input.c (copy_file): Use diversion::copy_file. Handle
- first page transition by pushing a diverted_copy_file_node.
- * troff/input.c (token::next, process_input_stack): Don't handle
- COPY_FILE_REQUEST.
-
- Thu Sep 6 13:29:10 1990 James Clark (jjc at jclark)
-
- * ps/ps.c (flush_sbuf): Remember to add sbuf_kern when checking
- whether space widths need adjusting.
-
- * troff/charinfo.h: Generalize translated_to_space to
- special_translation so as to allow translation to \&.
- * troff/input.c (translate): Allow translation to \&.
- (charinfo::*): Corresponding changes.
- * troff/node.c (make_node, node::add_char): Corresponding changes.
- * troff/node.h (dummy_node::dummy_node): Allow optional first
- argument.
-
- * lib/lib.h: Make codes 0200 to 0237 illegal input characters.
- * troff/token.h: Remove TOKEN_TITLE. Remove token::title. Add
- TOKEN_REQUEST.
- * troff/input.c (token::next): Turn a TITLE_REQUEST into a
- TOKEN_REQUEST with an argument of TITLE_REQUEST.
- (token::process): Grok that.
- * troff/input.c (copy_file): Handle first page transition like
- title by pushing a COPY_FILE_REQUEST cookie.
- (token::next, process_input_stack): Grok that.
- * troff/node.h (output_file::copy_file): Add x and y arguments.
- Make it non-pure.
- * troff/div.c (top_level_diversion::copy_file): Supply them.
- * troff/node.c (troff_output_file::copy_file): Add x and y
- arguments; moveto specified position. Invalidate font_position
- array after copying file.
- (output_file::copy_file): New function.
- (suppressed_output_file::copy_file, ascii_output::copy_file):
- Removed.
- * troff/input.c (transparent_file): New function.
- (init_input_requests): Bind to "trf".
- (token::next): Handle TRANSPARENT_FILE_REQUEST cookie.
- (process_input_stack): Likewise.
-
- * troff/Makefile: Add ../lib/lib.h to GROFF_H.
-
- * troff/node.c (init_node_requests): New number registers .kern
- pointing to global_kern_mode, and .lg pointing to
- global_ligature_mode.
-
- * troff/node.c (ligature): Don't change it if we get a bad
- integer.
-
- * troff/input.c (do_define_string): Don't strip tabs.
-
- * troff/input.c (asciify_macro): Make the string_iterator auto.
-
- * troff/node.c (init_font_requests): Rename to...
- (init_node_requests):
- * troff/node.h: Change declaration.
- * troff/input.c (main): Change call.
-
- * troff/input.c (node::reread, diverted_space_node::reread): New
- methods.
- (process_input_stack): Call reread rather than
- get_diverted_space_node.
- * troff/node.c (node::get_diverted_space_node,
- diverted_space_node::get_diverted_space_node): Removed.
- * troff/node.h: Declare reread methods instead of
- get_diverted_space_node methods. Make `n' member private.
- * troff/input.c: (token::diverted_space): Removed.
- * troff/token.h: Removed declaration.
-
-
- Tue Sep 4 00:48:04 1990 James Clark (jjc at jclark)
-
- * eqn/script.c (script_box::compute_metrics): Don't let
- SUP_RAISE_FORMAT become negative.
-
- * tbl/table.c (table::do_row): Entries that don't end in the
- this row shouldn't make the row non-blank.
-
- * tbl/table.c (table::make_columns_equal): Only set the width of
- columns which are marked as equal.
-
- * tbl/main.c (process_data): Before issuing excess data error,
- if last character was a newline unget it; then get it again after
- the error. Also include the contents of the entry in the message.
-
- * groff.c: New file.
- * Makefile: Build groff from groff.c. Make it possible to use
- either groff.sh or groff.c as groff.
- * Makefile.bd: Similarily.
-
- Mon Sep 3 09:39:49 1990 James Clark (jjc at jclark)
-
- * groff.sh: Don't delay expansion of $@ in assignment to files.
- Remove occurrences of \".
-
- Sun Sep 2 09:56:59 1990 James Clark (jjc at jclark)
-
- * all Makefiles: Simplify and rearrange.
-
- * Makefile: Handle fmod like malloc.
- * lib/Makefile: Similarily.
- * lib/fmod.c: Remove #ifdef NEED_FMOD.
-
- * Makefile: Rename OPTIMISE to OPTIMIZE.
-
- * groff.sh: Remove assignment to PATH.
- * Makefile: Remove SHPATH variable.
- * Makefile.bd: Similarily.
-
- * groff.sh: Add -V option to print the pipeline instead of
- executing it.
-
- Fri Aug 31 00:56:46 1990 James Clark (jjc at jclark)
-
- * lib/font.c: Split off file searching into ...
- * lib/fontfile.c: New file.
-
- * lib/strerror.c (strerror): Use `Error %d' for unknown errors.
-
- Thu Aug 30 13:13:55 1990 James Clark (jjc at jclark)
-
- * tbl/table.c (table::do_hspan): Delete assertion that e != 0.
- Also change misleading comment.
- (table::do_vspan): Change similarily misleading comment.
- * tbl/main.c (process_data): A format row with an explicit `s'
- uses up a data line, even if all the other columns are `_' or `='.
-
- * troff/input.c (token::description): Fix description of
- TOKEN_DUMMY and TOKEN_EMPTY.
-
- Wed Aug 29 04:12:08 1990 James Clark (jjc at jclark)
-
- * groff.sh: Fix description of -Z in help message.
-
- Tue Aug 28 07:28:33 1990 James Clark (jjc at jclark)
-
- * pic/object.c (object_spec::make_object): Allow negative and zero
- line thicknesses.
- * pic/pic.y: Give linethick default value of -1.0.
- * pic/troff.c (troff_output::troff_output): Initialize
- last_line_thickness to BAD_THICKNESS.
- (troff_output::finish_picture): Set thickness to BAD_THICKNESS.
- (troff_output::line_thickness): Canonicalize negative thicknesses
- to RELATIVE_THICKNESS.
- * pic/tex.c (tex_output::set_pen_size): Silently map negative line
- thicknesses to DEFAULT_PEN_SIZE. Canonicalize negative pen sizes
- to -1.0.
- (tex_output::start_picture): Set pen_size to -2.0.
-
- * ps/ps.c (ps_printer::set_line_thickness): If line_thickness is
- 0, then use 0 linewidth.
- (ps_printer::ps_printer): Initialize line_thickness to -1.
-
- * pic/troff.c (troff_output::simple_ellipse): Divide by scale.
-
- * ps/devps/symbolchars: Remove `or'.
- * ps/tmac.ps: Implement \(or with .char.
-
- * ps/devps/symbolchars: Move most characters into textmap.
- * ps/devps/textmap: Add names for troff bracket characters. Remove
- ul, ru, br, bv.
-
- * ps/devps/TSymbol.ps: Removed.
- * ps/devps/FontMakefile: Make S from Symbol not TSymbol.
- * ps/tmac.ps: Do with .char what TSymbol did.
- * ps/devps/download: Remove TSymbol.
-
- * ps/devps/T: Removed.
- * ps/devps/Troff.ps: Removed.
- * ps/devps/Troff.afm: Removed.
- * ps/tmac.ps: Implement \(ru, \(ul, and \(br with .char.
- * ps/devps/download: Remove Troff.
- * ps/devps/FontMakefile: Remove T target.
- * ps/devps/DESC-A4: Remove T from font list.
- * ps/devps/DESC-letter: Likewise.
-
- * troff/input.c (macro_to_node): Rename to ...
- (charinfo_to_node): Don't pass mac argument. Temporarily remove the
- character's definition while processing it.
- * troff/node.c (node::add_char, make_node): Change calls to
- macro_to_node accordingly.
-
- * troff/input.c (token::next): Translate \_ to \(ul.
-
- * tty/devascii/R.proto: Add `|'.
- * tty/devlatin1/R.proto: Likewise.
-
- Mon Aug 27 11:25:41 1990 James Clark (jjc at jclark)
-
- * man: Put the version number in all the man pages.
-
- Sun Aug 26 11:40:05 1990 James Clark (jjc at jclark)
-
- * Makefile.bd: New file.
- * README.bd: New file.
-
- * VERSION: New file.
- * lib/version.c: Removed.
- * lib/Makefile: Create version.c from ../VERSION. Remove version.c
- in clean target.
-
- * troff/input.c (main): Get hyphen_file from GROFF_HYPHEN
- environment variable.
-
- * all Makefiles: Split install target into install.bin for
- binaries, and install.nobin for everything else.
- * Makefile: Add bindist target.
-
- * man/afmtodit.man: New file.
- * man/Makefile: Add afmtodit.n to MAN1PAGES.
- * ps/devps/Makefile: Add textmap to DEVICEFILES. Install afmtodit
- in BINDIR.
- * ps/Makefile: Pass BINDIR to make install in devps.
-
- * ps/ps.c (ps_printer::set_char): Do nothing if the character is
- the space character.
-
- * ps/devps/FontMakefile: Rename symbol.afm to tsymbol.afm.
-
- Sat Aug 25 15:39:03 1990 James Clark (jjc at jclark)
-
- * ps/ps.c: Redo font downloading.
- * ps/devps/download: New file.
- * ps/devps/Makefile: Add download to DEVICEFILES.
- * ps/devps/afmtodit: Remove -d option.
- * ps/devps/FontMakefile: Don't use -d option with afmtodit.
- * ps/devps/symbosl.ps: Add %%DocumentFonts comment.
- * ps/devps/zapfdr.ps: Likewise.
- * ps/devps/TSymbol.ps: Likewise.
-
- Fri Aug 24 20:10:30 1990 James Clark (jjc at jclark)
-
- * groff.sh: Initialize dev to ${GROFF_TYPESETTER:-@DEVICE@}.
-
- Thu Aug 23 10:03:47 1990 James Clark (jjc at yquem)
-
- * ps/ps.c (ps_output::include_file): If BROKEN_SPOOLER is defined,
- then strip the first line if it starts with %.
- * Makefile: Add a comment about this.
-
- * man/tfmtodit.man: New file.
- * man/Makefile: Add tfmtodit.n to MAN1PAGES.
- * dvi/Makefile: Install tfmtodit in BINDIR.
-
- * dvi/tfmtodit.c (usage): Mention -v option.
-
- Wed Aug 22 09:56:36 1990 James Clark (jjc at yquem)
-
- * troff/node.c (troff_output_file::end_of_line): Call do_motion.
- * troff/node.c (troff_output_file::transparent_char): Don't call
- flush_tbuf.
-
- * eqn: Add check_tabs method to most box classes.
- * eqn/box.c (box::top_level): Call check_tabs.
-
- * eqn/script.c (script_box::output): Use \Z.
- * eqn/limit.c (limit_box::output): Use \Z.
-
- * eqn/box.c (box::top_level): Use itoa.
-
- Tue Aug 21 09:29:28 1990 James Clark (jjc at yquem)
-
- * dvi/tmac.dvi: Add font translations for CR, C, TT.
- * dvi/devdvi/Makefile: Don't make links to CW.
-
- * ps/tmac.ps: Add font translations for C, CW, CO, CX, CD, H, HO,
- HX, HD.
- * xditview/tmac.X: Likewise.
-
- * troff/node.c: Add font translation feature.
- (get_font_translation): New function.
- (symbol_fontno): Translate the font name.
- (mount_font_no_translate): Rename to mount_font to this.
- (mount_font): New function.
- (font_family::make_definite): Call mount_font_no_translate instead
- of mount_font.
- (mount_style): Translate the font name.
- (font_translate): New function.
- (init_font_requests): Bind "ftr" to font_translate.
-
- * ps/devps/prologue (SN): New procedure that rounds a position to
- the nearest (pixel + (.25,.25)).
- (DL): Use SN to round endpoints.
-
- * lib/version.c: Changed version to 0.5.
-
- Sat Aug 18 04:43:21 1990 James Clark (jjc at yquem)
-
- * Makefile: Move definition of PAGE to the very beginning, so that
- people are less likely to miss it.
-
- Fri Aug 17 02:15:11 1990 James Clark (jjc at yquem)
-
- * man/Makefile: Don't need to sed out @UPCASE_PROG_PREFIX@.
-
- * troff/env.c (environment::choose_breakpoint): Make `can't find
- breakpoint' error a warning of type WARN_BREAK. Change message to
- `can't break line'.
- * troff/groff.h: Declare WARN_BREAK with code 4; change WARN_INPUT to
- code 040000.
- * troff/input.c: Add WARN_BREAK to warning_table. Include
- WARN_BREAK in DEFAULT_WARNING_MASK.
-
- * tty/tmac.tty: Add definition of \(+-.
-
- * groff.sh: Remove `--' option to set command.
-
- * dvi/devdvi/texsy.map: Remove duplicate md entry.
-
- * ps/devps/eqnchar: Better definition of cdot using md.
- * dvi/devdvi/eqnchar: Likewise.
- * xditview/devX100/eqnchar: Likewise.
- * xditview/devX75/eqnchar: Likewise.
- * eqn/lex.c: Add definition of cdot.
-
- Thu Aug 16 09:33:57 1990 James Clark (jjc at yquem)
-
- * troff/input.c (get_optional_char): New function.
- * troff/input.c (set_page_character): Use get_optional_char(),
- rather than has_arg() and tok.get_char(1).
- * troff/env.c (tab_character, leader_character, hyphen_char,
- field_characters): Likewise.
- (margin_character): Likewise. Also always delete the
- margin_character_node.
-
- * troff/input.c (token::get_char): Use token::description.
-
- * troff/input.c (has_arg): Don't skip over tab and \}.
- * troff/number.c (start_number): Give a warning if the number
- starts with \} (WARN_RIGHT_BRACE) or tab (WARN_TAB).
-
- Wed Aug 15 10:04:37 1990 James Clark (jjc at yquem)
-
- * troff/input.c (empty_name_warning, non_empty_name_warning): New
- functions.
- (get_name, get_long_name): Use these. Rename `warn' argument to
- `required'.
-
- * troff/node.c (get_fontno): Test that the symbol is not null.
-
- * troff/input.c (token::description): New function.
- * troff/number.c (parse_term): Use token::description in `numeric
- expression expected' message.
- * troff/groff.h: Add WARN_MISSING.
- * troff/number.c (start_number): New function.
- * troff/number.c (get_vunits, get_hunits, get_number, get_integer,
- get_incr_number): Use start_number().
- * troff/input.c (DEFAULT_WARNING_MASK): Enable WARN_NUMBER by
- default.
- * troff/input.c (get_name, get_long_name): Use WARN_MISSING.
- * troff/reg.c (alter_format): Use WARN_MISSING. Also use
- token::descripion.
- * troff/input.c (token::get_char): Use WARN_MISSING.
- * troff/input.c (token::delimiter): Use token::description.
- * troff/env.c (environment_switch): Back out Aug 3 change.
- * troff/input.c (has_arg): Skip over \}s and tabs but give a
- warning.
- * troff/token.h (token::tab): New function.
- * troff/node.c (get_fontno): Use tok.skip() rather than has_arg().
- * troff/reg.c (alter_format): Likewise.
- * troff/node.c (bold_font): Use has_arg() rather than tok.skip().
-
- Tue Aug 14 10:11:21 1990 James Clark (jjc at yquem)
-
- * troff (most files): Redo warnings. Divide warnings into various
- categories; warning() has an additional first argument indicating
- the category it falls into.
- * troff/input.c (main): -w now takes an argument. New option -W.
- (enable_warning, disable_warning): New functions.
-
- * ps/devps/afmtodit: Add -a option to lie about the italic angle.
- * ps/devps/FontMakefile: Pretend TI has an angle of 7.
-
- Mon Aug 13 10:11:16 1990 James Clark (jjc at yquem)
-
- * ps/devps/eqnchar: Better definitions of dotdot, vec, dyad, inf.
- * xditview/devX100/eqnchar: Likewise. Remove definition of dot.
- * xditview/devX75/eqnchar: Likewise.
- * dvi/devdvi/eqnchar: Better definitions of vec, dyad, dotdot.
-
- * eqn/other.c: When bar or over applies to a single character
- don't produce an overline_box or an underline_box. Instead produce
- an accent_box or an underaccent_box, with the accent a line
- whose width is accent_width. New classes underaccent_box,
- overline_char_box and underline_char_box.
- * eqn/box.h: Move overline_box, underline_box, accent_box class
- declarations into eqn/other.c. Add declarations of
- make_underline_box, make_overline_box, make_accent_box.
- * eqn/eqn.y: Call make_overline_box, make_underline_box
- make_accent_box instead of constructors.
- * eqn/pbox.h, eqn/box.c: Add accent_width parameter.
-
- * eqn/other.c: Add accent_box::~accent_box.
- * eqn/box.h: Declare it.
-
- * groff.sh: With -Tps, use eqn -D.
-
- * eqn/other.c (overline_box::output): Use \Z. If draw_flag use \D
- rather than \l.
- (underline_box::output): Similarily.
- (accent_box::output): Use \Z.
-
- * xditview/tmac.X: Add definitions of ~ and ^ (so that they are a
- bit smaller.)
-
- Sun Aug 12 09:41:15 1990 James Clark (jjc at yquem)
-
- * troff/div.c (top_level_diversion::transparent_output(unsigned
- char)): Use asciify.
- * troff/input.c (asciify): Don't make it static.
- * troff/token.h (asciify): Declare it.
-
- * troff/input.c (get_name, get_long_name, token::get_char,
- token::delimiter): Add an extra default argument which says
- whether a warning should be printed.
- * troff: Pass a non-zero argument to one of these rather than
- printing a warning directly.
-
- Sat Aug 11 09:02:21 1990 James Clark (jjc at yquem)
-
- * troff: Consistently use symbol::is_null.
-
- * troff/dictionary.h: Move some inline functions into
- dictionary.c.
-
- * troff/request.h: Move inline functions into input.c.
- (request_or_macro::invoke): Make it pure.
-
- * troff/input.c, troff/reg.h: New class `constant_int_reg'.
- * troff/input.c (init_input_requests): Use class constant_int_reg.
- (class compatible_reg): Deleted.
- * troff/div.c (init_div_requests): Use class constant_int_reg.
- (class last_post_line_extra_space_reg): Deleted.
-
- * troff/env.c (tab_character): Don't change the tab character if
- we get an invalid argument.
- (hyphen_char): Similarily.
-
- * troff/reg.c (alter_format): Check that nm is not null.
-
- * Makefile, groff.sh: Make it possible to customize the commands
- used for printing PostScript and dvi files. Also make it possible
- to customize the path used by groff.sh.
-
- * eqn/eqn.y: Make `left' right associative.
-
- Fri Aug 10 18:20:39 1990 James Clark (jjc at yquem)
-
- * pic/pic.h: Added definition of M_SQRT2 for those systems that
- don't have it.
-
- * pic/pic.h: Removed definition of INT_MAX.
-
- * troff/node.c (italic_corrected_node::vertical_extent): Omit
- `return'.
-
- * troff/input.c (token::next): Handle \R like \n.
-
- Tue Aug 7 09:46:33 1990 James Clark (jjc at yquem)
-
- * ps/tmac.pc (PSPIC): Simplify.
-
- * troff/env.c (tab_stops::to_string):
- * pic/pic.y (object_type_name):
- * pic/troff.c (simple_output::line):
- * pic/tex.c (tex_output::spline):
- * pic/object.c (object_spec::make_object):
- * tbl/main.c (process_data): Add cases to switch statements to
- avoid cfront warnings. (Some of these are spurious, since the
- switch already has a default case.)
-
- * ps/tmac.ps (PSPIC): Reformatted. Prefix all local names with
- `ps-'. Don't test systat; instead check number of arguments to
- ps-bb.
-
- Mon Aug 6 00:13:07 1990 James Clark (jjc at yquem)
-
- * macros/tmac.e: Do not decrease the page offset by 0.5i.
-
- * ps/ps.c (ps_printer::ps_printer): Use mktemp instead of tempnam.
- Unlink the file as soon as we have opened it, so that we don't
- have to bother with signal handlers.
- (handler): Deleted.
- (fatal_error_exit): Deleted.
- (main): Don't call signal.
-
- * dvi/tfmtodit.c: Add -k option so that kerns with the skewchar
- can be ignored.
- * dvi/devdvi/Makefile: Use the -k option with S and MI.
-
- * pic/pic.y: If there is a label, or an nth construction before
- the first `.' in the argument to `with', ignore it and generate a
- warning.
- * pic/lex.c (lex_warning): New function.
-
- * tbl/table.c (table::init_output): In section keep and release
- macro, use 0 indent when diverting and the correct indent when
- rereading.
-
- * troff/input.c (interpolate_number_format): Do not interpolate
- anything if the number register is not defined.
-
- * tbl/main.c (process_data): Don't add entry when col >= ncolumns.
-
- Sat Aug 4 08:12:05 1990 James Clark (jjc at yquem)
-
- * ps/devps/prologue (PICTURE): Set components of graphics state to
- their default values.
-
- * ps/devps/text.enc: Add trademark
- * ps/devps/textmap: Add names for club, spade, heart, diamond,
- carriagereturn, suchthat. Use Upsilon1 rather than Upsilon.
- * ps/devps/symbolchars: Add names for summation and product.
-
- * dvi/devdvi/texsy.map: Add names for club, spade, heart, diamond,
- suchthat. Add pp. Add upper-case letters.
-
- * xditview/libXdvi/DviChar.c: Add names for club, spade, heart,
- diamond, carriagereturn, suchthat. Use Upsilon1 rather than
- Upsilon.
-
- * dvi/devdvi/texsy.map: Rename lA (left angle bracket) to la, and
- rA (right angle bracket) to ra. Introduce names for double-headed
- arrows and double-barred arrows: <>, va, lA, rA, hA, uA, dA, vA.
- * ps/devps/textmap: Likewise for ps device.
- * xditview/libXdvi/DviChar.c: Likewise for X100 and X75 devices.
- * tty/devascii/R.proto: Rename lA to la and rA to ra.
- * tty/devascii/R.proto: Likewise.
- * tty/tmac.tty: Provide definitions for \(<>, \(lA, \(rA, \(hA,
- \(uA, \(dA.
- * eqn/delim.c: In delim_table, rename \(lA to \(la and \(rA to \(ra.
-
- * xditview/tmac.X: Add definitions for \(fi \(fl \(ff \(Fi \(Fl.
-
- * eqn/lex.c: Added definitions of `approx', `grad' and `del' to
- def_table.
-
- Fri Aug 3 09:59:27 1990 James Clark (jjc at yquem)
-
- * troff/div.c (when_request): Use symbol::is_null rather than
- has_arg to determine whether we have an argument.
- (change_trap): Remove the trap if we get an invalid number. Give
- an error if we don't get at least the macro name.
- (diversion_trap): Remove trap if we get an invalid name or number.
-
- * troff/env.c (environment_switch): Pop if we get an invalid
- symbol or numeric expression.
-
- * troff/input.c (do_define_macro): If EOF is encoutered while
- defining the macro, do tok.next() before returning.
-
- * troff/token.h (has_arg): Move definition from here, to ...
- * troff/input.c (has_arg): ... here
-
- * troff/env.c (space_size): Do nothing if we get an invalid argument.
- * troff/input.c (shift): Likewise.
-
- * pic/lex.c (get_token_after_dot): Accept `.center' as a synonym
- for `.c'.
-
- * pic/troff.c (troff_output::start_picture): Comment out calls to
- `..'.
-
- * eqn/main.c (do_file): Subtract 1 from current_lineno if
- interpret_lf_args succeeds.
-
- * eqn/main.c (do_file): Don't recognize delimiter if preceded by
- \\. This avoids problems with \$N.
-
- * groff.sh: Pass -C to preprocessors.
-
- * lib/lf.c (interpret_lf_args): Be more flexible.
-
- * tbl/main.c (main): Add -C option.
- (table_input::get): Do not recognize TE if followed by character
- other than a space or newline unless -C option given.
- (process_input_file): Likewise for lf, TS.
- (process_data): Likewise for lf in text blocks.
-
- * eqn/main.c (main): Add -C option.
- (do_file): Don't recognize EQ, EN or lf if followed by character
- other than space or newline unless -C option given.
- * eqn/lex.c (file_input::read_line): Similarily.
- * eqn/eqn.h: Declare compatible_flag.
-
- * etc/soelim.c (main): Add -C option.
- (interpret_lf_args): Use version in libgroff.
- (do_file):
-
- * pic/main.c (main): Add -C option, which sets compatible_flag.
- (top_input::get), (top_input::peek): If -C option not given,
- do not recognize .PS/.PE/.PF/.lf if followed by a character
- other than space or newline.
- * pic/lex.c (file_input::read_line): Similarily.
- * pic/pic.h: Add declaration of compatible_flag.
-
- Thu Aug 2 11:11:27 1990 James Clark (jjc at yquem)
-
- * ps/tmac.ps (PSPIC): Avoid use of `echo -n'.
-
- * troff/node.c, troff/node.h: Add `asciify' methods to classes
- derived from node. New class space_char_hmotion_node.
- * troff/input.c (asciify_macro): New function.
- * troff/input.c (init_input_requests): New request `asciify' bound
- to asciify_macro.
- * macros/mm.diff: New file.
- * Makefile: In install.mm target use `patch' to apply
- macros/mm.diff.
-
- * troff/input.c (macro::print_size): Just print the size in bytes.
-
- * troff/div.c (return_request): Correct the argument
- interpretation.
-
- Wed Aug 1 12:38:36 1990 James Clark (jjc at yquem)
-
- * troff/node.h (class composite_node): Add sz member.
- * troff/node.c (composite_node::size): Return sz.
- * troff/input.c (macro_to_node): Use the initial size in the
- environment as the size of the composite_node.
-
- * troff/node.c (node::zero_width_tprint): Provide a reasonable
- default.
-
- Tue Jul 31 10:07:10 1990 James Clark (jjc at yquem)
-
- * troff/div.c (change_trap): If we get a bad number expression,
- do nothing.
-
- Mon Jul 30 10:30:49 1990 James Clark (jjc at yquem)
-
- * lib/matherr.c (matherr): Define this only if math.h defines
- TLOSS.
-
- Sun Jul 29 10:34:27 1990 James Clark (jjc at yquem)
-
- * troff/div.c (macro_diversion::distance_to_next_trap): If there
- no diversion trap return vunits(INT_MAX - vresolution).
-
- Sat Jul 28 14:28:14 1990 James Clark (jjc at yquem)
-
- * troff/input.c (do_zero_width): New implementation that doesn't
- use a temporary environment. Use instead:
- (token::add_to_node_list): New function.
- * troff/env.c (environment::get_prev_char_height),
- (environment::get_prev_char_height),
- (environment::get_prev_char_skew): New functions.
- (environment::get_prev_char): New function.
- (environment::get_prev_char_width): Change to use get_prev_char.
- (init_env_request): Implement new registers .cht, .cdp, .csk.
- * eqn/sqrt.c (sqrt_box::output): Don't rely upon the argument to
- \Z being processed in a separate environment.
-
- Fri Jul 27 10:21:25 1990 James Clark (jjc at yquem)
-
- * tbl/table.c: Removed TABLE_BOTTOM_REG.
-
- * tbl/table.c (table::init_output): In the section release macro,
- give a warning message if the section won't fit on one page.
-
- * tbl/table.c (table::do_top): Emit table keep only if table is
- boxed.
- (table::do_bottom): Likewise for table release.
- (table::table), (table::add_vertical_rule): Remove reference to
- keep member.
- * tbl/table.h: Remove keep member.
-
- * tbl/table.c: New register SUPPRESS_BOTTOM_REG. In
- SECTION_RELEASE_MACRO, if there's not enough space before the next
- trap to output the diversion, call T# ourselves, set
- SUPPRESS_BOTTOM_REG to 1, spring the trap, then set
- SUPPRESS_BOTTOM_REG back to 0. In T#, do nothing if
- SUPPRESS_BOTTOM_REG is non-zero. In T#, always mark the current
- vertical position and return to it before turning traps on again.
-
- Thu Jul 26 02:54:32 1990 James Clark (jjc at yquem)
-
- * troff/node.c, troff/node.h: In classes derived from node,
- replace prev_char_width method by last_char_node method.
- * troff/env.c (environment::get_prev_char_width): Use
- node::last_char_node rather than node::get_prev_char_width.
-
- * Makefile: Added comment about -fno-inline on 68030-based
- Apollos.
-
- * troff/reg.c (number_format_to_ascii), eqn/delim.c (DELIM_TABLE_SIZE),
- tty/tty.c (tty_font::load_tty_font), dvi/tfmtodit.c (main): Cast
- expressions using sizeof to int.
- * dvi/dvi.c (dvi_font::handle_x_command): Avoid long->int warnings.
-
- * macros/tmac.e (TS): Don't move @f back past the current
- position.
-
- Wed Jul 25 09:11:08 1990 James Clark (jjc at yquem)
-
- * ps/ps.c (main): Buffer stderr.
- * dvi/dvi.c (main): Likewise.
- * tty/tty.c (main): Likewise.
-
- * ps/ps.c (ps_printer::do_import): Improve error handling.
-
- * troff/input.c (abort_request): Use asciify.
-
- * driver/printer.h (printer::draw), driver/printer.c (printer::draw),
- ps/ps.c (ps_printer::draw), dvi/dvi.c (dvi_printer::draw): Make
- type of first argument int rather than char. This works around a
- bug on the 68030 based Apollo using g++ 1.37.1.
-
- * tbl/table.h (class table): Add `keep' member.
- * tbl/table.c (table::table): Initialize `keep'.
- (table::add_vertical_rule): Set `keep' to 1.
- (table::do_top): Only emit table keep macro is `keep' is non-zero.
- (table::do_bottom): Likewise for table release macro.
- (table::do_row): Emit section keep macro even if the row is 0.
-
- Tue Jul 24 08:35:07 1990 James Clark (jjc at yquem)
-
- * macros/tmac.e (@C): Preserve the font family across the change
- in environments.
-
- Mon Jul 23 10:15:23 1990 James Clark (jjc at yquem)
-
- * lib/font.c: Initialize font::hor and font::vert to 1.
- (font::load_desc): Check the values of font::hor and font::vert.
-
- * lib/lib.h: Added definition of INT_DIGITS. Fix it so that it can
- be included in a C compilation.
- (iftoa): Use INT_DIGITS. Include lib.h.
- (itoa): Likewise.
- (as_string): Likewise.
- * tbl/table.c: Removed definition of INT_DIGITS.
- * eqn/box.c (box::top_level): Use INT_DIGITS + 1 instead of 12.
- * troff/input.c (input_input_requests): Likewise.
- * ps/ps.c (make_encoding_name): Likewise.
- (ps_printer::set_style): Likewise.
- (ps_output::put_number): Use 1 + INT_DIGITS + 1 instead of 12.
-
- * tty/devascii/R.proto: Map fm onto '.
- * tty/devlatin1/R.proto: Likewise.
-
- Sat Jul 21 12:45:07 1990 James Clark (jjc at yquem)
-
- * tbl/table.c: Use ' instead of DELIMITER_CHAR in places where the
- argument to \w is at a different input level.
-
- * tbl/table.c (table::init_output): Define a new macro
- REPEATED_VPT_MACRO, like vpt but if in a diversion also
- transparently outputs itself.
- (table::define_bottom_macro): Use REPEATED_VPT_MACRO instead of
- vpt.
- (table::do_row): Likewise.
-
- * tbl/table.c (vertical_rule::print): Prefix the .sp -1 line with
- TRANSPARENT_STRING_NAME.
-
- * tbl/table.c (table::init_output): In the table release macro
- print an error message and don't produce any output if after
- issuing the need request the table still will not fit. Also
- remove the diversion after bringing it back.
-
- * tbl/table.c (table::init_output): Define a new macro
- REPEATED_MARK_MACRO, like mk but if in a diversion also
- transparently outputs itself.
- (table::do_row): Mark row_top_reg using REPEATED_MARK_MACRO. This
- is necessary because .TH might not call .T#.
- (table::do_top): Likewise TOP_REG.
- (table::define_bottom_macro): If TOP_REG is no longer valid, use
- #T - DOUBLE_LINE_SEP rather than #T. This is necessary because the
- table header might contain just the two top rules.
-
- Fri Jul 20 10:51:42 1990 James Clark (jjc at yquem)
-
- * troff/div.c: Implement new request `ptr' to print all traps.
-
- * troff/env.c (init_env_requests): Implement `.tabs' reg with
- init_string_env_reg.
- * troff/env.c (class tab_reg): Deleted.
-
- Thu Jul 19 12:07:16 1990 James Clark (jjc at yquem)
-
- * troff/div.c: New number register .pn returns the number of the
- next page as set by the pn request.
-
- * macros/tmac.an: Redid headers and footers. Number each manual
- entry starting from 1 unless \nC is > 0, like Sun. Added an
- optional 5th argument to .TH which specifies the manual name and
- appears in the center of the header. Understand the X, P and D
- registers like Sun.
-
- Wed Jul 18 10:23:31 1990 James Clark (jjc at yquem)
-
- * troff/env.c (init_env_requests): New number register `.lt' to
- return the title length.
-
- * troff/node.h (class transparent_dummy_node): New class.
- * troff/node.c (class transparent_dummy_node): Provide member
- functions.
- * troff/env.c (interrupt): Add a transparent_dummy_node, rather
- than a dummy_node.
-
- * troff/input.c (token::next): New escape sequence \).
- * troff/input.c (get_copy): Recognize \) in copy mode.
-
- * troff/input.c (input_stack::clear): New function.
- * troff/input.c (exit_request): Use input_stack::clear.
-
- * troff/token.h: Removed TOKEN_NO_PRINT_CHAR.
- * troff/input.c (token::process): Removed case TOKEN_NO_PRINT_CHAR.
-
- * troff/env.c: Move set_page_character to input.c. Move
- page_character to input.c also.
- * troff/env.c (title): Split off the reading of the parts of the
- title into read_title_parts.
- * troff/input.c (read_title_parts): New function. Check the
- input_level when testing whether a token matches the delimiter.
-
- * troff/input.c (exit_request): New function.
- * troff/input.c (init_input_requests): Bind ex request to
- exit_request rather than exit_groff.
-
- * troff/input.c (exit_groff): Call tok.next() before
- process_input_stack().
-
- Mon Jul 16 09:47:23 1990 James Clark (jjc at yquem)
-
- * troff/env.c: ifdef widow control support on WIDOW_CONTROL.
- * troff/env.h: ditto.
- * troff/input.c: ditto.
-
- * troff/env.c (environment::is_empty): Test pending_lines.
-
- * troff/env.c (environment::have_pending_lines): Removed.
-
- * troff/input.c: Add request to flush pending lines from the
- environment.
-
- * troff/env.c, troff/env.h: Add automatic widow control feature.
-
- * troff/input.c (exit_groff): Do process_input_stack() after
- do_break() but before setting exit_flag to 2.
-
- * troff/input.c: Remove FLUSH_PENDING_LINES and
- TOKEN_FLUSH_PENDING_LINES. Instead, flush pending lines from
- environment after END_TRAP token seen, but only if there aren't
- any more traps still unfinished.
- * troff/token.h: Remove TOKEN_FLUSH_PENDING_LINES.
-
- Sun Jul 15 10:50:08 1990 James Clark (jjc at yquem)
-
- * troff/env.c: Rename the `retain_size' member of class
- pending_output_line to `no_fill'.
-
- * troff/env.c (title): When the line is output, make the
- retain_size argument !fill.
-
- * troff/node.h: Add `hyphenated' member to struct breakpoint.
- * troff/node.c (space_node::get_breakpoints),
- (dbreak_node::get_breakpoints): Fill this in.
- * troff/env.c: Allow specification of maximum number of
- consecutive hyphenated lines.
-
- * troff/env.c (environment::is_empty): Add test for !current_tab.
-
- Sat Jul 14 11:23:01 1990 James Clark (jjc at yquem)
-
- * troff/env.c (environment::hyphenate_line): Don't completely give
- up if the word is not to be hyphenated; continue so that breaks
- can be made at break_char_node's.
-
- * lib/lib.h: Only define INT_MAX if it's not already defined;
- undef INT_MIN if it's already defined.
-
- * Makefile: Make it easy to define CFRONT_ANSI_BUG.
-
- * lib/lib.h: If CFRONT_ANSI_BUG is defined, cast INT_MIN to long.
- This works around a bug in AT&T C++ 2.0 used with an ANSI C
- compiler.
-
- * macros/tmac.an (an-header): Set no-space mode.
-
- * macros/tmac.an (TH): Start a new page if necessary.
-
- * Started using ChangeLog at version 0.4.
-
- Local Variables:
- version-control: never
- End:
-