Great blog post about adding double buffering to Emacs: https://www.facebook.com/notes/daniel-colascione/buttery-smooth-emacs/10155313440066102
(link discovered in the LWN comments)
This emacs “unexec” functionality is also why it didn’t build on FreeBSD/arm64 originally: https://lists.gnu.org/archive/html/bug-gnu-emacs/2016-11/msg00213.html
I’ve gotta commend John Wegley for his handling of this situation. He’s trying to treat Eli fairly, while saying “Hey, we have code. Let’s try it. We can always explore other options should they materialize”.
Stallman’s response was IMO interesting and helpful as well “Let’s see folks implement the big elc approach and then compare facts to facts”.
This is a super interesting case of a legacy open source project dealing with its technical debt.
I never knew that EMACS did memory dumping like that. It’s going to be interesting to see where this goes.
Thank you for posting this. I was peripherally aware of this dispute but didn’t really understand the details.
I know it’s a hard problem when shoehorning it in later on in a project, but still - why the heck does serialization take 4000+ lines of C? Sheesh.
To be fair, it is well documented code, using 3-4 lines of prose before fiddling around with pointers in magical ways :).