From a8b0e36b1760e51a8a3a25d4e22a325e407ef3d4 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 14 Mar 2014 02:45:20 -0700 Subject: * parser.l (regex_parse, lisp_parse): Fix neglected handling of optional arguments. This problem can cause the symbol : to be planted as the std_error stream, resulting in an error loop that blows the stack. * regex.c (regex_compile): Likewise. --- regex.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'regex.c') diff --git a/regex.c b/regex.c index 2137ca56..b7f63113 100644 --- a/regex.c +++ b/regex.c @@ -1645,7 +1645,7 @@ static val regex_requires_dv(val exp) val regex_compile(val regex_sexp, val error_stream) { if (stringp(regex_sexp)) { - regex_sexp = regex_parse(regex_sexp, error_stream); + regex_sexp = regex_parse(regex_sexp, default_bool_arg(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)); -- cgit v1.2.3