Lines Matching refs:mdoc
42 #define PRE_ARGS struct mdoc *mdoc, struct mdoc_node *n
43 #define POST_ARGS struct mdoc *mdoc
59 static void check_text(struct mdoc *, int, int, char *);
60 static void check_argv(struct mdoc *,
62 static void check_args(struct mdoc *, struct mdoc_node *);
295 mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n) in mdoc_valid_pre() argument
302 check_text(mdoc, n->line, n->pos, n->string); in mdoc_valid_pre()
314 check_args(mdoc, n); in mdoc_valid_pre()
317 (*p)(mdoc, n); in mdoc_valid_pre()
321 mdoc_valid_post(struct mdoc *mdoc) in mdoc_valid_post() argument
326 n = mdoc->last; in mdoc_valid_post()
339 post_root(mdoc); in mdoc_valid_post()
358 (*p)(mdoc); in mdoc_valid_post()
364 check_args(struct mdoc *mdoc, struct mdoc_node *n) in check_args() argument
373 check_argv(mdoc, n, &n->args->argv[i]); in check_args()
377 check_argv(struct mdoc *mdoc, struct mdoc_node *n, struct mdoc_argv *v) in check_argv() argument
382 check_text(mdoc, v->line, v->pos, v->value[i]); in check_argv()
386 check_text(struct mdoc *mdoc, int ln, int pos, char *p) in check_text() argument
390 if (MDOC_LITERAL & mdoc->flags) in check_text()
394 mandoc_msg(MANDOCERR_FI_TAB, mdoc->parse, in check_text()
406 for (node = mdoc->last->parent; node; node = node->parent) in pre_display()
413 mdoc->parse, n->line, n->pos, in pre_display()
478 mdoc->parse, argv->line, in pre_bl()
486 mdoc->parse, argv->line, in pre_bl()
493 mdoc->parse, argv->line, in pre_bl()
502 mdoc->parse, argv->line, in pre_bl()
508 mdoc->parse, argv->line, in pre_bl()
525 mdoc->parse, n->line, n->pos, in pre_bl()
536 mdoc->parse, n->line, n->pos, "Bl -%s", in pre_bl()
549 mandoc_msg(MANDOCERR_BL_NOTYPE, mdoc->parse, in pre_bl()
564 mandoc_msg(MANDOCERR_BL_NOWIDTH, mdoc->parse, in pre_bl()
577 mandoc_vmsg(MANDOCERR_BL_SKIPW, mdoc->parse, in pre_bl()
596 pre_par(mdoc, n); in pre_bl()
606 pre_literal(mdoc, n); in pre_bd()
632 mandoc_msg(MANDOCERR_BD_FILE, mdoc->parse, in pre_bd()
638 mdoc->parse, argv->line, in pre_bd()
644 mdoc->parse, argv->line, in pre_bd()
653 mdoc->parse, argv->line, in pre_bd()
668 mdoc->parse, n->line, n->pos, in pre_bd()
673 mandoc_msg(MANDOCERR_BD_NOTYPE, mdoc->parse, in pre_bd()
677 pre_par(mdoc, n); in pre_bd()
692 mdoc->parse, argv->line, argv->pos, in pre_an()
713 mandoc_msg(MANDOCERR_ARG_STD, mdoc->parse, in pre_std()
722 mandoc_msg(MANDOCERR_MACRO_OBS, mdoc->parse, in pre_obsolete()
730 if (mdoc->meta.title != NULL) in pre_dt()
731 mandoc_msg(MANDOCERR_PROLOG_REP, mdoc->parse, in pre_dt()
733 else if (mdoc->meta.os != NULL) in pre_dt()
734 mandoc_msg(MANDOCERR_PROLOG_ORDER, mdoc->parse, in pre_dt()
742 if (mdoc->meta.os != NULL) in pre_os()
743 mandoc_msg(MANDOCERR_PROLOG_REP, mdoc->parse, in pre_os()
745 else if (mdoc->flags & MDOC_PBODY) in pre_os()
746 mandoc_msg(MANDOCERR_PROLOG_LATE, mdoc->parse, in pre_os()
754 if (mdoc->meta.date != NULL) in pre_dd()
755 mandoc_msg(MANDOCERR_PROLOG_REP, mdoc->parse, in pre_dd()
757 else if (mdoc->flags & MDOC_PBODY) in pre_dd()
758 mandoc_msg(MANDOCERR_PROLOG_LATE, mdoc->parse, in pre_dd()
760 else if (mdoc->meta.title != NULL) in pre_dd()
761 mandoc_msg(MANDOCERR_PROLOG_ORDER, mdoc->parse, in pre_dd()
763 else if (mdoc->meta.os != NULL) in pre_dd()
764 mandoc_msg(MANDOCERR_PROLOG_ORDER, mdoc->parse, in pre_dd()
779 np = mdoc->last; in post_bf()
791 mandoc_msg(MANDOCERR_BF_NOFONT, mdoc->parse, in post_bf()
798 mandoc_vmsg(MANDOCERR_ARG_EXCESS, mdoc->parse, in post_bf()
825 mandoc_vmsg(MANDOCERR_BF_BADFONT, mdoc->parse, in post_bf()
837 n = mdoc->last->child; in post_lb()
855 n = mdoc->last; in post_eoln()
858 mdoc->parse, n->line, n->pos, in post_eoln()
870 n = mdoc->last->child; in post_fname()
874 mandoc_msg(MANDOCERR_FN_PAREN, mdoc->parse, in post_fname()
882 post_fname(mdoc); in post_fn()
883 post_fa(mdoc); in post_fn()
891 n = mdoc->last; in post_fo()
897 mandoc_msg(MANDOCERR_FO_NOHEAD, mdoc->parse, in post_fo()
902 mandoc_vmsg(MANDOCERR_ARG_EXCESS, mdoc->parse, in post_fo()
906 mdoc_node_delete(mdoc, n->last); in post_fo()
909 post_fname(mdoc); in post_fo()
918 for (n = mdoc->last->child; n != NULL; n = n->next) { in post_fa()
925 mandoc_msg(MANDOCERR_FA_COMMA, mdoc->parse, in post_fa()
946 if (MDOC_BODY != mdoc->last->type) in post_vt()
949 for (n = mdoc->last->child; n; n = n->next) in post_vt()
951 mandoc_msg(MANDOCERR_VT_CHILD, mdoc->parse, in post_vt()
960 n = mdoc->last; in post_nm()
965 mdoc_node_relink(mdoc, n->last); in post_nm()
967 if (NULL != mdoc->meta.name) in post_nm()
970 mdoc_deroff(&mdoc->meta.name, n); in post_nm()
972 if (NULL == mdoc->meta.name) in post_nm()
973 mandoc_msg(MANDOCERR_NM_NONAME, mdoc->parse, in post_nm()
982 n = mdoc->last; in post_nd()
988 mandoc_msg(MANDOCERR_ND_EMPTY, mdoc->parse, in post_nd()
991 post_hyph(mdoc); in post_nd()
999 n = mdoc->last; in post_d1()
1005 mandoc_msg(MANDOCERR_BLK_EMPTY, mdoc->parse, in post_d1()
1008 post_hyph(mdoc); in post_d1()
1016 n = mdoc->last; in post_literal()
1022 mandoc_msg(MANDOCERR_BLK_EMPTY, mdoc->parse, in post_literal()
1030 mdoc->flags &= ~MDOC_LITERAL; in post_literal()
1044 if (mdoc->last->child) in post_defaults()
1047 nn = mdoc->last; in post_defaults()
1048 mdoc->next = MDOC_NEXT_CHILD; in post_defaults()
1052 mdoc_word_alloc(mdoc, nn->line, nn->pos, "file"); in post_defaults()
1053 mdoc_word_alloc(mdoc, nn->line, nn->pos, "..."); in post_defaults()
1058 mdoc_word_alloc(mdoc, nn->line, nn->pos, "~"); in post_defaults()
1064 mdoc->last = nn; in post_defaults()
1074 n = mdoc->last; in post_at()
1076 mdoc->next = MDOC_NEXT_CHILD; in post_at()
1077 mdoc_word_alloc(mdoc, n->line, n->pos, "AT&T UNIX"); in post_at()
1078 mdoc->last = n; in post_at()
1091 mandoc_vmsg(MANDOCERR_AT_BAD, mdoc->parse, in post_at()
1106 np = mdoc->last; in post_an()
1110 mandoc_msg(MANDOCERR_MACRO_EMPTY, mdoc->parse, in post_an()
1113 mandoc_vmsg(MANDOCERR_ARG_EXCESS, mdoc->parse, in post_an()
1121 if (MDOC_BLOCK == mdoc->last->type) in post_en()
1122 mdoc->last->norm->Es = mdoc->last_es; in post_en()
1129 mdoc->last_es = mdoc->last; in post_es()
1139 nit = mdoc->last; in post_it()
1158 mdoc->parse, nit->line, nit->pos, in post_it()
1171 mdoc->parse, nit->line, nit->pos, in post_it()
1178 mdoc->parse, nit->line, nit->pos, in post_it()
1192 mdoc->parse, nit->line, nit->pos, in post_it()
1213 n = mdoc->last; in post_bl_block()
1217 post_bl_block_tag(mdoc); in post_bl_block()
1239 mdoc->parse, nc->line, nc->pos, in post_bl_block()
1241 mdoc_node_relink(mdoc, nc); in post_bl_block()
1245 mdoc->parse, nc->line, nc->pos, in post_bl_block()
1248 mdoc_node_delete(mdoc, nc); in post_bl_block()
1295 n = mdoc->last; in post_bl_block_tag()
1351 nh = mdoc->last; in post_bl_head()
1356 mandoc_vmsg(MANDOCERR_ARG_EXCESS, mdoc->parse, in post_bl_head()
1359 mdoc_node_delete(mdoc, nch); in post_bl_head()
1413 nbody = mdoc->last; in post_bl()
1416 post_bl_block(mdoc); in post_bl()
1419 post_bl_head(mdoc); in post_bl()
1429 mandoc_msg(MANDOCERR_BLK_EMPTY, mdoc->parse, in post_bl()
1442 mandoc_msg(MANDOCERR_BL_MOVE, mdoc->parse, in post_bl()
1494 n = mdoc->last; in post_bk()
1498 mdoc->parse, n->line, n->pos, "Bk"); in post_bk()
1499 mdoc_node_delete(mdoc, n); in post_bk()
1504 post_sm(struct mdoc *mdoc) in post_sm() argument
1508 nch = mdoc->last->child; in post_sm()
1511 mdoc->flags ^= MDOC_SMOFF; in post_sm()
1518 mdoc->flags &= ~MDOC_SMOFF; in post_sm()
1522 mdoc->flags |= MDOC_SMOFF; in post_sm()
1527 mdoc->parse, nch->line, nch->pos, in post_sm()
1528 "%s %s", mdoc_macronames[mdoc->last->tok], nch->string); in post_sm()
1529 mdoc_node_relink(mdoc, nch); in post_sm()
1540 if (mdoc->meta.date == NULL) in post_root()
1541 mdoc->meta.date = mdoc->quick ? in post_root()
1543 mandoc_normdate(mdoc->parse, NULL, 0, 0); in post_root()
1545 if (mdoc->meta.title == NULL) { in post_root()
1547 mdoc->parse, 0, 0, "EOF"); in post_root()
1548 mdoc->meta.title = mandoc_strdup("UNTITLED"); in post_root()
1551 if (mdoc->meta.vol == NULL) in post_root()
1552 mdoc->meta.vol = mandoc_strdup("LOCAL"); in post_root()
1554 if (mdoc->meta.os == NULL) { in post_root()
1556 mdoc->parse, 0, 0, NULL); in post_root()
1557 mdoc->meta.os = mandoc_strdup(""); in post_root()
1562 n = mdoc->first->child; in post_root()
1567 mandoc_msg(MANDOCERR_DOC_EMPTY, mdoc->parse, 0, 0, NULL); in post_root()
1569 mandoc_msg(MANDOCERR_SEC_BEFORE, mdoc->parse, in post_root()
1579 n = mdoc->last; in post_st()
1585 mandoc_vmsg(MANDOCERR_ST_BAD, mdoc->parse, in post_st()
1587 mdoc_node_delete(mdoc, n); in post_st()
1600 np = mdoc->last; in post_rs()
1606 mandoc_msg(MANDOCERR_RS_EMPTY, mdoc->parse, in post_rs()
1626 mdoc->parse, nch->line, nch->pos, in post_rs()
1694 for (nch = mdoc->last->child; nch != NULL; nch = nch->next) { in post_hyph()
1712 if (MDOC_LINE & mdoc->last->flags) in post_ns()
1713 mandoc_msg(MANDOCERR_NS_SKIP, mdoc->parse, in post_ns()
1714 mdoc->last->line, mdoc->last->pos, NULL); in post_ns()
1721 post_ignpar(mdoc); in post_sh()
1723 switch (mdoc->last->type) { in post_sh()
1725 post_sh_head(mdoc); in post_sh()
1728 switch (mdoc->lastsec) { in post_sh()
1730 post_sh_name(mdoc); in post_sh()
1733 post_sh_see_also(mdoc); in post_sh()
1736 post_sh_authors(mdoc); in post_sh()
1755 for (n = mdoc->last->child; n != NULL; n = n->next) { in post_sh_name()
1764 mdoc->parse, n->line, n->pos, NULL); in post_sh_name()
1771 mandoc_msg(MANDOCERR_NAMESEC_BAD, mdoc->parse, in post_sh_name()
1778 mandoc_msg(MANDOCERR_NAMESEC_NONM, mdoc->parse, in post_sh_name()
1779 mdoc->last->line, mdoc->last->pos, NULL); in post_sh_name()
1781 mandoc_msg(MANDOCERR_NAMESEC_NOND, mdoc->parse, in post_sh_name()
1782 mdoc->last->line, mdoc->last->pos, NULL); in post_sh_name()
1793 n = mdoc->last->child; in post_sh_see_also()
1806 mdoc->parse, n->line, n->pos, in post_sh_see_also()
1812 mdoc->parse, n->line, n->pos, in post_sh_see_also()
1818 mdoc->parse, n->line, n->pos, in post_sh_see_also()
1840 mandoc_vmsg(MANDOCERR_XR_PUNCT, mdoc->parse, in post_sh_see_also()
1861 if ( ! child_an(mdoc->last)) in post_sh_authors()
1862 mandoc_msg(MANDOCERR_AN_MISSING, mdoc->parse, in post_sh_authors()
1863 mdoc->last->line, mdoc->last->pos, NULL); in post_sh_authors()
1883 mdoc_deroff(&secname, mdoc->last); in post_sh_head()
1888 if (SEC_NAME != sec && SEC_NONE == mdoc->lastnamed) in post_sh_head()
1889 mandoc_vmsg(MANDOCERR_NAMESEC_FIRST, mdoc->parse, in post_sh_head()
1890 mdoc->last->line, mdoc->last->pos, in post_sh_head()
1896 roff_setreg(mdoc->roff, "nS", 1, '='); in post_sh_head()
1897 mdoc->flags |= MDOC_SYNOPSIS; in post_sh_head()
1899 roff_setreg(mdoc->roff, "nS", 0, '='); in post_sh_head()
1900 mdoc->flags &= ~MDOC_SYNOPSIS; in post_sh_head()
1905 mdoc->lastsec = sec; in post_sh_head()
1916 mdoc->last->parent->sec = sec; in post_sh_head()
1917 mdoc->last->sec = sec; in post_sh_head()
1918 for (n = mdoc->last->child; n; n = n->next) in post_sh_head()
1933 if (sec == mdoc->lastnamed) in post_sh_head()
1934 mandoc_vmsg(MANDOCERR_SEC_REP, mdoc->parse, in post_sh_head()
1935 mdoc->last->line, mdoc->last->pos, in post_sh_head()
1938 if (sec < mdoc->lastnamed) in post_sh_head()
1939 mandoc_vmsg(MANDOCERR_SEC_ORDER, mdoc->parse, in post_sh_head()
1940 mdoc->last->line, mdoc->last->pos, in post_sh_head()
1945 mdoc->lastnamed = sec; in post_sh_head()
1949 if (mdoc->meta.msec == NULL) { in post_sh_head()
1957 if (*mdoc->meta.msec == '4') in post_sh_head()
1964 if (*mdoc->meta.msec == '2') in post_sh_head()
1966 if (*mdoc->meta.msec == '3') in post_sh_head()
1972 if (*mdoc->meta.msec == '9') in post_sh_head()
1976 mandoc_vmsg(MANDOCERR_SEC_MSEC, mdoc->parse, in post_sh_head()
1977 mdoc->last->line, mdoc->last->pos, in post_sh_head()
1991 switch (mdoc->last->type) { in post_ignpar()
1993 post_hyph(mdoc); in post_ignpar()
2001 if (NULL != (np = mdoc->last->child)) in post_ignpar()
2004 mdoc->parse, np->line, np->pos, in post_ignpar()
2006 mdoc_macronames[mdoc->last->tok]); in post_ignpar()
2007 mdoc_node_delete(mdoc, np); in post_ignpar()
2010 if (NULL != (np = mdoc->last->last)) in post_ignpar()
2012 mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse, in post_ignpar()
2015 mdoc_macronames[mdoc->last->tok]); in post_ignpar()
2016 mdoc_node_delete(mdoc, np); in post_ignpar()
2024 if (NULL == mdoc->last) in pre_par()
2034 if (MDOC_Pp != mdoc->last->tok && in pre_par()
2035 MDOC_Lp != mdoc->last->tok && in pre_par()
2036 MDOC_br != mdoc->last->tok) in pre_par()
2045 mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse, in pre_par()
2046 mdoc->last->line, mdoc->last->pos, in pre_par()
2047 "%s before %s", mdoc_macronames[mdoc->last->tok], in pre_par()
2049 mdoc_node_delete(mdoc, mdoc->last); in pre_par()
2057 np = mdoc->last; in post_par()
2061 mandoc_vmsg(MANDOCERR_ARG_EXCESS, mdoc->parse, in post_par()
2066 mdoc->parse, np->line, np->pos, "%s %s", in post_par()
2069 if (NULL == (np = mdoc->last->prev)) { in post_par()
2070 np = mdoc->last->parent; in post_par()
2074 (MDOC_br != mdoc->last->tok || in post_par()
2078 mandoc_vmsg(MANDOCERR_PAR_SKIP, mdoc->parse, in post_par()
2079 mdoc->last->line, mdoc->last->pos, in post_par()
2080 "%s after %s", mdoc_macronames[mdoc->last->tok], in post_par()
2082 mdoc_node_delete(mdoc, mdoc->last); in post_par()
2089 pre_display(mdoc, n); in pre_literal()
2101 mdoc->flags |= MDOC_LITERAL; in pre_literal()
2105 mdoc->flags |= MDOC_LITERAL; in pre_literal()
2107 mdoc->flags |= MDOC_LITERAL; in pre_literal()
2121 if (mdoc->meta.date) in post_dd()
2122 free(mdoc->meta.date); in post_dd()
2124 n = mdoc->last; in post_dd()
2126 mdoc->meta.date = mdoc->quick ? mandoc_strdup("") : in post_dd()
2127 mandoc_normdate(mdoc->parse, NULL, n->line, n->pos); in post_dd()
2133 if (mdoc->quick) in post_dd()
2134 mdoc->meta.date = datestr; in post_dd()
2136 mdoc->meta.date = mandoc_normdate(mdoc->parse, in post_dd()
2141 mdoc_node_delete(mdoc, n); in post_dd()
2151 n = mdoc->last; in post_dt()
2153 free(mdoc->meta.title); in post_dt()
2154 free(mdoc->meta.msec); in post_dt()
2155 free(mdoc->meta.vol); in post_dt()
2156 free(mdoc->meta.arch); in post_dt()
2158 mdoc->meta.title = NULL; in post_dt()
2159 mdoc->meta.msec = NULL; in post_dt()
2160 mdoc->meta.vol = NULL; in post_dt()
2161 mdoc->meta.arch = NULL; in post_dt()
2168 mdoc->parse, n->line, n->pos, "Dt"); in post_dt()
2169 mdoc->meta.title = mandoc_strdup("UNTITLED"); in post_dt()
2171 mdoc->meta.title = mandoc_strdup(nn->string); in post_dt()
2178 mdoc->parse, nn->line, in post_dt()
2192 mdoc->parse, n->line, n->pos, in post_dt()
2193 "Dt %s", mdoc->meta.title); in post_dt()
2194 mdoc->meta.vol = mandoc_strdup("LOCAL"); in post_dt()
2198 mdoc->meta.msec = mandoc_strdup(nn->string); in post_dt()
2204 mandoc_vmsg(MANDOCERR_MSEC_BAD, mdoc->parse, in post_dt()
2206 mdoc->meta.vol = mandoc_strdup(nn->string); in post_dt()
2208 mdoc->meta.vol = mandoc_strdup(cp); in post_dt()
2217 mdoc->meta.arch = mandoc_strdup(nn->string); in post_dt()
2222 mandoc_vmsg(MANDOCERR_ARG_EXCESS, mdoc->parse, in post_dt()
2226 mdoc_node_delete(mdoc, n); in post_dt()
2240 n = mdoc->last->child; in post_bx()
2254 n = mdoc->last; in post_os()
2265 free(mdoc->meta.os); in post_os()
2266 mdoc->meta.os = NULL; in post_os()
2267 mdoc_deroff(&mdoc->meta.os, n); in post_os()
2268 if (mdoc->meta.os) in post_os()
2271 if (mdoc->defos) { in post_os()
2272 mdoc->meta.os = mandoc_strdup(mdoc->defos); in post_os()
2277 mdoc->meta.os = mandoc_strdup(OSNAME); in post_os()
2281 mandoc_msg(MANDOCERR_OS_UNAME, mdoc->parse, in post_os()
2288 mdoc->meta.os = mandoc_strdup(defbuf); in post_os()
2292 mdoc_node_delete(mdoc, n); in post_os()
2304 n = mdoc->last; in post_ex()
2309 if (mdoc->meta.name == NULL) { in post_ex()
2310 mandoc_msg(MANDOCERR_EX_NONAME, mdoc->parse, in post_ex()
2315 mdoc->next = MDOC_NEXT_CHILD; in post_ex()
2316 mdoc_word_alloc(mdoc, n->line, n->pos, mdoc->meta.name); in post_ex()
2317 mdoc->last = n; in post_ex()