[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 d24c5f2: Fix calls to modifications hooks in repl
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-26 d24c5f2: Fix calls to modifications hooks in replace-buffer-contents |
Date: |
Fri, 27 Jul 2018 06:05:07 -0400 (EDT) |
branch: emacs-26
commit d24c5f26bf6c12bda614f90ba3345d710482005a
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Fix calls to modifications hooks in replace-buffer-contents
* src/editfns.c (Freplace_buffer_contents): Call the modification
hooks on the entire region where replacements could have taken
place. The previous attempts of being more accurate just
introduced bugs. (Bug#32278)
---
src/editfns.c | 19 +++----------------
1 file changed, 3 insertions(+), 16 deletions(-)
diff --git a/src/editfns.c b/src/editfns.c
index a18a71e..a8acff6 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -3243,21 +3243,9 @@ differences between the two buffers. */)
Instead, we announce a single modification for the entire
modified region. But don't do that if the caller inhibited
modification hooks, because then they don't want that. */
- ptrdiff_t from, to;
if (!inhibit_modification_hooks)
{
- ptrdiff_t k, l;
-
- /* Find the first character position to be changed. */
- for (k = 0; k < size_a && !bit_is_set (ctx.deletions, k); k++)
- ;
- from = BEGV + k;
-
- /* Find the last character position to be changed. */
- for (l = size_a; l > k && !bit_is_set (ctx.deletions, l - 1); l--)
- ;
- to = BEGV + l;
- prepare_to_modify_buffer (from, to, NULL);
+ prepare_to_modify_buffer (BEGV, ZV, NULL);
specbind (Qinhibit_modification_hooks, Qt);
modification_hooks_inhibited = true;
}
@@ -3310,9 +3298,8 @@ differences between the two buffers. */)
if (modification_hooks_inhibited)
{
- ptrdiff_t updated_to = to + ZV - BEGV - size_a;
- signal_after_change (from, to - from, updated_to - from);
- update_compositions (from, updated_to, CHECK_INSIDE);
+ signal_after_change (BEGV, size_a, ZV - BEGV);
+ update_compositions (BEGV, ZV, CHECK_INSIDE);
}
return Qnil;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-26 d24c5f2: Fix calls to modifications hooks in replace-buffer-contents,
Eli Zaretskii <=