summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--match.c2
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 695e17a6..44427204 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2010-01-24 Kaz Kylheku <kkylheku@gmail.com>
+ * match.c (match_files): Workaround for GC issue
+ discovered on Red Hat EL 4 with gcc 3.4.3.
+ In the collect loop, set car(success) to nil.
+ Somehow the generated code hangs on to the last
+ matching position for a regex, preventing GC.
+
+2010-01-24 Kaz Kylheku <kkylheku@gmail.com>
+
* stream.c (vformat_num): Fix bad width calculation.
2010-01-21 Kaz Kylheku <kkylheku@gmail.com>
diff --git a/match.c b/match.c
index 85e65cf0..bf58e416 100644
--- a/match.c
+++ b/match.c
@@ -1256,6 +1256,8 @@ repeat_spec_same_data:
debuglf(spec_linenum, lit("collect consumed entire file"), nao);
data = nil;
}
+
+ *car_l(success) = nil;
} else {
data = rest(data);
data_lineno++;