source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Documented `Ud'.
@ 2010-05-26 10:39 kristaps
  0 siblings, 0 replies; only message in thread
From: kristaps @ 2010-05-26 10:39 UTC (permalink / raw)
  To: source

Log Message:
-----------
Documented `Ud'.

Proper EOS handling for `Rv', `Ex', `Ud', and `Bt'.

Both `Bt' and `Ud' now warn about and discard line arguments (reported
by Ulrich Spoerlein).

Collapsed posts_xr into posts_wtext (harmless: they're the same thing).

Added regressions for `Ud' and `Bt'.

Modified Files:
--------------
    mdocml:
        mdoc.7
        mdoc_term.c
        mdoc_validate.c

Added Files:
-----------
    mdocml/regress/mdoc/Bt:
        bt.in
    mdocml/regress/mdoc/Ud:
        ud.in

Revision Data
-------------
Index: mdoc_validate.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_validate.c,v
retrieving revision 1.83
retrieving revision 1.84
diff -Lmdoc_validate.c -Lmdoc_validate.c -u -p -r1.83 -r1.84
--- mdoc_validate.c
+++ mdoc_validate.c
@@ -92,6 +92,7 @@ static	int	 post_sh(POST_ARGS);
 static	int	 post_sh_body(POST_ARGS);
 static	int	 post_sh_head(POST_ARGS);
 static	int	 post_st(POST_ARGS);
+static	int	 post_eoln(POST_ARGS);
 static	int	 post_vt(POST_ARGS);
 static	int	 pre_an(PRE_ARGS);
 static	int	 pre_bd(PRE_ARGS);
@@ -111,6 +112,7 @@ static	v_post	 posts_bd[] = { hwarn_eq0,
 static	v_post	 posts_bf[] = { hwarn_le1, post_bf, NULL };
 static	v_post	 posts_bl[] = { bwarn_ge1, post_bl, NULL };
 static	v_post	 posts_bool[] = { eerr_eq1, ebool, NULL };
+static	v_post	 posts_eoln[] = { post_eoln, NULL };
 static	v_post	 posts_fo[] = { hwarn_eq1, bwarn_ge1, NULL };
 static	v_post	 posts_it[] = { post_it, NULL };
 static	v_post	 posts_lb[] = { eerr_eq1, post_lb, NULL };
@@ -127,7 +129,6 @@ static	v_post	 posts_text1[] = { eerr_eq
 static	v_post	 posts_vt[] = { post_vt, NULL };
 static	v_post	 posts_wline[] = { bwarn_ge1, herr_eq0, NULL };
 static	v_post	 posts_wtext[] = { ewarn_ge1, NULL };
-static	v_post	 posts_xr[] = { ewarn_ge1, NULL };
 static	v_pre	 pres_an[] = { pre_an, NULL };
 static	v_pre	 pres_bd[] = { pre_display, pre_bd, NULL };
 static	v_pre	 pres_bl[] = { pre_bl, NULL };
@@ -184,7 +185,7 @@ const	struct valids mdoc_valids[MDOC_MAX
 	{ NULL, posts_st },			/* St */ 
 	{ NULL, NULL },				/* Va */
 	{ NULL, posts_vt },			/* Vt */ 
-	{ NULL, posts_xr },			/* Xr */ 
+	{ NULL, posts_wtext },			/* Xr */ 
 	{ NULL, posts_text },			/* %A */
 	{ NULL, posts_text },			/* %B */ /* FIXME: can be used outside Rs/Re. */
 	{ NULL, posts_text },			/* %D */ /* FIXME: check date with mandoc_a2time(). */
@@ -246,10 +247,10 @@ const	struct valids mdoc_valids[MDOC_MAX
 	{ NULL, NULL },				/* Oc */
 	{ NULL, posts_wline },			/* Bk */
 	{ NULL, NULL },				/* Ek */
-	{ NULL, posts_notext },			/* Bt */
+	{ NULL, posts_eoln },			/* Bt */
 	{ NULL, NULL },				/* Hf */
 	{ NULL, NULL },				/* Fr */
-	{ NULL, posts_notext },			/* Ud */
+	{ NULL, posts_eoln },			/* Ud */
 	{ NULL, posts_lb },			/* Lb */
 	{ NULL, posts_notext },			/* Lp */ 
 	{ NULL, posts_text },			/* Lk */ 
@@ -391,7 +392,7 @@ CHECK_CHILD_DEFN(err, lt, <)			/* err_ch
 CHECK_CHILD_DEFN(warn, lt, <)			/* warn_child_lt() */
 CHECK_BODY_DEFN(ge1, warn, warn_child_gt, 0)	/* bwarn_ge1() */
 CHECK_BODY_DEFN(ge1, err, err_child_gt, 0)	/* berr_ge1() */
-CHECK_ELEM_DEFN(ge1, warn, warn_child_gt, 0)	/* ewarn_gt1() */
+CHECK_ELEM_DEFN(ge1, warn, warn_child_gt, 0)	/* ewarn_ge1() */
 CHECK_ELEM_DEFN(eq1, err, err_child_eq, 1)	/* eerr_eq1() */
 CHECK_ELEM_DEFN(le1, err, err_child_lt, 2)	/* eerr_le1() */
 CHECK_ELEM_DEFN(eq0, err, err_child_eq, 0)	/* eerr_eq0() */
@@ -825,6 +826,16 @@ post_lb(POST_ARGS)
 	if (mdoc_a2lib(mdoc->last->child->string))
 		return(1);
 	return(mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_BADLIB));
+}
+
+
+static int
+post_eoln(POST_ARGS)
+{
+
+	if (NULL == mdoc->last->child)
+		return(1);
+	return(mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_ARGSLOST));
 }
 
 
Index: mdoc_term.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc_term.c,v
retrieving revision 1.130
retrieving revision 1.131
diff -Lmdoc_term.c -Lmdoc_term.c -u -p -r1.130 -r1.131
--- mdoc_term.c
+++ mdoc_term.c
@@ -1192,6 +1192,7 @@ termp_rv_pre(DECL_ARGS)
 	term_fontpop(p);
 
        	term_word(p, "is set to indicate the error.");
+	p->flags |= TERMP_SENTENCE;
 
 	return(0);
 }
@@ -1224,6 +1225,7 @@ termp_ex_pre(DECL_ARGS)
 		term_word(p, "utility exits");
 
        	term_word(p, "0 on success, and >0 if an error occurs.");
+	p->flags |= TERMP_SENTENCE;
 
 	return(0);
 }
@@ -1425,6 +1427,7 @@ termp_bt_pre(DECL_ARGS)
 {
 
 	term_word(p, "is currently in beta test.");
+	p->flags |= TERMP_SENTENCE;
 	return(0);
 }
 
@@ -1445,6 +1448,7 @@ termp_ud_pre(DECL_ARGS)
 {
 
 	term_word(p, "currently under development.");
+	p->flags |= TERMP_SENTENCE;
 	return(0);
 }
 
Index: mdoc.7
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mdoc.7,v
retrieving revision 1.109
retrieving revision 1.110
diff -Lmdoc.7 -Lmdoc.7 -u -p -r1.109 -r1.110
--- mdoc.7
+++ mdoc.7
@@ -1820,6 +1820,8 @@ line.
 .Ss \&Sy
 .Ss \&Tn
 .Ss \&Ud
+Prints out
+.Dq currently under development.
 .Ss \&Ux
 Format the UNIX name.
 Accepts no argument.
--- /dev/null
+++ regress/mdoc/Bt/bt.in
@@ -0,0 +1,11 @@
+.Dd $Mdocdate: May 26 2010 $
+.Dt FOO 1
+.Os
+.Sh NAME
+.Nm foo
+.Nd bar
+.Sh DESCRIPTION
+blah blah blah
+.Bt asdf
+blah blah blah
+.Bt ) ;
--- /dev/null
+++ regress/mdoc/Ud/ud.in
@@ -0,0 +1,11 @@
+.Dd $Mdocdate: May 26 2010 $
+.Dt FOO 1
+.Os
+.Sh NAME
+.Nm foo
+.Nd bar
+.Sh DESCRIPTION
+blah blah blah
+.Ud asdf
+blah blah blah
+.Ud ) ;
--
 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:[~2010-05-26 10:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-26 10:39 mdocml: Documented `Ud' kristaps

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).