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:
32458ce
)
Changed definition of flags type
author
espen
<espen>
Tue, 5 Sep 2006 13:15:46 +0000
(13:15 +0000)
committer
espen
<espen>
Tue, 5 Sep 2006 13:15:46 +0000
(13:15 +0000)
gffi/enums.lisp
patch
|
blob
|
blame
|
history
diff --git
a/gffi/enums.lisp
b/gffi/enums.lisp
index ba5b464414cfe5e1955f2d851a45060161fdb9ac..23d346108d8f1da73b4c7582ae150ae24666e38a 100644
(file)
--- a/
gffi/enums.lisp
+++ b/
gffi/enums.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: enums.lisp,v 1.
2 2006/06/08 13:24:25
espen Exp $
+;; $Id: enums.lisp,v 1.
3 2006/09/05 13:15:46
espen Exp $
(in-package "GFFI")
(in-package "GFFI")
@@
-167,8
+167,7
@@
(defun %map-flags (mappings op)
(:int-symbol `(,value ,symbol)))))
:key #'first :from-end t))
(:int-symbol `(,value ,symbol)))))
:key #'first :from-end t))
-(deftype flags (&rest args)
- `(or (member ,@(%map-symbols args)) list))
+(deftype flags (&rest args) (declare (ignore args)) t)
(define-type-method alien-type ((type flags))
(declare (ignore type))
(define-type-method alien-type ((type flags))
(declare (ignore type))
@@
-240,7
+239,8
@@
(defmacro define-flags-type (name &rest args)
(int-flags (intern (format nil "INT-TO-~A" name)))
(satisfies (intern (format nil "~A-P" name))))
`(eval-when (:compile-toplevel :load-toplevel :execute)
(int-flags (intern (format nil "INT-TO-~A" name)))
(satisfies (intern (format nil "~A-P" name))))
`(eval-when (:compile-toplevel :load-toplevel :execute)
- (deftype ,name () '(satisfies ,satisfies))
+;; (deftype ,name () '(satisfies ,satisfies))
+ (deftype ,name () '(flags ,@args))
(defun ,satisfies (object)
(flet ((valid-p (ob)
(find ob ',(%map-symbols args))))
(defun ,satisfies (object)
(flet ((valid-p (ob)
(find ob ',(%map-symbols args))))