Pip Cet writes: > Gerd Möllmann writes: > >> Pip Cet writes: >>> if we ever replace the gap buffer code, we should make sure its >>> replacement actually handles buffer text and text properties/intervals >>> in an integrated manner, rather than storing just buffer text). >>> >>> Pip >> >> And if I may add a wish to the future author: Make whatever you use >> persistent data structures, so that one could think of letting redisplay >> run concurrently. Really! :-) > > You won't be surprised to hear I've been playing with some code, Indeed, I was just thinking to myself "I knew it" :-). Two thumbs up! > so could I ask you to expand on this point? What precisely does > redisplay require? Full snapshotting or would it be sufficient to have > fine-grained locking? Maybe it's helpful when I tell something about the background. Some time last year I asked myself if I could make Emacs more than one of my plenty of CPU cores without solving the multi-threaded Elisp problem. And the idea was that I could do that, possibly, by letting redisplay happen in another thread. I later realized while thinking about the details, that this undertaking is an order of magnitude too large for me. Everything taking more than a few months is. And, in addition, I wouldn't want to do data structures in C anyway. So it's history. Won't happen. But, there is an incomplete, terse, terrible Org file from those times that I kept. I talked a bit about this with Stefan Monnier and Eli at the time, just FYI.