|
From: <dg...@ni...> - 2008-12-12 04:00:28
|
Quoting "Jan Nijtmans" <jan...@gm...>:
> - What if ... [there is a "real" package with an
all lowercase name that gets its slots in the
package database polluted by the entries for
the phony package added just for this caseless
finding trickery?]
> Solution: before doing the second "package ifneeded", check if
> there already is one. If so, don't overwrite the previous.
That's pointed in the right direction. I believe the true
solution is not quite that simple, but certainly doable.
(You want the entries for real packages to win over the phony
entries, and "first claim wins" won't accomplish that.)
> I don't think that using an ensemble for this is even neccessary.
No, not necessary. We could just modify the C implementation
of [package ifneeded] to the new spec directly.
The advantage of the ensemble approach is that it "exposes
the wires" to script level, so then things are more easily
switchable back to the old way, or to other ways. A useful
capability when we're rushing a design and there's at least
some reason to doubt we've settled on the unquestionably
best solution.
DGP
|