On Mon, Aug 24, 2015 at 2:48 PM, Robert Goldman rpgoldman@sift.net wrote:
I have always used ASDF:*CENTRAL-REGISTRY*, with some local code that grovels over source trees.
I'd love to stop maintaining the tree groveler, and move to the DSL, but I have never understood how you debug the DSL when ASDF fails to find your system.
With *CENTRAL-REGISTRY* you pretty much pprint the variable, eyeball it, and it's usually pretty easy to see whether a directory is missing.
But what do you do if you use the DSL? The last time I tried to use the DSL, I found myself using the inspector to grovel over internal-to-ASDF hash tables, which wasn't very pleasant.
Is there a "debugger API" to the new source configuration search? E.g., can we dump the hash-table in a human readable (sorted, formatted way?)? can we trace something to see how ASDF is populating the hash table? *)
You can (alexandria:hash-table-alist asdf/source-registry::*source-registry*)
or for a higher-level view, you can (asdf/source-registry:flatten-source-registry)
then again, if you use the newfangled source-registry-cache, you can find ~/common-lisp -name .cl-source-registry.cache
I'm not sure what you want to debug, so it's hard to tell how to help you.
Also, behavior wrt recursing or not into directory symlinks is not consistent from one implementation to the next, so beware.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Year 1917. The granddaughter of a Decembrist hears noise coming from the street and sends a servant to check what's going on. The servant promptly returns, announcing: - It's the revolution, Madam ! - Oh my, the revolution ! My grandfather dreamt of the revolution! And what do those revolutionaries demand? - They ask that there be no more wealthy people, Madam. - That is strange... My grandfather wanted that there be no more poor people!