-.Dd January 19, 2011
+.Dd June 9, 2017
.Dt AD-NOARG 1
.Os OpenBSD
.Sh NAME
.Nd address macro without an argument
.Sh DESCRIPTION
with address:
-.Ad 0x3bc
+.Ad 0x3bc.
no address:
.Ad
end of test document
A\bAd\bd-\b-n\bno\boa\bar\brg\bg - address macro without an argument
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- with address: _\b0_\bx_\b3_\bb_\bc no address: end of test document
+ with address: _\b0_\bx_\b3_\bb_\bc_\b. no address: end of test document
-OpenBSD January 19, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: noarg.in:11:2: WARNING: skipping empty macro: Ad
+mandoc: noarg.in:9:10: STYLE: no blank before trailing delimiter: Ad 0x3bc.
# DESCRIPTION
with address:
-*0x3bc*
+*0x3bc.*
no address:
end of test document
-OpenBSD - January 19, 2011
+OpenBSD - June 9, 2017
.Pp
inline:
.An Kristaps ","
-.An Ingo ,
+.An Ingo,
and
.An Joerg .
empty
mandoc: break.in:38:2: WARNING: skipping empty macro: An
mandoc: break.in:39:14: WARNING: skipping duplicate argument: An -split
mandoc: break.in:39:21: ERROR: skipping excess arguments: An ... bogus
+mandoc: break.in:43:9: STYLE: no blank before trailing delimiter: An Ingo,
mandoc: break.in:47:2: WARNING: skipping empty macro: An
mandoc: break.in:49:2: WARNING: skipping empty macro: An
-# $OpenBSD: Makefile,v 1.5 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.6 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = author empty
UTF8_TARGETS = author empty
+LINT_TARGETS = empty
.include <bsd.regress.mk>
-.Dd August 6, 2010
+.Dd June 9, 2017
.Dt AQ-EMPTY 1
.Os OpenBSD
.Sh NAME
An empty
.Aq
and a full
-.Aq user@host
+.Aq user@host:
return path.
And another
-.Ao full Ac one "Sy" bold .
+.Ao full: Ac one "Sy" bold .
A\bAq\bq-\b-e\bem\bmp\bpt\bty\by - empty implicit enclosure macros
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- An empty <> and a full <user@host> return path. And another <full> one
+ An empty <> and a full <user@host:> return path. And another <full:> one
b\bbo\bol\bld\bd.
-OpenBSD August 6, 2010 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: empty.in:11:14: STYLE: no blank before trailing delimiter: Aq user@host:
+mandoc: empty.in:14:9: STYLE: no blank before trailing delimiter: Ao full:
An empty
<>
and a full
-<user@host>
+<user@host:>
return path.
And another
-<full> one **bold**.
+<full:> one **bold**.
-OpenBSD - August 6, 2010
+OpenBSD - June 9, 2017
A\bAq\bq-\b-e\bem\bmp\bpt\bty\by – empty implicit enclosure macros
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- An empty ⟨⟩ and a full ⟨user@host⟩ return path. And another ⟨full⟩ one
+ An empty ⟨⟩ and a full ⟨user@host:⟩ return path. And another ⟨full:⟩ one
b\bbo\bol\bld\bd.
-OpenBSD August 6, 2010 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
-# $OpenBSD: Makefile,v 1.5 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.6 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = punct font
+LINT_TARGETS = punct
.include <bsd.regress.mk>
-.Dd August 21, 2014
+.Dd June 9, 2017
.Dt AR-PUNCT 1
.Os OpenBSD
.Sh NAME
.Pp
quoted punctuation:
.Ar a "(" b "|" c ")" d "," "Sy" bold .
+.Pp
+missing blank:
+.Ar arg.
quoted punctuation: _\ba (_\bb | _\bc) _\bd, b\bbo\bol\bld\bd.
-OpenBSD August 21, 2014 OpenBSD
+ missing blank: _\ba_\br_\bg_\b.
+
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: punct.in:45:8: STYLE: no blank before trailing delimiter: Ar arg.
quoted punctuation:
*a* (*b* | *c*) *d*, **bold**.
-OpenBSD - August 21, 2014
+missing blank:
+*arg.*
+
+OpenBSD - June 9, 2017
.Bl -tag -width Ds
Stray text.
.Ao
-More stray text.
+More stray text
.It tag
Tagged text.
.El
.Bl -bullet
Stray text.
.Ao
-More stray text.
+More stray text
.It
Bullet point.
.El
.It tag
Tagged text.
.Ao
-More tagged text.
+More tagged text
.It tag2
Yet more tagged text.
.El
.It
Item text.
.Ao
-More item text.
+More item text
.It
Bullet point.
.El
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
B\bBr\bre\bea\bak\bki\bin\bng\bg p\bpa\bar\brt\bti\bia\bal\bl e\bex\bxp\bpl\bli\bic\bci\bit\bt m\bma\bac\bcr\bro\bos\bs
- Stray text. <More stray text.>
+ Stray text. <More stray text>
tag Tagged text.
- Stray text. <More stray text.>
+ Stray text. <More stray text>
+\b+\bo\bo Bullet point.
- tag Tagged text. <More tagged text.>
+ tag Tagged text. <More tagged text>
tag2 Yet more tagged text.
- +\b+\bo\bo Item text. <More item text.>
+ +\b+\bo\bo Item text. <More item text>
+\b+\bo\bo Bullet point.
## Breaking partial explicit macros
Stray text.
-<More stray text.>
+<More stray text>
tag
> Tagged text.
Stray text.
-<More stray text.>
+<More stray text>
* Bullet point.
tag
> Tagged text.
-> <More tagged text.>
+> <More tagged text>
tag2
> Yet more tagged text.
* Item text.
- <More item text.>
+ <More item text>
* Bullet point.
.Sh DESCRIPTION
.Bl -tag -width Ds
Stray text.
-.Em More stray text.
+.Em More stray text
.It tag
Tagged text.
.El
.Bl -bullet
Stray text.
.Sm off
-.Em More Sy stray Em text.
+.Em More Sy stray Em text
.Sm on
.It
Bullet point.
B\bBl\bl-\b-n\bno\boI\bIt\bt - list missing item macros
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- Stray text. _\bM_\bo_\br_\be _\bs_\bt_\br_\ba_\by _\bt_\be_\bx_\bt_\b.
+ Stray text. _\bM_\bo_\br_\be _\bs_\bt_\br_\ba_\by _\bt_\be_\bx_\bt
tag Tagged text.
- Stray text. _\bM_\bo_\br_\bes\bst\btr\bra\bay\by_\bt_\be_\bx_\bt_\b.
+ Stray text. _\bM_\bo_\br_\bes\bst\btr\bra\bay\by_\bt_\be_\bx_\bt
+\b+\bo\bo Bullet point.
Stray text only.
# DESCRIPTION
Stray text.
-*More stray text.*
+*More stray text*
tag
> Tagged text.
Stray text.
-*More*‌**stray**‌*text.*
+*More*‌**stray**‌*text*
* Bullet point.
-# $OpenBSD: Makefile,v 1.3 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.4 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = empty
+LINT_TARGETS = empty
.include <bsd.regress.mk>
-.Dd October 21, 2010
+.Dd June 9, 2017
.Dt BRQ-EMPTY 1
.Os OpenBSD
.Sh NAME
An empty
.Brq
and a full
-.Brq "(" user@host
+.Brq "(" user@host)
quotation.
And another
-.Bro "(" full Brc one "Sy" bold .
+.Bro "(" full) Brc one "Sy" bold .
B\bBr\brq\bq-\b-e\bem\bmp\bpt\bty\by - empty implicit enclosure macros
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- An empty {} and a full ({user@host} quotation. And another ({full} one
+ An empty {} and a full ({user@host)} quotation. And another ({full)} one
b\bbo\bol\bld\bd.
-OpenBSD October 21, 2010 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: empty.in:11:19: STYLE: no blank before trailing delimiter: Brq user@host)
+mandoc: empty.in:14:14: STYLE: no blank before trailing delimiter: Bro full)
An empty
{}
and a full
-({user@host}
+({user@host)}
quotation.
And another
-({full} one **bold**.
+({full)} one **bold**.
-OpenBSD - October 21, 2010
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.4 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.5 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = args
+LINT_TARGETS = args
.include <bsd.regress.mk>
-.Dd January 30, 2011
+.Dd June 9, 2017
.Dt BX-ARGS 1
.Os OpenBSD
.Sh NAME
.Bx 4.4 "."
.Pp
one non-standard argument:
-.Bx nett
+.Bx nett.
.Pp
one semi-standard argument:
.Bx 4.1c
one standard argument: 4.4BSD.
- one non-standard argument: nettBSD
+ one non-standard argument: nett.BSD
one semi-standard argument: 4.1cBSD
end of test document
-OpenBSD January 30, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: args.in:15:9: STYLE: no blank before trailing delimiter: Bx nett.
4\.4BSD.
one non-standard argument:
-nettBSD
+nett.BSD
one semi-standard argument:
4\.1cBSD
end of test document
-OpenBSD - January 30, 2011
+OpenBSD - June 9, 2017
-.Dd July 2, 2014
+.Dd June 9, 2017
.Dt CM-NOARG 1
.Os OpenBSD
.Sh NAME
.Nm mt Fl f Ar device Cm
.Pp
middle of line:
-.Nm ps Fl x Cm Fl o Cm command
+.Nm ps Fl x Cm Fl o Cm command.
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
end of line: m\bmt\bt -\b-f\bf _\bd_\be_\bv_\bi_\bc_\be
- middle of line: p\bps\bs -\b-x\bx -\b-o\bo c\bco\bom\bmm\bma\ban\bnd\bd
+ middle of line: p\bps\bs -\b-x\bx -\b-o\bo c\bco\bom\bmm\bma\ban\bnd\bd.\b.
-OpenBSD July 2, 2014 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: noarg.in:9:23: WARNING: skipping empty macro: Cm
mandoc: noarg.in:12:13: WARNING: skipping empty macro: Cm
+mandoc: noarg.in:12:31: STYLE: no blank before trailing delimiter: Cm command.
**mt** **-f** *device*
middle of line:
-**ps** **-x** **-o** **command**
+**ps** **-x** **-o** **command.**
-OpenBSD - July 2, 2014
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.3 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.4 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = empty
+LINT_TARGETS = empty
.include <bsd.regress.mk>
-.Dd October 21, 2010
+.Dd June 9, 2017
.Dt DQ-EMPTY 1
.Os OpenBSD
.Sh NAME
An empty
.Dq
and a full
-.Dq "(" user@host
+.Dq "(" user@host)
quotation.
And another
-.Do "(" full Dc one "Sy" bold .
+.Do "(" full) Dc one "Sy" bold .
D\bDq\bq-\b-e\bem\bmp\bpt\bty\by - empty implicit enclosure macros
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- An empty "" and a full ("user@host" quotation. And another ("full" one
+ An empty "" and a full ("user@host)" quotation. And another ("full)" one
b\bbo\bol\bld\bd.
-OpenBSD October 21, 2010 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
An empty
""
and a full
-("user@host"
+("user@host)"
quotation.
And another
-("full" one **bold**.
+("full)" one **bold**.
-OpenBSD - October 21, 2010
+OpenBSD - June 9, 2017
-.Dd July 2, 2014
+.Dd June 9, 2017
.Dt DV-NOARG 1
.Os OpenBSD
.Sh NAME
.Nd defined variable macro without an argument
.Sh DESCRIPTION
with variable:
-.Dv NULL
+.Dv NULL.
no variable:
.Dv
end of test document
D\bDv\bv-\b-n\bno\boa\bar\brg\bg - defined variable macro without an argument
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- with variable: NULL no variable: end of test document
+ with variable: NULL. no variable: end of test document
-OpenBSD July 2, 2014 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: noarg.in:11:2: WARNING: skipping empty macro: Dv
+mandoc: noarg.in:9:9: STYLE: no blank before trailing delimiter: Dv NULL.
# DESCRIPTION
with variable:
-`NULL`
+`NULL.`
no variable:
end of test document
-OpenBSD - July 2, 2014
+OpenBSD - June 9, 2017
-.Dd November 17, 2014
+.Dd June 9, 2017
.Dt EM-PUNCT 1
.Os OpenBSD
.Sh NAME
.Em "a . b Nm" "Sy" bold
.Em ". b Nm"
.Em "."
+.Pp
+Missing blank:
+.Em a.
Quoted: _\ba _\b. _\bb _\bN_\bm b\bbo\bol\bld\bd _\b. _\bb _\bN_\bm .
-OpenBSD November 17, 2014 OpenBSD
+ Missing blank: _\ba_\b.
+
+OpenBSD June 9, 2017 OpenBSD
mandoc: punct.in:74:7: WARNING: skipping empty macro: Em
mandoc: punct.in:75:7: WARNING: skipping empty macro: Em
mandoc: punct.in:83:2: WARNING: skipping empty macro: Em
+mandoc: punct.in:86:6: STYLE: no blank before trailing delimiter: Em a.
*. b Nm*
.
-OpenBSD - November 17, 2014
+Missing blank:
+*a.*
+
+OpenBSD - June 9, 2017
-.Dd January 19, 2011
+.Dd June 9, 2017
.Dt ER-NOARG 1
.Os OpenBSD
.Sh NAME
.Sh DESCRIPTION
with error:
.Er ENOENT ";" "Sy" bold ;
+.Er EIO.
no error:
.Er
end of test document
E\bEr\br-\b-n\bno\boa\bar\brg\bg - error constant macro without an argument
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- with error: ENOENT; b\bbo\bol\bld\bd; no error: end of test document
+ with error: ENOENT; b\bbo\bol\bld\bd; EIO. no error: end of test document
-OpenBSD January 19, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
-mandoc: noarg.in:11:2: WARNING: skipping empty macro: Er
+mandoc: noarg.in:12:2: WARNING: skipping empty macro: Er
+mandoc: noarg.in:10:8: STYLE: no blank before trailing delimiter: Er EIO.
with error:
`ENOENT`; **bold**;
+`EIO.`
no error:
end of test document
-OpenBSD - January 19, 2011
+OpenBSD - June 9, 2017
-.Dd July 2, 2014
+.Dd June 9, 2017
.Dt EV-NOARG 1
.Os OpenBSD
.Sh NAME
.Nd environment variable macro without an argument
.Sh DESCRIPTION
with variable:
-.Ev HOME
+.Ev HOME.
no variable:
.Ev
end of test document
E\bEv\bv-\b-n\bno\boa\bar\brg\bg - environment variable macro without an argument
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- with variable: HOME no variable: end of test document
+ with variable: HOME. no variable: end of test document
-OpenBSD July 2, 2014 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: noarg.in:11:2: WARNING: skipping empty macro: Ev
+mandoc: noarg.in:9:9: STYLE: no blank before trailing delimiter: Ev HOME.
# DESCRIPTION
with variable:
-`HOME`
+`HOME.`
no variable:
end of test document
-OpenBSD - July 2, 2014
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.11 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.12 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = noarg multiarg parsed punct font
+LINT_TARGETS = punct
.include <bsd.regress.mk>
-.Dd August 21, 2014
+.Dd June 9, 2017
.Dt FL-PUNCT 1
.Os OpenBSD
.Sh NAME
.Pp
quoted punctuation:
.Fl a "(" b "|" c ")" d "," "Em" italic .
+.Pp
+trailing delimiter:
+.Fl a.
quoted punctuation: -\b-a\ba (-\b-b\bb | -\b-c\bc) -\b-d\bd, _\bi_\bt_\ba_\bl_\bi_\bc.
-OpenBSD August 21, 2014 OpenBSD
+ trailing delimiter: -\b-a\ba.\b.
+
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: punct.in:45:6: STYLE: no blank before trailing delimiter: Fl a.
quoted punctuation:
**-a** (**-b** | **-c**) **-d**, *italic*.
-OpenBSD - August 21, 2014
+trailing delimiter:
+**-a.**
+
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.15 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.16 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = basic break eos font noarg nohead
REGRESS_TARGETS += obsolete punct section warn
-LINT_TARGETS = noarg nohead obsolete warn
+LINT_TARGETS = noarg nohead obsolete punct warn
# groff-1.22.3 defects:
# - .Fo without an argument prints unbalanced parentheses
.Nd punctuation on function input lines
.Sh DESCRIPTION
.Ft double
-.Fn sin "," cos "Em" italic
+.Fn sin. "," cos "Em" italic
.Pp
-.Fa x "," y "Sy" bold
+.Fa x "," y: "Sy" bold
.Pp
-.Ft int "," float "Sy" bold
+.Ft int "," float: "Sy" bold
F\bFo\bo-\b-p\bpu\bun\bnc\bct\bt - punctuation on function input lines
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- _\bd_\bo_\bu_\bb_\bl_\be s\bsi\bin\bn(), cos _\bi_\bt_\ba_\bl_\bi_\bc
+ _\bd_\bo_\bu_\bb_\bl_\be s\bsi\bin\bn.\b.(), cos _\bi_\bt_\ba_\bl_\bi_\bc
- _\bx, _\by b\bbo\bol\bld\bd
+ _\bx, _\by_\b: b\bbo\bol\bld\bd
- _\bi_\bn_\bt, _\bf_\bl_\bo_\ba_\bt b\bbo\bol\bld\bd
+ _\bi_\bn_\bt, _\bf_\bl_\bo_\ba_\bt_\b: b\bbo\bol\bld\bd
OpenBSD May 20, 2017 OpenBSD
--- /dev/null
+mandoc: punct.in:9:8: STYLE: no blank before trailing delimiter: Fn sin.
+mandoc: punct.in:11:12: STYLE: no blank before trailing delimiter: Fa y:
+mandoc: punct.in:13:18: STYLE: no blank before trailing delimiter: Ft float:
# DESCRIPTION
*double*
-**sin**(), cos *italic*
+**sin.**(), cos *italic*
-*x*, *y* **bold**
+*x*, *y:* **bold**
-*int*, *float* **bold**
+*int*, *float:* **bold**
OpenBSD - May 20, 2017
-.Dd January 19, 2011
+.Dd June 9, 2017
.Dt IC-NOARG 1
.Os OpenBSD
.Sh NAME
.Nd interactive command without an argument
.Sh DESCRIPTION
with command:
-.Ic ls
+.Ic ls.
no command:
.Ic
end of test document
I\bIc\bc-\b-n\bno\boa\bar\brg\bg - interactive command without an argument
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- with command: l\bls\bs no command: end of test document
+ with command: l\bls\bs.\b. no command: end of test document
-OpenBSD January 19, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: noarg.in:11:2: WARNING: skipping empty macro: Ic
+mandoc: noarg.in:9:7: STYLE: no blank before trailing delimiter: Ic ls.
# DESCRIPTION
with command:
-**ls**
+**ls.**
no command:
end of test document
-OpenBSD - January 19, 2011
+OpenBSD - June 9, 2017
.Ft double
.Fn cos "double x"
.Sh DESCRIPTION
-.In math.h
+.In math.h:
.Ft double
.Fn sin "double x"
.In
c\bco\bos\bs(_\bd_\bo_\bu_\bb_\bl_\be _\bx);
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- <_\bm_\ba_\bt_\bh_\b._\bh> _\bd_\bo_\bu_\bb_\bl_\be s\bsi\bin\bn(_\bd_\bo_\bu_\bb_\bl_\be _\bx) _\bd_\bo_\bu_\bb_\bl_\be c\bco\bos\bs(_\bd_\bo_\bu_\bb_\bl_\be _\bx)
+ <_\bm_\ba_\bt_\bh_\b._\bh_\b:> _\bd_\bo_\bu_\bb_\bl_\be s\bsi\bin\bn(_\bd_\bo_\bu_\bb_\bl_\be _\bx) _\bd_\bo_\bu_\bb_\bl_\be c\bco\bos\bs(_\bd_\bo_\bu_\bb_\bl_\be _\bx)
OpenBSD February 5, 2015 OpenBSD
mandoc: noarg.in:11:2: WARNING: skipping empty macro: In
mandoc: noarg.in:18:2: WARNING: skipping empty macro: In
+mandoc: noarg.in:15:11: STYLE: no blank before trailing delimiter: In math.h:
# DESCRIPTION
-<*math.h*>
+<*math.h:*>
*double*
**sin**(*double x*)
*double*
-.Dd January 2, 2011
+.Dd June 9, 2017
.Dt LB-BADARGS 3
.Os OpenBSD
.Sh NAME
.Nm Lb-badargs
.Nd bad arguments to the library macro
.Sh LIBRARY
-.Lb murks
+.Lb murks.
.Lb
-.Lb mylib another
+.Lb mylib another.
L\bLb\bb-\b-b\bba\bad\bda\bar\brg\bgs\bs - bad arguments to the library macro
L\bLI\bIB\bBR\bRA\bAR\bRY\bY
- library "murks"
- library "mylib" another
+ library "murks."
+ library "mylib" another.
-OpenBSD January 2, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: badargs.in:9:2: WARNING: skipping empty macro: Lb
+mandoc: badargs.in:8:10: STYLE: no blank before trailing delimiter: Lb murks.
+mandoc: badargs.in:10:18: STYLE: no blank before trailing delimiter: Lb ... another.
# LIBRARY
-library “murks”
-library “mylib” another
+library “murks.”
+library “mylib” another.
-OpenBSD - January 2, 2011
+OpenBSD - June 9, 2017
-.Dd November 17, 2014
+.Dd June 9, 2017
.Dt LI-PUNCT 1
.Os OpenBSD
.Sh NAME
.Li "a . b Nm" "Sy" bold
.Li ". b Nm"
.Li "."
+.Pp
+Missing blank:
+.Li a.
Quoted: a . b Nm b\bbo\bol\bld\bd . b Nm .
-OpenBSD November 17, 2014 OpenBSD
+ Missing blank: a.
+
+OpenBSD June 9, 2017 OpenBSD
mandoc: punct.in:74:7: WARNING: skipping empty macro: Li
mandoc: punct.in:75:7: WARNING: skipping empty macro: Li
mandoc: punct.in:83:2: WARNING: skipping empty macro: Li
+mandoc: punct.in:86:6: STYLE: no blank before trailing delimiter: Li a.
`. b Nm`
.
-OpenBSD - November 17, 2014
+Missing blank:
+`a.`
+
+OpenBSD - June 9, 2017
-.Dd January 19, 2011
+.Dd June 9, 2017
.Dt LK-NOARG 1
.Os OpenBSD
.Sh NAME
.Lk http://www.bsd.lv/ the bsd.lv project ,
.Lk http://www.gnu.org/software/groff/ GNU troff ","
two arguments
-.Lk http://mdocml.bsd.lv/ mandoc
+.Lk http://mdocml.bsd.lv/ mandoc,
one argument
-.Lk http://www.openbsd.org/
+.Lk http://www.openbsd.org/,
no argument
.Lk
.Pp
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
multiple arguments _\bt_\bh_\be _\bb_\bs_\bd_\b._\bl_\bv _\bp_\br_\bo_\bj_\be_\bc_\bt: h\bht\btt\btp\bp:\b:/\b//\b/w\bww\bww\bw.\b.b\bbs\bsd\bd.\b.l\blv\bv/\b/, _\bG_\bN_\bU _\bt_\br_\bo_\bf_\bf:
h\bht\btt\btp\bp:\b:/\b//\b/w\bww\bww\bw.\b.g\bgn\bnu\bu.\b.o\bor\brg\bg/\b/s\bso\bof\bft\btw\bwa\bar\bre\be/\b/g\bgr\bro\bof\bff\bf/\b/,
- two arguments _\bm_\ba_\bn_\bd_\bo_\bc: h\bht\btt\btp\bp:\b:/\b//\b/m\bmd\bdo\boc\bcm\bml\bl.\b.b\bbs\bsd\bd.\b.l\blv\bv/\b/ one argument
- h\bht\btt\btp\bp:\b:/\b//\b/w\bww\bww\bw.\b.o\bop\bpe\ben\bnb\bbs\bsd\bd.\b.o\bor\brg\bg/\b/ no argument
+ two arguments _\bm_\ba_\bn_\bd_\bo_\bc_\b,: h\bht\btt\btp\bp:\b:/\b//\b/m\bmd\bdo\boc\bcm\bml\bl.\b.b\bbs\bsd\bd.\b.l\blv\bv/\b/ one argument
+ h\bht\btt\btp\bp:\b:/\b//\b/w\bww\bww\bw.\b.o\bop\bpe\ben\bnb\bbs\bsd\bd.\b.o\bor\brg\bg/\b/,\b, no argument
end of test document
-OpenBSD January 19, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: noarg.in:16:2: WARNING: skipping empty macro: Lk
+mandoc: noarg.in:12:33: STYLE: no blank before trailing delimiter: Lk ... mandoc,
+mandoc: noarg.in:14:28: STYLE: no blank before trailing delimiter: Lk http://www.openbsd.org/,
[the bsd.lv project](http://www.bsd.lv/),
[GNU troff](http://www.gnu.org/software/groff/),
two arguments
-[mandoc](http://mdocml.bsd.lv/)
+[mandoc,](http://mdocml.bsd.lv/)
one argument
-[http://www.openbsd.org/](http://www.openbsd.org/)
+[http://www.openbsd.org/,](http://www.openbsd.org/,)
no argument
end of test document
-OpenBSD - January 19, 2011
+OpenBSD - June 9, 2017
-.Dd January 19, 2011
+.Dd June 19, 2017
.Dt MS-NOARG 1
.Os OpenBSD
.Sh NAME
.Nm Ms-noarg
.Nd mathematical symbol without an argument
.Sh DESCRIPTION
-with command:
-.Ms alpha
-no command:
+with symbol:
+.Ms alpha.
+no symbol:
.Ms
end of test document
M\bMs\bs-\b-n\bno\boa\bar\brg\bg - mathematical symbol without an argument
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- with command: a\bal\blp\bph\bha\ba no command: end of test document
+ with symbol: a\bal\blp\bph\bha\ba.\b. no symbol: end of test document
-OpenBSD January 19, 2011 OpenBSD
+OpenBSD June 19, 2017 OpenBSD
mandoc: noarg.in:11:2: WARNING: skipping empty macro: Ms
+mandoc: noarg.in:9:10: STYLE: no blank before trailing delimiter: Ms alpha.
# DESCRIPTION
-with command:
-**alpha**
-no command:
+with symbol:
+**alpha.**
+no symbol:
end of test document
-OpenBSD - January 19, 2011
+OpenBSD - June 19, 2017
-# $OpenBSD: Makefile,v 1.7 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.8 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = simple font
+LINT_TARGETS = simple
# it's unclear what font changes in link destinations should do
-.Dd February 17, 2010
+.Dd June 9, 2017
.Dt MT-SIMPLE 1
.Os OpenBSD
.Sh NAME
Please send mail to
.Mt schwarze@openbsd.org ";" "Sy" bold .
.Pp
+Pay attention to
+.Mt punctuation@localhost.
+.Pp
Do not send mail to
.Mt .
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
Please send mail to _\bs_\bc_\bh_\bw_\ba_\br_\bz_\be_\b@_\bo_\bp_\be_\bn_\bb_\bs_\bd_\b._\bo_\br_\bg; b\bbo\bol\bld\bd.
+ Pay attention to _\bp_\bu_\bn_\bc_\bt_\bu_\ba_\bt_\bi_\bo_\bn_\b@_\bl_\bo_\bc_\ba_\bl_\bh_\bo_\bs_\bt_\b.
+
Do not send mail to _\b~.
-OpenBSD February 17, 2010 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: simple.in:12:26: STYLE: no blank before trailing delimiter: Mt punctuation@localhost.
Please send mail to
[schwarze@openbsd.org](mailto:schwarze@openbsd.org); **bold**.
+Pay attention to
+[punctuation@localhost.](mailto:punctuation@localhost.)
+
Do not send mail to
[~](mailto:~).
-OpenBSD - February 17, 2010
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.16 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.17 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = badNAME badNAMEuse break broken
REGRESS_TARGETS += empty emptyNAME emptyNAMEuse
REGRESS_TARGETS += font long par parns punct
-LINT_TARGETS = badNAME badNAMEuse break broken
+LINT_TARGETS = badNAME badNAMEuse break broken punct
# groff-1.22.3/mandoc differences:
# - When the head of an Nm block in the SYNOPSIS is broken by an
-.Dd August 21, 2014
+.Dd June 9, 2017
.Dt NM-PUNCT 1
.Os OpenBSD
.Sh NAME
.Nm ( a
op bracket
.Nm [ a
+.Pp
+Missing blank:
+.Nm Nm-punct.
N\bNm\bm-\b-p\bpu\bun\bnc\bct\bt; z colon N\bNm\bm-\b-p\bpu\bun\bnc\bct\bt: z quest N\bNm\bm-\b-p\bpu\bun\bnc\bct\bt? z excl N\bNm\bm-\b-p\bpu\bun\bnc\bct\bt! z paren
N\bNm\bm-\b-p\bpu\bun\bnc\bct\bt) z bracket N\bNm\bm-\b-p\bpu\bun\bnc\bct\bt] z bar | m\bm op paren (a\ba op bracket [a\ba
-OpenBSD August 21, 2014 OpenBSD
+ Missing blank: N\bNm\bm-\b-p\bpu\bun\bnc\bct\bt.\b.
+
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: punct.in:42:13: STYLE: no blank before trailing delimiter: Nm Nm-punct.
op bracket
\[**a**
-OpenBSD - August 21, 2014
+Missing blank:
+**Nm-punct.**
+
+OpenBSD - June 9, 2017
-.Dd November 17, 2014
+.Dd June 9, 2017
.Dt NO-PUNCT 1
.Os OpenBSD
.Sh NAME
.No "a . b Nm" "Sy" bold
.No ". b Nm"
.No "."
+.Pp
+Missing blank:
+.No a.
Quoted: a . b Nm b\bbo\bol\bld\bd . b Nm .
-OpenBSD November 17, 2014 OpenBSD
+ Missing blank: a.
+
+OpenBSD June 9, 2017 OpenBSD
mandoc: punct.in:74:7: WARNING: skipping empty macro: No
mandoc: punct.in:75:7: WARNING: skipping empty macro: No
mandoc: punct.in:83:2: WARNING: skipping empty macro: No
+mandoc: punct.in:86:6: STYLE: no blank before trailing delimiter: No a.
. b Nm
.
-OpenBSD - November 17, 2014
+Missing blank:
+a.
+
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.3 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.4 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = punct
+LINT_TARGETS = punct
.include <bsd.regress.mk>
-.Dd July 6, 2012
+.Dd June 9, 2017
.Dt OO-PUNCT 1
.Os OpenBSD
.Sh NAME
.Oo Oo a (
.Oc |
.Oc
+.Pp
+missing blank:
+.Oo a.
+.Oc
at the end: [[a (] |]
-OpenBSD July 6, 2012 OpenBSD
+ missing blank: [a.]
+
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: punct.in:26:6: STYLE: no blank before trailing delimiter: Oo a.
\[\[a (]
|]
-OpenBSD - July 6, 2012
+missing blank:
+\[a.]
+
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.5 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.6 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = break broken punct
-LINT_TARGETS = break broken
+LINT_TARGETS = break broken punct
SKIP_GROFF = break
SKIP_ASCII = break
-.Dd June 24, 2011
+.Dd June 9, 2017
.Dt OP-PUNCT 1
.Os OpenBSD
.Sh NAME
.Op ( (
.Op | |
.Op . .
+.Pp
+Missing blank:
+.Op a.
more than one: (([] [| |] []..
-OpenBSD June 24, 2011 OpenBSD
+ Missing blank: [a.]
+
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: punct.in:34:6: STYLE: no blank before trailing delimiter: Op a.
\[| |]
\[]..
-OpenBSD - June 24, 2011
+Missing blank:
+\[a.]
+
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.6 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.7 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = font punct
+LINT_TARGETS = punct
# XXX The FILES target doesn't currently work.
-.Dd August 21, 2014
+.Dd June 9, 2017
.Dt PA-PUNCT 1
.Os OpenBSD
.Sh NAME
.Pp
quoted punctuation:
.Pa a "(" b "|" c ")" d "," "Sy" bold .
+.Pp
+missing blank:
+.Pa a.
quoted punctuation: _\ba (_\bb | _\bc) _\bd, b\bbo\bol\bld\bd.
-OpenBSD August 21, 2014 OpenBSD
+ missing blank: _\ba_\b.
+
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: punct.in:45:6: STYLE: no blank before trailing delimiter: Pa a.
quoted punctuation:
*a* (*b* | *c*) *d*, **bold**.
-OpenBSD - August 21, 2014
+missing blank:
+*a.*
+
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.3 2017/03/08 22:53:35 schwarze Exp $
+# $OpenBSD: Makefile,v 1.4 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = empty
+LINT_TARGETS = empty
.include <bsd.regress.mk>
-.Dd October 21, 2010
+.Dd June 9, 2017
.Dt QQ-EMPTY 1
.Os OpenBSD
.Sh NAME
An empty
.Qq
and a full
-.Qq "(" user@host
+.Qq "(" user@host)
quotation.
And another
-.Qo "(" full Qc one "Sy" bold .
+.Qo "(" full) Qc one "Sy" bold .
Q\bQq\bq-\b-e\bem\bmp\bpt\bty\by - empty implicit enclosure macros
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- An empty "" and a full ("user@host" quotation. And another ("full" one
+ An empty "" and a full ("user@host)" quotation. And another ("full)" one
b\bbo\bol\bld\bd.
-OpenBSD October 21, 2010 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: empty.in:11:18: STYLE: no blank before trailing delimiter: Qq user@host)
+mandoc: empty.in:14:13: STYLE: no blank before trailing delimiter: Qo full)
An empty
""
and a full
-("user@host"
+("user@host)"
quotation.
And another
-("full" one **bold**.
+("full)" one **bold**.
-OpenBSD - October 21, 2010
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.3 2017/03/08 22:53:36 schwarze Exp $
+# $OpenBSD: Makefile,v 1.4 2017/06/10 01:48:31 schwarze Exp $
REGRESS_TARGETS = empty
+LINT_TARGETS = empty
.include <bsd.regress.mk>
-.Dd October 21, 2010
+.Dd June 9, 2017
.Dt SQ-EMPTY 1
.Os OpenBSD
.Sh NAME
An empty
.Sq
and a full
-.Sq "(" user@host
+.Sq "(" user@host)
quotation.
And another
-.So "(" full Sc one "Sy" bold .
+.So "(" full) Sc one "Sy" bold .
S\bSq\bq-\b-e\bem\bmp\bpt\bty\by - empty implicit enclosure macros
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- An empty `' and a full (`user@host' quotation. And another (`full' one
+ An empty `' and a full (`user@host)' quotation. And another (`full)' one
b\bbo\bol\bld\bd.
-OpenBSD October 21, 2010 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: empty.in:11:18: STYLE: no blank before trailing delimiter: Sq user@host)
+mandoc: empty.in:14:13: STYLE: no blank before trailing delimiter: So full)
An empty
''
and a full
-('user@host'
+('user@host)'
quotation.
And another
-('full' one **bold**.
+('full)' one **bold**.
-OpenBSD - October 21, 2010
+OpenBSD - June 9, 2017
-.Dd November 17, 2014
+.Dd June 9, 2017
.Dt SY-PUNCT 1
.Os OpenBSD
.Sh NAME
.Sy "a . b Nm" "Em" italic
.Sy ". b Nm"
.Sy "."
+.Pp
+Missing blank:
+.Sy a.
Quoted: a\ba .\b. b\bb N\bNm\bm _\bi_\bt_\ba_\bl_\bi_\bc .\b. b\bb N\bNm\bm .
-OpenBSD November 17, 2014 OpenBSD
+ Missing blank: a\ba.\b.
+
+OpenBSD June 9, 2017 OpenBSD
mandoc: punct.in:74:7: WARNING: skipping empty macro: Sy
mandoc: punct.in:75:7: WARNING: skipping empty macro: Sy
mandoc: punct.in:83:2: WARNING: skipping empty macro: Sy
+mandoc: punct.in:86:6: STYLE: no blank before trailing delimiter: Sy a.
**. b Nm**
.
-OpenBSD - November 17, 2014
+Missing blank:
+**a.**
+
+OpenBSD - June 9, 2017
-# $OpenBSD: Makefile,v 1.4 2017/03/08 22:53:36 schwarze Exp $
+# $OpenBSD: Makefile,v 1.5 2017/06/10 01:48:31 schwarze Exp $
-REGRESS_TARGETS = spacing eos
+REGRESS_TARGETS = eos punct spacing
+LINT_TARGETS = punct
.include <bsd.regress.mk>
--- /dev/null
+.Dd June 9, 2017
+.Dt UX-PUNCT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Ux-punct
+.Nd trailing delimiters in Unix macro arguments
+.Sh DESCRIPTION
+In June 2017, the latest release of various Unix-like
+operating systems were
+.Bsx 5.1,
+.Dx 4.8.0,
+.Fx 11.0,
+.Nx 7.1,
+and
+.Ox 6.1.
--- /dev/null
+UX-PUNCT(1) General Commands Manual UX-PUNCT(1)
+
+N\bNA\bAM\bME\bE
+ U\bUx\bx-\b-p\bpu\bun\bnc\bct\bt - trailing delimiters in Unix macro arguments
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+ In June 2017, the latest release of various Unix-like operating systems
+ were BSD/OS 5.1, DragonFly 4.8.0, FreeBSD 11.0, NetBSD 7.1, and
+ OpenBSD 6.1.
+
+OpenBSD June 9, 2017 OpenBSD
--- /dev/null
+mandoc: punct.in:10:9: STYLE: no blank before trailing delimiter: Bsx 5.1,
+mandoc: punct.in:11:10: STYLE: no blank before trailing delimiter: Dx 4.8.0,
+mandoc: punct.in:12:9: STYLE: no blank before trailing delimiter: Fx 11.0,
+mandoc: punct.in:13:8: STYLE: no blank before trailing delimiter: Nx 7.1,
+mandoc: punct.in:15:8: STYLE: no blank before trailing delimiter: Ox 6.1.
--- /dev/null
+UX-PUNCT(1) - General Commands Manual
+
+# NAME
+
+**Ux-punct** - trailing delimiters in Unix macro arguments
+
+# DESCRIPTION
+
+In June 2017, the latest release of various Unix-like
+operating systems were
+BSD/OS 5.1,
+DragonFly 4.8.0,
+FreeBSD 11.0,
+NetBSD 7.1,
+and
+OpenBSD 6.1.
+
+OpenBSD - June 9, 2017
-.Dd January 20, 2011
+.Dd June 9, 2017
.Dt VA-NOARG 1
.Os OpenBSD
.Sh NAME
.Sh DESCRIPTION
with arguments
.Vt int
-.Va errno
+.Va errno.
no arguments
.Va
end of test document
V\bVa\ba-\b-n\bno\boa\bar\brg\bg - variable name macro without arguments
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- with arguments _\bi_\bn_\bt _\be_\br_\br_\bn_\bo no arguments end of test document
+ with arguments _\bi_\bn_\bt _\be_\br_\br_\bn_\bo_\b. no arguments end of test document
-OpenBSD January 20, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: noarg.in:12:2: WARNING: skipping empty macro: Va
+mandoc: noarg.in:10:10: STYLE: no blank before trailing delimiter: Va errno.
with arguments
*int*
-*errno*
+*errno.*
no arguments
end of test document
-OpenBSD - January 20, 2011
+OpenBSD - June 9, 2017
-.Dd January 20, 2011
+.Dd June 9, 2017
.Dt VT-NOARG 1
.Os OpenBSD
.Sh NAME
.Nd variable type macro without arguments
.Sh DESCRIPTION
with arguments
-.Vt signed int
+.Vt signed int.
no arguments
.Vt
end of test document
V\bVt\bt-\b-n\bno\boa\bar\brg\bg - variable type macro without arguments
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
- with arguments _\bs_\bi_\bg_\bn_\be_\bd _\bi_\bn_\bt no arguments end of test document
+ with arguments _\bs_\bi_\bg_\bn_\be_\bd _\bi_\bn_\bt_\b. no arguments end of test document
-OpenBSD January 20, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
mandoc: noarg.in:11:2: WARNING: skipping empty macro: Vt
+mandoc: noarg.in:9:15: STYLE: no blank before trailing delimiter: Vt ... int.
# DESCRIPTION
with arguments
-*signed int*
+*signed int.*
no arguments
end of test document
-OpenBSD - January 20, 2011
+OpenBSD - June 9, 2017
-.Dd December 3, 2011
+.Dd June 9, 2017
.Dt XR-ARGS 1
.Os OpenBSD
.Sh NAME
another
.Xr echo 1 .
.Pp
-Finally, half an
+Finally, an
+.Xr ( echo 1)
+without a blank, half an
.Xr echo ,
+no blank after half an
+.Xr echo,
no echo
.Xr ,
and no
A call, an (echo(1)), and another echo(1).
- Finally, half an echo, no echo and no echo at all.
+ Finally, an (echo(1)) without a blank, half an echo, no blank after half
+ an echo, no echo and no echo at all.
-OpenBSD December 3, 2011 OpenBSD
+OpenBSD June 9, 2017 OpenBSD
-mandoc: args.in:24:2: WARNING: skipping empty macro: Xr
-mandoc: args.in:26:2: WARNING: skipping empty macro: Xr
-mandoc: args.in:22:2: WARNING: missing section argument: Xr echo
+mandoc: args.in:28:2: WARNING: skipping empty macro: Xr
+mandoc: args.in:30:2: WARNING: skipping empty macro: Xr
+mandoc: args.in:22:13: STYLE: no blank before trailing delimiter: Xr ... 1)
+mandoc: args.in:24:2: WARNING: missing section argument: Xr echo
+mandoc: args.in:26:2: WARNING: missing section argument: Xr echo,
+mandoc: args.in:26:9: STYLE: no blank before trailing delimiter: Xr echo,
another
echo(1).
-Finally, half an
+Finally, an
+(echo(1))
+without a blank, half an
+echo,
+no blank after half an
echo,
no echo
and no
echo at all.
-OpenBSD - December 3, 2011
+OpenBSD - June 9, 2017
-.\" $OpenBSD: mandoc.1,v 1.120 2017/06/08 00:21:23 schwarze Exp $
+.\" $OpenBSD: mandoc.1,v 1.121 2017/06/10 01:48:31 schwarze Exp $
.\"
.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\" Copyright (c) 2012, 2014-2017 Ingo Schwarze <schwarze@openbsd.org>
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: June 8 2017 $
+.Dd $Mdocdate: June 10 2017 $
.Dt MANDOC 1
.Os
.Sh NAME
Do not use punctuation at the end of an
.Ic \&Nd
block.
+.It Sy "no blank before trailing delimiter"
+The last argument of a macro that supports trailing delimiter
+arguments is longer than one byte and ends with a trailing delimiter.
+Consider inserting a blank such that the delimiter becomes a separate
+argument, thus moving it out of the scope of the macro.
.El
.Ss Warnings related to the document prologue
.Bl -ohang
-/* $OpenBSD: mandoc.h,v 1.168 2017/06/08 18:11:15 schwarze Exp $ */
+/* $OpenBSD: mandoc.h,v 1.169 2017/06/10 01:48:31 schwarze Exp $ */
/*
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
MANDOCERR_ER_ORDER, /* errnos out of order: Er ... */
MANDOCERR_ER_REP, /* duplicate errno: Er ... */
MANDOCERR_ND_DOT, /* description line ends with a full stop */
+ MANDOCERR_DELIM, /* no blank before trailing delimiter: macro ... */
MANDOCERR_WARNING, /* ===== start of warnings ===== */
-/* $OpenBSD: mdoc_validate.c,v 1.247 2017/06/07 23:29:31 schwarze Exp $ */
+/* $OpenBSD: mdoc_validate.c,v 1.248 2017/06/10 01:48:31 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
static void post_defaults(POST_ARGS);
static void post_display(POST_ARGS);
static void post_dd(POST_ARGS);
+static void post_delim(POST_ARGS);
static void post_dt(POST_ARGS);
static void post_en(POST_ARGS);
static void post_es(POST_ARGS);
post_bl, /* Bl */
NULL, /* El */
post_it, /* It */
- NULL, /* Ad */
+ post_delim, /* Ad */
post_an, /* An */
NULL, /* Ap */
post_defaults, /* Ar */
NULL, /* Cd */
- NULL, /* Cm */
- NULL, /* Dv */
- NULL, /* Er */
- NULL, /* Ev */
+ post_delim, /* Cm */
+ post_delim, /* Dv */
+ post_delim, /* Er */
+ post_delim, /* Ev */
post_ex, /* Ex */
post_fa, /* Fa */
NULL, /* Fd */
- NULL, /* Fl */
+ post_delim, /* Fl */
post_fn, /* Fn */
- NULL, /* Ft */
- NULL, /* Ic */
- NULL, /* In */
+ post_delim, /* Ft */
+ post_delim, /* Ic */
+ post_delim, /* In */
post_defaults, /* Li */
post_nd, /* Nd */
post_nm, /* Nm */
- NULL, /* Op */
+ post_delim, /* Op */
post_obsolete, /* Ot */
post_defaults, /* Pa */
post_rv, /* Rv */
post_st, /* St */
- NULL, /* Va */
- NULL, /* Vt */
+ post_delim, /* Va */
+ post_delim, /* Vt */
post_xr, /* Xr */
NULL, /* %A */
post_hyph, /* %B */ /* FIXME: can be used outside Rs/Re. */
post_hyph, /* %T */ /* FIXME: can be used outside Rs/Re. */
NULL, /* %V */
NULL, /* Ac */
- NULL, /* Ao */
- NULL, /* Aq */
+ post_delim, /* Ao */
+ post_delim, /* Aq */
post_at, /* At */
NULL, /* Bc */
post_bf, /* Bf */
- NULL, /* Bo */
+ post_delim, /* Bo */
NULL, /* Bq */
post_xx, /* Bsx */
post_bx, /* Bx */
NULL, /* Dq */
NULL, /* Ec */
NULL, /* Ef */
- NULL, /* Em */
+ post_delim, /* Em */
NULL, /* Eo */
post_xx, /* Fx */
- NULL, /* Ms */
- NULL, /* No */
+ post_delim, /* Ms */
+ post_delim, /* No */
post_ns, /* Ns */
post_xx, /* Nx */
post_xx, /* Ox */
NULL, /* Pc */
NULL, /* Pf */
- NULL, /* Po */
- NULL, /* Pq */
+ post_delim, /* Po */
+ post_delim, /* Pq */
NULL, /* Qc */
- NULL, /* Ql */
- NULL, /* Qo */
- NULL, /* Qq */
+ post_delim, /* Ql */
+ post_delim, /* Qo */
+ post_delim, /* Qq */
NULL, /* Re */
post_rs, /* Rs */
NULL, /* Sc */
- NULL, /* So */
- NULL, /* Sq */
+ post_delim, /* So */
+ post_delim, /* Sq */
post_sm, /* Sm */
post_hyph, /* Sx */
- NULL, /* Sy */
+ post_delim, /* Sy */
post_useless, /* Tn */
post_xx, /* Ux */
NULL, /* Xc */
NULL, /* Xo */
post_fo, /* Fo */
NULL, /* Fc */
- NULL, /* Oo */
+ post_delim, /* Oo */
NULL, /* Oc */
post_bk, /* Bk */
NULL, /* Ek */
post_eoln, /* Bt */
- NULL, /* Hf */
+ post_obsolete, /* Hf */
post_obsolete, /* Fr */
post_eoln, /* Ud */
post_lb, /* Lb */
post_par, /* Lp */
- NULL, /* Lk */
+ post_delim, /* Lk */
post_defaults, /* Mt */
- NULL, /* Brq */
- NULL, /* Bro */
+ post_delim, /* Brq */
+ post_delim, /* Bro */
NULL, /* Brc */
NULL, /* %C */
post_es, /* Es */
ln, pos + (cp - p), "Dx");
}
+static void
+post_delim(POST_ARGS)
+{
+ const struct roff_node *nch;
+ const char *lc;
+ enum mdelim delim;
+
+ nch = mdoc->last->last;
+ if (nch == NULL || nch->type != ROFFT_TEXT)
+ return;
+ lc = strchr(nch->string, '\0') - 1;
+ if (lc <= nch->string)
+ return;
+ delim = mdoc_isdelim(lc);
+ if (delim == DELIM_NONE || delim == DELIM_OPEN)
+ return;
+ mandoc_vmsg(MANDOCERR_DELIM, mdoc->parse,
+ nch->line, nch->pos + (lc - nch->string),
+ "%s%s %s", roff_name[mdoc->last->tok],
+ nch == mdoc->last->child ? "" : " ...", nch->string);
+}
+
static void
post_bl_norm(POST_ARGS)
{
{
struct roff_node *n;
+ post_delim(mdoc);
+
n = mdoc->last;
assert(n->child->type == ROFFT_TEXT);
mdoc->next = ROFF_NEXT_CHILD;
break;
}
}
+ post_delim(mdoc);
}
static void
mandoc_msg(MANDOCERR_NM_NONAME, mdoc->parse,
n->line, n->pos, "Nm");
+ if (n->type == ROFFT_ELEM)
+ post_delim(mdoc);
+
if ((n->type != ROFFT_ELEM && n->type != ROFFT_HEAD) ||
(n->child != NULL && n->child->type == ROFFT_TEXT) ||
mdoc->meta.name == NULL)
{
struct roff_node *nn;
+ if (mdoc->last->child != NULL) {
+ post_delim(mdoc);
+ return;
+ }
+
/*
* The `Ar' defaults to "file ..." if no value is provided as an
* argument; the `Mt' and `Pa' macros use "~"; the `Li' just
* gets an empty string.
*/
- if (mdoc->last->child != NULL)
- return;
-
nn = mdoc->last;
-
switch (nn->tok) {
case MDOC_Ar:
mdoc->next = ROFF_NEXT_CHILD;
if (nch == NULL)
mandoc_msg(MANDOCERR_MACRO_EMPTY, mdoc->parse,
np->line, np->pos, "An");
+ else
+ post_delim(mdoc);
} else if (nch != NULL)
mandoc_vmsg(MANDOCERR_ARG_EXCESS, mdoc->parse,
nch->line, nch->pos, "An ... %s", nch->string);
struct roff_node *n;
const char *os;
+ post_delim(mdoc);
+
n = mdoc->last;
switch (n->tok) {
case MDOC_Bsx:
if (nch->next == NULL) {
mandoc_vmsg(MANDOCERR_XR_NOSEC, mdoc->parse,
n->line, n->pos, "Xr %s", nch->string);
- return;
- }
- assert(nch->next == n->last);
+ } else
+ assert(nch->next == n->last);
+ post_delim(mdoc);
}
static void
struct roff_node *n, *nch;
const char *macro;
+ post_delim(mdoc);
+
n = mdoc->last;
nch = n->child;
-/* $OpenBSD: read.c,v 1.145 2017/06/08 00:21:23 schwarze Exp $ */
+/* $OpenBSD: read.c,v 1.146 2017/06/10 01:48:31 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
"errnos out of order",
"duplicate errno",
"description line ends with a full stop",
+ "no blank before trailing delimiter",
"generic warning",