Gemini Lasswell writes: > Edebug gives an error when trying to instrument a function which uses > cl-macrolet to define a macro with an argument list containing &rest. > > Looks to me like the problem is that the Edebug spec is using (&rest arg) > when it should be using cl-macro-list, assuming that cl-macrolet > supports full CL argument lists. That was one of the problems, and the other problem was that Edebug would wrap all the arguments to the temporary macros, even those that are not evaluated, causing breakage. I solved that in the attached patch by writing Edebug match functions for cl-macrolet which treat the temporary macros like normal macros without Edebug specs, which means none of their arguments get wrapped. This fixes the breakage but means you can't Edebug through those of the arguments which do get evaluated. To do that we'd have to add the ability to have (declare (debug ...)) forms in the temporary macro bodies so that they could have temporary Edebug specs, which would mean changing cl-macrolet itself instead of just its Edebug spec. Kaushal, I was able to step through org-export-data with this patch in place. Let me know if you are able to give it a try.