lspclient update
Christoph Cullmann
christoph at cullmann.io
Sat Aug 10 20:22:15 BST 2019
Hi,
> There is still something else to (really) enable in this area
> (document changes). The RevisionGuard is in place to "lock" old
> revision (using MovingInterface), to pass this along to a server call
> and then use the old revision to translate ranges (wrt old revision)
> to current one (as there may have been changes in the meantime).
> However, as I see/understand it (and so documented), even when locked,
> an old revision might still get invalidated (e.g. when a clear()
> happens in katetexthistory.cpp. Also, however, it is not certain (or
> evident) if/how to detect that this happens. Is it guaranteed that
> (e.g.) aboutToInvalidateMovingInterfaceContent will be emitted if such
> a clear() occurs (or anything that might invalidate even locked
> revisions)? Since using a revision in transform (or unlock) calls
> that is no longer valid will trigger unfortunate asserts (or other
> things if assert disabled).
you can be sure that either aboutToDeleteMovingInterfaceContent (if the
document will be deleted) or
aboutToInvalidateMovingInterfaceContent (if an action of the document
happens that invalidates the stuff)
is emitted.
Greetings
Christoph
--
Ignorance is bliss...
https://cullmann.io | https://kate-editor.org
More information about the KWrite-Devel
mailing list