emacs-emojify

fork of https://github.com/iqbalansari/emacs-emojify
Log | Files | Refs | LICENSE

commit 58f3996006ed015bc23b6f91f204df5af9f1cd93
parent b96e56c515f1e64b40556d6a8aadbc43a47cbcdb
Author: Iqbal Ansari <iqbalansari02@yahoo.com>
Date:   Sun, 29 Nov 2015 20:42:49 +0530

Do not rely on markers in emojify update loop

Apparently since the buffer is still being manipulated the markers are
not completely updated leading to incorrect data sometimes ending in an
infinite loop

Diffstat:
Memojify.el | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/emojify.el b/emojify.el @@ -827,12 +827,13 @@ which is not what we want when falling back in `emojify-delete-emoji'" emoji-start) (while (and (> end beg) (setq emoji-start (text-property-any beg end 'emojified t))) - (let* ((emoji-end (marker-position (get-text-property emoji-start 'emojify-end))) + (let* ((emoji-end (+ emoji-start + (length (get-text-property emoji-start 'emojify-text)))) (current-disp (get-text-property emoji-start 'display))) (plist-put (cdr current-disp) :background (emojify--get-image-background emoji-start emoji-end)) - (setq beg (1+ emoji-end)))))))) + (setq beg emoji-end))))))) (defun emojify--update-emojis-background-in-region-starting-at (point) "Update background color for emojis in buffer starting at POINT.