diff options
author | 2020-04-04 20:23:06 +0000 | |
---|---|---|
committer | 2020-04-04 20:23:06 +0000 | |
commit | e9f36175dfbf22a58e6781c9fdf13f33ca379f4f (patch) | |
tree | 31adf1bcd7b5aba292faba9934e241f7965fe42c | |
parent | Prevent the destruction of a session owned by another interface. (diff) | |
download | wireguard-openbsd-e9f36175dfbf22a58e6781c9fdf13f33ca379f4f.tar.xz wireguard-openbsd-e9f36175dfbf22a58e6781c9fdf13f33ca379f4f.zip |
automatically tag .SH and .SS in man(7) terminal output
in the same way as it was done for .Sh and .Ss in mdoc(7)
-rw-r--r-- | regress/usr.bin/mandoc/man/IP/empty.out_tag | 2 | ||||
-rw-r--r-- | regress/usr.bin/mandoc/man/IP/tag.out_tag | 2 | ||||
-rw-r--r-- | regress/usr.bin/mandoc/man/SH/Makefile | 3 | ||||
-rw-r--r-- | regress/usr.bin/mandoc/man/SH/paragraph.out_tag | 4 | ||||
-rw-r--r-- | regress/usr.bin/mandoc/man/SS/Makefile | 3 | ||||
-rw-r--r-- | regress/usr.bin/mandoc/man/SS/paragraph.out_tag | 4 | ||||
-rw-r--r-- | regress/usr.bin/mandoc/man/TP/tag.out_tag | 2 | ||||
-rw-r--r-- | usr.bin/mandoc/man_html.c | 3 | ||||
-rw-r--r-- | usr.bin/mandoc/man_validate.c | 27 |
9 files changed, 44 insertions, 6 deletions
diff --git a/regress/usr.bin/mandoc/man/IP/empty.out_tag b/regress/usr.bin/mandoc/man/IP/empty.out_tag index f35f112014e..081683cf456 100644 --- a/regress/usr.bin/mandoc/man/IP/empty.out_tag +++ b/regress/usr.bin/mandoc/man/IP/empty.out_tag @@ -1,3 +1,5 @@ +NAME 5 +DESCRIPTION 8 tag1 15 tag2 17 tag 21 diff --git a/regress/usr.bin/mandoc/man/IP/tag.out_tag b/regress/usr.bin/mandoc/man/IP/tag.out_tag index 5be038dbbdb..13ec09aca17 100644 --- a/regress/usr.bin/mandoc/man/IP/tag.out_tag +++ b/regress/usr.bin/mandoc/man/IP/tag.out_tag @@ -1,2 +1,4 @@ +NAME 5 +DESCRIPTION 8 strong 13 weak 15 diff --git a/regress/usr.bin/mandoc/man/SH/Makefile b/regress/usr.bin/mandoc/man/SH/Makefile index f42a85b23da..049680bcc20 100644 --- a/regress/usr.bin/mandoc/man/SH/Makefile +++ b/regress/usr.bin/mandoc/man/SH/Makefile @@ -1,8 +1,9 @@ -# $OpenBSD: Makefile,v 1.7 2020/02/27 01:25:58 schwarze Exp $ +# $OpenBSD: Makefile,v 1.8 2020/04/04 20:23:07 schwarze Exp $ REGRESS_TARGETS = broken broken_eline empty_before longarg noarg paragraph vert LINT_TARGETS = broken broken_eline empty_before noarg HTML_TARGETS = paragraph +TAG_TARGETS = paragraph # groff-1.22.3 defects: # - .SH without args just before EOF causes two additional blank lines. diff --git a/regress/usr.bin/mandoc/man/SH/paragraph.out_tag b/regress/usr.bin/mandoc/man/SH/paragraph.out_tag new file mode 100644 index 00000000000..18a73f7c0f7 --- /dev/null +++ b/regress/usr.bin/mandoc/man/SH/paragraph.out_tag @@ -0,0 +1,4 @@ +NAME 5 +SYNOPSIS 8 +DESCRIPTION 11 +EXAMPLES 16 diff --git a/regress/usr.bin/mandoc/man/SS/Makefile b/regress/usr.bin/mandoc/man/SS/Makefile index edbe4c2caa2..3a894af24cc 100644 --- a/regress/usr.bin/mandoc/man/SS/Makefile +++ b/regress/usr.bin/mandoc/man/SS/Makefile @@ -1,8 +1,9 @@ -# $OpenBSD: Makefile,v 1.5 2020/02/27 01:25:58 schwarze Exp $ +# $OpenBSD: Makefile,v 1.6 2020/04/04 20:23:07 schwarze Exp $ REGRESS_TARGETS = broken broken_eline longarg noarg paragraph vert LINT_TARGETS = broken broken_eline noarg HTML_TARGETS = paragraph +TAG_TARGETS = paragraph # groff-1.22.3 defects: # - .SS without args just before EOF causes two additional blank lines. diff --git a/regress/usr.bin/mandoc/man/SS/paragraph.out_tag b/regress/usr.bin/mandoc/man/SS/paragraph.out_tag new file mode 100644 index 00000000000..15451212f29 --- /dev/null +++ b/regress/usr.bin/mandoc/man/SS/paragraph.out_tag @@ -0,0 +1,4 @@ +NAME 5 +DESCRIPTION 8 +First_subsection 11 +Second_subsection 16 diff --git a/regress/usr.bin/mandoc/man/TP/tag.out_tag b/regress/usr.bin/mandoc/man/TP/tag.out_tag index 88f6cff83d0..14230d89980 100644 --- a/regress/usr.bin/mandoc/man/TP/tag.out_tag +++ b/regress/usr.bin/mandoc/man/TP/tag.out_tag @@ -1,3 +1,5 @@ +NAME 5 +DESCRIPTION 8 plain 13 strong 19 weak 21 diff --git a/usr.bin/mandoc/man_html.c b/usr.bin/mandoc/man_html.c index dd360649d6d..a2a1b4d959c 100644 --- a/usr.bin/mandoc/man_html.c +++ b/usr.bin/mandoc/man_html.c @@ -1,4 +1,4 @@ -/* $OpenBSD: man_html.c,v 1.130 2020/03/13 00:31:05 schwarze Exp $ */ +/* $OpenBSD: man_html.c,v 1.131 2020/04/04 20:23:06 schwarze Exp $ */ /* * Copyright (c) 2013-2015, 2017-2020 Ingo Schwarze <schwarze@openbsd.org> * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv> @@ -325,7 +325,6 @@ man_SH_pre(MAN_ARGS) print_otag(h, TAG_SECTION, "c", class); break; case ROFFT_HEAD: - n->flags |= NODE_ID; print_otag_id(h, tag, class, n); break; case ROFFT_BODY: diff --git a/usr.bin/mandoc/man_validate.c b/usr.bin/mandoc/man_validate.c index 4ab8c2cce11..0b28fe4a173 100644 --- a/usr.bin/mandoc/man_validate.c +++ b/usr.bin/mandoc/man_validate.c @@ -1,4 +1,4 @@ -/* $OpenBSD: man_validate.c,v 1.121 2020/03/13 00:31:05 schwarze Exp $ */ +/* $OpenBSD: man_validate.c,v 1.122 2020/04/04 20:23:07 schwarze Exp $ */ /* * Copyright (c) 2010, 2012-2020 Ingo Schwarze <schwarze@openbsd.org> * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> @@ -309,9 +309,32 @@ static void post_SH(CHKARGS) { struct roff_node *nc; + char *cp, *tag; - if (n->type != ROFFT_BODY || (nc = n->child) == NULL) + nc = n->child; + switch (n->type) { + case ROFFT_HEAD: + tag = NULL; + deroff(&tag, n); + if (tag != NULL) { + for (cp = tag; *cp != '\0'; cp++) + if (*cp == ' ') + *cp = '_'; + if (nc != NULL && nc->type == ROFFT_TEXT && + strcmp(nc->string, tag) == 0) + tag_put(NULL, TAG_WEAK, n); + else + tag_put(tag, TAG_FALLBACK, n); + free(tag); + } + return; + case ROFFT_BODY: + if (nc != NULL) + break; return; + default: + return; + } if (nc->tok == MAN_PP && nc->body->child != NULL) { while (nc->body->last != NULL) { |