uffi/src objects.lisp,1.18,1.19 primitives.lisp,1.11,1.12

"Kevin M. Rosenberg" <[email protected]> Fri, 15 Aug 2003 02:34:36 +0000
Newsgroups gmane.lisp.uffi.cvs
Message-ID <[email protected]>
Update of /pubcvs/uffi/src
In directory boa.b9.com:/tmp/cvs-serv27219/src

Modified Files:
	objects.lisp primitives.lisp 
Log Message:


Index: primitives.lisp
===================================================================
RCS file: /pubcvs/uffi/src/primitives.lisp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** primitives.lisp	14 Aug 2003 21:58:29 -0000	1.11
--- primitives.lisp	15 Aug 2003 02:34:34 -0000	1.12
***************
*** 86,91 ****
    #+(or cmu sbcl scl) (defvar *cmu-def-type-hash*
  			(make-hash-table :size 20 :test #'eq))
-   #+allegro (defvar *allegro-foreign-type-hash*
- 	      (make-hash-table :size 20 :test #'eq))
    )
  
--- 86,89 ----
***************
*** 224,244 ****
         (:array . :array)))
  
- #+allegro
- (defvar *allegro-foreign-type-list*
-     '((:char . :signed-byte)
-       (:unsigned-char . :unsigned-byte)
-       (:byte . :signed-byte)
-       (:unsigned-byte . :unsigned-byte)
-       (:short . :signed-word)
-       (:unsigned-short . :unsigned-word)
-       (:int . :signed-long)
-       (:unsigned-int . :unsigned-long32)
-       (:long . :signed-long)
-       (:unsigned-long . :unsigned-long)
-       (:float . :single-float)
-       (:double . :double-float)
-       )
-   "Conversion for Allegro's system:memref function")
- 
  (dolist (type *type-conversion-list*)
    (setf (gethash (car type) +type-conversion-hash+) (cdr type)))
--- 222,225 ----
***************
*** 248,259 ****
    (setf (gethash (car type) *cmu-def-type-hash*) (cdr type)))
  
- #+allegro
- (dolist (type *allegro-foreign-type-list*)
-   (setf (gethash (car type) *allegro-foreign-type-hash*) (cdr type)))
- 
- (defun foreign-var-type-convert (type)
-   #+allegro (gethash type *allegro-foreign-type-hash*))
- 
-   
  (defun basic-convert-from-uffi-type (type)
    (let ((found-type (gethash type +type-conversion-hash+)))
--- 229,232 ----
***************
*** 283,289 ****
         #+(and mcl (not openmcl))
         ((and (eq type :void) (eq context :return)) nil)
-        #+allegro
-        ((eq context :foreign-var)
- 	(foreign-var-type-convert type))
         (t
  	(basic-convert-from-uffi-type type)))
--- 256,259 ----

Index: objects.lisp
===================================================================
RCS file: /pubcvs/uffi/src/objects.lisp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** objects.lisp	14 Aug 2003 21:58:29 -0000	1.18
--- objects.lisp	15 Aug 2003 02:34:34 -0000	1.19
***************
*** 233,237 ****
    (let ((foreign-name (if (atom names) names (first names)))
          (lisp-name (if (atom names) (make-lisp-name names) (second names)))
!         (var-type (convert-from-uffi-type type :foreign-var)))
      #+(or cmu scl)
      `(alien:def-alien-variable (,foreign-name ,lisp-name) ,var-type)
--- 233,238 ----
    (let ((foreign-name (if (atom names) names (first names)))
          (lisp-name (if (atom names) (make-lisp-name names) (second names)))
!         #-allegro
!         (var-type (convert-from-uffi-type type :type)))
      #+(or cmu scl)
      `(alien:def-alien-variable (,foreign-name ,lisp-name) ,var-type)
***************
*** 239,249 ****
      `(sb-alien:define-alien-variable (,foreign-name ,lisp-name) ,var-type)
      #+allegro
!     `(ff:def-foreign-variable (,lisp-name ,foreign-name) :convention :c
!       :type ,var-type)
      #+lispworks
      (let ((temp-name (gensym)))
        `(progn
!         (fli:define-foreign-variable (,temp-name ,foreign-name) :type ,var-type :module ,module)
!         (define-symbol-macro ,lisp-name (,temp-name))))
      #-(or allegro cmu scl sbcl lispworks)
      `(define-symbol-macro ,lisp-name
--- 240,255 ----
      `(sb-alien:define-alien-variable (,foreign-name ,lisp-name) ,var-type)
      #+allegro
!     `(define-symbol-macro ,lisp-name
!       (ff:fslot-value-typed (quote ,(convert-from-uffi-type type :deref))
!                             :c (ff:get-entry-point ,foreign-name)))
      #+lispworks
      (let ((temp-name (gensym)))
        `(progn
!         (fli:define-foreign-variable (,temp-name ,foreign-name)
!                                      :accessor :address-of
!                                      :type ,var-type
!                                      :module ,module)
!         (define-symbol-macro ,lisp-name (fli:dereference (,temp-name)
!                                                          :copy-foreign-object nil))))
      #-(or allegro cmu scl sbcl lispworks)
      `(define-symbol-macro ,lisp-name