Stefan Monnier writes: > > Was it necessary to really expand symbol macros to fix that bug, or is > > the purpose only to handle the following `symbolp' test correctly? > > No the problem shows up in the `gv-letplace` that follows immediately, > so by the time we get to the `symbolp` test it's too late. > But I suspect that the better fix is to skip the macroexpand call here > and to change `gv-get` so as to do a `macroexpand-1` call even if its > arg is a `symbolp`. Ok, you have obviously more insight here, so can you maybe...take over this part? > > [`gv-synthetic-place'] seems to work quite as well (using the same > > body and gv-spec) when defined as a function. > > The only downside is that the code is less efficient (the getter has to > construct the closure of the setter, then call `gv-synthetic-place` > which then just throws it away) but that should be easy to fix with > a compiler macro. Ok - does this look correct?