やったー、肉抜きできたよー。
元マクロ:普通のタイマー - 象徴ヶ淵
(defmacro counter-default (slots resets &optional (defaults nil sv)) (let ((f (lambda (l l2 &optional l3) `(if (null ,(car l)) (if (or ,@(cdr l)) (setq ,(car l) ,(car l2)) ,(if l3 `(setq ,(car l) ,(car l3)) ni))))) (args (append `(,slots) `(,(append resets '(nil))) (if sv `(,defaults))))) (append '(progn) (let ((l (apply 'maplist f args))) (rplacd (cdar (last l)) (cdddr (caddar (last l)))) l))))
↓
(defmacro counter-default (slots resets defaults) (flet ((f (l l2 l3) `(if (null ,(car l)) (setq ,(car l) ,(if (cdr l) `(if ,(if (cddr l) `(or ,@(cdr l)) (cadr l)) ,(car l2) ,(car l3)) (car l3)))))) `(progn ,@(maplist #'f slots (append resets '(t)) defaults))))