From 02198d7df7bacbd441a58a86bb0da123706c0daf Mon Sep 17 00:00:00 2001 From: espen Date: Thu, 29 Nov 2007 18:37:14 +0000 Subject: [PATCH] Fix for CLISP --- gffi/interface.lisp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gffi/interface.lisp b/gffi/interface.lisp index 0df9387..72aa21b 100644 --- a/gffi/interface.lisp +++ b/gffi/interface.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: interface.lisp,v 1.7 2007-10-17 17:04:15 espen Exp $ +;; $Id: interface.lisp,v 1.8 2007-11-29 18:37:14 espen Exp $ (in-package "GFFI") @@ -128,8 +128,15 @@ (list (cond ((and (namep expr) (not (in-arg-p style))) expr) - ((namep expr) (make-symbol (string expr))) - ((gensym))) + ((namep expr) + #-clisp(make-symbol (string expr)) + ;; The above used to work in CLISP, but I'm + ;; not sure exactly at which version it + ;; broke. The following could potentially + ;; cause variable capturing + #+clisp(intern (format nil "~A-~A" (string expr) (gensym)))) + (#-clisp(gensym) + #+clisp(intern (string (gensym))))) (or aux expr) type style out-type)))) args))) -- 2.11.0