Changes by: Aleksey Nogin (nogin at metaprl.org)
Date: 2010-11-12 22:09:52 -0800 (Fri, 12 Nov 2010)
Revision: 13242
Log message:

      Adding a hack for the % scoping problem (test/shell/Test7).
     
     The problem was caused by the following - when an implicit rule was initially
     created, each shell line in the rule was turned into ValStringExp, capturing
     the static environment in which the rule was created was. Later on, this
     environment was used to evaluate the string value into a pipe, thus ignoring
     the value for $% that came from the implicit rule instantiation.
     
     This implements the following workaround:
      - Delays ValStringExp packing (instead the CommandValue keeps the statis env
        and the string_exp separately)
      - venv_find_implicit_rules updates all the CommandValue static envs with
        an appropriate static mapping for wild_var

Changes  Path(relative to omake-branches/0.9.8.6)
+3 -2 src/build/omake_rule.ml
+2 -2 src/builtin/omake_builtin_target.ml
+13 -4 src/env/omake_env.ml
+1 -1 src/ir/omake_value_type.ml
Properties test/shell/Test7/