This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

xscm to guile port??



It is possible to port xscm (a binding of X11 + Xt + (Xaw|Xm)) to guile.
scm is the direct ancestor of guile, and I thought that many 
routines would be similar enough that it might work, even though I
know nothing about the inside of a scheme system.

I have done this by writing a header file "scm.h" containing
various bits of pre-processor hair, mostly lifted from scmhob.h in
the guile-hobbit distribution, and suplementing it with about 15 lines of c
to replace two functions that I could not find. When in doubt, I just put
scm_ in front of lower case names, and SCM_ for upper case. 
Sophisticated or what? Do not redefine display to scm_display; X11
uses lots of variables called display.

The whole port took me about six hours; somebody who knew something 
about guile and/or scm could do it much faster. I can run most of the 
examples in the xscm distribution, some needed a bit of adapting because
of different library paths etc; some want assert.scm in slib (which is 
not there in my slib2b2) which I commented out.

I would love to release this, but as I am a government employee it will
take ages to get approval. Jim Blandy suggested I should post this to 
the guile mailing list. If somebody who knew anything about this 
volunteered to redo the port, I would be very happy to help out with hints
if needed. Almost certainly they would do it more safely and elegantly, as
I am nervous about something whose workings are so far beyond me.

I used the following versions, but probably these don't matter in detail.

guile        guile-core-970825 (--with-threads=qt)
xscm         xscm-2.01
slib         slib2b2
Xt,Xaw       X11R6.3
Xm           lesstif-0.80
$(CC)        gcc-2.7.2
guile-hobbit ?? (got at same time as snap shot above)

If nobody volunteers in the next two weeks I will apply for permission 
to release; this will take three to six months to come through.

Julian Satchell
<satchell@dera.gov.uk>