aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_man.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-05-05 02:06:19 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-05-05 02:06:19 +0000
commit1481c0648531c03ad8b53843797e3c269032f43c (patch)
tree45ea03c49eb82d26f334f5a790e760417bd7b9b5 /mdoc_man.c
parentd4309408b94eb36fcea040582e8579967cb7878b (diff)
downloadmandoc-1481c0648531c03ad8b53843797e3c269032f43c.tar.gz
mandoc-1481c0648531c03ad8b53843797e3c269032f43c.tar.zst
mandoc-1481c0648531c03ad8b53843797e3c269032f43c.zip
Move handling of the roff(7) .ft request from the man(7)
modules to the new roff(7) modules. As a side effect, mdoc(7) now handles .ft, too. Of course, do not use that.
Diffstat (limited to 'mdoc_man.c')
-rw-r--r--mdoc_man.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/mdoc_man.c b/mdoc_man.c
index 38fb57e6..20796006 100644
--- a/mdoc_man.c
+++ b/mdoc_man.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_man.c,v 1.110 2017/05/04 17:48:29 schwarze Exp $ */
+/* $Id: mdoc_man.c,v 1.111 2017/05/05 02:06:19 schwarze Exp $ */
/*
* Copyright (c) 2011-2017 Ingo Schwarze <schwarze@openbsd.org>
*
@@ -94,6 +94,7 @@ static int pre_fl(DECL_ARGS);
static int pre_fn(DECL_ARGS);
static int pre_fo(DECL_ARGS);
static int pre_ft(DECL_ARGS);
+static int pre_Ft(DECL_ARGS);
static int pre_in(DECL_ARGS);
static int pre_it(DECL_ARGS);
static int pre_lk(DECL_ARGS);
@@ -148,14 +149,14 @@ static const struct manact __manacts[MDOC_MAX - MDOC_Dd] = {
{ NULL, pre_fd, post_fd, NULL, NULL }, /* Fd */
{ NULL, pre_fl, post_fl, NULL, NULL }, /* Fl */
{ NULL, pre_fn, post_fn, NULL, NULL }, /* Fn */
- { NULL, pre_ft, post_font, NULL, NULL }, /* Ft */
+ { NULL, pre_Ft, post_font, NULL, NULL }, /* Ft */
{ NULL, pre_sy, post_font, NULL, NULL }, /* Ic */
{ NULL, pre_in, post_in, NULL, NULL }, /* In */
{ NULL, pre_li, post_font, NULL, NULL }, /* Li */
{ cond_head, pre_enc, NULL, "\\- ", NULL }, /* Nd */
{ NULL, pre_nm, post_nm, NULL, NULL }, /* Nm */
{ cond_body, pre_enc, post_enc, "[", "]" }, /* Op */
- { NULL, pre_ft, post_font, NULL, NULL }, /* Ot */
+ { NULL, pre_Ft, post_font, NULL, NULL }, /* Ot */
{ NULL, pre_em, post_font, NULL, NULL }, /* Pa */
{ NULL, pre_ex, NULL, NULL, NULL }, /* Rv */
{ NULL, NULL, NULL, NULL, NULL }, /* St */
@@ -654,7 +655,10 @@ print_node(DECL_ARGS)
} else if (n->tok < ROFF_MAX) {
switch (n->tok) {
case ROFF_br:
- pre_br(meta, n);
+ do_sub = pre_br(meta, n);
+ break;
+ case ROFF_ft:
+ do_sub = pre_ft(meta, n);
break;
default:
abort();
@@ -1314,7 +1318,7 @@ post_fo(DECL_ARGS)
}
static int
-pre_ft(DECL_ARGS)
+pre_Ft(DECL_ARGS)
{
pre_syn(n);
@@ -1323,6 +1327,15 @@ pre_ft(DECL_ARGS)
}
static int
+pre_ft(DECL_ARGS)
+{
+ print_line(".ft", 0);
+ print_word(n->child->string);
+ outflags |= MMAN_nl;
+ return 0;
+}
+
+static int
pre_in(DECL_ARGS)
{