-/*
- * When GCC2 is deprecated, most of these can be reverted to #define
- * as mdoc_vmsg using __VA_ARGS__. Until then, use real functions.
- */
-int mdoc_vwarn(struct mdoc *, int, int,
- enum mdoc_warn, const char *, ...);
-void mdoc_vmsg(struct mdoc *, int, int,
- const char *, ...);
-int mdoc_verr(struct mdoc *, int, int,
- const char *, ...);
-int mdoc_nerr(struct mdoc *, const struct mdoc_node *,
- const char *, ...);
-int mdoc_warn(struct mdoc *, enum mdoc_warn, const char *, ...);
-int mdoc_err(struct mdoc *, const char *, ...);
-void mdoc_msg(struct mdoc *, const char *, ...);
-void mdoc_pmsg(struct mdoc *, int, int, const char *, ...);
-int mdoc_pwarn(struct mdoc *, int, int,
- enum mdoc_warn,const char *, ...);
-int mdoc_perr(struct mdoc *, int, int, const char *, ...);
+#define mdoc_pmsg(m, l, p, t) \
+ (*(m)->msg)((t), (m)->data, (l), (p), NULL)
+#define mdoc_nmsg(m, n, t) \
+ (*(m)->msg)((t), (m)->data, (n)->line, (n)->pos, NULL)
+int mdoc_vmsg(struct mdoc *, enum mandocerr,
+ int, int, const char *, ...);