diff options
author | 2018-12-04 02:53:51 +0000 | |
---|---|---|
committer | 2018-12-04 02:53:51 +0000 | |
commit | b8c7224b007d9673c637669ba26ff55f38effe12 (patch) | |
tree | 27d1ed6e0ae499cceea05feaef09d6f683d86fdd /roff_int.h | |
parent | 820b4d56427ff6a0f1e3399ac7e4aea447dd5c20 (diff) | |
download | mandoc-b8c7224b007d9673c637669ba26ff55f38effe12.tar.gz mandoc-b8c7224b007d9673c637669ba26ff55f38effe12.tar.zst mandoc-b8c7224b007d9673c637669ba26ff55f38effe12.zip |
Clean up the validation of .Pp, .PP, .sp, and .br. Make sure all
combinations are handled, and are handled in a systematic manner.
This resolves some erratic duplicate handling, handles a number of
missing cases, and improves diagnostics in various respects.
Move validation of .br and .sp to the roff validation module
rather than doing that twice in the mdoc and man validation modules.
Move the node relinking function to the roff library where it belongs.
In validation functions, only look at the node itself, at previous
nodes, and at descendants, not at following nodes or ancestors,
such that only nodes are inspected which are already validated.
Diffstat (limited to 'roff_int.h')
-rw-r--r-- | roff_int.h | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1,7 +1,7 @@ -/* $Id: roff_int.h,v 1.9 2017/07/08 17:52:50 schwarze Exp $ */ +/* $Id: roff_int.h,v 1.10 2018/12/04 02:53:51 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> - * Copyright (c) 2013, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org> + * Copyright (c) 2013, 2014, 2015, 2018 Ingo Schwarze <schwarze@openbsd.org> * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,6 +26,7 @@ struct roff_node *roff_block_alloc(struct roff_man *, int, int, int); struct roff_node *roff_head_alloc(struct roff_man *, int, int, int); struct roff_node *roff_body_alloc(struct roff_man *, int, int, int); void roff_node_unlink(struct roff_man *, struct roff_node *); +void roff_node_relink(struct roff_man *, struct roff_node *); void roff_node_free(struct roff_node *); void roff_node_delete(struct roff_man *, struct roff_node *); |