summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man.77
-rw-r--r--man_html.c3
-rw-r--r--man_term.c6
3 files changed, 15 insertions, 1 deletions
diff --git a/man.7 b/man.7
index eed6e2e6..1d9fc3c9 100644
--- a/man.7
+++ b/man.7
@@ -137,6 +137,13 @@ for arbitrary-digit numerals:
.D1 \es[+10]much bigger\es[-10]
.D1 \es+(10much bigger\es-(10
.D1 \es+'100'much much bigger\es-'100'
+.Pp
+Both
+.Sq \es
+and
+.Sq \ef
+attributes are forgotten when exiting a subsequent (or current) macro
+invocation.
.
.
.Ss Whitespace
diff --git a/man_html.c b/man_html.c
index b9a3166e..3864aa91 100644
--- a/man_html.c
+++ b/man_html.c
@@ -211,6 +211,9 @@ print_man_node(MAN_ARGS)
default:
if (mans[n->tok].post)
(*mans[n->tok].post)(m, n, h);
+
+ /* Reset metafont upon exit from macro. */
+ h->metafont = 0;
break;
}
}
diff --git a/man_term.c b/man_term.c
index ed252ba9..f1d39f24 100644
--- a/man_term.c
+++ b/man_term.c
@@ -876,9 +876,13 @@ print_man_node(DECL_ARGS)
if (c && n->child)
print_man_body(p, mt, n->child, m);
- if (MAN_TEXT != n->type)
+ if (MAN_TEXT != n->type) {
if (termacts[n->tok].post)
(*termacts[n->tok].post)(p, mt, n, m);
+
+ /* Reset metafont upon exit from macro. */
+ p->metafont = 0;
+ }
}