summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--Makefile3
-rw-r--r--parser.y2
3 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b5f92a6f..0a4e1327 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2014-03-02 Kaz Kylheku <kaz@kylheku.com>
+ * parser.y (unquotes_occur): Fix use of unquote_s rather than sys_unquote_s
+ which breaks backquote, caught by tests/010/reghash.txr.
+ I thought fixed this already! But I must have made the change to y.tab.c
+ rather than parser.y.
+
+ * Makefile (lex.yy.c, y.tab.c): Make these files readonly to prevent
+ unintended edits.
+
+2014-03-02 Kaz Kylheku <kaz@kylheku.com>
+
* genvim.txr: Skip lines that contain system_package.
* txr.vim: Regenerated.
diff --git a/Makefile b/Makefile
index c1a380da..10871021 100644
--- a/Makefile
+++ b/Makefile
@@ -62,9 +62,10 @@ VPATH := $(top_srcdir)
lex.yy.c: parser.l
$(LEX) $(LEX_DBG_FLAGS) $<
+ chmod a-w $@
y.tab.c y.tab.h: parser.y
- if $(YACC) -v -d $< ; then true ; else rm $@ ; false ; fi
+ if $(YACC) -v -d $< ; then chmod a-w $@ ; true ; else rm $@ ; false ; fi
# Suppress useless sccs id array and unused label warning in byacc otuput.
# Bison-generated parser also tests for this lint define.
diff --git a/parser.y b/parser.y
index 2c48e43b..67409d4b 100644
--- a/parser.y
+++ b/parser.y
@@ -1114,7 +1114,7 @@ static val unquotes_occur(val quoted_form, int level)
return nil;
} else {
val sym = car(quoted_form);
- if (sym == unquote_s || sym == sys_splice_s)
+ if (sym == sys_unquote_s || sym == sys_splice_s)
return (level == 0) ? t : unquotes_occur(cdr(quoted_form), level - 1);
if (sym == sys_qquote_s)
return unquotes_occur(cdr(quoted_form), level + 1);