[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2.0 foreign function interface



> 
> > Date: Tue, 31 Mar 92 17:29:08 GMT-0600
> > From: marty@shumun.weeg.uiowa.edu (Marty Christensen)
> >         	
> >         The MCL 2.0 manual says on page 395, that the low-level interface function,
> > ff-call is implemented. When I evaluate (fboundp 'ff-load) I get a function ID, but
> > (fboundp 'ff-call) returns nil. Is this function non-existent, or is it simply another function
> > where the name has changed, but the manual doesn't tell you so? 
> 
> I noticed this myself a while back.
> 
> You can load the foreign function call facility by evaluating (require 'FF).
> Otherwise, after you call ff-load once it's loaded and ff-call is now defined.
> 
> Maybe ff-call as well as ff-load should have been made to auto-load.
> 

Uh, no.

The bug is that FF-CALL is -never- defined in 2.0b1, regardless of
whether or not FF has been required.

The (relatively) good news is that FF-CALL -is- ordinarily open-coded in 
the compiler, so that #'FF-CALL's absence is ordinarily noticable only
when one tries to call it from toplevel, etc.

Whatever ...

A BinHex'ed .fasl file which defines a funcallable FF-CALL follows.

(This file must be converted with BinHex 4.0)

:$'CQ,@0KE'`ZCQ&cE!"'390-3d0--J#3"!MA!*!%Dprr!!!"!*!$$!!!#-[r)U1
M!!!#!*!$'38H)!%0MJ0$3d`++L9%@8j@4P!P+J38(a85!*!%#!01VA*X)$`!N!3
M`!!)!!"B6dje!!B"'!!-raJ!!JN33d0-1fCQ,@0KE'`ZE'PcF!d$!!!D+Na2384
*6NFY4NP-45e66e953d8Y4NP-45S%&"m9%J#3"!J$6UebE#!m!*!%H!4B6dlj!"!
!N!-'!4J!%!%B!!)*!d0$6!d$!!!,8d98,9""3dY"4d8M&"mK(J!!J3!!!dkYF@J
!"#d-,5i!$#!Z!!Ki#%kYF!!JI!!3!!"1VA'X6Ueaa%lYF&`!N!8B!4J!+!!B!!+
-%%C',80"6%`Y4d91,94539!-"dC',80"6%`5)a3I)Km!!)%!!!01VA&S!!3Y,Il
i,5i!$#!Z!!Ki#%kYF!!JI!!3!!"1VA'X6Ueaa%lYF&`!N!8D!4J!+J!B!!)$!!%
-#59(48iY9&*"8")M&"rr!B2r!@B!!))!)J01VA&S!!K)jJF`3HcrrdkYG$`X$#4
-,3a#TLd-*Nak!#iZ!#aJ!!$16Uhp(#!(6Uebj#d!)KBJ2!#3"%kYFD!J3#d3ZGC
R2#)@)#i!%%kYG23Y3!!3)!G1VA53!#)!)#i!#%kYG23Y3!!)3IJ!Q,(@CJ43K@"
d3IJ!J,(@E'a`%0U!B'B-VJ#3"34Q4VR,CLSJ"dkYG*!!*N!L2!#3!lJJ,J!36Ue
dp#e!!"!L#b!Z!!K1VA6d,8!!#'!Z*$`!N!3L,J!%)#i!0(J-6VN!%!!!B"BN2!#
3"#)Z!!3J,J!dH!a1Z3!3!!"36L!(6UedQ#i!)!G1VA,SZF"Q!2mU)!G1VA,N*%!
Y43!%ZFYR!!#')!Tf"mC!@80Q"#d+B!JJ#NkYFN`Y!'"-6Uhp(#!@6Uebj#)!)$`
!N!41VA'J)%!Y%,R@CJBX$&"1B(a"q!#BXGCQ"&#&B!a"q!#!XGCX"(!3fS!L&L!
'6Uedp#`!@%iJ9Lb3!#!@6Ue`d'DXZGCQ$L!'H!41Z3!3!!!X!'!#,!aB6Q!d)JS
J2!#3"%kYFD!J3#!3,!#j`'FH3IJ!Q,('CJ43K@!5)JBJ2!#3!i"1VA,%E!4`%0U
!ZFCQ%#)m!*!%)!Ti#%kj!"!!!#dZ!$JY,J!i,3BL"5!Z!""1VA,8d)!Y!,R,C`T
`%0#&6RBY!'!#,38J,J!8H!41Z3!3!!!Y!#!Z!#"i"%kj!"!!!#)H*"ji(#"m!"!
!!%kYFDa1VA#B6Ueaa%cf$1"!'%lYF&`!N!6mC!!-!5J!*J!$!$J"'!"f!!F!IJ!
(!)3!"`#'!"J!MJ!(!,`!"`#q!4J!cJ%B!03!"`$@!4J!jJ%B!2i!!`%3!!-"+J!
(!6J"'!&1!!F"IJ!(!B)!"`')!4J"PJ!(!CS"'!(1!!F"d!%B!GS"'!)1!4J#(!%
B!LJ"'!*#!"J!(a!!%Jm0MJG,49PA6e*%!N%e#J!0$id$!!)#4$!+!!!2M3-!!J*
%-3S!!3q0!`!#!N3b#J!#$id$!!)#4$-+!!-2M3-!!J*%0!S!"!q0!`!#!N3e#J!
&$id$!!)#4$B+!!B2M3-!!J*%0`S!"`q0!`!#!N%`#J!)$id$!!)#36%+!!N2M3-
!!J*"-JS!#Jq0!`!#!N%c#J!,$id$!!)#363+!!`2M3-!!J4A6e*%#J!6$id$!!)
%6%p14`S!%Jq0!`!##%a26NGA6e*%#J!5$id$!!)$8&45#J!8$id$!!)(8%p*6P4
&8JS!&!d$!!)-8N9899*1,8*-6d0,#4e%GA"XD@0KG'8JIP-JFh"PBfPQD@9b)'P
Z)(j6,Sf1#d0268e26Le-5903"8958Np5#549EQYZEhGZ)'&bCh9YC@jd)(0`C@0
TCQPPFL"q8b"TEL"q8bi$!"B3!"%2!`!$#J!!$`-!"!S!!3m$!!8+!!)2!`!'#J!
$$`-!"`S!"!m$!!J+!!82!`!*#J!'$`-!#JS!"`m$!!X+!!J2!`!-#J!*$`-!$3S
!#Jm$!!i+!!X2!`!2#J!-$`-!%!S!%`m$!"%+!")2!`!5#J!5$`-!%`S!&!m$!"3
+!"50!`!9#%j549C&8P0&%!!8$`d$!!)(6Np@38a943S!%!m0!`!#"%j26N8+!"!
2%JS!%!m$!!-+!!!2!`!%#J!"$`-!"3S!!Jm$!!B+!!-2!`!(#J!%$`-!#!S!"3m
$!!N+!!B2!`!+#J!($`-!#`S!#!m$!!`+!!N2!`!0#J!+$`-!$JS!#`m$!!m+!!`
2!`!3#J!6$`-!%3S!%Jm$!")+!")2!`!6#J!8$`-!&!S!&!NS5@jfB@aTC#"bCA4
eFQjPC#"fB@aeC5"cF'9MD@CTBf&dD@pZ1L"q8`-!&J-!&`-!&i`)*8C',80"6%`
$!!%5)a3IiGi!!!F!)!0f(%kYG+")jJF`*'i!'#CZ!"3X,J!N)#i!(#S!fS@DVJ!
JGJI'4QF3,M`!!!)!hS@D[!#3!b"J!Ri!jS#jlJ!XCJiJEJ!S6Uea$%kYF-KJ%N(
k!!iL,J!SjS%`J8kYG14+r'!!!)JJ+[rm)%!N8L)Vrr`Q8l+m!*!$Z'B16Uea$#B
(jS-[L$J!B'+b[!#3!jKQ$ZD!jS99K6q!@%6RM@"-XV`!N!13!'B36Uede1D&@B8
[J&K%jieJ0,+m!*!$S'B36Uea$1D&@B8[L&K%jieJ(#d"#!%!"QB'6Uede'!'6Ue
a$#!))KlLJ5q!'!5jbQB!rhDjlJ!XCJC1VA,JB!41VA6S5SGR3LB(jS-JGcJ!)!J
N4L*[!%"J*#)Urr`N8V+m!*!$J'm3XV`!N!1BCJ3`f@!#)0PJ"Z+")2FB",R+CYJ
J3%kYF0KJ@,bm!*!$J'B%)!aJ6'mX)'m!3,bm!*!$Q'B)-"")`1H)B"Dm[!#3!k"
Q##"36Ue`f'!')""1VA0JB"iQ"Z+$[,`!N!0!E3SJGcJ%6Ue`f'!))$Fi"%kYFf"
1VA(%60i-i#aI6R8!N!3"V!!B!!%$!"J5rc+U!!!: