summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwww-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-05-02 06:38:07 +0000
committerwww-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-05-02 06:38:07 +0000
commite47f29d37d32b4c3ea265629ac06eafa295ce7f0 (patch)
tree8055ab179824b42c64876aa26025b573e7bd8073
parent82f19216a4f99bb2d60c01a96383f1a365ec81e8 (diff)
web commit by joey
-rw-r--r--doc/bugs.mdwn6
1 files changed, 5 insertions, 1 deletions
diff --git a/doc/bugs.mdwn b/doc/bugs.mdwn
index 64120d34f..546682fa2 100644
--- a/doc/bugs.mdwn
+++ b/doc/bugs.mdwn
@@ -35,4 +35,8 @@
raw rather than removed (bad).
* add_depends() needs work. If there are two preprocessor directives on a page, and one calls add_depends("foo"), while the other calls add_depends("* !foo"), the second one wins, page foo will not be matched by the appended globlist.
- What it needs to do is be smarter about merging depends, so if "foo" is added to "!foo", it should yeild "foo"; adding "!foo" to "foo" should again yeild "foo". That's easy, what's hard is when there are globs involved and potentially partially overlapping included and excluded subsets.. \ No newline at end of file
+ What it needs to do is be smarter about merging depends, so if "foo" is added to "!foo", it should yeild "foo"; adding "!foo" to "foo" should again yeild "foo". That's easy, what's hard is when there are globs involved and potentially partially overlapping included and excluded subsets..
+
+ A basic heuristic might be, when merging two globlists, if either contains negated expressions, remove those expressions. This is not ideal, it does avoid it skipping pages that should be in the merged list though.
+
+ A slightly smarter heuristic: When merging two globlists, find negated expressions, de-negate them, and test them to see if they match anything in the other globlist. If so, remove the negated expression, if not, keep. This would probably be good enough. \ No newline at end of file