mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-03-06 04:10:47 -08:00
shiftf: return one value, not all of them
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
This commit is contained in:
parent
3825356c32
commit
f27a1dbf43
1 changed files with 6 additions and 6 deletions
|
|
@ -473,7 +473,7 @@ into STORES. Finally inside bindings it expands STORE-FORMS."
|
|||
|
||||
;;; SHIFTF macro.
|
||||
(defmacro shiftf (&environment env &rest args)
|
||||
"Syntax: (shiftf {place}+ form)
|
||||
"Syntax: (shiftf {place}+ form)
|
||||
Saves the values of PLACE and FORM, and then assigns the value of each PLACE
|
||||
to the PLACE on its left. The rightmost PLACE gets the value of FORM.
|
||||
Returns the original value of the leftmost PLACE."
|
||||
|
|
@ -481,7 +481,7 @@ Returns the original value of the leftmost PLACE."
|
|||
((butlast args) env)
|
||||
(with-expansion-setter (thunk store-forms)
|
||||
`(let* ,(reduce #'append pairs)
|
||||
(multiple-value-prog1 ,(car access-forms)
|
||||
(prog1 ,(car access-forms)
|
||||
,@(thunk stores
|
||||
(append (cdr access-forms)
|
||||
(last args))))))))
|
||||
|
|
@ -496,10 +496,10 @@ PLACE. Returns NIL."
|
|||
(args env)
|
||||
(with-expansion-setter (thunk store-forms)
|
||||
`(let* ,(reduce #'append pairs)
|
||||
,@(thunk stores
|
||||
(append (cdr access-forms)
|
||||
(list (car access-forms))))
|
||||
nil))))
|
||||
(prog1 nil
|
||||
,@(thunk stores
|
||||
(append (cdr access-forms)
|
||||
(list (car access-forms)))))))))
|
||||
|
||||
;;; DEFINE-MODIFY-MACRO macro, by Bruno Haible.
|
||||
(defmacro define-modify-macro (name lambdalist function &optional docstring)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue