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