=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/man_term.c,v retrieving revision 1.195 retrieving revision 1.196 diff -u -r1.195 -r1.196 --- src/usr.bin/mandoc/man_term.c 2023/04/28 20:14:19 1.195 +++ src/usr.bin/mandoc/man_term.c 2023/10/24 20:30:49 1.196 @@ -1,6 +1,6 @@ -/* $OpenBSD: man_term.c,v 1.195 2023/04/28 20:14:19 schwarze Exp $ */ +/* $OpenBSD: man_term.c,v 1.196 2023/10/24 20:30:49 schwarze Exp $ */ /* - * Copyright (c) 2010-2015,2017-2020,2022 Ingo Schwarze + * Copyright (c) 2010-15,2017-20,2022-23 Ingo Schwarze * Copyright (c) 2008-2012 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any @@ -72,6 +72,7 @@ static int pre_HP(DECL_ARGS); static int pre_I(DECL_ARGS); static int pre_IP(DECL_ARGS); +static int pre_MR(DECL_ARGS); static int pre_OP(DECL_ARGS); static int pre_PD(DECL_ARGS); static int pre_PP(DECL_ARGS); @@ -132,6 +133,7 @@ { NULL, NULL, 0 }, /* UE */ { pre_UR, post_UR, 0 }, /* MT */ { NULL, NULL, 0 }, /* ME */ + { pre_MR, NULL, 0 }, /* MR */ }; static const struct man_term_act *man_term_act(enum roff_tok); @@ -323,6 +325,29 @@ { term_fontrepl(p, TERMFONT_BOLD); return 1; +} + +static int +pre_MR(DECL_ARGS) +{ + term_fontrepl(p, TERMFONT_NONE); + n = n->child; + if (n != NULL) { + term_word(p, n->string); /* name */ + p->flags |= TERMP_NOSPACE; + } + term_word(p, "("); + p->flags |= TERMP_NOSPACE; + if (n != NULL && (n = n->next) != NULL) { + term_word(p, n->string); /* section */ + p->flags |= TERMP_NOSPACE; + } + term_word(p, ")"); + if (n != NULL && (n = n->next) != NULL) { + p->flags |= TERMP_NOSPACE; + term_word(p, n->string); /* suffix */ + } + return 0; } static int