diff -ur clx-0.7.4.orig/gl.lisp clx-0.7.4/gl.lisp --- clx-0.7.4.orig/gl.lisp 2009-11-28 16:43:30.000000000 +0100 +++ clx-0.7.4/gl.lisp 2009-11-29 22:46:37.000000000 +0100 @@ -2274,7 +2274,7 @@ (let ((constant 0) (calculated ())) (loop - for (name type length length-var) in argspecs + for (nil type length length-var) in argspecs do (let ((byte-width (byte-width type))) (typecase length (number (incf constant (* byte-width length))) @@ -2287,7 +2287,7 @@ (defun composite-args (argspecs) (loop - for (name type length length-var) in argspecs + for (nil nil length length-var) in argspecs when (consp length) collect (list length-var length))) diff -ur clx-0.7.4.orig/xrender.lisp clx-0.7.4/xrender.lisp --- clx-0.7.4.orig/xrender.lisp 2009-11-28 16:43:30.000000000 +0100 +++ clx-0.7.4/xrender.lisp 2009-11-29 22:50:42.000000000 +0100 @@ -408,7 +408,7 @@ (macrolet ((foo (&rest specs) `(progn - ,@(loop for (type slot default) in specs + ,@(loop for (nil slot nil) in specs for index from 0 collect `(progn @@ -426,7 +426,7 @@ (data +X-RenderChangePicture+) (picture picture) (mask - ,@(loop for (type slot default) in specs + ,@(loop for (type slot nil) in specs for index from 0 collect `(,type (and @@ -454,7 +454,7 @@ (drawable &key format (picture (make-picture :display (drawable-display drawable))) - ,@(loop for (type slot default-value) in specs + ,@(loop for (nil slot nil) in specs collect (cond ((eql slot 'clip-mask) `(clip-mask :none)) (t @@ -475,7 +475,7 @@ (drawable drawable) (picture-format format) (mask - ,@(loop for (type slot default) in specs + ,@(loop for (type slot nil) in specs collect (cond ((eql slot 'clip-mask) (list type `(and @@ -487,7 +487,7 @@ (%render-change-picture-clip-rectangles picture clip-mask)) (setf (picture-format picture) format) (setf (picture-%server-values picture) - (vector ,@(loop for (type slot default) in specs + (vector ,@(loop for (nil slot default) in specs collect `(or ,slot ,default)))) (setf (picture-%values picture) (copy-seq (picture-%server-values picture)))