1.0.13.39: record bug #421
[sbcl.git] / src / code / force-delayed-defbangmethods.lisp
blob51420870ac8b1ac6af6e23b89e3d94997a13bbf4
1 ;;;; This software is part of the SBCL system. See the README file for
2 ;;;; more information.
3 ;;;;
4 ;;;; This software is derived from the CMU CL system, which was
5 ;;;; written at Carnegie Mellon University and released into the
6 ;;;; public domain. The software is in the public domain and is
7 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
8 ;;;; files for more information.
10 (in-package "SB-IMPL") ;(SB-IMPL, not SB!IMPL, since we're built in warm load.)
12 (macrolet ((force-delayed-def!methods ()
13 `(progn
14 ,@(mapcar (lambda (args)
15 `(progn
16 #+sb-show
17 (format t
18 "~&/about to do ~S~%"
19 '(defmethod ,@args))
20 (defmethod ,@args)
21 #+sb-show
22 (format t
23 "~&/done with DEFMETHOD ~S~%"
24 ',(first args))))
25 *delayed-def!method-args*)
26 (defmacro def!method (&rest args) `(defmethod ,@args))
27 ;; We're no longer needed, ordinary DEFMETHOD is enough now.
28 (makunbound '*delayed-def!method-args*))))
29 (force-delayed-def!methods))