version 1.100, 2010/08/29 11:29:51 |
version 1.101, 2010/09/04 18:31:44 |
Line 248 roffnode_pop(struct roff *r) |
|
Line 248 roffnode_pop(struct roff *r) |
|
if (r->rstackpos > -1) |
if (r->rstackpos > -1) |
r->rstackpos--; |
r->rstackpos--; |
|
|
|
ROFF_DEBUG("roff: popping scope\n"); |
r->last = r->last->parent; |
r->last = r->last->parent; |
if (p->end) |
if (p->end) |
free(p->end); |
free(p->end); |
Line 426 roff_parseln(struct roff *r, int ln, char **bufp, |
|
Line 427 roff_parseln(struct roff *r, int ln, char **bufp, |
|
if (r->last) { |
if (r->last) { |
t = r->last->tok; |
t = r->last->tok; |
assert(roffs[t].sub); |
assert(roffs[t].sub); |
ROFF_DEBUG("roff: intercept scoped context: %s\n", |
ROFF_DEBUG("roff: intercept scoped context: %s, [%s]\n", |
roffs[t].name); |
roffs[t].name, &(*bufp)[pos]); |
return((*roffs[t].sub) |
return((*roffs[t].sub) |
(r, t, bufp, szp, |
(r, t, bufp, szp, |
ln, pos, pos, offs)); |
ln, pos, pos, offs)); |
Line 760 roff_cond_sub(ROFF_ARGS) |
|
Line 761 roff_cond_sub(ROFF_ARGS) |
|
|
|
l = r->last; |
l = r->last; |
roffnode_cleanscope(r); |
roffnode_cleanscope(r); |
|
|
if (l != r->last) |
|
return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |
|
|
|
if (ROFF_MAX == (t = roff_parse(*bufp, &pos))) { |
if (ROFF_MAX == (t = roff_parse(*bufp, &pos))) { |
if ('\\' == (*bufp)[pos] && '}' == (*bufp)[pos + 1]) |
if ('\\' == (*bufp)[pos] && '}' == (*bufp)[pos + 1]) |