+void
+blk_exp(MACRO_PROT_ARGS)
+{
+ struct roff_node *head;
+ char *p;
+ int la;
+
+ rew_scope(man, tok);
+ roff_block_alloc(man, line, ppos, tok);
+ head = roff_head_alloc(man, line, ppos, tok);
+
+ la = *pos;
+ if (man_args(man, line, pos, buf, &p))
+ roff_word_alloc(man, line, la, p);
+
+ if (buf[*pos] != '\0')
+ mandoc_vmsg(MANDOCERR_ARG_EXCESS,
+ man->parse, line, *pos, "%s ... %s",
+ man_macronames[tok], buf + *pos);
+
+ man_unscope(man, head);
+ roff_body_alloc(man, line, ppos, tok);
+}