{"library": "cl-annot", "macro_name": "export-slots", "source_file": "data/repos/cl-annot/src/lib/class.lisp", "line_number": 125, "call_form": "(export-slots (export-accessors ,class-definition-form))", "context_lines": "ass-definition-form))))\n ,class-definition-form)))\n (t class-definition-form)))\n class-definition-form))\n\n(defmacro export-class (class-definition-form)\n `(annot.std:export*\n(export-slots\n(export-accessors\n ,class-definition-form))))\n\n(defmacro export-structure (class-definition-form)\n `(annot.std:export*\n (export-slots\n (export-accessors\n (export-constructors"} {"library": "cl-annot", "macro_name": "export-slots", "source_file": "data/repos/cl-annot/src/lib/class.lisp", "line_number": 131, "call_form": "(export-slots (export-accessors (export-constructors ,class-definition-form)))", "context_lines": "class (class-definition-form)\n `(annot.std:export*\n (export-slots\n (export-accessors\n ,class-definition-form))))\n\n(defmacro export-structure (class-definition-form)\n `(annot.std:export*\n(export-slots\n(export-accessors\n (export-constructors\n ,class-definition-form)))))"} {"library": "cl-annot", "macro_name": "export-accessors", "source_file": "data/repos/cl-annot/src/lib/class.lisp", "line_number": 126, "call_form": "(export-accessors ,class-definition-form)", "context_lines": "m))))\n ,class-definition-form)))\n (t class-definition-form)))\n class-definition-form))\n\n(defmacro export-class (class-definition-form)\n `(annot.std:export*\n (export-slots\n(export-accessors\n,class-definition-form))))\n\n(defmacro export-structure (class-definition-form)\n `(annot.std:export*\n (export-slots\n (export-accessors\n (export-constructors\n ,class-definition"} {"library": "cl-annot", "macro_name": "export-accessors", "source_file": "data/repos/cl-annot/src/lib/class.lisp", "line_number": 132, "call_form": "(export-accessors (export-constructors ,class-definition-form))", "context_lines": "ition-form)\n `(annot.std:export*\n (export-slots\n (export-accessors\n ,class-definition-form))))\n\n(defmacro export-structure (class-definition-form)\n `(annot.std:export*\n (export-slots\n(export-accessors\n(export-constructors\n ,class-definition-form)))))"} {"library": "cl-annot", "macro_name": "export-constructors", "source_file": "data/repos/cl-annot/src/lib/class.lisp", "line_number": 133, "call_form": "(export-constructors ,class-definition-form)", "context_lines": "td:export*\n (export-slots\n (export-accessors\n ,class-definition-form))))\n\n(defmacro export-structure (class-definition-form)\n `(annot.std:export*\n (export-slots\n (export-accessors\n(export-constructors\n,class-definition-form)))))"} {"library": "cl-annot", "macro_name": "def-slot-annotation", "source_file": "data/repos/cl-annot/src/lib/slot.lisp", "line_number": 28, "call_form": "(def-slot-annotation optional (init-form) (unless (plist-member slot-options :initarg) (setf (getf slot-options :initarg) (make-keyword slot-name))) (unless (plist-member slot-options :initform) (setf (getf slot-options :initform) init-form)))", "context_lines": "ind (slot-name . slot-options)\n (if (consp ,slot-specifier)\n ,slot-specifier\n (list ,slot-specifier))\n ,@body\n (cons slot-name slot-options)))))\n(def-slot-annotation optional (init-form)\n(unless (plist-member slot-options :initarg)\n (setf (getf slot-options :initarg)\n (make-keyword slot-name)))\n (unless (plist-member slot-options :initform)\n (setf (getf slot-options"} {"library": "cl-annot", "macro_name": "def-slot-annotation", "source_file": "data/repos/cl-annot/src/lib/slot.lisp", "line_number": 35, "call_form": "(def-slot-annotation required () (when (plist-member slot-options :initform) (error \"Required slot ~A must not have :initform\" slot-name)) (unless (plist-member slot-options :initarg) (setf (getf slot-options :initarg) (make-keyword slot-name))) (setf (getf slot-options :initform) `(required-argument ,(getf slot-options :initarg))))", "context_lines": "lot-options :initarg)\n (setf (getf slot-options :initarg)\n (make-keyword slot-name)))\n (unless (plist-member slot-options :initform)\n (setf (getf slot-options :initform) init-form)))\n(def-slot-annotation required ()\n(when (plist-member slot-options :initform)\n (error \"Required slot ~A must not have :initform\" slot-name))\n (unless (plist-member slot-options :initarg)\n (setf (getf slot-options :initarg)"} {"library": "cl-annot", "macro_name": "%annotation", "source_file": "data/repos/cl-annot/src/main/core.lisp", "line_number": 36, "call_form": "(%annotation ,annot ,@args)", "context_lines": "nline-p))\n\n(defun (setf annotation-inline-p) (inline-p annot)\n (setf (get annot 'annotation-inline-p) inline-p))\n\n(defun annotation-form (annot args)\n \"Make an annotation-form with ANNOT and ARGS.\"\n`(%annotation ,annot ,@args))\n(defun annotation-form-p (form)\n \"Return non-nil if FORM is an annotation-form.\"\n (and (consp form)\n (consp (cdr form))\n (eq (car form) '%annotation)))"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/class.lisp", "line_number": 21, "call_form": "(defannotation metaclass (metaclass class-definition-form) (:arity 2) (progn-form-replace-last (lambda (class-definition-form) (if (get-class-option :metaclass class-definition-form) (error \":metaclass is not empty\") (append class-definition-form `((:metaclass ,metaclass))))) class-definition-form))", "context_lines": "xport-class)\n (:import-from :alexandria\n :ensure-list\n :curry\n :compose\n :if-let\n :symbolicate))\n(in-package :annot.class)\n(defannotation metaclass (metaclass class-definition-form)\n(:arity 2)\n (progn-form-replace-last\n (lambda (class-definition-form)\n (if (get-class-option :metaclass class-definition-form)\n (error \":metaclass is not empty\")\n (append c"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/doc.lisp", "line_number": 10, "call_form": "(defannotation doc (docstring definition-form) (:arity 2) \"Add DOCSTRING documentation for DEFINITION-FORM.\" (progn-form-replace-last (lambda (definition-form) (case (definition-form-type definition-form) ((defvar defparameter defconstant defun defmethod defmacro deftype define-compiler-macro) (destructuring-bind (def name arg . body) definition-form `(,def ,name ,arg ,docstring ,@body))) ((defstruct) (destructuring-bind (def name-and-options . slots) definition-form `(,def ,name-and-options ,docstring ,@slots))) ((defclass define-condition) (destructuring-bind (def name supers slots . opts) definition-form (pushnew `(:documentation ,docstring) opts :key #'car) `(,def ,name ,supers ,slots ,@opts))) ((defgeneric) (destructuring-bind (def name args . opts) definition-form (pushnew `(:documentation ,docstring) opts :key #'car) `(,def ,name ,args ,@opts))) (t (error \"Documentation not supported: ~a\" definition-form)))) definition-form))", "context_lines": "(in-package :cl-user)\n(defpackage cl-annot.doc\n (:nicknames :annot.doc)\n (:use :cl\n :annot.util\n :annot.helper)\n (:export :doc))\n(in-package :annot.doc)\n(defannotation doc (docstring definition-form)\n(:arity 2)\n \"Add DOCSTRING documentation for DEFINITION-FORM.\"\n (progn-form-replace-last\n (lambda (definition-form)\n (case (definition-form-type definition-form)\n ((defvar defparame"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/slot.lisp", "line_number": 19, "call_form": "(defannotation ,name ,(append args (list slot-specifier)) (:inline t :arity ,(1+ (length args))) (destructuring-bind (slot-name . slot-options) (if (consp ,slot-specifier) ,slot-specifier (list ,slot-specifier)) ,@body (cons slot-name slot-options)))", "context_lines": ":required))\n(in-package :annot.slot)\n\n(defun required-argument (name)\n (error \"Must supply ~S\" name))\n\n(defmacro def-slot-annotation (name args &body body)\n (with-gensyms (slot-specifier)\n`(defannotation ,name ,(append args (list slot-specifier))\n(:inline t :arity ,(1+ (length args)))\n (destructuring-bind (slot-name . slot-options)\n (if (consp ,slot-specifier)\n ,slot-specifier\n (list ,slot-"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/std.lisp", "line_number": 20, "call_form": "(defannotation export* (definition-form) (:alias export) \"Export the definition symbol of DEFINITION-FORM.\" (let ((name (definition-form-symbol definition-form))) (if name `(progn (export ',name) ,definition-form) definition-form)))", "context_lines": ":ignorable*\n\t\t :dynamic-extent*\n\t\t :declaration*\n\t\t :special*\n :type*\n :ftype*\n :optimize*\n :inline*\n :notinline*))\n(in-package :annot.std)\n(defannotation export* (definition-form)\n(:alias export)\n \"Export the definition symbol of DEFINITION-FORM.\"\n (let ((name (definition-form-symbol definition-form)))\n (if name\n `(progn\n (export ',name)\n ,d"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/std.lisp", "line_number": 39, "call_form": "(defannotation ignore* (vars) (:alias ignore :inline t) \"Shorthand for (DECLARE (IGNORE ...)).\" (%declare-list-or-symbol vars 'ignore))", "context_lines": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;; simple one-or-more variables\n;;;; \n\n(defun %declare-list-or-symbol (vars sym)\n (if (listp vars)\n `(declare (,sym ,@vars))\n `(declare (,sym ,vars))))\n(defannotation ignore* (vars) (:alias ignore :inline t)\n\"Shorthand for (DECLARE (IGNORE ...)).\"\n (%declare-list-or-symbol vars 'ignore))\n\n(defannotation ignorable* (vars) (:alias ignorable :inline t)\n \"Shorthand for (DECLARE (IGNORABLE ...)).\"\n (%dec"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/std.lisp", "line_number": 63, "call_form": "(defannotation type* (typespec name) (:alias type :arity 2 :inline t) \"Shorthand for (DECLARE (TYPE ...)).\" (if (consp name) ;; TODO () `(declare (type ,typespec ,name))))", "context_lines": "s) (:alias special :inline t)\n \"Shorthand for (DECLARE (SPECIAL ...)).\"\n (%declare-list-or-symbol vars 'special))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;; others\n;;;;\n(defannotation type* (typespec name)\n(:alias type :arity 2 :inline t)\n \"Shorthand for (DECLARE (TYPE ...)).\"\n (if (consp name)\n ;; TODO\n ()\n `(declare (type ,typespec ,name))))\n\n(defannotation ftype* (typespec name)"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/std.lisp", "line_number": 71, "call_form": "(defannotation ftype* (typespec name) (:alias ftype :arity 2 :inline t) \"Shorthand for (DECLARE (FTYPE ...)).\" (if (consp name) ;; TODO () `(declare (ftype ,typespec ,name))))", "context_lines": "(defannotation type* (typespec name)\n (:alias type :arity 2 :inline t)\n \"Shorthand for (DECLARE (TYPE ...)).\"\n (if (consp name)\n ;; TODO\n ()\n `(declare (type ,typespec ,name))))\n(defannotation ftype* (typespec name)\n(:alias ftype :arity 2 :inline t)\n \"Shorthand for (DECLARE (FTYPE ...)).\"\n (if (consp name)\n ;; TODO\n ()\n `(declare (ftype ,typespec ,name))))\n\n(defannotation optimize* (quality)"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/std.lisp", "line_number": 79, "call_form": "(defannotation optimize* (quality) (:alias optimize :inline t) \"Shorthand for (DECLARE (OPTIMIZE ...)).\" `(declare (optimize ,quality)))", "context_lines": "fannotation ftype* (typespec name)\n (:alias ftype :arity 2 :inline t)\n \"Shorthand for (DECLARE (FTYPE ...)).\"\n (if (consp name)\n ;; TODO\n ()\n `(declare (ftype ,typespec ,name))))\n(defannotation optimize* (quality)\n(:alias optimize :inline t)\n \"Shorthand for (DECLARE (OPTIMIZE ...)).\"\n `(declare (optimize ,quality)))\n\n(defannotation inline* (name)\n (:alias inline :inline t)\n \"Shorthand for (DECLARE (I"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/std.lisp", "line_number": 84, "call_form": "(defannotation inline* (name) (:alias inline :inline t) \"Shorthand for (DECLARE (INLINE ...)).\" (let ((symbol (definition-form-symbol name)) (type (definition-form-type name))) (if (and symbol (member type '(defun defmethod))) `(progn (declaim (inline ,symbol)) ,name) `(declare (inline ,name)))))", "context_lines": "()\n `(declare (ftype ,typespec ,name))))\n\n(defannotation optimize* (quality)\n (:alias optimize :inline t)\n \"Shorthand for (DECLARE (OPTIMIZE ...)).\"\n `(declare (optimize ,quality)))\n(defannotation inline* (name)\n(:alias inline :inline t)\n \"Shorthand for (DECLARE (INLINE ...)).\"\n (let ((symbol (definition-form-symbol name))\n (type (definition-form-type name)))\n (if (and symbol\n (me"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/lib/std.lisp", "line_number": 97, "call_form": "(defannotation notinline* (name) (:alias notinline :inline t) \"Shorthand for (DECLARE (NOTINLINE ...)).\" (let ((symbol (definition-form-symbol name)) (type (definition-form-type name))) (if (and symbol (member type '(defun defmethod))) `(progn (declaim (notinline ,symbol)) ,name) `(declare (notinline ,name)))))", "context_lines": ")\n (if (and symbol\n (member type\n '(defun defmethod)))\n `(progn\n (declaim (inline ,symbol))\n ,name)\n `(declare (inline ,name)))))\n(defannotation notinline* (name)\n(:alias notinline :inline t)\n \"Shorthand for (DECLARE (NOTINLINE ...)).\"\n (let ((symbol (definition-form-symbol name))\n (type (definition-form-type name)))\n (if (and symbol"} {"library": "cl-annot", "macro_name": "defannotation", "source_file": "data/repos/cl-annot/src/main/helper.lisp", "line_number": 25, "call_form": "(defannotation annotation (options function-definition-form) (:arity 2) (let ((name (definition-form-symbol (progn-form-last function-definition-form)))) `(progn (set-annotation-options ',name ',options) ,function-definition-form)))", "context_lines": "tf (annotation-inline-p name) t)))\n\n(defmacro defannotation (name lambda-list options &body body)\n `(progn\n (set-annotation-options ',name ',options)\n (defmacro ,name ,lambda-list ,@body)))\n(defannotation annotation (options function-definition-form)\n(:arity 2)\n (let ((name (definition-form-symbol\n (progn-form-last function-definition-form))))\n `(progn\n (set-annotation-options ',name ',options)\n ,function-defi"} {"library": "cl-annot", "macro_name": "fun", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 88, "call_form": "(functionp last)", "context_lines": "mal-form progn-form)))\n (if (and (consp progn-form)\n (eq (car progn-form) 'progn))\n `(,@(butlast progn-form)\n ,(progn-form-replace-last last (car (last progn-form))))\n(if (functionp last)\n(funcall last progn-form)\n last))))\n\n(defun definition-form-symbol (definition-form)\n \"Return the symbol of DEFINITION-FORM.\"\n (let* ((form (progn-form-last definition-form))"} {"library": "cl-annot", "macro_name": "fun", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 89, "call_form": "(funcall last progn-form)", "context_lines": "f (and (consp progn-form)\n (eq (car progn-form) 'progn))\n `(,@(butlast progn-form)\n ,(progn-form-replace-last last (car (last progn-form))))\n (if (functionp last)\n(funcall last progn-form)\nlast))))\n\n(defun definition-form-symbol (definition-form)\n \"Return the symbol of DEFINITION-FORM.\"\n (let* ((form (progn-form-last definition-form))\n (second (when (consp form)"} {"library": "cl-annot", "macro_name": "fun", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 110, "call_form": "(function function-definition-form)", "context_lines": "tion-form-type (definition-form)\n \"Return the type of DEFINITION-FORM.\"\n (let* ((form (progn-form-last definition-form))\n (type (when (consp form)\n (car form))))\n type))\n(defun replace-function-body (function function-definition-form)\n\"Replace the body of FUNCTION-DEFINITION-FORM by calling FUNCTION\nwith name, lambda-list and the body as arguments.\"\n (progn-form-replace-last\n (lambda (function-definition-form)\n (destructu"} {"library": "cl-annot", "macro_name": "fun", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 114, "call_form": "(function-definition-form)", "context_lines": "ace-function-body (function function-definition-form)\n \"Replace the body of FUNCTION-DEFINITION-FORM by calling FUNCTION\nwith name, lambda-list and the body as arguments.\"\n (progn-form-replace-last\n(lambda (function-definition-form)\n(destructuring-bind (type name lambda-list . body)\n function-definition-form\n (let (header)\n (when (and (stringp (car body))\n (cdr body))\n (set"} {"library": "cl-annot", "macro_name": "fun", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 124, "call_form": "(funcall function name lambda-list body)", "context_lines": "en (and (stringp (car body))\n (cdr body))\n (setf header (list (car body))\n body (cdr body)))\n `(,type ,name ,lambda-list\n ,@header\n,(funcall function name lambda-list body)))))\nfunction-definition-form))\n\n(defun slot-specifiers (class-definition-form)\n \"Return class-specifiers of CLASS-DEFINITION-FORM.\"\n (case (first class-definition-form)\n (defclass (nth 3 (progn-f"} {"library": "cl-annot", "macro_name": "fun", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 137, "call_form": "(function class-definition-form)", "context_lines": "fetch the slots after it\n\t\t (nthcdr 3 (progn-form-last class-definition-form))\n\t\t ;; There's no documentation string, fetch the slots\n\t\t (nthcdr 2 (progn-form-last class-definition-form))))))\n(defun replace-slot-specifiers (function class-definition-form)\n\"Replace slot-specifiers of CLASS-DEFINITION-FORM with FUNCTION. The\nresult value will be a class definition form also.\"\n (progn-form-replace-last\n (lambda (class-definition-form)\n (destruct"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/src/main/expand.lisp", "line_number": 14, "call_form": "(macroexpand-some `(,annot ,@args))", "context_lines": "))\n(in-package :annot.expand)\n\n(defun expand-annotation (annot args)\n \"Expand ANNOT. ARGS will be expanded prior to this\nform (call-by-value).\"\n (let ((args (mapcar #'expand-annotation-form args)))\n(values (macroexpand-some `(,annot ,@args)))))\n(defun expand-annotation-form (form)\n \"Expand annotation FORM if possible.\"\n (if (annotation-form-p form)\n (expand-annotation (cadr form) (cddr form))\n form))\n\n(defmacro %annotation (ann"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 41, "call_form": "(macro-function symbol)", "context_lines": "ed PROP.\"\n (loop for (name value) on plist by #'cddr\n if (string= prop name)\n collect value))\n\n(defun macrop (symbol)\n \"Return non-nil if SYMBOL is a macro.\"\n (and (symbolp symbol)\n(macro-function symbol)\nt))\n\n(defun macroexpand-some (form)\n \"Expand FORM once. The result form won't be nil.\"\n (multiple-value-bind (new-form expanded-p)\n (macroexpand-1 form)\n (if (or (not expanded-p) (nu"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 47, "call_form": "(macroexpand-1 form)", "context_lines": "ro.\"\n (and (symbolp symbol)\n (macro-function symbol)\n t))\n\n(defun macroexpand-some (form)\n \"Expand FORM once. The result form won't be nil.\"\n (multiple-value-bind (new-form expanded-p)\n(macroexpand-1 form)\n(if (or (not expanded-p) (null new-form))\n (values form nil)\n (values new-form expanded-p))))\n\n(defun macroexpand-until-normal-form (form)\n \"Expand FORM until it brecomes normal-fo"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 55, "call_form": "(macrop (car form))", "context_lines": "(null new-form))\n (values form nil)\n (values new-form expanded-p))))\n\n(defun macroexpand-until-normal-form (form)\n \"Expand FORM until it brecomes normal-form.\"\n (if (and (consp form)\n(macrop (car form))\n(let ((package (symbol-package (car form))))\n (and package\n (member package\n (list (find-package :cl)"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 63, "call_form": "(macroexpand-1 form)", "context_lines": "r package\n (list (find-package :cl)\n #+clisp (find-package :clos))))))\n (values form nil)\n (multiple-value-bind (new-form expanded-p)\n(macroexpand-1 form)\n(if (or (not expanded-p) (null new-form))\n (values form nil)\n (values (macroexpand-until-normal-form new-form) t)))))\n\n(defun progn-form-last (progn-form)\n \"Return the"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 66, "call_form": "(macroexpand-until-normal-form new-form)", "context_lines": "age :clos))))))\n (values form nil)\n (multiple-value-bind (new-form expanded-p)\n (macroexpand-1 form)\n (if (or (not expanded-p) (null new-form))\n (values form nil)\n(values (macroexpand-until-normal-form new-form) t)))))\n(defun progn-form-last (progn-form)\n \"Return the last form of PROGN-FORM which should be evaluated at\nlast. If macro forms seen, the macro forms will be expanded using\nMACROEXPAND-UNTIL-NORMAL-FORM"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 72, "call_form": "(macroexpand-until-normal-form progn-form)", "context_lines": "defun progn-form-last (progn-form)\n \"Return the last form of PROGN-FORM which should be evaluated at\nlast. If macro forms seen, the macro forms will be expanded using\nMACROEXPAND-UNTIL-NORMAL-FORM.\"\n(let ((progn-form (macroexpand-until-normal-form progn-form)))\n(if (and (consp progn-form)\n (eq (car progn-form) 'progn))\n (progn-form-last (car (last progn-form)))\n progn-form)))\n\n(defun progn-form-replace-last (last progn-form)"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/src/main/utils.lisp", "line_number": 83, "call_form": "(macroexpand-until-normal-form progn-form)", "context_lines": "RM with LAST. If LAST is a\nfunction, the function will be called with the last form and used for\nreplacing. If macro forms seen, the macro forms will be expanded using\nMACROEXPAND-UNTIL-NORMAL-FORM.\"\n(let ((progn-form (macroexpand-until-normal-form progn-form)))\n(if (and (consp progn-form)\n (eq (car progn-form) 'progn))\n `(,@(butlast progn-form)\n ,(progn-form-replace-last last (car (last progn-form))))\n (if (functionp"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/t/annot.lisp", "line_number": 71, "call_form": "(macroexpand '@export (defun x ()))", "context_lines": "mbol-status :m)\n :external\n \"method exported?\")\n(is-type @export (defclass c () ())\n 'standard-class\n \"export class\")\n(is (symbol-status :c)\n :external\n \"class exported?\")\n(is (macroexpand '@export (defun x ()))\n'(progn\n (export 'x)\n (defun x ()))\n \"@export expansion 1\")\n(is (macroexpand '@export (fun))\n '(progn\n (export 'f)\n (fun))\n \"@export expansion 2\")\n(is-type @export (d"} {"library": "cl-annot", "macro_name": "mac", "source_file": "data/repos/cl-annot/t/annot.lisp", "line_number": 76, "call_form": "(macroexpand '@export (fun))", "context_lines": "\"export class\")\n(is (symbol-status :c)\n :external\n \"class exported?\")\n(is (macroexpand '@export (defun x ()))\n '(progn\n (export 'x)\n (defun x ()))\n \"@export expansion 1\")\n(is (macroexpand '@export (fun))\n'(progn\n (export 'f)\n (fun))\n \"@export expansion 2\")\n(is-type @export (defstruct s ())\n 'symbol\n \"export structure\")\n(is (symbol-status :s)\n :external\n \"structu"}