[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: misc. annoyances
Date: 3 June 1987 12:15 pdt
From: miller at CS.ROCHESTER.EDU
Subject: Re: misc. annoyances
Last-Redistributed: 3 June 1987 13:25 pdt by
CMP.SLUG at R20.UTEXAS.EDU
Entering the editor recursively is only half the problem: the really
desired state is to support multiple editor processes (e.g. <select>
c-E gives you a new process rather than just a new window); now you
have the problem of communication of bindings in the process stack. I
suspect they haven't done this because they would have to rewrite a
lot of stuff to associate things more with the buffers? (so nothing
important is on the stack).
As it turns out, this isn't an issue (and hasn't been since the way
message passing was changed back in release 4.0). The special variables
on the stack are there because they are bound specially by the top level
of the editor, and are really just instance variables in the editor
There is nothing more annoying that creating a new editor and finding
you can't use it because you are in the middle of an incremental
search in the other one. I created the new thing so I could *save my
state* in the first one!
The real reasons why this hasn't been done are that doing it right is
hard, and nobody within Symbolics has been given the time to work
seriously on the editor in several years.
Why is it hard? To do it right, you want to incorporate locking into
all the interesting Zwei data structures. This requires rewriting much
of the editor extensions to wrap a (with-appropriate-structure-locked
...) around the code which actually modifies things (imagine multiple
processes reaching in and updating the Zmacs buffer list simultaneously.
You switch windows, and when you come back, the buffer you thought you
were editing is no longer there!).
Technically, it's not that hard, but getting it right (and efficient)
Anyway, I can't think of a single more important improvement to the
How about generalized UNDO in the editor? That's the other such "most
important improvement" everybody wishes were done, and which nobody has
the time to do...