summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0923
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0923')
-rw-r--r--data/vim/patches/8.1.0923123
1 files changed, 123 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0923 b/data/vim/patches/8.1.0923
new file mode 100644
index 000000000..2ed506c84
--- /dev/null
+++ b/data/vim/patches/8.1.0923
@@ -0,0 +1,123 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0923
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0923
+Problem: Terminal dump diff swap does not update file names.
+Solution: Also swap the file name. Add a test.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+
+*** ../vim-8.1.0922/src/terminal.c 2019-02-14 23:23:16.000358261 +0100
+--- src/terminal.c 2019-02-15 00:13:03.411505106 +0100
+***************
+*** 4816,4822 ****
+ bot_start = line_count - bot_rows;
+ sb_line = (sb_line_T *)term->tl_scrollback.ga_data;
+
+! /* move lines from top to above the bottom part */
+ for (lnum = 1; lnum <= top_rows; ++lnum)
+ {
+ p = vim_strsave(ml_get(1));
+--- 4816,4822 ----
+ bot_start = line_count - bot_rows;
+ sb_line = (sb_line_T *)term->tl_scrollback.ga_data;
+
+! // move lines from top to above the bottom part
+ for (lnum = 1; lnum <= top_rows; ++lnum)
+ {
+ p = vim_strsave(ml_get(1));
+***************
+*** 4827,4833 ****
+ vim_free(p);
+ }
+
+! /* move lines from bottom to the top */
+ for (lnum = 1; lnum <= bot_rows; ++lnum)
+ {
+ p = vim_strsave(ml_get(bot_start + lnum));
+--- 4827,4833 ----
+ vim_free(p);
+ }
+
+! // move lines from bottom to the top
+ for (lnum = 1; lnum <= bot_rows; ++lnum)
+ {
+ p = vim_strsave(ml_get(bot_start + lnum));
+***************
+*** 4838,4843 ****
+--- 4838,4859 ----
+ vim_free(p);
+ }
+
++ // move top title to bottom
++ p = vim_strsave(ml_get(bot_rows + 1));
++ if (p == NULL)
++ return OK;
++ ml_append(line_count - top_rows - 1, p, 0, FALSE);
++ ml_delete(bot_rows + 1, FALSE);
++ vim_free(p);
++
++ // move bottom title to top
++ p = vim_strsave(ml_get(line_count - top_rows));
++ if (p == NULL)
++ return OK;
++ ml_delete(line_count - top_rows, FALSE);
++ ml_append(bot_rows, p, 0, FALSE);
++ vim_free(p);
++
+ if (top_rows == bot_rows)
+ {
+ /* rows counts are equal, can swap cell properties */
+*** ../vim-8.1.0922/src/testdir/test_terminal.vim 2019-02-14 23:49:35.513222082 +0100
+--- src/testdir/test_terminal.vim 2019-02-14 23:58:17.045787751 +0100
+***************
+*** 1124,1129 ****
+--- 1124,1147 ----
+ quit
+ endfunc
+
++ func Test_terminal_dumpdiff_swap()
++ call assert_equal(1, winnr('$'))
++ call term_dumpdiff('dumps/Test_popup_command_01.dump', 'dumps/Test_popup_command_03.dump')
++ call assert_equal(2, winnr('$'))
++ call assert_equal(62, line('$'))
++ call assert_match('Test_popup_command_01.dump', getline(21))
++ call assert_match('Test_popup_command_03.dump', getline(42))
++ call assert_match('Undo', getline(3))
++ call assert_match('three four five', getline(45))
++
++ normal s
++ call assert_match('Test_popup_command_03.dump', getline(21))
++ call assert_match('Test_popup_command_01.dump', getline(42))
++ call assert_match('three four five', getline(3))
++ call assert_match('Undo', getline(45))
++ quit
++ endfunc
++
+ func Test_terminal_dumpdiff_options()
+ set laststatus=0
+ call assert_equal(1, winnr('$'))
+*** ../vim-8.1.0922/src/version.c 2019-02-14 23:49:35.513222082 +0100
+--- src/version.c 2019-02-14 23:59:52.613126996 +0100
+***************
+*** 785,786 ****
+--- 785,788 ----
+ { /* Add new patch number below this line */
++ /**/
++ 923,
+ /**/
+
+--
+"The future's already arrived - it's just not evenly distributed yet."
+ -- William Gibson
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///