diff --git a/src/base/defalias.lisp b/src/base/defalias.lisp index 96bf728c7c719eacea64aff90198a1584fd0d092..a294dae6214ef7c5ce953f39c730050994da055c 100644 --- a/src/base/defalias.lisp +++ b/src/base/defalias.lisp @@ -33,7 +33,8 @@ (setf (fdefinition ',alias) (fdefinition ',original)) (setf (documentation ',alias 'function) - (documentation ',original 'function)))) + (documentation ',original 'function)) + (defalias (compiler-macro ,alias) ,original))) (defnamespace macro "The namespace of macros.") @@ -46,6 +47,17 @@ (setf (documentation ',alias 'function) (documentation ',original 'function)))) +(defnamespace compiler-macro + "The namespace of compiler macros.") + +(defmethod make-alias ((namespace (eql 'compiler-macro)) + original alias) + `(progn + (setf (compiler-macro-function ',alias) + (compiler-macro-function ',original)) + (setf (documentation ',alias 'compiler-macro) + (documentation ',original 'compiler-macro)))) + (defnamespace special "The namespace of special variables.") diff --git a/src/base/pkgdcl.lisp b/src/base/pkgdcl.lisp index 55f87a555844e606119ad8a0900b0f353373614f..3970d42a8011b9fcafd409f05628f6c0829c1d81 100644 --- a/src/base/pkgdcl.lisp +++ b/src/base/pkgdcl.lisp @@ -34,6 +34,7 @@ #:make-alias #:defalias ;; #:function is already in CL + ;; #:compiler-macro is already in CL #:macro #:constant ;; #:special is already in CL