> Since the working text is not the final text to insert to buffer, how about displaying it using after-string property of overlay? Such as: > > (overlay-put (setq ns-working-overlay (make-overlay start (point))) > ‘after-string (propertize ns-working-text ‘face 'ns-working-text-face)) I did it. It is good undo behavior. After this, working text appears in read-only buffer. (Mac port-like behavior)