CVS log for mandoc/man.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.189 / (download) - annotate - [select for diffs], Tue Aug 16 23:01:09 2022 UTC (2 years, 2 months ago) by schwarze
Branch: MAIN
CVS Tags: HEAD
Changes since 1.188: +10 -11 lines
Diff to previous 1.188 (unified) to selected 1.13 (unified)

Restore the traditional behaviour of the man(7) single-font
macros .B, .I, .SM, and .SB that the next-line scope extends
to the end of the next logical input line and is not extended
if that line ends with a \c (no-space) escape sequence.

While improving a loosely related feature in the man(7) .TP
macro, a regression entered the groff codebase in groff
commit 3549fd9f (28-Apr-2017) caused by the usual sloppiness
of Bjarni Ingi Gislason.  Since that time, groff wrongly had \c
extend next-line scope to a second line for these macros.
In man.c rev. 1.127 (25-Aug-2018) i synched mandoc behaviour
with groff in this respect, unfortunately failing to notice
the recent regression in groff.  The groff regression was
finally fixed by gbranden@ in commit 09c028f3 (07-Jun-2022).

With the present commit, mandoc is back in sync with both GNU and
Heirloom roff regarding the interaction of single-font macros with \c.

Revision 1.188 / (download) - annotate - [select for diffs], Thu Apr 28 10:26:37 2022 UTC (2 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.187: +18 -6 lines
Diff to previous 1.187 (unified) to selected 1.13 (unified)

Element next-line scopes may nest, so man_breakscope() may have to
break multiple element next-line scopes at the same time, similar to
what man_descope() already does for unconditional rewinding.

This fixes an assertion failure that tb@ found with afl(1), caused
by .SH .I .I .BI and similar sequences of macros without arguments.

Revision 1.187 / (download) - annotate - [select for diffs], Sat Jan 5 00:36:50 2019 UTC (5 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_6, VERSION_1_14_5
Changes since 1.186: +6 -6 lines
Diff to previous 1.186 (unified) to selected 1.13 (unified)

Some high-level block macros have an effect similar to temporarily
suspending no-fill mode during their head.  Model this with an
additional roff parser state flag ROFF_NONOFILL.  That is much
simpler than it would be to save and restore the ROFF_NOFILL flag
itself, in particular since the latter can be switched (with lasting
effect) by the .nf and .fi requests even while its effect is
temporarily suspended.

This commit does not change formatting yet, but prepares for future
formatting simplifications and improvements.

Revision 1.186 / (download) - annotate - [select for diffs], Mon Dec 31 10:04:39 2018 UTC (5 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.185: +1 -20 lines
Diff to previous 1.185 (unified) to selected 1.13 (unified)

Cleanup, no functional change:
Since the man(7) and roff(7) validators no longer use the parser
state flag ROFF_NOFILL, we can finally get rid of the function
man_state(), resulting in a better separation of parsing and validation.

Revision 1.185 / (download) - annotate - [select for diffs], Mon Dec 31 08:38:21 2018 UTC (5 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.184: +1 -6 lines
Diff to previous 1.184 (unified) to selected 1.13 (unified)

Use the new flag NODE_NOFILL in the validators, which is sometimes
simpler and always more robust.  In particular, move the nesting
warnings for .EX and .EE from man_state(), where they were misplaced,
to the man(7) validator.

Revision 1.184 / (download) - annotate - [select for diffs], Mon Dec 31 07:08:12 2018 UTC (5 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.183: +12 -12 lines
Diff to previous 1.183 (unified) to selected 1.13 (unified)

Move parsing of the .nf and .fi (fill mode) requests from the man(7)
parser to the roff(7) parser.  As a side effect, .nf and .fi are
now also parsed in mdoc(7) input, though the mdoc(7) formatters
still ignore most of their effect.

Revision 1.183 / (download) - annotate - [select for diffs], Mon Dec 31 04:55:46 2018 UTC (5 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.182: +1 -10 lines
Diff to previous 1.182 (unified) to selected 1.13 (unified)

Cleanup, minus 15 LOC, no functional change:
Simplify the way the man(7) and mdoc(7) validators are called.
Reset the parser state with a common function before calling them.
There is no need to again reset the parser state afterwards,
the parsers are no longer used after validation.
This allows getting rid of man_node_validate() and mdoc_node_validate()
as separate functions.

Revision 1.182 / (download) - annotate - [select for diffs], Sun Dec 30 00:49:55 2018 UTC (5 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.181: +2 -2 lines
Diff to previous 1.181 (unified) to selected 1.13 (unified)

Cleanup, no functional change:

The struct roff_man used to be a bad mixture of internal parser
state and public parsing results.  Move the public results to the
parsing result struct roff_meta, which is already public.  Move the
rest of struct roff_man to the parser-internal header roff_int.h.

Since the validators need access to the parser state, call them
from the top level parser during mparse_result() rather than from
the main programs, also reducing code duplication.

This keeps parser internal state out of thee main programs (five
in mandoc portable) and out of eight formatters.

Revision 1.181 / (download) - annotate - [select for diffs], Fri Dec 14 05:18:02 2018 UTC (5 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.180: +11 -19 lines
Diff to previous 1.180 (unified) to selected 1.13 (unified)

Almost mechanical diff to remove the "struct mparse *" argument
from mandoc_msg(), where it is no longer used.
While here, rename mandoc_vmsg() to mandoc_msg() and retire the
old version:  There is really no point in having another function
merely to save "%s" in a few places.
Minus 140 lines of code.

Revision 1.180 / (download) - annotate - [select for diffs], Sun Aug 26 16:21:23 2018 UTC (6 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.179: +18 -20 lines
Diff to previous 1.179 (unified) to selected 1.13 (unified)

Support nesting of elements with next-line scope.
For example, ksh93(1) needs this for .B\n.SM.

Revision 1.179 / (download) - annotate - [select for diffs], Sat Aug 25 12:33:03 2018 UTC (6 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.178: +31 -18 lines
Diff to previous 1.178 (unified) to selected 1.13 (unified)

If man(7) next-line scope is open and the line ends with \c,
the scope remains open.  Needed for example for groff_man(7).

Revision 1.178 / (download) - annotate - [select for diffs], Thu Aug 23 19:33:27 2018 UTC (6 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.177: +1 -9 lines
Diff to previous 1.177 (unified) to selected 1.13 (unified)

The upcoming .while request will have to re-execute roff(7) lines
parsed earlier, so they will have to be saved for reuse - but the
read.c preparser does not know yet whether a line contains a .while
request before passing it to the roff parser.  To cope with that,
save all parsed lines for now.  Even shortens the code by 20 lines.

Revision 1.177 / (download) - annotate - [select for diffs], Fri Aug 17 20:33:37 2018 UTC (6 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.176: +10 -10 lines
Diff to previous 1.176 (unified) to selected 1.13 (unified)

Remove more pointer arithmetic passing via regions outside the array
that is undefined according to the C standard.  Robert Elz <kre at
munnari dot oz dot au> pointed out i wasn't quite done yet.

Revision 1.176 / (download) - annotate - [select for diffs], Wed Jun 28 12:52:45 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_4, VERSION_1_14_3, VERSION_1_14_2
Changes since 1.175: +7 -4 lines
Diff to previous 1.175 (unified) to selected 1.13 (unified)

fix incomplete handling of roff(7) nodes in man(7) block next-line scope;
assertion failure in tclsh(1) reported by deraadt@ via bentley@

Revision 1.175 / (download) - annotate - [select for diffs], Sat Jun 17 13:06:16 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.174: +27 -8 lines
Diff to previous 1.174 (unified) to selected 1.13 (unified)

correct handling of blank lines after \c

Revision 1.174 / (download) - annotate - [select for diffs], Sat Jun 3 15:55:24 2017 UTC (7 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.173: +7 -6 lines
Diff to previous 1.173 (unified) to selected 1.13 (unified)

ignore blank lines in man(7) next line scope;
strange groff edge case behaviour found in multimedia/mjpegtools

Revision 1.173 / (download) - annotate - [select for diffs], Mon May 8 20:33:53 2017 UTC (7 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.172: +6 -7 lines
Diff to previous 1.172 (unified) to selected 1.13 (unified)

Line-breaking roff(7) requests also break man(7) next-line scope.
Considering that real roff implements next-line scope using input
line traps, that isn't all that surprising.
Issue found in the games/xbattle port.

Revision 1.172 / (download) - annotate - [select for diffs], Fri May 5 15:17:32 2017 UTC (7 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.171: +2 -2 lines
Diff to previous 1.171 (unified) to selected 1.13 (unified)

Move .sp to the roff modules.  Enough infrastructure is in place
now that this actually saves code: -70 LOC.

Revision 1.171 / (download) - annotate - [select for diffs], Mon May 1 23:27:39 2017 UTC (7 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.170: +16 -2 lines
Diff to previous 1.170 (unified) to selected 1.13 (unified)

A few days ago, a patch from <G dot Branden dot Robinson at gmail dot com>
got committed to groff which changed .TP from using .it to using .itc,
such that groff now supports more than one man(7) macro line in the .TP
head if all but the last line in the head end with \c.

Of course, relying on that behaviour is utterly non-portable, but if
authors are reckless enough to use that idiom, let's do what they want.

Revision 1.170 / (download) - annotate - [select for diffs], Sat Apr 29 12:45:41 2017 UTC (7 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.169: +11 -18 lines
Diff to previous 1.169 (unified) to selected 1.13 (unified)

Parser unification: use nice ohashes for all three request and macro tables;
no functional change, minus two source files, minus 200 lines of code.

Revision 1.169 / (download) - annotate - [select for diffs], Mon Apr 24 23:06:18 2017 UTC (7 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.168: +5 -20 lines
Diff to previous 1.168 (unified) to selected 1.13 (unified)

Continue parser unification:
* Make enum rofft an internal interface as enum roff_tok in "roff.h".
* Represent mdoc and man macros in enum roff_tok.
* Make TOKEN_NONE a proper enum value and use it throughout.
* Put the prologue macros first in the macro tables.
* Unify mdoc_macroname[] and man_macroname[] into roff_name[].

Revision 1.168 / (download) - annotate - [select for diffs], Fri Mar 3 13:55:31 2017 UTC (7 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.167: +2 -2 lines
Diff to previous 1.167 (unified) to selected 1.13 (unified)

remove a few redundant conditions that jsg@ found with cppcheck

Revision 1.167 / (download) - annotate - [select for diffs], Tue Jan 10 13:47:00 2017 UTC (7 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_1, VERSION_1_13
Changes since 1.166: +5 -5 lines
Diff to previous 1.166 (unified) to selected 1.13 (unified)

unify names of AST node flags; no change of cpp output

Revision 1.166 / (download) - annotate - [select for diffs], Thu Oct 22 21:54:23 2015 UTC (9 years ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_4
Changes since 1.165: +36 -1 lines
Diff to previous 1.165 (unified) to selected 1.13 (unified)

move man(7) validation into the dedicated validation phase, too

Revision 1.165 / (download) - annotate - [select for diffs], Tue Oct 6 18:32:19 2015 UTC (9 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.164: +11 -11 lines
Diff to previous 1.164 (unified) to selected 1.13 (unified)

modernize style: "return" is not a function

Revision 1.164 / (download) - annotate - [select for diffs], Fri Sep 4 21:25:00 2015 UTC (9 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.163: +15 -1 lines
Diff to previous 1.163 (unified) to selected 1.13 (unified)

Fill mode changes don't break next-line scope in all cases,
in particular not for tagged paragraphs.
Issue found by Christian Neukirchen <chneukirchen at gmail dot com>
in the exiv2(1) manual page.

Revision 1.163 / (download) - annotate - [select for diffs], Thu Apr 23 16:17:44 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.162: +1 -47 lines
Diff to previous 1.162 (unified) to selected 1.13 (unified)

Unify mdoc_deroff() and man_deroff() into a common function deroff().
No functional change except that for mdoc(7), it now skips leading
escape sequences just like it already did for man(7).
Escape sequences rarely occur in mdoc(7) code and if they do,
skipping them is an improvement in this context.
Minus 30 lines of code.

Revision 1.162 / (download) - annotate - [select for diffs], Thu Apr 23 15:35:59 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.161: +1 -8 lines
Diff to previous 1.161 (unified) to selected 1.13 (unified)

Get rid of two empty wrapper functions.  No functional change.

Revision 1.161 / (download) - annotate - [select for diffs], Sun Apr 19 14:57:38 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.160: +2 -22 lines
Diff to previous 1.160 (unified) to selected 1.13 (unified)

Unify trickier node handling functions.
* man_elem_alloc() -> roff_elem_alloc()
* man_block_alloc() -> roff_block_alloc()
The functions mdoc_elem_alloc() and mdoc_block_alloc() remain for
now because they need to do mdoc(7)-specific argument processing.

Revision 1.160 / (download) - annotate - [select for diffs], Sun Apr 19 14:25:41 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.159: +3 -59 lines
Diff to previous 1.159 (unified) to selected 1.13 (unified)

Unify some node handling functions that use TOKEN_NONE.
* mdoc_word_alloc(), man_word_alloc() -> roff_word_alloc()
* mdoc_word_append(), man_word_append() -> roff_word_append()
* mdoc_addspan(), man_addspan() -> roff_addtbl()
* mdoc_addeqn(), man_addeqn() -> roff_addeqn()
Minus 50 lines of code, no functional change.

Revision 1.159 / (download) - annotate - [select for diffs], Sun Apr 19 14:00:19 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.158: +11 -11 lines
Diff to previous 1.158 (unified) to selected 1.13 (unified)

Decouple the token code for "no request or macro" from the individual
high-level parsers to allow further unification of functions that
only need to recognize this code, but that don't care about different
high-level macrosets beyond that.

Revision 1.158 / (download) - annotate - [select for diffs], Sun Apr 19 13:50:25 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.157: +18 -180 lines
Diff to previous 1.157 (unified) to selected 1.13 (unified)

Unify node handling functions:
* node_alloc() for mdoc and man_node_alloc() -> roff_node_alloc()
* node_append() for mdoc and man_node_append() -> roff_node_append()
* mdoc_head_alloc() and man_head_alloc() -> roff_head_alloc()
* mdoc_body_alloc() and man_body_alloc() -> roff_body_alloc()
* mdoc_node_unlink() and man_node_unlink() -> roff_node_unlink()
* mdoc_node_free() and man_node_free() -> roff_node_free()
* mdoc_node_delete() and man_node_delete() -> roff_node_delete()
Minus 130 lines of code, no functional change.

Revision 1.157 / (download) - annotate - [select for diffs], Sat Apr 18 17:53:21 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.156: +1 -15 lines
Diff to previous 1.156 (unified) to selected 1.13 (unified)

Delete the wrapper functions mdoc_meta(), man_meta(), mdoc_node(),
man_node() from the mandoc(3) semi-public interface and the internal
wrapper functions print_mdoc() and print_man() from the HTML formatters.
Minus 60 lines of code, no functional change.

Revision 1.156 / (download) - annotate - [select for diffs], Sat Apr 18 17:28:36 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.155: +1 -63 lines
Diff to previous 1.155 (unified) to selected 1.13 (unified)

Unify {mdoc,man}_{alloc,reset,free}() into roff_man_{alloc,reset,free}().
Minus 80 lines of code, no functional change.
Written on the train from Koeln to Wolfsburg returning from p2k15.

Revision 1.155 / (download) - annotate - [select for diffs], Sat Apr 18 17:01:58 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.154: +1 -3 lines
Diff to previous 1.154 (unified) to selected 1.13 (unified)

Move mdoc_hash_init() and man_hash_init() to libmandoc.h
and call them from mparse_alloc() and choose_parser(),
preparing unified allocation of struct roff_man.

Revision 1.154 / (download) - annotate - [select for diffs], Sat Apr 18 16:34:25 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.153: +2 -1 lines
Diff to previous 1.153 (unified) to selected 1.13 (unified)

Profit from the unified struct roff_man and reduce the number of
arguments of mparse_result() by one.  No functional change.
Written on the ICE Bruxelles-Koeln on the way back from p2k15.

Revision 1.153 / (download) - annotate - [select for diffs], Sat Apr 18 16:06:40 2015 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.152: +54 -52 lines
Diff to previous 1.152 (unified) to selected 1.13 (unified)

Replace the structs mdoc and man by a unified struct roff_man.
Almost completely mechanical, no functional change.
Written on the train from Exeter to London returning from p2k15.

Revision 1.152 / (download) - annotate - [select for diffs], Thu Apr 2 23:48:19 2015 UTC (9 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.151: +4 -4 lines
Diff to previous 1.151 (unified) to selected 1.13 (unified)

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.151 / (download) - annotate - [select for diffs], Thu Apr 2 22:48:17 2015 UTC (9 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.150: +34 -35 lines
Diff to previous 1.150 (unified) to selected 1.13 (unified)

Second step towards parser unification:
Replace struct mdoc_node and struct man_node by a unified struct roff_node.
To be able to use the tok member for both mdoc(7) and man(7) without
defining all the macros in roff.h, sacrifice a tiny bit of type safety
and make tok an int rather than an enum.
Almost mechanical, no functional change.
Written on the Eurostar from Bruxelles to London on the way to p2k15.

Revision 1.150 / (download) - annotate - [select for diffs], Thu Apr 2 21:36:49 2015 UTC (9 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.149: +32 -31 lines
Diff to previous 1.149 (unified) to selected 1.13 (unified)

First step towards parser unification:
Replace enum mdoc_type and enum man_type by a unified enum roff_type.
Almost mechanical, no functional change.
Written on the ICE train from Frankfurt to Bruxelles on the way to p2k15.

Revision 1.149 / (download) - annotate - [select for diffs], Fri Jan 30 21:28:46 2015 UTC (9 years, 9 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_3
Changes since 1.148: +66 -59 lines
Diff to previous 1.148 (unified) to selected 1.13 (unified)

starting a tbl(7) breaks man(7) next-line scope;
triggered by a bug report from jsg@

Revision 1.148 / (download) - annotate - [select for diffs], Sat Jan 24 02:41:49 2015 UTC (9 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.147: +2 -2 lines
Diff to previous 1.147 (unified) to selected 1.13 (unified)

Strangely, ignoring the roff(7) .na request was implemented in the man(7)
parser.  Simplify the code by moving it into the roff(7) parser, also
making it work for mdoc(7).

Revision 1.147 / (download) - annotate - [select for diffs], Thu Jan 15 04:26:40 2015 UTC (9 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.146: +2 -3 lines
Diff to previous 1.146 (unified) to selected 1.13 (unified)

Fatal errors no longer exist.
If a file can be opened, mandoc will produce some output;
at worst, the output may be almost empty.
Simplifies error handling and frees a message type for future use.

Revision 1.146 / (download) - annotate - [select for diffs], Sun Dec 28 14:42:27 2014 UTC (9 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.145: +4 -2 lines
Diff to previous 1.145 (unified) to selected 1.13 (unified)

mdoc(7) already uses the mandoc(1) -Ios argument in the footer line
when .Os has no argument, so do the same for man(7) when .TH has less
than four arguments; there is no reason to treat both differently.
Issue found following a question from Thomas Klausner <wiz at NetBSD>.

Revision 1.145 / (download) - annotate - [select for diffs], Fri Nov 28 06:27:05 2014 UTC (9 years, 11 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_2
Changes since 1.144: +3 -5 lines
Diff to previous 1.144 (unified) to selected 1.13 (unified)

Simplify by making the eqn and tbl steering functions void;
no functional change, minus 15 lines of code.

Revision 1.144 / (download) - annotate - [select for diffs], Fri Nov 28 05:51:32 2014 UTC (9 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.143: +70 -118 lines
Diff to previous 1.143 (unified) to selected 1.13 (unified)

Simplify by making many functions in the man(7) parser void,
and some cleanup; no functional change, minus 70 lines.

Revision 1.143 / (download) - annotate - [select for diffs], Wed Nov 19 03:08:17 2014 UTC (9 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.142: +22 -7 lines
Diff to previous 1.142 (unified) to selected 1.13 (unified)

Escape sequences terminate high-level macro names, and when doing so,
they are ignored, just in the same way as for request names
and for low-level macro names.
This also cures a warning in the pod2man(1) preamble.

Revision 1.142 / (download) - annotate - [select for diffs], Mon Nov 3 23:18:39 2014 UTC (10 years ago) by schwarze
Branch: MAIN
Changes since 1.141: +16 -1 lines
Diff to previous 1.141 (unified) to selected 1.13 (unified)

Allow the five man(7) font macros to concatenate their line arguments,
the same way the mdoc(7) macros marked MDOC_JOIN do it.
In -Thtml, this removes bogus <br/> when the font macros are used
in no-fill mode; issue found by jsg@ in the Xcursor(3) SYNOPSIS.
As a bonus, this slightly reduces the size of the syntax tree.

Revision 1.141 / (download) - annotate - [select for diffs], Mon Oct 20 15:50:24 2014 UTC (10 years ago) by schwarze
Branch: MAIN
Changes since 1.140: +3 -2 lines
Diff to previous 1.140 (unified) to selected 1.13 (unified)

correct the spacing after in-line equations
that start at the beginning of an input line
but end before the end of an input line

Revision 1.140 / (download) - annotate - [select for diffs], Mon Oct 20 02:33:06 2014 UTC (10 years ago) by schwarze
Branch: MAIN
Changes since 1.139: +3 -1 lines
Diff to previous 1.139 (unified) to selected 1.13 (unified)

correct spacing before inline equations

Revision 1.139 / (download) - annotate - [select for diffs], Sat Sep 6 23:24:32 2014 UTC (10 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.138: +1 -8 lines
Diff to previous 1.138 (unified) to selected 1.13 (unified)

Simplify by handling empty request lines at the one logical place
in the roff parser instead of in three other places in other parsers.
No functional change.

Revision 1.138 / (download) - annotate - [select for diffs], Sun Aug 10 23:54:41 2014 UTC (10 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_4, VERSION_1_12
Changes since 1.137: +1 -3 lines
Diff to previous 1.137 (unified) to selected 1.13 (unified)

Get rid of HAVE_CONFIG_H, it is always defined; idea from libnbcompat.
Include <sys/types.h> where needed, it does not belong in config.h.
Remove <stdio.h> from config.h; if it is missing somewhere, it should
be added, but i cannot find a *.c file where it is missing.

Revision 1.137 / (download) - annotate - [select for diffs], Fri Aug 1 21:24:17 2014 UTC (10 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_1
Changes since 1.136: +5 -4 lines
Diff to previous 1.136 (unified) to selected 1.13 (unified)

Simplify man(7) validation:
Drop pre-handlers, they were almost unused.
Drop the needless complexity of allowing more than one post-handler.

This saves one internal interface function, one static function, one
private struct definition, sixteen static arrays, and 45 lines of code.
No functional change.

Revision 1.136 / (download) - annotate - [select for diffs], Fri Aug 1 17:27:44 2014 UTC (10 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.135: +3 -3 lines
Diff to previous 1.135 (unified) to selected 1.13 (unified)

mention requests and macros in more messages

Revision 1.135 / (download) - annotate - [select for diffs], Wed Jul 30 21:18:24 2014 UTC (10 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.134: +8 -45 lines
Diff to previous 1.134 (unified) to selected 1.13 (unified)

garbage collect three unused global flags; no functional change

Revision 1.134 / (download) - annotate - [select for diffs], Wed Jul 30 20:06:36 2014 UTC (10 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.133: +7 -12 lines
Diff to previous 1.133 (unified) to selected 1.13 (unified)

Simplify: replace one global flag by one local variable.
No functional change.

Revision 1.133 / (download) - annotate - [select for diffs], Mon Jul 7 21:36:20 2014 UTC (10 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.132: +3 -3 lines
Diff to previous 1.132 (unified) to selected 1.13 (unified)

Clean up ERROR messages related to document structure and macros:
Hierarchical naming and mention macro names in messages.

Revision 1.132 / (download) - annotate - [select for diffs], Mon Jul 7 19:18:15 2014 UTC (10 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.131: +4 -4 lines
Diff to previous 1.131 (unified) to selected 1.13 (unified)

Simplify man_unscope(), removing 18 lines of code, that is,
removing one function argument, one function definition,
three function invocations and two pointless assert()s.
No functional change.

Revision 1.131 / (download) - annotate - [select for diffs], Sun Jul 6 19:09:00 2014 UTC (10 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.130: +7 -4 lines
Diff to previous 1.130 (unified) to selected 1.13 (unified)

Clean up messages related to plain text and to escape sequences.
* Mention invalid escape sequences and string names, and fallbacks.
* Hierarchical naming.

Revision 1.130 / (download) - annotate - [select for diffs], Wed May 7 14:14:17 2014 UTC (10 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.129: +7 -4 lines
Diff to previous 1.129 (unified) to selected 1.13 (unified)

Do not segfault in makewhatis -Q if the next .SH after .SH NAME
does not have any arguments.  Crash found by nigel@ in kermit(1).

Revision 1.129 / (download) - annotate - [select for diffs], Sun Apr 20 16:46:04 2014 UTC (10 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.128: +30 -46 lines
Diff to previous 1.128 (unified) to selected 1.13 (unified)

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

Revision 1.128 / (download) - annotate - [select for diffs], Sun Mar 30 19:47:48 2014 UTC (10 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.127: +2 -2 lines
Diff to previous 1.127 (unified) to selected 1.13 (unified)

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.127 / (download) - annotate - [select for diffs], Sun Mar 23 20:57:27 2014 UTC (10 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.126: +11 -4 lines
Diff to previous 1.126 (unified) to selected 1.13 (unified)

Skip leading escape sequences in man_deroff().  Helps indexing of
some manuals containing overzealous escaping in their NAME section.

Revision 1.126 / (download) - annotate - [select for diffs], Sun Mar 23 12:26:58 2014 UTC (10 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.125: +41 -1 lines
Diff to previous 1.125 (unified) to selected 1.13 (unified)

If a man(7) NAME section contains macros, avoid truncated or empty
entries for .Nd in mandocdb(8), instead use the macro content
recursively.  This improves indexing of more than 200 manuals
in Xenocara, i.e. more than 15%, in particular GL and some Xkb.

Revision 1.125 / (download) - annotate - [select for diffs], Sun Mar 23 11:25:26 2014 UTC (10 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.124: +2 -1 lines
Diff to previous 1.124 (unified) to selected 1.13 (unified)

The files mandoc.c and mandoc.h contained both specialised low-level
functions used for multiple languages (mdoc, man, roff), for example
mandoc_escape(), mandoc_getarg(), mandoc_eos(), and generic auxiliary
functions.  Split the auxiliaries out into their own file and header.
While here, do some #include cleanup.

Revision 1.124 / (download) - annotate - [select for diffs], Mon Jan 6 00:53:33 2014 UTC (10 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.123: +2 -1 lines
Diff to previous 1.123 (unified) to selected 1.13 (unified)

Joerg Sonnenberger contributed copyrightable amounts of text to
some files.  To make it clear that he also put his contributions
under the ISC license, with his explicit permission, add his
Copyright notice to the relevant files.  No code change.

Revision 1.123 / (download) - annotate - [select for diffs], Sun Jan 5 20:26:36 2014 UTC (10 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.122: +10 -2 lines
Diff to previous 1.122 (unified) to selected 1.13 (unified)

Add an option -Q (quick) to mandocdb(8)
for accelerated generation of reduced-size databases.

Implement this by allowing the parsers to optionally
abort the parse sequence after the NAME section.

While here, garbage collect the unused void *arg attribute of
struct mparse and mparse_alloc() and fix some errors in mandoc(3).

This reduces the processing time of mandocdb(8) on /usr/share/man
by a factor of 2 and the database size by a factor of 4.
However, it still takes 5 times the time and 6 times the space
of makewhatis(8), so more work is clearly needed.

Revision 1.122 / (download) - annotate - [select for diffs], Tue Dec 31 23:23:10 2013 UTC (10 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.121: +2 -2 lines
Diff to previous 1.121 (unified) to selected 1.13 (unified)

Simplify: Remove an unused argument from the mandoc_eos() function.
No functional change.

Revision 1.121 / (download) - annotate - [select for diffs], Sun Nov 10 22:54:40 2013 UTC (11 years ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_3
Changes since 1.120: +12 -6 lines
Diff to previous 1.120 (unified) to selected 1.13 (unified)

Ignore blank lines right after .SH and .SS.
Improves the rendering of gpg(1); issue reported by jca on ports.

Revision 1.120 / (download) - annotate - [select for diffs], Thu Oct 17 20:54:58 2013 UTC (11 years ago) by schwarze
Branch: MAIN
Changes since 1.119: +3 -2 lines
Diff to previous 1.119 (unified) to selected 1.13 (unified)

Implement the .UR/.UE block (uniform resource identifier) introduced in the
man-ext macros by Eric S. Raymond, enabled by default in groff_man(7).
Usual disclaimer: You don't write new man(7) code, so you are not going
to use these, either.
Improves e.g. the bzr(1) and etherape(1) manuals.
Thanks to naddy@ for bringing these to my attention.

Revision 1.119 / (download) - annotate - [select for diffs], Sat Nov 17 00:26:33 2012 UTC (11 years, 11 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_2
Changes since 1.118: +126 -126 lines
Diff to previous 1.118 (unified) to selected 1.13 (unified)

Cleanup naming of local variables to make the code easier on the eye:
Settle for "struct man *man", "struct mdoc *mdoc", "struct meta *meta"
and avoid the confusing "*m" which was sometimes this, sometimes that.
No functional change.

ok kristaps@ some time ago

Revision 1.118 / (download) - annotate - [select for diffs], Sat Jul 14 10:47:07 2012 UTC (12 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.117: +4 -3 lines
Diff to previous 1.117 (unified) to selected 1.13 (unified)

Translate blank input lines to .sp just like in mdoc(7),
and ignore .sp after .PP.  This fixes vertical spacing
for blank lines after .PP and for .sp after .PP.
OpenBSD rev. man.c 1.68 and man_term.c 1.86

Revision 1.117 / (download) - annotate - [select for diffs], Tue Jun 12 20:21:04 2012 UTC (12 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.116: +2 -2 lines
Diff to previous 1.116 (unified) to selected 1.13 (unified)

Add `cc' support.
This was reported by espie@ and in the TODO.
Caveat: `cc' has buggy behaviour when invoked in groff(1) and followed
by a line-breaking control character macro, e.g., in a -man doc,

  .cc |
  .B foo
  'B foo
  |cc
  'B foo

will cause groff(1) to behave properly for `.B' but inline the macro
definition for `B' when invoked with the line-breaking macro.

Revision 1.116 / (download) - annotate - [select for diffs], Sat Jun 2 20:16:23 2012 UTC (12 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.115: +2 -2 lines
Diff to previous 1.115 (unified) to selected 1.13 (unified)

Minimal implementation of .EX and .EE for GNU compatibility.
Do not use this, it is not portable and only defined in esr's man-ext.
For example, sox(1) wants these macros.

Revision 1.115 / (download) - annotate - [select for diffs], Tue Jan 3 15:16:24 2012 UTC (12 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_12_1
Changes since 1.114: +2 -2 lines
Diff to previous 1.114 (unified) to selected 1.13 (unified)

Add support for `OP', one of the extended man macros.  This also requires
some man(7) changes to accomodate for the an-ext compatibility.

Revision 1.114 / (download) - annotate - [select for diffs], Wed Nov 16 22:39:05 2011 UTC (12 years, 11 months ago) by joerg
Branch: MAIN
Changes since 1.113: +8 -3 lines
Diff to previous 1.113 (unified) to selected 1.13 (unified)

Correctly handle constructs like
.TP 8
.SH foo

Revision 1.113 / (download) - annotate - [select for diffs], Mon Nov 7 01:24:40 2011 UTC (13 years ago) by schwarze
Branch: MAIN
Changes since 1.112: +29 -2 lines
Diff to previous 1.112 (unified) to selected 1.13 (unified)

When the HEAD scope of .TP is broken by another block macro,
do not abort with a FATAL error, but report a report a WARNING,
remove the broken .TP from the syntax tree, and prod on.
Reported repeatedly by ports people, at least by brad@ and jeremy@.
Also fixes rendition(4) in Xenocara.
ok kristaps@

Revision 1.112 / (download) - annotate - [select for diffs], Thu Oct 6 22:29:12 2011 UTC (13 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_12_0
Changes since 1.111: +9 -1 lines
Diff to previous 1.111 (unified) to selected 1.13 (unified)

If -Tman is specified and input is -man, echo the preprocessed (`so'
replaced by file) input.  This replaces earlier behaviour of doing
nothing, which I found unexpected (mandoc should always output).

This requires a buffer in read.c that saves the input lines before being
parsed, with a special hook if `so' is invoked.  This buffer is just
flushed to output if -mman is the input.

While mucking around doing this, I also alpha-ordered the mandoc.h
functions.

Ok schwarze@, with no screaming when the polished patch was published.

Revision 1.111 / (download) - annotate - [select for diffs], Thu Jul 28 14:17:11 2011 UTC (13 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_7, VERSION_1_11_6
Changes since 1.110: +2 -2 lines
Diff to previous 1.110 (unified) to selected 1.13 (unified)

An implementation of `tr'.  This routes allocations of TEXT nodes
through libroff, which does the appropriate translations of `tr'.  This
is SLOW: it uses the backend of `ds' and `de', which is a simple linear
list.  However, unlike `ds' and `de', it iterates over EACH CHARACTER of
the entire file looking for replacements.

Revision 1.110 / (download) - annotate - [select for diffs], Wed Jul 27 12:43:02 2011 UTC (13 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.109: +2 -9 lines
Diff to previous 1.109 (unified) to selected 1.13 (unified)

Simply word allocation in libmdoc and libman.

Revision 1.109 / (download) - annotate - [select for diffs], Thu Jul 21 10:24:35 2011 UTC (13 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_5
Changes since 1.108: +3 -3 lines
Diff to previous 1.108 (unified) to selected 1.13 (unified)

Finish the eqn syntactic parser.  This correctly parses terms and does
the proper `define' dance, which amounts to pure word-replace (you can,
say, define `foo' as `define' then define `define' as something else).
eqn.c is now ready for some semantic parsing of `box' and `eqn'
productions as defined by the grammar.

Revision 1.108 / (download) - annotate - [select for diffs], Mon Jul 18 07:46:41 2011 UTC (13 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.107: +3 -3 lines
Diff to previous 1.107 (unified) to selected 1.13 (unified)

Make `struct roff' be passed into libmdoc and libman upon creation.
This is required for supporting in-line equations.  While here, push
registers properly into roff and add an set/get/mod interface.

Revision 1.107 / (download) - annotate - [select for diffs], Tue Mar 29 08:30:49 2011 UTC (13 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_4, VERSION_1_11_3, VERSION_1_11_2, VERSION_1_11_1
Changes since 1.106: +23 -47 lines
Diff to previous 1.106 (unified) to selected 1.13 (unified)

Make libman use mandoc_getcontrol() for real this time.

Revision 1.106 / (download) - annotate - [select for diffs], Wed Mar 23 12:33:01 2011 UTC (13 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.105: +18 -1 lines
Diff to previous 1.105 (unified) to selected 1.13 (unified)

Add MAN_TAIL, which will be used by `UE' (forthcoming) and needs to be
used for `RE'.

Revision 1.105 / (download) - annotate - [select for diffs], Tue Mar 22 14:33:05 2011 UTC (13 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.104: +2 -1 lines
Diff to previous 1.104 (unified) to selected 1.13 (unified)

libmdoc.h and libman.h were including mdoc.h and man.h, respectively.
Don't have them do that (includes in header files = faugh), and have
individual files directly include these files.

Revision 1.104 / (download) - annotate - [select for diffs], Sun Mar 20 16:02:05 2011 UTC (13 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.103: +7 -22 lines
Diff to previous 1.103 (unified) to selected 1.13 (unified)

Consolidate messages.  Have all parse-time messages (in libmdoc,
libroff, etc., etc.) route into mandoc_msg() and mandoc_vmsg(), for the
time being in libmandoc.h.  This requires struct mparse to be passed
into the allocation routines instead of mandocmsg and a void pointer.
Then, move some of the functionality of the old mmsg() into read.c's
mparse_mmsg() (check against wlevel and setting of file_status) and use
main.c's mmsg() as simply a printing tool.

Revision 1.103 / (download) - annotate - [select for diffs], Thu Mar 17 11:56:17 2011 UTC (13 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_10
Changes since 1.102: +3 -3 lines
Diff to previous 1.102 (unified) to selected 1.13 (unified)

Clean-up in libman: make all calls to man_*msg not check return value.
Also convert man_vmsg to return void.

Revision 1.102 / (download) - annotate - [select for diffs], Mon Mar 7 01:35:51 2011 UTC (13 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.101: +4 -4 lines
Diff to previous 1.101 (unified) to selected 1.13 (unified)

Clean up date handling,
as a first step to get rid of the frequent petty warnings in this area:
 - always store dates as strings, not as seconds since the Epoch
 - for input, try the three most common formats everywhere
 - for unrecognized format, just pass the date though verbatim
 - when there is no date at all, still use the current date
Originally triggered by a one-line patch from Tim van der Molen,
<tbvdm at xs4all dot nl>, which is included here.
Feedback and OK on manual parts from jmc@.
"please check this in" kristaps@

Revision 1.101 / (download) - annotate - [select for diffs], Wed Feb 9 09:18:15 2011 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.100: +17 -1 lines
Diff to previous 1.100 (unified) to selected 1.13 (unified)

Allow -man to process EQN as well.  Also fix a segfault in missing case
statements in the post-handler for EQN in -mdoc and -man.

Revision 1.100 / (download) - annotate - [select for diffs], Tue Feb 8 07:40:23 2011 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.99: +9 -19 lines
Diff to previous 1.99 (unified) to selected 1.13 (unified)

Put tbl_alloc function right into the addspan() one, as this is the only
place that it's called.

Revision 1.99 / (download) - annotate - [select for diffs], Sun Feb 6 22:05:20 2011 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.98: +2 -2 lines
Diff to previous 1.98 (unified) to selected 1.13 (unified)

Use tbl_span line number for warnings/errors.

Revision 1.98 / (download) - annotate - [select for diffs], Sun Feb 6 22:02:58 2011 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.97: +2 -3 lines
Diff to previous 1.97 (unified) to selected 1.13 (unified)

Let the line-number of a tbl_span be remembered.

Revision 1.97 / (download) - annotate - [select for diffs], Wed Jan 12 10:43:22 2011 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.96: +16 -9 lines
Diff to previous 1.96 (unified) to selected 1.13 (unified)

If the first character of free-form text is whitespace, then a newline
shall precede outputted text (surprise!).

Revision 1.96 / (download) - annotate - [select for diffs], Mon Jan 3 11:31:26 2011 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_9
Changes since 1.95: +10 -10 lines
Diff to previous 1.95 (unified) to selected 1.13 (unified)

Same treatment for MAN_HALT as for MDOC_HALT.

Revision 1.95 / (download) - annotate - [select for diffs], Sat Jan 1 13:54:58 2011 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.94: +2 -1 lines
Diff to previous 1.94 (unified) to selected 1.13 (unified)

Make -Ttree spit out table columns.

Add forgotten assignment of span to -man's TBL nodes.

Revision 1.94 / (download) - annotate - [select for diffs], Sat Jan 1 12:59:17 2011 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.93: +57 -23 lines
Diff to previous 1.93 (unified) to selected 1.13 (unified)

Add -man support for tables.  Like -mdoc, this consists of an
external-facing function man_addspan() (this required shuffling around
the descope routine) and hooks elsewhere.

Also fixed mdoc.c's post-validation of tables.

Revision 1.93 / (download) - annotate - [select for diffs], Sat Jan 1 10:51:30 2011 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.92: +7 -7 lines
Diff to previous 1.92 (unified) to selected 1.13 (unified)

Clean up {mdoc,man}_pmsg and vmsg invocations (ignore return values).

Revision 1.92 / (download) - annotate - [select for diffs], Wed Dec 8 10:58:22 2010 UTC (13 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_8
Changes since 1.91: +5 -5 lines
Diff to previous 1.91 (unified) to selected 1.13 (unified)

Remove `i' and `r' macro handlers.  These macros, originally part of the
me package, aren't recognised by "groff -mandoc" so we don't need to do
so either.  Discussed on tech@ with schwarze@.

While at it, remove references to `b' in man.7.  As far as I know, this
was never supported anyway.

Revision 1.91 / (download) - annotate - [select for diffs], Mon Dec 6 15:31:19 2010 UTC (13 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_7
Changes since 1.90: +2 -2 lines
Diff to previous 1.90 (unified) to selected 1.13 (unified)

Add support for `ft' macro found in groff(7).  Based on a patch by
schwarze@, but without the -T[x]html handling, which structurally does
not work.  Also add man.7 documentation (not in original patch).

Revision 1.90 / (download) - annotate - [select for diffs], Mon Dec 6 13:49:02 2010 UTC (13 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.89: +10 -26 lines
Diff to previous 1.89 (unified) to selected 1.13 (unified)

Allow multiple ELINE macros without raising a fatal error.  From a field-
tested patch by schwarze@.

Revision 1.89 / (download) - annotate - [select for diffs], Sun Dec 5 16:14:16 2010 UTC (13 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.88: +2 -3 lines
Diff to previous 1.88 (unified) to selected 1.13 (unified)

Remove `Sp', `Vb', and `Ve' (as per schwarze@'s changes in OpenBSD),
which are now accomodated for the new libroff modifications.

Revision 1.88 / (download) - annotate - [select for diffs], Tue Nov 30 15:36:28 2010 UTC (13 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.87: +1 -3 lines
Diff to previous 1.87 (unified) to selected 1.13 (unified)

Kill man_action.c.

Revision 1.87 / (download) - annotate - [select for diffs], Fri Aug 20 01:02:07 2010 UTC (14 years, 2 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_10_6
Changes since 1.86: +7 -27 lines
Diff to previous 1.86 (unified) to selected 1.13 (unified)

Implement a simple, consistent user interface for error handling.
We now have sufficient practical experience to know what we want,
so this is intended to be final:
- provide -Wlevel (warning, error or fatal) to select what you care about
- provide -Wstop to stop after parsing a file with warnings you care about
- provide consistent exit status codes for those warnings you care about
- fully document what warnings, errors and fatal errors mean
- remove all other cruft from the user interface, less is more:
- remove all -f knobs along with the whole -f option
- remove the old -Werror because calling warnings "fatal" is silly
- always finish parsing each file, unless fatal errors prevent that
This commit also includes a couple of related simplifications behind
the scenes regarding error handling.
Feedback and OK  kristaps@;  Joerg Sonnenberger (NetBSD) and
Sascha Wildner (DragonFly BSD) agree with the general direction.

Revision 1.86 / (download) - annotate - [select for diffs], Sun Aug 8 14:51:32 2010 UTC (14 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.85: +8 -8 lines
Diff to previous 1.85 (unified) to selected 1.13 (unified)

simplify the code copying the macro name, and sync the
accompagnying comment between man_pmacro() and mdoc_pmacro();
ok'd by kristaps@ together with main.c rev. 1.102

Revision 1.85 / (download) - annotate - [select for diffs], Sat Aug 7 20:57:33 2010 UTC (14 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.84: +2 -12 lines
Diff to previous 1.84 (unified) to selected 1.13 (unified)

Clean out the isgraph() checks in mdoc.c and man.c.  These code paths
were never taken since main.c begin skipping over unrecognisable
characters, so they were noops.

Revision 1.84 / (download) - annotate - [select for diffs], Thu Jul 22 23:03:15 2010 UTC (14 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_5_PREPDF, VERSION_1_10_5
Changes since 1.83: +2 -1 lines
Diff to previous 1.83 (unified) to selected 1.13 (unified)

Added `in' macro support for -man -Tascii.  This is not yet supported in
-Thtml (I'm surprised to note that neither is LITERAL mode).

Revision 1.83 / (download) - annotate - [select for diffs], Sun Jul 18 17:00:26 2010 UTC (14 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.82: +2 -2 lines
Diff to previous 1.82 (unified) to selected 1.13 (unified)

Text ending in a full stop, exclamation mark or question mark
should not flag the end of a sentence if:

1) The punctuation is followed by closing delimiters
and not preceded by alphanumeric characters, like in
"There is no full stop (.) in this sentence"

or

2) The punctuation is a child of a macro
and not preceded by alphanumeric characters, like in
"There is no full stop
.Pq \&.
in this sentence"

"looks fine" to kristaps@; tested by jmc@ and sobrado@

Revision 1.82 / (download) - annotate - [select for diffs], Tue Jul 13 23:53:20 2010 UTC (14 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.81: +2 -2 lines
Diff to previous 1.81 (unified) to selected 1.13 (unified)

correct lots of copyright notices;
ok kristaps@

Revision 1.81 / (download) - annotate - [select for diffs], Wed Jul 7 15:04:54 2010 UTC (14 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_4
Changes since 1.80: +1 -2 lines
Diff to previous 1.80 (unified) to selected 1.13 (unified)

Re-constitution of `ds' symbol processing.  First, push the
roff_getstr() family of functions into roff.c with the "first_string"
directly in struct roff.  Second, pre-process each line for reserved
words in libroff, splicing and re-running a line if it has one (this
allows defined symbols to be macros).  Remove term.c's invocation of the
roff_getstrn() function.  Removed function documentation in roff.3 and
added roff.7 `ds' documentation.

Revision 1.80 / (download) - annotate - [select for diffs], Sun Jun 27 16:18:13 2010 UTC (14 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_3
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (unified) to selected 1.13 (unified)

Following clue-stick applied by schwarze@, back out const-ness of regset
passed in to libmdoc and libman.

Fix mdoc.3 and man.3 EXAMPLE sections to include regset.

Add MDOC_SYNPRETTY flag cueing front-end to nicely format certain values
as if SEC_SYNOPSIS were the current section.

Revision 1.79 / (download) - annotate - [select for diffs], Sun Jun 27 15:52:41 2010 UTC (14 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.78: +9 -11 lines
Diff to previous 1.78 (unified) to selected 1.13 (unified)

Downstream maintainers: this removes UGLY!  I don't want diverging
functionality and UGLY works quite well thanks to schwarze@'s careful
attention.

This also backs out function-prototype changes for struct regset,
instead stuffing a pointer to the regset directly into struct
mdoc/man/roff.

Revision 1.78 / (download) - annotate - [select for diffs], Sat Jun 26 16:07:08 2010 UTC (14 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.77: +8 -5 lines
Diff to previous 1.77 (unified) to selected 1.13 (unified)

Mechanical diff allowing the const struct regset to propogate through
libman and libmdoc.

Revision 1.77 / (download) - annotate - [select for diffs], Sat Jun 26 15:36:37 2010 UTC (14 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.76: +4 -2 lines
Diff to previous 1.76 (unified) to selected 1.13 (unified)

Churn-ish check-in getting mdoc_parseln() and man_parseln() to accept a
const struct regset pointer.  No functionality.

Revision 1.76 / (download) - annotate - [select for diffs], Sat Jun 19 20:46:28 2010 UTC (14 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_2
Changes since 1.75: +2 -2 lines
Diff to previous 1.75 (unified) to selected 1.13 (unified)

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

Revision 1.75 / (download) - annotate - [select for diffs], Wed May 26 14:03:54 2010 UTC (14 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_1
Changes since 1.74: +3 -1 lines
Diff to previous 1.74 (unified) to selected 1.13 (unified)

Allow bad -man dates to flow verbatim into the front-ends.  Noted by
Ulrich Spoerlein.

Revision 1.74 / (download) - annotate - [select for diffs], Mon May 17 22:11:42 2010 UTC (14 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.73: +30 -85 lines
Diff to previous 1.73 (unified) to selected 1.13 (unified)

Enable the unified error/warning enumeration in mandoc.h that's
stringified in main.c.

Allow `An' to handle an argument and child (with a warning).

Allow `Rv' and `Ex' to work without a prior `Nm' as groff does (with a
warning).

Allow inconsistent column syntax to only raise a warning.

Revision 1.73 / (download) - annotate - [select for diffs], Mon May 17 10:50:32 2010 UTC (14 years, 5 months ago) by joerg
Branch: MAIN
Changes since 1.72: +2 -2 lines
Diff to previous 1.72 (unified) to selected 1.13 (unified)

Add support for .AT. Properly implement .UC. Add regress tests.

Revision 1.72 / (download) - annotate - [select for diffs], Sun May 16 10:59:36 2010 UTC (14 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.71: +31 -27 lines
Diff to previous 1.71 (unified) to selected 1.13 (unified)

Allow roff_parseln() to be re-run.
Allow roff_parseln() to manipulate the line buffer offset.  This is used
in situations like `.ie n .TH FOO 1' or `.ie n .ie n', where the line
buffer offset is recalculated then the roff parser re-run.
Fix mdoc_parseln() and man_parseln() to accept the initial line offset.
WARNING: backed-out ALL roff macros whilst accomodating for how roff
handles multi-line conditionals (in short, re-running the parser).

Revision 1.71 / (download) - annotate - [select for diffs], Sun May 16 00:04:46 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (unified) to selected 1.13 (unified)

Fix allowing silly '\'' control character.

Revision 1.70 / (download) - annotate - [select for diffs], Sat May 15 22:44:04 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.69: +2 -8 lines
Diff to previous 1.69 (unified) to selected 1.13 (unified)

Remove `am', `ami', `de', `dei', and `.' from -man, as they're now in the roff preprocessor.

Revision 1.69 / (download) - annotate - [select for diffs], Sat May 15 20:51:40 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.68: +2 -3 lines
Diff to previous 1.68 (unified) to selected 1.13 (unified)

Pull `ig' out of -man and leave it the roff preparser.

Revision 1.68 / (download) - annotate - [select for diffs], Sat May 15 15:54:39 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.67: +3 -2 lines
Diff to previous 1.67 (unified) to selected 1.13 (unified)

Removed restriction on integer manual sections in -man.

Revision 1.67 / (download) - annotate - [select for diffs], Sat May 15 06:48:13 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.66: +3 -1 lines
Diff to previous 1.66 (unified) to selected 1.13 (unified)

More EOS: append_delims() fitted with EOS detection, so ANY macro with appended delimiters will properly EOS.
Fixed mandoc_eos() to accept sentence punctuation followed by close-delim buffers.

Revision 1.66 / (download) - annotate - [select for diffs], Wed May 12 17:08:03 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_25
Changes since 1.65: +2 -14 lines
Diff to previous 1.65 (unified) to selected 1.13 (unified)

Put the eos-checker into libmandoc.h.
Added bits in mdoc.7 and man.7 about EOS spacing.

Revision 1.65 / (download) - annotate - [select for diffs], Wed May 12 16:46:28 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.64: +24 -1 lines
Diff to previous 1.64 (unified) to selected 1.13 (unified)

End-of-sentence spacing for -man -Tascii.

Revision 1.64 / (download) - annotate - [select for diffs], Sat May 8 10:25:27 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_24
Changes since 1.63: +2 -4 lines
Diff to previous 1.63 (unified) to selected 1.13 (unified)

Fix asserts on stripping end-of-line whitespace.

Revision 1.63 / (download) - annotate - [select for diffs], Sat May 8 08:36:44 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.62: +18 -4 lines
Diff to previous 1.62 (unified) to selected 1.13 (unified)

Strip trailing, unescaped whitespace from free-form, non-literal lines (like groff).

Revision 1.62 / (download) - annotate - [select for diffs], Sat May 8 07:30:19 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.61: +7 -4 lines
Diff to previous 1.61 (unified) to selected 1.13 (unified)

Lint fixes (type-safety for enums via -cefuh).

Revision 1.61 / (download) - annotate - [select for diffs], Fri May 7 15:49:36 2010 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.60: +18 -56 lines
Diff to previous 1.60 (unified) to selected 1.13 (unified)

De-chunking of text removed from parsers.  This is a significant change (and I don't really like it), but it's what groff does.
Distinction of ARGS_PHRASE and ARGS_PPHRASE in backend (not yet used).

Revision 1.60 / (download) - annotate - [select for diffs], Thu Apr 8 07:53:01 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.59: +7 -1 lines
Diff to previous 1.59 (unified) to selected 1.13 (unified)

Sync'd mdoc.c's function names with man.c.
Prompted by Ingo and Claus Assman, added warn/ignore for text lines beginning with `\."'.

Revision 1.59 / (download) - annotate - [select for diffs], Mon Mar 29 10:10:35 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_23, VERSION_1_9_22, VERSION_1_9_21, VERSION_1_9_20
Changes since 1.58: +14 -9 lines
Diff to previous 1.58 (unified) to selected 1.13 (unified)

Final (?) fix to issue pointed out by Sascha Wildner: roff instructions clobbering prior scope rules and line modes.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Mar 29 04:52:14 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.57: +6 -4 lines
Diff to previous 1.57 (unified) to selected 1.13 (unified)

Initial step in fixing badness reported by Sascha Wildner (wip).

Revision 1.57 / (download) - annotate - [select for diffs], Sat Mar 27 10:26:39 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_19, VERSION_1_9_18
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (unified) to selected 1.13 (unified)

Last fix for tabs/spaces between control character and macro.  egcs gcc.1 is now handled.

Revision 1.56 / (download) - annotate - [select for diffs], Sat Mar 27 10:21:38 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.55: +6 -2 lines
Diff to previous 1.55 (unified) to selected 1.13 (unified)

*** empty log message ***

Revision 1.55 / (download) - annotate - [select for diffs], Sat Mar 27 10:04:56 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.54: +7 -5 lines
Diff to previous 1.54 (unified) to selected 1.13 (unified)

Fixed re-adjustment of scope in exiting roff instructions (libman).
Added title-case check for (libman).
Fixed premature closure of roff instruction scope (libman).
Added documentation of ignored roff macros to man(3).

Revision 1.54 / (download) - annotate - [select for diffs], Wed Mar 24 20:10:53 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_17
Changes since 1.53: +54 -28 lines
Diff to previous 1.53 (unified) to selected 1.13 (unified)

Using man_node_delete() instead of man_node_free()/man_node_freelist() and friends (much simpler).
Split blk_imp() into blk_exp() (explicit macros), blk_dotted() (roff macros), and the original.
Added de, dei, am, ami, and ig roff macros (for now, these are discarded within the parse).

Revision 1.53 / (download) - annotate - [select for diffs], Tue Mar 23 21:50:43 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.52: +14 -13 lines
Diff to previous 1.52 (unified) to selected 1.13 (unified)

libman using enum mant instead of #defines for macros.
Clean-ups, better documentation in man_hash.c.
Added extra space for "." in man_hash.c (unused for the time being).

Revision 1.52 / (download) - annotate - [select for diffs], Tue Mar 23 11:30:48 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.51: +3 -2 lines
Diff to previous 1.51 (unified) to selected 1.13 (unified)

Support for pod2man standard header macros (Vb, Ve, Sp).  Based largely on a set of patches by Ingo Schwarze.

Revision 1.51 / (download) - annotate - [select for diffs], Mon Mar 22 14:03:03 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_16
Changes since 1.50: +50 -28 lines
Diff to previous 1.50 (unified) to selected 1.13 (unified)

Clarify -man -T[x]html handling of `br' within `B'.
Consolidated node unlinking in -man.
Conclude nested next-line scope issues noted by Ingo Schwarze.

Revision 1.50 / (download) - annotate - [select for diffs], Mon Mar 22 05:59:32 2010 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.49: +35 -4 lines
Diff to previous 1.49 (unified) to selected 1.13 (unified)

Accomodate (libman) for next-line macros followed by non-text macros `na', `sp', and `br'.
Based on a patch by Ingo Schwarze.

Revision 1.49 / (download) - annotate - [select for diffs], Thu Jan 7 10:24:43 2010 UTC (14 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_15
Changes since 1.48: +24 -4 lines
Diff to previous 1.48 (unified) to selected 1.13 (unified)

Check for white-space at the end of free-form text.  Lack of check spotted by Jason McIntyre.

Revision 1.48 / (download) - annotate - [select for diffs], Thu Jan 7 10:05:24 2010 UTC (14 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.47: +10 -3 lines
Diff to previous 1.47 (unified) to selected 1.13 (unified)

Check for white-space at end of stand-alone macro line.

Revision 1.47 / (download) - annotate - [select for diffs], Fri Jan 1 17:14:27 2010 UTC (14 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_15-pre2
Changes since 1.46: +5 -5 lines
Diff to previous 1.46 (unified) to selected 1.13 (unified)

Big check-in of compatibility layer.  This should work on most major architectures. Thanks to Joerg Sonnenberger.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Nov 2 08:40:31 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_15-pre1, VERSION_1_9_14, VERSION_1_9_13
Changes since 1.45: +4 -4 lines
Diff to previous 1.45 (unified) to selected 1.13 (unified)

Fix in junking dot lines in -man (from PR by Alex Kozlov).

Revision 1.45 / (download) - annotate - [select for diffs], Fri Oct 30 05:58:37 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_12
Changes since 1.44: +14 -39 lines
Diff to previous 1.44 (unified) to selected 1.13 (unified)

libmdoc and libman now using non-recoverable allocations (simpler code).

Revision 1.44 / (download) - annotate - [select for diffs], Tue Oct 27 08:26:12 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (unified) to selected 1.13 (unified)

bzero() -> memset() (noted by Joerg Sonnenberger).

Revision 1.43 / (download) - annotate - [select for diffs], Mon Oct 26 07:11:06 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_11, VERSION_1_9_10
Changes since 1.42: +15 -7 lines
Diff to previous 1.42 (unified) to selected 1.13 (unified)

-man also prints unknown macro (noted by Joerg Sonnenberger).

Revision 1.42 / (download) - annotate - [select for diffs], Sat Oct 24 05:45:04 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (unified) to selected 1.13 (unified)

Added `PD' to -man (doesn't do anything, yet).

Revision 1.41 / (download) - annotate - [select for diffs], Wed Sep 23 11:53:45 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_9, VERSION_1_9_8, VERSION_1_9_7, VERSION_1_9_6
Changes since 1.40: +3 -1 lines
Diff to previous 1.40 (unified) to selected 1.13 (unified)

FreeBSD compile fixes (uqs@spoerlein.net).

Revision 1.40 / (download) - annotate - [select for diffs], Wed Sep 16 14:40:56 2009 UTC (15 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_5
Changes since 1.39: +4 -10 lines
Diff to previous 1.39 (unified) to selected 1.13 (unified)

Lookup hashes are now static tables, ordered first-level by second character, then randomly along a chain.  Improves performance by a small fraction and considerably cleans up hash sources.

Revision 1.39 / (download) - annotate - [select for diffs], Sat Aug 22 09:10:38 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_2
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (unified) to selected 1.13 (unified)

Added `UC' libman macro (has no effect).
Corrected `UC' and `DT' not to print their arguments.
Noted that `UC' and `DT' shouldn't be used.

Revision 1.38 / (download) - annotate - [select for diffs], Sat Aug 22 08:56:16 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.37: +7 -1 lines
Diff to previous 1.37 (unified) to selected 1.13 (unified)

Added check for graphable characters in initial-line parse for libman and libmdoc (joerg@netbsd.org).

Revision 1.37 / (download) - annotate - [select for diffs], Fri Aug 21 13:45:33 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_1
Changes since 1.36: +8 -4 lines
Diff to previous 1.36 (unified) to selected 1.13 (unified)

Fix of MAN_NEXT when removing next-line dupes.

Revision 1.36 / (download) - annotate - [select for diffs], Fri Aug 21 13:18:32 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.35: +1 -3 lines
Diff to previous 1.35 (unified) to selected 1.13 (unified)

Removed superfluous XXX.
Version: 1.9.1.

Revision 1.35 / (download) - annotate - [select for diffs], Fri Aug 21 12:32:38 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.34: +12 -2 lines
Diff to previous 1.34 (unified) to selected 1.13 (unified)

Fixed `nf' behaviour (had broken with de-chunking).
Added warnings if literal context already open/closed.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Aug 21 12:12:12 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.33: +27 -5 lines
Diff to previous 1.33 (unified) to selected 1.13 (unified)

Open explicit scope on libman exit now only generates warning.
Consecutive ELINE scopes are now pruned (with a warning).

Revision 1.33 / (download) - annotate - [select for diffs], Thu Aug 20 11:51:07 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (unified) to selected 1.13 (unified)

Added `DT' macro (pointed out by joerg@netbsd.org).

Revision 1.32 / (download) - annotate - [select for diffs], Wed Aug 19 12:00:46 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.31: +5 -1 lines
Diff to previous 1.31 (unified) to selected 1.13 (unified)

Linux compat fix.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Aug 19 11:58:32 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.30: +62 -12 lines
Diff to previous 1.30 (unified) to selected 1.13 (unified)

Moved MDOC_NEXT_SIBLING into mdoc_word (libmdoc).
De-chunking of word terms in libman.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Aug 19 09:14:50 2009 UTC (15 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.29: +17 -8 lines
Diff to previous 1.29 (unified) to selected 1.13 (unified)

Added RS/RE macro pair (had to adjust closing rules, sec/ssec/rs/par).

Revision 1.29 / (download) - annotate - [select for diffs], Thu Aug 13 11:45:29 2009 UTC (15 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_0
Changes since 1.28: +113 -46 lines
Diff to previous 1.28 (unified) to selected 1.13 (unified)

Significant overhaul in libman.  Macros are now block- and line-scoped (with
next-line scope extensions possible).  man.7 reflects block and line scoping,
and also includes a REFERENCE section that will be used as a template for the
big mdoc reference.  Many fixes in next-line behaviour for both inline and
block macros.  Added some macros for compatibility (from me.7).  Corrected
quoted-literal handling for libman.

Revision 1.28 / (download) - annotate - [select for diffs], Fri Jul 24 20:22:24 2009 UTC (15 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_5, VERSION_1_8_4
Changes since 1.27: +3 -2 lines
Diff to previous 1.27 (unified) to selected 1.13 (unified)

Added `sp' support to libman.
Added `\c' to known escapes (only used in man, but still).

Revision 1.27 / (download) - annotate - [select for diffs], Tue Jul 7 09:35:40 2009 UTC (15 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_3, VERSION_1_8_2, VERSION_1_8_1, VERSION_1_8_0, VERSION_1_7_24, VERSION_1_7_23
Changes since 1.26: +16 -36 lines
Diff to previous 1.26 (unified) to selected 1.13 (unified)

Tabularised error strings in libman.

Revision 1.26 / (download) - annotate - [select for diffs], Sat Jul 4 09:01:55 2009 UTC (15 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_22, VERSION_1_7_21
Changes since 1.25: +4 -1 lines
Diff to previous 1.25 (unified) to selected 1.13 (unified)

Moved escape validation into libmandoc.h/mandoc.c (common between libman/libmdoc1).
libman supports MAN_IGN_ESCAPE (like MDOC_IGN_ESCAPE).
All popular escapes now handled consistently.

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jun 22 13:09:17 2009 UTC (15 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_20
Changes since 1.24: +7 -1 lines
Diff to previous 1.24 (unified) to selected 1.13 (unified)

libman documents require `TH' and at least one node.
libman requirements documented in man.7 STRUCTURE section.
Added STRUCTURE section to mdoc.7, too.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Jun 18 20:46:19 2009 UTC (15 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.23: +4 -1 lines
Diff to previous 1.23 (unified) to selected 1.13 (unified)

Added nchild decrement in libman (not used, but better in than forgotten).
Added nchild to libmdoc, deprecated count() functions in validator.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jun 18 10:53:58 2009 UTC (15 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.22: +38 -1 lines
Diff to previous 1.22 (unified) to selected 1.13 (unified)

Moved all formatted libman warn/error into man.c/libman.h.
Converted all formatted warn/errors into regular syntax.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Jun 18 10:32:00 2009 UTC (15 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.21: +3 -1 lines
Diff to previous 1.21 (unified) to selected 1.13 (unified)

Added -fno-ign-chars support to libman.
man_validate.c checks for non-tab/isprint words.
libman hashtable fixed (was ignoring .br).
Added ncount field to man_node, deprecating count() functions.
Documented use of tabs in man.7.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Jun 16 19:55:28 2009 UTC (15 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_19
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (unified) to selected 1.13 (unified)

Removed MAN___: moved MAN_br to its index (comments not passed into parser).
Fix: hashtable not fully formed after removal of MDOC___.

Revision 1.20 / (download) - annotate - [select for diffs], Tue Jun 16 19:13:28 2009 UTC (15 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.19: +1 -5 lines
Diff to previous 1.19 (unified) to selected 1.13 (unified)

Modernised comment handling: text following \" is thrown away before
either parser is invoked.  Single-dot lines correctly handled.  This
confirms with both new- and old-groff.  "Comment" subsection added to
mdoc.7 and man.7.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Jun 10 20:18:43 2009 UTC (15 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_17, VERSION_1_7_16, VERSION_1_7_15, VERSION_1_7_14
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (unified) to selected 1.13 (unified)

Fixed license email address.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Apr 12 19:45:26 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_13
Changes since 1.17: +10 -12 lines
Diff to previous 1.17 (unified) to selected 1.13 (unified)

Using proper license template (const).

Revision 1.17 / (download) - annotate - [select for diffs], Sun Apr 12 19:30:45 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (unified) to selected 1.13 (unified)

Spelling "preceed" -> "precede" (naddy).

Revision 1.16 / (download) - annotate - [select for diffs], Sun Apr 5 16:34:22 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_12, VERSION_1_7_10, OPENBSD_CHECKIN
Changes since 1.15: +33 -28 lines
Diff to previous 1.15 (unified) to selected 1.13 (unified)

man(3) doesn't use err.h anymore.
Added .i to man(3).
Fixed up manuals.
Fixed up webpage.
Assertion fixes in man(3) (hashtable).
Fixed assertion for .IP in mandoc -man.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Apr 3 11:08:39 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.14: +4 -2 lines
Diff to previous 1.14 (unified) to selected 1.13 (unified)

Proper resetting of memory.
Array boundary fixed (-W).

Revision 1.14 / (download) - annotate - [select for diffs], Thu Apr 2 06:51:44 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (unified)

mdoc_tokhash -> hash
Initial man hashtab (BROKEN).

Revision 1.13 / (download) - annotate - [selected], Fri Mar 27 14:56:15 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (unified)

Added some new manuals (mdoc.3 mandoc_char.7).
Support for .br in libman.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Mar 26 14:44:41 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_5
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (unified) to selected 1.13 (unified)

Fixed after-NLINE-error assertion.
Scanned over all manuals with valgrind.
Version up.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Mar 26 14:38:11 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.10: +54 -8 lines
Diff to previous 1.10 (unified) to selected 1.13 (unified)

Initial front-end formatting for -man pages.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Mar 26 11:16:21 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.9: +14 -10 lines
Diff to previous 1.9 (unified) to selected 1.13 (unified)

Fixed inheritence of initial macro into man_macro.
Removed warnxs from man_macro (man_vwarn).

Revision 1.9 / (download) - annotate - [select for diffs], Thu Mar 26 09:55:39 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.8: +17 -16 lines
Diff to previous 1.8 (unified) to selected 1.13 (unified)

Fixed reading whitespace for man.7 `.    TH'.
Documented this.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Mar 25 21:46:24 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (unified) to selected 1.13 (unified)

*** empty log message ***

Revision 1.7 / (download) - annotate - [select for diffs], Wed Mar 25 21:03:13 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.6: +22 -10 lines
Diff to previous 1.6 (unified) to selected 1.13 (unified)

Added pflags to man_alloc.
Abstract fflags -> pflags in main.c.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Mar 25 16:07:36 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (unified) to selected 1.13 (unified)

Actions in place for prologue parsing.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Mar 25 15:36:05 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.4: +1 -8 lines
Diff to previous 1.4 (unified) to selected 1.13 (unified)

Added man_action.c, renamed mdoc_action.c.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Mar 25 15:17:49 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.3: +40 -5 lines
Diff to previous 1.3 (unified) to selected 1.13 (unified)

Added man validator, renamed mdoc validator.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Mar 23 15:41:09 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.2: +8 -3 lines
Diff to previous 1.2 (unified) to selected 1.13 (unified)

-man linked to mandoc in documentation.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Mar 23 15:20:51 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.1: +59 -91 lines
Diff to previous 1.1 (unified) to selected 1.13 (unified)

-man printing linked to -Ttree.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Mar 23 14:22:11 2009 UTC (15 years, 7 months ago) by kristaps
Branch: MAIN
Diff to selected 1.13 (unified)

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

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