chiark
/
gitweb
/
~mdw
/
clg
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fbeb759
)
Fix for CLISP
author
espen
<espen>
Thu, 29 Nov 2007 18:37:14 +0000
(18:37 +0000)
committer
espen
<espen>
Thu, 29 Nov 2007 18:37:14 +0000
(18:37 +0000)
gffi/interface.lisp
patch
|
blob
|
blame
|
history
diff --git
a/gffi/interface.lisp
b/gffi/interface.lisp
index f2dd4640d7177f2ae5d63db0179018af1f1931d5..a0bda4f5880fe934dab23457e65bc15fa159cb33 100644
(file)
--- 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.
;; 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")
(in-package "GFFI")
@@
-128,8
+128,15
@@
(defmacro defbinding (name lambda-list return-type &rest args)
(list
(cond
((and (namep expr) (not (in-arg-p style))) expr)
(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)))
(or aux expr) type style out-type))))
args)))