summaryrefslogtreecommitdiffstats
path: root/regex.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-09-12 21:28:59 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-09-12 21:28:59 -0700
commit501f5a9e01b9b27e9b2199691c122cb30b956508 (patch)
treee99ff7cbb7b98d6d2df6ee48b283fac478aa8c85 /regex.c
parent0f4d29d3662c4acb67df31481c2919c34ffb22f4 (diff)
downloadtxr-501f5a9e01b9b27e9b2199691c122cb30b956508.tar.gz
txr-501f5a9e01b9b27e9b2199691c122cb30b956508.tar.bz2
txr-501f5a9e01b9b27e9b2199691c122cb30b956508.zip
regex: retain unoptimized form for printing.
regex.c (regex_compile): Take the source code to be the original code, rather than the version with AST-level optimizations and expansions related to the nongreedy operator.
Diffstat (limited to 'regex.c')
-rw-r--r--regex.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/regex.c b/regex.c
index 31076795..61f4b5e9 100644
--- a/regex.c
+++ b/regex.c
@@ -2201,7 +2201,7 @@ static val regex_requires_dv(val exp)
val regex_compile(val regex_sexp, val error_stream)
{
- val regex_source;
+ val regex_source = regex_sexp;
if (stringp(regex_sexp)) {
regex_sexp = regex_parse(regex_sexp, default_null_arg(error_stream));
@@ -2210,10 +2210,6 @@ val regex_compile(val regex_sexp, val error_stream)
regex_sexp = reg_optimize(reg_expand_nongreedy(reg_nary_to_bin(regex_sexp)));
- regex_source = if3(stringp(regex_sexp),
- cons(compound_s, cons(regex_sexp, nil)),
- regex_sexp);
-
if (opt_derivative_regex || regex_requires_dv(regex_sexp)) {
regex_t *regex = coerce(regex_t *, chk_malloc(sizeof *regex));
val ret;