Gentoo Archives: gentoo-commits

From: "José María Alonso" <nimiux@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/lisp:master commit in: dev-lisp/clx/, dev-lisp/clx/files/
Date: Thu, 27 Apr 2017 08:39:43
Message-Id: 1493282374.f6957960d73309d99115c2c09d20323d251c8aad.nimiux@gentoo
1 commit: f6957960d73309d99115c2c09d20323d251c8aad
2 Author: Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
3 AuthorDate: Thu Apr 27 08:39:34 2017 +0000
4 Commit: José María Alonso <nimiux <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 27 08:39:34 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/lisp.git/commit/?id=f6957960
7
8 dev-lisp/clx: Drops unmaintained release
9
10 dev-lisp/clx/clx-0.7.4-r1.ebuild | 46 ----
11 dev-lisp/clx/files/gentoo-fix-asd.patch | 303 ---------------------
12 dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch | 21 --
13 .../gentoo-fix-dynamic-extent-sbcl-1.0.45.patch | 13 -
14 .../clx/files/gentoo-fix-obsolete-eval-when.patch | 12 -
15 dev-lisp/clx/files/gentoo-fix-unused-vars.patch | 69 -----
16 6 files changed, 464 deletions(-)
17
18 diff --git a/dev-lisp/clx/clx-0.7.4-r1.ebuild b/dev-lisp/clx/clx-0.7.4-r1.ebuild
19 deleted file mode 100644
20 index e229aaf0..00000000
21 --- a/dev-lisp/clx/clx-0.7.4-r1.ebuild
22 +++ /dev/null
23 @@ -1,46 +0,0 @@
24 -# Copyright 1999-2017 Gentoo Foundation
25 -# Distributed under the terms of the GNU General Public License v2
26 -
27 -EAPI=6
28 -
29 -inherit common-lisp-3 eutils
30 -
31 -DESCRIPTION="CLX is the Common Lisp interface to the X11 protocol primarily for SBCL."
32 -HOMEPAGE="http://www.cliki.net/CLX"
33 -SRC_URI="http://common-lisp.net/~abridgewater/dist/${PN}/${P}.tgz"
34 -
35 -LICENSE="HPND"
36 -SLOT="0"
37 -KEYWORDS="~amd64 ~ppc ~sparc ~x86"
38 -IUSE="doc"
39 -
40 -DEPEND="sys-apps/texinfo
41 - doc? ( virtual/texi2dvi )"
42 -RDEPEND="!dev-lisp/cl-${PN}"
43 -
44 -src_prepare() {
45 - rm -v {exclcmac,sockcl,defsystem,provide,cmudep}.lisp || die
46 - eapply "${FILESDIR}"/gentoo-fix-asd.patch
47 - eapply "${FILESDIR}"/gentoo-fix-dep-openmcl.patch
48 - eapply "${FILESDIR}"/gentoo-fix-unused-vars.patch
49 - eapply "${FILESDIR}"/gentoo-fix-obsolete-eval-when.patch
50 - eapply "${FILESDIR}"/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch
51 - eapply_user
52 -}
53 -
54 -src_compile() {
55 - cd manual || die
56 - makeinfo ${PN}.texinfo -o ${PN}.info || die "Cannot compile info docs"
57 - if use doc ; then
58 - VARTEXFONTS="${T}"/fonts \
59 - texi2pdf ${PN}.texinfo -o ${PN}.pdf || die "Cannot build PDF docs"
60 - fi
61 -}
62 -
63 -src_install() {
64 - common-lisp-install-sources *.lisp debug demo test
65 - common-lisp-install-asdf
66 - dodoc NEWS CHANGES README*
67 - doinfo manual/${PN}.info
68 - use doc && dodoc manual/${PN}.pdf
69 -}
70
71 diff --git a/dev-lisp/clx/files/gentoo-fix-asd.patch b/dev-lisp/clx/files/gentoo-fix-asd.patch
72 deleted file mode 100644
73 index 62ad5874..00000000
74 --- a/dev-lisp/clx/files/gentoo-fix-asd.patch
75 +++ /dev/null
76 @@ -1,303 +0,0 @@
77 -diff -ur clx-0.7.4.orig/clx.asd clx-0.7.4/clx.asd
78 ---- clx-0.7.4.orig/clx.asd 2009-11-28 16:43:30.000000000 +0100
79 -+++ clx-0.7.4/clx.asd 2009-11-29 22:29:11.000000000 +0100
80 -@@ -21,116 +21,80 @@
81 - ;;; or implied warranty.
82 -
83 - (defpackage :clx-system (:use :cl :asdf))
84 --(in-package :clx-system)
85 -+(in-package :clx-system)
86 -
87 - (pushnew :clx-ansi-common-lisp *features*)
88 -
89 - (defclass clx-source-file (cl-source-file) ())
90 - (defclass xrender-source-file (clx-source-file) ())
91 -
92 --;;; CL-SOURCE-FILE, not CLX-SOURCE-FILE, so that we're not accused of
93 --;;; cheating by rebinding *DERIVE-FUNCTION-TYPES* :-)
94 --(defclass example-source-file (cl-source-file) ())
95 --
96 --(defclass legacy-file (static-file) ())
97 --
98 --(defsystem CLX
99 -- :depends-on (#+sbcl sb-bsd-sockets)
100 -- :version "0.7.2"
101 -- :serial t
102 -- :default-component-class clx-source-file
103 -+(defsystem clx
104 -+ :depends-on (#+sbcl :sb-bsd-sockets)
105 -+ :version "0.7.4"
106 -+ :serial t
107 -+ :default-component-class clx-source-file
108 -+ :components
109 -+ ((:file "package")
110 -+ (:file "depdefs")
111 -+ (:file "clx")
112 -+ #-(or openmcl allegro) (:file "dependent")
113 -+ #+openmcl (:file "dep-openmcl")
114 -+ #+allegro (:file "dep-allegro")
115 -+ (:file "macros")
116 -+ (:file "bufmac")
117 -+ (:file "buffer")
118 -+ (:file "display")
119 -+ (:file "gcontext")
120 -+ (:file "input")
121 -+ (:file "requests")
122 -+ (:file "fonts")
123 -+ (:file "graphics")
124 -+ (:file "text")
125 -+ (:file "attributes")
126 -+ (:file "translate")
127 -+ (:file "keysyms")
128 -+ (:file "manager")
129 -+ (:file "image")
130 -+ (:file "resource")
131 -+ #+allegro
132 -+ (:file "excldep" :pathname "excldep.lisp")
133 -+ (:module extensions
134 -+ :pathname #.(make-pathname :directory '(:relative))
135 - :components
136 -- ((:file "package")
137 -- (:file "depdefs")
138 -- (:file "clx")
139 -- #-(or openmcl allegro) (:file "dependent")
140 -- #+openmcl (:file "dep-openmcl")
141 -- #+allegro (:file "dep-allegro")
142 -- (:file "macros")
143 -- (:file "bufmac")
144 -- (:file "buffer")
145 -- (:file "display")
146 -- (:file "gcontext")
147 -- (:file "input")
148 -- (:file "requests")
149 -- (:file "fonts")
150 -- (:file "graphics")
151 -- (:file "text")
152 -- (:file "attributes")
153 -- (:file "translate")
154 -- (:file "keysyms")
155 -- (:file "manager")
156 -- (:file "image")
157 -- (:file "resource")
158 -- #+allegro
159 -- (:file "excldep" :pathname "excldep.lisp")
160 -- (:module extensions
161 -- :pathname #.(make-pathname :directory '(:relative))
162 -- :components
163 -- ((:file "shape")
164 -- (:file "big-requests")
165 -- (:file "xvidmode")
166 -- (:xrender-source-file "xrender")
167 -- (:file "glx")
168 -- (:file "gl" :depends-on ("glx"))
169 -- (:file "dpms")
170 -- (:file "xtest")
171 -- (:file "screensaver")
172 -- (:file "xinerama")))
173 -- (:module demo
174 -- :default-component-class example-source-file
175 -- :components
176 -- ((:file "bezier")
177 -- ;; KLUDGE: this requires "bezier" for proper operation,
178 -- ;; but we don't declare that dependency here, because
179 -- ;; asdf doesn't load example files anyway.
180 -- (:file "beziertest")
181 -- (:file "clclock")
182 -- (:file "clipboard")
183 -- (:file "clx-demos")
184 -- (:file "gl-test")
185 -- ;; FIXME: compiling this generates 30-odd spurious code
186 -- ;; deletion notes. Find out why, and either fix or
187 -- ;; workaround the problem.
188 -- (:file "mandel")
189 -- (:file "menu")
190 -- (:file "zoid")))
191 -- (:module test
192 -- :default-component-class example-source-file
193 -- :components
194 -- ((:file "image")
195 -- ;; KLUDGE: again, this depends on "zoid"
196 -- (:file "trapezoid")))
197 -- (:static-file "NEWS")
198 -- (:static-file "CHANGES")
199 -- (:static-file "README")
200 -- (:static-file "README-R5")
201 -- (:legacy-file "exclMakefile")
202 -- (:legacy-file "exclREADME")
203 -- (:legacy-file "exclcmac" :pathname "exclcmac.lisp")
204 -- (:legacy-file "excldepc" :pathname "excldep.c")
205 -- (:legacy-file "sockcl" :pathname "sockcl.lisp")
206 -- (:legacy-file "socket" :pathname "socket.c")
207 -- (:legacy-file "defsystem" :pathname "defsystem.lisp")
208 -- (:legacy-file "provide" :pathname "provide.lisp")
209 -- (:legacy-file "cmudep" :pathname "cmudep.lisp")
210 -- (:module manual
211 -- ;; TODO: teach asdf how to process texinfo files
212 -- :components ((:static-file "clx.texinfo")))
213 -- (:module debug
214 -- :default-component-class legacy-file
215 -- :components
216 -- ((:file "debug" :pathname "debug.lisp")
217 -- (:file "describe" :pathname "describe.lisp")
218 -- (:file "event-test" :pathname "event-test.lisp")
219 -- (:file "keytrans" :pathname "keytrans.lisp")
220 -- (:file "trace" :pathname "trace.lisp")
221 -- (:file "util" :pathname "util.lisp")))))
222 --
223 --(defmethod perform ((o load-op) (f example-source-file))
224 -- ;; do nothing. We want to compile them when CLX is compiled, but
225 -- ;; not load them when CLX is loaded.
226 -- t)
227 -+ ((:file "shape")
228 -+ (:file "big-requests")
229 -+ (:file "xvidmode")
230 -+ (:xrender-source-file "xrender")
231 -+ (:file "glx")
232 -+ (:file "gl" :depends-on ("glx"))
233 -+ (:file "dpms")
234 -+ (:file "xtest")
235 -+ (:file "screensaver")
236 -+ (:file "xinerama")))))
237 -+
238 -+(defsystem clx-test
239 -+ :depends-on (:clx)
240 -+ :serial t
241 -+ :components
242 -+ ((:file "image")
243 -+ (:file "trapezoid")))
244 -+
245 -+(defsystem clx-demo
246 -+ :depends-on (:clx)
247 -+ :serial t
248 -+ :components
249 -+ ((:file "bezier")
250 -+ (:file "beziertest")
251 -+ (:file "clclock")
252 -+ (:file "clipboard")
253 -+ (:file "clx-demos")
254 -+ (:file "gl-test")
255 -+ ;; FIXME: compiling this generates 30-odd spurious code
256 -+ ;; deletion notes. Find out why, and either fix or
257 -+ ;; workaround the problem.
258 -+ (:file "mandel")
259 -+ (:file "menu")
260 -+ (:file "zoid")))
261 -
262 - #+sbcl
263 - (defmethod perform :around ((o compile-op) (f xrender-source-file))
264 -@@ -146,35 +110,35 @@
265 - ;; without STYLE-WARNINGs. Since it currently does, let's enforce
266 - ;; it here so that we can catch regressions easily.
267 - (let ((on-warnings (operation-on-warnings o))
268 -- (on-failure (operation-on-failure o)))
269 -+ (on-failure (operation-on-failure o)))
270 - (unwind-protect
271 -- (progn
272 -- (setf (operation-on-warnings o) :error
273 -- (operation-on-failure o) :error)
274 -- ;; a variety of accessors, such as AREF-CARD32, are not
275 -- ;; declared INLINE. Without this (non-ANSI)
276 -- ;; static-type-inference behaviour, SBCL emits an extra 100
277 -- ;; optimization notes (roughly one fifth of all of the
278 -- ;; notes emitted). Since the internals are unlikely to
279 -- ;; change much, and certainly the internals should stay in
280 -- ;; sync, enabling this extension is a win. (Note that the
281 -- ;; use of this does not imply that applications using CLX
282 -- ;; calls that expand into calls to these accessors will be
283 -- ;; optimized in the same way).
284 -- (let ((sb-ext:*derive-function-types* t)
285 -+ (progn
286 -+ (setf (operation-on-warnings o) :error
287 -+ (operation-on-failure o) :error)
288 -+ ;; a variety of accessors, such as AREF-CARD32, are not
289 -+ ;; declared INLINE. Without this (non-ANSI)
290 -+ ;; static-type-inference behaviour, SBCL emits an extra 100
291 -+ ;; optimization notes (roughly one fifth of all of the
292 -+ ;; notes emitted). Since the internals are unlikely to
293 -+ ;; change much, and certainly the internals should stay in
294 -+ ;; sync, enabling this extension is a win. (Note that the
295 -+ ;; use of this does not imply that applications using CLX
296 -+ ;; calls that expand into calls to these accessors will be
297 -+ ;; optimized in the same way).
298 -+ (let ((sb-ext:*derive-function-types* t)
299 - (sadx (find-symbol "STACK-ALLOCATE-DYNAMIC-EXTENT" :sb-c))
300 - (sadx-var (find-symbol "*STACK-ALLOCATE-DYNAMIC-EXTENT*" :sb-ext)))
301 -- ;; deeply unportable stuff, this. I will be shot. We
302 -- ;; want to enable the dynamic-extent declarations in CLX.
303 -- (when (and sadx (sb-c::policy-quality-name-p sadx))
304 -- ;; no way of setting it back short of yet more yukky stuff
305 -- (proclaim `(optimize (,sadx 3))))
306 -+ ;; deeply unportable stuff, this. I will be shot. We
307 -+ ;; want to enable the dynamic-extent declarations in CLX.
308 -+ (when (and sadx (sb-c::policy-quality-name-p sadx))
309 -+ ;; no way of setting it back short of yet more yukky stuff
310 -+ (proclaim `(optimize (,sadx 3))))
311 - (if sadx-var
312 - (progv (list sadx-var) (list t)
313 - (call-next-method))
314 - (call-next-method))))
315 - (setf (operation-on-warnings o) on-warnings
316 -- (operation-on-failure o) on-failure))))
317 -+ (operation-on-failure o) on-failure))))
318 -
319 - #+sbcl
320 - (defmethod perform :around (o (f clx-source-file))
321 -@@ -186,31 +150,31 @@
322 - ;; structured data is sufficiently equal.
323 - (handler-bind
324 - ((sb-ext:defconstant-uneql
325 -- (lambda (c)
326 -- ;; KLUDGE: this really means "don't warn me about
327 -- ;; efficiency of generic array access, please"
328 -- (declare (optimize (sb-ext:inhibit-warnings 3)))
329 -- (let ((old (sb-ext:defconstant-uneql-old-value c))
330 -- (new (sb-ext:defconstant-uneql-new-value c)))
331 -- (typecase old
332 -- (list (when (equal old new) (abort c)))
333 -- (string (when (and (typep new 'string)
334 -- (string= old new))
335 -- (abort c)))
336 -- (simple-vector
337 -- (when (and (typep new 'simple-vector)
338 -- (= (length old) (length new))
339 -- (every #'eql old new))
340 -- (abort c)))
341 -- (array
342 -- (when (and (typep new 'array)
343 -- (equal (array-dimensions old)
344 -- (array-dimensions new))
345 -- (equal (array-element-type old)
346 -- (array-element-type new))
347 -- (dotimes (i (array-total-size old) t)
348 -- (unless (eql (row-major-aref old i)
349 -- (row-major-aref new i))
350 -- (return nil))))
351 -- (abort c))))))))
352 -+ (lambda (c)
353 -+ ;; KLUDGE: this really means "don't warn me about
354 -+ ;; efficiency of generic array access, please"
355 -+ (declare (optimize (sb-ext:inhibit-warnings 3)))
356 -+ (let ((old (sb-ext:defconstant-uneql-old-value c))
357 -+ (new (sb-ext:defconstant-uneql-new-value c)))
358 -+ (typecase old
359 -+ (list (when (equal old new) (abort c)))
360 -+ (string (when (and (typep new 'string)
361 -+ (string= old new))
362 -+ (abort c)))
363 -+ (simple-vector
364 -+ (when (and (typep new 'simple-vector)
365 -+ (= (length old) (length new))
366 -+ (every #'eql old new))
367 -+ (abort c)))
368 -+ (array
369 -+ (when (and (typep new 'array)
370 -+ (equal (array-dimensions old)
371 -+ (array-dimensions new))
372 -+ (equal (array-element-type old)
373 -+ (array-element-type new))
374 -+ (dotimes (i (array-total-size old) t)
375 -+ (unless (eql (row-major-aref old i)
376 -+ (row-major-aref new i))
377 -+ (return nil))))
378 -+ (abort c))))))))
379 - (call-next-method)))
380
381 diff --git a/dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch b/dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch
382 deleted file mode 100644
383 index 1ec3eca0..00000000
384 --- a/dev-lisp/clx/files/gentoo-fix-dep-openmcl.patch
385 +++ /dev/null
386 @@ -1,21 +0,0 @@
387 -diff -ur clx-0.7.4.orig/dep-openmcl.lisp clx-0.7.4/dep-openmcl.lisp
388 ---- clx-0.7.4.orig/dep-openmcl.lisp 2009-11-28 16:43:30.000000000 +0100
389 -+++ clx-0.7.4/dep-openmcl.lisp 2009-11-29 22:39:36.000000000 +0100
390 -@@ -492,7 +492,7 @@
391 - ;;; value changes.
392 -
393 - (defun process-block (whostate predicate &rest predicate-args)
394 -- (declare (dynamic-extern predicate-args))
395 -+ (declare (dynamic-extent predicate-args))
396 - (apply #'ccl:process-wait whostate predicate predicate-args))
397 -
398 - ;;; PROCESS-WAKEUP: Check some other process' wait function.
399 -@@ -1113,7 +1113,7 @@
400 - unit byte-lsb-first-p bit-lsb-first-p)
401 - (declare (ignore bbuf boffset pixarray x y width height
402 - padded-bytes-per-line bits-per-pixel unit
403 -- byte-lsb-first-p bit-lsp-first-p))
404 -+ byte-lsb-first-p bit-lsb-first-p))
405 - nil)
406 -
407 - ;;; FAST-COPY-PIXARRAY - copy part of a pixarray into another
408
409 diff --git a/dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch b/dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch
410 deleted file mode 100644
411 index 961d1bed..00000000
412 --- a/dev-lisp/clx/files/gentoo-fix-dynamic-extent-sbcl-1.0.45.patch
413 +++ /dev/null
414 @@ -1,13 +0,0 @@
415 -diff -ur clx-0.7.4.orig/requests.lisp clx-0.7.4/requests.lisp
416 ---- clx-0.7.4.orig/requests.lisp 2009-11-28 16:43:30.000000000 +0100
417 -+++ clx-0.7.4/requests.lisp 2010-12-16 23:37:07.122629835 +0100
418 -@@ -466,8 +466,7 @@
419 - (type event-key event-key)
420 - (type (or null event-mask) event-mask)
421 - (type generalized-boolean propagate-p)
422 -- (type (or null display) display)
423 -- (dynamic-extent args))
424 -+ (type (or null display) display))
425 - (unless event-mask (setq event-mask 0))
426 - (unless display (setq display (window-display window)))
427 - (let ((internal-event-code (get-event-code event-key))
428
429 diff --git a/dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch b/dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch
430 deleted file mode 100644
431 index e1df016b..00000000
432 --- a/dev-lisp/clx/files/gentoo-fix-obsolete-eval-when.patch
433 +++ /dev/null
434 @@ -1,12 +0,0 @@
435 -diff -ur clx-0.7.4.orig/depdefs.lisp clx-0.7.4/depdefs.lisp
436 ---- clx-0.7.4.orig/depdefs.lisp 2009-11-28 16:43:30.000000000 +0100
437 -+++ clx-0.7.4/depdefs.lisp 2009-11-29 22:56:38.000000000 +0100
438 -@@ -142,7 +142,7 @@
439 - ;;; overlapping array and image code.
440 -
441 - #+(or lispm vax little-endian Minima)
442 --(eval-when (eval compile load)
443 -+(eval-when (:compile-toplevel :load-toplevel :execute)
444 - (pushnew :clx-little-endian *features*))
445 -
446 - #+lcl3.0
447
448 diff --git a/dev-lisp/clx/files/gentoo-fix-unused-vars.patch b/dev-lisp/clx/files/gentoo-fix-unused-vars.patch
449 deleted file mode 100644
450 index 96dc255f..00000000
451 --- a/dev-lisp/clx/files/gentoo-fix-unused-vars.patch
452 +++ /dev/null
453 @@ -1,69 +0,0 @@
454 -diff -ur clx-0.7.4.orig/gl.lisp clx-0.7.4/gl.lisp
455 ---- clx-0.7.4.orig/gl.lisp 2009-11-28 16:43:30.000000000 +0100
456 -+++ clx-0.7.4/gl.lisp 2009-11-29 22:46:37.000000000 +0100
457 -@@ -2274,7 +2274,7 @@
458 - (let ((constant 0)
459 - (calculated ()))
460 - (loop
461 -- for (name type length length-var) in argspecs
462 -+ for (nil type length length-var) in argspecs
463 - do (let ((byte-width (byte-width type)))
464 - (typecase length
465 - (number (incf constant (* byte-width length)))
466 -@@ -2287,7 +2287,7 @@
467 -
468 - (defun composite-args (argspecs)
469 - (loop
470 -- for (name type length length-var) in argspecs
471 -+ for (nil nil length length-var) in argspecs
472 - when (consp length)
473 - collect (list length-var length)))
474 -
475 -diff -ur clx-0.7.4.orig/xrender.lisp clx-0.7.4/xrender.lisp
476 ---- clx-0.7.4.orig/xrender.lisp 2009-11-28 16:43:30.000000000 +0100
477 -+++ clx-0.7.4/xrender.lisp 2009-11-29 22:50:42.000000000 +0100
478 -@@ -408,7 +408,7 @@
479 -
480 - (macrolet ((foo (&rest specs)
481 - `(progn
482 -- ,@(loop for (type slot default) in specs
483 -+ ,@(loop for (nil slot nil) in specs
484 - for index from 0
485 - collect
486 - `(progn
487 -@@ -426,7 +426,7 @@
488 - (data +X-RenderChangePicture+)
489 - (picture picture)
490 - (mask
491 -- ,@(loop for (type slot default) in specs
492 -+ ,@(loop for (type slot nil) in specs
493 - for index from 0
494 - collect
495 - `(,type (and
496 -@@ -454,7 +454,7 @@
497 - (drawable
498 - &key format
499 - (picture (make-picture :display (drawable-display drawable)))
500 -- ,@(loop for (type slot default-value) in specs
501 -+ ,@(loop for (nil slot nil) in specs
502 - collect (cond ((eql slot 'clip-mask)
503 - `(clip-mask :none))
504 - (t
505 -@@ -475,7 +475,7 @@
506 - (drawable drawable)
507 - (picture-format format)
508 - (mask
509 -- ,@(loop for (type slot default) in specs
510 -+ ,@(loop for (type slot nil) in specs
511 - collect
512 - (cond ((eql slot 'clip-mask)
513 - (list type `(and
514 -@@ -487,7 +487,7 @@
515 - (%render-change-picture-clip-rectangles picture clip-mask))
516 - (setf (picture-format picture) format)
517 - (setf (picture-%server-values picture)
518 -- (vector ,@(loop for (type slot default) in specs
519 -+ (vector ,@(loop for (nil slot default) in specs
520 - collect
521 - `(or ,slot ,default))))
522 - (setf (picture-%values picture) (copy-seq (picture-%server-values picture)))