[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