• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/mandoc/

Lines Matching refs:mdoc

38 #include "mdoc.h"
45 #define POST_ARGS struct roff_man *mdoc
289 /* Validate the subtree rooted at mdoc->last. */
291 mdoc_validate(struct roff_man *mdoc)
302 n = mdoc->last;
308 post_obsolete(mdoc);
320 mdoc->last = mdoc->last->child;
321 while (mdoc->last != NULL) {
322 mdoc_validate(mdoc);
323 if (mdoc->last == n)
324 mdoc->last = mdoc->last->child;
326 mdoc->last = mdoc->last->next;
331 mdoc->last = n;
332 mdoc->next = ROFF_NEXT_SIBLING;
338 check_text(mdoc, n->line, n->pos, n->string);
342 check_text_em(mdoc, n->line, n->pos, n->string);
345 check_toptext(mdoc, n->line, n->pos, n->string);
352 post_root(mdoc);
355 check_args(mdoc, mdoc->last);
371 roff_validate(mdoc);
378 (*p)(mdoc);
379 if (mdoc->last == n)
380 mdoc_state(mdoc, n);
386 check_args(struct roff_man *mdoc, struct roff_node *n)
395 check_argv(mdoc, n, &n->args->argv[i]);
399 check_argv(struct roff_man *mdoc, struct roff_node *n, struct mdoc_argv *v)
404 check_text(mdoc, v->line, v->pos, v->value[i]);
408 check_text(struct roff_man *mdoc, int ln, int pos, char *p)
412 if (mdoc->last->flags & NODE_NOFILL)
420 check_text_em(struct roff_man *mdoc, int ln, int pos, char *p)
425 np = mdoc->last->prev;
426 nn = mdoc->last->next;
471 check_toptext(struct roff_man *mdoc, int ln, int pos, const char *p)
514 tok = mdoc->last->tok;
515 nch = mdoc->last->last;
530 nch == mdoc->last->child ? "" : " ...", nch->string);
547 tok = mdoc->last->tok;
548 nch = mdoc->last->last;
623 nch == mdoc->last->child ? "" : " ...", nch->string);
635 n = mdoc->last->parent;
703 rewrite_macro2len(mdoc, argv->value);
716 rewrite_macro2len(mdoc, argv->value);
804 n = mdoc->last;
838 rewrite_macro2len(mdoc, argv->value);
877 n = mdoc->last;
901 post_useless(mdoc);
902 n = mdoc->last;
908 roff_node_delete(mdoc, n->child);
910 roff_word_alloc(mdoc, n->line, n->pos, n->tok == MDOC_Bt ?
912 mdoc->last->flags |= NODE_EOS | NODE_NOSRC;
913 mdoc->last = n;
917 build_list(struct roff_man *mdoc, int tok)
922 n = mdoc->last->next;
924 roff_elem_alloc(mdoc, n->line, n->pos, tok);
925 mdoc->last->flags |= NODE_NOSRC;
926 roff_node_relink(mdoc, n);
927 n = mdoc->last = mdoc->last->parent;
928 mdoc->next = ROFF_NEXT_SIBLING;
932 roff_word_alloc(mdoc, n->line, n->pos, ",");
933 mdoc->last->flags |= NODE_DELIMC | NODE_NOSRC;
935 n = mdoc->last->next;
937 roff_word_alloc(mdoc, n->line, n->pos, "and");
938 mdoc->last->flags |= NODE_NOSRC;
949 post_std(mdoc);
951 n = mdoc->last;
952 mdoc->next = ROFF_NEXT_CHILD;
953 roff_word_alloc(mdoc, n->line, n->pos, "The");
954 mdoc->last->flags |= NODE_NOSRC;
956 if (mdoc->last->next != NULL)
957 ic = build_list(mdoc, MDOC_Nm);
958 else if (mdoc->meta.name != NULL) {
959 roff_elem_alloc(mdoc, n->line, n->pos, MDOC_Nm);
960 mdoc->last->flags |= NODE_NOSRC;
961 roff_word_alloc(mdoc, n->line, n->pos, mdoc->meta.name);
962 mdoc->last->flags |= NODE_NOSRC;
963 mdoc->last = mdoc->last->parent;
964 mdoc->next = ROFF_NEXT_SIBLING;
971 roff_word_alloc(mdoc, n->line, n->pos,
973 mdoc->last->flags |= NODE_NOSRC;
974 roff_word_alloc(mdoc, n->line, n->pos,
976 mdoc->last->flags |= NODE_EOS | NODE_NOSRC;
977 mdoc->last = n;
986 post_delim_nb(mdoc);
988 n = mdoc->last;
990 mdoc->next = ROFF_NEXT_CHILD;
994 roff_word_alloc(mdoc, n->line, n->pos, p);
995 mdoc->last->flags = NODE_NOSRC;
996 mdoc->last = n;
1003 roff_word_alloc(mdoc, n->line, n->pos, "library");
1004 mdoc->last->flags = NODE_NOSRC;
1005 roff_word_alloc(mdoc, n->line, n->pos, "\\(lq");
1006 mdoc->last->flags = NODE_DELIMO | NODE_NOSRC;
1007 mdoc->last = mdoc->last->next;
1008 roff_word_alloc(mdoc, n->line, n->pos, "\\(rq");
1009 mdoc->last->flags = NODE_DELIMC | NODE_NOSRC;
1010 mdoc->last = n;
1019 post_std(mdoc);
1021 n = mdoc->last;
1022 mdoc->next = ROFF_NEXT_CHILD;
1024 roff_word_alloc(mdoc, n->line, n->pos, "The");
1025 mdoc->last->flags |= NODE_NOSRC;
1026 ic = build_list(mdoc, MDOC_Fn);
1027 roff_word_alloc(mdoc, n->line, n->pos,
1029 mdoc->last->flags |= NODE_NOSRC;
1030 roff_word_alloc(mdoc, n->line, n->pos,
1033 roff_word_alloc(mdoc, n->line, n->pos, "Upon successful "
1035 mdoc->last->flags |= NODE_NOSRC;
1037 roff_word_alloc(mdoc, n->line, n->pos, "otherwise "
1039 mdoc->last->flags |= NODE_NOSRC;
1040 roff_elem_alloc(mdoc, n->line, n->pos, MDOC_Va);
1041 mdoc->last->flags |= NODE_NOSRC;
1042 roff_word_alloc(mdoc, n->line, n->pos, "errno");
1043 mdoc->last->flags |= NODE_NOSRC;
1044 mdoc->last = mdoc->last->parent;
1045 mdoc->next = ROFF_NEXT_SIBLING;
1046 roff_word_alloc(mdoc, n->line, n->pos,
1048 mdoc->last->flags |= NODE_EOS | NODE_NOSRC;
1049 mdoc->last = n;
1057 post_delim(mdoc);
1059 n = mdoc->last;
1074 n = mdoc->last;
1081 roff_node_delete(mdoc, n);
1086 mdoc->next = ROFF_NEXT_CHILD;
1087 roff_word_alloc(mdoc, nch->line, nch->pos, p);
1088 mdoc->last->flags |= NODE_NOSRC;
1089 mdoc->last= n;
1097 n = mdoc->last;
1108 n = mdoc->last;
1127 np = mdoc->last;
1188 n = mdoc->last->child;
1200 post_fname(mdoc);
1201 post_fa(mdoc);
1209 n = mdoc->last;
1223 roff_node_delete(mdoc, n->last);
1225 post_delim(mdoc);
1227 post_fname(mdoc);
1236 for (n = mdoc->last->child; n != NULL; n = n->next) {
1248 post_delim_nb(mdoc);
1256 n = mdoc->last;
1259 n->child->type == ROFFT_TEXT && mdoc->meta.msec != NULL)
1260 mandoc_xr_add(mdoc->meta.msec, n->child->string, -1, -1);
1263 roff_node_relink(mdoc, n->last);
1265 if (mdoc->meta.name == NULL)
1266 deroff(&mdoc->meta.name, n);
1268 if (mdoc->meta.name == NULL ||
1269 (mdoc->lastsec == SEC_NAME && n->child == NULL))
1274 post_delim_nb(mdoc);
1277 post_delim(mdoc);
1284 mdoc->meta.name == NULL)
1287 mdoc->next = ROFF_NEXT_CHILD;
1288 roff_word_alloc(mdoc, n->line, n->pos, mdoc->meta.name);
1289 mdoc->last->flags |= NODE_NOSRC;
1290 mdoc->last = n;
1298 n = mdoc->last;
1309 post_delim(mdoc);
1311 post_hyph(mdoc);
1319 n = mdoc->last;
1325 roff_node_delete(mdoc, n);
1330 post_hyph(mdoc);
1337 mdoc->next = ROFF_NEXT_SIBLING;
1339 roff_node_relink(mdoc,
1341 roff_node_delete(mdoc, n);
1344 post_bd(mdoc);
1345 post_prevpar(mdoc);
1365 if (mdoc->last->child != NULL) {
1366 post_delim_nb(mdoc);
1376 nn = mdoc->last;
1379 mdoc->next = ROFF_NEXT_CHILD;
1380 roff_word_alloc(mdoc, nn->line, nn->pos, "file");
1381 mdoc->last->flags |= NODE_NOSRC;
1382 roff_word_alloc(mdoc, nn->line, nn->pos, "...");
1383 mdoc->last->flags |= NODE_NOSRC;
1387 mdoc->next = ROFF_NEXT_CHILD;
1388 roff_word_alloc(mdoc, nn->line, nn->pos, "~");
1389 mdoc->last->flags |= NODE_NOSRC;
1394 mdoc->last = nn;
1403 n = mdoc->last;
1417 mdoc->next = ROFF_NEXT_CHILD;
1419 roff_word_alloc(mdoc, nch->line, nch->pos, att);
1422 roff_word_alloc(mdoc, n->line, n->pos, "AT&T UNIX");
1423 mdoc->last->flags |= NODE_NOSRC;
1424 mdoc->last = n;
1432 post_an_norm(mdoc);
1434 np = mdoc->last;
1441 post_delim_nb(mdoc);
1451 post_obsolete(mdoc);
1452 if (mdoc->last->type == ROFFT_BLOCK)
1453 mdoc->last->norm->Es = mdoc->last_es;
1460 post_obsolete(mdoc);
1461 mdoc->last_es = mdoc->last;
1471 post_delim_nb(mdoc);
1473 n = mdoc->last;
1494 mdoc->next = ROFF_NEXT_CHILD;
1495 roff_word_alloc(mdoc, n->child->line, n->child->pos, v);
1496 v = mdoc->last->string;
1498 mdoc->last->flags |= NODE_NOSRC;
1499 mdoc->last = n;
1510 mdoc->next = ROFF_NEXT_CHILD;
1511 roff_word_alloc(mdoc, n->line, n->pos, os);
1512 mdoc->last->flags |= NODE_NOSRC;
1513 mdoc->last = n;
1523 post_prevpar(mdoc);
1525 nit = mdoc->last;
1568 roff_node_delete(mdoc, nit);
1598 post_prevpar(mdoc);
1600 n = mdoc->last;
1617 roff_node_relink(mdoc, nc);
1623 roff_node_delete(mdoc, nc);
1636 rewrite_macro2len(struct roff_man *mdoc, char **arg)
1645 else if ((tok = roffhash_find(mdoc->mdocmac, *arg, 0)) == TOKEN_NONE)
1661 post_bl_norm(mdoc);
1663 nh = mdoc->last;
1670 roff_node_delete(mdoc, nch);
1726 nbody = mdoc->last;
1729 post_bl_block(mdoc);
1732 post_bl_head(mdoc);
1767 mdoc->last = nchild;
1768 mdoc->next = ROFF_NEXT_SIBLING;
1769 roff_block_alloc(mdoc, nchild->line,
1771 roff_head_alloc(mdoc, nchild->line,
1773 mdoc->next = ROFF_NEXT_SIBLING;
1774 roff_body_alloc(mdoc, nchild->line,
1777 roff_node_relink(mdoc, nchild);
1781 mdoc->next = ROFF_NEXT_SIBLING;
1783 mdoc->last = nbody;
1826 if (mdoc->meta.os_e != MANDOC_OS_NETBSD)
1861 n = mdoc->last;
1865 roff_node_delete(mdoc, n);
1874 nch = mdoc->last->child;
1877 mdoc->flags ^= MDOC_SMOFF;
1884 mdoc->flags &= ~MDOC_SMOFF;
1888 mdoc->flags |= MDOC_SMOFF;
1893 "%s %s", roff_name[mdoc->last->tok], nch->string);
1894 roff_node_relink(mdoc, nch);
1905 if (mdoc->meta.date == NULL)
1906 mdoc->meta.date = mandoc_normdate(mdoc, NULL, 0, 0);
1908 if (mdoc->meta.title == NULL) {
1910 mdoc->meta.title = mandoc_strdup("UNTITLED");
1913 if (mdoc->meta.vol == NULL)
1914 mdoc->meta.vol = mandoc_strdup("LOCAL");
1916 if (mdoc->meta.os == NULL) {
1918 mdoc->meta.os = mandoc_strdup("");
1919 } else if (mdoc->meta.os_e &&
1920 (mdoc->meta.rcsids & (1 << mdoc->meta.os_e)) == 0)
1922 mdoc->meta.os_e == MANDOC_OS_OPENBSD ?
1925 if (mdoc->meta.arch != NULL &&
1926 arch_valid(mdoc->meta.arch, mdoc->meta.os_e) == 0) {
1927 n = mdoc->meta.first->child;
1935 "Dt ... %s %s", mdoc->meta.arch,
1936 mdoc->meta.os_e == MANDOC_OS_OPENBSD ?
1942 n = mdoc->meta.first->child;
1962 np = mdoc->last;
2054 for (nch = mdoc->last->child; nch != NULL; nch = nch->next) {
2073 n = mdoc->last;
2082 post_delim(mdoc);
2083 post_hyph(mdoc);
2090 post_ignpar(mdoc);
2092 switch (mdoc->last->type) {
2094 post_sh_head(mdoc);
2097 switch (mdoc->lastsec) {
2099 post_sh_name(mdoc);
2102 post_sh_see_also(mdoc);
2105 post_sh_authors(mdoc);
2124 for (n = mdoc->last->child; n != NULL; n = n->next) {
2157 mdoc->last->line, mdoc->last->pos, NULL);
2160 mdoc->last->line, mdoc->last->pos, NULL);
2171 n = mdoc->last->child;
2238 if ( ! child_an(mdoc->last))
2240 mdoc->last->line, mdoc->last->pos, NULL);
2300 sec = mdoc->last->sec;
2304 if (sec != SEC_NAME && mdoc->lastnamed == SEC_NONE)
2306 mdoc->last->line, mdoc->last->pos, "Sh %s",
2308 (nch = mdoc->last->child) == NULL ? "" :
2315 roff_setreg(mdoc->roff, "nS", 1, '=');
2316 mdoc->flags |= MDOC_SYNOPSIS;
2318 roff_setreg(mdoc->roff, "nS", 0, '=');
2319 mdoc->flags &= ~MDOC_SYNOPSIS;
2324 mdoc->lastsec = sec;
2329 if ((nch = mdoc->last->child) == NULL ||
2352 if (sec == mdoc->lastnamed)
2353 mandoc_msg(MANDOCERR_SEC_REP, mdoc->last->line,
2354 mdoc->last->pos, "Sh %s", secnames[sec]);
2356 if (sec < mdoc->lastnamed)
2357 mandoc_msg(MANDOCERR_SEC_ORDER, mdoc->last->line,
2358 mdoc->last->pos, "Sh %s", secnames[sec]);
2362 mdoc->lastnamed = sec;
2366 if (mdoc->meta.msec == NULL)
2372 if (*mdoc->meta.msec == '4')
2378 if (*mdoc->meta.msec == '2')
2380 if (*mdoc->meta.msec == '3')
2386 if (*mdoc->meta.msec == '9')
2391 mdoc->last->line, mdoc->last->pos,
2404 n = mdoc->last;
2417 post_delim_nb(mdoc);
2425 switch (mdoc->last->type) {
2427 post_prevpar(mdoc);
2430 post_delim(mdoc);
2431 post_hyph(mdoc);
2439 if ((np = mdoc->last->child) != NULL)
2444 roff_name[mdoc->last->tok]);
2445 roff_node_delete(mdoc, np);
2448 if ((np = mdoc->last->last) != NULL)
2452 roff_name[mdoc->last->tok]);
2453 roff_node_delete(mdoc, np);
2462 n = mdoc->last;
2484 roff_node_delete(mdoc, n->prev);
2492 post_prevpar(mdoc);
2494 np = mdoc->last;
2506 n = mdoc->last;
2509 if (mdoc->meta.date != NULL) {
2511 free(mdoc->meta.date);
2512 } else if (mdoc->flags & MDOC_PBODY)
2514 else if (mdoc->meta.title != NULL)
2517 else if (mdoc->meta.os != NULL)
2523 mdoc->meta.date = mandoc_normdate(mdoc, datestr, n->line, n->pos);
2534 n = mdoc->last;
2537 if (mdoc->flags & MDOC_PBODY) {
2542 if (mdoc->meta.title != NULL)
2544 else if (mdoc->meta.os != NULL)
2548 free(mdoc->meta.title);
2549 free(mdoc->meta.msec);
2550 free(mdoc->meta.vol);
2551 free(mdoc->meta.arch);
2553 mdoc->meta.title = NULL;
2554 mdoc->meta.msec = NULL;
2555 mdoc->meta.vol = NULL;
2556 mdoc->meta.arch = NULL;
2563 mdoc->meta.title = mandoc_strdup("UNTITLED");
2565 mdoc->meta.title = mandoc_strdup(nn->string);
2585 "Dt %s", mdoc->meta.title);
2586 mdoc->meta.vol = mandoc_strdup("LOCAL");
2590 mdoc->meta.msec = mandoc_strdup(nn->string);
2598 mdoc->meta.vol = mandoc_strdup(nn->string);
2600 mdoc->meta.vol = mandoc_strdup(cp);
2609 mdoc->meta.arch = mandoc_strdup(nn->string);
2624 post_delim_nb(mdoc);
2626 n = mdoc->last;
2637 mdoc->last = nch;
2639 mdoc->next = ROFF_NEXT_SIBLING;
2640 roff_elem_alloc(mdoc, n->line, n->pos, MDOC_Ns);
2641 mdoc->last->flags |= NODE_NOSRC;
2642 mdoc->next = ROFF_NEXT_SIBLING;
2644 mdoc->next = ROFF_NEXT_CHILD;
2645 roff_word_alloc(mdoc, n->line, n->pos, "BSD");
2646 mdoc->last->flags |= NODE_NOSRC;
2649 mdoc->last = n;
2653 roff_elem_alloc(mdoc, n->line, n->pos, MDOC_Ns);
2654 mdoc->last->flags |= NODE_NOSRC;
2655 mdoc->next = ROFF_NEXT_SIBLING;
2656 roff_word_alloc(mdoc, n->line, n->pos, "-");
2657 mdoc->last->flags |= NODE_NOSRC;
2658 roff_elem_alloc(mdoc, n->line, n->pos, MDOC_Ns);
2659 mdoc->last->flags |= NODE_NOSRC;
2660 mdoc->last = n;
2680 n = mdoc->last;
2683 if (mdoc->meta.os != NULL)
2685 else if (mdoc->flags & MDOC_PBODY)
2688 post_delim(mdoc);
2699 free(mdoc->meta.os);
2700 mdoc->meta.os = NULL;
2701 deroff(&mdoc->meta.os, n);
2702 if (mdoc->meta.os)
2705 if (mdoc->os_s != NULL) {
2706 mdoc->meta.os = mandoc_strdup(mdoc->os_s);
2711 mdoc->meta.os = mandoc_strdup(OSNAME);
2721 mdoc->meta.os = mandoc_strdup(defbuf);
2725 if (mdoc->meta.os_e == MANDOC_OS_OTHER) {
2726 if (strstr(mdoc->meta.os, "OpenBSD") != NULL)
2727 mdoc->meta.os_e = MANDOC_OS_OPENBSD;
2728 else if (strstr(mdoc->meta.os, "NetBSD") != NULL)
2729 mdoc->meta.os_e = MANDOC_OS_NETBSD;
2741 mdoc->meta.os_e == MANDOC_OS_OPENBSD ?
2750 if (mdoc->meta.os_e == MANDOC_OS_OPENBSD)
2754 if (mdoc->meta.os_e == MANDOC_OS_NETBSD)