[Omake] LaTeX bug with BIBINPUTS.
Jason Hickey
jyh at cs.caltech.edu
Wed Jul 5 12:18:40 PDT 2006
Also, I forgot to say that the key point is that naive definitions would
always work.
Environment. +=
$|TEXINPUTS| = ...
$|BIBINPUTS| = ...
The methods are only there to simplify the syntax.
Jason
Jason Hickey wrote:
> 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