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).
To bring this slightly back on topic, ITS job handling was John Kulp's
inspiration for Unix job control. Control-Z does pretty much the same
thing in both ITS and Unix.
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.