I have implemented a new version of the Emacs canvas patch. Refreshing avoids redrawing or even checking the entire buffer. Only the single glyph where the canvas is attached as display property is redrawn.
I welcome help with testing or porting to other platforms than Cairo/Pgtk or X. @divyaranjan ported his Pale library to the new version of the canvas API, with good results.
Canvas patch and test program:
https://github.com/minad/emacs-canvas-patch
Discussion on the bug tracker:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=80281




