version 1.69, 2019/03/24 16:45:46 |
version 1.70, 2019/03/24 21:00:11 |
Line 711 macro_closepunct(struct parse *p, struct pnode *pn) |
|
Line 711 macro_closepunct(struct parse *p, struct pnode *pn) |
|
} |
} |
|
|
static void |
static void |
|
print_text(struct parse *p, const char *word) |
|
{ |
|
switch (p->linestate) { |
|
case LINE_NEW: |
|
break; |
|
case LINE_TEXT: |
|
putchar(' '); |
|
break; |
|
case LINE_MACRO: |
|
macro_close(p); |
|
break; |
|
} |
|
fputs(word, stdout); |
|
p->linestate = LINE_TEXT; |
|
} |
|
|
|
static void |
pnode_printpara(struct parse *p, struct pnode *pn) |
pnode_printpara(struct parse *p, struct pnode *pn) |
{ |
{ |
struct pnode *pp; |
struct pnode *pp; |
Line 1109 pnode_printprologue(struct parse *p, struct pnode *pn) |
|
Line 1126 pnode_printprologue(struct parse *p, struct pnode *pn) |
|
|
|
if (p->flags & PARSE_EQN) { |
if (p->flags & PARSE_EQN) { |
macro_line(p, "EQ"); |
macro_line(p, "EQ"); |
puts("delim $$"); |
print_text(p, "delim $$"); |
macro_line(p, "EN"); |
macro_line(p, "EN"); |
} |
} |
} |
} |
Line 1129 pnode_printvarlistentry(struct parse *p, struct pnode |
|
Line 1146 pnode_printvarlistentry(struct parse *p, struct pnode |
|
if (pp->node != NODE_TERM) |
if (pp->node != NODE_TERM) |
continue; |
continue; |
if ( ! first) |
if ( ! first) |
putchar(','); |
macro_addarg(p, ",", MACROLINE_NOWS); |
pnode_print(p, pp); |
pnode_print(p, pp); |
first = 0; |
first = 0; |
} |
} |
Line 1273 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 1290 pnode_print(struct parse *p, struct pnode *pn) |
|
macro_open(p, "Dv"); |
macro_open(p, "Dv"); |
break; |
break; |
case NODE_EDITOR: |
case NODE_EDITOR: |
if (p->linestate != LINE_NEW) |
print_text(p, "editor:"); |
putchar('\n'); |
|
puts("editor:"); |
|
p->linestate = LINE_TEXT; |
|
macro_open(p, "An"); |
macro_open(p, "An"); |
break; |
break; |
case NODE_EMAIL: |
case NODE_EMAIL: |
Line 1391 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 1405 pnode_print(struct parse *p, struct pnode *pn) |
|
break; |
break; |
case NODE_REFNAME: |
case NODE_REFNAME: |
/* Suppress non-text children... */ |
/* Suppress non-text children... */ |
macro_nodeline(p, "Nm", pn); |
macro_open(p, "Nm"); |
|
macro_addnode(p, pn, 0); |
pnode_unlinksub(pn); |
pnode_unlinksub(pn); |
break; |
break; |
case NODE_REFNAMEDIV: |
case NODE_REFNAMEDIV: |
Line 1566 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 1581 pnode_print(struct parse *p, struct pnode *pn) |
|
pn->parent->node == NODE_REFNAMEDIV && |
pn->parent->node == NODE_REFNAMEDIV && |
TAILQ_NEXT(pn, child) != NULL && |
TAILQ_NEXT(pn, child) != NULL && |
TAILQ_NEXT(pn, child)->node == NODE_REFNAME) |
TAILQ_NEXT(pn, child)->node == NODE_REFNAME) |
fputs(" ,", stdout); |
macro_addarg(p, ",", 0); |
if (sv == LINE_NEW) |
if (sv == LINE_NEW) |
macro_close(p); |
macro_close(p); |
break; |
break; |