On Fri, Apr 4, 2008 at 5:57 PM, Barry Fishman barry_fishman@acm.org wrote:
As of (From the CLISP src/Changelog):
2006-10-05 Sam Steingold sds@podval.org
merged LOOKUP-FOREIGN-FUNCTION & FOREIGN-LIBRARY-FUNCTION into FIND-FOREIGN-FUNCTION; LOOKUP-FOREIGN-VARIABLE & FOREIGN-LIBRARY-VARIABLE into FIND-FOREIGN-VARIABLE ...
This includes CVS releases starting with clisp-2.41.
FFI::FOREIGN-LIBRARY-FUNCTION and FFI::FOREIGN-LIBRARY-VARIABLE have effectively been made legasy.
In the current CVS head (but not the last clisp-2.44.1 release) these functions have quietly disappeared. This causes problems with the CLISP CVS head in cffi-clisp.lisp.
The attached patch should fix that while maintaining backwards compatibility. Unfortunately, CVS CLISP (my copy of the ChangeLog says 2008-03-25) dumps core on the callback tests. I'm using x86-64. Can anyone reproduce this behaviour?
[1]> (asdf:oos 'asdf:test-op :cffi) ... *** - handle_fault error2 ! address = 0x8 not in [0x333a9f000,0x333d4b160) ! SIGSEGV cannot be cured. Fault address = 0x8. Permanently allocated: 161560 bytes. Currently in use: 5352408 bytes. Free space: 324432 bytes. Segmentation fault (core dumped)
luis@haden:~$ clisp --version GNU CLISP 2.45 (2008-04-04) (built 3415563584) (memory 3415563829) Software: GNU C 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) gcc -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O -falign-functions=4 -DUNICODE -DDYNAMIC_FFI -I. -x none -lreadline -lncurses -ldl -lavcall -lcallback -lsigsegv SAFETY=0 TYPECODES WIDE GENERATIONAL_GC SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY libsigsegv 2.4 libreadline 5.2 Features: (READLINE REGEXP SYSCALLS I18N LOOP COMPILER CLOS MOP CLISP ANSI-CL COMMON-LISP LISP=CL INTERPRETER SOCKETS GENERIC-STREAMS LOGICAL-PATHNAMES SCREEN FFI GETTEXT UNICODE BASE-CHAR=CHARACTER PC386 UNIX) C Modules: (clisp i18n syscalls regexp readline) Installation directory: /home/luis/Software/lib/clisp-2.45/ User language: ENGLISH Machine: X86_64 (X86_64) haden [127.0.1.1]