Re: Order of cluster searching with ace file (recent snapshot)

Frederic Merizen <[email protected]> Fri, 8 Dec 2006 17:57:10 +0100
Newsgroups gmane.comp.lang.eiffel.smalleiffel
Organization LORIA
Message-ID <[email protected]>
On Friday 08 December 2006 17:33, Oliver Elphick wrote:
> Snapshot of 5 Dec 2006
>
> The order of cluster searching from an ace file does not seem to be the
> order of listing (as I think it should be), or else that order is not
> used consistently.
>
> With this ace file cluster list:
>
>    local: "../atmp";
>    system: "../system";
>    dbmap: "../system/dbmap";
>    ...[other clusters]...
>    standard: "${path_lib}/loadpath.se";
>
> a class that was in both local and system (in different versions) was
> chosen from system by compile and from local by finder.  Changing the
> order of clusters changes the result from finder but compile always
> chooses the system cluster.
>
> Do finder and compile use different search algorithms?

That would make finder almost useless, so I'm pretty sure they're supposed to 
use the same algorithm.

I didn't write the new algorithm but I understand that the search result 
depends on the position (in the filesystem) where the search was started (for 
finder, that would be the current working directory - for the compiler, it 
would be the directory of the class that references the class we are 
searching for). Inuitively, the search algorithm looks for the "closest" 
class, in terms of sub- and parent- directories.

(Come to think of it, it's probably clusters, not directories. But you get the 
idea)

Perhaps the finder still uses the old algorithm (unlikely). Perhaps you just 
changed the working directory between two runs of finder, and that's what 
caused the change.

I hope this gets you somewhat closer to a solution. Best regards
-- 
Frederic Merizen