9. A non-transitory computer-readable storage medium having contents configured to cause a computing system to, in order to process textual input generated with a user input device: store the textual input in a first data structure contained in the address space of a first process; and synchronize contents of the first data structure to a second data structure contained in the address space of a second process distinct from the first process, an application executing in the second process being configured to apply textual input to the second data structure, wherein in response to a collision between synchronizing contents of the first data structure to the second data structure and synchronizing contents of the second data structure to the first data structure: reversing application of colliding textual input made by the first process to the first data structure; and applying textual input made by the application to the first data structure.
9. A non-transitory computer-readable storage medium having contents configured to cause a computing system to, in order to process textual input generated with a user input device: store the textual input in a first data structure contained in the address space of a first process; and synchronize contents of the first data structure to a second data structure contained in the address space of a second process distinct from the first process, an application executing in the second process being configured to apply textual input to the second data structure, wherein in response to a collision between synchronizing contents of the first data structure to the second data structure and synchronizing contents of the second data structure to the first data structure: reversing application of colliding textual input made by the first process to the first data structure; and applying textual input made by the application to the first data structure. 13. The non-transitory computer-readable storage medium of claim 9 having contents configured to further cause a computing system to: determine that the user input device has been used to select text corresponding to a distinguished range of text in the second data structure; and in response to determining that the user input device has been used to select text corresponding to the distinguished range of text in the second data structure, synchronize from the second data structure to the first data structure a range of text surrounding the distinguished range of text in the second data structure.