&optionalや&keyで引数が指定されて呼び出されたか調べる - lisp-cookbook-ja/common-lisp GitHub Wiki
&optionalや&keyで引数が指定されて呼び出されたか調べる
lambda-listでは以下のようにして調べることができます
(defun hoge (&key (keyword nil keyword-specified-p))
(print (list keyword keyword-specified-p)))
(hoge) ; => (NIL NIL)
(hoge :aaa nil) ; => (NIL T)
(defun fuga (&optional (arg nil arg-specified-p)
(print (list arg arg-specified-p)))
(fuga) ; => (NIL NIL)
(fuga nil) ; => (NIL T)