From d18653505d02028a9fc35f82c56845261c10cee5 Mon Sep 17 00:00:00 2001 From: Martin Pohlack Date: Wed, 2 Jun 2010 04:10:35 +0000 Subject: [PATCH] Add modification hook for inline images This patch adds a modification hook to remove inline-image overlays if the underlying text is modified. This prevents blind editing of text behind images. --- lisp/org.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/org.el b/lisp/org.el index 5cbd10a7e..f229fb354 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -15943,8 +15943,17 @@ BEG and END default to the buffer boundaries." (overlay-put ov 'display img) (overlay-put ov 'face 'default) (overlay-put ov 'org-image-overlay t) + (overlay-put ov 'modification-hooks + (list 'org-display-inline-modification-hook)) (push ov org-inline-image-overlays))))))))) +(defun org-display-inline-modification-hook (ov after beg end &optional len) + "Remove inline-display overlay if a corresponding region is modified." + (let ((inhibit-modification-hooks t)) + (when (and ov after) + (delete ov org-inline-image-overlays) + (delete-overlay ov)))) + (defun org-remove-inline-images () "Remove inline display of images." (interactive)