summaryrefslogtreecommitdiffstats
path: root/regex.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-06-15 00:27:50 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-06-15 00:27:50 -0700
commit3f87793404053b98fe0f6a20fafaf7e841f23f71 (patch)
treed7262e22b49b76c1ab7131af1087db96814be6f3 /regex.c
parent2f2126e0e8b67b63c08ad2d86e07f076233bb2bb (diff)
downloadtxr-3f87793404053b98fe0f6a20fafaf7e841f23f71.tar.gz
txr-3f87793404053b98fe0f6a20fafaf7e841f23f71.tar.bz2
txr-3f87793404053b98fe0f6a20fafaf7e841f23f71.zip
Replace lt(x, zero) pattern.
This slight inefficiency occurs in some 37 places in the code. In most places we replace lt(x, zero) with minusp(x). In a few places, !plusp(x) is used and surrounding logic is simplified. In one case, the silly pattern lt(x, zero) ? t : nil is replaced with just minusp(x). * buf.c (sub_buf, replace_buf): Replace lt. * combi.c (perm, rperm, comb, rcomb): Likewise. * eval.c (do_format_field): Likewise. * lib.c (listref, sub_list, replace_list, split_func, split_star_func, match_str, lazy_sub-str, sub_str, replace_str, sub_vec, replace_vec): Likewise. * match.c (weird_merge): Likewise. * regex.c (match_regex, match_regex_right_old, match_regex_right, regex_prefix_match, regex_range_left, regex_range_right): Likewise.
Diffstat (limited to 'regex.c')
-rw-r--r--regex.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/regex.c b/regex.c
index 47f1e0c3..50a246c7 100644
--- a/regex.c
+++ b/regex.c
@@ -2701,9 +2701,9 @@ val match_regex(val str, val reg, val pos)
if (null_or_missing_p(pos)) {
pos = zero;
- } else if (lt(pos, zero)) {
+ } else if (minusp(pos)) {
pos = plus(pos, length_str(str));
- if (lt(pos, zero))
+ if (minusp(pos))
return nil;
} else if (length_str_lt(str, pos)) {
return nil;
@@ -2750,7 +2750,7 @@ static val match_regex_right_old(val str, val regex, val end)
if (null_or_missing_p(end) || gt(end, slen))
end = slen;
- else if (lt(end, zero))
+ else if (minusp(end))
end = plus(end, slen);
while (le(pos, end)) {
@@ -2778,7 +2778,7 @@ val match_regex_right(val str, val regex, val end)
end = len;
} else if (minusp(end)) {
end = plus(end, len);
- if (lt(end, zero))
+ if (minusp(end))
return nil;
} else if (gt(end, len)) {
return nil;
@@ -2824,9 +2824,9 @@ val regex_prefix_match(val reg, val str, val pos)
if (null_or_missing_p(pos)) {
pos = zero;
- } else if (lt(pos, zero)) {
+ } else if (minusp(pos)) {
pos = plus(pos, length_str(str));
- if (lt(pos, zero))
+ if (minusp(pos))
return nil;
} else if (length_str_lt(str, pos)) {
return nil;
@@ -3045,7 +3045,7 @@ val regex_range_left(val regex, val arg1, val arg2)
val len = match_regex(arg1, regex, arg2);
return if2(len, rcons(zero, len));
} else {
- val pos = if3(lt(arg1, zero), plus(arg1, length_str(arg2)), arg1);
+ val pos = if3(minusp(arg1), plus(arg1, length_str(arg2)), arg1);
val new_pos = if3(minusp(pos), nil, match_regex(arg2, regex, pos));
return if2(new_pos, rcons(pos, new_pos));
}
@@ -3062,7 +3062,7 @@ val regex_range_right(val regex, val arg1, val arg2)
return nil;
}
} else {
- val end = if3(lt(arg1, zero), plus(arg1, length_str(arg2)), arg1);
+ val end = if3(minusp(arg1), plus(arg1, length_str(arg2)), arg1);
val len = match_regex_right(arg2, regex, end);
return if2(len, rcons(minus(end, len), end));
}