From ddb6fc6a6df326be9539233018f96b9532d6d43f Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Tue, 30 Mar 2004 20:22:00 +0000 Subject: \lcont and \quote were being confused by whitespace (in particular, a single newline) immediately after their opening brace; this was causing a normal paragraph to be started, thus making it fiddly and annoying to arrange the first paragraph of a \lcont to be a code para or anything else special. Now fixed. [originally from svn r4005] --- input.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'input.c') diff --git a/input.c b/input.c index 4c3b10d..429b4d5 100644 --- a/input.c +++ b/input.c @@ -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 -- cgit v1.1