=================================================================== RCS file: /cvs/mandoc/man_term.c,v retrieving revision 1.191 retrieving revision 1.193 diff -u -p -r1.191 -r1.193 --- mandoc/man_term.c 2017/02/15 14:10:08 1.191 +++ mandoc/man_term.c 2017/05/04 17:48:28 1.193 @@ -1,4 +1,4 @@ -/* $Id: man_term.c,v 1.191 2017/02/15 14:10:08 schwarze Exp $ */ +/* $Id: man_term.c,v 1.193 2017/05/04 17:48:28 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2015, 2017 Ingo Schwarze @@ -95,8 +95,7 @@ static void post_SS(DECL_ARGS); static void post_TP(DECL_ARGS); static void post_UR(DECL_ARGS); -static const struct termact termacts[MAN_MAX] = { - { pre_sp, NULL, MAN_NOTEXT }, /* br */ +static const struct termact __termacts[MAN_MAX - MAN_TH] = { { NULL, NULL, 0 }, /* TH */ { pre_SH, post_SH, 0 }, /* SH */ { pre_SS, post_SS, 0 }, /* SS */ @@ -135,6 +134,7 @@ static const struct termact termacts[MAN_MAX] = { { NULL, NULL, 0 }, /* UE */ { pre_ll, NULL, MAN_NOTEXT }, /* ll */ }; +static const struct termact *termacts = __termacts - MAN_TH; void @@ -457,7 +457,7 @@ pre_sp(DECL_ARGS) } } - if (n->tok == MAN_br) + if (n->tok == ROFF_br) len = 0; else if (n->child == NULL) len = 1; @@ -986,6 +986,18 @@ print_man_node(DECL_ARGS) break; } + if (n->tok < ROFF_MAX) { + switch (n->tok) { + case ROFF_br: + pre_sp(p, mt, n, meta); + break; + default: + abort(); + } + return; + } + + assert(n->tok >= MAN_TH && n->tok <= MAN_MAX); if ( ! (MAN_NOTEXT & termacts[n->tok].flags)) term_fontrepl(p, TERMFONT_NONE);