On 2017-02-27 21:26, Lars Brinkhoff wrote:
Johnny Billquist wrote:
But having the memory around for a program, even
if it is not running,
is actually sometimes very useful. If ITS could handle that, while
treating them as separate processes, all associated to one terminal,
and let you select which one you were currently fooling around in,
while the others stayed around, that is something I don't think I've
seen elsewhere.
And it's not just a list structure, but a tree. You can e.g. start a
new DDT, which itself can have inferior jobs (subprocesses).
Hmm. That sounds similar to TOPS-20 then maybe.
So, Emacs does
it once, and then saves the state at the point where
you can start editing. But it does not mean that the memory is
shareable. It's full of various data structures, and code, and that
will change as you go along editing things as well.
Much is sharable. There's a concept of purification (which also comes
from ITS). A purecopy() function is used in temacs to put read-only
data in a special memory area. That area will become sharable in the
dumped Emacs.
There are definitely some shareable things, but you need to remember
that even some pure, read-only data can be problematic in a shared
segment, as not all people might even have that data loaded, even if the
data itself is readonly.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol