Reduced the clutter generated by SETF expansions.

This commit is contained in:
Juan Jose Garcia Ripoll 2010-12-24 11:45:20 +01:00
parent adc396c252
commit 8a064c1ce9
2 changed files with 12 additions and 1 deletions

View file

@ -51,6 +51,8 @@ ECL 10.5.1:
one in which missing components are replaced by the original ones, as in
'(("HM:HOME;*.*.*" "/home/user/")))
- Reduced the clutter generated by SETF expansions.
* Visible changes:
- "fasb" is now a valid FASL file type, accepted by ECL even in absence of

View file

@ -299,7 +299,16 @@ Does not check if the third gang is a single-element list."
(multiple-value-bind (vars vals stores store-form access-form)
(get-setf-expansion place env)
(declare (ignore access-form))
(cond ((and (consp place)
(cond ((and (null vars) (null vals)
(eq access-form place)
(= (length stores) 1)
(listp store-form)
(= (length store-form) 3)
(eq (first store-form) 'setq)
(eq (second store-form) place)
(eq (third store-form) (first stores)))
(list 'setq place newvalue))
((and (consp place)
(let* ((name (first place))
(inverse (get-sysprop name 'setf-update-fn)))
(and inverse