From 09bec4f655754f06ecea62cd939339a793a60719 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 24 Feb 2012 05:21:01 -0800 Subject: * match.c (h_var): Eliminated uses of rl function, in favor of rlcp. Only the parser should use rl to establish location info. --- match.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'match.c') diff --git a/match.c b/match.c index cf674eaf..5f6e6ecc 100644 --- a/match.c +++ b/match.c @@ -473,9 +473,7 @@ static val h_var(match_line_ctx *c) and it must be transformed into ( ...) */ if (pat) { - val loc = source_loc(c->specline); - c->specline = cons(cdr(pair), cons(pat, rest(c->specline))); - rl(car(c->specline), loc); + c->specline = rlcp(cons(cdr(pair), cons(pat, rest(c->specline))), c->specline); } else if (fixnump(modifier)) { val past = plus(c->pos, modifier); @@ -496,9 +494,7 @@ static val h_var(match_line_ctx *c) c->pos = past; c->specline = cdr(c->specline); } else { - val loc = source_loc(c->specline); - c->specline = cons(cdr(pair), rest(c->specline)); - rl(car(c->specline), loc); + c->specline = rlcp(cons(cdr(pair), rest(c->specline)), c->specline); } return repeat_spec_k; } else if (consp(modifier)) { /* var bound over text matched by form */ @@ -515,9 +511,7 @@ static val h_var(match_line_ctx *c) c->pos = new_pos; /* This may have another variable attached */ if (pat) { - val loc = source_loc(c->specline); - c->specline = cons(pat, rest(c->specline)); - rl(car(c->specline), loc); + c->specline = rlcp(cons(pat, rest(c->specline)), c->specline); return repeat_spec_k; } } else if (fixnump(modifier)) { /* fixed field */ @@ -596,9 +590,7 @@ static val h_var(match_line_ctx *c) LOG_MATCH("double var regex (second var)", plus(fpos, flen)); c->pos = plus(fpos, flen); if (next_pat) { - val loc = source_loc(c->specline); - c->specline = cons(next_pat, rest(c->specline)); - rl(car(c->specline), loc); + c->specline = rlcp(cons(next_pat, rest(c->specline)), c->specline); return repeat_spec_k; } } else if (!pair) { -- cgit v1.2.3