1 ;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
3 ;;; --- ASDF component classes
6 (defpackage :iolib.asdf
8 (in-package :iolib.asdf
)
10 (defclass :iolib-muffled-source-file
(asdf:cl-source-file
) ())
12 (macrolet ((with-muffled-output (&body body
)
14 (#+sbcl
(sb-int:package-at-variance
#'muffle-warning
))
16 (defmethod asdf:perform
:around
((o asdf
:compile-op
)
17 (c :iolib-muffled-source-file
))
19 (with-standard-io-syntax
20 (let (;; Compilation fails because of CFFI types that
21 ;; can't be printed readably, so bind to NIL
22 (*print-readably
* nil
)
23 (*readtable
* (copy-readtable)))
24 (call-next-method)))))
26 (defmethod asdf:perform
:around
((o asdf
:load-op
)
27 (c :iolib-muffled-source-file
))
29 (with-standard-io-syntax
31 (*print-readably
* nil
)
32 (*readtable
* (copy-readtable)))
33 (call-next-method)))))
35 (defmethod asdf:perform
:around
((o asdf
:load-source-op
)
36 (c :iolib-muffled-source-file
))
38 (with-standard-io-syntax
40 (*print-readably
* nil
)
41 (*readtable
* (copy-readtable)))
42 (call-next-method))))))
45 (eval-when (:compile-toplevel
:load-toplevel
:execute
)
46 ;; SCL 1.3.9.1 doesn't allow superclasses to be keywords
47 ;; Fix suggested by DTC
48 (defun clos::legal-class-name-p
(x) (and x
(symbolp x
))))
50 (defclass :iolib-source-file
(:iolib-muffled-source-file
) ())