summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-10-20 20:28:16 -0400
committerKaz Kylheku <kaz@kylheku.com>2011-10-20 20:28:16 -0400
commitc3874aa95d260547711ed3bad4167642f51971ee (patch)
tree203a3e042b61bf11757ebe71fe83989aa122767a
parentb3e5a116825935bc1ee4b596b730c822bf66a4da (diff)
downloadtxr-c3874aa95d260547711ed3bad4167642f51971ee.tar.gz
txr-c3874aa95d260547711ed3bad4167642f51971ee.tar.bz2
txr-c3874aa95d260547711ed3bad4167642f51971ee.zip
Bug #34609
* match.c (v_block): Regression induced by rabid refactoring. Block must apply remaining directives to data, excluding itself, otherwise runaway recursion takes the place of correct behavior.
-rw-r--r--ChangeLog8
-rw-r--r--match.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a7e03e0b..af930518 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-10-20 Kaz Kylheku <kaz@kylheku.com>
+
+ Bug #34609
+
+ * match.c (v_block): Regression induced by rabid refactoring. Block
+ must apply remaining directives to data, excluding itself, otherwise
+ runaway recursion takes the place of correct behavior.
+
2011-10-19 Kaz Kylheku <kaz@kylheku.com>
Version 040
diff --git a/match.c b/match.c
index 71db1f2d..8b512f1b 100644
--- a/match.c
+++ b/match.c
@@ -1554,7 +1554,7 @@ static val v_block(match_files_ctx c, match_files_ctx *cout)
sem_error(spec_linenum,
lit("unexpected material after block directive"), nao);
- if (rest(c.spec))
+ if ((c.spec = rest(c.spec)) != nil)
{
uw_block_begin(name, result);
result = match_files(c);