[Omake] LaTeX bug with BIBINPUTS.
Jason Hickey
jyh at cs.caltech.edu
Wed Jul 5 12:14:04 PDT 2006
Aleksey Nogin wrote:
> Well, right, didn't we already discuss this about a year ago?
(Moving to omake-devel)
If I remember, we got bogged down because we were looking for a
transparent solution. The general problem is that 1) there are two
separate namespaces, 2) some (but not all) values are being duplicated,
and 3) the duplicates can be inconsistent.
At a high level, I think there are two approaches:
1. Transparency (consistency is automatic, the programmer never
need know that there is an environment).
2. Explicitness (do not duplicate; all operations on the
environment must do so explicitly, for example with
getenv/setenv).
Transparency is hard, but using getenv/setenv directly is painful.
I'm thinking there is a solution in the middle. The environment would
be explicit, but it would be an object "Environment" (similar to the
"Shell" object).
The main point would be to achieve a limited form of transparency.
Environment. =
extends $(Map)
# The environment is initialized at startup
get-TEXINPUTS() =
split(:, $|TEXINPUTS|)
set-TEXINPUTS(a) =
$|TEXINPUTS| = $(concat :, $a)
value $(this)
I know it could be a lot smarter than this, but it might be a move in
the right direction. One would hope to have a syntax like the following:
Environment.TEXINPUTS[] =
a
b//
instead of this:
Environment = $(Environment.set-TEXINPUTS a b//)
Jason
--
Jason Hickey http://www.cs.caltech.edu/~jyh
Caltech Computer Science Tel: 626-395-6568 FAX: 626-792-4257
More information about the OMake-Devel
mailing list