/[mcclim]/mcclim/mcclim.asd
ViewVC logotype

Contents of /mcclim/mcclim.asd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.56 - (show annotations)
Fri Apr 27 21:37:14 2007 UTC (6 years, 11 months ago) by thenriksen
Branch: MAIN
Changes since 1.55: +3 -2 lines
Merged splittist's work on splitting the general parts of the Lisp
syntax's LR parser into an abstract syntax type. Also some supporting
(mostly package) fixes needed to make it all still roll.
1 ;;; -*- Mode: Lisp -*-
2
3 ;;; (c) copyright 1998,1999,2000 by Michael McDonald (mikemac@mikemac.com)
4 ;;; (c) copyright 2000 by
5 ;;; Robert Strandh (strandh@labri.u-bordeaux.fr)
6 ;;; (c) copyright 2005 by
7 ;;; Andreas Fuchs (asf@boinkor.net)
8 ;;;
9 ;;; This library is free software; you can redistribute it and/or
10 ;;; modify it under the terms of the GNU Library General Public
11 ;;; License as published by the Free Software Foundation; either
12 ;;; version 2 of the License, or (at your option) any later version.
13 ;;;
14 ;;; This library is distributed in the hope that it will be useful,
15 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 ;;; Library General Public License for more details.
18 ;;;
19 ;;; You should have received a copy of the GNU Library General Public
20 ;;; License along with this library; if not, write to the
21 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 ;;; Boston, MA 02111-1307 USA.
23
24
25 ;;; Really, I wouldn't bother with anything but ASDF. Almost every lisp
26 ;;; ships with it, and it has the added benefit of ASDF-INSTALL.
27 ;;; Get ASDF, and be welcome to the 21st century. -- [2005-01-31:asf]
28
29 (defpackage :mcclim.system
30 (:use :asdf :cl))
31 (in-package :mcclim.system)
32
33 (defparameter *clim-directory* (directory-namestring *load-truename*))
34
35 (eval-when (:compile-toplevel :load-toplevel :execute)
36 (defun find-swank-package ()
37 (find-package :swank))
38 (defun find-swank-system ()
39 (handler-case (asdf:find-system :swank)
40 (asdf:missing-component ())))
41 (defun find-swank ()
42 (or (find-swank-package)
43 (find-swank-system)))
44 (defun dep-on-swank ()
45 (if (and (find-swank-system)
46 (not (find-package :swank)))
47 '(:and)
48 '(:or)))
49 (defun ifswank ()
50 (if (find-swank)
51 '(:and)
52 '(:or))))
53
54 ;;; Legacy CMUCL support stuff
55 #+cmu
56 (progn
57 (unless (fboundp 'ext:stream-read-char)
58 (unless (ignore-errors (ext:search-list "gray-streams:"))
59 (setf (ext:search-list "gray-streams:")
60 '("target:pcl/" "library:subsystems/")))
61 (if (fboundp 'extensions:without-package-locks)
62 (extensions:without-package-locks
63 (load "gray-streams:gray-streams-library"))
64 (load "gray-streams:gray-streams-library")))
65 #-(or clx gtkairo clim-graphic-forms)
66 (require :clx)
67 #+mp (when (eq mp::*initial-process* mp::*current-process*)
68 (format t "~%~%You need to run (mp::startup-idle-and-top-level-loops) to start up the multiprocessing support.~%~%")))
69
70 ;;; Make CLX asdf-loadable on Allegro 6.2
71 ;;; possibly this should be further refined to funciton properly for
72 ;;; Allegro on Windows platforms. [2005/04/18:rpg]
73
74 #+allegro
75 (progn
76 (defclass requireable-system (asdf:system)
77 ())
78 (defmethod asdf:perform ((op asdf:load-op) (system requireable-system))
79 (require (intern (slot-value system 'asdf::name) :keyword)))
80 (defmethod asdf::traverse ((op asdf:load-op) (system requireable-system))
81 (list (cons op system)))
82 (defsystem :clx
83 :class requireable-system))
84
85 (defmacro clim-defsystem ((module &key depends-on) &rest components)
86 `(progn
87 (asdf:defsystem ,module
88 ,@(and depends-on
89 `(:depends-on ,depends-on))
90 :serial t
91 :components
92 (,@(loop for c in components
93 for p = (merge-pathnames
94 (parse-namestring c)
95 (make-pathname :type "lisp"
96 :defaults *clim-directory*))
97 collect `(:file ,(namestring p) :pathname ,p))))))
98
99 (defsystem :clim-lisp
100 :components
101 (;; First possible patches
102 (:file "patch")
103 (:module "Lisp-Dep"
104 :depends-on ("patch")
105 :components
106 ((:file #+cmu "fix-cmu"
107 #+scl "fix-scl"
108 #+excl "fix-acl"
109 #+sbcl "fix-sbcl"
110 #+openmcl "fix-openmcl"
111 #+lispworks "fix-lispworks"
112 #+clisp "fix-clisp")))
113 (:file "package" :depends-on ("Lisp-Dep" "patch"))))
114
115 (defsystem :clim-basic
116 :depends-on (:clim-lisp :spatial-trees :flexichain)
117 :components ((:file "decls")
118 (:file "protocol-classes" :depends-on ("decls"))
119 (:module "Lisp-Dep"
120 :depends-on ("decls")
121 :components
122 ((:file #.(first
123 (list
124 #+(and :cmu :mp (not :pthread)) "mp-cmu"
125 #+scl "mp-scl"
126 #+sb-thread "mp-sbcl"
127 #+excl "mp-acl"
128 #+openmcl "mp-openmcl"
129 #+lispworks "mp-lw"
130 #| fall back |# "mp-nil")))))
131 (:file "utils" :depends-on ("decls" "Lisp-Dep"))
132 (:file "design" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "utils"))
133 (:file "X11-colors" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "design"))
134 (:file "coordinates" :depends-on ("decls" "protocol-classes" "Lisp-Dep"))
135 (:file "setf-star" :depends-on ("decls" "Lisp-Dep"))
136 (:file "transforms" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "coordinates" "utils"))
137 (:file "regions" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "coordinates" "utils" "transforms" "setf-star" "design"))
138 (:file "sheets" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "utils" "transforms" "regions"))
139 (:file "pixmap" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "transforms" "regions"))
140 (:file "events" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "transforms" "sheets" "utils"))
141 (:file "ports" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "events" "sheets" "pixmap" "utils"))
142 (:file "grafts" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "ports" "transforms" "regions"))
143 (:file "medium" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "ports" "X11-colors" "utils" "pixmap" "regions"
144 "transforms" "design"))
145 (:file "output" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "medium"))
146 (:file "input" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "events" "regions" "sheets"))
147 (:file "repaint" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "events"))
148 (:file "graphics" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "output" "utils" "medium" "sheets" "pixmap"
149 "regions" "design" "transforms"))
150 (:file "views" :depends-on ("utils" "protocol-classes"))
151 (:file "stream-output" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "design" "utils" "X11-colors" "views"
152 "output" "sheets" "regions" "graphics"
153 "medium" "setf-star"))
154 (:file "recording" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "output" "coordinates" "graphics" "design"
155 "medium" "transforms" "regions" "sheets"
156 "utils" "stream-output"))
157 (:file "encapsulate" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "graphics" "utils" "medium" "input"
158 "stream-output" "recording"))
159 (:file "stream-input" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "input" "ports" "sheets" "events"
160 "encapsulate" "transforms" "utils"))
161 (:file "text-selection" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "X11-colors" "medium" "output"
162 "transforms" "sheets" "stream-output"
163 "ports" "recording" "regions"
164 "events"))
165 (:file "bezier" :depends-on ("recording"))))
166
167 (defsystem :goatee-core
168 :depends-on (:clim-basic)
169 :components
170 ((:module "Goatee"
171 :components
172 ((:file "conditions")
173 (:file "dbl-list")
174 (:file "flexivector" :depends-on ("conditions" "dbl-list"))
175 (:file "buffer" :depends-on ("conditions" "flexivector" "dbl-list"))
176 (:file "editable-buffer" :depends-on ("dbl-list" "flexivector" "buffer"))
177 (:file "editable-area" :depends-on ("flexivector" "editable-buffer" "dbl-list"
178 "buffer"))
179 (:file "clim-area" :depends-on ("flexivector" "dbl-list" "buffer"
180 "editable-area" "editable-buffer"))
181 (:file "kill-ring" :depends-on ("editable-buffer" "dbl-list" "flexivector"
182 "buffer"))
183 (:file "goatee-command" :depends-on ("conditions" "clim-area" "dbl-list"
184 "editable-buffer" "kill-ring"
185 "editable-area" "buffer" "flexivector"))
186 (:file "editing-stream" :depends-on ("goatee-command" "kill-ring" "dbl-list"
187 "conditions" "editable-buffer"
188 "flexivector" "clim-area" "buffer"))
189 (:file "presentation-history" :depends-on ("editing-stream" "buffer"
190 "flexivector" "editable-buffer"
191 "goatee-command"))))))
192 ;;; CLIM-PostScript is not a backend in the normal sense.
193 ;;; It is an extension (Chap. 35.1 of the spec) and is an
194 ;;; "included" part of McCLIM. Hence the defsystem is here.
195 (defsystem :clim-postscript
196 :depends-on (:clim-basic)
197 :components
198 ((:module "Backends/PostScript"
199 :pathname #.(make-pathname :directory '(:relative "Backends" "PostScript"))
200 :components
201 ((:file "package")
202 (:file "encoding" :depends-on ("package"))
203 (:file "paper" :depends-on ("package"))
204 (:file "class" :depends-on ("paper" "package"))
205 (:file "font" :depends-on ("encoding" "class" "paper" "package"))
206 (:file "graphics" :depends-on ("encoding" "paper" "class" "font" "package"))
207 (:file "sheet" :depends-on ("paper" "class" "graphics" "package"))
208 (:file "afm" :depends-on ("class" "paper" "font" "package"))
209 (:file "standard-metrics" :depends-on ("font" "package"))))))
210
211 (defsystem :clim-core
212 :depends-on (:clim-basic :goatee-core :clim-postscript)
213 :components ((:file "text-formatting")
214 (:file "defresource")
215 (:file "input-editing")
216 (:file "presentations")
217 (:file "pointer-tracking" :depends-on ("input-editing"))
218 (:file "graph-formatting")
219 (:file "frames" :depends-on ("commands" "presentations" "presentation-defs"
220 "pointer-tracking" "incremental-redisplay"))
221 (:file "table-formatting" :depends-on ("presentation-defs" "panes"
222 "presentations" "input-editing"))
223 (:file "bordered-output" :depends-on ("input-editing" "incremental-redisplay"
224 "presentation-defs" "panes"))
225 (:file "dialog-views" :depends-on ("presentations" "incremental-redisplay"
226 "bordered-output" "presentation-defs"))
227 (:file "presentation-defs" :depends-on ("input-editing" "presentations"))
228 (:file "gadgets" :depends-on ("commands" "pointer-tracking" "input-editing"
229 "frames" "incremental-redisplay" "panes"))
230 (:file "describe" :depends-on ("presentations" "presentation-defs" "table-formatting"))
231 (:file "commands" :depends-on ("input-editing" "presentations"
232 "presentation-defs"))
233 (:file "incremental-redisplay" :depends-on ("presentation-defs"))
234 (:file "menu-choose" :depends-on ("commands" "table-formatting" "presentation-defs"
235 "panes" "frames" "pointer-tracking"
236 "presentations"))
237 (:file "menu" :depends-on ("panes" "commands" "gadgets"
238 "presentations" "frames"))
239 (:file "panes" :depends-on ("incremental-redisplay" "presentations"
240 "presentation-defs" "input-editing" "frames"))
241 (:file "dialog" :depends-on ("panes" "frames" "incremental-redisplay"
242 "table-formatting" "presentations"
243 "bordered-output" "presentation-defs"
244 "dialog-views" "input-editing"
245 "commands"))
246 (:file "builtin-commands" :depends-on ("table-formatting"
247 "commands" "presentations"
248 "dialog" "presentation-defs"
249 "input-editing"))))
250
251 (defsystem :esa-mcclim
252 :depends-on (:clim-core)
253 :components ((:module "ESA"
254 :components ((:file "packages")
255 (:file "utils" :depends-on ("packages"))
256 (:file "colors" :depends-on ("packages"))
257 (:file "esa" :depends-on ("colors" "packages" "utils"))
258 (:file "esa-buffer" :depends-on ("packages" "esa"))
259 (:file "esa-io" :depends-on ("packages" "esa" "esa-buffer"))
260 (:file "esa-command-parser" :depends-on ("packages" "esa"))))))
261
262
263
264 (defsystem :drei-mcclim
265 :depends-on (:flexichain :esa-mcclim :clim-core #+#.(mcclim.system::dep-on-swank) :swank)
266 :components
267 ((:module "cl-automaton"
268 :pathname #.(make-pathname :directory '(:relative "Drei" "cl-automaton"))
269 :components ((:file "automaton-package")
270 (:file "eqv-hash" :depends-on ("automaton-package"))
271 (:file "state-and-transition" :depends-on ("eqv-hash"))
272 (:file "automaton" :depends-on ("state-and-transition" "eqv-hash"))
273 (:file "regexp" :depends-on ("automaton"))))
274 (:module "Persistent"
275 :pathname #.(make-pathname :directory '(:relative "Drei" "Persistent"))
276 :components ((:file "binseq-package")
277 (:file "binseq" :depends-on ("binseq-package"))
278 (:file "obinseq" :depends-on ("binseq-package" "binseq"))
279 (:file "binseq2" :depends-on ("binseq-package" "obinseq" "binseq"))))
280 (:module "Drei" :depends-on ("cl-automaton" "Persistent")
281 :components ((:file "packages")
282 (:file "buffer" :depends-on ("packages"))
283 (:file "motion" :depends-on ("packages" "buffer" "syntax"))
284 (:file "editing" :depends-on ("packages" "buffer" "syntax" "motion" "kill-ring"))
285 (:file "base" :depends-on ("packages" "buffer" "persistent-buffer" "kill-ring"))
286 (:file "syntax" :depends-on ("packages" "buffer" "base"))
287 (:file "drei" :depends-on ("packages" "syntax" "buffer" "base"
288 "persistent-undo" "persistent-buffer" "abbrev"
289 "delegating-buffer" "undo" "motion" "editing"))
290 (:file "drei-clim" :depends-on ("drei"))
291 (:file "drei-redisplay" :depends-on ("drei-clim"))
292 (:file "input-editor" :depends-on ("drei-redisplay" "lisp-syntax" "core"))
293 (:file "fundamental-syntax" :depends-on ("packages" "drei-redisplay"))
294 (:file "abbrev" :depends-on ("packages"))
295 (:file "kill-ring" :depends-on ("packages"))
296 (:file "undo" :depends-on ("packages"))
297 (:file "delegating-buffer" :depends-on ("packages" "buffer"))
298 (:file "basic-commands" :depends-on ("drei-clim" "motion" "editing"))
299 (:file "core" :depends-on ("drei"))
300 (:file "buffer-streams" :depends-on ("core"))
301 (:file "rectangle" :depends-on ("core"))
302 (:file "core-commands" :depends-on ("core" "rectangle" "drei-clim"))
303 (:file "persistent-buffer"
304 :pathname #.(make-pathname :directory '(:relative "Persistent")
305 :name "persistent-buffer"
306 :type "lisp")
307 :depends-on ("packages"))
308 (:file "persistent-undo"
309 :pathname #p"Persistent/persistent-undo.lisp"
310 :depends-on ("packages" "buffer" "persistent-buffer" "undo"))
311 (:file "misc-commands" :depends-on ("basic-commands"))
312 (:file "unicode-commands" :depends-on ("core" "drei-clim"))
313 (:file "search-commands" :depends-on ("core" "drei-clim"))
314 (:file "lr-syntax" :depends-on ("fundamental-syntax" "core"))
315 (:file "lisp-syntax" :depends-on ("lr-syntax" "motion" "core"))
316 (:file "lisp-syntax-swine" :depends-on ("lisp-syntax"))
317 (:file "lisp-syntax-commands" :depends-on ("lisp-syntax-swine" "misc-commands"))
318 #+#.(mcclim.system::ifswank) (:file "lisp-syntax-swank" :depends-on ("lisp-syntax"))))))
319
320 (defsystem :drei-tests
321 :depends-on (:drei-mcclim :fiveam)
322 :components
323 ((:module "Tests"
324 :pathname #.(make-pathname :directory '(:relative "Drei" "Tests"))
325 :components
326 ((:module
327 "cl-automaton"
328 :depends-on ("testing")
329 :components
330 ((:file "eqv-hash-tests")
331 (:file "state-and-transition-tests")
332 (:file "automaton-tests")
333 (:file "regexp-tests")))
334 (:file "packages")
335 (:file "testing" :depends-on ("packages"))
336 (:file "buffer-tests" :depends-on ("testing"))
337 (:file "base-tests" :depends-on ("testing"))
338 (:file "kill-ring-tests" :depends-on ("testing"))
339 (:file "motion-tests" :depends-on ("testing"))
340 (:file "editing-tests" :depends-on ("testing"))
341 (:file "core-tests" :depends-on ("testing"))
342 (:file "buffer-streams-tests" :depends-on ("testing"))
343 (:file "rectangle-tests" :depends-on ("testing"))
344 (:file "undo-tests" :depends-on ("testing"))
345 (:file "lisp-syntax-tests" :depends-on ("testing" "motion-tests"))))))
346
347 (defsystem :clim
348 :depends-on (:clim-core :goatee-core :clim-postscript :drei-mcclim)
349 :components
350 ((:file "Goatee/presentation-history" ; XXX: this is loaded as part of the Goatee system. huh?
351 :pathname #.(make-pathname :directory '(:relative "Goatee") :name "presentation-history" :type "lisp"))
352 (:file "input-editing-goatee")
353 (:file "input-editing-drei")
354 (:file "text-editor-gadget")
355 (:file "Extensions/rgb-image" :pathname #.(make-pathname :directory '(:relative "Extensions")
356 :name "rgb-image"))
357 (:file "Extensions/tab-layout"
358 :pathname #.(make-pathname :directory '(:relative "Extensions")
359 :name "tab-layout"))))
360
361 (defsystem :clim-clx
362 :depends-on (:clim #+(or sbcl openmcl ecl allegro) :clx)
363 :components
364 ((:module "Backends/CLX"
365 :pathname #.(make-pathname :directory '(:relative "Backends" "CLX"))
366 :components
367 ((:file "package")
368 (:file "image" :depends-on ("package"))
369 (:file "keysyms-common" :depends-on ("package"))
370 (:file "keysyms" :depends-on ("keysyms-common" "package"))
371 (:file "keysymdef" :depends-on ("keysyms-common" "package"))
372 (:file "port" :depends-on ("keysyms-common" "keysyms" "package"))
373 (:file "medium" :depends-on ("port" "keysyms" "package"))
374 (:file "graft" :depends-on ("port" "package"))
375 (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
376
377 (defsystem :clim-null
378 :depends-on (:clim)
379 :components
380 ((:module "Backends/Null"
381 :pathname #.(make-pathname :directory '(:relative "Backends" "Null"))
382 :components
383 ((:file "package")
384 (:file "port" :depends-on ("package"))
385 (:file "medium" :depends-on ("port" "package"))
386 (:file "graft" :depends-on ("port" "package"))
387 (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
388
389 (defsystem :clim-gtkairo
390 :depends-on (:clim :cffi)
391 :components
392 ((:module "Backends/gtkairo"
393 :pathname #.(make-pathname :directory '(:relative "Backends" "gtkairo"))
394 :serial t ;asf wird's ja richten
395 :components
396 ((:file "clim-fix")
397 (:file "package")
398 (:file "gtk-ffi")
399 (:file "cairo-ffi")
400 (:file "ffi")
401 (:file "graft")
402 (:file "port")
403 (:file "event")
404 (:file "keys")
405 (:file "medium")
406 (:file "pango")
407 (:file "cairo")
408 (:file "gdk")
409 (:file "pixmap")
410 (:file "frame-manager")
411 (:file "gadgets")))))
412
413 (defsystem :clim-graphic-forms
414 :depends-on (:clim :graphic-forms-uitoolkit)
415 :components
416 ((:module "Backends/Graphic-Forms"
417 :pathname #.(make-pathname :directory '(:relative "Backends" "Graphic-Forms"))
418 :components
419 ((:file "package")
420 (:file "utils" :depends-on ("package"))
421 (:file "graft" :depends-on ("package"))
422 (:file "port" :depends-on ("utils" "graft"))
423 (:file "medium" :depends-on ("port"))
424 (:file "frame-manager" :depends-on ("medium"))
425 (:file "gadgets" :depends-on ("port"))))))
426
427 ;;; TODO/asf: I don't have the required libs to get :clim-opengl to load. tough.
428 (clim-defsystem (:clim-opengl :depends-on (:clim))
429 "Backends/OpenGL/opengl-x-frame-manager"
430 "Backends/OpenGL/opengl-frame-manager"
431 "Backends/OpenGL/opengl-x-port-before"
432 "Backends/OpenGL/opengl-port"
433 "Backends/OpenGL/opengl-x-port-after"
434 "Backends/OpenGL/opengl-medium"
435 "Backends/OpenGL/opengl-x-graft")
436
437 ;;; A system that loads the appropriate backend for the current
438 ;;; platform.
439 (defsystem :clim-looks
440 :depends-on (:clim :clim-postscript
441 ;; If we're on an implementation that ships CLX, use
442 ;; it. Same if the user has loaded CLX already.
443 #+(and (or sbcl scl openmcl ecl clx allegro)
444 (not (or gtkairo clim-graphic-forms)))
445 :clim-clx
446 #+clim-graphic-forms :clim-graphic-forms
447 #+gl :clim-opengl
448 ;; OpenMCL and MCL support the beagle backend (native
449 ;; OS X look&feel on OS X).
450
451 ;; But until it's ready, it's no use forcing users to
452 ;; cope with possible bugs.
453 ;; #+(or openmcl mcl) :clim-beagle
454
455 #+gtkairo :clim-gtkairo
456
457 ;; null backend
458 :clim-null
459 )
460 :components (#-(or gtkairo clim-graphic-forms)
461 (:file "Looks/pixie"
462 :pathname #.(make-pathname :directory '(:relative "Looks") :name "pixie" :type "lisp"))))
463
464 ;;; The actual McCLIM system that people should to use in their ASDF
465 ;;; package dependency lists.
466 (defsystem :mcclim
467 :version "0.9.5-dev"
468 :depends-on (:clim-looks))
469
470 (defmethod perform :after ((op load-op) (c (eql (find-system :clim))))
471 (pushnew :clim *features*)
472 (pushnew :mcclim *features*))
473
474 (defmethod perform :after ((op load-op) (c (eql (find-system :mcclim))))
475 (pushnew :clim *features*)
476 (pushnew :mcclim *features*))
477
478 ;; XXX This is very ugly, but ESA and Drei need to know whether they
479 ;; are being compiled as part of McCLIM, or in another CLIM
480 ;; implementation.
481 (defmethod perform :around (op c)
482 (if (and (or (eql (component-system c) (find-system :esa-mcclim))
483 (eql (component-system c) (find-system :drei-mcclim)))
484 (not (find :building-mcclim *features*)))
485 (unwind-protect (progn (push :building-mcclim *features*)
486 (call-next-method))
487 (setf *features* (delete :building-mcclim *features*)))
488 (call-next-method)))

  ViewVC Help
Powered by ViewVC 1.1.5