mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-16 22:32:05 -08:00
Reduced the clutter generated by SETF expansions.
This commit is contained in:
parent
adc396c252
commit
8a064c1ce9
2 changed files with 12 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue