summaryrefslogtreecommitdiffstats
path: root/parser.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-07-10 08:26:08 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-07-10 08:26:08 -0700
commit79559dec677dcc147d79222e3ce5a30cf17b1164 (patch)
tree15feb4db488c9d5a6530e90f5f149893be404cf1 /parser.c
parentba7e2f2fa7ebe01d8eb733aff53b01b217ebabac (diff)
downloadtxr-79559dec677dcc147d79222e3ce5a30cf17b1164.tar.gz
txr-79559dec677dcc147d79222e3ce5a30cf17b1164.tar.bz2
txr-79559dec677dcc147d79222e3ce5a30cf17b1164.zip
Fix wrong name reported for errors in first top-level form.
* parser.c (read_eval_stream): Get name of original stream, and pass that down to lisp_parse as the name argument.
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/parser.c b/parser.c
index cbb4893b..2bc5879c 100644
--- a/parser.c
+++ b/parser.c
@@ -277,6 +277,7 @@ val lisp_parse(val source_in, val error_stream, val error_return_val, val name_i
val read_eval_stream(val stream, val error_stream, val hash_bang_support)
{
val error_val = gensym(nil);
+ val name = stream_get_prop(stream, name_k);
if (hash_bang_support) {
val firstline = get_line(stream);
@@ -292,7 +293,7 @@ val read_eval_stream(val stream, val error_stream, val hash_bang_support)
}
for (;;) {
- val form = lisp_parse(stream, error_stream, error_val, nil);
+ val form = lisp_parse(stream, error_stream, error_val, name);
if (form == error_val) {
if (parser_errors(get_parser(stream)) == zero)