diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-06-27 20:49:54 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-06-27 20:49:54 -0700 |
commit | f68ce026f8cbf8bd85ffcc98beeaad75dab56c7c (patch) | |
tree | a736f7a0a41815cce521fa0f3886075dcf67972a /stdlib | |
parent | 76ab4a2923919f837817e63f86dca9cd6d4ed82c (diff) | |
download | txr-f68ce026f8cbf8bd85ffcc98beeaad75dab56c7c.tar.gz txr-f68ce026f8cbf8bd85ffcc98beeaad75dab56c7c.tar.bz2 txr-f68ce026f8cbf8bd85ffcc98beeaad75dab56c7c.zip |
regex: bugfix: print/read consistency of n-ary ops.
The regex-compile function accepts syntax in which certain
operators like (or ...) can be n-ary. This representation
is converted to the strictly binary form that is understood
by the compiler internals (and which regex-parse outputs),
as well as the regex printer.
Unfrotunately, regex-compile is attaching the original
form with the n-ary operators to the regex object, and the
printer does not reat this; it renders the syntax with
portions missing. It needs the binary form.
* regex.c (regex_compile): Capture the intermediate result
from calling reg_nary_to_bin, and use that as regex_source.
The pass that through the remaining two optimization passes
to obtain regex_sexp which is compiled.
Diffstat (limited to 'stdlib')
0 files changed, 0 insertions, 0 deletions