> "Henrik Hjelte" <[EMAIL PROTECTED]> wrote > Tue, 8 Jan 2008 16:15:07 +0100: > > | Distribuerade VC system som darcs gör det ju suveränt enkelt att > | mixtra med pathcar, brancha osv. > > Låter bra. Men hur gör man för att byta ut en version av PAKET? I > fallet cffi får jag en massa symbolkonflikter (jag tror att det beror på > att symboler exporteras om igen). Försökte lite lamt med UNINTERN av > (APROPOS-LIST "" :PAKET) men det verkar ganska fel.
I en körande lisp? Med viss svårighet. Primärt är det DEFPACKAGE som interagerar rätt dåligt med EXPORT/IMPORT, det är odefinierat vad som händer om en DEFPACKAGE-form inte stämmer med nuvarande export-status av ett paket (det är explicit OK om paketet INTE finns, då skapas det och symboler sätts upp som formen angiver). Då olika versioner av ett paket kan ha olika symbolsynlighet och det vanligtvis inte finns automagiska fjukar för att synka symbolsynligheten så klagas det. Eftersom det är odefinierat vad som händer är det HELT OK att signalera ett ERROR snarare än ett CERROR och saker stannar fort. I princip borde det inte vara speciellt svårt att introspektera detta (läs en systemdefinition, jaga igenom alla filer m.h.a READ, snarare än LOAD, identifiera alal DEFPACKAGE-former och se till att de synkar med någon slags körande verklighet), men det är lite knepigare än att jag kan slänga ihop en lösning i marginalen. //Ingvar (släpper versionerade paket eller packade snapshots, bara) _______________________________________________ Lisp mailing list Lisp@lisp.se http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp