Add documentation subdirectory.
[goals.git] / TODO
diff --git a/TODO b/TODO
index e631e68..7cbf9f5 100644 (file)
--- a/TODO
+++ b/TODO
@@ -8,10 +8,6 @@ might allow goals to be called with labelled parameters.
 
 Fix: You must use 'all ()' on the command line.
 
 
 Fix: You must use 'all ()' on the command line.
 
-"Quiet" code.  Generally {CODE} sections in user files should be
-echos, and those in stdlib should run silently (except if debugging).
-Maybe we should have a quiet keyword to indicate this?
-
 Deleting target files if goals is interrupted, but only if the
 timestamp changes (what about non-*files?).  Also: atomic code.  This
 will delete the target if the code doesn't run to completion.  (make
 Deleting target files if goals is interrupted, but only if the
 timestamp changes (what about non-*files?).  Also: atomic code.  This
 will delete the target if the code doesn't run to completion.  (make
@@ -28,4 +24,18 @@ Let within functions and goals, eg:
 Unclear if this would be helpful or not.
 
 Implement more make functions, see:
 Unclear if this would be helpful or not.
 
 Implement more make functions, see:
-https://www.gnu.org/software/make/manual/html_node/Functions.html#Functions
\ No newline at end of file
+https://www.gnu.org/software/make/manual/html_node/Functions.html#Functions
+
+Make re-execs itself if the Makefile (or any include) changes, and
+goals should do something similar.  See:
+https://www.gnu.org/software/make/manual/html_node/Remaking-Makefiles.html
+
+Code should be an expression, eg this ought to work:
+let foo = { echo "hello" }
+and/or anonymous functions:
+let foo = function (arg) { ... }
+
+Infinite loop when you have this goal:
+goal pod2man (page, section) = "docs/%page.%section" : "docs/%page.pod" { ... }
+This is caused by %section matching "pod" so the rule is called
+again, even if the local file docs/%page.pod actually exists.