Shouldn't &whole be used for that? The CLHS says [1] (emphasis mine): "Unlike an ordinary macro, a compiler macro can decline to provide an expansion merely by returning a form that is __the same as the original__ (which can be obtained by using &whole)."
Yes, that's the right way to inhibit compiler-macro expansion, but local notinline declaration should be able to inhibit it too. I guess ABCL's compiler ignores this declaration, which isn't good.