]> git.cameronkatri.com Git - mandoc.git/commitdiff
Added `%U' to -mdoc (doesn't render in a nice way yet).
authorKristaps Dzonsons <kristaps@bsd.lv>
Sat, 24 Oct 2009 05:52:13 +0000 (05:52 +0000)
committerKristaps Dzonsons <kristaps@bsd.lv>
Sat, 24 Oct 2009 05:52:13 +0000 (05:52 +0000)
mdoc.7
mdoc.c
mdoc.h
mdoc_action.c
mdoc_argv.c
mdoc_html.c
mdoc_macro.c
mdoc_term.c
mdoc_validate.c

diff --git a/mdoc.7 b/mdoc.7
index 091e8b99952e5331228faef50e80b39c9251255b..47410dc53bad1b988c87176c44556b1d3d798f20 100644 (file)
--- a/mdoc.7
+++ b/mdoc.7
@@ -1,4 +1,4 @@
-.\"    $Id: mdoc.7,v 1.68 2009/10/22 10:36:20 kristaps Exp $
+.\"    $Id: mdoc.7,v 1.69 2009/10/24 05:52:13 kristaps Exp $
 .\"
 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
 .\"
@@ -14,7 +14,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: October 22 2009 $
+.Dd $Mdocdate: October 24 2009 $
 .Dt MDOC 7
 .Os
 .
@@ -611,8 +611,10 @@ then the macro accepts an arbitrary number of arguments.
 .It Sx \&%N  Ta    \&No     Ta    \&No     Ta    >0
 .It Sx \&%O  Ta    \&No     Ta    \&No     Ta    >0
 .It Sx \&%P  Ta    \&No     Ta    \&No     Ta    >0
+.It Sx \&%Q  Ta    \&No     Ta    \&No     Ta    >0
 .It Sx \&%R  Ta    \&No     Ta    \&No     Ta    >0
 .It Sx \&%T  Ta    \&No     Ta    \&No     Ta    >0
+.It Sx \&%U  Ta    \&No     Ta    \&No     Ta    >0
 .It Sx \&%V  Ta    \&No     Ta    \&No     Ta    >0
 .It Sx \&Ad  Ta    Yes      Ta    Yes      Ta    n
 .It Sx \&An  Ta    Yes      Ta    Yes      Ta    n
@@ -756,6 +758,9 @@ Article title of an
 block.  This macro may also be used in a non-bibliographical context
 when referring to article titles.
 .
+.Ss \&%U
+URI of current document.
+.
 .Ss \&%V
 Volume number of an
 .Sx \&Rs
diff --git a/mdoc.c b/mdoc.c
index 9db754ee3bec71c896852ea1aa4cc88c4b9c705d..e4f76c0334658a284cc0362fbf93d8dc98fb3439 100644 (file)
--- a/mdoc.c
+++ b/mdoc.c
@@ -1,4 +1,4 @@
-/*     $Id: mdoc.c,v 1.109 2009/10/15 02:56:51 kristaps Exp $ */
+/*     $Id: mdoc.c,v 1.110 2009/10/24 05:52:13 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -116,7 +116,9 @@ const       char *const __mdoc_macronames[MDOC_MAX] = {
        /* LINTED */
        "Brc",          "\%C",          "Es",           "En",
        /* LINTED */
-       "Dx",           "\%Q",          "br",           "sp"
+       "Dx",           "\%Q",          "br",           "sp",
+       /* LINTED */
+       "\%U"
        };
 
 const  char *const __mdoc_argnames[MDOC_ARG_MAX] = {            
diff --git a/mdoc.h b/mdoc.h
index eabffcbc024b1d7a03ba6636dd9b11f789cad62b..8691db80863d54a250ab97957055e7932a5cd4f4 100644 (file)
--- a/mdoc.h
+++ b/mdoc.h
@@ -1,4 +1,4 @@
-/*     $Id: mdoc.h,v 1.70 2009/10/15 01:33:12 kristaps Exp $ */
+/*     $Id: mdoc.h,v 1.71 2009/10/24 05:52:13 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
 #define        MDOC__Q          117
 #define MDOC_br                 118
 #define MDOC_sp                 119
-#define        MDOC_MAX         120
+#define MDOC__U                 120
+#define        MDOC_MAX         121
 
 /* What follows is a list of ALL possible macro arguments. */
 
index da44e937080b77b2e13dc365bbead9fbe8c9b080..52533b23817385a2311a43638d1b278a0aa33103 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_action.c,v 1.42 2009/10/22 17:54:24 kristaps Exp $ */
+/*     $Id: mdoc_action.c,v 1.43 2009/10/24 05:52:13 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -186,6 +186,7 @@ static      const struct actions mdoc_actions[MDOC_MAX] = {
        { NULL, NULL }, /* %Q */
        { NULL, NULL }, /* br */
        { NULL, NULL }, /* sp */
+       { NULL, NULL }, /* %U */
 };
 
 #define        RSORD_MAX 13
index a8119c1ee1b4ac134ec6a6438daf99bf8b435f5f..9ed4d68a78b0eae27e3023370964b5fe114e3ac2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_argv.c,v 1.29 2009/10/19 09:40:23 kristaps Exp $ */
+/*     $Id: mdoc_argv.c,v 1.30 2009/10/24 05:52:13 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -203,6 +203,7 @@ static      int mdoc_argflags[MDOC_MAX] = {
        0, /* %Q */
        0, /* br */
        0, /* sp */
+       0, /* %U */
 };
 
 
index 74d06cffb59202b4e0ce2b9ce160996726d164f8..5dbad7c2ee97805c42522b6f93209fe3b312b777 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_html.c,v 1.36 2009/10/22 18:55:32 kristaps Exp $ */
+/*     $Id: mdoc_html.c,v 1.37 2009/10/24 05:52:13 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -254,6 +254,7 @@ static      const struct htmlmdoc mdocs[MDOC_MAX] = {
        {mdoc__x_pre, mdoc__x_post}, /* %Q */ 
        {mdoc_sp_pre, NULL}, /* br */
        {mdoc_sp_pre, NULL}, /* sp */ 
+       {mdoc__x_pre, mdoc__x_post}, /* %U */ 
 };
 
 
@@ -2148,6 +2149,8 @@ mdoc__x_pre(MDOC_ARGS)
 {
        struct htmlpair tag;
 
+       /* TODO: %U. */
+
        switch (n->tok) {
        case(MDOC__A):
                PAIR_CLASS_INIT(&tag, "ref-auth");
index 66e5faf0728275ee199bbcb5ba1f218849db6904..c9e69fbd60d92f6165dc64c2baa3d1a8d1b98888 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_macro.c,v 1.36 2009/09/20 17:24:57 kristaps Exp $ */
+/*     $Id: mdoc_macro.c,v 1.37 2009/10/24 05:52:13 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -174,6 +174,7 @@ const       struct mdoc_macro __mdoc_macros[MDOC_MAX] = {
        { in_line_eoln, 0 }, /* %Q */
        { in_line_eoln, 0 }, /* br */
        { in_line_eoln, 0 }, /* sp */
+       { in_line_eoln, 0 }, /* %U */
 };
 
 const  struct mdoc_macro * const mdoc_macros = __mdoc_macros;
index d427c1d0200f8d5e0d81fe33ab8da8a189baa00b..bda0a669c1edcc4652bd8f8fa365208d3ecb1dc5 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_term.c,v 1.94 2009/10/22 18:55:32 kristaps Exp $ */
+/*     $Id: mdoc_term.c,v 1.95 2009/10/24 05:52:14 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -236,6 +236,7 @@ static      const struct termact termacts[MDOC_MAX] = {
        { NULL, termp____post }, /* %Q */ 
        { termp_sp_pre, NULL }, /* br */
        { termp_sp_pre, NULL }, /* sp */ 
+       { NULL, termp____post }, /* %U */ 
 };
 
 #ifdef __linux__
@@ -2006,6 +2007,8 @@ static void
 termp____post(DECL_ARGS)
 {
 
+       /* TODO: %U. */
+
        p->flags |= TERMP_NOSPACE;
        switch (n->tok) {
        case (MDOC__T):
index 77cdd39610c9bc6adb1d12e19e5c23cf13e30d1e..f8e58afca9182610af9cd275c897c51b2faa33af 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_validate.c,v 1.49 2009/10/22 10:35:33 kristaps Exp $ */
+/*     $Id: mdoc_validate.c,v 1.50 2009/10/24 05:52:14 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -273,6 +273,7 @@ const       struct valids mdoc_valids[MDOC_MAX] = {
        { NULL, posts_text },                   /* %Q */
        { NULL, posts_notext },                 /* br */
        { NULL, posts_sp },                     /* sp */
+       { NULL, posts_text },                   /* %U */
 };
 
 
@@ -1155,6 +1156,8 @@ post_rs(POST_ARGS)
 
        for (nn = mdoc->last->child; nn; nn = nn->next)
                switch (nn->tok) {
+               case(MDOC__U):
+                       /* FALLTHROUGH */
                case(MDOC__Q):
                        /* FALLTHROUGH */
                case(MDOC__C):