summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-01-10 20:11:38 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-01-10 20:11:38 -0800
commitba9a6aade4adf32b4361aa8db8b156fdb40e2cd5 (patch)
tree1a1d2ea421fff889e2ef6aff99c5d1ecd1846dd0 /parser.l
parentf4bd17eab2667962090fc8a918b553badad671bc (diff)
downloadtxr-ba9a6aade4adf32b4361aa8db8b156fdb40e2cd5.tar.gz
txr-ba9a6aade4adf32b4361aa8db8b156fdb40e2cd5.tar.bz2
txr-ba9a6aade4adf32b4361aa8db8b156fdb40e2cd5.zip
* eval.c (eval_init): Renaming lisp-parse to read; lisp-parse
is retained as an obsolescent synonym. All arguments become optional. * parser.l (lisp_parse): Handle nil source. * txr.1: Updated.
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l6
1 files changed, 4 insertions, 2 deletions
diff --git a/parser.l b/parser.l
index 6ffc4db8..449fb236 100644
--- a/parser.l
+++ b/parser.l
@@ -850,11 +850,13 @@ val regex_parse(val string, val error_stream)
val lisp_parse(val source, val error_stream)
{
uses_or2;
- val input_stream = if3(stringp(source), make_string_byte_input_stream(source), source);
+ val input_stream = if3(stringp(source),
+ make_string_byte_input_stream(source),
+ or2(source, std_input));
val secret_token_stream = make_string_byte_input_stream(lit("@\x01" "E"));
val name = if3(stringp(source),
format(nil, lit("expr: ~s"), source, nao),
- stream_get_prop(source, name_k));
+ stream_get_prop(input_stream, name_k));
val save_stream = std_error;
yyin_stream = make_catenated_stream(list(secret_token_stream, input_stream, nao));
errors = 0;