On 05/09/2011 06:44 PM, Martin Simmons wrote:
Your examples will be safe, but

(get-row (getf (call-a-foreign-function ...) :tab) 0)

might crash.

I got it now!! I thought that an object in a nested call like
       (get-row (getf (call-a-foreign-function ...) :tab) 0)
 must be considered as live/reachable until the outer most
call is complete. Otherwise, you will have the same problem
even with pure Lisp object as well. I'm not very familiar
with the delicate technical aspects of runtime systems of
Lisp implementations and
maybe I make a fundamental mistake
at that point
!!

Regards
Nik