So, here's the deal: As (a couple of) you are aware, my project is to build a more advanced registry; to keep more state for installed ports and in a more structured fashion. I have written a pretty much feature-complete sqlite3-based replacement for receipts and the filemap at this point. There is a C library that's compiled as a static lib (cregistry), which is later compiled into a Tcl module (registry2.0). There's a test case; errors are thrown in such a way that they work with try/catch. I've also written a script to up-convert a user's existing receipts/ filemap into the new format. It's reasonably fast (and was not so before I got smarter with sqlite transactions). The Tcl code that makes *use* of the registry has not yet been modified. So, I could commit registry2 now without screwing anything up, but I have two concerns: * Doing so would commit my local history (12 commits, I think). CIA has the annoying habit of squaring the number of commit messages sent out in sequence, and I don't want to flood #macports with 144 commit messages. * I don't feel there's a need to include it in 1.5.1. If someone wanted to go ahead and tag 1.5.1, that'd be great :) I'm still working on three things before I move on to the dependency graph: * I'm probably leaking memory like crazy. I'm currently trying to clamp down on this with `gdb` and `leaks`, but I've no previous experience with the latter. If anyone has suggestions in this category, I'd be happy to hear them (Paul mentioned TCL_MEM_DEBUG). * Improving its speed, particularly as pertains to Eugene's usage of cregistry. * Documentation. cregistry is largely documented, in the doxygen style, but I'm not sure of the best way to document registry2.0. I could do a manpage (but what to call it?), or more doxygen-style (but tools would confuse the C parameters of the actual functions with the Tcl parameters I'd document). Chris