emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 51f8e86374: Update buffer's chars-modified tick when inserting fr


From: Eli Zaretskii
Subject: master 51f8e86374: Update buffer's chars-modified tick when inserting from gap
Date: Thu, 21 Jul 2022 05:41:42 -0400 (EDT)

branch: master
commit 51f8e86374a57efe5b8e5c31d96078e63c023da4
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Update buffer's chars-modified tick when inserting from gap
    
    * src/insdel.c (insert_from_gap): Update buffer's chars-modified
    tick.  (Bug#56393)
    
    * test/src/buffer-tests.el (test-buffer-chars-modified-ticks): New
    test.
---
 src/insdel.c             |  1 +
 test/src/buffer-tests.el | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/src/insdel.c b/src/insdel.c
index 6f180ac580..9b29239853 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -1123,6 +1123,7 @@ insert_from_gap (ptrdiff_t nchars, ptrdiff_t nbytes, bool 
text_at_gap_tail)
   invalidate_buffer_caches (current_buffer, GPT, GPT);
   record_insert (GPT, nchars);
   modiff_incr (&MODIFF);
+  CHARS_MODIFF = MODIFF;
 
   insert_from_gap_1 (nchars, nbytes, text_at_gap_tail);
 
diff --git a/test/src/buffer-tests.el b/test/src/buffer-tests.el
index cba10a0502..3c6a9208ff 100644
--- a/test/src/buffer-tests.el
+++ b/test/src/buffer-tests.el
@@ -1535,4 +1535,24 @@ with parameters from the *Messages* buffer modification."
       (restore-buffer-modified-p 'autosaved)
       (should (eq (buffer-modified-p) 'autosaved)))))
 
+(ert-deftest test-buffer-chars-modified-ticks ()
+  "Test `buffer-chars-modified-tick'."
+  (setq temporary-file-directory (file-truename temporary-file-directory))
+  (let ((text "foobar")
+        f1 f2)
+    (unwind-protect
+        (progn
+          (setq f1 (make-temp-file "buf-modiff-tests")
+                f2 (make-temp-file "buf-modiff-tests"))
+          (with-current-buffer (find-file f1)
+            (should (= (buffer-chars-modified-tick) 1))
+            (should (= (buffer-chars-modified-tick) (buffer-modified-tick)))
+            (write-region text nil f2 nil 'silent)
+            (insert-file-contents f2)
+            (should (= (buffer-chars-modified-tick) (buffer-modified-tick)))
+            (should (> (buffer-chars-modified-tick) 1))))
+      (if f1 (delete-file f1))
+      (if f2 (delete-file f2))
+      )))
+
 ;;; buffer-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]