aboutsummaryrefslogtreecommitdiffstats
path: root/test/src/editfns-tests.el
diff options
context:
space:
mode:
authorEli Zaretskii2018-06-15 11:27:56 +0300
committerEli Zaretskii2018-06-15 11:27:56 +0300
commit0d3c35807d0b0a3aaa4c4ebd2f040bb78013879d (patch)
tree3d1e838f66004370736692bef8c3c8eb8f03d1db /test/src/editfns-tests.el
parentc79a6275b2f3bc529f9e7e9a65dc56fbd30364d9 (diff)
downloademacs-0d3c35807d0b0a3aaa4c4ebd2f040bb78013879d.tar.gz
emacs-0d3c35807d0b0a3aaa4c4ebd2f040bb78013879d.zip
Fix 'replace-buffer-contents' in multibyte buffers
* src/editfns.c (buffer_chars_equal): Pass a byte position to BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position. (Bug#31837) * test/src/editfns-tests.el (replace-buffer-contents-bug31837): New test.
Diffstat (limited to 'test/src/editfns-tests.el')
-rw-r--r--test/src/editfns-tests.el11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/src/editfns-tests.el b/test/src/editfns-tests.el
index 714e92e5053..ec411ff773b 100644
--- a/test/src/editfns-tests.el
+++ b/test/src/editfns-tests.el
@@ -247,6 +247,17 @@
247 (buffer-string) 247 (buffer-string)
248 "foo bar baz qux")))))) 248 "foo bar baz qux"))))))
249 249
250(ert-deftest replace-buffer-contents-bug31837 ()
251 (switch-to-buffer "a")
252 (insert-char (char-from-name "SMILE"))
253 (insert "1234")
254 (switch-to-buffer "b")
255 (insert-char (char-from-name "SMILE"))
256 (insert "5678")
257 (replace-buffer-contents "a")
258 (should (equal (buffer-substring-no-properties (point-min) (point-max))
259 (concat (string (char-from-name "SMILE")) "1234"))))
260
250(ert-deftest delete-region-undo-markers-1 () 261(ert-deftest delete-region-undo-markers-1 ()
251 "Make sure we don't end up with freed markers reachable from Lisp." 262 "Make sure we don't end up with freed markers reachable from Lisp."
252 ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30931#40 263 ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30931#40