[slime-devel] Problems with LWW FLI

Edi Weitz edi at agharta.de
Thu Dec 16 20:18:05 UTC 2004


On Sat, 04 Sep 2004 02:18:10 +0200, Edi Weitz <edi at agharta.de> wrote:

> Has anyone else problems with SLIME when using Lispworks on Windows
> (XP) and its FLI? I've run into a (reproducable but complicated)
> situation where SLIME simply hung while there were no problems from
> the LW IDE or from the command line. I'm sitting at my Linux laptop
> now but I can try to create a simple test case - I just wanted to
> check if this is a known problem.

OK, it took me a while but here it is... :)

  SLIME: From CVS, updated today.
  OS:    Windows XP SP 2.
  Lisp:  Xanalys LispWorks 4.3.7.
  Emacs: FSF 21.3

Take a /very/ simple C program like this one:

  int __declspec(dllexport) foo (int x) {
    return 2 * x;
  }

Compile it with VS

  cl /LD /Gd /TC test.c /link /OUT:test.dll

or download the DLL from

  <http://zappa.agharta.de/test.dll>.

Now, in the LW IDE:

  CL-USER 1 > (fli:define-foreign-function foo
                  ((x :int))
                :result-type :int
                :module "c:/home/test.dll")
  FOO

  CL-USER 2 > (foo 21)
  42

No problem, obviously.

If I do the same in SLIME, however, SLIME hangs indefinitely after
(FOO 21) and doesn't show the result.  The funny thing is that LW is
still there.  If I now change to the inferior-lisp buffer and evaluate
some arbitrary form there then the SLIME REPL buffer suddenly shows
the 42 and is alive and well again.  Unfortunately, I have /no/ idea
what's the cause for this is but it's fully reproducible for me and
currently a real show-stopper.

Thanks in advance for your help,
Edi.




More information about the slime-devel mailing list