Function: cl-callf2
cl-callf2 is an autoloaded macro defined in cl-macs.el.gz.
Signature
(cl-callf2 FUNC ARG1 PLACE ARGS...)
Documentation
Set PLACE to (FUNC ARG1 PLACE ARGS...).
Like cl-callf, but PLACE is the second argument of FUNC, not the first.
Aliases
callf2 (obsolete since 27.1)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-macs.el.gz
;;;###autoload
(defmacro cl-callf2 (func arg1 place &rest args)
"Set PLACE to (FUNC ARG1 PLACE ARGS...).
Like `cl-callf', but PLACE is the second argument of FUNC, not the first.
\(fn FUNC ARG1 PLACE ARGS...)"
(declare (indent 3) (debug (cl-function form place &rest form)))
(if (and (cl--safe-expr-p arg1) (cl--simple-expr-p place) (symbolp func))
`(setf ,place (,func ,arg1 ,place ,@args))
(macroexp-let2 nil a1 arg1
(gv-letplace (getter setter) place
(let* ((rargs (cl-list* a1 getter args)))
(funcall setter
(if (symbolp func) (cons func rargs)
`(funcall #',func ,@rargs))))))))