summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--parser.c10
2 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index aa862461..94506078 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2015-07-10 Kaz Kylheku <kaz@kylheku.com>
+ Fix off by one error line numbers for .tl files.
+
+ * parser.c (read_eval_stream): Add terminating newline to
+ the first line that was examined for hash bang.
+
+2015-07-10 Kaz Kylheku <kaz@kylheku.com>
+
Remove unused "primer" member from parser_t.
* parser.c (parser_mark, parser_common_init): Remove reference to primer.
diff --git a/parser.c b/parser.c
index 26d7dfba..cbb4893b 100644
--- a/parser.c
+++ b/parser.c
@@ -281,9 +281,13 @@ val read_eval_stream(val stream, val error_stream, val hash_bang_support)
if (hash_bang_support) {
val firstline = get_line(stream);
- if (!match_str(firstline, lit("#!"), nil)) {
- val string_stream = make_string_byte_input_stream(firstline);
- stream = make_catenated_stream(list(string_stream, stream, nao));
+ if (firstline) {
+ val flwnl = cat_str(list(firstline, lit("\n"), nao), nil);
+
+ if (!match_str(flwnl, lit("#!"), nil)) {
+ val string_stream = make_string_byte_input_stream(flwnl);
+ stream = make_catenated_stream(list(string_stream, stream, nao));
+ }
}
}