aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_macro.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2010-09-26 20:22:28 +0000
committerIngo Schwarze <schwarze@openbsd.org>2010-09-26 20:22:28 +0000
commit7dd5c61d801d065c98fea61d76ccc782ac3de66f (patch)
tree7b96fa142089f7613ac26ecc84f1f851d7ec3892 /mdoc_macro.c
parentecabba142785ad106c05e2eea8414e57ed8b0376 (diff)
downloadmandoc-7dd5c61d801d065c98fea61d76ccc782ac3de66f.tar.gz
mandoc-7dd5c61d801d065c98fea61d76ccc782ac3de66f.tar.zst
mandoc-7dd5c61d801d065c98fea61d76ccc782ac3de66f.zip
If an explicit scope is still open at the end of an input file,
report an ERROR: We can still render the page by just closing the open scope, but it is likely that information will be missing or document structure mangled. Before, man(7) only reported a WARNING (which is dangerous because we cannot be sure rendering is correct) and mdoc(7) ran into FATAL (which is too drastic, there is no reason not to show what we have). "looks good" kristaps@
Diffstat (limited to 'mdoc_macro.c')
-rw-r--r--mdoc_macro.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/mdoc_macro.c b/mdoc_macro.c
index 91972f34..cd6d23a5 100644
--- a/mdoc_macro.c
+++ b/mdoc_macro.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_macro.c,v 1.93 2010/07/18 17:00:26 schwarze Exp $ */
+/* $Id: mdoc_macro.c,v 1.94 2010/09/26 20:22:28 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
@@ -207,14 +207,10 @@ mdoc_macroend(struct mdoc *m)
n = MDOC_VALID & m->last->flags ? m->last->parent : m->last;
- for ( ; n; n = n->parent) {
- if (MDOC_BLOCK != n->type)
- continue;
- if ( ! (MDOC_EXPLICIT & mdoc_macros[n->tok].flags))
- continue;
- mdoc_nmsg(m, n, MANDOCERR_SYNTSCOPE);
- return(0);
- }
+ for ( ; n; n = n->parent)
+ if (MDOC_BLOCK == n->type &&
+ MDOC_EXPLICIT & mdoc_macros[n->tok].flags)
+ mdoc_nmsg(m, n, MANDOCERR_SCOPEEXIT);
/* Rewind to the first. */