On 9/26/05, Zeeshan Ali <[EMAIL PROTECTED]> wrote: > > > > I took a look. Conclusion: it's a mess. > > Your conclusion is based on your ignorance. > Possible. Care to enlighten men ?
> Please at least read the log yourself first, it's not (xchat-guile > plugin-system) that guile is unable to find but the xchat's main > module that is defined inside the xchat plugin, writen in C. > Ok. And then why your plugin-system never loaded this main module instead ? > > And in this case it's easy to move plugin-system.scm to > > /usr/lib/xchat/plugins (where it belongs) since guile DOES have > > adjustable %load-path . GUILE does NOT have something similar for > > native libraries. That's the problem. > > plugin-system is NOT an xchat plugin but a guile module that the > xchat-guile plugin uses. Ok. No problem. If this "is NOT an xchat plugin" but simple guile module then it usable without xchat, right ? This means (use-modules (xchat-guile plugin-system)) works, right ? Oops. It does not. Conclusion: it's NOT guile module but part of xchat module. It's written in scheme but it does not make it guile module. Just like the fact that your guile.so is written in C does not make it C library. > Since it's a guile module, IMHO it doesn't belong in directory for xchat > plugins. > But it's NOT guile module - my simple test proved it. That's the problem. Let's take a look on lilypond: /usr/share/lilypond/2.6.3/ps - postscript helper routines /usr/share/lilypond/2.6.3/scm - guile modules /usr/share/lilypond/2.6.3/tex - tex macroses Sane ? Sane: it does not matter if it's in scheme and interpereted by guile interpereter or in tex and interpreted by etex - if it's unusable outside of lilypond it does not belong to /usr/share/guile and/or /usr/share/texmf. Now xchat and xchat-guile. /usr/lib/xchat/plugins/perl.so - ok, xchat<->perl glue /usr/lib/xchat/plugins/xas.pl - xchat plugins written in perl /usr/lib/xchat/plugins/guile.so - ok, xchat<->guile glue /usr/share/guile/site/xchat-guile/plugin-system.scm - WTF ? Why the hell part of xchat<->guile glue code does in default guile %load-path ? Is it usable outside of xchat ? If yes - then how exactly it's usable ? If not - then why it's not in /usr/lib/xchat/plugins or /usr/lib/xchat/guile or something like that ? > 2. Since guile doesn't allow you to 'unplug' modules on the run, I had > to do some trick to make it work, which makes it a bit complicated, > but it's not a mess. :) I was not reffering to plugin-system.scm contents but to it's place in filesystem. It's a mess. May be it's unavoidable mess, I do not know (I fail to see why it's unavoidable but who knows) - but it's a mess nonetheless.Simple question: can I install two different versions of xchar with two different versions of xchat-guile glue code ? Answer: no - we'll get clash in /usr/share/guile/site/xchat-guile/plugin-system.scm. And why that happened ? Since this file does not belong to /usr/share/guile/site directory in first place but was put there anyway. _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user