aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2018-07-21 22:27:33 +0300
committerEli Zaretskii2018-07-21 22:27:33 +0300
commit47f75b1ba0246b5d770fbb52e0fa3e00f9f83ffb (patch)
treebc1a2ec148e14e57c450300e2d2b2d2332cb8203
parent671dc5a51edfb9aaea943e144997e7c1297f56fb (diff)
downloademacs-47f75b1ba0246b5d770fbb52e0fa3e00f9f83ffb.tar.gz
emacs-47f75b1ba0246b5d770fbb52e0fa3e00f9f83ffb.zip
Fix last change in editfns.c
* src/editfns.c (Freplace_buffer_contents): Fix last change: always call buffer modification hooks, even if nothing was deleted/inserted. (bug#32237)
-rw-r--r--src/editfns.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/editfns.c b/src/editfns.c
index cf596aec37c..a18a71e6d77 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -3257,9 +3257,7 @@ differences between the two buffers. */)
3257 for (l = size_a; l > k && !bit_is_set (ctx.deletions, l - 1); l--) 3257 for (l = size_a; l > k && !bit_is_set (ctx.deletions, l - 1); l--)
3258 ; 3258 ;
3259 to = BEGV + l; 3259 to = BEGV + l;
3260 /* If k >= l, it means nothing needs to be deleted. */ 3260 prepare_to_modify_buffer (from, to, NULL);
3261 if (k < l)
3262 prepare_to_modify_buffer (from, to, NULL);
3263 specbind (Qinhibit_modification_hooks, Qt); 3261 specbind (Qinhibit_modification_hooks, Qt);
3264 modification_hooks_inhibited = true; 3262 modification_hooks_inhibited = true;
3265 } 3263 }
@@ -3310,16 +3308,11 @@ differences between the two buffers. */)
3310 SAFE_FREE (); 3308 SAFE_FREE ();
3311 rbc_quitcounter = 0; 3309 rbc_quitcounter = 0;
3312 3310
3313 if (modification_hooks_inhibited && from <= to) 3311 if (modification_hooks_inhibited)
3314 { 3312 {
3315 ptrdiff_t updated_to = to + ZV - BEGV - size_a; 3313 ptrdiff_t updated_to = to + ZV - BEGV - size_a;
3316 /* Only call after-change-functions if something was actually 3314 signal_after_change (from, to - from, updated_to - from);
3317 inserted. */ 3315 update_compositions (from, updated_to, CHECK_INSIDE);
3318 if (from < updated_to)
3319 {
3320 signal_after_change (from, to - from, updated_to - from);
3321 update_compositions (from, updated_to, CHECK_INSIDE);
3322 }
3323 } 3316 }
3324 3317
3325 return Qnil; 3318 return Qnil;