Michael Heerdegen writes: > Is it intended to add an :gv-expanders entry to > byte-compile-macro-environment more than once? Hmm, not entirely consciously, I was following the same pattern I had used for cl-symbol-macrolet, but in that case we're establishing a let-binding so it's important to be able to pop back to the old binding. It's not needed here though. Also, I had a typo in gv-get (:gv-expands instead of :gv-expanders), because I didn't actually test the positive case. Here's a working(?) version, with tests: