[mcclim-cvs] CVS mcclim/Backends/gtkairo

afuchs afuchs at common-lisp.net
Sat Oct 28 17:11:31 UTC 2006


Update of /project/mcclim/cvsroot/mcclim/Backends/gtkairo
In directory clnet:/tmp/cvs-serv22716/Backends/gtkairo

Modified Files:
	cairo-ffi.lisp 
Log Message:
Commit Douglas Crosher's non-symbol case fixes:
 * defsystem :clouseau: avoid pathname directory namestrings in file component names;
    reworking to be more portable.
 * defsystem :clim-examples: add the stopwatch example.
 * Update support for the Scieneer CL.


--- /project/mcclim/cvsroot/mcclim/Backends/gtkairo/cairo-ffi.lisp	2006/05/13 19:37:29	1.4
+++ /project/mcclim/cvsroot/mcclim/Backends/gtkairo/cairo-ffi.lisp	2006/10/28 17:11:31	1.5
@@ -26,7 +26,12 @@
 
 
 (defmacro def-cairo-fun (name rtype &rest args)
-  (let* ((str (string-upcase name))
+  (let* (#-scl
+	 (str (string-upcase name))
+	 #+scl
+	 (str (if (eq ext:*case-mode* :upper)
+		  (string-upcase name)
+		  (string-downcase name)))
 	 (actual (intern (concatenate 'string "%-" str) :clim-gtkairo))
 	 (wrapper (intern str :clim-gtkairo))
 	 (argnames (mapcar #'car args)))
@@ -36,8 +41,12 @@
 	 , at args)
        (defun ,wrapper ,argnames
 	 (multiple-value-prog1
-	     (,actual , at argnames)
-	   (let ((status (cairo_status ,(car argnames))))
+	     #-scl (,actual , at argnames)
+	     #+scl 
+	     (ext:with-float-traps-masked (:underflow :overflow :inexact
+						      :divide-by-zero :invalid)
+	       (,actual , at argnames))
+	     (let ((status (cairo_status ,(car argnames))))
 	     (unless (eq status :success)
 	       (error "~A returned with status ~A" ,name status))))))))
 




More information about the Mcclim-cvs mailing list