Lines Matching defs:man
50 #define ROFFDEF_STD (1 << 4) /* mdoc(7) or man(7) macro. */
103 struct roff_man *man; /* mdoc or man parser */
125 int format; /* current file in mdoc or man format */
817 roff_man_free1(struct roff_man *man)
819 if (man->meta.first != NULL)
820 roff_node_delete(man, man->meta.first);
821 free(man->meta.msec);
822 free(man->meta.vol);
823 free(man->meta.os);
824 free(man->meta.arch);
825 free(man->meta.title);
826 free(man->meta.name);
827 free(man->meta.date);
828 free(man->meta.sodest);
832 roff_state_reset(struct roff_man *man)
834 man->last = man->meta.first;
835 man->last_es = NULL;
836 man->flags = 0;
837 man->lastsec = man->lastnamed = SEC_NONE;
838 man->next = ROFF_NEXT_CHILD;
839 roff_setreg(man->roff, "nS", 0, '=');
843 roff_man_alloc1(struct roff_man *man)
845 memset(&man->meta, 0, sizeof(man->meta));
846 man->meta.first = mandoc_calloc(1, sizeof(*man->meta.first));
847 man->meta.first->type = ROFFT_ROOT;
848 man->meta.macroset = MACROSET_NONE;
849 roff_state_reset(man);
853 roff_man_reset(struct roff_man *man)
855 roff_man_free1(man);
856 roff_man_alloc1(man);
860 roff_man_free(struct roff_man *man)
862 roff_man_free1(man);
863 free(man->os_r);
864 free(man);
870 struct roff_man *man;
872 man = mandoc_calloc(1, sizeof(*man));
873 man->roff = roff;
874 man->os_s = os_s;
875 man->quick = quick;
876 roff_man_alloc1(man);
877 roff->man = man;
878 return man;
884 roff_node_alloc(struct roff_man *man, int line, int pos,
894 n->sec = man->lastsec;
896 if (man->flags & MDOC_SYNOPSIS)
900 if ((man->flags & (ROFF_NOFILL | ROFF_NONOFILL)) == ROFF_NOFILL)
904 if (man->flags & MDOC_NEWLINE)
906 man->flags &= ~MDOC_NEWLINE;
912 roff_node_append(struct roff_man *man, struct roff_node *n)
915 switch (man->next) {
917 if (man->last->next != NULL) {
918 n->next = man->last->next;
919 man->last->next->prev = n;
921 man->last->parent->last = n;
922 man->last->next = n;
923 n->prev = man->last;
924 n->parent = man->last->parent;
927 if (man->last->child != NULL) {
928 n->next = man->last->child;
929 man->last->child->prev = n;
931 man->last->last = n;
932 man->last->child = n;
933 n->parent = man->last;
938 man->last = n;
966 roff_word_alloc(struct roff_man *man, int line, int pos, const char *word)
970 n = roff_node_alloc(man, line, pos, ROFFT_TEXT, TOKEN_NONE);
971 n->string = roff_strdup(man->roff, word);
972 roff_node_append(man, n);
974 man->next = ROFF_NEXT_SIBLING;
978 roff_word_append(struct roff_man *man, const char *word)
983 n = man->last;
984 addstr = roff_strdup(man->roff, word);
989 man->next = ROFF_NEXT_SIBLING;
993 roff_elem_alloc(struct roff_man *man, int line, int pos, int tok)
997 n = roff_node_alloc(man, line, pos, ROFFT_ELEM, tok);
998 roff_node_append(man, n);
999 man->next = ROFF_NEXT_CHILD;
1003 roff_block_alloc(struct roff_man *man, int line, int pos, int tok)
1007 n = roff_node_alloc(man, line, pos, ROFFT_BLOCK, tok);
1008 roff_node_append(man, n);
1009 man->next = ROFF_NEXT_CHILD;
1014 roff_head_alloc(struct roff_man *man, int line, int pos, int tok)
1018 n = roff_node_alloc(man, line, pos, ROFFT_HEAD, tok);
1019 roff_node_append(man, n);
1020 man->next = ROFF_NEXT_CHILD;
1025 roff_body_alloc(struct roff_man *man, int line, int pos, int tok)
1029 n = roff_node_alloc(man, line, pos, ROFFT_BODY, tok);
1030 roff_node_append(man, n);
1031 man->next = ROFF_NEXT_CHILD;
1036 roff_addtbl(struct roff_man *man, int line, struct tbl_node *tbl)
1041 if (man->meta.macroset == MACROSET_MAN)
1042 man_breakscope(man, ROFF_TS);
1044 n = roff_node_alloc(man, line, 0, ROFFT_TBL, TOKEN_NONE);
1046 roff_node_append(man, n);
1048 man->next = ROFF_NEXT_SIBLING;
1053 roff_node_unlink(struct roff_man *man, struct roff_node *n)
1074 if (man == NULL)
1076 if (man->last == n) {
1078 man->last = n->parent;
1079 man->next = ROFF_NEXT_CHILD;
1081 man->last = n->prev;
1082 man->next = ROFF_NEXT_SIBLING;
1085 if (man->meta.first == n)
1086 man->meta.first = NULL;
1090 roff_node_relink(struct roff_man *man, struct roff_node *n)
1092 roff_node_unlink(man, n);
1094 roff_node_append(man, n);
1112 roff_node_delete(struct roff_man *man, struct roff_node *n)
1116 roff_node_delete(man, n->child);
1117 roff_node_unlink(man, n);
1308 if (r->man->meta.rcsids & rcsid)
1311 r->man->meta.rcsids |= rcsid;
1329 n = roff_node_alloc(r->man, ln, stesc + 1 - buf->buf,
1332 roff_node_append(r->man, n);
1334 r->man->next = ROFF_NEXT_SIBLING;
1756 r->man->last = roffce_node;
1757 r->man->next = ROFF_NEXT_SIBLING;
1810 (r->man->flags & ROFF_NOFILL) == 0 &&
1864 roff_addtbl(r->man, ln, r->tbl);
1917 roff_addtbl(r->man, ln, r->tbl);
1926 r->man->last = roffce_node;
1927 r->man->next = ROFF_NEXT_SIBLING;
1987 * For empty, undefined, mdoc(7), and man(7) macros, return TOKEN_NONE.
3248 * with DocBook stupidly fiddling with man(7) internals.
3291 r->man->flags &= ~ROFF_NONOFILL;
3391 if (r->man->meta.macroset == MACROSET_MAN)
3392 man_breakscope(r->man, ROFF_EQ);
3393 n = roff_node_alloc(r->man, ln, ppos, ROFFT_EQN, TOKEN_NONE);
3394 if (ln > r->man->last->line)
3397 roff_node_append(r->man, n);
3398 r->man->next = ROFF_NEXT_SIBLING;
3436 r->man->flags |= ROFF_NONOFILL;
3447 if (r->man->flags & (MAN_BLINE | MAN_ELINE))
3448 man_breakscope(r->man, tok);
3451 roff_elem_alloc(r->man, ln, ppos, tok);
3456 r->man->flags |= ROFF_NOFILL;
3458 r->man->flags &= ~ROFF_NOFILL;
3459 r->man->last->flags |= NODE_LINE | NODE_VALID | NODE_ENDED;
3460 r->man->next = ROFF_NEXT_SIBLING;
3471 if (r->man->flags & (MAN_BLINE | MAN_ELINE) &&
3474 man_breakscope(r->man, tok);
3477 r->man->last = roffce_node;
3478 r->man->next = ROFF_NEXT_SIBLING;
3481 roff_elem_alloc(r->man, ln, ppos, tok);
3482 n = r->man->last;
3494 roff_word_alloc(r->man, ln, pos, buf->buf + pos);
3498 if (r->man->last->type == ROFFT_ELEM) {
3499 roff_word_alloc(r->man, ln, pos, "1");
3500 r->man->last->flags |= NODE_NOSRC;
3503 if (roff_evalnum(r, ln, r->man->last->string, &npos,
3510 r->man->last = r->man->last->parent;
3514 roffce_node = r->man->last->parent;
3517 r->man->last = n;
3520 r->man->next = ROFF_NEXT_SIBLING;
3530 roff_elem_alloc(r->man, ln, ppos, tok);
3531 n = r->man->last;
3538 roff_word_alloc(r->man, ln, sp - buf->buf, sp);
3542 r->man->last = n;
3543 r->man->next = ROFF_NEXT_SIBLING;
3739 roff_elem_alloc(r->man, ln, ppos, tok);
3740 n = r->man->last;
3742 roff_word_alloc(r->man, ln, pos, buf->buf + pos);
3744 r->man->last = n;
3745 r->man->next = ROFF_NEXT_SIBLING;
4227 if (r->man->meta.macroset != MACROSET_MAN) {
4241 if (r->man->meta.macroset != MACROSET_MDOC) {