Changeset 15378
- Timestamp:
- May 24, 2012, 10:14:26 AM (13 years ago)
- File:
-
- 1 edited
-
trunk/source/lib/macros.lisp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/lib/macros.lisp
r15344 r15378 573 573 (if local-p 574 574 (if (eq ftype :function) 575 ;Local function, so don't use global setf definitions. 575 ;;Local function, so don't use global setf 576 ;;definitions. 576 577 (default-setf form value env) 577 578 `(setf ,(macroexpand-1 form env) ,value)) … … 596 597 (accessor-structref-info-p temp) 597 598 (not (refinfo-r/o (structref-info-refinfo temp)))) 599 (let* ((nargs (length (%cdar args)))) 600 (unless (eql nargs 1) 601 (signal-simple-program-error 602 "In ~s, structure accessor ~s requires exactly 1 argument but is being called with ~d arguments." `(setf ,@args) accessor nargs))) 598 603 (let ((form (defstruct-ref-transform temp (%cdar args) env t)) 599 604 (type (defstruct-type-for-typecheck (structref-info-type temp) env))) … … 602 607 ;; strip off type, but add in a typecheck 603 608 `(the ,type (setf ,form (typecheck ,value ,type)))))) 609 604 610 (t 605 611 (multiple-value-bind (res win)
Note:
See TracChangeset
for help on using the changeset viewer.
