This works when I remove the loop but with the loop it does not work.
(defmacro my/def-key (state map)
(let ((x '(
(kbd "<leader>z z") (lambda nil (interactive)(message "zz"))
(kbd "<leader>z f") (lambda nil (interactive)(message "zf"))
)))
;; works
;;`(evil-define-key ,state ,map ,(pop x) ,(pop x))
;; Don't work
(while x
`(evil-define-key ,state ,map ,(pop x) ,(pop x)))))
(my/def-key 'normal global-map )