Subject: bug#37455: 27.0.50; insert-behind-hooks and insert-in-front-hooks in text properties do nothing when font-lock-mode is on

From: 'Ihor Radchenko' <[email-masked]>
Date: Thu, 19 Sep 2019 08:48:57 +0800

Expected behaviour:

According to the manual, adding insert-in-front-hooks or
insert-behind-hooks text properties should trigger the functions listed
in the hooks when the text is inserted in front/behind the text.

Observed behaviour:

The functions never run unless I type very fast (with my own config) or
when font-lock-mode is enabled.

Steps to reproduce (the font-lock part):
1. emacs -Q
2. Insert the following elisp into scratch (the code is from https://www.reddit.com/r/emacs/comments/d5waor/how_to_use_modification_hooks_in_text_properties/):

(defun test-property ()
  (put-text-property (point) (mark) 'insert-behind-hooks
		  (list (lambda (beg end)
			     (message "before %d %d" beg end))))
  (put-text-property (point) (mark) 'insert-in-front-hooks
		  (list (lambda (beg end)
			     (message "in front %d %d" beg end)))))

1. Select the region containing all the text in the scratch buffer
2. M-: (test-property) RET
3. Try to type anything
4. No message is shown
5. Disable font-lock-mode
6. Try to type anything
7. The message is shown

Regards,
Ihor

-- 
Ihor Radchenko,
PhD,
Center for Advancing Materials Performance from the Nanoscale (CAMP-nano)
State Key Laboratory for Mechanical Behavior of Materials, Xi'an Jiaotong University, Xi'an, China
Email: [email-masked], [email-masked]