[mcclim-devel] another CLC fix: clim-listener

rpgoldman at real-time.com rpgoldman at real-time.com
Wed Mar 15 14:00:38 UTC 2006


>>>>> "CF" == Clemens Fruhwirth <clemens at endorphin.org> writes:

    CF> Another CLC fix: *load-truename* is assumed to point to the
    CF> source directory that also contains the icons/ directory. In
    CF> CLC, this isn't the case as all fasl are loaded from
    CF> /var/cache/common-lisp-controller/.

    CF> I changed Apps/Listener/package.lisp to also probe in
    CF> #.*compile-file-truename*, that most likely point to a
    CF> #directory
    CF> containing the icons too.

    CF> The problem is that I used cl-fad for directory probing. I
    CF> personally don't mind to have mcclim use cl-fad, as I have it
    CF> installed anyway and it's pretty lightweight, but on the other
    CF> hand that might not be true for the mcclim project as a whole,
    CF> especially as it needs only a single function.

This suggests a knot of other issues:

1.  Having external dependencies is somewhat undesirable in general,
    but mostly because we don't have clean ways of managing coherent
    states across multiple systems.  E.g., what happens if cl-fad or
    the spatial-trees systems gets out of synch with McCLIM?

    As I understand ASDF, you can specify that you need >= a
    particular dependency system, but you can't specify = or <=.

    Probably with a little care this can be overcome.

    More difficult (but possibly conjectural) what happens if
    *another* system you want loads cl-fad or spatial-trees and the
    version that other system needs is not congruent with McCLIM's
    requirements?  I know I always get a little nervous when
    asdf-install loads its private copy of cl-ppcre...

    Would it be possible to make an internal version of these systems?
    E.g., would it be possible to load them into alternative packages,
    so that they can coexist with a different version?  E.g., stuff
    them into clim.cl-fad?  That might be the CL equivalent of
    statically linking against libraries...

2.  CL-FAD seems desirable more generally as a component of McCLIM,
    because McCLIM needs file-managing gadgets, and these probably
    need more capable ways of getting at the file system than CL
    provides in its stock form.




More information about the mcclim-devel mailing list