summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0706
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0706')
-rw-r--r--data/vim/patches/8.1.0706330
1 files changed, 330 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0706 b/data/vim/patches/8.1.0706
new file mode 100644
index 000000000..fcc74c740
--- /dev/null
+++ b/data/vim/patches/8.1.0706
@@ -0,0 +1,330 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0706
+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.0706
+Problem: Tabline is not always redrawn when something that is used in
+ 'tabline' changes.
+Solution: Add ":redrawtabline" so that a plugin can at least cause the
+ redraw when needed.
+Files: runtime/doc/various.txt, runtime/doc/options.txt, src/ex_docmd.c,
+ src/ex_cmds.h, src/screen.c, src/proto/screen.pro,
+ src/ex_cmdidxs.h, src/testdir/test_tabline.vim
+
+
+*** ../vim-8.1.0705/runtime/doc/various.txt 2018-10-25 13:31:33.825906932 +0200
+--- runtime/doc/various.txt 2019-01-08 21:30:41.024061801 +0100
+***************
+*** 30,35 ****
+--- 30,40 ----
+ includes an item that doesn't cause automatic
+ updating.
+
++ *:redrawt* *:redrawtabline*
++ :redrawt[abline] Redraw the tabline. Useful to update the tabline when
++ 'tabline' includes an item that doesn't trigger
++ automatic updating.
++
+ *N<Del>*
+ <Del> When entering a number: Remove the last digit.
+ Note: if you like to use <BS> for this, add this
+***************
+*** 448,453 ****
+--- 453,459 ----
+ N *+termresponse* support for |t_RV| and |v:termresponse|
+ B *+termguicolors* 24-bit color in xterm-compatible terminals support
+ N *+textobjects* |text-objects| selection
++ N *+textprop* |text-properties|
+ *+tgetent* non-Unix only: able to use external termcap
+ N *+timers* the |timer_start()| function
+ N *+title* Setting the window 'title' and 'icon'
+*** ../vim-8.1.0705/runtime/doc/options.txt 2018-12-16 18:19:56.142140712 +0100
+--- runtime/doc/options.txt 2019-01-08 21:33:05.538835954 +0100
+***************
+*** 7716,7721 ****
+--- 7761,7769 ----
+ the text to be displayed. Use "%1T" for the first label, "%2T" for
+ the second one, etc. Use "%X" items for closing labels.
+
++ When changing something that is used in 'tabline' that does not
++ trigger it to be updated, use |:redrawtabline|.
++
+ Keep in mind that only one of the tab pages is the current one, others
+ are invisible and you can't jump to their windows.
+
+*** ../vim-8.1.0705/src/ex_docmd.c 2018-12-26 21:44:49.815970351 +0100
+--- src/ex_docmd.c 2019-01-08 21:37:20.140705263 +0100
+***************
+*** 296,301 ****
+--- 296,302 ----
+ static void ex_later(exarg_T *eap);
+ static void ex_redir(exarg_T *eap);
+ static void ex_redrawstatus(exarg_T *eap);
++ static void ex_redrawtabline(exarg_T *eap);
+ static void close_redir(void);
+ static void ex_mkrc(exarg_T *eap);
+ static void ex_mark(exarg_T *eap);
+***************
+*** 9916,9921 ****
+--- 9917,9941 ----
+ RedrawingDisabled = r;
+ p_lz = p;
+ out_flush();
++ }
++
++ /*
++ * ":redrawtabline": force redraw of the tabline
++ */
++ static void
++ ex_redrawtabline(exarg_T *eap UNUSED)
++ {
++ int r = RedrawingDisabled;
++ int p = p_lz;
++
++ RedrawingDisabled = 0;
++ p_lz = FALSE;
++
++ draw_tabline();
++
++ RedrawingDisabled = r;
++ p_lz = p;
++ out_flush();
+ }
+
+ static void
+*** ../vim-8.1.0705/src/ex_cmds.h 2018-12-14 18:52:57.169528762 +0100
+--- src/ex_cmds.h 2019-01-08 21:37:55.296413236 +0100
+***************
+*** 1175,1180 ****
+--- 1175,1183 ----
+ EX(CMD_redrawstatus, "redrawstatus", ex_redrawstatus,
+ BANG|TRLBAR|CMDWIN,
+ ADDR_LINES),
++ EX(CMD_redrawtabline, "redrawtabline", ex_redrawtabline,
++ TRLBAR|CMDWIN,
++ ADDR_LINES),
+ EX(CMD_registers, "registers", ex_display,
+ EXTRA|NOTRLCOM|TRLBAR|CMDWIN,
+ ADDR_LINES),
+*** ../vim-8.1.0705/src/screen.c 2019-01-06 22:22:03.323843894 +0100
+--- src/screen.c 2019-01-08 21:39:59.155387564 +0100
+***************
+*** 154,160 ****
+ static void win_rest_invalid(win_T *wp);
+ static void msg_pos_mode(void);
+ static void recording_mode(int attr);
+- static void draw_tabline(void);
+ static int fillchar_status(int *attr, win_T *wp);
+ static int fillchar_vsep(int *attr);
+ #ifdef FEAT_MENU
+--- 154,159 ----
+***************
+*** 10693,10699 ****
+ /*
+ * Draw the tab pages line at the top of the Vim window.
+ */
+! static void
+ draw_tabline(void)
+ {
+ int tabcount = 0;
+--- 10692,10698 ----
+ /*
+ * Draw the tab pages line at the top of the Vim window.
+ */
+! void
+ draw_tabline(void)
+ {
+ int tabcount = 0;
+*** ../vim-8.1.0705/src/proto/screen.pro 2018-09-12 21:52:14.323799725 +0200
+--- src/proto/screen.pro 2019-01-08 21:40:02.323361391 +0100
+***************
+*** 52,57 ****
+--- 52,58 ----
+ int showmode(void);
+ void unshowmode(int force);
+ void clearmode(void);
++ void draw_tabline(void);
+ void get_trans_bufname(buf_T *buf);
+ int redrawing(void);
+ int messaging(void);
+*** ../vim-8.1.0705/src/ex_cmdidxs.h 2018-10-19 22:35:04.885189994 +0200
+--- src/ex_cmdidxs.h 2019-01-08 21:41:34.674599461 +0100
+***************
+*** 23,36 ****
+ /* p */ 309,
+ /* q */ 348,
+ /* r */ 351,
+! /* s */ 370,
+! /* t */ 437,
+! /* u */ 480,
+! /* v */ 491,
+! /* w */ 509,
+! /* x */ 524,
+! /* y */ 533,
+! /* z */ 534
+ };
+
+ /*
+--- 23,36 ----
+ /* p */ 309,
+ /* q */ 348,
+ /* r */ 351,
+! /* s */ 371,
+! /* t */ 438,
+! /* u */ 481,
+! /* v */ 492,
+! /* w */ 510,
+! /* x */ 525,
+! /* y */ 534,
+! /* z */ 535
+ };
+
+ /*
+***************
+*** 58,64 ****
+ /* o */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 0, 9, 0, 11, 0, 0, 0 },
+ /* p */ { 1, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 0, 0, 16, 17, 26, 0, 27, 0, 28, 0 },
+ /* q */ { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+! /* r */ { 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0 },
+ /* s */ { 2, 6, 15, 0, 18, 22, 0, 24, 25, 0, 0, 28, 30, 34, 38, 40, 0, 48, 0, 49, 0, 61, 62, 0, 63, 0 },
+ /* t */ { 2, 0, 19, 0, 22, 24, 0, 25, 0, 26, 0, 27, 31, 34, 36, 37, 0, 38, 40, 0, 41, 0, 0, 0, 0, 0 },
+ /* u */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+--- 58,64 ----
+ /* o */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 0, 9, 0, 11, 0, 0, 0 },
+ /* p */ { 1, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 0, 0, 16, 17, 26, 0, 27, 0, 28, 0 },
+ /* q */ { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+! /* r */ { 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 19, 0, 0, 0, 0 },
+ /* s */ { 2, 6, 15, 0, 18, 22, 0, 24, 25, 0, 0, 28, 30, 34, 38, 40, 0, 48, 0, 49, 0, 61, 62, 0, 63, 0 },
+ /* t */ { 2, 0, 19, 0, 22, 24, 0, 25, 0, 26, 0, 27, 31, 34, 36, 37, 0, 38, 40, 0, 41, 0, 0, 0, 0, 0 },
+ /* u */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+***************
+*** 69,72 ****
+ /* z */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+ };
+
+! static const int command_count = 547;
+--- 69,72 ----
+ /* z */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+ };
+
+! static const int command_count = 548;
+*** ../vim-8.1.0705/src/testdir/test_tabline.vim 2016-04-11 22:47:00.000000000 +0200
+--- src/testdir/test_tabline.vim 2019-01-08 21:58:51.558123995 +0100
+***************
+*** 1,19 ****
+! function! TablineWithCaughtError()
+ let s:func_in_tabline_called = 1
+ try
+ call eval('unknown expression')
+ catch
+ endtry
+ return ''
+! endfunction
+
+! function! TablineWithError()
+ let s:func_in_tabline_called = 1
+ call eval('unknown expression')
+ return ''
+! endfunction
+
+! function! Test_caught_error_in_tabline()
+ if has('gui')
+ set guioptions-=e
+ endif
+--- 1,22 ----
+!
+! source shared.vim
+!
+! func TablineWithCaughtError()
+ let s:func_in_tabline_called = 1
+ try
+ call eval('unknown expression')
+ catch
+ endtry
+ return ''
+! endfunc
+
+! func TablineWithError()
+ let s:func_in_tabline_called = 1
+ call eval('unknown expression')
+ return ''
+! endfunc
+
+! func Test_caught_error_in_tabline()
+ if has('gui')
+ set guioptions-=e
+ endif
+***************
+*** 27,35 ****
+ call assert_equal(tabline, &tabline)
+ set tabline=
+ let &showtabline = showtabline_save
+! endfunction
+
+! function! Test_tabline_will_be_disabled_with_error()
+ if has('gui')
+ set guioptions-=e
+ endif
+--- 30,38 ----
+ call assert_equal(tabline, &tabline)
+ set tabline=
+ let &showtabline = showtabline_save
+! endfunc
+
+! func Test_tabline_will_be_disabled_with_error()
+ if has('gui')
+ set guioptions-=e
+ endif
+***************
+*** 46,49 ****
+ call assert_equal('', &tabline)
+ set tabline=
+ let &showtabline = showtabline_save
+! endfunction
+--- 49,72 ----
+ call assert_equal('', &tabline)
+ set tabline=
+ let &showtabline = showtabline_save
+! endfunc
+!
+! func Test_redrawtabline()
+! if has('gui')
+! set guioptions-=e
+! endif
+! let showtabline_save = &showtabline
+! set showtabline=2
+! set tabline=%{bufnr('$')}
+! edit Xtabline1
+! edit Xtabline2
+! redraw
+! call assert_match(bufnr('$') . '', Screenline(1))
+! au BufAdd * redrawtabline
+! badd Xtabline3
+! call assert_match(bufnr('$') . '', Screenline(1))
+!
+! set tabline=
+! let &showtabline = showtabline_save
+! au! Bufadd
+! endfunc
+*** ../vim-8.1.0705/src/version.c 2019-01-08 21:05:47.820952657 +0100
+--- src/version.c 2019-01-08 21:53:43.416634012 +0100
+***************
+*** 801,802 ****
+--- 801,804 ----
+ { /* Add new patch number below this line */
++ /**/
++ 706,
+ /**/
+
+--
+Never eat yellow snow.
+
+ /// 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 ///