On Sat, Nov 26, 2016 at 4:19 AM, Nicolas Hafner shinmera@tymoon.eu wrote:
This extension to the depends-on syntax is done by redefining ASDF/PARSE-DEFSYSTEM:PARSE-DEPENDENCY-DEF to catch my specific case in advance and fall back to the original function definition otherwise. Additionally, ASDF:RESOLVE-DEPENDENCY-COMBINATION is extended by a method to handle the :INTERFACE combinator. This works fine so far, but naturally redefining a function is far less than ideal and reeks of an ugly hack.
I wrote that code more than a year ago and back then I could not see any other way to extend the syntax in a way that seems intented by ASDF. Maybe the situation has changed, or maybe there's better ways to go about it altogether. Hopefully you'll be able to point me in a right direction, or if there currently isn't one, maybe there's a way to make what I want to do intentionally possible.
parse-defsystem.lisp is probably the remaining part of asdf that received the least love since the days of ASDF 1. There were code cleanups and bug fixes, but the structure of the code and its rigidity are about the same.
If you have proposals on how to make the code extensible, e.g. in the style of resolve-dependency-combination (or as macros that expand to such), then you are most welcome. The test suite will help you make sure you aren't breaking anything — please add to it to make sure noone will break your code.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Racists often attribute to genetics what is due to memetics. Anti-racists often do the opposite. Both groups involve legal violence where none is due. — Faré