Scintilla: faster a11y #2097
2 changes to make a11y quite a bit faster especially when performing bulk search & replace.
The first commit makes use of the character offset cache when performing reverse-lookup, e.g. when we need to convert a position given by the a11y layer to one understood by Scintilla.
The second avoids clearing the cache when it gets invalidated, and instead updates it to be valid right away. This avoids potentially costly re-computation of the cache that becomes problematic when we often need a position near the end of the file but keep invalidating everything after lines near the start. This happens especially when performing bulk search & replace with the cursor near the end. This gives a slightly higher cost at invalidating the cache (that now updates it based on a known delta), but a lot less when it's content is needed again.
referenced this pull request
Mar 3, 2019
@johndescs thanks for testing!
It's to be expected, as the offending code appeared in 1.30. But it might also be affected by the GTK version, as the code for instantiating the accessible object is fairly different on GTK2, and IIRC might disable it if the toolkit isn't currently enabling it somehow. Might be interesting to check, but shouldn't change too much when a11y is actually enabled.