From 8a6d6ac9ce00755e9537a67b9a9dd8f4c4e76d09 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Tue, 20 Oct 2015 02:01:31 +0000 Subject: In order to become able to generate syntax tree nodes on the roff(7) level, validation must be separated from parsing and rewinding. This first big step moves calling of the mdoc(7) post_*() functions out of the parser loop into their own mdoc_validate() pass, while using a new mdoc_state() module to make syntax tree state handling available to both the parser loop and the validation pass. --- demandoc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'demandoc.c') diff --git a/demandoc.c b/demandoc.c index deaa7909..63a4ad7f 100644 --- a/demandoc.c +++ b/demandoc.c @@ -1,4 +1,4 @@ -/* $Id: demandoc.c,v 1.22 2015/10/13 22:59:54 schwarze Exp $ */ +/* $Id: demandoc.c,v 1.23 2015/10/20 02:01:31 schwarze Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons * @@ -119,9 +119,10 @@ pmandoc(struct mparse *mp, int fd, const char *fn, int list) if (man == NULL) return; - if (man->macroset == MACROSET_MDOC) + if (man->macroset == MACROSET_MDOC) { + mdoc_validate(man); pmdoc(man->first->child, &line, &col, list); - else + } else pman(man->first->child, &line, &col, list); if ( ! list) -- cgit v1.2.3