From d9a9cbdaadcecee63b7d7a47c5fa856e97d21950 Mon Sep 17 00:00:00 2001 From: Undecidable Robot Date: Tue, 24 May 2016 12:46:41 +0800 Subject: Improving error reporting on end of lines --- relabel.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'relabel.lua') diff --git a/relabel.lua b/relabel.lua index b0a6efc..797e094 100644 --- a/relabel.lua +++ b/relabel.lua @@ -347,9 +347,14 @@ local pattern = S * m.Cg(m.Cc(false), "G") * expect(exp, "NoPatt") / mm.P local function lineno (s, i) if i == 1 then return 1, 1 end + local adjust = 0 + if s:sub(i,i) == '\n' then + i = i-1 + adjust = 1 + end local rest, num = s:sub(1,i):gsub("[^\n]*\n", "") local r = #rest - return 1 + num, r ~= 0 and r or 1 + return 1 + num, (r ~= 0 and r or 1) + adjust end local function compile (p, defs) -- cgit v1.2.3-55-g6feb