version 1.111, 2019/04/12 11:37:09 |
version 1.112, 2019/04/12 12:07:26 |
|
|
pnode_print(struct format *f, struct pnode *n) |
pnode_print(struct format *f, struct pnode *n) |
{ |
{ |
struct pnode *nc, *nn; |
struct pnode *nc, *nn; |
enum linestate sv; |
int was_impl; |
|
|
if (n == NULL) |
if (n == NULL) |
return; |
return; |
|
|
sv = f->linestate; |
was_impl = f->flags & FMT_IMPL; |
if (n->spc) |
if (n->spc) |
f->flags &= ~FMT_NOSPC; |
f->flags &= ~FMT_NOSPC; |
else |
else |
Line 874 pnode_print(struct format *f, struct pnode *n) |
|
Line 874 pnode_print(struct format *f, struct pnode *n) |
|
break; |
break; |
case NODE_EDITOR: |
case NODE_EDITOR: |
print_text(f, "editor:", ARG_SPACE); |
print_text(f, "editor:", ARG_SPACE); |
sv = LINE_TEXT; |
|
macro_open(f, "An"); |
macro_open(f, "An"); |
break; |
break; |
case NODE_EMAIL: |
case NODE_EMAIL: |
Line 922 pnode_print(struct format *f, struct pnode *n) |
|
Line 921 pnode_print(struct format *f, struct pnode *n) |
|
pnode_printlink(f, n); |
pnode_printlink(f, n); |
break; |
break; |
case NODE_LITERAL: |
case NODE_LITERAL: |
macro_open(f, "Ql"); |
if (was_impl) |
|
macro_open(f, "So"); |
|
else { |
|
macro_open(f, "Ql"); |
|
f->flags |= FMT_IMPL; |
|
} |
break; |
break; |
case NODE_LITERALLAYOUT: |
case NODE_LITERALLAYOUT: |
macro_close(f); |
macro_close(f); |
Line 965 pnode_print(struct format *f, struct pnode *n) |
|
Line 969 pnode_print(struct format *f, struct pnode *n) |
|
pnode_unlinksub(n); |
pnode_unlinksub(n); |
break; |
break; |
case NODE_QUOTE: |
case NODE_QUOTE: |
macro_open(f, "Qo"); |
if (was_impl) |
|
macro_open(f, "Do"); |
|
else { |
|
macro_open(f, "Dq"); |
|
f->flags |= FMT_IMPL; |
|
} |
break; |
break; |
case NODE_PROGRAMLISTING: |
case NODE_PROGRAMLISTING: |
case NODE_SCREEN: |
case NODE_SCREEN: |
Line 1051 pnode_print(struct format *f, struct pnode *n) |
|
Line 1060 pnode_print(struct format *f, struct pnode *n) |
|
case NODE_INLINEEQUATION: |
case NODE_INLINEEQUATION: |
macro_line(f, "EN"); |
macro_line(f, "EN"); |
break; |
break; |
|
case NODE_LITERAL: |
|
if (was_impl) |
|
macro_open(f, "Sc"); |
|
else |
|
f->flags &= ~FMT_IMPL; |
|
break; |
case NODE_MEMBER: |
case NODE_MEMBER: |
if ((nn = TAILQ_NEXT(n, child)) != NULL && |
if ((nn = TAILQ_NEXT(n, child)) != NULL && |
nn->node != NODE_MEMBER) |
nn->node != NODE_MEMBER) |
Line 1078 pnode_print(struct format *f, struct pnode *n) |
|
Line 1093 pnode_print(struct format *f, struct pnode *n) |
|
fputs(" } ", stdout); |
fputs(" } ", stdout); |
break; |
break; |
case NODE_QUOTE: |
case NODE_QUOTE: |
if (sv == LINE_NEW) |
if (was_impl) |
macro_close(f); |
macro_open(f, "Dc"); |
sv = f->linestate; |
else |
macro_open(f, "Qc"); |
f->flags &= ~FMT_IMPL; |
if (sv == LINE_NEW) |
|
macro_close(f); |
|
break; |
break; |
case NODE_PREFACE: |
case NODE_PREFACE: |
case NODE_SECTION: |
case NODE_SECTION: |