[Omake] SVN Commit: OMake Build System (Rev. 10759)
Aleksey Nogin
nogin at metaprl.org
Tue May 15 12:55:57 PDT 2007
On 15.05.2007 12:33, Jason Hickey wrote:
>> Please do not revert. IMO the previous versions are no better than the
>> current one - so we should just fix the current one. The
>> canonical/case preserving node types distinction should remain
>> confined to the Omake_node module, as only the case preserving type
>> should be externally visible.
>
> There are two things that have to be done to make it right.
> - Separate the case-preserving names from the canonical,
> - Confine references to Omake_cache.
>
> We really don't want to sprinkle reference cells through the code; we
> want to put them in one place. This is the reason why the cache and the
> env are not just global variables. In many cases, it wouldn't be a big
> deal, but this is so fundamental, it is important to get it right.
You mean the "directory -> is_sensitive" cache? Note that it needs to be
defined recursively with the directory stuff itself (since the input
type is the case-insensitive directory and you need to have the cache
around in order to create new case-insensitive directory values). Since
the normal Omake_cache.t is also dependent on the node type, I do not
see any good way to resolve this without making the omake_cache and
omake_node recursively defined through each other...
I do agree with the desire to place this map into Omake_cache (and also
add some "reset" capabilities to it), but this appears to be technically
challenging to do...
Separating the case-preserving names from the canonical, on the other
hand, should be relatively straightforward (as the canonical names will
only be used internally by the Omake_node itself to do the
case-insensitive operations on case-preserving names).
Aleksey.
More information about the OMake-Devel
mailing list