(defmacro send-with-json-contents ((name uri) normal-func-args) (let ((x (gensym)) (y (gensym))) `(defun ,name ,normal-func-args (let ((,x (defun-args-to-strings ',normal-func-args)) (,y (extract-passed-var-no-nested ,'normal-func-args '&key))) (send ,uri (cl-json:encode-json-to-string (list-to-alist (join-two-lists ,x ,y)))))))) (defmacro send-with-json-contents ((name uri) normal-func-args) (let ((x (defun-args-to-strings normal-func-args)) (y (extract-passed-var-no-nested normal-func-args '&key))) `(defun ,name ,normal-func-args (send ,uri (cl-json:encode-json-to-string (list-to-alist (join-two-lists ,x ,y)))))))