#
0ac7e6ec |
| 13-Mar-2020 |
schwarze <schwarze@openbsd.org> |
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
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.
show more ...
|
#
7ebbefbe |
| 27-Feb-2020 |
schwarze <schwarze@openbsd.org> |
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 a
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@.
show more ...
|
#
04fbb99f |
| 10-Jun-2017 |
schwarze <schwarze@openbsd.org> |
style message about missing blank before trailing delimiter; inspired by mdoclint(1), and jmc@ considers it useful
|
#
68ba34ad |
| 08-Mar-2017 |
schwarze <schwarze@openbsd.org> |
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 easie
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.
show more ...
|
#
6d0f36f9 |
| 05-Mar-2017 |
schwarze <schwarze@openbsd.org> |
first batch of -T markdown tests
|
#
0aa2d890 |
| 16-Feb-2015 |
schwarze <schwarze@openbsd.org> |
The wrong test was marked SKIP_GROFF.
|
#
afcd1f03 |
| 06-Feb-2015 |
schwarze <schwarze@openbsd.org> |
better handle .Fo and .Fd without argument better handle .Fo with more than one argument
|
#
cf46e012 |
| 20-Nov-2014 |
schwarze <schwarze@openbsd.org> |
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.
|
#
0c5064e3 |
| 11-Oct-2014 |
schwarze <schwarze@openbsd.org> |
warn about parentheses in function names after .Fn and .Fo; particularly useful when converting from other languages to mdoc(7); feature suggested by bentley@
|
#
307e5a07 |
| 02-Jul-2014 |
schwarze <schwarze@openbsd.org> |
Improve and test the messages about empty macros, in particular reporting the macro names involved.
|
#
551cd4a8 |
| 02-Jul-2014 |
schwarze <schwarze@openbsd.org> |
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!
|
#
1192b926 |
| 25-Dec-2013 |
schwarze <schwarze@openbsd.org> |
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 fantasti
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%.
show more ...
|
#
7dad7ffd |
| 18-Nov-2012 |
schwarze <schwarze@openbsd.org> |
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 s
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
show more ...
|
#
388939ae |
| 09-Jul-2012 |
schwarze <schwarze@openbsd.org> |
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
|
#
fb6b7277 |
| 08-Jul-2012 |
schwarze <schwarze@openbsd.org> |
fix vertical spacing for -Tman SYNOPSIS .Fn .Fo .Ft .In .Nm .Va .Vt
|
#
2e5f490f |
| 17-Nov-2011 |
schwarze <schwarze@openbsd.org> |
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 foot
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
show more ...
|
#
46a6de40 |
| 05-Feb-2011 |
schwarze <schwarze@openbsd.org> |
some more tests found in my tree
|
#
eb92df09 |
| 01-Jul-2010 |
schwarze <schwarze@openbsd.org> |
major update of the mandoc test suite: * add various new and extend a few existing tests * stop using Mdocdate to ease syncing with NetBSD
|