History log of /openbsd-current/regress/usr.bin/mandoc/mdoc/Fo/Makefile
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.18 13-Mar-2020 schwarze

Split tagging into a validation part including prioritization
in tag.{h,c} and {mdoc,man}_validate.c
and into a formatting part including command line argument checking
in term_tag.{h,c}, html.c, and {mdoc|man}_{term|html}.c.

Immediate functional benefits include:
* Improved prioritization of automatic tags for .Em and .Sy.
* Avoiding bogus automatic tags when .Em, .Fn, or .Sy are explicitly tagged.
* Explicit tagging of .Er and .Fl now works in HTML output.
* Automatic tagging of .IP and .TP now works in HTML output.
But mainly, this patch provides clean earth to build further improvements on.

Technical changes:
* Main program: Write a tag file for ASCII and UTF-8 output only.
* All formatters: There is no more need to delay writing the tags.
* mdoc(7)+man(7) formatters: No more need for elaborate syntax tree inspection.
* HTML formatter: If available, use the "string" attribute as the tag.
* HTML formatter: New function to write permalinks, to reduce code duplication.

Style cleanup in the vicinity while here:
* mdoc(7) terminal formatter: To set up bold font for children,
defer to termp_bold_pre() rather than calling term_fontpush() manually.
* mdoc(7) terminal formatter: Garbage collect some duplicate functions.
* mdoc(7) HTML formatter: Unify <code> handling, delete redundant functions.
* Where possible, use switch statements rather than if cascades.
* Get rid of some more Yoda notation.

The necessity for such changes was first discussed with kn@, but i didn't
bother him with a request to review the resulting -673/+782 line patch.


# 1.17 27-Feb-2020 schwarze

Introduce the concept of nodes that are semantically transparent:
they are skipped when looking for previous or following high-level
macros. Examples include roff(7) .ft, .ll, and .ta, mdoc(7) .Sm
and .Tg, and man(7) .DT and .PD. Use this concept for a variety
of improved decisions in various validators and formatters.

While here,
* remove a few const qualifiers on struct arguments that caused trouble;
* get rid of some more Yoda notation in the vicinity;
* and apply some other stylistic improvements in the vicinity.

I found this class of issues while considering .Tg patches from kn@.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.16 10-Jun-2017 schwarze

style message about missing blank before trailing delimiter;
inspired by mdoclint(1), and jmc@ considers it useful


Revision tags: OPENBSD_6_1_BASE
# 1.15 08-Mar-2017 schwarze

Now that markdown output is tested for almost everything, test all
input files in -T markdown output mode by default and only mark
those files with SKIP_MARKDOWN that are not to be tested.
Much easier to read, and almost minus 40 lines of Makefile code.


# 1.14 05-Mar-2017 schwarze

first batch of -T markdown tests


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 16-Feb-2015 schwarze

The wrong test was marked SKIP_GROFF.


# 1.12 06-Feb-2015 schwarze

better handle .Fo and .Fd without argument
better handle .Fo with more than one argument


# 1.11 20-Nov-2014 schwarze

Fix two minibugs reported by Thomas Klausner <wiz at NetBSD>:
1. The first argument of .Fn is not supposed to be parsed.
2. The .Fn macro is not supposed to reopen its scope after punctuation.


# 1.10 11-Oct-2014 schwarze

warn about parentheses in function names after .Fn and .Fo;
particularly useful when converting from other languages to mdoc(7);
feature suggested by bentley@


Revision tags: OPENBSD_5_6_BASE
# 1.9 02-Jul-2014 schwarze

Improve and test the messages about empty macros,
in particular reporting the macro names involved.


# 1.8 02-Jul-2014 schwarze

Implement the obsolete macros .En .Es .Fr .Ot for backward compatibility,
since this is hardly more complicated than explicitly ignoring them
as we did in the past. Of course, do not use them!


Revision tags: OPENBSD_5_5_BASE
# 1.7 25-Dec-2013 schwarze

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 base by a fantastic 7.5%.


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.6 18-Nov-2012 schwarze

Fix four small whitespace issues related to trailing punctuation
reported by Nicolas Joly <njoly at pasteur dot fr>:

- add EOS spacing after trailing punctuation after .Cd, .Fc, and .Lb
- suppress spacing before trailing punctuation after .Fd


Revision tags: OPENBSD_5_2_BASE
# 1.5 09-Jul-2012 schwarze

fix -Tman font handling for:
.Ad .Ar .Cd .Cm .Dv .Em .Er .Ev .Fa .Fl .Fn .Fo .Ft
.Ic .In .Lk .Li .Ms .Mt .Nm .Pa .Sx .Sy .Tn .Va .Vt


# 1.4 08-Jul-2012 schwarze

fix vertical spacing for -Tman SYNOPSIS .Fn .Fo .Ft .In .Nm .Va .Vt


Revision tags: OPENBSD_5_1_BASE
# 1.3 17-Nov-2011 schwarze

Complete overhaul of the mandoc(1) test suite.
* Test the recently introduced -Tman output mode, too.
* Specify date and OS arguments in all tests.
* Remove the kludge of sed(1)ing away the page footer lines.
* New make(1) variables SKIP_TMAN, SKIP_GROFF.
* Drop obsolete, clumsy make(1) variable GROFF_TARGETS.
* Delete obsolete mdoc/Bl/E*.sh error reporting tests.
* Silence char/N/basic.
* New targets:
- ascii, ascii-clean - to run -Tascii tests only
- tman, tman-clean - to run the new -Tman tests only
- obj-clean - maintainer only, needed before groff-clean and groff
- groff-clean - maintainer only, affects checked-in files


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE
# 1.2 05-Feb-2011 schwarze

some more tests found in my tree


Revision tags: OPENBSD_4_8_BASE
# 1.1 01-Jul-2010 schwarze

major update of the mandoc test suite:
* add various new and extend a few existing tests
* stop using Mdocdate to ease syncing with NetBSD


# 1.17 27-Feb-2020 schwarze

Introduce the concept of nodes that are semantically transparent:
they are skipped when looking for previous or following high-level
macros. Examples include roff(7) .ft, .ll, and .ta, mdoc(7) .Sm
and .Tg, and man(7) .DT and .PD. Use this concept for a variety
of improved decisions in various validators and formatters.

While here,
* remove a few const qualifiers on struct arguments that caused trouble;
* get rid of some more Yoda notation in the vicinity;
* and apply some other stylistic improvements in the vicinity.

I found this class of issues while considering .Tg patches from kn@.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.16 10-Jun-2017 schwarze

style message about missing blank before trailing delimiter;
inspired by mdoclint(1), and jmc@ considers it useful


Revision tags: OPENBSD_6_1_BASE
# 1.15 08-Mar-2017 schwarze

Now that markdown output is tested for almost everything, test all
input files in -T markdown output mode by default and only mark
those files with SKIP_MARKDOWN that are not to be tested.
Much easier to read, and almost minus 40 lines of Makefile code.


# 1.14 05-Mar-2017 schwarze

first batch of -T markdown tests


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 16-Feb-2015 schwarze

The wrong test was marked SKIP_GROFF.


# 1.12 06-Feb-2015 schwarze

better handle .Fo and .Fd without argument
better handle .Fo with more than one argument


# 1.11 20-Nov-2014 schwarze

Fix two minibugs reported by Thomas Klausner <wiz at NetBSD>:
1. The first argument of .Fn is not supposed to be parsed.
2. The .Fn macro is not supposed to reopen its scope after punctuation.


# 1.10 11-Oct-2014 schwarze

warn about parentheses in function names after .Fn and .Fo;
particularly useful when converting from other languages to mdoc(7);
feature suggested by bentley@


Revision tags: OPENBSD_5_6_BASE
# 1.9 02-Jul-2014 schwarze

Improve and test the messages about empty macros,
in particular reporting the macro names involved.


# 1.8 02-Jul-2014 schwarze

Implement the obsolete macros .En .Es .Fr .Ot for backward compatibility,
since this is hardly more complicated than explicitly ignoring them
as we did in the past. Of course, do not use them!


Revision tags: OPENBSD_5_5_BASE
# 1.7 25-Dec-2013 schwarze

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 base by a fantastic 7.5%.


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.6 18-Nov-2012 schwarze

Fix four small whitespace issues related to trailing punctuation
reported by Nicolas Joly <njoly at pasteur dot fr>:

- add EOS spacing after trailing punctuation after .Cd, .Fc, and .Lb
- suppress spacing before trailing punctuation after .Fd


Revision tags: OPENBSD_5_2_BASE
# 1.5 09-Jul-2012 schwarze

fix -Tman font handling for:
.Ad .Ar .Cd .Cm .Dv .Em .Er .Ev .Fa .Fl .Fn .Fo .Ft
.Ic .In .Lk .Li .Ms .Mt .Nm .Pa .Sx .Sy .Tn .Va .Vt


# 1.4 08-Jul-2012 schwarze

fix vertical spacing for -Tman SYNOPSIS .Fn .Fo .Ft .In .Nm .Va .Vt


Revision tags: OPENBSD_5_1_BASE
# 1.3 17-Nov-2011 schwarze

Complete overhaul of the mandoc(1) test suite.
* Test the recently introduced -Tman output mode, too.
* Specify date and OS arguments in all tests.
* Remove the kludge of sed(1)ing away the page footer lines.
* New make(1) variables SKIP_TMAN, SKIP_GROFF.
* Drop obsolete, clumsy make(1) variable GROFF_TARGETS.
* Delete obsolete mdoc/Bl/E*.sh error reporting tests.
* Silence char/N/basic.
* New targets:
- ascii, ascii-clean - to run -Tascii tests only
- tman, tman-clean - to run the new -Tman tests only
- obj-clean - maintainer only, needed before groff-clean and groff
- groff-clean - maintainer only, affects checked-in files


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE
# 1.2 05-Feb-2011 schwarze

some more tests found in my tree


Revision tags: OPENBSD_4_8_BASE
# 1.1 01-Jul-2010 schwarze

major update of the mandoc test suite:
* add various new and extend a few existing tests
* stop using Mdocdate to ease syncing with NetBSD


Revision tags: OPENBSD_6_2_BASE
# 1.16 10-Jun-2017 schwarze

style message about missing blank before trailing delimiter;
inspired by mdoclint(1), and jmc@ considers it useful


Revision tags: OPENBSD_6_1_BASE
# 1.15 08-Mar-2017 schwarze

Now that markdown output is tested for almost everything, test all
input files in -T markdown output mode by default and only mark
those files with SKIP_MARKDOWN that are not to be tested.
Much easier to read, and almost minus 40 lines of Makefile code.


# 1.14 05-Mar-2017 schwarze

first batch of -T markdown tests


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 16-Feb-2015 schwarze

The wrong test was marked SKIP_GROFF.


# 1.12 06-Feb-2015 schwarze

better handle .Fo and .Fd without argument
better handle .Fo with more than one argument


# 1.11 20-Nov-2014 schwarze

Fix two minibugs reported by Thomas Klausner <wiz at NetBSD>:
1. The first argument of .Fn is not supposed to be parsed.
2. The .Fn macro is not supposed to reopen its scope after punctuation.


# 1.10 11-Oct-2014 schwarze

warn about parentheses in function names after .Fn and .Fo;
particularly useful when converting from other languages to mdoc(7);
feature suggested by bentley@


Revision tags: OPENBSD_5_6_BASE
# 1.9 02-Jul-2014 schwarze

Improve and test the messages about empty macros,
in particular reporting the macro names involved.


# 1.8 02-Jul-2014 schwarze

Implement the obsolete macros .En .Es .Fr .Ot for backward compatibility,
since this is hardly more complicated than explicitly ignoring them
as we did in the past. Of course, do not use them!


Revision tags: OPENBSD_5_5_BASE
# 1.7 25-Dec-2013 schwarze

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 base by a fantastic 7.5%.


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.6 18-Nov-2012 schwarze

Fix four small whitespace issues related to trailing punctuation
reported by Nicolas Joly <njoly at pasteur dot fr>:

- add EOS spacing after trailing punctuation after .Cd, .Fc, and .Lb
- suppress spacing before trailing punctuation after .Fd


Revision tags: OPENBSD_5_2_BASE
# 1.5 09-Jul-2012 schwarze

fix -Tman font handling for:
.Ad .Ar .Cd .Cm .Dv .Em .Er .Ev .Fa .Fl .Fn .Fo .Ft
.Ic .In .Lk .Li .Ms .Mt .Nm .Pa .Sx .Sy .Tn .Va .Vt


# 1.4 08-Jul-2012 schwarze

fix vertical spacing for -Tman SYNOPSIS .Fn .Fo .Ft .In .Nm .Va .Vt


Revision tags: OPENBSD_5_1_BASE
# 1.3 17-Nov-2011 schwarze

Complete overhaul of the mandoc(1) test suite.
* Test the recently introduced -Tman output mode, too.
* Specify date and OS arguments in all tests.
* Remove the kludge of sed(1)ing away the page footer lines.
* New make(1) variables SKIP_TMAN, SKIP_GROFF.
* Drop obsolete, clumsy make(1) variable GROFF_TARGETS.
* Delete obsolete mdoc/Bl/E*.sh error reporting tests.
* Silence char/N/basic.
* New targets:
- ascii, ascii-clean - to run -Tascii tests only
- tman, tman-clean - to run the new -Tman tests only
- obj-clean - maintainer only, needed before groff-clean and groff
- groff-clean - maintainer only, affects checked-in files


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE
# 1.2 05-Feb-2011 schwarze

some more tests found in my tree


Revision tags: OPENBSD_4_8_BASE
# 1.1 01-Jul-2010 schwarze

major update of the mandoc test suite:
* add various new and extend a few existing tests
* stop using Mdocdate to ease syncing with NetBSD