Function: kmacro-extract-lambda

kmacro-extract-lambda is a byte-compiled function defined in kmacro.el.gz.

Signature

(kmacro-extract-lambda MAC)

Documentation

Extract kmacro from a kmacro lambda form.

Aliases

kmacro-p

Source Code

;; Defined in /usr/src/emacs/lisp/kmacro.el.gz
(defun kmacro-extract-lambda (mac)
  "Extract kmacro from a kmacro lambda form."
  (let ((mac (cond
              ((eq (car-safe mac) 'lambda)
               (let ((e (assoc 'kmacro-exec-ring-item mac)))
                 (car-safe (cdr-safe (car-safe (cdr-safe e))))))
              ((and (functionp mac)
                    (equal (interactive-form mac) '(interactive "pkmacro")))
               (let ((r (funcall mac 'kmacro--extract-lambda)))
                 (and (eq (car-safe r) 'kmacro--extract-lambda) (cdr r)))))))
    (and (consp mac)
         (= (length mac) 3)
         (arrayp (car mac))
         mac)))