Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-03-21 19:42:15 -0700 (Wed, 21 Mar 2007)
Revision: 10265
Log message:

      var3 is nearly done.  Self-builds work.  I should probably try to make it
     more backward compatible.
     
     This commit changes "open" to include rules in the opened file (and
     all files it opens, etc.)
     
     In 0.9.8, "open" is about the same as "include".  Basically, "open"
     means "include once".
     
     In 0.9.9 open is different because opened files are evaluated in a
     pristine environment that contains only Pervasives (see bug #586).
     BTW, it may be fairly easy to specify a Site.om that specifies this
     pristine environment.  For example Site.om might set the PATH to
     some default value.
     
     This means that rules in opened files must be merged when the file
     is opened.  Autoloading broke it because the rule would get added
     at some delayed time.
     
     This commit changes the behavior.
        - "open" is eager, loading values+rules recursively.
        - "autoload" is lazy, but you don't get any rules from the autoloaded file.
     
     Configure.om has this code:
     
         open build/Common
     
         select feature
         case strictscope
             autoload build/C
     
     This has the usual bogus effect that if you only open Configure, then
     configuration is useless (this is the same in 0.9.8).  However, the
     cyclic dependency is gone, and the build works as it should.

Changes  Path
+1 -0 omake-jumbo-branches/keyword/0.9.8.x/src/env/omake_ast_lex.mll
+1 -1 omake-jumbo-branches/keyword/0.9.8.x/src/env/omake_ir_ast.ml
+1 -0 omake-jumbo-branches/keyword/0.9.8.x/src/ir/omake_symbol.ml
+1 -0 omake-jumbo-branches/var1/0.9.8.x/src/env/omake_ast_lex.mll
+1 -1 omake-jumbo-branches/var1/0.9.8.x/src/env/omake_ir_ast.ml
+1 -0 omake-jumbo-branches/var1/0.9.8.x/src/ir/omake_symbol.ml
+1 -0 omake-jumbo-branches/var2/0.9.8.x/src/env/omake_ast_lex.mll
+1 -1 omake-jumbo-branches/var2/0.9.8.x/src/env/omake_ir_ast.ml
+1 -0 omake-jumbo-branches/var2/0.9.8.x/src/ir/omake_symbol.ml
+1 -1 omake-jumbo-branches/var3/0.9.8.x/OMakefile
+2 -2 omake-jumbo-branches/var3/0.9.8.x/lib/build/LaTeX.om
+1 -1 omake-jumbo-branches/var3/0.9.8.x/lib/configure/Configure.om
+204 -4732 omake-jumbo-branches/var3/0.9.8.x/src/Makefile
+204 -4732 omake-jumbo-branches/var3/0.9.8.x/src/Makefile.nt
+1 -1 omake-jumbo-branches/var3/0.9.8.x/src/build/omake_builtin.ml
+14 -27 omake-jumbo-branches/var3/0.9.8.x/src/build/omake_rule.ml
+1 -0 omake-jumbo-branches/var3/0.9.8.x/src/env/omake_ast_lex.mll
+3 -0 omake-jumbo-branches/var3/0.9.8.x/src/env/omake_command_digest.ml
+285 -119 omake-jumbo-branches/var3/0.9.8.x/src/env/omake_env.ml
+6 -6 omake-jumbo-branches/var3/0.9.8.x/src/env/omake_env.mli
+3 -1 omake-jumbo-branches/var3/0.9.8.x/src/env/omake_ir_ast.ml
+9 -7 omake-jumbo-branches/var3/0.9.8.x/src/eval/omake_eval.ml
+0 -1 omake-jumbo-branches/var3/0.9.8.x/src/eval/omake_eval.mli
+1 -0 omake-jumbo-branches/var3/0.9.8.x/src/ir/omake_ir.ml
+5 -8 omake-jumbo-branches/var3/0.9.8.x/src/ir/omake_ir_print.ml
+1 -0 omake-jumbo-branches/var3/0.9.8.x/src/ir/omake_symbol.ml
+2 -0 omake-jumbo-branches/var3/0.9.8.x/src/main/omake_main.ml