version 1.238, 2014/07/31 09:22:21 |
version 1.240, 2014/08/01 17:40:34 |
Line 680 pre_bl(PRE_ARGS) |
|
Line 680 pre_bl(PRE_ARGS) |
|
/* Check: multiple list types. */ |
/* Check: multiple list types. */ |
|
|
if (LIST__NONE != n->norm->Bl.type) { |
if (LIST__NONE != n->norm->Bl.type) { |
mandoc_msg(MANDOCERR_BL_REP, |
mandoc_vmsg(MANDOCERR_BL_REP, |
mdoc->parse, n->line, n->pos, |
mdoc->parse, n->line, n->pos, |
mdoc_argnames[argv->arg]); |
"Bl -%s", mdoc_argnames[argv->arg]); |
continue; |
continue; |
} |
} |
|
|
Line 691 pre_bl(PRE_ARGS) |
|
Line 691 pre_bl(PRE_ARGS) |
|
if (n->norm->Bl.width || |
if (n->norm->Bl.width || |
n->norm->Bl.offs || |
n->norm->Bl.offs || |
n->norm->Bl.comp) |
n->norm->Bl.comp) |
mandoc_msg(MANDOCERR_BL_LATETYPE, |
mandoc_vmsg(MANDOCERR_BL_LATETYPE, |
mdoc->parse, n->line, n->pos, |
mdoc->parse, n->line, n->pos, "Bl -%s", |
mdoc_argnames[n->args->argv[0].arg]); |
mdoc_argnames[n->args->argv[0].arg]); |
|
|
n->norm->Bl.type = lt; |
n->norm->Bl.type = lt; |
Line 705 pre_bl(PRE_ARGS) |
|
Line 705 pre_bl(PRE_ARGS) |
|
/* Allow lists to default to LIST_item. */ |
/* Allow lists to default to LIST_item. */ |
|
|
if (LIST__NONE == n->norm->Bl.type) { |
if (LIST__NONE == n->norm->Bl.type) { |
mdoc_nmsg(mdoc, n, MANDOCERR_BL_NOTYPE); |
mandoc_msg(MANDOCERR_BL_NOTYPE, mdoc->parse, |
|
n->line, n->pos, "Bl"); |
n->norm->Bl.type = LIST_item; |
n->norm->Bl.type = LIST_item; |
} |
} |
|
|
Line 719 pre_bl(PRE_ARGS) |
|
Line 720 pre_bl(PRE_ARGS) |
|
switch (n->norm->Bl.type) { |
switch (n->norm->Bl.type) { |
case LIST_tag: |
case LIST_tag: |
if (NULL == n->norm->Bl.width) |
if (NULL == n->norm->Bl.width) |
mdoc_nmsg(mdoc, n, MANDOCERR_BL_NOWIDTH); |
mandoc_msg(MANDOCERR_BL_NOWIDTH, mdoc->parse, |
|
n->line, n->pos, "Bl -tag"); |
break; |
break; |
case LIST_column: |
case LIST_column: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
Line 796 pre_bd(PRE_ARGS) |
|
Line 798 pre_bd(PRE_ARGS) |
|
dt = DISP_literal; |
dt = DISP_literal; |
break; |
break; |
case MDOC_File: |
case MDOC_File: |
mdoc_nmsg(mdoc, n, MANDOCERR_BADDISP); |
mandoc_msg(MANDOCERR_BD_FILE, mdoc->parse, |
|
n->line, n->pos, NULL); |
return(0); |
return(0); |
case MDOC_Offset: |
case MDOC_Offset: |
if (0 == argv->sz) { |
if (0 == argv->sz) { |
Line 829 pre_bd(PRE_ARGS) |
|
Line 832 pre_bd(PRE_ARGS) |
|
if (DISP__NONE == n->norm->Bd.type) |
if (DISP__NONE == n->norm->Bd.type) |
n->norm->Bd.type = dt; |
n->norm->Bd.type = dt; |
else |
else |
mandoc_msg(MANDOCERR_BD_REP, |
mandoc_vmsg(MANDOCERR_BD_REP, |
mdoc->parse, n->line, n->pos, |
mdoc->parse, n->line, n->pos, |
mdoc_argnames[argv->arg]); |
"Bd -%s", mdoc_argnames[argv->arg]); |
} |
} |
|
|
if (DISP__NONE == n->norm->Bd.type) { |
if (DISP__NONE == n->norm->Bd.type) { |
mdoc_nmsg(mdoc, n, MANDOCERR_BD_NOTYPE); |
mandoc_msg(MANDOCERR_BD_NOTYPE, mdoc->parse, |
|
n->line, n->pos, "Bd"); |
n->norm->Bd.type = DISP_ragged; |
n->norm->Bd.type = DISP_ragged; |
} |
} |
|
|
Line 972 post_bf(POST_ARGS) |
|
Line 976 post_bf(POST_ARGS) |
|
nch = np->child; |
nch = np->child; |
if (NULL == np->parent->args) { |
if (NULL == np->parent->args) { |
if (NULL == nch) { |
if (NULL == nch) { |
mdoc_nmsg(mdoc, np, MANDOCERR_BF_NOFONT); |
mandoc_msg(MANDOCERR_BF_NOFONT, mdoc->parse, |
|
np->line, np->pos, "Bf"); |
return(1); |
return(1); |
} |
} |
nch = nch->next; |
nch = nch->next; |
Line 1085 post_nm(POST_ARGS) |
|
Line 1090 post_nm(POST_ARGS) |
|
mdoc_deroff(&mdoc->meta.name, mdoc->last); |
mdoc_deroff(&mdoc->meta.name, mdoc->last); |
|
|
if (NULL == mdoc->meta.name) |
if (NULL == mdoc->meta.name) |
mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_NM_NONAME); |
mandoc_msg(MANDOCERR_NM_NONAME, mdoc->parse, |
|
mdoc->last->line, mdoc->last->pos, "Nm"); |
return(1); |
return(1); |
} |
} |
|
|
Line 1173 post_at(POST_ARGS) |
|
Line 1179 post_at(POST_ARGS) |
|
|
|
assert(MDOC_TEXT == n->type); |
assert(MDOC_TEXT == n->type); |
if (NULL == (std_att = mdoc_a2att(n->string))) { |
if (NULL == (std_att = mdoc_a2att(n->string))) { |
mandoc_msg(MANDOCERR_AT_BAD, mdoc->parse, |
mandoc_vmsg(MANDOCERR_AT_BAD, mdoc->parse, |
n->line, n->pos, n->string); |
n->line, n->pos, "At %s", n->string); |
mandoc_asprintf(&att, "AT&T UNIX %s", n->string); |
mandoc_asprintf(&att, "AT&T UNIX %s", n->string); |
} else |
} else |
att = mandoc_strdup(std_att); |
att = mandoc_strdup(std_att); |
Line 1241 post_it(POST_ARGS) |
|
Line 1247 post_it(POST_ARGS) |
|
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case LIST_diag: |
case LIST_diag: |
if (NULL == nit->head->child) |
if (NULL == nit->head->child) |
mandoc_msg(MANDOCERR_IT_NOHEAD, |
mandoc_vmsg(MANDOCERR_IT_NOHEAD, |
mdoc->parse, nit->line, nit->pos, |
mdoc->parse, nit->line, nit->pos, |
|
"Bl -%s It", |
mdoc_argnames[nbl->args->argv[0].arg]); |
mdoc_argnames[nbl->args->argv[0].arg]); |
break; |
break; |
case LIST_bullet: |
case LIST_bullet: |
Line 1253 post_it(POST_ARGS) |
|
Line 1260 post_it(POST_ARGS) |
|
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case LIST_hyphen: |
case LIST_hyphen: |
if (NULL == nit->body->child) |
if (NULL == nit->body->child) |
mandoc_msg(MANDOCERR_IT_NOBODY, |
mandoc_vmsg(MANDOCERR_IT_NOBODY, |
mdoc->parse, nit->line, nit->pos, |
mdoc->parse, nit->line, nit->pos, |
|
"Bl -%s It", |
mdoc_argnames[nbl->args->argv[0].arg]); |
mdoc_argnames[nbl->args->argv[0].arg]); |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case LIST_item: |
case LIST_item: |
Line 1657 post_root(POST_ARGS) |
|
Line 1665 post_root(POST_ARGS) |
|
/* Check that we begin with a proper `Sh'. */ |
/* Check that we begin with a proper `Sh'. */ |
|
|
if (NULL == n->child) |
if (NULL == n->child) |
mdoc_nmsg(mdoc, n, MANDOCERR_DOC_EMPTY); |
mandoc_msg(MANDOCERR_DOC_EMPTY, mdoc->parse, |
|
n->line, n->pos, NULL); |
else if (MDOC_Sh != n->child->tok) |
else if (MDOC_Sh != n->child->tok) |
mandoc_msg(MANDOCERR_SEC_BEFORE, mdoc->parse, |
mandoc_msg(MANDOCERR_SEC_BEFORE, mdoc->parse, |
n->child->line, n->child->pos, |
n->child->line, n->child->pos, |
Line 1685 post_st(POST_ARGS) |
|
Line 1694 post_st(POST_ARGS) |
|
assert(MDOC_TEXT == nch->type); |
assert(MDOC_TEXT == nch->type); |
|
|
if (NULL == (p = mdoc_a2st(nch->string))) { |
if (NULL == (p = mdoc_a2st(nch->string))) { |
mandoc_msg(MANDOCERR_ST_BAD, mdoc->parse, |
mandoc_vmsg(MANDOCERR_ST_BAD, mdoc->parse, |
nch->line, nch->pos, nch->string); |
nch->line, nch->pos, "St %s", nch->string); |
mdoc_node_delete(mdoc, n); |
mdoc_node_delete(mdoc, n); |
} else { |
} else { |
free(nch->string); |
free(nch->string); |
Line 1836 post_ns(POST_ARGS) |
|
Line 1845 post_ns(POST_ARGS) |
|
{ |
{ |
|
|
if (MDOC_LINE & mdoc->last->flags) |
if (MDOC_LINE & mdoc->last->flags) |
mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_NS_SKIP); |
mandoc_msg(MANDOCERR_NS_SKIP, mdoc->parse, |
|
mdoc->last->line, mdoc->last->pos, NULL); |
return(1); |
return(1); |
} |
} |
|
|
Line 1913 post_sh_head(POST_ARGS) |
|
Line 1923 post_sh_head(POST_ARGS) |
|
/* The NAME should be first. */ |
/* The NAME should be first. */ |
|
|
if (SEC_NAME != sec && SEC_NONE == mdoc->lastnamed) |
if (SEC_NAME != sec && SEC_NONE == mdoc->lastnamed) |
mandoc_msg(MANDOCERR_NAMESEC_FIRST, mdoc->parse, |
mandoc_vmsg(MANDOCERR_NAMESEC_FIRST, mdoc->parse, |
mdoc->last->line, mdoc->last->pos, secname); |
mdoc->last->line, mdoc->last->pos, |
|
"Sh %s", secname); |
|
|
/* The SYNOPSIS gets special attention in other areas. */ |
/* The SYNOPSIS gets special attention in other areas. */ |
|
|
Line 1957 post_sh_head(POST_ARGS) |
|
Line 1968 post_sh_head(POST_ARGS) |
|
*/ |
*/ |
|
|
if (sec == mdoc->lastnamed) |
if (sec == mdoc->lastnamed) |
mandoc_msg(MANDOCERR_SEC_REP, mdoc->parse, |
mandoc_vmsg(MANDOCERR_SEC_REP, mdoc->parse, |
mdoc->last->line, mdoc->last->pos, secname); |
mdoc->last->line, mdoc->last->pos, |
|
"Sh %s", secname); |
|
|
if (sec < mdoc->lastnamed) |
if (sec < mdoc->lastnamed) |
mandoc_msg(MANDOCERR_SEC_ORDER, mdoc->parse, |
mandoc_vmsg(MANDOCERR_SEC_ORDER, mdoc->parse, |
mdoc->last->line, mdoc->last->pos, secname); |
mdoc->last->line, mdoc->last->pos, |
|
"Sh %s", secname); |
|
|
/* Mark the last named section. */ |
/* Mark the last named section. */ |
|
|
Line 1996 post_sh_head(POST_ARGS) |
|
Line 2009 post_sh_head(POST_ARGS) |
|
goodsec = "9"; |
goodsec = "9"; |
mandoc_vmsg(MANDOCERR_SEC_MSEC, mdoc->parse, |
mandoc_vmsg(MANDOCERR_SEC_MSEC, mdoc->parse, |
mdoc->last->line, mdoc->last->pos, |
mdoc->last->line, mdoc->last->pos, |
"%s for %s only", secname, goodsec); |
"Sh %s for %s only", secname, goodsec); |
break; |
break; |
default: |
default: |
break; |
break; |
Line 2178 post_dt(POST_ARGS) |
|
Line 2191 post_dt(POST_ARGS) |
|
for (p = nn->string; *p; p++) { |
for (p = nn->string; *p; p++) { |
if (toupper((unsigned char)*p) == *p) |
if (toupper((unsigned char)*p) == *p) |
continue; |
continue; |
mandoc_msg(MANDOCERR_TITLE_CASE, |
mandoc_vmsg(MANDOCERR_TITLE_CASE, |
mdoc->parse, nn->line, |
mdoc->parse, nn->line, |
nn->pos + (p - nn->string), |
nn->pos + (p - nn->string), |
nn->string); |
"Dt %s", nn->string); |
break; |
break; |
} |
} |
|
|
Line 2225 post_dt(POST_ARGS) |
|
Line 2238 post_dt(POST_ARGS) |
|
mdoc->meta.vol = mandoc_strdup(cp); |
mdoc->meta.vol = mandoc_strdup(cp); |
mdoc->meta.msec = mandoc_strdup(nn->string); |
mdoc->meta.msec = mandoc_strdup(nn->string); |
} else { |
} else { |
mandoc_msg(MANDOCERR_MSEC_BAD, mdoc->parse, |
mandoc_vmsg(MANDOCERR_MSEC_BAD, mdoc->parse, |
nn->line, nn->pos, nn->string); |
nn->line, nn->pos, "Dt ... %s", nn->string); |
mdoc->meta.vol = mandoc_strdup(nn->string); |
mdoc->meta.vol = mandoc_strdup(nn->string); |
mdoc->meta.msec = mandoc_strdup(nn->string); |
mdoc->meta.msec = mandoc_strdup(nn->string); |
} |
} |
Line 2248 post_dt(POST_ARGS) |
|
Line 2261 post_dt(POST_ARGS) |
|
} else { |
} else { |
cp = mdoc_a2arch(nn->string); |
cp = mdoc_a2arch(nn->string); |
if (NULL == cp) { |
if (NULL == cp) { |
mandoc_msg(MANDOCERR_ARCH_BAD, mdoc->parse, |
mandoc_vmsg(MANDOCERR_ARCH_BAD, mdoc->parse, |
nn->line, nn->pos, nn->string); |
nn->line, nn->pos, "Dt ... %s", nn->string); |
free(mdoc->meta.vol); |
free(mdoc->meta.vol); |
mdoc->meta.vol = mandoc_strdup(nn->string); |
mdoc->meta.vol = mandoc_strdup(nn->string); |
} else |
} else |
Line 2359 post_ex(POST_ARGS) |
|
Line 2372 post_ex(POST_ARGS) |
|
return(1); |
return(1); |
|
|
if (mdoc->meta.name == NULL) { |
if (mdoc->meta.name == NULL) { |
mdoc_nmsg(mdoc, n, MANDOCERR_EX_NONAME); |
mandoc_msg(MANDOCERR_EX_NONAME, mdoc->parse, |
|
n->line, n->pos, "Ex"); |
return(1); |
return(1); |
} |
} |
|
|