From: simon Date: Tue, 30 Mar 2004 20:22:00 +0000 (+0000) Subject: \lcont and \quote were being confused by whitespace (in particular, X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/commitdiff_plain/780f45d46e5b1c840453ec46779bb6b9bd478cc4 \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. git-svn-id: svn://svn.tartarus.org/sgt/halibut@4005 cda61777-01e9-0310-a592-d414129be87e --- 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 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