Timothy <tecos...@gmail.com> writes: >>>> I do not like abusing prettify-symbols-mode. What if it is not enabled? > > If you know of another way of accomplishing text-replacement which > changes back when the cursor enters the region, please let me know.
cursor-sensor-mode >>> Ah, it does it anyway at the moment. >> >> Hmm. You are right. You are calling compose-region directly. Note, that >> you do not add 'decompose-region function for automatic region >> destruction (see help:pretty-symbol-pattern-to-keyword). > > Isn't the same effect achieved by the remove-list-of-text-properties call? It is. Though only while font-lock is active. Now, looking at prettify-symbols-mode code, it does not seem to be necessary when font-locking is set correctly. >> If I understand correctly (I did not really install your patch), if you have >> composed region, disable font-lock, and try to edit the region, edits >> will be invisible. Or imagine setting org-inline-src-prettify-results to >> nil in already fontified buffer. > > I just tried "setting org-inline-src-prettify-results to nil in already > fontified buffer." and the region just decomposed and stayed that way. Did you also have prettify-symbols-mode disabled? >> Also, you may find help:font-lock-extra-managed-props useful. That way, >> you will not have to manually remove composition and other non-standard >> properties during fontification > > Hmmm, from a look I can't tell exactly how these are "managed". Are they > just removed when a region is processed? They are removed just before the region is processed and they are removed when font-lock-mode is disabled. On the other hand, it will not be possible to set the managed properties directly (try setting font using a direct M-: command in a buffer with font-lock enabled). >> P.S. Nitpick: You do not need to run fontification in while loops. Just >> fontifying next match before limit should be enough. Font-lock will call >> the function again if needed. > > I'm guessing for this to work I'd need to return the final char > fortified? Or is the moving of point enough? > > Maybe related - I've noticed this doesn't seem to work with multiple > src_ blocks per line, might you have any insight here? As I understand, the fontificatoin function must behave like re-search-forward. From font-lock-keywords docstring: >>> ... MATCHER can be either the regexp to search for, or the function >>> name to call to make the search (called with one argument, the limit >>> of the search; it should return non-nil, move point, and set >>> `match-data' appropriately if it succeeds; like `re-search-forward' >>> would). Best, Ihor