(require 'ert) (ert-deftest test-modification-hooks () "Test for bug#30823." (let ((check-point nil) (ov-delete nil) (ov-set nil)) (with-temp-buffer (insert "abc") (setq ov-set (make-overlay 1 3)) (overlay-put ov-set 'modification-hooks (list (lambda (o after &rest _args) (and after (setq check-point t))))) (setq ov-delete (make-overlay 1 3)) (overlay-put ov-delete 'modification-hooks (list (lambda (o after &rest _args) (and (not after) (delete-overlay o))))) (goto-char 2) (insert "1") (should (eq check-point t)))))