diff options
| -rw-r--r-- | input.c | 23 | ||||
| -rw-r--r-- | inputs/test.but | 7 |
2 files changed, 24 insertions, 6 deletions
@@ -592,14 +592,17 @@ static void read_file(paragraph ***ret, input *in, indexdata *idx) { */ dtor(t), t = get_token(in); } - if (t.type == tok_eop || t.type == tok_eof) + if (t.type == tok_eop || t.type == tok_eof || + t.type == tok_rbrace) { /* might be } terminating \lcont */ + if (t.type == tok_rbrace) + already = TRUE; break; - else if (t.type == tok_cmd && t.cmd == c_c) + } else if (t.type == tok_cmd && t.cmd == c_c) { wtype = word_WeakCode; - else if (t.type == tok_cmd && t.cmd == c_e && - wtype == word_WeakCode) + } else if (t.type == tok_cmd && t.cmd == c_e && + wtype == word_WeakCode) { wtype = word_Emph; - else { + } else { error(err_brokencodepara, &t.pos); prev_para_type = par.type; addpara(par, ret); @@ -633,6 +636,16 @@ static void read_file(paragraph ***ret, input *in, indexdata *idx) { continue; } + /* + * Also expect, and swallow, any whitespace after that + * (a newline before a code paragraph wouldn't be + * surprising). + */ + do { + dtor(t), t = get_token(in); + } while (t.type == tok_white); + already = TRUE; + if (cmd == c_lcont) { /* * \lcont causes a continuation of a list item into diff --git a/inputs/test.but b/inputs/test.but index 1fc007e..0331535 100644 --- a/inputs/test.but +++ b/inputs/test.but @@ -29,7 +29,7 @@ a bit] \define{eur} \u20AC{EUR } -\versionid $Id: test.but,v 1.24 2004/03/30 19:40:56 simon Exp $ +\versionid $Id: test.but,v 1.25 2004/03/30 20:22:00 simon Exp $ \C{ch\\ap} First chapter title; for similar wrapping reasons this chapter title will be ludicrously long. I wonder how much more @@ -97,6 +97,11 @@ And here's a sublist. Numbered, just for variety. \n 1b. +\lcont{ +\c Code +\c Paragraph +} + \n 1c. \lcont{This is an even sillier one: a continuation of a list item in |