summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0759
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0759')
-rw-r--r--data/vim/patches/8.1.0759572
1 files changed, 0 insertions, 572 deletions
diff --git a/data/vim/patches/8.1.0759 b/data/vim/patches/8.1.0759
deleted file mode 100644
index 17b9c2d7c..000000000
--- a/data/vim/patches/8.1.0759
+++ /dev/null
@@ -1,572 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.07
-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.0759
-Problem: Showing two characters for tab is limited.
-Solution: Allow for a third character for "tab:" in 'listchars'. (Nathaniel
- Braun, Ken Takata, closes #3810)
-Files: runtime/doc/options.txt, src/globals.h, src/message.c,
- src/option.c, src/screen.c, src/testdir/test_listchars.vim
-
-
-*** ../vim-8.1.0758/runtime/doc/options.txt 2019-01-08 22:02:36.040297337 +0100
---- runtime/doc/options.txt 2019-01-16 22:32:15.368530721 +0100
-***************
-*** 5025,5035 ****
- omitted, there is no extra character at the end of the
- line.
- *lcs-tab*
-! tab:xy Two characters to be used to show a tab. The first
-! char is used once. The second char is repeated to
-! fill the space that the tab normally occupies.
-! "tab:>-" will show a tab that takes four spaces as
-! ">---". When omitted, a tab is show as ^I.
- *lcs-space*
- space:c Character to show for a space. When omitted, spaces
- are left blank.
---- 5066,5091 ----
- omitted, there is no extra character at the end of the
- line.
- *lcs-tab*
-! tab:xy[z] Two or three characters to be used to show a tab.
-! The third character is optional.
-!
-! tab:xy The 'x' is always used, then 'y' as many times as will
-! fit. Thus "tab:>-" displays:
-! >
-! >-
-! >--
-! etc.
-!
-! tab:xyz The 'z' is always used, then 'x' is prepended, and
-! then 'y' is used as many times as will fit. Thus
-! "tab:<->" displays:
-! >
-! <>
-! <->
-! <-->
-! etc.
-!
-! When "tab:" is omitted, a tab is shown as ^I.
- *lcs-space*
- space:c Character to show for a space. When omitted, spaces
- are left blank.
-*** ../vim-8.1.0758/src/globals.h 2019-01-13 23:38:33.391773303 +0100
---- src/globals.h 2019-01-16 22:25:51.783632939 +0100
-***************
-*** 1163,1168 ****
---- 1163,1169 ----
- EXTERN int lcs_space INIT(= NUL);
- EXTERN int lcs_tab1 INIT(= NUL);
- EXTERN int lcs_tab2 INIT(= NUL);
-+ EXTERN int lcs_tab3 INIT(= NUL);
- EXTERN int lcs_trail INIT(= NUL);
- #ifdef FEAT_CONCEAL
- EXTERN int lcs_conceal INIT(= ' ');
-*** ../vim-8.1.0758/src/message.c 2019-01-13 23:38:33.399773248 +0100
---- src/message.c 2019-01-16 22:25:51.783632939 +0100
-***************
-*** 1771,1776 ****
---- 1771,1777 ----
- int col = 0;
- int n_extra = 0;
- int c_extra = 0;
-+ int c_final = 0;
- char_u *p_extra = NULL; /* init to make SASC shut up */
- int n;
- int attr = 0;
-***************
-*** 1801,1807 ****
- if (n_extra > 0)
- {
- --n_extra;
-! if (c_extra)
- c = c_extra;
- else
- c = *p_extra++;
---- 1802,1810 ----
- if (n_extra > 0)
- {
- --n_extra;
-! if (n_extra == 0 && c_final)
-! c = c_final;
-! else if (c_extra)
- c = c_extra;
- else
- c = *p_extra++;
-***************
-*** 1844,1854 ****
- {
- c = ' ';
- c_extra = ' ';
- }
- else
- {
-! c = lcs_tab1;
- c_extra = lcs_tab2;
- attr = HL_ATTR(HLF_8);
- }
- }
---- 1847,1859 ----
- {
- c = ' ';
- c_extra = ' ';
-+ c_final = NUL;
- }
- else
- {
-! c = (n_extra == 0 && lcs_tab3) ? lcs_tab3 : lcs_tab1;
- c_extra = lcs_tab2;
-+ c_final = lcs_tab3;
- attr = HL_ATTR(HLF_8);
- }
- }
-***************
-*** 1861,1866 ****
---- 1866,1872 ----
- {
- p_extra = (char_u *)"";
- c_extra = NUL;
-+ c_final = NUL;
- n_extra = 1;
- c = lcs_eol;
- attr = HL_ATTR(HLF_AT);
-***************
-*** 1871,1876 ****
---- 1877,1883 ----
- n_extra = n - 1;
- p_extra = transchar_byte(c);
- c_extra = NUL;
-+ c_final = NUL;
- c = *p_extra++;
- /* Use special coloring to be able to distinguish <hex> from
- * the same in plain text. */
-*** ../vim-8.1.0758/src/option.c 2019-01-15 21:12:53.602254042 +0100
---- src/option.c 2019-01-16 22:25:51.783632939 +0100
-***************
-*** 7949,7955 ****
- {
- int round, i, len, entries;
- char_u *p, *s;
-! int c1, c2 = 0;
- struct charstab
- {
- int *cp;
---- 7949,7955 ----
- {
- int round, i, len, entries;
- char_u *p, *s;
-! int c1 = 0, c2 = 0, c3 = 0;
- struct charstab
- {
- int *cp;
-***************
-*** 8001,8008 ****
---- 8001,8012 ----
- for (i = 0; i < entries; ++i)
- if (tab[i].cp != NULL)
- *(tab[i].cp) = (varp == &p_lcs ? NUL : ' ');
-+
- if (varp == &p_lcs)
-+ {
- lcs_tab1 = NUL;
-+ lcs_tab3 = NUL;
-+ }
- else
- fill_diff = '-';
- }
-***************
-*** 8016,8021 ****
---- 8020,8026 ----
- && p[len] == ':'
- && p[len + 1] != NUL)
- {
-+ c1 = c2 = c3 = 0;
- s = p + len + 1;
- #ifdef FEAT_MBYTE
- c1 = mb_ptr2char_adv(&s);
-***************
-*** 8035,8041 ****
---- 8040,8057 ----
- #else
- c2 = *s++;
- #endif
-+ if (!(*s == ',' || *s == NUL))
-+ {
-+ #ifdef FEAT_MBYTE
-+ c3 = mb_ptr2char_adv(&s);
-+ if (mb_char2cells(c3) > 1)
-+ continue;
-+ #else
-+ c3 = *s++;
-+ #endif
-+ }
- }
-+
- if (*s == ',' || *s == NUL)
- {
- if (round)
-***************
-*** 8044,8049 ****
---- 8060,8066 ----
- {
- lcs_tab1 = c1;
- lcs_tab2 = c2;
-+ lcs_tab3 = c3;
- }
- else if (tab[i].cp != NULL)
- *(tab[i].cp) = c1;
-*** ../vim-8.1.0758/src/screen.c 2019-01-11 20:34:18.300314693 +0100
---- src/screen.c 2019-01-16 22:25:51.787632909 +0100
-***************
-*** 3049,3054 ****
---- 3049,3055 ----
- char_u *p_extra = NULL; /* string of extra chars, plus NUL */
- char_u *p_extra_free = NULL; /* p_extra needs to be freed */
- int c_extra = NUL; /* extra chars, all the same */
-+ int c_final = NUL; /* final char, mandatory if set */
- int extra_attr = 0; /* attributes when n_extra != 0 */
- static char_u *at_end_str = (char_u *)""; /* used for p_extra when
- displaying lcs_eol at end-of-line */
-***************
-*** 3059,3064 ****
---- 3060,3066 ----
- int saved_n_extra = 0;
- char_u *saved_p_extra = NULL;
- int saved_c_extra = 0;
-+ int saved_c_final = 0;
- int saved_char_attr = 0;
-
- int n_attr = 0; /* chars with special attr */
-***************
-*** 3814,3819 ****
---- 3816,3822 ----
- /* Draw the cmdline character. */
- n_extra = 1;
- c_extra = cmdwin_type;
-+ c_final = NUL;
- char_attr = HL_ATTR(HLF_AT);
- }
- }
-***************
-*** 3839,3844 ****
---- 3842,3848 ----
- p_extra_free[n_extra] = NUL;
- p_extra = p_extra_free;
- c_extra = NUL;
-+ c_final = NUL;
- char_attr = HL_ATTR(HLF_FC);
- }
- }
-***************
-*** 3860,3865 ****
---- 3864,3870 ----
-
- /* Draw two cells with the sign value or blank. */
- c_extra = ' ';
-+ c_final = NUL;
- char_attr = HL_ATTR(HLF_SC);
- n_extra = 2;
-
-***************
-*** 3878,3886 ****
---- 3883,3895 ----
- {
- /* Use the image in this position. */
- c_extra = SIGN_BYTE;
-+ c_final = NUL;
- # ifdef FEAT_NETBEANS_INTG
- if (buf_signcount(wp->w_buffer, lnum) > 1)
-+ {
- c_extra = MULTISIGN_BYTE;
-+ c_final = NUL;
-+ }
- # endif
- char_attr = icon_sign;
- }
-***************
-*** 3892,3897 ****
---- 3901,3907 ----
- if (p_extra != NULL)
- {
- c_extra = NUL;
-+ c_final = NUL;
- n_extra = (int)STRLEN(p_extra);
- }
- char_attr = sign_get_attr(text_sign, FALSE);
-***************
-*** 3949,3957 ****
---- 3959,3971 ----
- #endif
- p_extra = extra;
- c_extra = NUL;
-+ c_final = NUL;
- }
- else
-+ {
- c_extra = ' ';
-+ c_final = NUL;
-+ }
- n_extra = number_width(wp) + 1;
- char_attr = HL_ATTR(HLF_N);
- #ifdef FEAT_SYN_HL
-***************
-*** 4020,4028 ****
---- 4034,4048 ----
- {
- /* Draw "deleted" diff line(s). */
- if (char2cells(fill_diff) > 1)
-+ {
- c_extra = '-';
-+ c_final = NUL;
-+ }
- else
-+ {
- c_extra = fill_diff;
-+ c_final = NUL;
-+ }
- # ifdef FEAT_RIGHTLEFT
- if (wp->w_p_rl)
- n_extra = col + 1;
-***************
-*** 4038,4043 ****
---- 4058,4064 ----
- /* Draw 'showbreak' at the start of each broken line. */
- p_extra = p_sbr;
- c_extra = NUL;
-+ c_final = NUL;
- n_extra = (int)STRLEN(p_sbr);
- char_attr = HL_ATTR(HLF_AT);
- need_showbreak = FALSE;
-***************
-*** 4065,4070 ****
---- 4086,4092 ----
- /* Continue item from end of wrapped line. */
- n_extra = saved_n_extra;
- c_extra = saved_c_extra;
-+ c_final = saved_c_final;
- p_extra = saved_p_extra;
- char_attr = saved_char_attr;
- }
-***************
-*** 4364,4378 ****
- * The "p_extra" points to the extra stuff that is inserted to
- * represent special characters (non-printable stuff) and other
- * things. When all characters are the same, c_extra is used.
- * "p_extra" must end in a NUL to avoid mb_ptr2len() reads past
- * "p_extra[n_extra]".
- * For the '$' of the 'list' option, n_extra == 1, p_extra == "".
- */
- if (n_extra > 0)
- {
-! if (c_extra != NUL)
- {
-! c = c_extra;
- #ifdef FEAT_MBYTE
- mb_c = c; /* doesn't handle non-utf-8 multi-byte! */
- if (enc_utf8 && utf_char2len(c) > 1)
---- 4386,4401 ----
- * The "p_extra" points to the extra stuff that is inserted to
- * represent special characters (non-printable stuff) and other
- * things. When all characters are the same, c_extra is used.
-+ * If c_final is set, it will compulsorily be used at the end.
- * "p_extra" must end in a NUL to avoid mb_ptr2len() reads past
- * "p_extra[n_extra]".
- * For the '$' of the 'list' option, n_extra == 1, p_extra == "".
- */
- if (n_extra > 0)
- {
-! if (c_extra != NUL || (n_extra == 1 && c_final != NUL))
- {
-! c = (n_extra == 1 && c_final != NUL) ? c_final : c_extra;
- #ifdef FEAT_MBYTE
- mb_c = c; /* doesn't handle non-utf-8 multi-byte! */
- if (enc_utf8 && utf_char2len(c) > 1)
-***************
-*** 4537,4542 ****
---- 4560,4566 ----
- mb_utf8 = (c >= 0x80);
- n_extra = (int)STRLEN(p_extra);
- c_extra = NUL;
-+ c_final = NUL;
- if (area_attr == 0 && search_attr == 0)
- {
- n_attr = n_extra + 1;
-***************
-*** 4605,4610 ****
---- 4629,4635 ----
- p_extra = extra;
- n_extra = (int)STRLEN(extra) - 1;
- c_extra = NUL;
-+ c_final = NUL;
- c = *p_extra++;
- if (area_attr == 0 && search_attr == 0)
- {
-***************
-*** 4645,4650 ****
---- 4670,4676 ----
- {
- n_extra = 1;
- c_extra = MB_FILLER_CHAR;
-+ c_final = NUL;
- c = ' ';
- if (area_attr == 0 && search_attr == 0)
- {
-***************
-*** 4856,4861 ****
---- 4882,4888 ----
- # else
- c_extra = ' ';
- # endif
-+ c_final = NUL;
- if (VIM_ISWHITE(c))
- {
- #ifdef FEAT_CONCEAL
-***************
-*** 5040,5052 ****
- #endif
- if (wp->w_p_list)
- {
-! c = lcs_tab1;
- #ifdef FEAT_LINEBREAK
- if (wp->w_p_lbr)
- c_extra = NUL; /* using p_extra from above */
- else
- #endif
- c_extra = lcs_tab2;
- n_attr = tab_len + 1;
- extra_attr = HL_ATTR(HLF_8);
- saved_attr2 = char_attr; /* save current attr */
---- 5067,5080 ----
- #endif
- if (wp->w_p_list)
- {
-! c = (n_extra == 0 && lcs_tab3) ? lcs_tab3 : lcs_tab1;
- #ifdef FEAT_LINEBREAK
- if (wp->w_p_lbr)
- c_extra = NUL; /* using p_extra from above */
- else
- #endif
- c_extra = lcs_tab2;
-+ c_final = lcs_tab3;
- n_attr = tab_len + 1;
- extra_attr = HL_ATTR(HLF_8);
- saved_attr2 = char_attr; /* save current attr */
-***************
-*** 5062,5067 ****
---- 5090,5096 ----
- }
- else
- {
-+ c_final = NUL;
- c_extra = ' ';
- c = ' ';
- }
-***************
-*** 5111,5116 ****
---- 5140,5146 ----
- p_extra = at_end_str;
- n_extra = 1;
- c_extra = NUL;
-+ c_final = NUL;
- }
- }
- if (wp->w_p_list && lcs_eol > 0)
-***************
-*** 5146,5151 ****
---- 5176,5182 ----
- rl_mirror(p_extra); /* reverse "<12>" */
- #endif
- c_extra = NUL;
-+ c_final = NUL;
- #ifdef FEAT_LINEBREAK
- if (wp->w_p_lbr)
- {
-***************
-*** 5407,5412 ****
---- 5438,5444 ----
- /* Double-width character being overwritten by the "precedes"
- * character, need to fill up half the character. */
- c_extra = MB_FILLER_CHAR;
-+ c_final = NUL;
- n_extra = 1;
- n_attr = 2;
- extra_attr = HL_ATTR(HLF_AT);
-***************
-*** 6064,6069 ****
---- 6096,6102 ----
- saved_n_extra = n_extra;
- saved_p_extra = p_extra;
- saved_c_extra = c_extra;
-+ saved_c_final = c_final;
- saved_char_attr = char_attr;
- n_extra = 0;
- lcs_prec_todo = lcs_prec;
-*** ../vim-8.1.0758/src/testdir/test_listchars.vim 2017-11-16 21:41:26.000000000 +0100
---- src/testdir/test_listchars.vim 2019-01-16 22:25:51.787632909 +0100
-***************
-*** 42,47 ****
---- 42,79 ----
- call assert_equal([expected[i - 1]], ScreenLines(i, virtcol('$')))
- endfor
-
-+ " tab with 3rd character.
-+ set listchars-=tab:>-
-+ set listchars+=tab:<=>,trail:-
-+ let expected = [
-+ \ '<======>aa<====>$',
-+ \ '..bb<==>--$',
-+ \ '...cccc>-$',
-+ \ 'dd........ee--<>$',
-+ \ '-$'
-+ \ ]
-+ redraw!
-+ for i in range(1, 5)
-+ call cursor(i, 1)
-+ call assert_equal([expected[i - 1]], ScreenLines(i, virtcol('$')))
-+ endfor
-+
-+ set listchars-=trail:-
-+ let expected = [
-+ \ '<======>aa<====>$',
-+ \ '..bb<==>..$',
-+ \ '...cccc>.$',
-+ \ 'dd........ee..<>$',
-+ \ '.$'
-+ \ ]
-+ redraw!
-+ for i in range(1, 5)
-+ call cursor(i, 1)
-+ call assert_equal([expected[i - 1]], ScreenLines(i, virtcol('$')))
-+ endfor
-+
-+ set listchars-=tab:<=>
-+ set listchars+=tab:>-
- set listchars+=trail:<
- set nolist
- normal ggdG
-*** ../vim-8.1.0758/src/version.c 2019-01-16 22:15:07.872962363 +0100
---- src/version.c 2019-01-16 22:26:24.651365857 +0100
-***************
-*** 797,798 ****
---- 797,800 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 759,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-228. You spend Saturday night making the counter on your home page
- pass that 2000 mark.
-
- /// 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 ///