Lines Matching full:man
29 #include "man.h"
92 man_unscope(struct roff_man *man, const struct roff_node *to) in man_unscope() argument
97 n = man->last; in man_unscope()
103 if (man->flags & (MAN_BLINE | MAN_ELINE) && in man_unscope()
109 if (man->flags & MAN_ELINE) { in man_unscope()
113 man->flags &= ~MAN_ELINE; in man_unscope()
117 man->flags &= ~MAN_BLINE; in man_unscope()
119 man->last = n; in man_unscope()
121 roff_node_delete(man, man->last); in man_unscope()
132 * We might delete the man->last node in man_unscope()
138 man->last = n; in man_unscope()
140 man->last->flags |= NODE_VALID; in man_unscope()
150 man->next = (man->last == to) ? in man_unscope()
160 rew_scope(struct roff_man *man, enum roff_tok tok) in rew_scope() argument
166 n = man->last; in rew_scope()
180 man_unscope(man, n); in rew_scope()
191 man_unscope(man, n); in rew_scope()
192 n = man->last; in rew_scope()
213 if ( ! man_args(man, line, pos, buf, &p)) in blk_close()
215 for (nn = man->last->parent; nn; nn = nn->parent) in blk_close()
246 for (nn = man->last->parent; nn; nn = nn->parent) in blk_close()
253 rew_scope(man, MAN_PP); in blk_close()
255 roff_elem_alloc(man, line, ppos, ROFF_br); in blk_close()
256 man->last->flags |= NODE_LINE | in blk_close()
258 man->next = ROFF_NEXT_SIBLING; in blk_close()
263 cline = man->last->line; in blk_close()
264 cpos = man->last->pos; in blk_close()
265 ctok = man->last->tok; in blk_close()
266 man_unscope(man, nn); in blk_close()
269 roff_setreg(man->roff, "an-margin", nn->head->aux, '-'); in blk_close()
274 roff_word_alloc(man, line, ppos, buf + *pos); in blk_close()
275 man->last->flags |= NODE_DELIMC; in blk_close()
276 if (mandoc_eos(man->last->string, strlen(man->last->string))) in blk_close()
277 man->last->flags |= NODE_EOS; in blk_close()
284 blk_imp(man, ctok, cline, cpos, pos, buf); in blk_close()
289 if (tok == MAN_YS && man->last == nn) { in blk_close()
290 roff_elem_alloc(man, line, ppos, tok); in blk_close()
291 man_unscope(man, man->last); in blk_close()
303 rew_scope(man, tok); in blk_exp()
304 man->flags |= ROFF_NONOFILL; in blk_exp()
306 roff_block_alloc(man, line, ppos, tok); in blk_exp()
307 head = roff_head_alloc(man, line, ppos, tok); in blk_exp()
310 if (man_args(man, line, pos, buf, &p)) { in blk_exp()
311 roff_word_alloc(man, line, la, p); in blk_exp()
313 if (roff_getreg(man->roff, "an-margin") == 0) in blk_exp()
314 roff_setreg(man->roff, "an-margin", in blk_exp()
317 roff_setreg(man->roff, "an-margin", in blk_exp()
327 man_unscope(man, head); in blk_exp()
328 roff_body_alloc(man, line, ppos, tok); in blk_exp()
329 man->flags &= ~ROFF_NONOFILL; in blk_exp()
345 rew_scope(man, tok); in blk_imp()
346 man->flags |= ROFF_NONOFILL; in blk_imp()
348 man->flags &= ~ROFF_NOFILL; in blk_imp()
349 roff_block_alloc(man, line, ppos, tok); in blk_imp()
350 n = roff_head_alloc(man, line, ppos, tok); in blk_imp()
356 if ( ! man_args(man, line, pos, buf, &p)) in blk_imp()
358 roff_word_alloc(man, line, la, p); in blk_imp()
369 (tok == MAN_TP || tok == MAN_TQ || n == man->last)) { in blk_imp()
370 man->flags |= MAN_BLINE; in blk_imp()
376 man_unscope(man, n); in blk_imp()
377 roff_body_alloc(man, line, ppos, tok); in blk_imp()
378 man->flags &= ~ROFF_NONOFILL; in blk_imp()
388 roff_elem_alloc(man, line, ppos, tok); in in_line_eoln()
389 n = man->last; in in_line_eoln()
392 man->flags |= ROFF_NOFILL; in in_line_eoln()
394 man->flags &= ~ROFF_NOFILL; in in_line_eoln()
397 if (buf[*pos] != '\0' && man->last != n && tok == MAN_PD) { in in_line_eoln()
403 if ( ! man_args(man, line, pos, buf, &p)) in in_line_eoln()
406 man->last->type == ROFFT_TEXT) in in_line_eoln()
407 roff_word_append(man, p); in in_line_eoln()
409 roff_word_alloc(man, line, la, p); in in_line_eoln()
418 if (n != man->last && in in_line_eoln()
419 mandoc_eos(man->last->string, strlen(man->last->string))) in in_line_eoln()
420 man->last->flags |= NODE_EOS; in in_line_eoln()
428 if (n == man->last && man_macro(tok)->flags & MAN_ESCOPED) { in in_line_eoln()
429 man->flags |= MAN_ELINE; in in_line_eoln()
433 assert(man->last->type != ROFFT_ROOT); in in_line_eoln()
434 man->next = ROFF_NEXT_SIBLING; in in_line_eoln()
438 for ( ; man->last; man->last = man->last->parent) { in in_line_eoln()
439 man->last->flags |= NODE_VALID; in in_line_eoln()
440 if (man->last == n) in in_line_eoln()
447 man_descope(man, line, ppos, NULL); in in_line_eoln()
451 man_endparse(struct roff_man *man) in man_endparse() argument
453 man_unscope(man, man->meta.first); in man_endparse()
457 man_args(struct roff_man *man, int line, int *pos, char *buf, char **v) in man_args() argument
468 *v = roff_getarg(man->roff, v, line, pos); in man_args()