Function: lambda-slots

lambda-slots is a macro defined in combobulate-interface.el.

Signature

(lambda-slots SLOTS &rest BODY)

Documentation

Construct a macro that expands to a lambda with the given SLOTS and BODY.

The lambda takes a single argument, ACTION, which is an EIEIO object or cl-defstruct.

The requested SLOTS are bound to the action object using with-slots.

Source Code

;; Defined in /nix/store/b5fvrwzi3zvkabyzx0in6gw1cj963z46-emacs-packages-deps/share/emacs/site-lisp/combobulate-interface.el
(defmacro lambda-slots (slots &rest body)
  "Construct a macro that expands to a lambda with the given SLOTS and BODY.

The lambda takes a single argument, ACTION, which is an EIEIO object
or `cl-defstruct'.

The requested SLOTS are bound to the action object using `with-slots'."
  (declare (indent defun)
           (debug (&define [&or symbolp (symbolp &optional sexp &rest sexp)]
                           def-body)))
  `(lambda (action)
     (with-slots ,slots action
       ,@body)))