CVS log for mandoc/term.h

[BACK] Up to [cvsweb.bsd.lv] / mandoc

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.134 / (download) - annotate - [select for diffs], Tue Aug 16 17:45:55 2022 UTC (19 months, 1 week ago) by schwarze
Branch: MAIN
CVS Tags: HEAD
Changes since 1.133: +3 -2 lines
Diff to previous 1.133 (colored) to selected 1.11 (colored)

When starting a new input line, even when continuing the same output
line, use the current output position as the reference position
for tabs on that input line.  This brings mandoc in line with the
behaviour of GNU, Heirloom, and Plan 9 roff.

Revision 1.133 / (download) - annotate - [select for diffs], Mon Aug 15 13:04:43 2022 UTC (19 months, 1 week ago) by schwarze
Branch: MAIN
Changes since 1.132: +2 -1 lines
Diff to previous 1.132 (colored) to selected 1.11 (colored)

In GNU, Heirloom, and Plan 9 roff, tab positions apply to *input* lines,
not to *output* lines.  In particular, if an input line gets broken in
fill mode and a tab occurs in the second output line, it advances to a
position of at least (width of the first output line) + (width of a
space character even though this is never printed) + (width of the part
of the second output line that precedes the tab).

Implement the same logic in mandoc.

Again, do not use tabs in filled text: they have surprising effects,
including this one.

Revision 1.132 / (download) - annotate - [select for diffs], Mon Oct 4 18:56:31 2021 UTC (2 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.131: +2 -1 lines
Diff to previous 1.131 (colored) to selected 1.11 (colored)

Provide a cleanup function for the term_tab module, freeing memory
and resetting the internal state to the initial state.
Call this function from the proper place in term_free().

With the way the module is currently used, this does not imply any
functional change, but doing proper cleanup is more robust, makes
it easier during code review to understand what is going on, and
makes it explicit that there is no memory leak.

Revision 1.131 / (download) - annotate - [select for diffs], Fri Jan 4 03:21:02 2019 UTC (5 years, 2 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_6, VERSION_1_14_5
Changes since 1.130: +4 -2 lines
Diff to previous 1.130 (colored) to selected 1.11 (colored)

Implement centering and adjustment to the right margin directly in
the terminal filling routine, controlled by new flags TERMP_CENTER
and TERMP_RIGHT.
This became possible by the recent term_flushln() rewrite.
No functional change yet, but to be used by upcoming commits.

Revision 1.130 / (download) - annotate - [select for diffs], Sat Jul 8 14:51:05 2017 UTC (6 years, 8 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_4, VERSION_1_14_3, VERSION_1_14_2
Changes since 1.129: +3 -3 lines
Diff to previous 1.129 (colored) to selected 1.11 (colored)

1. Eliminate struct eqn, instead use the existing members
of struct roff_node which is allocated for each equation anyway.
2. Do not keep a list of equation parsers, one parser is enough.
Minus fifty lines of code, no functional change.

Revision 1.129 / (download) - annotate - [select for diffs], Sat Jun 17 14:55:30 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.128: +2 -1 lines
Diff to previous 1.128 (colored) to selected 1.11 (colored)

tables leak tab settings to subsequent text

Revision 1.128 / (download) - annotate - [select for diffs], Wed Jun 14 17:51:15 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.127: +2 -1 lines
Diff to previous 1.127 (colored) to selected 1.11 (colored)

improve rounding rules for scaling units
in horizontal orientation in the terminal formatter

Revision 1.127 / (download) - annotate - [select for diffs], Mon Jun 12 19:05:47 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.126: +4 -2 lines
Diff to previous 1.126 (colored) to selected 1.11 (colored)

Implement automatic line breaking
inside individual table cells that contain text blocks.
This cures overlong lines in various Xenocara manuals.

Revision 1.126 / (download) - annotate - [select for diffs], Wed Jun 7 20:01:19 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.125: +4 -2 lines
Diff to previous 1.125 (colored) to selected 1.11 (colored)

Prepare the terminal driver for filling multiple columns in parallel,
second step: make the per-column byte pointer persistent across
term_flushln() calls, such that a subsequent call can continue at
the point where the previous call left.  If more than one column
is in use, return from term_flushln() when the column is full,
rather than breaking the output line.

No functional change, because nothing sets up multiple columns yet.

Revision 1.125 / (download) - annotate - [select for diffs], Wed Jun 7 17:38:26 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.124: +15 -9 lines
Diff to previous 1.124 (colored) to selected 1.11 (colored)

Prepare the terminal driver for filling multiple columns in parallel,
first step: split column data out of the terminal state struct into
a new column state struct and use an array of such column state
structs.  No functional change.

Revision 1.124 / (download) - annotate - [select for diffs], Wed Jun 7 02:14:09 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.123: +3 -2 lines
Diff to previous 1.123 (colored) to selected 1.11 (colored)

The \h escape sequence provides another method for moving backwards,
and after that, previously written output gets overwritten, but
overwriting with blanks does *not* erase previously written content.
Yes, manual pages exist that are crazy enough to rely on that...

Revision 1.123 / (download) - annotate - [select for diffs], Sun Jun 4 22:44:15 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.122: +6 -3 lines
Diff to previous 1.122 (colored) to selected 1.11 (colored)

Implement the roff(7) .mc (right margin character) request.
The Tcl/Tk manual pages use this extensively.
Delete the TERM_MAXMARGIN hack, it breaks .mc inside .nf;
instead, implement a proper TERMP_BRNEVER flag.

Revision 1.122 / (download) - annotate - [select for diffs], Sun Jun 4 18:50:35 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.121: +4 -4 lines
Diff to previous 1.121 (colored) to selected 1.11 (colored)

Make term_flushln() simpler and more robust:
Eliminate the "overstep" state variable.
The information is already contained in "viscol".
Minus 60 lines of code, no functional change intended.

Revision 1.121 / (download) - annotate - [select for diffs], Mon May 8 15:34:54 2017 UTC (6 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.120: +2 -1 lines
Diff to previous 1.120 (colored) to selected 1.11 (colored)

Basic implementation of the roff(7) .ti (temporary indent) request.
Needed by about four dozen ports (thanks to naddy@ for the research).

Revision 1.120 / (download) - annotate - [select for diffs], Sun May 7 17:31:45 2017 UTC (6 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.119: +4 -2 lines
Diff to previous 1.119 (colored) to selected 1.11 (colored)

Basic implementation of the roff(7) .ta (define tab stops) request.
This is the first feature made possible by the parser reorganization.
Improves the formatting of the SYNOPSIS in many Xenocara GL manuals.
Also important for ports, as reported by many, including naddy@.

Revision 1.119 / (download) - annotate - [select for diffs], Thu May 4 22:16:09 2017 UTC (6 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.118: +7 -5 lines
Diff to previous 1.118 (colored) to selected 1.11 (colored)

Start roff formatter modules for HTML and termininal output,
used by both the mdoc and man formatters, with the ultimate
goal of reducing code duplication between the two macro formatters.
Made possible by the parser unification.
Add the first formatting function (for the .br request).

Revision 1.118 / (download) - annotate - [select for diffs], Sat Nov 7 14:01:16 2015 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_1, VERSION_1_13_4, VERSION_1_13
Changes since 1.117: +1 -4 lines
Diff to previous 1.117 (colored) to selected 1.11 (colored)

In private header files, __BEGIN_DECLS and __END_DECLS are pointless.
Because these work slightly differently on different systems,
they are becoming a maintenance burden in the portable version,
so delete them.

Besides, one of the chief design goals of the mandoc toolbox is to
make sure that nothing related to documentation requires C++.
Consequently, linking mandoc against any kind of C++ program would
defeat the purpose and is not supported.
I don't understand why kristaps@ added them in the first place.

Revision 1.117 / (download) - annotate - [select for diffs], Tue Oct 13 22:59:54 2015 UTC (8 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.116: +1 -2 lines
Diff to previous 1.116 (colored) to selected 1.11 (colored)

Major character table cleanup:
* Use ohash(3) rather than a hand-rolled hash table.
* Make the character table static in the chars.c module:
There is no need to pass a pointer around, we most certainly
never want to use two different character tables concurrently.
* No need to keep the characters in a separate file chars.in;
that merely encourages downstream porters to mess with them.
* Sort the characters to agree with the mandoc_chars(7) manual page.
* Specify Unicode codepoints in hex, not decimal (that's the detail
that originally triggered this patch).
No functional change, minus 100 LOC, and i don't see a performance change.

Revision 1.116 / (download) - annotate - [select for diffs], Mon Sep 21 13:25:00 2015 UTC (8 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.115: +8 -7 lines
Diff to previous 1.115 (colored) to selected 1.11 (colored)

Trailing whitespace is significant when determining the width of a tag
in mdoc(7) .Bl -tag and man(7) .TP, but not in man(7) .IP.
Quirk reported by Jan Stary <hans at stare dot cz> on ports@.

Revision 1.115 / (download) - annotate - [select for diffs], Fri Jul 17 22:38:29 2015 UTC (8 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.114: +2 -1 lines
Diff to previous 1.114 (colored) to selected 1.11 (colored)

Initial, still somewhat experimental implementation to leverage
less(1) -T and :t ctags(1)-like functionality to jump to the
definitions of various terms inside manual pages.
To be polished in the tree, so bear with me and report issues.

Technically, if less(1) is used as a pager, information is collected
by the mdoc(7) terminal formatter, first stored using the ohash
library, then ultimately written to a temporary file which is passed
to less via -T.  No change intended for other output formatters or
when running without a pager.

Based on an idea from Kristaps using feedback from many, in particular
phessler@ nicm@ millert@ halex@ doug@ kspillner@ deraadt@.

Revision 1.114 / (download) - annotate - [select for diffs], Wed Apr 29 18:35:00 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.113: +9 -8 lines
Diff to previous 1.113 (colored) to selected 1.11 (colored)

Replace the kludge for the \z escape sequence by an actual
implementation.  As a side effect, minus ten lines of code.

As another side effect, this also fixes the assertion failure that
used to be triggered by "\z\o'ab'c" at the beginning of an output
line, found by jsg@ with afl (test case 022/Apr27).

Revision 1.113 / (download) - annotate - [select for diffs], Sat Apr 4 17:47:18 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.112: +3 -3 lines
Diff to previous 1.112 (colored) to selected 1.11 (colored)

Rounding rules for horizontal scaling widths are more complicated.
There is a first rounding to basic units on the input side.
After that, rounding rules differ between requests and macros.
Requests round to the nearest possible character position.
Macros round to the next character position to the left.

Implement that by changing the return value of term_hspan()
to basic units and leaving the second scaling and rounding stage
to the formatters instead of doing it in the terminal handler.

Improves for example argtable2(3).

Revision 1.112 / (download) - annotate - [select for diffs], Thu Apr 2 23:48:20 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.111: +7 -6 lines
Diff to previous 1.111 (colored) to selected 1.11 (colored)

Third step towards parser unification:
Replace struct mdoc_meta and struct man_meta by a unified struct roff_meta.
Written of the train from London to Exeter on the way to p2k15.

Revision 1.111 / (download) - annotate - [select for diffs], Sat Jan 31 00:12:41 2015 UTC (9 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_3
Changes since 1.110: +2 -3 lines
Diff to previous 1.110 (colored) to selected 1.11 (colored)

Use relative offsets instead of absolute pointers for the terminal
font stack.  The latter fail after the stack is grown with realloc().
Fixing an assertion failure found by jsg@ with afl some time ago
(test case number 51).

Revision 1.110 / (download) - annotate - [select for diffs], Tue Dec 23 13:48:57 2014 UTC (9 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.109: +3 -5 lines
Diff to previous 1.109 (colored) to selected 1.11 (colored)

support negative horizontal widths in man(7);
minus twenty lines of code in spite of enhanced functionality

Revision 1.109 / (download) - annotate - [select for diffs], Fri Dec 19 17:12:04 2014 UTC (9 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.108: +5 -5 lines
Diff to previous 1.108 (colored) to selected 1.11 (colored)

Enforcing an arbitrary, implementation dependent, undocumented limit
by calling assert() when valid user input exceeds it is a bad idea.
Allocate the terminal font stack dynamically instead of crashing
above 10 entries.  Issue found by jsg@ with afl.

Revision 1.108 / (download) - annotate - [select for diffs], Tue Dec 2 10:08:06 2014 UTC (9 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_2
Changes since 1.107: +2 -1 lines
Diff to previous 1.107 (colored) to selected 1.11 (colored)

Fix the implementation and documentation of \c (continue text input line).
In particular, make it work in no-fill mode, too.
Reminded by Carsten dot Kunze at arcor dot de (Heirloom roff).

Revision 1.107 / (download) - annotate - [select for diffs], Mon Dec 1 08:05:52 2014 UTC (9 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.106: +8 -5 lines
Diff to previous 1.106 (colored) to selected 1.11 (colored)

header cleanup:
* add missing forward declarations
* remove needless header inclusions
* some style unification

Revision 1.106 / (download) - annotate - [select for diffs], Mon Dec 1 04:05:32 2014 UTC (9 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.105: +1 -5 lines
Diff to previous 1.105 (colored) to selected 1.11 (colored)

remove unneccessary inclusion protection; patch from deraadt@

Revision 1.105 / (download) - annotate - [select for diffs], Tue Oct 28 17:36:19 2014 UTC (9 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.104: +2 -2 lines
Diff to previous 1.104 (colored) to selected 1.11 (colored)

Make the character table available to libroff so it can check the
validity of character escape names and warn about unknown ones.
This requires mchars_spec2cp() to report unknown names again.
Fortunately, that doesn't require changing the calling code because
according to groff, invalid character escapes should not produce
output anyway, and now that we warn about them, that's fine.

Revision 1.104 / (download) - annotate - [select for diffs], Sun Oct 26 17:12:03 2014 UTC (9 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.103: +3 -1 lines
Diff to previous 1.103 (colored) to selected 1.11 (colored)

Improve -Tascii output for Unicode escape sequences: For the first 512
code points, provide ASCII approximations.  This is already much better
than what groff does, which prints nothing for most code points.

A few minor fixes while here:
* Handle Unicode escape sequences in the ASCII range.
* In case of errors, use the REPLACEMENT CHARACTER U+FFFD for -Tutf8
and the string "<?>" for -Tascii output.
* Handle all one-character escape sequences in mchars_spec2{cp,str}()
and remove the workarounds on the higher level.

Revision 1.103 / (download) - annotate - [select for diffs], Wed Sep 17 20:18:58 2014 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.102: +3 -4 lines
Diff to previous 1.102 (colored) to selected 1.11 (colored)

simplify handling of .An -[no]split for terminal output:
delete one static function, one flag #define, and 25 lines of code;
no functional change

Revision 1.102 / (download) - annotate - [select for diffs], Wed Sep 3 05:22:45 2014 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.101: +2 -1 lines
Diff to previous 1.101 (colored) to selected 1.11 (colored)

Implement the traditional -h option for man(1): show the SYNOPSIS only.
As usual, we get mandoc -h and apropos -h for free.
Try stuff like "apropos -h In=dirent" or "apropos -h Fa=timespec".

Only useful for terminal output, so -Tps, -Tpdf, -Thtml ignore -h for now.

Revision 1.101 / (download) - annotate - [select for diffs], Sun Apr 20 16:46:05 2014 UTC (9 years, 11 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_1, VERSION_1_12_4, VERSION_1_12
Changes since 1.100: +3 -3 lines
Diff to previous 1.100 (colored) to selected 1.11 (colored)

KNF: case (FOO):  ->  case FOO:, remove /* LINTED */ and /* ARGSUSED */,
remove trailing whitespace and blanks before tabs, improve some indenting;
no functional change

Revision 1.100 / (download) - annotate - [select for diffs], Tue Apr 8 07:13:12 2014 UTC (9 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.99: +7 -6 lines
Diff to previous 1.99 (colored) to selected 1.11 (colored)

Add a new term_flushln() flag TERMP_BRIND (if break, then indent)
to control indentation of continuation lines in TERMP_NOBREAK mode.
In the past, this was always on; continue using it
for .Bl, .Nm, .Fn, .Fo, and .HP, but no longer for .IP and .TP.

I looked at this because sthen@ reported the issue in a manual
of a Perl module from ports, but it affects base, too: This patch
reduces groff-mandoc differences in base by more than 15%.

Revision 1.99 / (download) - annotate - [select for diffs], Sun Mar 30 21:28:01 2014 UTC (10 years ago) by schwarze
Branch: MAIN
Changes since 1.98: +3 -3 lines
Diff to previous 1.98 (colored) to selected 1.11 (colored)

Support relative arguments to .ll (increase or decrease line length).

Revision 1.98 / (download) - annotate - [select for diffs], Sun Mar 30 19:47:48 2014 UTC (10 years ago) by schwarze
Branch: MAIN
Changes since 1.97: +5 -2 lines
Diff to previous 1.97 (colored) to selected 1.11 (colored)

Implement the roff(7) .ll (line length) request.
Found by naddy@ in the textproc/enchant(1) port.
Of course, do not use this in new manuals.

Revision 1.97 / (download) - annotate - [select for diffs], Wed Dec 25 00:39:31 2013 UTC (10 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_3
Changes since 1.96: +2 -1 lines
Diff to previous 1.96 (colored) to selected 1.11 (colored)

Do not break output lines in .Fn function arguments in SYNOPSIS mode.
Following an idea from Franco Fichtner, but implemented more cleanly.
This reduces groff-mandoc-differences in OpenBSD base by a fantastic 7.5%.

Revision 1.96 / (download) - annotate - [select for diffs], Tue Dec 24 23:04:36 2013 UTC (10 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.95: +8 -9 lines
Diff to previous 1.95 (colored) to selected 1.11 (colored)

Delete the unused flag TERMP_IGNDELIM
and the empty callback termp_igndelim_pre().
Sort the remaining termp flags.

Revision 1.95 / (download) - annotate - [select for diffs], Sun Dec 22 23:34:13 2013 UTC (10 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.94: +3 -2 lines
Diff to previous 1.94 (colored) to selected 1.11 (colored)

Polishing the worms in my favourite can, term_flushln().

The TERMP_TWOSPACE flag i introduced in August 2009 was idiosyncratic
and served only a very narrow purpose.  Replace it by a more intuitive
and more general termp attribute "trailspace", to be used together
with TERMP_NOBREAK, to request a minimum amount of whitespace at
the end of the current column.  Adapt all code to the new interface.

No functional change intended;
code reviews to confirm that are welcome *eg*.

Revision 1.94 / (download) - annotate - [select for diffs], Wed Aug 21 21:20:40 2013 UTC (10 years, 7 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_2
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored) to selected 1.11 (colored)

Move the last column-counting members of struct termp (col and maxcols)
from int to size_t, to match some existing ones (offset, *rmargin, viscol).
Move some related local variables from int to size_t as well.

Needed as a preparation to make a generalized adjbuf() function available
beyond the file term.c, i.e. in mandoc.c.
Also saves a couple of ugly casts.

Revision 1.93 / (download) - annotate - [select for diffs], Thu Aug 8 20:07:47 2013 UTC (10 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.92: +2 -1 lines
Diff to previous 1.92 (colored) to selected 1.11 (colored)

Implement the roff(7) font-escape sequence \f(BI "bold+italic".
This improves the formatting of about 40 base manuals
and reduces groff-mandoc formatting differences in base by about 5%.

Revision 1.92 / (download) - annotate - [select for diffs], Thu May 31 22:29:13 2012 UTC (11 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.91: +2 -1 lines
Diff to previous 1.91 (colored) to selected 1.11 (colored)

Implement the roff \z escape sequence, intended to output the next
character without advancing the cursor position; implement it to
simply skip the next character, as it will usually be overwritten.

With this change, the pod2man(1) preamble user-defined string \*:,
intended to render as a diaeresis or umlaut diacritic above the
preceding character, is rendered in a slightly less ugly way,
though still not correctly.  It was rendered as "z.." and is now
rendered as ".".

Given that the definition of \*: uses elaborate manual \h positioning,
there is little chance for mandoc(1) to ever render it correctly,
but at least we can refrain from printing out a spurious "z", and
we can make the \z do something semi-reasonable for easier cases.

"just commit" kristaps@

Revision 1.91 / (download) - annotate - [select for diffs], Sun May 27 18:02:49 2012 UTC (11 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.90: +2 -1 lines
Diff to previous 1.90 (colored) to selected 1.11 (colored)

Fix the vertical spacing around tbl(7) instances in man(7).

Groff forces the document author to manually request sufficient spacing
after .TE - that is, at least .sp 1v after a table with the "box" option
and at least .sp 2v after a table with the "doublebox" option - or else
it clobbers the box.  I consider that insane, so i'm not imitating groff
in that respect.  Instead, i add at least as much vertical space as groff,
or more where required to avoid clobbering the box.

Consequently, output will be identical for input that looks sane with
groff, and mandoc will make output look better for input that looks bad
with groff.

"Please check them in and I'll look into them later!" kristaps@

Revision 1.90 / (download) - annotate - [select for diffs], Sun Dec 4 23:10:52 2011 UTC (12 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_1
Changes since 1.89: +2 -1 lines
Diff to previous 1.89 (colored) to selected 1.11 (colored)

Implement mdoc(7)-like output style variant for man(7) documents:
* one instead of three blank lines after the page header;
* one instead of three blank lines before the page footer;
* source instead of title(section) in the lower right corner.
Select this style variant with the undocumented command line option -Omdoc.
In the long run, we hope to unify the ouput of both languages and
to pull this out again, but that requires coordination with groff.

Grudgingly ok and, (as usual,-) more comments requested by  kristaps@

Revision 1.89 / (download) - annotate - [select for diffs], Sun Nov 13 13:15:14 2011 UTC (12 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.88: +2 -1 lines
Diff to previous 1.88 (colored) to selected 1.11 (colored)

Make the default left text margin configurable from the command line,
just like the default right margin already is.  This may be useful for
people with expensive screen real estate.  Besides, it helps automated
man(7) to mdoc(7) output comparisons to validate -Tman output.
ok kristaps@ on an earlier version

Revision 1.88 / (download) - annotate - [select for diffs], Mon Sep 19 22:36:16 2011 UTC (12 years, 6 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_0
Changes since 1.87: +1 -2 lines
Diff to previous 1.87 (colored) to selected 1.11 (colored)

Remove the terminal frontend flag TERMP_NOLPAD.

In columnated contexts (.Bl -column, .Bl -tag, .IP, .TP, .HP etc.), do not
pad after writing a column.  Instead, always pad before writing content.

In itself, this change avoids:
 - writing trailing whitespace in some situations
 - with .fi/.nf in .HP, breaking lines that were already padded

It allows several bugfixes included in this patch:
 - Do not count backspace as a character with positive width.
 - Set up proper indentation when encountering .fi/.nf in .HP.
 - Adjust the .HP indentation width to what groff does.
 - Never unlimit the right margin unless in the final column.

ok kristaps@

Revision 1.87 / (download) - annotate - [select for diffs], Sun Sep 18 14:14:15 2011 UTC (12 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.86: +2 -2 lines
Diff to previous 1.86 (colored) to selected 1.11 (colored)

forgotten Copyright bumps; no code change
found while syncing to OpenBSD

Revision 1.86 / (download) - annotate - [select for diffs], Fri Jul 22 10:50:46 2011 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_7, VERSION_1_11_6, VERSION_1_11_5
Changes since 1.85: +2 -1 lines
Diff to previous 1.85 (colored) to selected 1.11 (colored)

Add character output (-Tpdf, -Tps, -Tascii) for equations.  This is the
minimum: unseparated terms.

Revision 1.85 / (download) - annotate - [select for diffs], Fri May 20 15:48:22 2011 UTC (12 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_4, VERSION_1_11_3
Changes since 1.84: +3 -2 lines
Diff to previous 1.84 (colored) to selected 1.11 (colored)

Flip on -Tutf8 backend support.  This forces the UTF-8 LC_CTYPE and does
little else.  Also remove the check for __STDC_ISO_10646__.  It turns
out that very few systems---even those that support it---actually
declare this and it's just causing problems instead of being useful.

Revision 1.84 / (download) - annotate - [select for diffs], Tue May 17 14:38:34 2011 UTC (12 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.83: +3 -3 lines
Diff to previous 1.83 (colored) to selected 1.11 (colored)

Add mode for -Tlocale.  This mode, with this commit, behaves exactly
like -Tascii.  While adding this, inline term_alloc() (was a one-liner),
remove some switches around the terminal encoding for the symbol table
(unnecessary), and split out ascii_alloc() into ascii_init(), which is
also called from locale_init().

Revision 1.83 / (download) - annotate - [select for diffs], Sun May 15 00:58:48 2011 UTC (12 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.82: +2 -33 lines
Diff to previous 1.82 (colored) to selected 1.11 (colored)

Move struct termp_ps into term_ps.c; remove the engine union in struct termp,
which only held one entry; finally (as per the first), make "ps" member into a
pointer managed by term_ps.c.  This frees up a nice chunk of memory during
run-time and in the binary.

Revision 1.82 / (download) - annotate - [select for diffs], Sat May 14 18:15:20 2011 UTC (12 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.81: +3 -3 lines
Diff to previous 1.81 (colored) to selected 1.11 (colored)

Make some values "int" that were "size_t".  These are primarily used for
indexing into arrays, so this removes lots of casts from size_t to int.

Revision 1.81 / (download) - annotate - [select for diffs], Sat May 14 17:54:42 2011 UTC (12 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.80: +4 -4 lines
Diff to previous 1.80 (colored) to selected 1.11 (colored)

Make character engine (-Tascii, -Tpdf, -Tps) ready for Unicode: make buffer
consist of type "int".  This will take more work (especially in encode and
friends), but this is a strong start.  This commit also consists of some
harmless lint fixes.

Revision 1.80 / (download) - annotate - [select for diffs], Fri Apr 29 22:18:12 2011 UTC (12 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_2
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 (colored) to selected 1.11 (colored)

Move "chars" interface out of out.h and into mandoc.h.  This doesn't
change any code but for renaming functions and types to be consistent
with other mandoc.h stuff.  The reason for moving into libmandoc is that
the rendering of special characters is part of mandoc itself---not an
external part.  From mandoc(1)'s perspective, this changes nothing, but
for other utilities, it's important to have these part of libmandoc.
Note this isn't documented [yet] in mandoc.3 because there are some
parts I'd like to change around beforehand.

Revision 1.79 / (download) - annotate - [select for diffs], Wed Jan 5 15:37:23 2011 UTC (13 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_1, VERSION_1_10_9, VERSION_1_10_10
Changes since 1.78: +2 -2 lines
Diff to previous 1.78 (colored) to selected 1.11 (colored)

Stuff tbl_calc() into out.c so that it can be shared by all output modes
(isn't now, but will need to be, used by -T[x]html also).  Necessitated
a lot of churn in getting tbl_calc* code out of tbl_term.c and into
out.c, including renaming some structures and so on.  The abstraction is
in having a pointer to a wrapper function for calculating string widths.
The char devices use term_strlen and term_len; the others will probably
just use strlen().

While at it, remove some superfluous assertions in the tbl code.  This
allows all tbl manuals to clear.

Lastly, set the right-margin to be the maximum margin for each table
span.  This allows big, complicated tbl-pages like terminfo to be
displayed.  They're ugly, but they work.

Revision 1.78 / (download) - annotate - [select for diffs], Mon Jan 3 13:59:21 2011 UTC (13 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.77: +8 -2 lines
Diff to previous 1.77 (colored) to selected 1.11 (colored)

Make width calculations occur within tbl_term.c, not tbl.c.  This allows
for front-ends to make decisions about widths, not the back-end.

To pull this off, first make each tbl_head contain a unique index value
(0 <= index < total tbl_head elements) and remove the tbl_calc() routine
from the back-end.

Then, when encountering the first tbl_span in the front-end, dynamically
create an array of configurations (termp_tbl) keyed on each tbl_head's
unique index value.  Construct the decimals and widths at this time,
then continue parsing as before.

The termp_tbl and indexes are required because we pass a const tbl AST
into the front-end.

Revision 1.77 / (download) - annotate - [select for diffs], Sun Jan 2 12:21:07 2011 UTC (13 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.76: +2 -1 lines
Diff to previous 1.76 (colored) to selected 1.11 (colored)

Turn on -Tascii tbl printing.  The output still has some issues---I'm
not sure whether it's in the header calculation or term.c squashing
spaces or whatever, but let's get this in for general testing as soon as
possible.

Revision 1.76 / (download) - annotate - [select for diffs], Sun Jul 25 22:15:07 2010 UTC (13 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_8, VERSION_1_10_7, VERSION_1_10_6, VERSION_1_10_5
Changes since 1.75: +6 -4 lines
Diff to previous 1.75 (colored) to selected 1.11 (colored)

Fully-working -Tpdf: xref table is now generated.  This works for both
single and multiple-manual mode (e.g., mandoc -Tpdf foo.1 bar.1).

Revision 1.75 / (download) - annotate - [select for diffs], Sun Jul 25 11:44:31 2010 UTC (13 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.74: +6 -2 lines
Diff to previous 1.74 (colored) to selected 1.11 (colored)

Initial PDF shim over PS.  This produces working PDF output with -Tpdf.
It's currently missing the xref table, so you'll get a warning in most
PDF viewers).  It also produces lots of redundant output, which will go
away once I get a better handle on the PDF spec.  The code doesn't
really touch any existing functionality; it's a bunch of conditionals
atop the -Tps (term_ps.c) implementation.  I'm checking it in now to
have it exist and be auditable.  It needs clean-up, polish, and general
care (and xref!).

Revision 1.74 / (download) - annotate - [select for diffs], Tue Jul 13 23:53:20 2010 UTC (13 years, 8 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_10_5_PREPDF
Changes since 1.73: +2 -2 lines
Diff to previous 1.73 (colored) to selected 1.11 (colored)

correct lots of copyright notices;
ok kristaps@

Revision 1.73 / (download) - annotate - [select for diffs], Sun Jul 4 19:42:25 2010 UTC (13 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_4
Changes since 1.72: +3 -2 lines
Diff to previous 1.72 (colored) to selected 1.11 (colored)

Suppress printing of newlines/space at start of new -Tps page.

Also renamed "psstate" -> "flags" (was wrongly implying some sort of
state machine).

Revision 1.72 / (download) - annotate - [select for diffs], Wed Jun 30 13:00:00 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.71: +2 -1 lines
Diff to previous 1.71 (colored) to selected 1.11 (colored)

PostScript can now handle scaled glyph sizes (see "scale" in struct
termp_ps) to arbitrarily scale font.  Tested with 10 (default), 12, 14.

Revision 1.71 / (download) - annotate - [select for diffs], Wed Jun 30 12:30:36 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (colored) to selected 1.11 (colored)

Pushed normalisation of scaling units into term_hspan().

Revision 1.70 / (download) - annotate - [select for diffs], Wed Jun 30 12:27:55 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.69: +3 -1 lines
Diff to previous 1.69 (colored) to selected 1.11 (colored)

Move term_hspan() calculation into the output devices, where it belongs.

Revision 1.69 / (download) - annotate - [select for diffs], Wed Jun 30 11:45:21 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.68: +11 -11 lines
Diff to previous 1.68 (colored) to selected 1.11 (colored)

Push paper calculation out of getsubopt() loop.  Make all points be AFM
glyph units to make positioning more precise.

Revision 1.68 / (download) - annotate - [select for diffs], Tue Jun 29 14:18:05 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_3
Changes since 1.67: +15 -5 lines
Diff to previous 1.67 (colored) to selected 1.11 (colored)

Give -Tps better PostScript hinting.  Note that we're using Adobe-3.0
constructs.  Push the stupid CPP defines for page boundaries and margins
into proper variables.  Give enum termfont a proper TERMFONT__MAX.

Revision 1.67 / (download) - annotate - [select for diffs], Mon Jun 28 23:26:09 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.66: +1 -2 lines
Diff to previous 1.66 (colored) to selected 1.11 (colored)

Clean-up of variable-width glyph support.  Adds no new code; only
restructured to make a bit more readable.  Also removed an unused entry
in the PS engine structure.

Revision 1.66 / (download) - annotate - [select for diffs], Sun Jun 27 01:26:20 2010 UTC (13 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.65: +3 -1 lines
Diff to previous 1.65 (colored) to selected 1.11 (colored)

Basic implementation of .Bk/.Ek; from OpenBSD.
OK and one stylistic tweak by kristaps@.

Revision 1.65 / (download) - annotate - [select for diffs], Fri Jun 25 18:53:14 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.64: +8 -3 lines
Diff to previous 1.64 (colored) to selected 1.11 (colored)

Initial chunks for variable-width fonts.  Pushes all width calculations
in mdoc_term.c and man_term.c down into term.c.  This is still not
implemented in term.c, although stubs for width calculations are in
place.  From now on, offset, rmargin, and other layout variables are
abstract screen widths.  They will resolve to the the familiar values
for -Tascii but -Tps will eventually use points instead of chars.

Revision 1.64 / (download) - annotate - [select for diffs], Sat Jun 19 20:46:28 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_2
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored) to selected 1.11 (colored)

Churn as I finish email address migration kth.se -> bsd.lv.

Revision 1.63 / (download) - annotate - [select for diffs], Fri Jun 11 16:58:20 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.62: +2 -1 lines
Diff to previous 1.62 (colored) to selected 1.11 (colored)

Implement font-switching for PostScript.  -Tps now supports
TERMFONT_BOLD (Courier-Bold) and TERMFONT_UNDER (Courier-Oblique).  It
doesn't look half bad.  This accomplished through tricksy juggling of
the one-char back-buffer.

Revision 1.62 / (download) - annotate - [select for diffs], Fri Jun 11 07:23:04 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.61: +2 -1 lines
Diff to previous 1.61 (colored) to selected 1.11 (colored)

Teach -Tps to ignore backspace-encoding by using a one-char buffer and a
simple state machine.  This paves the way for decorated text.

Revision 1.61 / (download) - annotate - [select for diffs], Wed Jun 9 08:07:13 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.60: +10 -7 lines
Diff to previous 1.60 (colored) to selected 1.11 (colored)

Have the standard manpage header and footer print on every page of -Tps
output.  This is more tricky than you may think:  we can't just call the
header function out-of-state (i.e., before a flushln has occured)
because we'd clobber our current state.  Thus, we call at the beginning
and dump the output into an auxiliary buffer.

For the record, I don't think there's any other clean way to do this.
The only other Way That Works is to copy-aside *all* termp state, zero
it, and do the necessary headf/footf.  This is just as complex, as
memory needs to be alloc'd and free'd per margin.

Unfortunately, this prohibits page numbering (the margin is only printed
once), so I'll probably end up re-writing this down the line.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Jun 8 15:00:17 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.59: +18 -7 lines
Diff to previous 1.59 (colored) to selected 1.11 (colored)

Broke ascii_*() functions into term_ascii.c

Made low-level engine functions into function pointers.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Jun 8 13:22:37 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.58: +3 -1 lines
Diff to previous 1.58 (colored) to selected 1.11 (colored)

No functionality changes: just restructuring.  Deprecated
terminal_free() in favour of ps_free() and ascii_free().  Moved ps_*()
functions into term_ps.c so that they don't clutter up term.c.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Jun 7 20:57:09 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_1
Changes since 1.57: +23 -1 lines
Diff to previous 1.57 (colored) to selected 1.11 (colored)

First check-in of PostScript output.  This does not change any logic
within term.c, but does add a small shim over putchar() that switches on
the output engine.  Prints, for this initial version, only monospace and
without font decorations.  It's a start.

Revision 1.57 / (download) - annotate - [select for diffs], Mon May 24 21:51:20 2010 UTC (13 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.56: +2 -1 lines
Diff to previous 1.56 (colored) to selected 1.11 (colored)

sync to OpenBSD:
save the visual cursor position in term_flushln()
and use that to avoid multiple blank lines in nested lists while
still putting subsequent empty list tags each on their own line;
"go ahead" kristaps@

Revision 1.56 / (download) - annotate - [select for diffs], Mon May 24 21:34:16 2010 UTC (13 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.55: +2 -1 lines
Diff to previous 1.55 (colored) to selected 1.11 (colored)

Handle literal tab characters both in literal context (.Bd -literal)
and outside.  In literal context, tab stops are at each eigth column;
outside, they are at each fifth column.

from OpenBSD mdoc_term.c rev. 1.75;
"commit" kristaps@

Revision 1.55 / (download) - annotate - [select for diffs], Sat May 15 16:18:23 2010 UTC (13 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.54: +2 -1 lines
Diff to previous 1.54 (colored) to selected 1.11 (colored)

Make the output width an option for ascii_alloc and use that to compute
the default margin. Hard-code 80 chars/line for now.

Revision 1.54 / (download) - annotate - [select for diffs], Wed May 12 16:01:01 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_25
Changes since 1.53: +2 -1 lines
Diff to previous 1.53 (colored) to selected 1.11 (colored)

Tiny EOS patch.  Back-end cues front-end through flag.  Front-end cues output engine with flag.

Revision 1.53 / (download) - annotate - [select for diffs], Mon May 10 08:05:17 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.52: +3 -1 lines
Diff to previous 1.52 (colored) to selected 1.11 (colored)

-man also now has unbound margins for literal context.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Mar 23 12:42:22 2010 UTC (14 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_24, VERSION_1_9_23, VERSION_1_9_22, VERSION_1_9_21, VERSION_1_9_20, VERSION_1_9_19, VERSION_1_9_18, VERSION_1_9_17
Changes since 1.51: +2 -1 lines
Diff to previous 1.51 (colored) to selected 1.11 (colored)

Fixed two very subtle bugs in retaining overstep and maxrmargin widths between parse sequences.

Revision 1.51 / (download) - annotate - [select for diffs], Thu Nov 12 05:50:13 2009 UTC (14 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_16, VERSION_1_9_15-pre2, VERSION_1_9_15-pre1, VERSION_1_9_15, VERSION_1_9_14
Changes since 1.50: +18 -7 lines
Diff to previous 1.50 (colored) to selected 1.11 (colored)

Basically re-wrote -Tascii font handling: instead of incrementers for
bold and underline, we use a stack (no cascading, no double-font-mode).
Font modes with \f only affect the current stack point, as documented in
mdoc.7 and man.7.  While -mdoc stacks fonts with embedded macros, -man
replaces them (the stack is always size 1).  This works for all
invocations in supported systems' manual corpora to date.  It doesn't
support groff's insanity with line-scoped \f as documented in mdoc.7.

Revision 1.50 / (download) - annotate - [select for diffs], Thu Nov 5 08:40:16 2009 UTC (14 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.49: +5 -1 lines
Diff to previous 1.49 (colored) to selected 1.11 (colored)

Correct support for `\fX' font modes in -Tascii.

Revision 1.49 / (download) - annotate - [select for diffs], Sun Oct 18 19:03:37 2009 UTC (14 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_9, VERSION_1_9_13, VERSION_1_9_12, VERSION_1_9_11, VERSION_1_9_10
Changes since 1.48: +3 -3 lines
Diff to previous 1.48 (colored) to selected 1.11 (colored)

Made sure devices and formats recognise that -man and -mdoc have different syntax for scaling widths: -mdoc assumes no unit means that the value is a string literal while -man instead uses the default vertical/horizontal scale.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Oct 18 13:34:17 2009 UTC (14 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.47: +4 -1 lines
Diff to previous 1.47 (colored) to selected 1.11 (colored)

Arbitrary horizontal and vertical scaling widths now handled by -mdoc -Tascii.
Terminal scaling backend pushed into term.c.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Sep 17 07:41:28 2009 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_8, VERSION_1_9_7, VERSION_1_9_6, VERSION_1_9_5
Changes since 1.46: +1 -6 lines
Diff to previous 1.46 (colored) to selected 1.11 (colored)

ascii_xxx -> chars_xxx (intended to hold more than just ascii encoding).
More html work.

Revision 1.46 / (download) - annotate - [select for diffs], Wed Sep 16 09:41:24 2009 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.45: +2 -4 lines
Diff to previous 1.45 (colored) to selected 1.11 (colored)

Made tree/term/out() functions return void.
Put err() functions back into front-ends (no use making it needlessly complex).

Revision 1.45 / (download) - annotate - [select for diffs], Tue Sep 15 08:16:20 2009 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.44: +3 -4 lines
Diff to previous 1.44 (colored) to selected 1.11 (colored)

Removed TERMP_BOLD, TERMP_UNDER, TERMP_STYLE in favour of recursive-friendly increments.
Cleaned up confusing behaviour of p->flags.

Revision 1.44 / (download) - annotate - [select for diffs], Mon Aug 10 10:09:51 2009 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_2, VERSION_1_9_1, VERSION_1_9_0
Changes since 1.43: +1 -6 lines
Diff to previous 1.43 (colored) to selected 1.11 (colored)

Moved indentation size into *term.c files.
Improved handling of libman `IP' macro (still needs work).

Revision 1.43 / (download) - annotate - [select for diffs], Mon Jul 27 12:02:49 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_5
Changes since 1.42: +2 -1 lines
Diff to previous 1.42 (colored) to selected 1.11 (colored)

Correct handling of \*(xx, \*[xxx], \*x versus \x, \(xx, \([xxx]: predefined strings and escape characters, respectively.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Jul 24 12:47:35 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_4
Changes since 1.41: +4 -1 lines
Diff to previous 1.41 (colored) to selected 1.11 (colored)

Full support for `An -split/-nosplit'.  Compat documented.

Revision 1.41 / (download) - annotate - [select for diffs], Tue Jul 21 15:33:05 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_3
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored) to selected 1.11 (colored)

Fixed transcription error of define values (bah).

Revision 1.40 / (download) - annotate - [select for diffs], Tue Jul 21 13:34:13 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored) to selected 1.11 (colored)

Bringing spacing more in line with groff, patches from schwarze@openbsd.org.  Pre-testing.

Revision 1.39 / (download) - annotate - [select for diffs], Sun Jul 19 09:10:42 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_2, VERSION_1_8_1
Changes since 1.38: +5 -6 lines
Diff to previous 1.38 (colored) to selected 1.11 (colored)

Removed unused TERMP_LITERAL.

Revision 1.38 / (download) - annotate - [select for diffs], Tue Jul 14 15:16:03 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_0
Changes since 1.37: +12 -11 lines
Diff to previous 1.37 (colored) to selected 1.11 (colored)

Renamed TERMP_NONOSPACE -> TERMP_DANGLE.
Added TERMP_HANG.
Reordered TERMP flags to be a little easier on my old eyes.

Revision 1.37 / (download) - annotate - [select for diffs], Wed Jun 10 20:18:44 2009 UTC (14 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_24, VERSION_1_7_23, VERSION_1_7_22, VERSION_1_7_21, VERSION_1_7_20, VERSION_1_7_19, VERSION_1_7_17, VERSION_1_7_16, VERSION_1_7_15, VERSION_1_7_14
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored) to selected 1.11 (colored)

Fixed license email address.

Revision 1.36 / (download) - annotate - [select for diffs], Sun Apr 12 19:45:26 2009 UTC (14 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_13
Changes since 1.35: +10 -12 lines
Diff to previous 1.35 (colored) to selected 1.11 (colored)

Using proper license template (const).

Revision 1.35 / (download) - annotate - [select for diffs], Sun Apr 12 19:19:57 2009 UTC (14 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.34: +3 -2 lines
Diff to previous 1.34 (colored) to selected 1.11 (colored)

Manual .Dt fields CAPITALISED.
Indent set to 5 chars (nroff compat).
Half-indent set to 3 chars (nroff compat).
Default behaviour is loose-y (ignore macro/char/escape).
Added -fstrict.
Added unknown-character ignoring.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Mar 26 14:38:11 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_5, VERSION_1_7_12, VERSION_1_7_10, OPENBSD_CHECKIN
Changes since 1.33: +1 -38 lines
Diff to previous 1.33 (colored) to selected 1.11 (colored)

Initial front-end formatting for -man pages.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Mar 25 21:46:24 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.32: +3 -3 lines
Diff to previous 1.32 (colored) to selected 1.11 (colored)

*** empty log message ***

Revision 1.32 / (download) - annotate - [select for diffs], Mon Mar 23 15:20:51 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 (colored) to selected 1.11 (colored)

-man printing linked to -Ttree.

Revision 1.31 / (download) - annotate - [select for diffs], Mon Mar 23 14:22:11 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored) to selected 1.11 (colored)

First addition of -man macro support.
Abstraction of mdoc.

Revision 1.30 / (download) - annotate - [select for diffs], Sat Mar 21 09:48:30 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_6_5
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored) to selected 1.11 (colored)

Lint fixes.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Mar 20 15:14:01 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_6_2
Changes since 1.28: +12 -12 lines
Diff to previous 1.28 (colored) to selected 1.11 (colored)

Support for `Bd' of all types (see mdoc.7 for newline/tab rules).
Renamed term.c and terminal.c functions to be term_.
Some bugfixes to lists.

Revision 1.28 / (download) - annotate - [select for diffs], Thu Mar 19 16:17:27 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.27: +8 -1 lines
Diff to previous 1.27 (colored) to selected 1.11 (colored)

Split mdocterm.c -> main.c terminal.c.
Abstracted output with -T selector (default ascii).
Name change: mdocterm -> mandoc.
Re-imported tree with -Ttree.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Mar 19 11:49:00 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.26: +10 -12 lines
Diff to previous 1.26 (colored) to selected 1.11 (colored)

Many more ASCII escapes added.
Stripped nroff punt from mdocterm.c.
Fixed multiple-file handling for mdocterm.c.
Cleared up mdoc.h API.

Revision 1.26 / (download) - annotate - [select for diffs], Tue Mar 17 13:35:46 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (colored) to selected 1.11 (colored)

Clean up ASCII table's memory.

Revision 1.25 / (download) - annotate - [select for diffs], Mon Mar 16 22:19:19 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_5_3
Changes since 1.24: +21 -69 lines
Diff to previous 1.24 (colored) to selected 1.11 (colored)

Fixed mdoc_phrase escape handling.
Added MDOC_IGNDELIM (Pf, soon Li, etc.).
macro_constant_delimited ignargs -> argv.c parsing.
Renamed macro functions to correspond to ontologies.
`Fo' and `St' made callable (compat documented).
strings.sh deprecated (directly using CPP).
Abstracted ASCII translation into ascii.{c,in}.
ASCII table uses a self-reordering chained hashtable.
Removed old regressions.

Revision 1.24 / (download) - annotate - [select for diffs], Sun Mar 15 10:34:11 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_5_1
Changes since 1.23: +2 -14 lines
Diff to previous 1.23 (colored) to selected 1.11 (colored)

Backed out all ANSI code.

Revision 1.23 / (download) - annotate - [select for diffs], Sun Mar 15 07:08:53 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.22: +3 -2 lines
Diff to previous 1.22 (colored) to selected 1.11 (colored)

mdoclint accepts multiple files
mdocterm punts to nroff if it fails parsing

Revision 1.22 / (download) - annotate - [select for diffs], Sat Mar 14 12:35:02 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.21: +22 -17 lines
Diff to previous 1.21 (colored) to selected 1.11 (colored)

Added colour styles (not being used) to struct termp.
Added nroff style-escape encoding.
Removed ANSI schema string tables (there's only ANSI and nroff/backspace).
Pushed styling directly into pword (simpler).

Revision 1.21 / (download) - annotate - [select for diffs], Sat Mar 14 05:36:07 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.20: +3 -2 lines
Diff to previous 1.20 (colored) to selected 1.11 (colored)

Bumped version.
Added \| (non-breaking space, like \&).
Fixed termsym (TERMSYM_ALL).

Revision 1.20 / (download) - annotate - [select for diffs], Wed Mar 11 00:39:58 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.19: +4 -2 lines
Diff to previous 1.19 (colored) to selected 1.11 (colored)

Expanded perfect htab to use 27 * 26 * 3 space.
Added Brq, Bro and Brc macros.
Added lbrace and rbrace to special characters.
Fixed spacing in braces.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Mar 4 14:41:40 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_4_6, VERSION_1_4_5, VERSION_1_4_4, VERSION_1_4_2
Changes since 1.18: +2 -1 lines
Diff to previous 1.18 (colored) to selected 1.11 (colored)

-tag, if followed by empty body, doesn't newline.
Versioning up.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Mar 4 14:13:05 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.17: +4 -2 lines
Diff to previous 1.17 (colored) to selected 1.11 (colored)

Fixed some character-escapes.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Mar 4 13:57:35 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.16: +1 -3 lines
Diff to previous 1.16 (colored) to selected 1.11 (colored)

Considerably cleaned up list handling.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Mar 3 22:17:19 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.15: +3 -1 lines
Diff to previous 1.15 (colored) to selected 1.11 (colored)

-inset and -diag lists now supported.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Mar 3 21:07:01 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.14: +10 -1 lines
Diff to previous 1.14 (colored) to selected 1.11 (colored)

Character-escape addition simplified (see README.addescape, also added).

Revision 1.14 / (download) - annotate - [select for diffs], Mon Mar 2 17:14:46 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.13: +48 -2 lines
Diff to previous 1.13 (colored) to selected 1.11 (colored)

Added new old escape sequence \*[nn].
Initial correct .Bd support (still only text in literal displays).
Symbols put into tables (character-encoding).

Revision 1.13 / (download) - annotate - [select for diffs], Mon Mar 2 12:09:32 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.12: +3 -1 lines
Diff to previous 1.12 (colored) to selected 1.11 (colored)

Support for maxrmargin-breaking with TERMP_NOBREAK.
Tabs auto-converted to spaces.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Mar 1 13:06:49 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_3_15, VERSION_1_3_13
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

Fixed TERMP_NOBREAK and line overruns.
Fixed TERMP_SETFLAGS and current-flag omission.

Revision 1.11 / (download) - annotate - [selected], Wed Feb 25 23:18:50 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_3_9, VERSION_1_3_8, VERSION_1_3_6, VERSION_1_3_11, VERSION_1_3_10
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored)

More list work.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Feb 25 17:02:47 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.9: +2 -1 lines
Diff to previous 1.9 (colored) to selected 1.11 (colored)

*** empty log message ***

Revision 1.9 / (download) - annotate - [select for diffs], Wed Feb 25 15:12:26 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.8: +3 -1 lines
Diff to previous 1.8 (colored) to selected 1.11 (colored)

Added [almost] all list types.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Feb 25 13:30:53 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (colored) to selected 1.11 (colored)

Support for nested lists added.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 25 12:27:37 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_3_5
Changes since 1.6: +6 -6 lines
Diff to previous 1.6 (colored) to selected 1.11 (colored)

Some offsets built into termpair.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Feb 25 12:09:20 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.5: +17 -1 lines
Diff to previous 1.5 (colored) to selected 1.11 (colored)

Added "termpair" for symmetric flag-setting.

Revision 1.5 / (download) - annotate - [select for diffs], Tue Feb 24 16:16:45 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.4: +5 -4 lines
Diff to previous 1.4 (colored) to selected 1.11 (colored)

Raft of mdocterm callbacks in place.
Fixed Fo/Fc handling in validate/mdocterm.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Feb 22 19:23:48 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored) to selected 1.11 (colored)

Fixed `.Pf' handling.
System now supports all mdocml manual pages.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Feb 22 15:50:45 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored) to selected 1.11 (colored)

Initial block-display support.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Feb 21 21:00:06 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.1: +7 -2 lines
Diff to previous 1.1 (colored) to selected 1.11 (colored)

Split mdocml -> mdocterm, mdoctree (new manuals, etc.).
Escape-recognition term.c.

Revision 1.1 / (download) - annotate - [select for diffs], Sat Feb 21 19:05:28 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
Diff to selected 1.11 (colored)

Split down term.c into term.h, termact.c.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb