Hmm, maybe the error does not need to announce where it is in the source?
OK, I just committed code to produce this (we can continue refining if necessary, but I like this so wanted to get it in):
Break: cellular slot STATUS of #<MOTOR> cannot be SETFed because it is not mediated by a Cell with :inputp t. To achieve this, the initial value :ON -- whether supplied as an :initform, :default-initarg, or at make-instance time via an :initarg -- should be wrapped in either macro C-IN or C-INPUT. In brief, initialize STATUS to (c-in :ON) instead of plain :ON
Code:
(unless c (c-break "cellular slot ~a of ~a cannot be SETFed because it is not mediated by a Cell with :inputp t. To achieve this, the initial value ~s -- whether supplied as an :initform, :default-initarg, or at make-instance time via an :initarg -- should be wrapped in either macro C-IN or C-INPUT. In brief, initialize ~0@*~a to (c-in ~2@*~s) instead of plain ~:*~s" slot-name self (slot-value self slot-name)))
ken