>>>> "ms" == Michael Sperber
<sperber(a)informatik.uni-tuebingen.de> writes:
ms> The synchronization between the window point of the selected
ms> window and its buffer's point is necessary so that commands
ms> *you type* will DTRT, namely act at the point where the user
ms> is typing.
I think that is wrong. The reason for the synchronization window
point -> buffer point is so that _programs_ will act at the point the
user was typing or viewing, unless explicitly told to do otherwise.
Then while the program is doing whatever it does, the reverse
synchronization (buffer point -> window point) is done so that the
user is aware of what the program did, again unless the program
deliberately conceals any motion it executed.
When the user is typing, there is no need whatsoever for a separate
concept of buffer point (except in the sense of manipulating the gap,
but that's not user-visible). Just insert/delete/twiddle/fix case/
whatever at _window point_, which is always well-defined while the
user is typing.
(This distinction is slightly incoherent, since of course user typing
is meaningless except as it invokes programs. Presumably what I mean
is programs that are invoked directly according to stable keymaps,
etc, vs programs that are invoked asynchronously from the user's point
of view, such as hooks and timers.)
ms> There's no reason for this synchronicity to be in
ms> place in windows where the user is *not* typing.
ms> (In this case, selected windows of unselected frames.)
That's a meaningless statement. Synchronicity is a property of how
buffer and window points _change_ in response to selection state
changes and buffer point motion, not of the particular buffer point
<-> window point mapping at any given time or selection state.
ms> There'd be no heuristics involved at all.
No, just complete nondeterminism. :-)
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.