diff options
| author | Eli Zaretskii | 2018-06-15 11:27:56 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2018-06-15 11:27:56 +0300 |
| commit | 0d3c35807d0b0a3aaa4c4ebd2f040bb78013879d (patch) | |
| tree | 3d1e838f66004370736692bef8c3c8eb8f03d1db /test/src/editfns-tests.el | |
| parent | c79a6275b2f3bc529f9e7e9a65dc56fbd30364d9 (diff) | |
| download | emacs-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.el | 11 |
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 |