Changeset 24645
- Timestamp:
- 11/22/08 20:07:56 (7 weeks ago)
- Location:
- lang/commonlisp/cl-win32ole/trunk
- Files:
-
- 9 modified
-
api (modified) (1 prop)
-
api/compat.lisp (modified) (1 diff)
-
api/variant.lisp (modified) (1 diff)
-
cl-win32ole-sys.asd (modified) (1 diff)
-
sys (modified) (1 prop)
-
sys/ole-variant.lisp (modified) (2 diffs)
-
sys/ole.lisp (modified) (1 diff)
-
sys/package.lisp (modified) (1 diff)
-
sys/util.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/commonlisp/cl-win32ole/trunk/api
-
Property
svn:ignore set
to
*.fas
*.lib
-
Property
svn:ignore set
to
-
lang/commonlisp/cl-win32ole/trunk/api/compat.lisp
r10948 r24645 2 2 3 3 (defun finalize (object lambda) 4 #+sbcl 5 (sb-ext:finalize object lambda)) 4 (tg:finalize object lambda)) -
lang/commonlisp/cl-win32ole/trunk/api/variant.lisp
r10948 r24645 14 14 (cond ((variant-array-p ptr) 15 15 (variant-array-to-lisp ptr)) 16 (t (e case(logand type (lognot VT_BYREF))17 ( #.VT_EMPTY nil)18 ( #.VT_I4 v)19 ( #.VT_R4 v)20 ( #.VT_R8 v)21 ( #.VT_BSTR (bstr->lisp v))22 ( #.VT_BOOL (= VARIANT_TRUE v))23 ( #.VT_DISPATCH (let ((dispatch (make-dispatch v)))24 (add-ref dispatch)25 dispatch)))))))16 (t (eswitch (logand type (lognot VT_BYREF)) 17 (VT_EMPTY nil) 18 (VT_I4 v) 19 (VT_R4 v) 20 (VT_R8 v) 21 (VT_BSTR (bstr->lisp v)) 22 (VT_BOOL (= VARIANT_TRUE v)) 23 (VT_DISPATCH (let ((dispatch (make-dispatch v))) 24 (add-ref dispatch) 25 dispatch))))))) 26 26 27 27 (defun map-dim (fn list) -
lang/commonlisp/cl-win32ole/trunk/cl-win32ole-sys.asd
r10948 r24645 20 20 (:file "safearray") 21 21 ))) 22 :depends-on (cffi cl-ppcre ))22 :depends-on (cffi cl-ppcre trivial-garbage)) -
lang/commonlisp/cl-win32ole/trunk/sys
-
Property
svn:ignore set
to
*.fas
*.lib
-
Property
svn:ignore set
to
-
lang/commonlisp/cl-win32ole/trunk/sys/ole-variant.lisp
r10948 r24645 98 98 (cond ((variant-array-p variant) 99 99 'pointer) 100 (t (e case(variant-type variant)101 ( #.VT_EMPTY 'long-long)102 ( #.VT_I4 'long)103 ( #.VT_R4 'float)104 ( #.VT_R8 'double)105 ( #.VT_BSTR 'pointer)106 ( #.VT_BOOL 'bool)107 ( #.VT_VARIANT 'pointer)108 ( #.VT_DISPATCH 'pointer)100 (t (eswitch (variant-type variant) 101 (VT_EMPTY 'long-long) 102 (VT_I4 'long) 103 (VT_R4 'float) 104 (VT_R8 'double) 105 (VT_BSTR 'pointer) 106 (VT_BOOL 'bool) 107 (VT_VARIANT 'pointer) 108 (VT_DISPATCH 'pointer) 109 109 )))) 110 110 … … 183 183 (setf (variant-type variant) type) 184 184 (setf (variant-value variant) 185 (e case(variant-type variant)186 ( #.VT_I4 value)187 ( #.VT_R4 value)188 ( #.VT_R8 value)189 ( #.VT_BSTR (lisp->bstr value))190 ( #.VT_BOOL (if value VARIANT_TRUE VARIANT_FALSE))191 ( #.VT_VARIANT value)192 ( #.VT_DISPATCH value)193 ( #.(logior VT_VARIANT VT_ARRAY) value)185 (eswitch (variant-type variant) 186 (VT_I4 value) 187 (VT_R4 value) 188 (VT_R8 value) 189 (VT_BSTR (lisp->bstr value)) 190 (VT_BOOL (if value VARIANT_TRUE VARIANT_FALSE)) 191 (VT_VARIANT value) 192 (VT_DISPATCH value) 193 ((logior VT_VARIANT VT_ARRAY) value) 194 194 )) 195 195 variant)) -
lang/commonlisp/cl-win32ole/trunk/sys/ole.lisp
r10948 r24645 36 36 do (let ((c (code-char 37 37 (cffi:mem-aref buffer :unsigned-short i)))) 38 (unless (member c '(#\ CR #\LF))38 (unless (member c '(#\Return #\Linefeed)) 39 39 (write-char c)))))))) 40 40 -
lang/commonlisp/cl-win32ole/trunk/sys/package.lisp
r10948 r24645 136 136 137 137 #:p 138 #:switch 139 #:eswitch 138 140 )) 139 141 -
lang/commonlisp/cl-win32ole/trunk/sys/util.lisp
r10948 r24645 6 6 `(format t "~30a ; => ~a~%" ',arg ,arg)) 7 7 body))) 8 9 (defmacro switch (keyform &body cases) 10 "Switch is like case, except that it does not quote keys, and only accepts 11 one key per case." 12 (let ((k (gensym))) 13 `(let ((,k ,keyform)) 14 ,(reduce (lambda (case rest) 15 (destructuring-bind (key &body forms) case 16 `(cond ((eql ,key ,k) ,@forms) 17 (t ,rest)))) 18 cases 19 :from-end t 20 :initial-value nil)))) 21 22 (defmacro eswitch (keyform &body cases) 23 "ESwitch is like ecase, except that it does not quote keys, and only accepts 24 one key per case." 25 (let ((k (gensym)) 26 (cases (mapcar (lambda (case) 27 (destructuring-bind (key &body forms) case 28 (cons (list (gensym) key) forms))) 29 cases))) 30 `(let ((,k ,keyform) 31 ,@(mapcar #'car cases)) 32 ,(reduce (lambda (case rest) 33 (destructuring-bind ((key-val key) &body forms) case 34 (declare (ignore key)) 35 `(cond ((eql ,key-val ,k) ,@forms) 36 (t ,rest)))) 37 cases 38 :from-end t 39 :initial-value `(error "~a fell through ESWITCH expression. Wanted one of ~a" 40 ,k (list ,@(mapcar #'caar cases))))))) 41
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)