a period specially _even_ if there's an \fB or similar escape
sequence before the period. Therefore, man_rdaddctrl() now doesn't
clear the QUOTE_INITCTRL flag just because it generated some text;
instead, its call sites clear the flag when the _type_ of generated
text is appropriate for this. This should remove an error from the
`lns' man page (utils/lns/lns.but), which was where I noticed the
problem.
git-svn-id: svn://svn.tartarus.org/sgt/halibut@6871
cda61777-01e9-0310-a592-
d414129be87e
manconfig *conf, charset_state *state) {
quote_props = man_rdaddwc_reset(rs, quote_props, conf, state);
rdaddsc(rs, c);
manconfig *conf, charset_state *state) {
quote_props = man_rdaddwc_reset(rs, quote_props, conf, state);
rdaddsc(rs, c);
- if (*c)
- quote_props &= ~QUOTE_INITCTRL; /* not at start any more */
quote_props &= ~QUOTE_INITCTRL; /* not at start any more */
*state = s2;
}
quote_props &= ~QUOTE_INITCTRL; /* not at start any more */
*state = s2;
}
quote_props =
man_rdaddctrl(rs, "-", quote_props, conf, state);
quote_props =
man_rdaddctrl(rs, "-", quote_props, conf, state);
+ quote_props &= ~QUOTE_INITCTRL;
+ }
} else {
quote_props = man_rdaddwc(rs, text->alt, NULL,
quote_props, conf, state);
} else {
quote_props = man_rdaddwc(rs, text->alt, NULL,
quote_props, conf, state);
sfree(c);
} else if (removeattr(text->type) == word_WhiteSpace) {
quote_props = man_rdaddctrl(rs, " ", quote_props, conf, state);
sfree(c);
} else if (removeattr(text->type) == word_WhiteSpace) {
quote_props = man_rdaddctrl(rs, " ", quote_props, conf, state);
+ quote_props &= ~QUOTE_INITCTRL;
} else if (removeattr(text->type) == word_Quote) {
man_convert(quoteaux(text->aux) == quote_Open ?
conf->lquote : conf->rquote, 0,
} else if (removeattr(text->type) == word_Quote) {
man_convert(quoteaux(text->aux) == quote_Open ?
conf->lquote : conf->rquote, 0,