]> git.cameronkatri.com Git - mandoc.git/commitdiff
Note that `Dd' can be empty. This found following a thread on discuss@
authorKristaps Dzonsons <kristaps@bsd.lv>
Mon, 26 Jul 2010 13:45:49 +0000 (13:45 +0000)
committerKristaps Dzonsons <kristaps@bsd.lv>
Mon, 26 Jul 2010 13:45:49 +0000 (13:45 +0000)
started by Sascha Wildner, 07/25/2010 06:30 AM.

mdoc.7
mdoc_action.c
mdoc_validate.c

diff --git a/mdoc.7 b/mdoc.7
index 8ed3adfec69b82833b9c1fda9cdcb0bf1ae41b6f..549a30e2a74d6790dc3b218e6a4cb1f04e677c3d 100644 (file)
--- a/mdoc.7
+++ b/mdoc.7
@@ -1,4 +1,4 @@
-.\"    $Id: mdoc.7,v 1.141 2010/07/26 12:51:56 kristaps Exp $
+.\"    $Id: mdoc.7,v 1.142 2010/07/26 13:45:49 kristaps Exp $
 .\"
 .\" Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
 .\" Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
@@ -805,7 +805,7 @@ then the macro accepts an arbitrary number of arguments.
 .It Sx \&Cd  Ta    Yes      Ta    Yes      Ta    >0
 .It Sx \&Cm  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&Db  Ta    \&No     Ta    \&No     Ta    1
-.It Sx \&Dd  Ta    \&No     Ta    \&No     Ta    >0
+.It Sx \&Dd  Ta    \&No     Ta    \&No     Ta    n
 .It Sx \&Dt  Ta    \&No     Ta    \&No     Ta    n
 .It Sx \&Dv  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&Dx  Ta    Yes      Ta    Yes      Ta    n
@@ -1470,7 +1470,7 @@ This is the mandatory first macro of any
 manual.
 Its syntax is as follows:
 .Pp
-.D1 Pf \. Sx \&Dd Ar date
+.D1 Pf \. Sx \&Dd Op Ar date
 .Pp
 The
 .Ar date
@@ -1480,7 +1480,7 @@ which signifies the current manual revision date dictated by
 .Xr cvs 1 ,
 or instead a valid canonical date as specified by
 .Sx Dates .
-If a date does not conform, the current date is used instead.
+If a date does not conform or is empty, the current date is used.
 .Pp
 Examples:
 .D1 \&.Dd $\&Mdocdate$
@@ -2718,6 +2718,12 @@ Heirloom troff, the other significant troff implementation accepting
 .Pp
 .Bl -dash -compact
 .It
+An empty
+.Sq \&Dd
+macro in groff prints
+.Dq Epoch .
+In mandoc, it resolves to the current date.
+.It
 The \es (font size), \em (font colour), and \eM (font filling colour)
 font decoration escapes are all discarded in mandoc.
 .It
index a4eb532c9bc45f2490946bafbf64fc5d363ab6f8..928615aba89abc429c31773998b8858476f43427 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_action.c,v 1.76 2010/07/13 23:53:20 schwarze Exp $ */
+/*     $Id: mdoc_action.c,v 1.77 2010/07/26 13:45:49 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -904,6 +904,11 @@ post_dd(POST_ARGS)
 {
        char            buf[DATESIZ];
 
+       if (NULL == n->child) {
+               m->meta.date = time(NULL);
+               return(post_prol(m, n));
+       }
+
        if ( ! concat(m, buf, n->child, DATESIZ))
                return(0);
 
index 822c3b5c52da6c82dfc161358afaedc68dd6e602..d90107dbbcb18e69c6026d51749e68dc75cebadf 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_validate.c,v 1.113 2010/07/21 09:08:26 kristaps Exp $ */
+/*     $Id: mdoc_validate.c,v 1.114 2010/07/26 13:45:49 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -145,7 +145,7 @@ static      v_pre    pres_ss[] = { pre_ss, NULL };
 
 const  struct valids mdoc_valids[MDOC_MAX] = {
        { NULL, NULL },                         /* Ap */
-       { pres_dd, posts_text },                /* Dd */
+       { pres_dd, posts_wtext },               /* Dd */
        { pres_dt, posts_dt },                  /* Dt */
        { pres_os, NULL },                      /* Os */
        { pres_sh, posts_sh },                  /* Sh */