diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2013-12-06 08:47:36 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2013-12-06 08:47:36 -0800 |
commit | b55fa7a69f286149092cd25902871019c6795b9d (patch) | |
tree | 7022e5b7b5221194c2c06aa86a74a693e079ad3e /regex.c | |
parent | b26f98511a911537fef73a1925df6d91a7829b6e (diff) | |
download | txr-b55fa7a69f286149092cd25902871019c6795b9d.tar.gz txr-b55fa7a69f286149092cd25902871019c6795b9d.tar.bz2 txr-b55fa7a69f286149092cd25902871019c6795b9d.zip |
* eval.c (eval_init): Update registration of regex-compile
to reflect that it has two arguments now.
* parser.y (grammar): Update calls to regex_compile to
pass two arguments. Since we don't expect regex_compile to
parse, we specify the error stream as nil.
(spec): The "secret syntax" for a regex is simplified
not to include the slashes. This provides better diagnostics for
unterminated syntax and requires less string processing to generate.
Also, the form returned doesn't have the regex symbol
consed onto it, which parse_regex just throws away.
* regex.c (regex_compile): Now takes a stream argument.
* regex.h (regex_compile): Declaration updated.
* txr.1: Updated
Diffstat (limited to 'regex.c')
-rw-r--r-- | regex.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1613,11 +1613,11 @@ static val regex_requires_dv(val exp) } } -val regex_compile(val regex_sexp) +val regex_compile(val regex_sexp, val error_stream) { if (stringp(regex_sexp)) { - regex_sexp = regex_parse(regex_sexp, nil); - return if2(regex_sexp, regex_compile(regex_sexp)); + regex_sexp = regex_parse(regex_sexp, error_stream); + return if2(regex_sexp, regex_compile(regex_sexp, error_stream)); } else if (opt_derivative_regex || regex_requires_dv(regex_sexp)) { return cons(compiled_regex_s, cons(dv_compile_regex(regex_sexp), nil)); } else { |