A bug-fix release.
Fixed
- ECL: cross-graph
edge-exists-p/ adjacency read the wrong heap. A ve/vev
index lookup for a graph other than the current*graph*deserialized its
index-list against(heap *graph*)— thedeserialize-index-listdefault — instead
of the owning graph's heap. So a cold(edge-exists-p … :graph B)(or a generated
make-<type>'s type-id resolution) while*graph*named a different graph walked
the wrong heap and returned NIL, and the per-index cache was then poisoned with the
mis-bound list. Fixed by binding*graph*to the owning graph at the
lookup-vev-index-list/lookup-ve-in-index-list/lookup-ve-out-index-list
read boundaries. It manifested on ECL (SBCL's cache/timing masked it in the
regression test), but the underlying flaw was implementation-independent. Full test
suite green on both SBCL and ECL.