diff --git a/swank.lisp b/swank.lisp index 2cdaef0..b1ef074 100644 --- a/swank.lisp +++ b/swank.lisp @@ -2368,13 +2368,16 @@ and no continue restart available."))))) ;;;; Compilation Commands. -(defstruct (:compilation-result - (:type list) :named) - notes - (successp nil :type boolean) - (duration 0.0 :type float) - (loadp nil :type boolean) - (faslfile nil :type (or null string))) +(defun make-compilation-result (&key notes + (successp nil) + (duration 0.0) + (loadp nil) + (faslfile nil)) + (check-type successp boolean) + (check-type duration float) + (check-type loadp boolean) + (check-type faslfile (or null string)) + `(:compilation-result ,notes ,successp ,duration ,loadp ,faslfile)) (defun measure-time-interval (fun) "Call FUN and return the first return value and the elapsed time.