I don't understand why I get (void-variable test-map)
when trying to run:
(defun something--key-map (name)
(make-symbol (concat (symbol-name name) "-map")))
(defmacro defsomething (name)
`(progn
(defvar ,(something--key-map name) (make-sparse-keymap))
(message "key map %s" ,(something--key-map name))))
(defsomething test)
When I try to (macroexpand '(defsomething test))
I get (progn (defvar test-map (make-sparse-keymap)) (message "key map %s" test-map))
, which when I paste it to scratch buffer, it is working. Do you know why it is not working directly?