Update of /project/lgtk/cvsroot/lgtk/src
In directory common-lisp.net:/tmp/cvs-serv28965
Modified Files:
port.lisp
Log Message:
Made it ready for CMUCL 19a. No more fidgeting with the core!
Date: Sun Aug 1 11:05:19 2004
Author: mmommer
Index: lgtk/src/port.lisp
diff -u lgtk/src/port.lisp:1.4 lgtk/src/port.lisp:1.5
--- lgtk/src/port.lisp:1.4 Thu Dec 11 02:48:00 2003
+++ lgtk/src/port.lisp Sun Aug 1 11:05:19 2004
@@ -1,4 +1,4 @@
-;;;; -*- Mode: Lisp; Synatx: ANSI-Common-Lisp; Base: 10 -*-
+;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
;; (c) October 2003 by Mario S. Mommer <mommer(a)well-of-wyrd.net>
;;
@@ -11,12 +11,17 @@
#:weak-pointer-value #:*weak-pointer-type* #:run-after-gc
#:def-alien-routine #:port-alien-type #:def-c-callable #:c-fun-ptr
#:swap-unix-sigint-handler #:voidptr #:peek #:poke)
- #+cmu (:use common-lisp ext system alien c-call callback)
+ #+cmu (:use common-lisp ext system alien c-call)
#+sbcl (:use common-lisp sb-ext sb-sys sb-alien callback)
- (:shadow def-alien-routine finalize make-weak-pointer weak-pointer-value))
+ (:shadow def-callback def-alien-routine finalize make-weak-pointer
+ weak-pointer-value))
(in-package #:clnexus-port)
+(defmacro def-callback (&rest args)
+ #+cmu `(alien:def-callback ,@args)
+ #+sbcl `(defcallback ,@args))
+
'(defmacro def-c-types (&rest stuff)
`(eval-when (:compile-toplevel :load-toplevel :execute)
,@(mapcar #'(lambda (x)
@@ -129,7 +134,7 @@
"Defines a callback using the `port' C type specifiers. Uses
PORT-ALIEN-TYPE to convert the syntax to the implementation-dependant
alien type specifiers."
- `(defcallback ,name
+ `(def-callback ,name
,(list* (port-alien-type return-type)
(mapcar (lambda (arg-spec)
(destructuring-bind (name type) arg-spec