Issue 142: Cannot have multiple windows of the same buffer with 
different insert positions for each window.
http://code.google.com/p/yi-editor/issues/detail?id=142

New issue report by coreyoconnor:
What steps will reproduce the problem?
1. Open a text file with yi that is longer than several screens. Use the
VTY frontend.
2. Split the window into two.
3. Move the insertion point to the end of the file.
4. Switch to the other window.

What is the expected output? What do you see instead?

The expectation is that the window that was not scrolled to the end of the
buffer stays at it's current position. Instead the window is scrolled to
the end of the buffer.

On window switch the Vty UI will scroll the window to show the current
insertion point. However, there is only one insertion point per buffer.
Moving the insertion point to the end of the file will effect both windows.
However, the user expects each window to have it's own insertion point.

A high level overview of one method to resolve this is to
 1. Make Buffer.Implementation.pointMark a per-window state variable.
 2. Abstract all methods of Buffer.Implementation that depend on the
insertion point to work off a given mark.
 3. Provide the insertion point mark for the current window for all buffer
operations.

For windowless operations there is already the concept of a "dummy window".
This dummy window needs to be persistent to support windowless operations
that dependent on previous changes to the insertion point.

The selection mark should likely be made a state variable shared between
windows.

I've started on the above process. Though, given how this is changes the
details of Buffer and Buffer.Implementation, I expect some review will be
required for any patch that resolves this.



Issue attributes:
        Status: Accepted
        Owner: coreyoconnor
        Labels: Type-Defect Priority-Medium

-- 
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Yi development mailing list
[email protected]
http://groups.google.com/group/yi-devel
-~----------~----~----~----~------~----~------~--~---

Reply via email to