diff options
author | Eli Zaretskii <eliz@gnu.org> | 2016-07-19 18:59:41 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2016-07-19 18:59:41 +0300 |
commit | 00b6647651e4276ac5c47aa33e0fec6726469bc7 (patch) | |
tree | 8e03635aac3f32b806b85e1a7bf976741d85cc30 /src/lisp.h | |
parent | 439f3c3e567692b6823923d569a06ac206d1c3be (diff) | |
download | emacs-00b6647651e4276ac5c47aa33e0fec6726469bc7.tar.gz |
Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
* src/insdel.c (adjust_markers_bytepos): New function.
* src/lisp.h (adjust_markers_bytepos): Add prototype.
* src/insdel.c (replace_range, replace_range_2):
* src/editfns.c (Ftranspose_regions): Call
adjust_markers_bytepos. (Bug#5131)
* test/src/editfns-tests.el (transpose-test-reverse-word)
(transpose-test-get-byte-positions): New functions.
(transpose-ascii-regions-test)
(transpose-nonascii-regions-test-1)
(transpose-nonascii-regions-test-2): New tests.
Diffstat (limited to 'src/lisp.h')
-rw-r--r-- | src/lisp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h index e0eb52a84ea..48c27281643 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -3528,6 +3528,8 @@ extern void adjust_after_insert (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t); extern void adjust_markers_for_delete (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t); +extern void adjust_markers_bytepos (ptrdiff_t, ptrdiff_t, + ptrdiff_t, ptrdiff_t, int); extern void replace_range (ptrdiff_t, ptrdiff_t, Lisp_Object, bool, bool, bool); extern void replace_range_2 (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, const char *, ptrdiff_t, ptrdiff_t, bool); |