On Fri, Jun 6, 2014 at 5:04 PM, Robert P. Goldman <rpgold...@sift.info> wrote: > My large system is broken, but I have not been able to diagnose the > problem. It is turning up *way* downstream. I get a type error where a > class is not getting the right METACLASS. > Is it possible to look at that system? With an NDA?
> I suspect it has to do with the fact that we have an ASDF extension that > binds *READTABLE* in a PERFORM :AROUND method, but I have not been able > to determine whether this is, in fact, the problem. > This kind of method should actually work cleanly. > I can't imagine how anyone would guess that this error is a readtable > fail, much less that it was caused by a modification to ASDF. This > problem will be even worse if the modification to ASDF is quietly given > to the poor programmer through an update to his or her CL implementation. > > I pretty much *know* this is a readtable fail and I'm not having an easy > time figuring out what went wrong. > > This is why I'm not enthusiastic about the syntax-control branch. It's > fail-obscure, and we can't count on programmers inferring that their > code has suddenly gone pear-shaped because of a modification to ASDF, > especially if it wasn't a modification to ASDF that they installed > themselves. > I understand that this is important and requires investigation. > Let's say one day I get a new SBCL or ACL, and all of a sudden I get an > error like this. I'm not an ASDF hacker. I don't even know that the > new CL version has updated the bundled ASDF. How would I begin to figure > out what went wrong? > > Until I have an answer to that question, I cannot merge the > syntax-control code. > On the other hand, we have made many changes that were backward-incompatible in corner cases (e.g. the way component pathnames are handled, introducing output-translations, making utf-8 the default, removing the crazy :if-component-dep-fails, etc.) for the sake of sensible semantics and more robust behavior. Some of these changes were otherwise silent indeed, and we fixed them by a combination of proactively looking for misbehaving code, making announcements, and documenting the new behavior. Being able to support most code that change the readtable is worth it. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Please leave the State in the toilets where you found it. _______________________________________________ Asdf-devel mailing list Asdf-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel