svaante / dape

Debug Adapter Protocol for Emacs
GNU General Public License v3.0
455 stars 25 forks source link

`Invalid face reference: 215` message a lot after setting a breakpoint #64

Closed timcharper closed 7 months ago

timcharper commented 7 months ago

This regression was introduced in commit 0d6b96318a157294ee53c06ce505ce8fb013e13c.

asciicast

svaante commented 7 months ago

Nice find!

After a bit of testing I am none the wiser, changed back to dape-breakpoint and everything seams fine, how unsatisfactory. Would you mind checking that it works on your end.

timcharper commented 7 months ago

All better with 37eb1c00156b2932e3387b712cb68436ee8962eb ! No more Invalid face reference.

I don't have a strong understanding of what's happening, but I suspect there's some internal Emacs logic that momentarily binds a different value to dape-breakpoint a la let. Since Emacs doesn't really have locals, and let will change a global value and then set it back, perhaps the value is getting changed during render, and then put back so when we try to debug we are none the wiser?

It's just a guess, it could a million things. The fact that the number is different each time, but consistent for a session, is telling.

I'm ok to just write this one off as "ghosts" and move on with life.