tryin' to catch the last train out of Omelas
I ended up not merging this branch; this problem does not seem to manifest on the original implementation.
I think 20e6b50 fixes this.
Ahhhh this approach cannot work because it wraps the input code in a
let. We can work around this for locals by using
debug.getlocalto splice things back into the top level env but when there's an inline macro defined there it won't work at all; the macro is defined in the
letscope and there's no way to splice it back into the top-level scope.
Thanks; went ahead and merged it. Will try to get some more eyes on this change as it's rather large.
I see; thanks for the clarification. So in this case the repl can successfully see the locals; it's just the completion doesn't see them? And it happens to the same kind of modules as the other bug?
Are you just talking about the fact that the gensym local name numbers keep growing rather than starting back over at zero for every new scope? That's an older change from 0.10.0 so it shouldn't have anything to do with the changes discussed here.
This is very likely to be the same problem as #85. I haven't merged that fix to main yet. Do you have this problem on the
This has worked for a while now, but I added a test for it: https://git.sr.ht/~technomancy/fennel/commit/6e88b217bfc493a7d5448fb884e50cf7717643e3
Fixed in https://git.sr.ht/~technomancy/fennel/commit/3da46828ca548797300e57e928185f6815fe7956 ; thanks for pointing this out.