summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-06-19 09:18:24 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-06-19 09:18:24 -0700
commit1081759195124f46fba0028c3583aa878fa72869 (patch)
tree2ee2f2b4a7522b18c573ab287ec3319310b3eb64
parent7b0433984c9f672fcde3f7cd39d1cdbd60abb6e7 (diff)
downloadtxr-1081759195124f46fba0028c3583aa878fa72869.tar.gz
txr-1081759195124f46fba0028c3583aa878fa72869.tar.bz2
txr-1081759195124f46fba0028c3583aa878fa72869.zip
* parser.c (parser_mark): Do not mark p->syntax_tree if
its value is nao. Introduced on 2015-06-10, "Error handling improvement in read".
-rw-r--r--ChangeLog6
-rw-r--r--parser.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 82b28fc1..8cae4f5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-06-19 Kaz Kylheku <kaz@kylheku.com>
+
+ * parser.c (parser_mark): Do not mark p->syntax_tree if
+ its value is nao. Introduced on 2015-06-10, "Error handling improvement
+ in read".
+
2015-06-18 Kaz Kylheku <kaz@kylheku.com>
* lib.c (mkstring): Fix neglect to null terminate.
diff --git a/parser.c b/parser.c
index 86511fdf..32052700 100644
--- a/parser.c
+++ b/parser.c
@@ -59,7 +59,8 @@ static void parser_mark(val obj)
gc_mark(p->stream);
gc_mark(p->name);
gc_mark(p->prepared_msg);
- gc_mark(p->syntax_tree);
+ if (p->syntax_tree != nao)
+ gc_mark(p->syntax_tree);
gc_mark(p->primer);
}