diff --git a/objective-lisp.lisp b/objective-lisp.lisp index 19d798e..d576896 100644 --- a/objective-lisp.lisp +++ b/objective-lisp.lisp @@ -16,9 +16,7 @@ for form = (car entry) do (setf expr (cond ((consp form) `(,(car form) ,expr ,@(cdr form))) - ((eq form :slot) (prog2 - (unless (cadr entry) - (error "Unexpected end of list (expected slot name)")) + ((eq form :slot) (prog1 `(slot-value ,expr ',(cadr entry)) (rplacd entry (cddr entry)))) ((symbolp form) `(,form ,expr))