-static int lookup(struct mdoc *, int, int, int, const char *);
-static int macro_or_word(MACRO_PROT_ARGS, int);
-static int parse_rest(struct mdoc *, int, int, int *, char *);
-static int rew_alt(int);
-static void rew_elem(struct mdoc *, int);
-static void rew_last(struct mdoc *, const struct roff_node *);
-static void rew_pending(struct mdoc *, const struct roff_node *);
-
-const struct mdoc_macro __mdoc_macros[MDOC_MAX] = {
- { in_line_argn, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Ap */
+static int parse_rest(struct roff_man *, enum roff_tok,
+ int, int *, char *);
+static enum roff_tok rew_alt(enum roff_tok);
+static void rew_elem(struct roff_man *, enum roff_tok);
+static void rew_last(struct roff_man *, const struct roff_node *);
+static void rew_pending(struct roff_man *,
+ const struct roff_node *);
+
+static const struct mdoc_macro mdoc_macros[MDOC_MAX - MDOC_Dd] = {