summaryrefslogtreecommitdiffstats
path: root/roff.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-01-10 21:59:47 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-01-10 21:59:47 +0000
commit88adc8bfc4d6844007b7f059956fa0ce17eeee04 (patch)
tree32d857ff2af5c7ae9fe4ecd04d18ff8df147e3cb /roff.c
parent3482d390049361a46fc425fe5791c97b2967bbdf (diff)
downloadmandoc-88adc8bfc4d6844007b7f059956fa0ce17eeee04.tar.gz
For the .Ux/.Ox family of macros, do text production at the validation
stage rather than in each and every individual formatter, using the new NODE_NOSRC flag. More rigorous and also ten lines less code.
Diffstat (limited to 'roff.c')
-rw-r--r--roff.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/roff.c b/roff.c
index 5ad37793..8a9e49e9 100644
--- a/roff.c
+++ b/roff.c
@@ -1,7 +1,7 @@
/* $Id$ */
/*
* Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010-2015, 2017 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
@@ -1017,9 +1017,13 @@ roff_node_append(struct roff_man *man, struct roff_node *n)
n->parent = man->last->parent;
break;
case ROFF_NEXT_CHILD:
+ if (man->last->child != NULL) {
+ n->next = man->last->child;
+ man->last->child->prev = n;
+ } else
+ man->last->last = n;
man->last->child = n;
n->parent = man->last;
- n->parent->last = n;
break;
default:
abort();