On Mon, 27 Dec 2010 16:45:04 +0100, Frank Gönninger wrote:
Am 27.12.2010 um 16:47 schrieb rm@tuxteam.de:
I'd say it's a missunderstanding: CLIM is an abstract user interface API that can (and does) run on different backends (X/Gtk/Genera/Windows/MAc Toolbox ...).
I think I got that clear after reading the intro material to CLIM. It wasn't obvious to me that after loading CLX and defining CLX as the backend I still missed a package: "CLIM-CLX".
Well - to be fair, iff you had started your odysee by asdf-ing :mcclim instead of just :clim that would've pulled in :clim-looks which pulls in :clim-clx ...
Clim for shure does need _one_ backend loaded to be operable, but how to express this in ASDF?
No need to IMO.
Maybe (find-port ...) should throw an error for an unloaded backend?
Yes!
An exception stating "You specified CLX as the backend for CLIM. The necessary package, "CLIM-CLX", has not been loaded." would help really. Similar ones for the other backends, too, of course ;-)
I've just written up a small patch that does that (without information on what to load - in theory it's possible to load backends mcclim doesn't know off). But I really think the whole function is kind of unelegant.
(setq server-path (funcall (get (first server-path) :server-path-parser) server-path))
what is this? An entry in a perl obscurity contest? And a lot of semantic mud afterwards ... comparing keyword lists with #'equal for shure doesn't work.
Hmmm-where to put patches ?
Cheers, RalfD
Looking at mcclim's code for find-port, blindly funcalling the return value of (get (first server-path) :server-path-parser) looks like an error to me.
Yep.
Where's the best place to document this so it doesn't bite someone else in the future?
(cliki seems like the most obvious to me, but what do I know?)
McClim's Wiki?
Yep! Because that's where I started out my CLIM odyssey.
Thanks again!
Best wishes
Frank