source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Macro argument quoting does not prevent recognition of
@ 2017-05-30 16:23 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2017-05-30 16:23 UTC (permalink / raw)
  To: source

Log Message:
-----------
Macro argument quoting does not prevent recognition of punctuation
and of called macros.

This bug affects almost all macros, and fixing it simplifies the
code.  It is amazing that the bogus ARGS_QWORD feature got implemented
in the first place, and then carrier along for more than eight years
without anybody ever noticing that it was pointless.

Reported by Leah Neukirchen <leah at vuxu dot org>, found on Void Linux.

Modified Files:
--------------
    mdocml:
        libmdoc.h
        mdoc_argv.c
        mdoc_macro.c
    mdocml/regress/mdoc/Ad:
        font.in
        font.out_ascii
        font.out_markdown
    mdocml/regress/mdoc/An:
        break.in
    mdocml/regress/mdoc/Ap:
        middle.in
        middle.out_ascii
        middle.out_markdown
    mdocml/regress/mdoc/Aq:
        empty.in
        empty.out_ascii
        empty.out_markdown
        empty.out_utf8
    mdocml/regress/mdoc/Ar:
        punct.in
        punct.out_ascii
        punct.out_markdown
    mdocml/regress/mdoc/At:
        invalid.in
        invalid.out_ascii
        invalid.out_markdown
    mdocml/regress/mdoc/Brq:
        empty.in
        empty.out_ascii
        empty.out_markdown
    mdocml/regress/mdoc/Bx:
        args.in
        args.out_ascii
        args.out_markdown
    mdocml/regress/mdoc/Cd:
        Makefile
    mdocml/regress/mdoc/Cm:
        Makefile
    mdocml/regress/mdoc/Dq:
        empty.in
        empty.out_ascii
        empty.out_markdown
    mdocml/regress/mdoc/Dv:
        font.in
        font.out_ascii
        font.out_markdown
    mdocml/regress/mdoc/Em:
        punct.in
        punct.out_ascii
        punct.out_lint
        punct.out_markdown
    mdocml/regress/mdoc/Eo:
        empty.in
        empty.out_ascii
        empty.out_markdown
        obsolete.in
        obsolete.out_ascii
        obsolete.out_markdown
    mdocml/regress/mdoc/Er:
        noarg.in
        noarg.out_ascii
        noarg.out_markdown
    mdocml/regress/mdoc/Ev:
        font.in
        font.out_ascii
        font.out_markdown
    mdocml/regress/mdoc/Fl:
        punct.in
        punct.out_ascii
        punct.out_markdown
    mdocml/regress/mdoc/Fo:
        font.in
        font.out_ascii
        font.out_markdown
        punct.in
        punct.out_ascii
        punct.out_markdown
    mdocml/regress/mdoc/Ic:
        Makefile
    mdocml/regress/mdoc/In:
        font.in
        font.out_ascii
        font.out_markdown
    mdocml/regress/mdoc/Li:
        punct.in
        punct.out_ascii
        punct.out_lint
        punct.out_markdown
    mdocml/regress/mdoc/Ms:
        font.in
        font.out_ascii
        font.out_markdown
    mdocml/regress/mdoc/Mt:
        simple.in
        simple.out_ascii
        simple.out_markdown
    mdocml/regress/mdoc/No:
        punct.in
        punct.out_ascii
        punct.out_lint
        punct.out_markdown
    mdocml/regress/mdoc/Ns:
        punct.in
    mdocml/regress/mdoc/Oo:
        punct.in
        punct.out_ascii
        punct.out_markdown
    mdocml/regress/mdoc/Op:
        punct.in
    mdocml/regress/mdoc/Pa:
        punct.in
        punct.out_ascii
        punct.out_markdown
    mdocml/regress/mdoc/Qq:
        empty.in
        empty.out_ascii
        empty.out_markdown
    mdocml/regress/mdoc/Sq:
        empty.in
        empty.out_ascii
        empty.out_markdown
    mdocml/regress/mdoc/St:
        call.in
    mdocml/regress/mdoc/Sx:
        noarg.in
        noarg.out_ascii
        noarg.out_markdown
    mdocml/regress/mdoc/Sy:
        punct.in
        punct.out_ascii
        punct.out_lint
        punct.out_markdown
    mdocml/regress/mdoc/Tn:
        noarg.in
        noarg.out_ascii
        noarg.out_markdown
    mdocml/regress/mdoc/Va:
        Makefile
    mdocml/regress/mdoc/Xr:
        args.in
        args.out_ascii
        args.out_markdown

Added Files:
-----------
    mdocml/regress/mdoc/Cd:
        punct.in
        punct.out_ascii
        punct.out_markdown
    mdocml/regress/mdoc/Cm:
        punct.in
        punct.out_ascii
        punct.out_markdown
    mdocml/regress/mdoc/Ic:
        punct.in
        punct.out_ascii
        punct.out_markdown
    mdocml/regress/mdoc/Va:
        punct.in
        punct.out_ascii
        punct.out_markdown

Revision Data
-------------
--- /dev/null
+++ regress/mdoc/Va/punct.out_markdown
@@ -0,0 +1,45 @@
+AR-PUNCT(1) - General Commands Manual
+
+# NAME
+
+**Va-punct** - punctuation handling by the Va macro
+
+# DESCRIPTION
+
+closing punctuation
+*a*)
+only one
+)
+only more than one
+))
+middle
+*a*) *z*
+start
+) *z*
+dot
+. *z*
+comma
+, *z*
+semicolon
+; *z*
+colon
+: *z*
+quest
+? *z*
+excl
+! *z*
+paren
+) *z*
+bracket
+] *z*
+bar
+| *m*
+op paren
+(*a*
+op bracket
+\[*a*
+
+quoted punctuation:
+*a* (*b* | *c*) *d*, **bold**.
+
+OpenBSD - August 21, 2014
Index: Makefile
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Va/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -Lregress/mdoc/Va/Makefile -Lregress/mdoc/Va/Makefile -u -p -r1.3 -r1.4
--- regress/mdoc/Va/Makefile
+++ regress/mdoc/Va/Makefile
@@ -1,6 +1,6 @@
 # $OpenBSD: Makefile,v 1.3 2014/07/02 20:18:42 schwarze Exp $
 
-REGRESS_TARGETS	= basic font noarg
+REGRESS_TARGETS	= basic font noarg punct
 LINT_TARGETS	= noarg
 
 .include <bsd.regress.mk>
--- /dev/null
+++ regress/mdoc/Va/punct.out_ascii
@@ -0,0 +1,13 @@
+AR-PUNCT(1)                 General Commands Manual                AR-PUNCT(1)
+
+N\bNA\bAM\bME\bE
+     V\bVa\ba-\b-p\bpu\bun\bnc\bct\bt - punctuation handling by the Va macro
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+     closing punctuation _\ba) only one ) only more than one )) middle _\ba) _\bz start
+     ) _\bz dot . _\bz comma , _\bz semicolon ; _\bz colon : _\bz quest ? _\bz excl ! _\bz paren )
+     _\bz bracket ] _\bz bar | _\bm op paren (_\ba op bracket [_\ba
+
+     quoted punctuation: _\ba (_\bb | _\bc) _\bd, b\bbo\bol\bld\bd.
+
+OpenBSD                         August 21, 2014                        OpenBSD
--- /dev/null
+++ regress/mdoc/Va/punct.in
@@ -0,0 +1,42 @@
+.Dd August 21, 2014
+.Dt AR-PUNCT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Va-punct
+.Nd punctuation handling by the Va macro
+.Sh DESCRIPTION
+closing punctuation
+.Va a )
+only one
+.Va )
+only more than one
+.Va ) )
+middle
+.Va a ) z
+start
+.Va ) z
+dot
+.Va . z
+comma
+.Va , z
+semicolon
+.Va ; z
+colon
+.Va : z
+quest
+.Va ? z
+excl
+.Va ! z
+paren
+.Va ) z
+bracket
+.Va ] z
+bar
+.Va | m
+op paren
+.Va ( a
+op bracket
+.Va [ a
+.Pp
+quoted punctuation:
+.Va a "(" b "|" c ")" d "," "Sy" bold .
Index: mdoc_macro.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/mdoc_macro.c,v
retrieving revision 1.223
retrieving revision 1.224
diff -Lmdoc_macro.c -Lmdoc_macro.c -u -p -r1.223 -r1.224
--- mdoc_macro.c
+++ mdoc_macro.c
@@ -76,7 +76,8 @@ const	struct mdoc_macro __mdoc_macros[MD
 	{ blk_full, MDOC_PARSED | MDOC_JOIN }, /* It */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ad */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* An */
-	{ in_line_argn, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Ap */
+	{ in_line_argn, MDOC_CALLABLE | MDOC_PARSED |
+			MDOC_IGNDELIM | MDOC_JOIN }, /* Ap */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ar */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Cd */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Cm */
@@ -712,8 +713,7 @@ blk_exp_close(MACRO_PROT_ARGS)
 		if (ac == ARGS_PUNCT || ac == ARGS_EOLN)
 			break;
 
-		ntok = ac == ARGS_QWORD ? TOKEN_NONE :
-		    lookup(mdoc, tok, line, lastarg, p);
+		ntok = lookup(mdoc, tok, line, lastarg, p);
 
 		if (ntok == TOKEN_NONE) {
 			dword(mdoc, line, lastarg, p, DELIM_MAX,
@@ -809,7 +809,7 @@ in_line(MACRO_PROT_ARGS)
 			break;
 		}
 
-		ntok = (ac == ARGS_QWORD || (tok == MDOC_Fn && !cnt)) ?
+		ntok = (tok == MDOC_Fn && !cnt) ?
 		    TOKEN_NONE : lookup(mdoc, tok, line, la, p);
 
 		/*
@@ -838,14 +838,11 @@ in_line(MACRO_PROT_ARGS)
 		}
 
 		/*
-		 * Non-quote-enclosed punctuation.  Set up our scope, if
-		 * a word; rewind the scope, if a delimiter; then append
-		 * the word.
+		 * Handle punctuation.  Set up our scope, if a word;
+		 * rewind the scope, if a delimiter; then append the word.
 		 */
 
-		d = ac == ARGS_QWORD ? DELIM_NONE : mdoc_isdelim(p);
-
-		if (DELIM_NONE != d) {
+		if ((d = mdoc_isdelim(p)) != DELIM_NONE) {
 			/*
 			 * If we encounter closing punctuation, no word
 			 * has been emitted, no scope is open, and we're
@@ -865,11 +862,12 @@ in_line(MACRO_PROT_ARGS)
 			 * Close out our scope, if one is open, before
 			 * any punctuation.
 			 */
-			if (scope)
+			if (scope && tok != MDOC_Lk) {
 				rew_elem(mdoc, tok);
-			scope = 0;
-			if (tok == MDOC_Fn)
-				mayopen = 0;
+				scope = 0;
+				if (tok == MDOC_Fn)
+					mayopen = 0;
+			}
 		} else if (mayopen && !scope) {
 			mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
 			scope = 1;
@@ -1115,7 +1113,6 @@ blk_full(MACRO_PROT_ARGS)
 
 		if (head == NULL &&
 		    ac != ARGS_PHRASE &&
-		    ac != ARGS_QWORD &&
 		    mdoc_isdelim(p) == DELIM_OPEN) {
 			dword(mdoc, line, la, p, DELIM_OPEN, 0);
 			continue;
@@ -1212,8 +1209,7 @@ blk_part_imp(MACRO_PROT_ARGS)
 		if (ac == ARGS_EOLN || ac == ARGS_PUNCT)
 			break;
 
-		if (body == NULL && ac != ARGS_QWORD &&
-		    mdoc_isdelim(p) == DELIM_OPEN) {
+		if (body == NULL && mdoc_isdelim(p) == DELIM_OPEN) {
 			dword(mdoc, line, la, p, DELIM_OPEN, 0);
 			continue;
 		}
@@ -1269,8 +1265,7 @@ blk_part_exp(MACRO_PROT_ARGS)
 
 		/* Flush out leading punctuation. */
 
-		if (head == NULL && ac != ARGS_QWORD &&
-		    mdoc_isdelim(p) == DELIM_OPEN) {
+		if (head == NULL && mdoc_isdelim(p) == DELIM_OPEN) {
 			dword(mdoc, line, la, p, DELIM_OPEN, 0);
 			continue;
 		}
@@ -1369,7 +1364,7 @@ in_line_argn(MACRO_PROT_ARGS)
 			state = -2;
 		}
 
-		ntok = (ac == ARGS_QWORD || (tok == MDOC_Pf && state == 0)) ?
+		ntok = (tok == MDOC_Pf && state == 0) ?
 		    TOKEN_NONE : lookup(mdoc, tok, line, la, p);
 
 		if (ntok != TOKEN_NONE) {
@@ -1381,8 +1376,7 @@ in_line_argn(MACRO_PROT_ARGS)
 			break;
 		}
 
-		if (ac == ARGS_QWORD ||
-		    mdoc_macros[tok].flags & MDOC_IGNDELIM ||
+		if (mdoc_macros[tok].flags & MDOC_IGNDELIM ||
 		    mdoc_isdelim(p) == DELIM_NONE) {
 			if (state == -1) {
 				mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
Index: libmdoc.h
===================================================================
RCS file: /home/cvs/mdocml/mdocml/libmdoc.h,v
retrieving revision 1.111
retrieving revision 1.112
diff -Llibmdoc.h -Llibmdoc.h -u -p -r1.111 -r1.112
--- libmdoc.h
+++ libmdoc.h
@@ -39,7 +39,6 @@ enum	margserr {
 	ARGS_EOLN, /* end-of-line */
 	ARGS_WORD, /* normal word */
 	ARGS_PUNCT, /* series of punctuation */
-	ARGS_QWORD, /* quoted word */
 	ARGS_PHRASE /* Bl -column phrase */
 };
 
Index: mdoc_argv.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/mdoc_argv.c,v
retrieving revision 1.114
retrieving revision 1.115
diff -Lmdoc_argv.c -Lmdoc_argv.c -u -p -r1.114 -r1.115
--- mdoc_argv.c
+++ mdoc_argv.c
@@ -555,14 +555,14 @@ args(struct roff_man *mdoc, int line, in
 			if ( ! (mdoc->flags & MDOC_PHRASE))
 				mandoc_msg(MANDOCERR_ARG_QUOTE,
 				    mdoc->parse, line, *pos, NULL);
-			return ARGS_QWORD;
+			return ARGS_WORD;
 		}
 
 		mdoc->flags &= ~MDOC_PHRASELIT;
 		buf[(*pos)++] = '\0';
 
 		if ('\0' == buf[*pos])
-			return ARGS_QWORD;
+			return ARGS_WORD;
 
 		while (' ' == buf[*pos])
 			(*pos)++;
@@ -571,7 +571,7 @@ args(struct roff_man *mdoc, int line, in
 			mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
 			    line, *pos, NULL);
 
-		return ARGS_QWORD;
+		return ARGS_WORD;
 	}
 
 	p = &buf[*pos];
Index: font.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ad/font.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ad/font.in -Lregress/mdoc/Ad/font.in -u -p -r1.1 -r1.2
--- regress/mdoc/Ad/font.in
+++ regress/mdoc/Ad/font.in
@@ -6,5 +6,5 @@
 .Nd changing fonts inside the address macro
 .Sh DESCRIPTION
 normal text
-.Ad emphasis\\fBbold\\fPback | after : punctuation
+.Ad emphasis\\fBbold\\fPback | after ":" punctuation "Sy" bold
 trailing text
Index: font.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ad/font.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ad/font.out_ascii -Lregress/mdoc/Ad/font.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Ad/font.out_ascii
+++ regress/mdoc/Ad/font.out_ascii
@@ -4,6 +4,6 @@ N\bNA\bAM\bME\bE
      A\bAd\bd-\b-f\bfo\bon\bnt\bt - changing fonts inside the address macro
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
-     normal text _\be_\bm_\bp_\bh_\ba_\bs_\bi_\bsb\bbo\bol\bld\bd_\bb_\ba_\bc_\bk | _\ba_\bf_\bt_\be_\br: _\bp_\bu_\bn_\bc_\bt_\bu_\ba_\bt_\bi_\bo_\bn trailing text
+     normal text _\be_\bm_\bp_\bh_\ba_\bs_\bi_\bsb\bbo\bol\bld\bd_\bb_\ba_\bc_\bk | _\ba_\bf_\bt_\be_\br: _\bp_\bu_\bn_\bc_\bt_\bu_\ba_\bt_\bi_\bo_\bn b\bbo\bol\bld\bd trailing text
 
 OpenBSD                        November 20, 2014                       OpenBSD
Index: font.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ad/font.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ad/font.out_markdown -Lregress/mdoc/Ad/font.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Ad/font.out_markdown
+++ regress/mdoc/Ad/font.out_markdown
@@ -7,7 +7,7 @@ AD-FONT(1) - General Commands Manual
 # DESCRIPTION
 
 normal text
-*emphasis**bold**back* | *after*: *punctuation*
+*emphasis**bold**back* | *after*: *punctuation* **bold**
 trailing text
 
 OpenBSD - November 20, 2014
Index: break.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/An/break.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/An/break.in -Lregress/mdoc/An/break.in -u -p -r1.1 -r1.2
--- regress/mdoc/An/break.in
+++ regress/mdoc/An/break.in
@@ -7,7 +7,7 @@
 .Sh DESCRIPTION
 inline is the default:
 .An Kristaps ,
-.An Ingo ,
+.An Ingo ","
 and
 .An Joerg .
 empty
@@ -39,7 +39,7 @@ trailing
 .An -nosplit -split bogus
 .Pp
 inline:
-.An Kristaps ,
+.An Kristaps ","
 .An Ingo ,
 and
 .An Joerg .
Index: middle.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ap/middle.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ap/middle.out_markdown -Lregress/mdoc/Ap/middle.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Ap/middle.out_markdown
+++ regress/mdoc/Ap/middle.out_markdown
@@ -8,4 +8,7 @@ AP-MIDDLE(1) - General Commands Manual
 
 mandoc(1)'s
 
-OpenBSD - September 30, 2011
+punctuation and called macros:
+**bold**'(**bold**
+
+OpenBSD - May 21, 2017
Index: middle.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ap/middle.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ap/middle.in -Lregress/mdoc/Ap/middle.in -u -p -r1.1 -r1.2
--- regress/mdoc/Ap/middle.in
+++ regress/mdoc/Ap/middle.in
@@ -1,4 +1,4 @@
-.Dd September 30, 2011
+.Dd May 21, 2017
 .Dt AP-MIDDLE 1
 .Os OpenBSD
 .Sh NAME
@@ -6,3 +6,6 @@
 .Nd apostrophe in the middle of a macro line
 .Sh DESCRIPTION
 .Xr mandoc 1 Ap s
+.Pp
+punctuation and called macros:
+.Sy bold Ap ( "Sy" bold
Index: middle.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ap/middle.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ap/middle.out_ascii -Lregress/mdoc/Ap/middle.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Ap/middle.out_ascii
+++ regress/mdoc/Ap/middle.out_ascii
@@ -6,4 +6,6 @@ N\bNA\bAM\bME\bE
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      mandoc(1)'s
 
-OpenBSD                       September 30, 2011                       OpenBSD
+     punctuation and called macros: b\bbo\bol\bld\bd'(b\bbo\bol\bld\bd
+
+OpenBSD                          May 21, 2017                          OpenBSD
Index: empty.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Aq/empty.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Aq/empty.out_markdown -Lregress/mdoc/Aq/empty.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Aq/empty.out_markdown
+++ regress/mdoc/Aq/empty.out_markdown
@@ -12,6 +12,6 @@ and a full
 &lt;user@host&gt;
 return path.
 And another
-&lt;full&gt; one.
+&lt;full&gt; one **bold**.
 
 OpenBSD - August 6, 2010
Index: empty.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Aq/empty.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Aq/empty.out_ascii -Lregress/mdoc/Aq/empty.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Aq/empty.out_ascii
+++ regress/mdoc/Aq/empty.out_ascii
@@ -4,6 +4,7 @@ N\bNA\bAM\bME\bE
      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
Index: empty.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Aq/empty.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Aq/empty.in -Lregress/mdoc/Aq/empty.in -u -p -r1.1 -r1.2
--- regress/mdoc/Aq/empty.in
+++ regress/mdoc/Aq/empty.in
@@ -11,4 +11,4 @@ and a full
 .Aq user@host
 return path.
 And another
-.Ao full Ac one .
+.Ao full Ac one "Sy" bold .
Index: empty.out_utf8
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Aq/empty.out_utf8,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Aq/empty.out_utf8 -Lregress/mdoc/Aq/empty.out_utf8 -u -p -r1.1 -r1.2
--- regress/mdoc/Aq/empty.out_utf8
+++ regress/mdoc/Aq/empty.out_utf8
@@ -4,6 +4,7 @@ N\bNA\bAM\bME\bE
      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
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ar/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ar/punct.in -Lregress/mdoc/Ar/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Ar/punct.in
+++ regress/mdoc/Ar/punct.in
@@ -37,3 +37,6 @@ op paren
 .Ar ( a
 op bracket
 .Ar [ a
+.Pp
+quoted punctuation:
+.Ar a "(" b "|" c ")" d "," "Sy" bold .
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ar/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ar/punct.out_markdown -Lregress/mdoc/Ar/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Ar/punct.out_markdown
+++ regress/mdoc/Ar/punct.out_markdown
@@ -39,4 +39,7 @@ op paren
 op bracket
 \[*a*
 
+quoted punctuation:
+*a* (*b* | *c*) *d*, **bold**.
+
 OpenBSD - August 21, 2014
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ar/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ar/punct.out_ascii -Lregress/mdoc/Ar/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Ar/punct.out_ascii
+++ regress/mdoc/Ar/punct.out_ascii
@@ -9,4 +9,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      _\bf_\bi_\bl_\be _\b._\b._\b.; _\bz colon _\bf_\bi_\bl_\be _\b._\b._\b.: _\bz quest _\bf_\bi_\bl_\be _\b._\b._\b.? _\bz excl _\bf_\bi_\bl_\be _\b._\b._\b.! _\bz paren
      _\bf_\bi_\bl_\be _\b._\b._\b.) _\bz bracket _\bf_\bi_\bl_\be _\b._\b._\b.] _\bz bar | _\bm op paren (_\ba op bracket [_\ba
 
+     quoted punctuation: _\ba (_\bb | _\bc) _\bd, b\bbo\bol\bld\bd.
+
 OpenBSD                         August 21, 2014                        OpenBSD
Index: invalid.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/At/invalid.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/At/invalid.out_ascii -Lregress/mdoc/At/invalid.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/At/invalid.out_ascii
+++ regress/mdoc/At/invalid.out_ascii
@@ -8,7 +8,7 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
      valid argument: Version 7 AT&T UNIX
 
-     invalid argument: AT&T UNIX murks
+     invalid argument: AT&T UNIX murks b\bbo\bol\bld\bd
 
      end of file
 
Index: invalid.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/At/invalid.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/At/invalid.in -Lregress/mdoc/At/invalid.in -u -p -r1.1 -r1.2
--- regress/mdoc/At/invalid.in
+++ regress/mdoc/At/invalid.in
@@ -12,6 +12,6 @@ valid argument:
 .At v7
 .Pp
 invalid argument:
-.At murks
+.At murks "Sy" bold
 .Pp
 end of file
Index: invalid.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/At/invalid.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/At/invalid.out_markdown -Lregress/mdoc/At/invalid.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/At/invalid.out_markdown
+++ regress/mdoc/At/invalid.out_markdown
@@ -13,7 +13,7 @@ valid argument:
 Version&#160;7 AT&T UNIX
 
 invalid argument:
-AT&T UNIX murks
+AT&T UNIX murks **bold**
 
 end of file
 
Index: empty.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Brq/empty.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Brq/empty.in -Lregress/mdoc/Brq/empty.in -u -p -r1.1 -r1.2
--- regress/mdoc/Brq/empty.in
+++ regress/mdoc/Brq/empty.in
@@ -8,7 +8,7 @@
 An empty
 .Brq
 and a full
-.Brq user@host
+.Brq "(" user@host
 quotation.
 And another
-.Bro full Brc one .
+.Bro "(" full Brc one "Sy" bold .
Index: empty.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Brq/empty.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Brq/empty.out_markdown -Lregress/mdoc/Brq/empty.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Brq/empty.out_markdown
+++ regress/mdoc/Brq/empty.out_markdown
@@ -9,9 +9,9 @@ BRQ-EMPTY(1) - General Commands Manual
 An empty
 {}
 and a full
-{user@host}
+({user@host}
 quotation.
 And another
-{full} one.
+({full} one **bold**.
 
 OpenBSD - October 21, 2010
Index: empty.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Brq/empty.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Brq/empty.out_ascii -Lregress/mdoc/Brq/empty.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Brq/empty.out_ascii
+++ regress/mdoc/Brq/empty.out_ascii
@@ -4,6 +4,7 @@ N\bNA\bAM\bME\bE
      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
Index: args.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Bx/args.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Bx/args.out_markdown -Lregress/mdoc/Bx/args.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Bx/args.out_markdown
+++ regress/mdoc/Bx/args.out_markdown
@@ -10,7 +10,7 @@ no arguments:
 BSD
 
 one standard argument:
-4\.4BSD
+4\.4BSD.
 
 one non-standard argument:
 nettBSD
@@ -22,7 +22,7 @@ two standard arguments:
 4\.3BSD-Reno
 
 more arguments:
-4\.3BSD-Tahoe and some additional words
+4\.3BSD-Tahoe and *some additional words*
 
 end of test document
 
Index: args.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Bx/args.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Bx/args.out_ascii -Lregress/mdoc/Bx/args.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Bx/args.out_ascii
+++ regress/mdoc/Bx/args.out_ascii
@@ -6,7 +6,7 @@ N\bNA\bAM\bME\bE
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      no arguments: BSD
 
-     one standard argument: 4.4BSD
+     one standard argument: 4.4BSD.
 
      one non-standard argument: nettBSD
 
@@ -14,7 +14,7 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
      two standard arguments: 4.3BSD-Reno
 
-     more arguments: 4.3BSD-Tahoe and some additional words
+     more arguments: 4.3BSD-Tahoe and _\bs_\bo_\bm_\be _\ba_\bd_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl _\bw_\bo_\br_\bd_\bs
 
      end of test document
 
Index: args.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Bx/args.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Bx/args.in -Lregress/mdoc/Bx/args.in -u -p -r1.1 -r1.2
--- regress/mdoc/Bx/args.in
+++ regress/mdoc/Bx/args.in
@@ -9,7 +9,7 @@ no arguments:
 .Bx
 .Pp
 one standard argument:
-.Bx 4.4
+.Bx 4.4 "."
 .Pp
 one non-standard argument:
 .Bx nett
@@ -21,6 +21,6 @@ two standard arguments:
 .Bx 4.3 reno
 .Pp
 more arguments:
-.Bx 4.3 tahoe and some additional words
+.Bx 4.3 tahoe and "Em" some additional words
 .Pp
 end of test document
--- /dev/null
+++ regress/mdoc/Cd/punct.in
@@ -0,0 +1,42 @@
+.Dd August 21, 2014
+.Dt CD-PUNCT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Cd-punct
+.Nd punctuation handling by the Cd macro
+.Sh DESCRIPTION
+closing punctuation
+.Cd a )
+only one
+.Cd )
+only more than one
+.Cd ) )
+middle
+.Cd a ) z
+start
+.Cd ) z
+dot
+.Cd . z
+comma
+.Cd , z
+semicolon
+.Cd ; z
+colon
+.Cd : z
+quest
+.Cd ? z
+excl
+.Cd ! z
+paren
+.Cd ) z
+bracket
+.Cd ] z
+bar
+.Cd | m
+op paren
+.Cd ( a
+op bracket
+.Cd [ a
+.Pp
+quoted punctuation:
+.Cd a "(" b "|" c ")" d "." "Em" italic .
Index: Makefile
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Cd/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -Lregress/mdoc/Cd/Makefile -Lregress/mdoc/Cd/Makefile -u -p -r1.3 -r1.4
--- regress/mdoc/Cd/Makefile
+++ regress/mdoc/Cd/Makefile
@@ -1,6 +1,6 @@
 # $OpenBSD: Makefile,v 1.5 2014/07/02 20:18:42 schwarze Exp $
 
-REGRESS_TARGETS = noarg font eos
+REGRESS_TARGETS = eos font noarg punct
 LINT_TARGETS	= noarg
 
 .include <bsd.regress.mk>
--- /dev/null
+++ regress/mdoc/Cd/punct.out_ascii
@@ -0,0 +1,13 @@
+CD-PUNCT(1)                 General Commands Manual                CD-PUNCT(1)
+
+N\bNA\bAM\bME\bE
+     C\bCd\bd-\b-p\bpu\bun\bnc\bct\bt - punctuation handling by the Cd macro
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+     closing punctuation a\ba) only one ) only more than one )) middle a\ba) z\bz start
+     ) z\bz dot . z\bz comma , z\bz semicolon ; z\bz colon : z\bz quest ? z\bz excl ! z\bz paren )
+     z\bz bracket ] z\bz bar | m\bm op paren (a\ba op bracket [a\ba
+
+     quoted punctuation: a\ba (b\bb | c\bc) d\bd. _\bi_\bt_\ba_\bl_\bi_\bc.
+
+OpenBSD                         August 21, 2014                        OpenBSD
--- /dev/null
+++ regress/mdoc/Cd/punct.out_markdown
@@ -0,0 +1,45 @@
+CD-PUNCT(1) - General Commands Manual
+
+# NAME
+
+**Cd-punct** - punctuation handling by the Cd macro
+
+# DESCRIPTION
+
+closing punctuation
+**a**)
+only one
+)
+only more than one
+))
+middle
+**a**) **z**
+start
+) **z**
+dot
+. **z**
+comma
+, **z**
+semicolon
+; **z**
+colon
+: **z**
+quest
+? **z**
+excl
+! **z**
+paren
+) **z**
+bracket
+] **z**
+bar
+| **m**
+op paren
+(**a**
+op bracket
+\[**a**
+
+quoted punctuation:
+**a** (**b** | **c**) **d**. *italic*.
+
+OpenBSD - August 21, 2014
--- /dev/null
+++ regress/mdoc/Cm/punct.in
@@ -0,0 +1,42 @@
+.Dd August 21, 2014
+.Dt Cm-PUNCT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Cm-punct
+.Nd punctuation handling by the Cm macro
+.Sh DESCRIPTION
+closing punctuation
+.Cm a )
+only one
+.Cm )
+only more than one
+.Cm ) )
+middle
+.Cm a ) z
+start
+.Cm ) z
+dot
+.Cm . z
+comma
+.Cm , z
+semicolon
+.Cm ; z
+colon
+.Cm : z
+quest
+.Cm ? z
+excl
+.Cm ! z
+paren
+.Cm ) z
+bracket
+.Cm ] z
+bar
+.Cm | m
+op paren
+.Cm ( a
+op bracket
+.Cm [ a
+.Pp
+quoted punctuation:
+.Cm a "(" b "|" c ")" d "." "Em" italic .
--- /dev/null
+++ regress/mdoc/Cm/punct.out_markdown
@@ -0,0 +1,45 @@
+Cm-PUNCT(1) - General Commands Manual
+
+# NAME
+
+**Cm-punct** - punctuation handling by the Cm macro
+
+# DESCRIPTION
+
+closing punctuation
+**a**)
+only one
+)
+only more than one
+))
+middle
+**a**) **z**
+start
+) **z**
+dot
+. **z**
+comma
+, **z**
+semicolon
+; **z**
+colon
+: **z**
+quest
+? **z**
+excl
+! **z**
+paren
+) **z**
+bracket
+] **z**
+bar
+| **m**
+op paren
+(**a**
+op bracket
+\[**a**
+
+quoted punctuation:
+**a** (**b** | **c**) **d**. *italic*.
+
+OpenBSD - August 21, 2014
--- /dev/null
+++ regress/mdoc/Cm/punct.out_ascii
@@ -0,0 +1,13 @@
+Cm-PUNCT(1)                 General Commands Manual                Cm-PUNCT(1)
+
+N\bNA\bAM\bME\bE
+     C\bCm\bm-\b-p\bpu\bun\bnc\bct\bt - punctuation handling by the Cm macro
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+     closing punctuation a\ba) only one ) only more than one )) middle a\ba) z\bz start
+     ) z\bz dot . z\bz comma , z\bz semicolon ; z\bz colon : z\bz quest ? z\bz excl ! z\bz paren )
+     z\bz bracket ] z\bz bar | m\bm op paren (a\ba op bracket [a\ba
+
+     quoted punctuation: a\ba (b\bb | c\bc) d\bd. _\bi_\bt_\ba_\bl_\bi_\bc.
+
+OpenBSD                         August 21, 2014                        OpenBSD
Index: Makefile
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Cm/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -Lregress/mdoc/Cm/Makefile -Lregress/mdoc/Cm/Makefile -u -p -r1.3 -r1.4
--- regress/mdoc/Cm/Makefile
+++ regress/mdoc/Cm/Makefile
@@ -1,6 +1,6 @@
 # $OpenBSD: Makefile,v 1.3 2014/07/02 20:18:42 schwarze Exp $
 
-REGRESS_TARGETS = basic font noarg
+REGRESS_TARGETS = basic font noarg punct
 LINT_TARGETS	= noarg
 
 .include <bsd.regress.mk>
Index: noarg.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Tn/noarg.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Tn/noarg.in -Lregress/mdoc/Tn/noarg.in -u -p -r1.1 -r1.2
--- regress/mdoc/Tn/noarg.in
+++ regress/mdoc/Tn/noarg.in
@@ -6,7 +6,7 @@
 .Nd trade name macro without argument
 .Sh DESCRIPTION
 with argument
-.Tn IBM
+.Tn IBM "," "Em" italic
 no argument
 .Tn
 end of test document
Index: noarg.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Tn/noarg.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Tn/noarg.out_markdown -Lregress/mdoc/Tn/noarg.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Tn/noarg.out_markdown
+++ regress/mdoc/Tn/noarg.out_markdown
@@ -7,7 +7,7 @@ TN-NOARG(1) - General Commands Manual
 # DESCRIPTION
 
 with argument
-`IBM`
+`IBM`, *italic*
 no argument
 end of test document
 
Index: noarg.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Tn/noarg.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Tn/noarg.out_ascii -Lregress/mdoc/Tn/noarg.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Tn/noarg.out_ascii
+++ regress/mdoc/Tn/noarg.out_ascii
@@ -4,6 +4,6 @@ N\bNA\bAM\bME\bE
      T\bTn\bn-\b-n\bno\boa\bar\brg\bg - trade name macro without argument
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
-     with argument IBM no argument end of test document
+     with argument IBM, _\bi_\bt_\ba_\bl_\bi_\bc no argument end of test document
 
 OpenBSD                        January 19, 2011                        OpenBSD
Index: empty.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Dq/empty.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Dq/empty.out_markdown -Lregress/mdoc/Dq/empty.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Dq/empty.out_markdown
+++ regress/mdoc/Dq/empty.out_markdown
@@ -9,9 +9,9 @@ DQ-EMPTY(1) - General Commands Manual
 An empty
 ""
 and a full
-"user@host"
+("user@host"
 quotation.
 And another
-"full" one.
+("full" one **bold**.
 
 OpenBSD - October 21, 2010
Index: empty.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Dq/empty.out_ascii,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lregress/mdoc/Dq/empty.out_ascii -Lregress/mdoc/Dq/empty.out_ascii -u -p -r1.2 -r1.3
--- regress/mdoc/Dq/empty.out_ascii
+++ regress/mdoc/Dq/empty.out_ascii
@@ -4,6 +4,7 @@ N\bNA\bAM\bME\bE
      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
Index: empty.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Dq/empty.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Dq/empty.in -Lregress/mdoc/Dq/empty.in -u -p -r1.1 -r1.2
--- regress/mdoc/Dq/empty.in
+++ regress/mdoc/Dq/empty.in
@@ -8,7 +8,7 @@
 An empty
 .Dq
 and a full
-.Dq user@host
+.Dq "(" user@host
 quotation.
 And another
-.Do full Dc one .
+.Do "(" full Dc one "Sy" bold .
Index: font.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Dv/font.out_markdown,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lregress/mdoc/Dv/font.out_markdown -Lregress/mdoc/Dv/font.out_markdown -u -p -r1.2 -r1.3
--- regress/mdoc/Dv/font.out_markdown
+++ regress/mdoc/Dv/font.out_markdown
@@ -11,6 +11,6 @@ The
 macro.
 
 And with
-`some embedded string`.
+`some embedded string`; **bold**.
 
 OpenBSD - October 21, 2011
Index: font.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Dv/font.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Dv/font.out_ascii -Lregress/mdoc/Dv/font.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Dv/font.out_ascii
+++ regress/mdoc/Dv/font.out_ascii
@@ -6,6 +6,6 @@ N\bNA\bAM\bME\bE
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      The BUFSIZ macro.
 
-     And with some _\be_\bm_\bb_\be_\bd_\bd_\be_\bd string.
+     And with some _\be_\bm_\bb_\be_\bd_\bd_\be_\bd string; b\bbo\bol\bld\bd.
 
 OpenBSD                        October 21, 2011                        OpenBSD
Index: font.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Dv/font.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Dv/font.in -Lregress/mdoc/Dv/font.in -u -p -r1.1 -r1.2
--- regress/mdoc/Dv/font.in
+++ regress/mdoc/Dv/font.in
@@ -10,4 +10,4 @@ The
 macro.
 .Pp
 And with
-.Dv some \\fIembedded\\fP string .
+.Dv some \\fIembedded\\fP string ";" "Sy" bold .
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Em/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Em/punct.out_ascii -Lregress/mdoc/Em/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Em/punct.out_ascii
+++ regress/mdoc/Em/punct.out_ascii
@@ -21,6 +21,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
      Multiple punctuation: [(_\ba_\br_\bg)].
 
-     Quoted: _\ba _\b. _\bb _\bN_\bm _\b. _\bb _\bN_\bm
+     Quoted: _\ba _\b. _\bb _\bN_\bm b\bbo\bol\bld\bd _\b. _\bb _\bN_\bm .
 
 OpenBSD                        November 17, 2014                       OpenBSD
Index: punct.out_lint
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Em/punct.out_lint,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Em/punct.out_lint -Lregress/mdoc/Em/punct.out_lint -u -p -r1.1 -r1.2
--- regress/mdoc/Em/punct.out_lint
+++ regress/mdoc/Em/punct.out_lint
@@ -22,3 +22,4 @@ mandoc: punct.in:70:7: WARNING: skipping
 mandoc: punct.in:71:7: WARNING: skipping empty macro: Em
 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
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Em/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Em/punct.out_markdown -Lregress/mdoc/Em/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Em/punct.out_markdown
+++ regress/mdoc/Em/punct.out_markdown
@@ -79,7 +79,8 @@ Multiple punctuation:
 \[(*arg*)].
 
 Quoted:
-*a . b Nm*
+*a . b Nm* **bold**
 *. b Nm*
+.
 
 OpenBSD - November 17, 2014
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Em/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Em/punct.in -Lregress/mdoc/Em/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Em/punct.in
+++ regress/mdoc/Em/punct.in
@@ -7,7 +7,7 @@
 .Sh DESCRIPTION
 Leading punctuation:
 .Em ( b
-.Em [ b
+.Em "[" b
 .Em | b
 .Em . b
 .Em , b
@@ -16,7 +16,7 @@ Leading punctuation:
 .Em ? b
 .Em ! b
 .Em ) b
-.Em ] b
+.Em "]" b
 .Pp
 Trailing punctuation:
 .Em a (
@@ -28,17 +28,17 @@ Trailing punctuation:
 .Em a :
 .Em a ?
 .Em a !
-.Em a )
+.Em a ")"
 .Em a ]
 .Pp
 Middle punctuation:
 .Em a ( b
 .Em a [ b
-.Em a | b
+.Em a "|" b
 .Em a . b
 .Em a , b
 .Em a ; b
-.Em a : b
+.Em a ":" b
 .Em a ? b
 .Em a ! b
 .Em a ) b
@@ -78,5 +78,6 @@ Multiple punctuation:
 .Em [ ( arg ) ] .
 .Pp
 Quoted:
-.Em "a . b Nm"
+.Em "a . b Nm" "Sy" bold
 .Em ". b Nm"
+.Em "."
Index: empty.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Eo/empty.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Eo/empty.out_ascii -Lregress/mdoc/Eo/empty.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Eo/empty.out_ascii
+++ regress/mdoc/Eo/empty.out_ascii
@@ -5,9 +5,9 @@ N\bNA\bAM\bME\bE
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      completely empty  closing only >> content only text opening only << no
-     opening text>> no content <<>> no closing <<text all <<text>> completely
-     empty prefix closing only prefix>> no opening prefixtext>> no closing
-     <<prefix stray closing
+     opening text>> no content <<>> no closing <<text all <<text>> b\bbo\bol\bld\bd
+     completely empty prefix closing only prefix>> no opening prefixtext>> no
+     closing <<prefix stray closing
      >> end of file
 
 OpenBSD                        February 1, 2015                        OpenBSD
Index: empty.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Eo/empty.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Eo/empty.out_markdown -Lregress/mdoc/Eo/empty.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Eo/empty.out_markdown
+++ regress/mdoc/Eo/empty.out_markdown
@@ -20,7 +20,7 @@ no content
 no closing
 &lt;&lt;text
 all
-&lt;&lt;text&gt;&gt;
+&lt;&lt;text&gt;&gt; **bold**
 completely empty
 prefixclosing only
 prefix&gt;&gt;
Index: obsolete.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Eo/obsolete.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Eo/obsolete.in -Lregress/mdoc/Eo/obsolete.in -u -p -r1.1 -r1.2
--- regress/mdoc/Eo/obsolete.in
+++ regress/mdoc/Eo/obsolete.in
@@ -11,7 +11,7 @@
 initial text
 .En enclosed words with Fl flags
 middle text
-.En more enclosed words
+.En "(" more enclosed words
 final text
 .Pp
 .Es
Index: obsolete.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Eo/obsolete.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Eo/obsolete.out_ascii -Lregress/mdoc/Eo/obsolete.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Eo/obsolete.out_ascii
+++ regress/mdoc/Eo/obsolete.out_ascii
@@ -6,7 +6,7 @@ N\bNA\bAM\bME\bE
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      no prior Es
 
-     surplus initial text <<enclosed words with -\b-f\bfl\bla\bag\bgs\bs>> middle text <<more
+     surplus initial text <<enclosed words with -\b-f\bfl\bla\bag\bgs\bs>> middle text (<<more
      enclosed words>> final text
 
      initial text after empty Es final text
Index: empty.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Eo/empty.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Eo/empty.in -Lregress/mdoc/Eo/empty.in -u -p -r1.1 -r1.2
--- regress/mdoc/Eo/empty.in
+++ regress/mdoc/Eo/empty.in
@@ -32,7 +32,7 @@ text
 all
 .Eo <<
 text
-.Ec >>
+.Ec >> "Sy" bold
 completely empty
 .No prefix Ns Eo
 .Ec
Index: obsolete.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Eo/obsolete.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Eo/obsolete.out_markdown -Lregress/mdoc/Eo/obsolete.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Eo/obsolete.out_markdown
+++ regress/mdoc/Eo/obsolete.out_markdown
@@ -12,7 +12,7 @@ surplus
 initial text
 &lt;&lt;enclosed words with **-flags**&gt;&gt;
 middle text
-&lt;&lt;more enclosed words&gt;&gt;
+(&lt;&lt;more enclosed words&gt;&gt;
 final text
 
 initial text
Index: noarg.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Er/noarg.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Er/noarg.in -Lregress/mdoc/Er/noarg.in -u -p -r1.1 -r1.2
--- regress/mdoc/Er/noarg.in
+++ regress/mdoc/Er/noarg.in
@@ -6,7 +6,7 @@
 .Nd error constant macro without an argument
 .Sh DESCRIPTION
 with error:
-.Er ENOENT
+.Er ENOENT ";" "Sy" bold ;
 no error:
 .Er
 end of test document
Index: noarg.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Er/noarg.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Er/noarg.out_markdown -Lregress/mdoc/Er/noarg.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Er/noarg.out_markdown
+++ regress/mdoc/Er/noarg.out_markdown
@@ -7,7 +7,7 @@ ER-NOARG(1) - General Commands Manual
 # DESCRIPTION
 
 with error:
-`ENOENT`
+`ENOENT`; **bold**;
 no error:
 end of test document
 
Index: noarg.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Er/noarg.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Er/noarg.out_ascii -Lregress/mdoc/Er/noarg.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Er/noarg.out_ascii
+++ regress/mdoc/Er/noarg.out_ascii
@@ -4,6 +4,6 @@ N\bNA\bAM\bME\bE
      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 no error: end of test document
+     with error: ENOENT; b\bbo\bol\bld\bd; no error: end of test document
 
 OpenBSD                        January 19, 2011                        OpenBSD
Index: font.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ev/font.out_markdown,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lregress/mdoc/Ev/font.out_markdown -Lregress/mdoc/Ev/font.out_markdown -u -p -r1.2 -r1.3
--- regress/mdoc/Ev/font.out_markdown
+++ regress/mdoc/Ev/font.out_markdown
@@ -11,6 +11,6 @@ The
 variable.
 
 And with
-`some embedded string`.
+`some embedded string`; **bold.**
 
 OpenBSD - October 21, 2011
Index: font.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ev/font.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ev/font.in -Lregress/mdoc/Ev/font.in -u -p -r1.1 -r1.2
--- regress/mdoc/Ev/font.in
+++ regress/mdoc/Ev/font.in
@@ -10,4 +10,4 @@ The
 variable.
 .Pp
 And with
-.Ev some \\fIembedded\\fP string .
+.Ev some \\fIembedded\\fP string ";" "Sy" bold.
Index: font.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ev/font.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ev/font.out_ascii -Lregress/mdoc/Ev/font.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Ev/font.out_ascii
+++ regress/mdoc/Ev/font.out_ascii
@@ -6,6 +6,6 @@ N\bNA\bAM\bME\bE
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      The PATH variable.
 
-     And with some _\be_\bm_\bb_\be_\bd_\bd_\be_\bd string.
+     And with some _\be_\bm_\bb_\be_\bd_\bd_\be_\bd string; b\bbo\bol\bld\bd.\b.
 
 OpenBSD                        October 21, 2011                        OpenBSD
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fl/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fl/punct.in -Lregress/mdoc/Fl/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Fl/punct.in
+++ regress/mdoc/Fl/punct.in
@@ -37,3 +37,6 @@ op paren
 .Fl ( a
 op bracket
 .Fl [ a
+.Pp
+quoted punctuation:
+.Fl a "(" b "|" c ")" d "," "Em" italic .
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fl/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fl/punct.out_markdown -Lregress/mdoc/Fl/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Fl/punct.out_markdown
+++ regress/mdoc/Fl/punct.out_markdown
@@ -39,4 +39,7 @@ op paren
 op bracket
 \[**-a**
 
+quoted punctuation:
+**-a** (**-b** | **-c**) **-d**, *italic*.
+
 OpenBSD - August 21, 2014
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fl/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fl/punct.out_ascii -Lregress/mdoc/Fl/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Fl/punct.out_ascii
+++ regress/mdoc/Fl/punct.out_ascii
@@ -9,4 +9,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      excl -\b-! -\b-z\bz paren -\b-) -\b-z\bz bracket -\b-] -\b-z\bz bar -\b- | -\b-m\bm op paren (-\b-a\ba op bracket
      [-\b-a\ba
 
+     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
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fo/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fo/punct.out_ascii -Lregress/mdoc/Fo/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Fo/punct.out_ascii
+++ regress/mdoc/Fo/punct.out_ascii
@@ -1,9 +1,13 @@
 FO-PUNCT(1)                 General Commands Manual                FO-PUNCT(1)
 
 N\bNA\bAM\bME\bE
-     F\bFo\bo-\b-p\bpu\bun\bnc\bct\bt - punctuation on function name input lines
+     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
+     _\bd_\bo_\bu_\bb_\bl_\be s\bsi\bin\bn(), cos _\bi_\bt_\ba_\bl_\bi_\bc
 
-OpenBSD                        November 20, 2014                       OpenBSD
+     _\bx, _\by b\bbo\bol\bld\bd
+
+     _\bi_\bn_\bt, _\bf_\bl_\bo_\ba_\bt b\bbo\bol\bld\bd
+
+OpenBSD                          May 20, 2017                          OpenBSD
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fo/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fo/punct.in -Lregress/mdoc/Fo/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Fo/punct.in
+++ regress/mdoc/Fo/punct.in
@@ -1,9 +1,13 @@
-.Dd November 20, 2014
+.Dd May 20, 2017
 .Dt FO-PUNCT 1
 .Os OpenBSD
 .Sh NAME
 .Nm Fo-punct
-.Nd punctuation on function name input lines
+.Nd punctuation on function input lines
 .Sh DESCRIPTION
 .Ft double
-.Fn sin , cos
+.Fn sin "," cos "Em" italic
+.Pp
+.Fa x "," y "Sy" bold
+.Pp
+.Ft int "," float "Sy" bold
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fo/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fo/punct.out_markdown -Lregress/mdoc/Fo/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Fo/punct.out_markdown
+++ regress/mdoc/Fo/punct.out_markdown
@@ -2,11 +2,15 @@ FO-PUNCT(1) - General Commands Manual
 
 # NAME
 
-**Fo-punct** - punctuation on function name input lines
+**Fo-punct** - punctuation on function input lines
 
 # DESCRIPTION
 
 *double*
-**sin**(), cos
+**sin**(), cos *italic*
 
-OpenBSD - November 20, 2014
+*x*, *y* **bold**
+
+*int*, *float* **bold**
+
+OpenBSD - May 20, 2017
Index: font.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fo/font.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fo/font.out_ascii -Lregress/mdoc/Fo/font.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Fo/font.out_ascii
+++ regress/mdoc/Fo/font.out_ascii
@@ -8,6 +8,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
      p\bpr\bre\bef\bfi\bix\bx_\bn_\ba_\bm_\bes\bsu\buf\bff\bfi\bix\bx(_\bt_\by_\bp_\be _\ba_\br_\bg) trailing text
 
-     f\bfu\bun\bnc\bct\bti\bio\bon\bn(_\bp_\br_\be_\bf_\bi_\bxb\bbo\bol\bld\bd_\bs_\bu_\bf_\bf_\bi_\bx) trailing text
+     f\bfu\bun\bnc\bct\bti\bio\bon\bn(_\bp_\br_\be_\bf_\bi_\bxb\bbo\bol\bld\bd_\bs_\bu_\bf_\bf_\bi_\bx) b\bbo\bol\bld\bd trailing text
 
 OpenBSD                          July 9, 2012                          OpenBSD
Index: font.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fo/font.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fo/font.out_markdown -Lregress/mdoc/Fo/font.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Fo/font.out_markdown
+++ regress/mdoc/Fo/font.out_markdown
@@ -12,7 +12,7 @@ trailing text
 **prefix*name*suffix**(*type arg*)
 trailing text
 
-**function**(*prefix**bold**suffix*)
+**function**(*prefix**bold**suffix*) **bold**
 trailing text
 
 OpenBSD - July 9, 2012
Index: font.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Fo/font.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Fo/font.in -Lregress/mdoc/Fo/font.in -u -p -r1.1 -r1.2
--- regress/mdoc/Fo/font.in
+++ regress/mdoc/Fo/font.in
@@ -15,5 +15,5 @@ trailing text
 .Pp
 .Fo function
 .Fa prefix\\fBbold\\fPsuffix
-.Fc
+.Fc "Sy" bold
 trailing text
--- /dev/null
+++ regress/mdoc/Ic/punct.in
@@ -0,0 +1,42 @@
+.Dd August 21, 2014
+.Dt Ic-PUNCT 1
+.Os OpenBSD
+.Sh NAME
+.Nm Ic-punct
+.Nd punctuation handling by the Ic macro
+.Sh DESCRIPTION
+closing punctuation
+.Ic a )
+only one
+.Ic )
+only more than one
+.Ic ) )
+middle
+.Ic a ) z
+start
+.Ic ) z
+dot
+.Ic . z
+comma
+.Ic , z
+semicolon
+.Ic ; z
+colon
+.Ic : z
+quest
+.Ic ? z
+excl
+.Ic ! z
+paren
+.Ic ) z
+bracket
+.Ic ] z
+bar
+.Ic | m
+op paren
+.Ic ( a
+op bracket
+.Ic [ a
+.Pp
+quoted punctuation:
+.Ic a "(" b "|" c ")" d "," "Em" italic .
Index: Makefile
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ic/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -Lregress/mdoc/Ic/Makefile -Lregress/mdoc/Ic/Makefile -u -p -r1.3 -r1.4
--- regress/mdoc/Ic/Makefile
+++ regress/mdoc/Ic/Makefile
@@ -1,6 +1,6 @@
 # $OpenBSD: Makefile,v 1.4 2014/07/02 20:18:42 schwarze Exp $
 
-REGRESS_TARGETS = noarg font
+REGRESS_TARGETS = font noarg punct
 LINT_TARGETS	= noarg
 
 .include <bsd.regress.mk>
--- /dev/null
+++ regress/mdoc/Ic/punct.out_markdown
@@ -0,0 +1,45 @@
+Ic-PUNCT(1) - General Commands Manual
+
+# NAME
+
+**Ic-punct** - punctuation handling by the Ic macro
+
+# DESCRIPTION
+
+closing punctuation
+**a**)
+only one
+)
+only more than one
+))
+middle
+**a**) **z**
+start
+) **z**
+dot
+. **z**
+comma
+, **z**
+semicolon
+; **z**
+colon
+: **z**
+quest
+? **z**
+excl
+! **z**
+paren
+) **z**
+bracket
+] **z**
+bar
+| **m**
+op paren
+(**a**
+op bracket
+\[**a**
+
+quoted punctuation:
+**a** (**b** | **c**) **d**, *italic*.
+
+OpenBSD - August 21, 2014
--- /dev/null
+++ regress/mdoc/Ic/punct.out_ascii
@@ -0,0 +1,13 @@
+Ic-PUNCT(1)                 General Commands Manual                Ic-PUNCT(1)
+
+N\bNA\bAM\bME\bE
+     I\bIc\bc-\b-p\bpu\bun\bnc\bct\bt - punctuation handling by the Ic macro
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+     closing punctuation a\ba) only one ) only more than one )) middle a\ba) z\bz start
+     ) z\bz dot . z\bz comma , z\bz semicolon ; z\bz colon : z\bz quest ? z\bz excl ! z\bz paren )
+     z\bz bracket ] z\bz bar | m\bm op paren (a\ba op bracket [a\ba
+
+     quoted punctuation: a\ba (b\bb | c\bc) d\bd, _\bi_\bt_\ba_\bl_\bi_\bc.
+
+OpenBSD                         August 21, 2014                        OpenBSD
Index: font.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/In/font.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/In/font.out_markdown -Lregress/mdoc/In/font.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/In/font.out_markdown
+++ regress/mdoc/In/font.out_markdown
@@ -7,7 +7,7 @@ IN-FONT(2) - System Calls Manual
 # DESCRIPTION
 
 normal text
-&lt;*prefix**header**suffix*>
+&lt;*prefix**header**suffix*> | after: punctuation **bold**
 trailing text
 
 OpenBSD - July 9, 2012
Index: font.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/In/font.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/In/font.in -Lregress/mdoc/In/font.in -u -p -r1.1 -r1.2
--- regress/mdoc/In/font.in
+++ regress/mdoc/In/font.in
@@ -6,5 +6,5 @@
 .Nd changing the font inside the include macro
 .Sh DESCRIPTION
 normal text
-.In prefix\\fBheader\\fPsuffix
+.In prefix\\fBheader\\fPsuffix | after ":" punctuation "Sy" bold
 trailing text
Index: font.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/In/font.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/In/font.out_ascii -Lregress/mdoc/In/font.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/In/font.out_ascii
+++ regress/mdoc/In/font.out_ascii
@@ -4,6 +4,6 @@ N\bNA\bAM\bME\bE
      I\bIn\bn-\b-f\bfo\bon\bnt\bt - changing the font inside the include macro
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
-     normal text <_\bp_\br_\be_\bf_\bi_\bxh\bhe\bea\bad\bde\ber\br_\bs_\bu_\bf_\bf_\bi_\bx> trailing text
+     normal text <_\bp_\br_\be_\bf_\bi_\bxh\bhe\bea\bad\bde\ber\br_\bs_\bu_\bf_\bf_\bi_\bx> | after: punctuation b\bbo\bol\bld\bd trailing text
 
 OpenBSD                          July 9, 2012                          OpenBSD
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Li/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Li/punct.out_markdown -Lregress/mdoc/Li/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Li/punct.out_markdown
+++ regress/mdoc/Li/punct.out_markdown
@@ -79,8 +79,8 @@ Multiple punctuation:
 \[(`arg`)].
 
 Quoted:
-`a . b Nm`
+`a . b Nm` **bold**
 `. b Nm`
-`.`
+.
 
 OpenBSD - November 17, 2014
Index: punct.out_lint
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Li/punct.out_lint,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Li/punct.out_lint -Lregress/mdoc/Li/punct.out_lint -u -p -r1.1 -r1.2
--- regress/mdoc/Li/punct.out_lint
+++ regress/mdoc/Li/punct.out_lint
@@ -22,3 +22,4 @@ mandoc: punct.in:70:7: WARNING: skipping
 mandoc: punct.in:71:7: WARNING: skipping empty macro: Li
 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
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Li/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Li/punct.out_ascii -Lregress/mdoc/Li/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Li/punct.out_ascii
+++ regress/mdoc/Li/punct.out_ascii
@@ -21,6 +21,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
      Multiple punctuation: [(arg)].
 
-     Quoted: a . b Nm . b Nm .
+     Quoted: a . b Nm b\bbo\bol\bld\bd . b Nm .
 
 OpenBSD                        November 17, 2014                       OpenBSD
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Li/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Li/punct.in -Lregress/mdoc/Li/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Li/punct.in
+++ regress/mdoc/Li/punct.in
@@ -7,7 +7,7 @@
 .Sh DESCRIPTION
 Leading punctuation:
 .Li ( b
-.Li [ b
+.Li "[" b
 .Li | b
 .Li . b
 .Li , b
@@ -23,7 +23,7 @@ Trailing punctuation:
 .Li a [
 .Li a |
 .Li a .
-.Li a ,
+.Li a ","
 .Li a ;
 .Li a :
 .Li a ?
@@ -37,11 +37,11 @@ Middle punctuation:
 .Li a | b
 .Li a . b
 .Li a , b
-.Li a ; b
+.Li a ";" b
 .Li a : b
 .Li a ? b
 .Li a ! b
-.Li a ) b
+.Li a ")" b
 .Li a ] b
 .Pp
 Isolated punctuation:
@@ -78,6 +78,6 @@ Multiple punctuation:
 .Li [ ( arg ) ] .
 .Pp
 Quoted:
-.Li "a . b Nm"
+.Li "a . b Nm" "Sy" bold
 .Li ". b Nm"
 .Li "."
Index: font.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ms/font.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ms/font.out_markdown -Lregress/mdoc/Ms/font.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Ms/font.out_markdown
+++ regress/mdoc/Ms/font.out_markdown
@@ -7,7 +7,7 @@ MS-FONT(1) - General Commands Manual
 # DESCRIPTION
 
 normal text
-**bold*emphasis*back** | **after**: **punctuation**
+**bold*emphasis*back** | **after**: **punctuation** *italic*
 trailing text
 
 OpenBSD - November 20, 2014
Index: font.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ms/font.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ms/font.in -Lregress/mdoc/Ms/font.in -u -p -r1.1 -r1.2
--- regress/mdoc/Ms/font.in
+++ regress/mdoc/Ms/font.in
@@ -6,5 +6,5 @@
 .Nd changing fonts inside the mathematical symbol macro
 .Sh DESCRIPTION
 normal text
-.Ms bold\\fIemphasis\\fPback | after : punctuation
+.Ms bold\\fIemphasis\\fPback | after ":" punctuation "Em" italic
 trailing text
Index: font.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ms/font.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ms/font.out_ascii -Lregress/mdoc/Ms/font.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Ms/font.out_ascii
+++ regress/mdoc/Ms/font.out_ascii
@@ -4,6 +4,6 @@ N\bNA\bAM\bME\bE
      M\bMs\bs-\b-f\bfo\bon\bnt\bt - changing fonts inside the mathematical symbol macro
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
-     normal text b\bbo\bol\bld\bd_\be_\bm_\bp_\bh_\ba_\bs_\bi_\bsb\bba\bac\bck\bk | a\baf\bft\bte\ber\br: p\bpu\bun\bnc\bct\btu\bua\bat\bti\bio\bon\bn trailing text
+     normal text b\bbo\bol\bld\bd_\be_\bm_\bp_\bh_\ba_\bs_\bi_\bsb\bba\bac\bck\bk | a\baf\bft\bte\ber\br: p\bpu\bun\bnc\bct\btu\bua\bat\bti\bio\bon\bn _\bi_\bt_\ba_\bl_\bi_\bc trailing text
 
 OpenBSD                        November 20, 2014                       OpenBSD
Index: simple.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Mt/simple.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Mt/simple.in -Lregress/mdoc/Mt/simple.in -u -p -r1.1 -r1.2
--- regress/mdoc/Mt/simple.in
+++ regress/mdoc/Mt/simple.in
@@ -6,7 +6,7 @@
 .Nd mailto
 .Sh DESCRIPTION
 Please send mail to
-.Mt schwarze@openbsd.org .
+.Mt schwarze@openbsd.org ";" "Sy" bold .
 .Pp
 Do not send mail to
 .Mt .
Index: simple.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Mt/simple.out_markdown,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lregress/mdoc/Mt/simple.out_markdown -Lregress/mdoc/Mt/simple.out_markdown -u -p -r1.2 -r1.3
--- regress/mdoc/Mt/simple.out_markdown
+++ regress/mdoc/Mt/simple.out_markdown
@@ -7,7 +7,7 @@ MT-SIMPLE(1) - General Commands Manual
 # DESCRIPTION
 
 Please send mail to
-[schwarze@openbsd.org](mailto:schwarze@openbsd.org).
+[schwarze@openbsd.org](mailto:schwarze@openbsd.org); **bold**.
 
 Do not send mail to
 [~](mailto:~).
Index: simple.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Mt/simple.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Mt/simple.out_ascii -Lregress/mdoc/Mt/simple.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Mt/simple.out_ascii
+++ regress/mdoc/Mt/simple.out_ascii
@@ -4,7 +4,7 @@ N\bNA\bAM\bME\bE
      M\bMt\bt-\b-s\bsi\bim\bmp\bpl\ble\be - mailto
 
 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.
+     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.
 
      Do not send mail to _\b~.
 
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/No/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/No/punct.out_ascii -Lregress/mdoc/No/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/No/punct.out_ascii
+++ regress/mdoc/No/punct.out_ascii
@@ -21,6 +21,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
      Multiple punctuation: [(arg)].
 
-     Quoted: a . b Nm . b Nm .
+     Quoted: a . b Nm b\bbo\bol\bld\bd . b Nm .
 
 OpenBSD                        November 17, 2014                       OpenBSD
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/No/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/No/punct.out_markdown -Lregress/mdoc/No/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/No/punct.out_markdown
+++ regress/mdoc/No/punct.out_markdown
@@ -79,7 +79,7 @@ Multiple punctuation:
 \[(arg)].
 
 Quoted:
-a . b Nm
+a . b Nm **bold**
 . b Nm
 .
 
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/No/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/No/punct.in -Lregress/mdoc/No/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/No/punct.in
+++ regress/mdoc/No/punct.in
@@ -6,7 +6,7 @@
 .Nd punctuation after the normal macro
 .Sh DESCRIPTION
 Leading punctuation:
-.No ( b
+.No "(" b
 .No [ b
 .No | b
 .No . b
@@ -29,17 +29,17 @@ Trailing punctuation:
 .No a ?
 .No a !
 .No a )
-.No a ]
+.No a "]"
 .Pp
 Middle punctuation:
 .No a ( b
-.No a [ b
+.No a "[" b
 .No a | b
 .No a . b
 .No a , b
 .No a ; b
 .No a : b
-.No a ? b
+.No a "?" b
 .No a ! b
 .No a ) b
 .No a ] b
@@ -78,6 +78,6 @@ Multiple punctuation:
 .No [ ( arg ) ] .
 .Pp
 Quoted:
-.No "a . b Nm"
+.No "a . b Nm" "Sy" bold
 .No ". b Nm"
 .No "."
Index: punct.out_lint
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/No/punct.out_lint,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/No/punct.out_lint -Lregress/mdoc/No/punct.out_lint -u -p -r1.1 -r1.2
--- regress/mdoc/No/punct.out_lint
+++ regress/mdoc/No/punct.out_lint
@@ -22,3 +22,4 @@ mandoc: punct.in:70:7: WARNING: skipping
 mandoc: punct.in:71:7: WARNING: skipping empty macro: No
 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
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Ns/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Ns/punct.in -Lregress/mdoc/Ns/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Ns/punct.in
+++ regress/mdoc/Ns/punct.in
@@ -8,6 +8,6 @@
 Normal words:
 .No no Ns ns No no
 Opening punctuation:
-.No no Ns ( ns No no
+.No no Ns "(" ns No no
 Closing punctuation:
-.No no Ns ns ) No no
+.No no "Ns" ns ")" No no
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Oo/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Oo/punct.out_markdown -Lregress/mdoc/Oo/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Oo/punct.out_markdown
+++ regress/mdoc/Oo/punct.out_markdown
@@ -9,7 +9,7 @@ OO-PUNCT(1) - General Commands Manual
 at the beginning:
 (\[z
 \[| z
-\[. z]]]
+\[. z]] **bold**]
 
 in the middle:
 \[a (z
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Oo/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Oo/punct.in -Lregress/mdoc/Oo/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Oo/punct.in
+++ regress/mdoc/Oo/punct.in
@@ -6,13 +6,13 @@
 .Nd punctuation handling by the Oo macro
 .Sh DESCRIPTION
 at the beginning:
-.Oo ( z
+.Oo "(" z
 .Oo | z
 .Oo . z
-.Oc Oc Oc
+.Oc Oc "Sy" bold Oc
 .Pp
 in the middle:
-.Oo a ( z
+.Oo a "(" z
 .Oo a | z
 .Oo a . z
 .Oc Oc Oc
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Oo/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Oo/punct.out_ascii -Lregress/mdoc/Oo/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Oo/punct.out_ascii
+++ regress/mdoc/Oo/punct.out_ascii
@@ -4,7 +4,7 @@ N\bNA\bAM\bME\bE
      O\bOo\bo-\b-p\bpu\bun\bnc\bct\bt - punctuation handling by the Oo macro
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
-     at the beginning: ([z [| z [. z]]]
+     at the beginning: ([z [| z [. z]] b\bbo\bol\bld\bd]
 
      in the middle: [a (z [a | z [a. z]]]
 
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Op/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Op/punct.in -Lregress/mdoc/Op/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Op/punct.in
+++ regress/mdoc/Op/punct.in
@@ -6,12 +6,12 @@
 .Nd punctuation handling by the Op macro
 .Sh DESCRIPTION
 at the beginning:
-.Op ( z
+.Op "(" z
 .Op | z
 .Op . z
 .Pp
 in the middle:
-.Op a ( z
+.Op a "(" z
 .Op a | z
 .Op a . z
 .Pp
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Pa/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Pa/punct.out_markdown -Lregress/mdoc/Pa/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Pa/punct.out_markdown
+++ regress/mdoc/Pa/punct.out_markdown
@@ -39,4 +39,7 @@ op paren
 op bracket
 \[*a*
 
+quoted punctuation:
+*a* (*b* | *c*) *d*, **bold**.
+
 OpenBSD - August 21, 2014
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Pa/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Pa/punct.out_ascii -Lregress/mdoc/Pa/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Pa/punct.out_ascii
+++ regress/mdoc/Pa/punct.out_ascii
@@ -8,4 +8,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      start _\b~) _\bz dot _\b~. _\bz comma _\b~, _\bz semicolon _\b~; _\bz colon _\b~: _\bz quest _\b~? _\bz excl
      _\b~! _\bz paren _\b~) _\bz bracket _\b~] _\bz bar | _\bm op paren (_\ba op bracket [_\ba
 
+     quoted punctuation: _\ba (_\bb | _\bc) _\bd, b\bbo\bol\bld\bd.
+
 OpenBSD                         August 21, 2014                        OpenBSD
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Pa/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Pa/punct.in -Lregress/mdoc/Pa/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Pa/punct.in
+++ regress/mdoc/Pa/punct.in
@@ -37,3 +37,6 @@ op paren
 .Pa ( a
 op bracket
 .Pa [ a
+.Pp
+quoted punctuation:
+.Pa a "(" b "|" c ")" d "," "Sy" bold .
Index: empty.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Qq/empty.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Qq/empty.in -Lregress/mdoc/Qq/empty.in -u -p -r1.1 -r1.2
--- regress/mdoc/Qq/empty.in
+++ regress/mdoc/Qq/empty.in
@@ -8,7 +8,7 @@
 An empty
 .Qq
 and a full
-.Qq user@host
+.Qq "(" user@host
 quotation.
 And another
-.Qo full Qc one .
+.Qo "(" full Qc one "Sy" bold .
Index: empty.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Qq/empty.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Qq/empty.out_ascii -Lregress/mdoc/Qq/empty.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Qq/empty.out_ascii
+++ regress/mdoc/Qq/empty.out_ascii
@@ -4,6 +4,7 @@ N\bNA\bAM\bME\bE
      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
Index: empty.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Qq/empty.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Qq/empty.out_markdown -Lregress/mdoc/Qq/empty.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Qq/empty.out_markdown
+++ regress/mdoc/Qq/empty.out_markdown
@@ -9,9 +9,9 @@ QQ-EMPTY(1) - General Commands Manual
 An empty
 ""
 and a full
-"user@host"
+("user@host"
 quotation.
 And another
-"full" one.
+("full" one **bold**.
 
 OpenBSD - October 21, 2010
Index: empty.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sq/empty.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sq/empty.in -Lregress/mdoc/Sq/empty.in -u -p -r1.1 -r1.2
--- regress/mdoc/Sq/empty.in
+++ regress/mdoc/Sq/empty.in
@@ -8,7 +8,7 @@
 An empty
 .Sq
 and a full
-.Sq user@host
+.Sq "(" user@host
 quotation.
 And another
-.So full Sc one .
+.So "(" full Sc one "Sy" bold .
Index: empty.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sq/empty.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sq/empty.out_markdown -Lregress/mdoc/Sq/empty.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Sq/empty.out_markdown
+++ regress/mdoc/Sq/empty.out_markdown
@@ -9,9 +9,9 @@ SQ-EMPTY(1) - General Commands Manual
 An empty
 ''
 and a full
-'user@host'
+('user@host'
 quotation.
 And another
-'full' one.
+('full' one **bold**.
 
 OpenBSD - October 21, 2010
Index: empty.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sq/empty.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sq/empty.out_ascii -Lregress/mdoc/Sq/empty.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Sq/empty.out_ascii
+++ regress/mdoc/Sq/empty.out_ascii
@@ -4,6 +4,7 @@ N\bNA\bAM\bME\bE
      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
Index: call.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/St/call.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/St/call.in -Lregress/mdoc/St/call.in -u -p -r1.1 -r1.2
--- regress/mdoc/St/call.in
+++ regress/mdoc/St/call.in
@@ -6,7 +6,7 @@
 .Nd the standard macro calling other macros
 .Sh STANDARDS
 calling another macro:
-.St Fl called
+.St "Fl" called
 .Pp
 valid argument:
 .St -p1003.1-2004
Index: noarg.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sx/noarg.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sx/noarg.out_markdown -Lregress/mdoc/Sx/noarg.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Sx/noarg.out_markdown
+++ regress/mdoc/Sx/noarg.out_markdown
@@ -7,7 +7,7 @@ SX-NOARG(1) - General Commands Manual
 # DESCRIPTION
 
 with target:
-*DESCRIPTION*
+*DESCRIPTION*; *italic*
 no target:
 end of test document
 
Index: noarg.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sx/noarg.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sx/noarg.out_ascii -Lregress/mdoc/Sx/noarg.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Sx/noarg.out_ascii
+++ regress/mdoc/Sx/noarg.out_ascii
@@ -4,6 +4,6 @@ N\bNA\bAM\bME\bE
      S\bSx\bx-\b-n\bno\boa\bar\brg\bg - internal cross reference without a target
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
-     with target: _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN no target: end of test document
+     with target: _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN; _\bi_\bt_\ba_\bl_\bi_\bc no target: end of test document
 
 OpenBSD                        January 19, 2011                        OpenBSD
Index: noarg.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sx/noarg.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sx/noarg.in -Lregress/mdoc/Sx/noarg.in -u -p -r1.1 -r1.2
--- regress/mdoc/Sx/noarg.in
+++ regress/mdoc/Sx/noarg.in
@@ -6,7 +6,7 @@
 .Nd internal cross reference without a target
 .Sh DESCRIPTION
 with target:
-.Sx DESCRIPTION
+.Sx DESCRIPTION ";" "Em" italic
 no target:
 .Sx
 end of test document
Index: punct.out_lint
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sy/punct.out_lint,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sy/punct.out_lint -Lregress/mdoc/Sy/punct.out_lint -u -p -r1.1 -r1.2
--- regress/mdoc/Sy/punct.out_lint
+++ regress/mdoc/Sy/punct.out_lint
@@ -22,3 +22,4 @@ mandoc: punct.in:70:7: WARNING: skipping
 mandoc: punct.in:71:7: WARNING: skipping empty macro: Sy
 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
Index: punct.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sy/punct.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sy/punct.out_markdown -Lregress/mdoc/Sy/punct.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Sy/punct.out_markdown
+++ regress/mdoc/Sy/punct.out_markdown
@@ -79,7 +79,8 @@ Multiple punctuation:
 \[(**arg**)].
 
 Quoted:
-**a . b Nm**
+**a . b Nm** *italic*
 **. b Nm**
+.
 
 OpenBSD - November 17, 2014
Index: punct.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sy/punct.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sy/punct.out_ascii -Lregress/mdoc/Sy/punct.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Sy/punct.out_ascii
+++ regress/mdoc/Sy/punct.out_ascii
@@ -21,6 +21,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
      Multiple punctuation: [(a\bar\brg\bg)].
 
-     Quoted: a\ba .\b. b\bb N\bNm\bm .\b. b\bb N\bNm\bm
+     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
Index: punct.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Sy/punct.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Sy/punct.in -Lregress/mdoc/Sy/punct.in -u -p -r1.1 -r1.2
--- regress/mdoc/Sy/punct.in
+++ regress/mdoc/Sy/punct.in
@@ -7,7 +7,7 @@
 .Sh DESCRIPTION
 Leading punctuation:
 .Sy ( b
-.Sy [ b
+.Sy "[" b
 .Sy | b
 .Sy . b
 .Sy , b
@@ -28,13 +28,13 @@ Trailing punctuation:
 .Sy a :
 .Sy a ?
 .Sy a !
-.Sy a )
+.Sy a ")"
 .Sy a ]
 .Pp
 Middle punctuation:
 .Sy a ( b
 .Sy a [ b
-.Sy a | b
+.Sy a "|" b
 .Sy a . b
 .Sy a , b
 .Sy a ; b
@@ -78,5 +78,6 @@ Multiple punctuation:
 .Sy [ ( arg ) ] .
 .Pp
 Quoted:
-.Sy "a . b Nm"
+.Sy "a . b Nm" "Em" italic
 .Sy ". b Nm"
+.Sy "."
Index: args.out_markdown
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Xr/args.out_markdown,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Xr/args.out_markdown -Lregress/mdoc/Xr/args.out_markdown -u -p -r1.1 -r1.2
--- regress/mdoc/Xr/args.out_markdown
+++ regress/mdoc/Xr/args.out_markdown
@@ -9,13 +9,13 @@ XR-ARGS(1) - General Commands Manual
 One single
 echo(1)
 is fine, and so is an
-echo(1) followed by something else.
+echo(1) followed by something *else*.
 
 But listen for multiple
 echo(1)s.
 
 A call, an
-echo(1), and
+(echo(1)), and
 another
 echo(1).
 
Index: args.out_ascii
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Xr/args.out_ascii,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Xr/args.out_ascii -Lregress/mdoc/Xr/args.out_ascii -u -p -r1.1 -r1.2
--- regress/mdoc/Xr/args.out_ascii
+++ regress/mdoc/Xr/args.out_ascii
@@ -5,11 +5,11 @@ N\bNA\bAM\bME\bE
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      One single echo(1) is fine, and so is an echo(1) followed by something
-     else.
+     _\be_\bl_\bs_\be.
 
      But listen for multiple echo(1)s.
 
-     A call, an echo(1), and another echo(1).
+     A call, an (echo(1)), and another echo(1).
 
      Finally, half an echo, no echo and no echo at all.
 
Index: args.in
===================================================================
RCS file: /home/cvs/mdocml/mdocml/regress/mdoc/Xr/args.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -Lregress/mdoc/Xr/args.in -Lregress/mdoc/Xr/args.in -u -p -r1.1 -r1.2
--- regress/mdoc/Xr/args.in
+++ regress/mdoc/Xr/args.in
@@ -8,13 +8,13 @@
 One single
 .Xr echo 1
 is fine, and so is an
-.Xr echo 1 followed by something else.
+.Xr echo 1 followed by something "Em" else .
 .Pp
 But listen for multiple
 .Xr echo 1 Ns s .
 .Pp
 A call, an
-.Xr echo 1 , and
+.Xr "(" echo 1 ")" , and
 another
 .Xr echo 1 .
 .Pp
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-05-30 16:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-30 16:23 mdocml: Macro argument quoting does not prevent recognition of schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).