summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1343
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1343')
-rw-r--r--data/vim/patches/8.1.1343274
1 files changed, 0 insertions, 274 deletions
diff --git a/data/vim/patches/8.1.1343 b/data/vim/patches/8.1.1343
deleted file mode 100644
index 9a414caf3..000000000
--- a/data/vim/patches/8.1.1343
+++ /dev/null
@@ -1,274 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.1343
-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.1343
-Problem: Text properties not adjusted for Visual block mode delete.
-Solution: Call adjust_prop_columns(). (closes #4384)
-Files: src/ops.c, src/textprop.c, src/testdir/test_textprop.vim,
- src/misc1.c, src/testdir/dumps/Test_textprop_vis_01.dump,
- src/testdir/dumps/Test_textprop_vis_02.dump
-
-
-*** ../vim-8.1.1342/src/ops.c 2019-05-17 20:17:36.277186167 +0200
---- src/ops.c 2019-05-17 21:09:38.183335755 +0200
-***************
-*** 1916,1925 ****
- curwin->w_cursor.coladd = 0;
- }
-
-! /* n == number of chars deleted
-! * If we delete a TAB, it may be replaced by several characters.
-! * Thus the number of characters may increase!
-! */
- n = bd.textlen - bd.startspaces - bd.endspaces;
- oldp = ml_get(lnum);
- newp = alloc_check((unsigned)STRLEN(oldp) + 1 - n);
---- 1916,1924 ----
- curwin->w_cursor.coladd = 0;
- }
-
-! // "n" == number of chars deleted
-! // If we delete a TAB, it may be replaced by several characters.
-! // Thus the number of characters may increase!
- n = bd.textlen - bd.startspaces - bd.endspaces;
- oldp = ml_get(lnum);
- newp = alloc_check((unsigned)STRLEN(oldp) + 1 - n);
-***************
-*** 1935,1940 ****
---- 1934,1944 ----
- STRMOVE(newp + bd.textcol + bd.startspaces + bd.endspaces, oldp);
- /* replace the line */
- ml_replace(lnum, newp, FALSE);
-+
-+ #ifdef FEAT_TEXT_PROP
-+ if (curbuf->b_has_textprop && n != 0)
-+ adjust_prop_columns(lnum, bd.textcol, -n);
-+ #endif
- }
-
- check_cursor_col();
-*** ../vim-8.1.1342/src/textprop.c 2019-05-17 19:56:29.860129184 +0200
---- src/textprop.c 2019-05-17 21:54:59.788551130 +0200
-***************
-*** 957,963 ****
- * shift by "bytes_added" (can be negative).
- * Note that "col" is zero-based, while tp_col is one-based.
- * Only for the current buffer.
-! * Called is expected to check b_has_textprop and "bytes_added" being non-zero.
- */
- void
- adjust_prop_columns(
---- 957,963 ----
- * shift by "bytes_added" (can be negative).
- * Note that "col" is zero-based, while tp_col is one-based.
- * Only for the current buffer.
-! * Caller is expected to check b_has_textprop and "bytes_added" being non-zero.
- */
- void
- adjust_prop_columns(
-***************
-*** 994,1008 ****
- ? 2 : 1))
- : (tmp_prop.tp_col > col + 1))
- {
-! tmp_prop.tp_col += bytes_added;
- dirty = TRUE;
- }
- else if (tmp_prop.tp_len > 0
- && tmp_prop.tp_col + tmp_prop.tp_len > col
- + ((pt != NULL && (pt->pt_flags & PT_FLAG_INS_END_INCL))
- ? 0 : 1))
- {
-! tmp_prop.tp_len += bytes_added;
- dirty = TRUE;
- if (tmp_prop.tp_len <= 0)
- continue; // drop this text property
---- 994,1021 ----
- ? 2 : 1))
- : (tmp_prop.tp_col > col + 1))
- {
-! if (tmp_prop.tp_col + bytes_added < col + 1)
-! {
-! tmp_prop.tp_len += (tmp_prop.tp_col - 1 - col) + bytes_added;
-! tmp_prop.tp_col = col + 1;
-! }
-! else
-! tmp_prop.tp_col += bytes_added;
- dirty = TRUE;
-+ if (tmp_prop.tp_len <= 0)
-+ continue; // drop this text property
- }
- else if (tmp_prop.tp_len > 0
- && tmp_prop.tp_col + tmp_prop.tp_len > col
- + ((pt != NULL && (pt->pt_flags & PT_FLAG_INS_END_INCL))
- ? 0 : 1))
- {
-! int after = col - bytes_added
-! - (tmp_prop.tp_col - 1 + tmp_prop.tp_len);
-! if (after > 0)
-! tmp_prop.tp_len += bytes_added + after;
-! else
-! tmp_prop.tp_len += bytes_added;
- dirty = TRUE;
- if (tmp_prop.tp_len <= 0)
- continue; // drop this text property
-*** ../vim-8.1.1342/src/testdir/test_textprop.vim 2019-05-17 19:56:29.860129184 +0200
---- src/testdir/test_textprop.vim 2019-05-17 22:18:01.264176320 +0200
-***************
-*** 613,619 ****
- endfunc
-
- " screenshot test with textprop highlighting
-! funct Test_textprop_screenshots()
- " The Vim running in the terminal needs to use utf-8.
- if !CanRunVimInTerminal() || g:orig_encoding != 'utf-8'
- return
---- 613,619 ----
- endfunc
-
- " screenshot test with textprop highlighting
-! func Test_textprop_screenshot_various()
- " The Vim running in the terminal needs to use utf-8.
- if !CanRunVimInTerminal() || g:orig_encoding != 'utf-8'
- return
-***************
-*** 671,673 ****
---- 671,722 ----
- call StopVimInTerminal(buf)
- call delete('XtestProp')
- endfunc
-+
-+ func RunTestVisualBlock(width, dump)
-+ call writefile([
-+ \ "call setline(1, ["
-+ \ .. "'xxxxxxxxx 123 x',"
-+ \ .. "'xxxxxxxx 123 x',"
-+ \ .. "'xxxxxxx 123 x',"
-+ \ .. "'xxxxxx 123 x',"
-+ \ .. "'xxxxx 123 x',"
-+ \ .. "'xxxx 123 xx',"
-+ \ .. "'xxx 123 xxx',"
-+ \ .. "'xx 123 xxxx',"
-+ \ .. "'x 123 xxxxx',"
-+ \ .. "' 123 xxxxxx',"
-+ \ .. "])",
-+ \ "hi SearchProp ctermbg=yellow",
-+ \ "call prop_type_add('search', {'highlight': 'SearchProp'})",
-+ \ "call prop_add(1, 11, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(2, 10, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(3, 9, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(4, 8, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(5, 7, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(6, 6, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(7, 5, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(8, 4, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(9, 3, {'length': 3, 'type': 'search'})",
-+ \ "call prop_add(10, 2, {'length': 3, 'type': 'search'})",
-+ \ "normal 1G6|\<C-V>" .. repeat('l', a:width - 1) .. "10jx",
-+ \], 'XtestPropVis')
-+ let buf = RunVimInTerminal('-S XtestPropVis', {'rows': 12})
-+ call VerifyScreenDump(buf, 'Test_textprop_vis_' .. a:dump, {})
-+
-+ " clean up
-+ call StopVimInTerminal(buf)
-+ call delete('XtestPropVis')
-+ endfunc
-+
-+ " screenshot test with Visual block mode operations
-+ func Test_textprop_screenshot_visual()
-+ if !CanRunVimInTerminal()
-+ return
-+ endif
-+
-+ " Delete two columns while text props are three chars wide.
-+ call RunTestVisualBlock(2, '01')
-+
-+ " Same, but delete four columns
-+ call RunTestVisualBlock(4, '02')
-+ endfunc
-*** ../vim-8.1.1342/src/misc1.c 2019-05-11 17:03:55.166019785 +0200
---- src/misc1.c 2019-05-17 22:55:55.840537922 +0200
-***************
-*** 434,441 ****
- saved_cursor.col = (colnr_T)(s - newline);
- }
- #ifdef FEAT_TEXT_PROP
-! adjust_prop_columns(curwin->w_cursor.lnum, (colnr_T)(p - oldline),
-! ind_len - (colnr_T)(p - oldline));
- #endif
- retval = TRUE;
- }
---- 434,448 ----
- saved_cursor.col = (colnr_T)(s - newline);
- }
- #ifdef FEAT_TEXT_PROP
-! {
-! int added = ind_len - (colnr_T)(p - oldline);
-!
-! // When increasing indent this behaves like spaces were inserted at
-! // the old indent, when decreasing indent it behaves like spaces
-! // were deleted at the new indent.
-! adjust_prop_columns(curwin->w_cursor.lnum,
-! (colnr_T)(added > 0 ? (p - oldline) : ind_len), added);
-! }
- #endif
- retval = TRUE;
- }
-*** ../vim-8.1.1342/src/testdir/dumps/Test_textprop_vis_01.dump 2019-05-17 22:56:37.016317697 +0200
---- src/testdir/dumps/Test_textprop_vis_01.dump 2019-05-17 22:18:08.928132508 +0200
-***************
-*** 0 ****
---- 1,12 ----
-+ |x+0&#ffffff0@4>x@1| |1+0&#ffff4012|2|3| +0&#ffffff0|x| @61
-+ |x@5| |1+0&#ffff4012|2|3| +0&#ffffff0|x| @62
-+ |x@4| |1+0&#ffff4012|2|3| +0&#ffffff0|x| @63
-+ |x@4|1+0&#ffff4012|2|3| +0&#ffffff0|x| @64
-+ |x@4|2+0&#ffff4012|3| +0&#ffffff0|x| @65
-+ |x@3| |3+0&#ffff4012| +0&#ffffff0|x@1| @65
-+ |x@2| |1+0&#ffff4012| +0&#ffffff0|x@2| @65
-+ |x@1| |1+0&#ffff4012|2|x+0&#ffffff0@3| @65
-+ |x| |1+0&#ffff4012|2|3|x+0&#ffffff0@3| @65
-+ @1|1+0&#ffff4012|2|3| +0&#ffffff0|x@3| @65
-+ |~+0#4040ff13&| @73
-+ | +0#0000000&@56|1|,|6| @10|A|l@1|
-*** ../vim-8.1.1342/src/testdir/dumps/Test_textprop_vis_02.dump 2019-05-17 22:56:37.020317676 +0200
---- src/testdir/dumps/Test_textprop_vis_02.dump 2019-05-17 22:18:10.028126220 +0200
-***************
-*** 0 ****
---- 1,12 ----
-+ |x+0&#ffffff0@4> |1+0&#ffff4012|2|3| +0&#ffffff0|x| @63
-+ |x@4|1+0&#ffff4012|2|3| +0&#ffffff0|x| @64
-+ |x@4|2+0&#ffff4012|3| +0&#ffffff0|x| @65
-+ |x@4|3+0&#ffff4012| +0&#ffffff0|x| @66
-+ |x@4| |x| @67
-+ |x@3| |x@1| @67
-+ |x@2| |1+0&#ffff4012|x+0&#ffffff0@1| @67
-+ |x@1| |1+0&#ffff4012|2|x+0&#ffffff0@1| @67
-+ |x| |1+0&#ffff4012|2|3|x+0&#ffffff0@1| @67
-+ @1|1+0&#ffff4012|2|3| +0&#ffffff0|x@1| @67
-+ |~+0#4040ff13&| @73
-+ | +0#0000000&@56|1|,|6| @10|A|l@1|
-*** ../vim-8.1.1342/src/version.c 2019-05-17 20:17:36.277186167 +0200
---- src/version.c 2019-05-17 22:56:44.572277252 +0200
-***************
-*** 769,770 ****
---- 769,772 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 1343,
- /**/
-
---
-Your company is doomed if your primary product is overhead transparencies.
- (Scott Adams - The Dilbert principle)
-
- /// 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 ///