version 1.268, 2017/08/11 16:56:21 |
version 1.269, 2018/08/17 20:33:37 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2010, 2012-2017 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2010, 2012-2018 Ingo Schwarze <schwarze@openbsd.org> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
* purpose with or without fee is hereby granted, provided that the above |
* purpose with or without fee is hereby granted, provided that the above |
Line 80 mdoc_parseln(struct roff_man *mdoc, int ln, char *buf, |
|
Line 80 mdoc_parseln(struct roff_man *mdoc, int ln, char *buf, |
|
} |
} |
|
|
void |
void |
mdoc_macro(MACRO_PROT_ARGS) |
|
{ |
|
assert(tok >= MDOC_Dd && tok < MDOC_MAX); |
|
(*mdoc_macros[tok].fp)(mdoc, tok, line, ppos, pos, buf); |
|
} |
|
|
|
void |
|
mdoc_tail_alloc(struct roff_man *mdoc, int line, int pos, enum roff_tok tok) |
mdoc_tail_alloc(struct roff_man *mdoc, int line, int pos, enum roff_tok tok) |
{ |
{ |
struct roff_node *p; |
struct roff_node *p; |
Line 196 mdoc_ptext(struct roff_man *mdoc, int line, char *buf, |
|
Line 189 mdoc_ptext(struct roff_man *mdoc, int line, char *buf, |
|
(n->parent != NULL && n->parent->tok == MDOC_Bl && |
(n->parent != NULL && n->parent->tok == MDOC_Bl && |
n->parent->norm->Bl.type == LIST_column)) { |
n->parent->norm->Bl.type == LIST_column)) { |
mdoc->flags |= MDOC_FREECOL; |
mdoc->flags |= MDOC_FREECOL; |
mdoc_macro(mdoc, MDOC_It, line, offs, &offs, buf); |
(*mdoc_macro(MDOC_It)->fp)(mdoc, MDOC_It, |
|
line, offs, &offs, buf); |
return 1; |
return 1; |
} |
} |
|
|
Line 378 mdoc_pmacro(struct roff_man *mdoc, int ln, char *buf, |
|
Line 372 mdoc_pmacro(struct roff_man *mdoc, int ln, char *buf, |
|
|
|
n = mdoc->last; |
n = mdoc->last; |
if (n == NULL || tok == MDOC_It || tok == MDOC_El) { |
if (n == NULL || tok == MDOC_It || tok == MDOC_El) { |
mdoc_macro(mdoc, tok, ln, sv, &offs, buf); |
(*mdoc_macro(tok)->fp)(mdoc, tok, ln, sv, &offs, buf); |
return 1; |
return 1; |
} |
} |
|
|
Line 394 mdoc_pmacro(struct roff_man *mdoc, int ln, char *buf, |
|
Line 388 mdoc_pmacro(struct roff_man *mdoc, int ln, char *buf, |
|
(n->parent != NULL && n->parent->tok == MDOC_Bl && |
(n->parent != NULL && n->parent->tok == MDOC_Bl && |
n->parent->norm->Bl.type == LIST_column)) { |
n->parent->norm->Bl.type == LIST_column)) { |
mdoc->flags |= MDOC_FREECOL; |
mdoc->flags |= MDOC_FREECOL; |
mdoc_macro(mdoc, MDOC_It, ln, sv, &sv, buf); |
(*mdoc_macro(MDOC_It)->fp)(mdoc, MDOC_It, ln, sv, &sv, buf); |
return 1; |
return 1; |
} |
} |
|
|
/* Normal processing of a macro. */ |
/* Normal processing of a macro. */ |
|
|
mdoc_macro(mdoc, tok, ln, sv, &offs, buf); |
(*mdoc_macro(tok)->fp)(mdoc, tok, ln, sv, &offs, buf); |
|
|
/* In quick mode (for mandocdb), abort after the NAME section. */ |
/* In quick mode (for mandocdb), abort after the NAME section. */ |
|
|