Lines Matching defs:man

48 #define	ROFFDEF_STD	(1 << 4)  /* mdoc(7) or man(7) macro. */
101 struct roff_man *man; /* mdoc or man parser */
123 int format; /* current file in mdoc or man format */
810 roff_man_free1(struct roff_man *man)
812 if (man->meta.first != NULL)
813 roff_node_delete(man, man->meta.first);
814 free(man->meta.msec);
815 free(man->meta.vol);
816 free(man->meta.os);
817 free(man->meta.arch);
818 free(man->meta.title);
819 free(man->meta.name);
820 free(man->meta.date);
821 free(man->meta.sodest);
825 roff_state_reset(struct roff_man *man)
827 man->last = man->meta.first;
828 man->last_es = NULL;
829 man->flags = 0;
830 man->lastsec = man->lastnamed = SEC_NONE;
831 man->next = ROFF_NEXT_CHILD;
832 roff_setreg(man->roff, "nS", 0, '=');
836 roff_man_alloc1(struct roff_man *man)
838 memset(&man->meta, 0, sizeof(man->meta));
839 man->meta.first = mandoc_calloc(1, sizeof(*man->meta.first));
840 man->meta.first->type = ROFFT_ROOT;
841 man->meta.macroset = MACROSET_NONE;
842 roff_state_reset(man);
846 roff_man_reset(struct roff_man *man)
848 roff_man_free1(man);
849 roff_man_alloc1(man);
853 roff_man_free(struct roff_man *man)
855 roff_man_free1(man);
856 free(man->os_r);
857 free(man);
863 struct roff_man *man;
865 man = mandoc_calloc(1, sizeof(*man));
866 man->roff = roff;
867 man->os_s = os_s;
868 man->quick = quick;
869 roff_man_alloc1(man);
870 roff->man = man;
871 return man;
877 roff_node_alloc(struct roff_man *man, int line, int pos,
887 n->sec = man->lastsec;
889 if (man->flags & MDOC_SYNOPSIS)
893 if ((man->flags & (ROFF_NOFILL | ROFF_NONOFILL)) == ROFF_NOFILL)
897 if (man->flags & MDOC_NEWLINE)
899 man->flags &= ~MDOC_NEWLINE;
905 roff_node_append(struct roff_man *man, struct roff_node *n)
908 switch (man->next) {
910 if (man->last->next != NULL) {
911 n->next = man->last->next;
912 man->last->next->prev = n;
914 man->last->parent->last = n;
915 man->last->next = n;
916 n->prev = man->last;
917 n->parent = man->last->parent;
920 if (man->last->child != NULL) {
921 n->next = man->last->child;
922 man->last->child->prev = n;
924 man->last->last = n;
925 man->last->child = n;
926 n->parent = man->last;
931 man->last = n;
959 roff_word_alloc(struct roff_man *man, int line, int pos, const char *word)
963 n = roff_node_alloc(man, line, pos, ROFFT_TEXT, TOKEN_NONE);
964 n->string = roff_strdup(man->roff, word);
965 roff_node_append(man, n);
967 man->next = ROFF_NEXT_SIBLING;
971 roff_word_append(struct roff_man *man, const char *word)
976 n = man->last;
977 addstr = roff_strdup(man->roff, word);
982 man->next = ROFF_NEXT_SIBLING;
986 roff_elem_alloc(struct roff_man *man, int line, int pos, int tok)
990 n = roff_node_alloc(man, line, pos, ROFFT_ELEM, tok);
991 roff_node_append(man, n);
992 man->next = ROFF_NEXT_CHILD;
996 roff_block_alloc(struct roff_man *man, int line, int pos, int tok)
1000 n = roff_node_alloc(man, line, pos, ROFFT_BLOCK, tok);
1001 roff_node_append(man, n);
1002 man->next = ROFF_NEXT_CHILD;
1007 roff_head_alloc(struct roff_man *man, int line, int pos, int tok)
1011 n = roff_node_alloc(man, line, pos, ROFFT_HEAD, tok);
1012 roff_node_append(man, n);
1013 man->next = ROFF_NEXT_CHILD;
1018 roff_body_alloc(struct roff_man *man, int line, int pos, int tok)
1022 n = roff_node_alloc(man, line, pos, ROFFT_BODY, tok);
1023 roff_node_append(man, n);
1024 man->next = ROFF_NEXT_CHILD;
1029 roff_addtbl(struct roff_man *man, int line, struct tbl_node *tbl)
1034 if (man->meta.macroset == MACROSET_MAN)
1035 man_breakscope(man, ROFF_TS);
1037 n = roff_node_alloc(man, line, 0, ROFFT_TBL, TOKEN_NONE);
1039 roff_node_append(man, n);
1041 man->next = ROFF_NEXT_SIBLING;
1046 roff_node_unlink(struct roff_man *man, struct roff_node *n)
1067 if (man == NULL)
1069 if (man->last == n) {
1071 man->last = n->parent;
1072 man->next = ROFF_NEXT_CHILD;
1074 man->last = n->prev;
1075 man->next = ROFF_NEXT_SIBLING;
1078 if (man->meta.first == n)
1079 man->meta.first = NULL;
1083 roff_node_relink(struct roff_man *man, struct roff_node *n)
1085 roff_node_unlink(man, n);
1087 roff_node_append(man, n);
1105 roff_node_delete(struct roff_man *man, struct roff_node *n)
1109 roff_node_delete(man, n->child);
1110 roff_node_unlink(man, n);
1301 if (r->man->meta.rcsids & rcsid)
1304 r->man->meta.rcsids |= rcsid;
1322 n = roff_node_alloc(r->man, ln, stesc + 1 - buf->buf,
1325 roff_node_append(r->man, n);
1327 r->man->next = ROFF_NEXT_SIBLING;
1749 r->man->last = roffce_node;
1750 r->man->next = ROFF_NEXT_SIBLING;
1803 (r->man->flags & ROFF_NOFILL) == 0 &&
1857 roff_addtbl(r->man, ln, r->tbl);
1910 roff_addtbl(r->man, ln, r->tbl);
1919 r->man->last = roffce_node;
1920 r->man->next = ROFF_NEXT_SIBLING;
1980 * For empty, undefined, mdoc(7), and man(7) macros, return TOKEN_NONE.
3247 * with DocBook stupidly fiddling with man(7) internals.
3290 r->man->flags &= ~ROFF_NONOFILL;
3390 if (r->man->meta.macroset == MACROSET_MAN)
3391 man_breakscope(r->man, ROFF_EQ);
3392 n = roff_node_alloc(r->man, ln, ppos, ROFFT_EQN, TOKEN_NONE);
3393 if (ln > r->man->last->line)
3396 roff_node_append(r->man, n);
3397 r->man->next = ROFF_NEXT_SIBLING;
3435 r->man->flags |= ROFF_NONOFILL;
3446 if (r->man->flags & (MAN_BLINE | MAN_ELINE))
3447 man_breakscope(r->man, tok);
3450 roff_elem_alloc(r->man, ln, ppos, tok);
3455 r->man->flags |= ROFF_NOFILL;
3457 r->man->flags &= ~ROFF_NOFILL;
3458 r->man->last->flags |= NODE_LINE | NODE_VALID | NODE_ENDED;
3459 r->man->next = ROFF_NEXT_SIBLING;
3470 if (r->man->flags & (MAN_BLINE | MAN_ELINE) &&
3473 man_breakscope(r->man, tok);
3476 r->man->last = roffce_node;
3477 r->man->next = ROFF_NEXT_SIBLING;
3480 roff_elem_alloc(r->man, ln, ppos, tok);
3481 n = r->man->last;
3493 roff_word_alloc(r->man, ln, pos, buf->buf + pos);
3497 if (r->man->last->type == ROFFT_ELEM) {
3498 roff_word_alloc(r->man, ln, pos, "1");
3499 r->man->last->flags |= NODE_NOSRC;
3502 if (roff_evalnum(ln, r->man->last->string, &npos,
3509 r->man->last = r->man->last->parent;
3513 roffce_node = r->man->last->parent;
3516 r->man->last = n;
3519 r->man->next = ROFF_NEXT_SIBLING;
3529 roff_elem_alloc(r->man, ln, ppos, tok);
3530 n = r->man->last;
3537 roff_word_alloc(r->man, ln, sp - buf->buf, sp);
3541 r->man->last = n;
3542 r->man->next = ROFF_NEXT_SIBLING;
3738 roff_elem_alloc(r->man, ln, ppos, tok);
3739 n = r->man->last;
3741 roff_word_alloc(r->man, ln, pos, buf->buf + pos);
3743 r->man->last = n;
3744 r->man->next = ROFF_NEXT_SIBLING;
4226 if (r->man->meta.macroset != MACROSET_MAN) {
4240 if (r->man->meta.macroset != MACROSET_MDOC) {