Philipp Stephani
d682f0daa3
Add command to replace buffer contents
...
Add a new command 'replace-buffer-contents' that uses the Myers diff
algorithm to non-destructively replace the accessible portion of the
current buffer. The Myers algorithm is implemented in Gnulib.
* src/editfns.c (Freplace_buffer_contents): New command.
(set_bit, bit_is_set, buffer_chars_equal): New helper functions.
(syms_of_editfns): Define new command.
* test/src/editfns-tests.el (replace-buffer-contents-1)
(replace-buffer-contents-2): New unit tests.
* src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
* admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
2017-06-17 15:40:58 +02:00
..
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-03-03 09:19:08 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2017-03-19 13:09:31 -07:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2017-01-01 01:32:56 -08:00
2017-04-27 15:24:07 -07:00
2017-01-01 01:32:56 -08:00
2017-05-14 01:29:29 -07:00
2017-03-12 00:03:37 -08:00
2017-06-17 15:40:58 +02:00
2017-01-01 01:32:56 -08:00
2017-04-30 14:53:17 -07:00
2016-12-31 19:42:26 -08:00
2017-05-14 01:29:29 -07:00
2017-01-01 01:32:56 -08:00
2017-05-01 15:33:26 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-05-16 10:27:41 -07:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2017-06-17 15:40:58 +02:00
2016-12-31 19:42:26 -08:00
2017-04-30 14:53:17 -07:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-05-03 18:19:25 -07:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2017-01-01 01:32:56 -08:00
2017-01-01 01:32:56 -08:00
2017-01-01 01:32:56 -08:00
2017-03-19 13:09:31 -07:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2017-01-01 01:32:56 -08:00
2017-01-01 01:32:56 -08:00
2016-12-31 19:42:26 -08:00
2017-04-30 14:53:17 -07:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2017-01-01 01:32:56 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2017-05-14 01:29:29 -07:00
2017-05-14 01:29:29 -07:00
2017-06-11 17:30:06 -07:00
2016-12-31 19:42:26 -08:00
2017-05-14 01:29:29 -07:00
2016-12-31 19:42:26 -08:00
2017-05-14 01:29:29 -07:00
2017-04-30 14:53:17 -07:00
2016-12-31 19:42:26 -08:00
2017-01-01 01:32:56 -08:00
2016-12-31 19:42:26 -08:00
2017-05-14 01:29:29 -07:00
2017-01-01 01:32:56 -08:00
2017-04-30 14:53:17 -07:00
2017-01-01 01:10:47 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00
2016-12-31 19:42:26 -08:00