Lines Matching defs:man
34 #include "man.h"
97 man_unscope(struct roff_man *man, const struct roff_node *to)
102 n = man->last;
108 if (man->flags & (MAN_BLINE | MAN_ELINE) &&
114 if (man->flags & MAN_ELINE) {
118 man->flags &= ~MAN_ELINE;
122 man->flags &= ~MAN_BLINE;
124 man->last = n;
126 roff_node_delete(man, man->last);
137 * We might delete the man->last node
143 man->last = n;
145 man->last->flags |= NODE_VALID;
155 man->next = (man->last == to) ?
165 rew_scope(struct roff_man *man, enum roff_tok tok)
171 n = man->last;
185 man_unscope(man, n);
196 man_unscope(man, n);
197 n = man->last;
218 if ( ! man_args(man, line, pos, buf, &p))
220 for (nn = man->last->parent; nn; nn = nn->parent)
251 for (nn = man->last->parent; nn; nn = nn->parent)
258 rew_scope(man, MAN_PP);
260 roff_elem_alloc(man, line, ppos, ROFF_br);
261 man->last->flags |= NODE_LINE |
263 man->next = ROFF_NEXT_SIBLING;
268 cline = man->last->line;
269 cpos = man->last->pos;
270 ctok = man->last->tok;
271 man_unscope(man, nn);
274 roff_setreg(man->roff, "an-margin", nn->head->aux, '-');
279 roff_word_alloc(man, line, ppos, buf + *pos);
280 man->last->flags |= NODE_DELIMC;
281 if (mandoc_eos(man->last->string, strlen(man->last->string)))
282 man->last->flags |= NODE_EOS;
289 blk_imp(man, ctok, cline, cpos, pos, buf);
294 if (tok == MAN_YS && man->last == nn) {
295 roff_elem_alloc(man, line, ppos, tok);
296 man_unscope(man, man->last);
308 rew_scope(man, tok);
309 man->flags |= ROFF_NONOFILL;
311 roff_block_alloc(man, line, ppos, tok);
312 head = roff_head_alloc(man, line, ppos, tok);
315 if (man_args(man, line, pos, buf, &p)) {
316 roff_word_alloc(man, line, la, p);
318 if (roff_getreg(man->roff, "an-margin") == 0)
319 roff_setreg(man->roff, "an-margin",
322 roff_setreg(man->roff, "an-margin",
332 man_unscope(man, head);
333 roff_body_alloc(man, line, ppos, tok);
334 man->flags &= ~ROFF_NONOFILL;
350 rew_scope(man, tok);
351 man->flags |= ROFF_NONOFILL;
353 man->flags &= ~ROFF_NOFILL;
354 roff_block_alloc(man, line, ppos, tok);
355 n = roff_head_alloc(man, line, ppos, tok);
361 if ( ! man_args(man, line, pos, buf, &p))
363 roff_word_alloc(man, line, la, p);
374 (tok == MAN_TP || tok == MAN_TQ || n == man->last)) {
375 man->flags |= MAN_BLINE;
381 man_unscope(man, n);
382 roff_body_alloc(man, line, ppos, tok);
383 man->flags &= ~ROFF_NONOFILL;
393 roff_elem_alloc(man, line, ppos, tok);
394 n = man->last;
397 man->flags |= ROFF_NOFILL;
399 man->flags &= ~ROFF_NOFILL;
407 if (buf[*pos] != '\0' && man->last != n && tok == MAN_PD) {
413 if ( ! man_args(man, line, pos, buf, &p))
416 man->last->type == ROFFT_TEXT)
417 roff_word_append(man, p);
419 roff_word_alloc(man, line, la, p);
428 if (n != man->last &&
429 mandoc_eos(man->last->string, strlen(man->last->string)))
430 man->last->flags |= NODE_EOS;
438 if (n == man->last && man_macro(tok)->flags & MAN_ESCOPED) {
439 man->flags |= MAN_ELINE;
443 assert(man->last->type != ROFFT_ROOT);
444 man->next = ROFF_NEXT_SIBLING;
448 for ( ; man->last; man->last = man->last->parent) {
449 man->last->flags |= NODE_VALID;
450 if (man->last == n)
457 man_descope(man, line, ppos, NULL);
461 man_endparse(struct roff_man *man)
463 man_unscope(man, man->meta.first);
467 man_args(struct roff_man *man, int line, int *pos, char *buf, char **v)
478 *v = roff_getarg(man->roff, v, line, pos);