diff options
-rw-r--r-- | bpkg/package-skeleton.cxx | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/bpkg/package-skeleton.cxx b/bpkg/package-skeleton.cxx index 48de2d0..f7047c7 100644 --- a/bpkg/package-skeleton.cxx +++ b/bpkg/package-skeleton.cxx @@ -515,6 +515,8 @@ namespace bpkg // variable), then the saved variables map seem like the natural place // to keep this information. // + // Note: go straight for the public variable pool. + // for (const variable& var: rs.ctx.var_pool) { if (!project_variable (var.name, var_prefix_)) @@ -616,8 +618,10 @@ namespace bpkg create_context (*this, strings {}); context& ctx (*ctx_); + // Note: go straight for the public variable pool. + // scope& gs (ctx.global_scope.rw ()); - auto& vp (ctx.var_pool.rw ()); + auto& vp (gs.var_pool (true /* public */)); for (const string& v: config_vars_) { @@ -1065,10 +1069,11 @@ namespace bpkg // Add to the vars set the reflect variables collected previously. // - auto& vp (rs.var_pool ()); for (const reflect_variable_value& v: reflect_) { - const variable* var (vp.find (v.name)); + // Note: go straight for the public variable pool. + // + const variable* var (rs.ctx.var_pool.find (v.name)); assert (var != nullptr); // Must be there (set by load()). auto p (vars.insert (rvar {var, nullptr, 0})); @@ -2142,7 +2147,9 @@ namespace bpkg // load_root (rs); - if (const variable* var = rs.var_pool ().find (var_prefix_ + ".develop")) + // Note: go straight for the public variable pool. + // + if (const variable* var = rs.ctx.var_pool.find (var_prefix_ + ".develop")) { // Use the fact that the variable is typed as a proxy for it being // defined with config directive (the more accurate way would be via @@ -2329,7 +2336,9 @@ namespace bpkg assert (vt != nullptr); } - return rs.var_pool ().insert (name, vt); + // Note: go straight for the public variable pool. + // + return rs.var_pool (true /* public */).insert (name, vt); }; for (const reflect_variable_value& v: reflect_) |