=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/tree.c,v retrieving revision 1.23 retrieving revision 1.24 diff -c -r1.23 -r1.24 *** src/usr.bin/mandoc/tree.c 2014/10/09 15:32:22 1.23 --- src/usr.bin/mandoc/tree.c 2014/10/10 15:25:06 1.24 *************** *** 1,6 **** ! /* $Id: tree.c,v 1.23 2014/10/09 15:32:22 schwarze Exp $ */ /* ! * Copyright (c) 2008, 2009, 2011 Kristaps Dzonsons * Copyright (c) 2013, 2014 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any --- 1,6 ---- ! /* $OpenBSD: tree.c,v 1.24 2014/10/10 15:25:06 schwarze Exp $ /* ! * Copyright (c) 2008, 2009, 2011, 2014 Kristaps Dzonsons * Copyright (c) 2013, 2014 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any *************** *** 15,20 **** --- 15,22 ---- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ + #include + #include #include #include *************** *** 261,266 **** --- 263,273 ---- int i; const char *t; + static const char *posnames[] = { + NULL, "sup", "subsup", "sub", + "to", "from", "fromto", + "over", "sqrt", NULL }; + if (NULL == ep) return; for (i = 0; i < indent; i++) *************** *** 271,276 **** --- 278,284 ---- case EQN_ROOT: t = "eqn-root"; break; + case EQN_LISTONE: case EQN_LIST: t = "eqn-list"; break; *************** *** 280,297 **** case EQN_TEXT: t = "eqn-text"; break; case EQN_MATRIX: t = "eqn-matrix"; break; } ! assert(t); ! printf("%s(size=%d, pos=%d, font=%d, mark=%d, pile=%d, l=\"%s\", r=\"%s\") %s\n", ! t, EQN_DEFSIZE == ep->size ? 0 : ep->size, ! ep->pos, ep->font, ep->mark, ep->pile, ! ep->left ? ep->left : "", ! ep->right ? ep->right : "", ! ep->text ? ep->text : ""); print_box(ep->first, indent + 1); print_box(ep->next, indent); --- 288,323 ---- case EQN_TEXT: t = "eqn-text"; break; + case EQN_PILE: + t = "eqn-pile"; + break; case EQN_MATRIX: t = "eqn-matrix"; break; } ! fputs(t, stdout); ! if (ep->pos) ! printf(" pos=%s", posnames[ep->pos]); ! if (ep->left) ! printf(" left=\"%s\"", ep->left); ! if (ep->right) ! printf(" right=\"%s\"", ep->right); ! if (ep->top) ! printf(" top=\"%s\"", ep->top); ! if (ep->bottom) ! printf(" bottom=\"%s\"", ep->bottom); ! if (ep->text) ! printf(" text=\"%s\"", ep->text); ! if (ep->font) ! printf(" font=%d", ep->font); ! if (ep->size != EQN_DEFSIZE) ! printf(" size=%d", ep->size); ! if (ep->expectargs != UINT_MAX && ep->expectargs != ep->args) ! printf(" badargs=%zu(%zu)", ep->args, ep->expectargs); ! else if (ep->args) ! printf(" args=%zu", ep->args); ! putchar('\n'); print_box(ep->first, indent + 1); print_box(ep->next, indent);