From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from scc-mailout.scc.kit.edu (scc-mailout.scc.kit.edu [129.13.185.202]) by krisdoz.my.domain (8.14.3/8.14.3) with ESMTP id p9K1FX8n023013 for ; Wed, 19 Oct 2011 21:15:34 -0400 (EDT) Received: from hekate.usta.de (asta-nat.asta.uni-karlsruhe.de [172.22.63.82]) by scc-mailout-02 with esmtp (Exim 4.72 #1) id 1RGhEK-0008SS-BD; Thu, 20 Oct 2011 03:15:32 +0200 Received: from donnerwolke.usta.de ([172.24.96.3]) by hekate.usta.de with esmtp (Exim 4.72) (envelope-from ) id 1RGhEK-0001OU-AI for tech@mdocml.bsd.lv; Thu, 20 Oct 2011 03:15:32 +0200 Received: from iris.usta.de ([172.24.96.5] helo=usta.de) by donnerwolke.usta.de with esmtp (Exim 4.72) (envelope-from ) id 1RGhEK-0000Ou-9K for tech@mdocml.bsd.lv; Thu, 20 Oct 2011 03:15:32 +0200 Received: from schwarze by usta.de with local (Exim 4.72) (envelope-from ) id 1RGhEK-0004xT-0o for tech@mdocml.bsd.lv; Thu, 20 Oct 2011 03:15:32 +0200 Date: Thu, 20 Oct 2011 03:15:31 +0200 From: Ingo Schwarze To: tech@mdocml.bsd.lv Subject: implement the missing text production macros Message-ID: <20111020011531.GA3942@iris.usta.de> X-Mailinglist: mdocml-tech Reply-To: tech@mdocml.bsd.lv MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) ----- Forwarded message from Ingo Schwarze ----- From: Ingo Schwarze Date: Wed, 19 Oct 2011 19:11:41 -0600 (MDT) To: source-changes@cvs.openbsd.org Subject: CVS: cvs.openbsd.org: src CVSROOT: /cvs Module name: src Changes by: schwarze@cvs.openbsd.org 2011/10/19 19:11:41 Modified files: usr.bin/mandoc : mdoc_man.c Log message: Implement the missing text production macros (Bsx Bx Dx Fx Nx Ox Ux Bt Ud). Some macros work without explicit implementation (At Db Os St). ----- End forwarded message ----- Some low-hanging fruit. OK to commit to bsd.lv, too? Ingo Index: mdoc_man.c =================================================================== RCS file: /cvs/src/usr.bin/mandoc/mdoc_man.c,v retrieving revision 1.4 diff -u -p -r1.4 mdoc_man.c --- mdoc_man.c 9 Oct 2011 17:59:56 -0000 1.4 +++ mdoc_man.c 20 Oct 2011 01:04:47 -0000 @@ -52,6 +52,7 @@ static void post_sp(DECL_ARGS); static int pre_ap(DECL_ARGS); static int pre_bd(DECL_ARGS); static int pre_br(DECL_ARGS); +static int pre_bx(DECL_ARGS); static int pre_dl(DECL_ARGS); static int pre_enc(DECL_ARGS); static int pre_it(DECL_ARGS); @@ -60,6 +61,7 @@ static int pre_ns(DECL_ARGS); static int pre_pp(DECL_ARGS); static int pre_sp(DECL_ARGS); static int pre_sect(DECL_ARGS); +static int pre_ux(DECL_ARGS); static int pre_xr(DECL_ARGS); static void print_word(struct mman *, const char *); static void print_node(DECL_ARGS); @@ -68,7 +70,7 @@ static const struct manact manacts[MDOC_ { NULL, pre_ap, NULL, NULL, NULL }, /* Ap */ { NULL, NULL, NULL, NULL, NULL }, /* Dd */ { NULL, NULL, NULL, NULL, NULL }, /* Dt */ - { NULL, NULL, NULL, NULL, NULL }, /* _Os */ + { NULL, NULL, NULL, NULL, NULL }, /* Os */ { NULL, pre_sect, post_sect, ".SH", NULL }, /* Sh */ { NULL, pre_sect, post_sect, ".SS", NULL }, /* Ss */ { NULL, pre_pp, NULL, NULL, NULL }, /* Pp */ @@ -101,17 +103,17 @@ static const struct manact manacts[MDOC_ { cond_head, pre_enc, NULL, "\\- ", NULL }, /* Nd */ { NULL, pre_nm, post_nm, NULL, NULL }, /* Nm */ { cond_body, pre_enc, post_enc, "[", "]" }, /* Op */ - { NULL, NULL, NULL, NULL, NULL }, /* _Ot */ - { NULL, pre_enc, post_enc, "\\fI", "\\fP" }, /* _Pa */ + { NULL, NULL, NULL, NULL, NULL }, /* Ot */ + { NULL, pre_enc, post_enc, "\\fI", "\\fP" }, /* Pa */ { NULL, pre_enc, post_enc, "The \\fB", "\\fP\nfunction returns the value 0 if successful;\n" "otherwise the value -1 is returned and the global\n" "variable \\fIerrno\\fP is set to indicate the error." }, /* Rv */ - { NULL, NULL, NULL, NULL, NULL }, /* _St */ + { NULL, NULL, NULL, NULL, NULL }, /* St */ { NULL, NULL, NULL, NULL, NULL }, /* _Va */ { NULL, NULL, NULL, NULL, NULL }, /* _Vt */ - { NULL, pre_xr, NULL, NULL, NULL }, /* _Xr */ + { NULL, pre_xr, NULL, NULL, NULL }, /* Xr */ { NULL, NULL, post_percent, NULL, NULL }, /* _%A */ { NULL, NULL, NULL, NULL, NULL }, /* _%B */ { NULL, NULL, post_percent, NULL, NULL }, /* _%D */ @@ -126,14 +128,14 @@ static const struct manact manacts[MDOC_ { NULL, NULL, NULL, NULL, NULL }, /* _Ac */ { NULL, NULL, NULL, NULL, NULL }, /* _Ao */ { cond_body, pre_enc, post_enc, "<", ">" }, /* Aq */ - { NULL, NULL, NULL, NULL, NULL }, /* _At */ + { NULL, NULL, NULL, NULL, NULL }, /* At */ { NULL, NULL, NULL, NULL, NULL }, /* Bc */ { NULL, NULL, NULL, NULL, NULL }, /* _Bf */ { cond_body, pre_enc, post_enc, "[", "]" }, /* Bo */ { cond_body, pre_enc, post_enc, "[", "]" }, /* Bq */ - { NULL, NULL, NULL, NULL, NULL }, /* _Bsx */ - { NULL, NULL, NULL, NULL, NULL }, /* _Bx */ - { NULL, NULL, NULL, NULL, NULL }, /* _Db */ + { NULL, pre_ux, NULL, "BSD/OS", NULL }, /* Bsx */ + { NULL, pre_bx, NULL, NULL, NULL }, /* Bx */ + { NULL, NULL, NULL, NULL, NULL }, /* Db */ { NULL, NULL, NULL, NULL, NULL }, /* _Dc */ { NULL, NULL, NULL, NULL, NULL }, /* _Do */ { cond_body, pre_enc, post_enc, "``", "''" }, /* Dq */ @@ -141,12 +143,12 @@ static const struct manact manacts[MDOC_ { NULL, NULL, NULL, NULL, NULL }, /* _Ef */ { NULL, pre_enc, post_enc, "\\fI", "\\fP" }, /* Em */ { NULL, NULL, NULL, NULL, NULL }, /* _Eo */ - { NULL, NULL, NULL, NULL, NULL }, /* _Fx */ + { NULL, pre_ux, NULL, "FreeBSD", NULL }, /* Fx */ { NULL, NULL, NULL, NULL, NULL }, /* _Ms */ { NULL, NULL, NULL, NULL, NULL }, /* _No */ { NULL, pre_ns, NULL, NULL, NULL }, /* Ns */ - { NULL, NULL, NULL, NULL, NULL }, /* _Nx */ - { NULL, NULL, NULL, NULL, NULL }, /* _Ox */ + { NULL, pre_ux, NULL, "NetBSD", NULL }, /* Nx */ + { NULL, pre_ux, NULL, "OpenBSD", NULL }, /* Ox */ { NULL, NULL, NULL, NULL, NULL }, /* Pc */ { NULL, NULL, post_pf, NULL, NULL }, /* Pf */ { cond_body, pre_enc, post_enc, "(", ")" }, /* Po */ @@ -164,7 +166,7 @@ static const struct manact manacts[MDOC_ { NULL, pre_enc, post_enc, "\\fI", "\\fP" }, /* Sx */ { NULL, pre_enc, post_enc, "\\fB", "\\fP" }, /* Sy */ { NULL, NULL, NULL, NULL, NULL }, /* _Tn */ - { NULL, NULL, NULL, NULL, NULL }, /* _Ux */ + { NULL, pre_ux, NULL, "UNIX", NULL }, /* Ux */ { NULL, NULL, NULL, NULL, NULL }, /* _Xc */ { NULL, NULL, NULL, NULL, NULL }, /* _Xo */ { NULL, NULL, NULL, NULL, NULL }, /* _Fo */ @@ -173,10 +175,10 @@ static const struct manact manacts[MDOC_ { NULL, NULL, NULL, NULL, NULL }, /* _Oc */ { NULL, NULL, NULL, NULL, NULL }, /* _Bk */ { NULL, NULL, NULL, NULL, NULL }, /* _Ek */ - { NULL, NULL, NULL, NULL, NULL }, /* _Bt */ - { NULL, NULL, NULL, NULL, NULL }, /* _Hf */ - { NULL, NULL, NULL, NULL, NULL }, /* _Fr */ - { NULL, NULL, NULL, NULL, NULL }, /* _Ud */ + { NULL, pre_ux, NULL, "is currently in beta test.", NULL }, /* Bt */ + { NULL, NULL, NULL, NULL, NULL }, /* Hf */ + { NULL, NULL, NULL, NULL, NULL }, /* Fr */ + { NULL, pre_ux, NULL, "currently under development.", NULL }, /* Ud */ { NULL, NULL, NULL, NULL, NULL }, /* _Lb */ { NULL, pre_pp, NULL, NULL, NULL }, /* Lp */ { NULL, NULL, NULL, NULL, NULL }, /* _Lk */ @@ -187,7 +189,7 @@ static const struct manact manacts[MDOC_ { NULL, NULL, NULL, NULL, NULL }, /* _%C */ { NULL, NULL, NULL, NULL, NULL }, /* _Es */ { NULL, NULL, NULL, NULL, NULL }, /* _En */ - { NULL, NULL, NULL, NULL, NULL }, /* _Dx */ + { NULL, pre_ux, NULL, "DragonFly", NULL }, /* Dx */ { NULL, NULL, NULL, NULL, NULL }, /* _%Q */ { NULL, pre_br, NULL, NULL, NULL }, /* br */ { NULL, pre_sp, post_sp, NULL, NULL }, /* sp */ @@ -469,6 +471,26 @@ pre_br(DECL_ARGS) } static int +pre_bx(DECL_ARGS) +{ + + n = n->child; + if (n) { + print_word(mm, n->string); + mm->need_space = 0; + n = n->next; + } + print_word(mm, "BSD"); + if (NULL == n) + return(0); + mm->need_space = 0; + print_word(mm, "-"); + mm->need_space = 0; + print_word(mm, n->string); + return(0); +} + +static int pre_dl(DECL_ARGS) { @@ -595,4 +617,17 @@ pre_xr(DECL_ARGS) print_node(m, n, mm); print_word(mm, ")"); return(0); +} + +static int +pre_ux(DECL_ARGS) +{ + + print_word(mm, manacts[n->tok].prefix); + if (NULL == n->child) + return(0); + mm->need_space = 0; + print_word(mm, "\\~"); + mm->need_space = 0; + return(1); } -- To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv