X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/560af5c515eb5b6206040a9334de4254d2650147..cc74b2c987edc3e2bc85413e92f33e2690a32b1c:/tools/autoexport.lisp?ds=sidebyside diff --git a/tools/autoexport.lisp b/tools/autoexport.lisp index b4e479c..f6464a4 100644 --- a/tools/autoexport.lisp +++ b/tools/autoexport.lisp @@ -82,14 +82,11 @@ (defexport deftype (name &rest rest) (declare (ignore rest)) name) -(defexport defclass (class superclasses &optional slotdefs &rest options) - (declare (ignore superclasses options)) +(defun export-defclass-form (class slotdefs) (cons class - (apply - #'nconc - (map - 'list + (apply #'nconc + (map 'list #'(lambda (slotdef) (if (symbolp slotdef) (list slotdef) @@ -98,10 +95,22 @@ (defexport defclass (class superclasses &optional slotdefs &rest options) (delete nil (list name reader (export-fname writer) accessor))))) slotdefs)))) +(defexport defclass (class superclasses &optional slotdefs &rest options) + (declare (ignore superclasses options)) + (export-defclass-form class slotdefs)) + +(defexport define-condition (class superclasses &optional slotdefs &rest options) + (declare (ignore superclasses options)) + (export-defclass-form class slotdefs)) + (defexport defgeneric (fname &rest args) (declare (ignore args)) (export-fname fname)) +(defexport defmethod (name &rest rest) + (declare (ignore rest)) + name) + (defexport progn (&rest body) (apply #'nconc (map 'list #'list-autoexported-symbols body)))