New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'statusline'内でhighlightを設定して :vsplit 後にスクロールするとウィンドウが更新されないことがある #1093

Closed
h-east opened this Issue Sep 17, 2017 · 19 comments

Comments

Projects
None yet
4 participants
@h-east
Member

h-east commented Sep 17, 2017

質問・報告の内容

@KazuakiM さんから報告があったので追加情報を頂きつつ再現方法を簡素化したりして今ここに報告

min_vimrcの内容

function! Sample()
    highlight StatusLine cterm=NONE gui=NONE ctermfg=Black guifg=Black ctermbg=Magenta guibg=Magenta
endfunction
set statusline=%{Sample()}

test.txtの内容

1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890

Vimを起動して、

$ vim -Nu min_vimrc test.txt

Vimで以下を入力

L$:vs<CR><C-w><C-w>j<C-w><C-w>j

期待する結果

  • 左右のウィンドウとも正しく表示が更新される。
  • カレントウィンドウのステータスラインの背景色がMagentaになる。

実際の動作

  • 左側のウィンドウでスクロールが発生したのに表示が更新されない。
  • カレントウィンドウのステータスラインの背景色がMagentaにならない。

Vimのバージョン

8.0.1111 (8.0.1073から発生している)
(officialのgithubからcloneして引数無しで ./configure ; make したもの)

OSの種類/ディストリ/バージョン

今のところ発生が確認出来ているのは macOS Sierra 10.12.6
(fedoraでは再現できなかった)

その他

CUIでもGUIでも発生するらしい。
私が確認出来たのは ターミナル(2.7.3 (388.1.1))

変化点は Vim 8.0.1073 ですね。もろにこの件に関する修正をおこなっています。
Vim 8.0.1072 までは再描画されます。

8.0.1073はvim-jp/Issuesに報告の以下の問題を直すために @mattn さんが書いたpatchがベースになっています。
#1057 (comment)
vim_devへのPullRequest
vim/vim#2069

@h-east h-east added the kind/bug label Sep 17, 2017

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 17, 2017

Member

んー。must_redraw は消したらあかん気がするなー。

Member

mattn commented Sep 17, 2017

んー。must_redraw は消したらあかん気がするなー。

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 17, 2017

Member

Windows ですが、これで解消してると思います。

diff --git a/src/buffer.c b/src/buffer.c
index 110dada7a..f63c5a2e5 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -3908,7 +3908,6 @@ build_stl_str_hl(
     char_u	tmp[TMPLEN];
     char_u	*usefmt = fmt;
     struct stl_hlrec *sp;
-    int		save_must_redraw = must_redraw;
     int		save_redr_type = curwin->w_redr_type;
     int		save_highlight_shcnaged = need_highlight_changed;
 
@@ -4686,7 +4685,6 @@ build_stl_str_hl(
     /* We do not want redrawing a stausline, ruler, title, etc. to trigger
      * another redraw, it may cause an endless loop.  This happens when a
      * statusline changes a highlight group. */
-    must_redraw = save_must_redraw;
     curwin->w_redr_type = save_redr_type;
     need_highlight_changed = save_highlight_shcnaged;
 

#1057 の件も再発してないのでこれで良い気がしています。

Member

mattn commented Sep 17, 2017

Windows ですが、これで解消してると思います。

diff --git a/src/buffer.c b/src/buffer.c
index 110dada7a..f63c5a2e5 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -3908,7 +3908,6 @@ build_stl_str_hl(
     char_u	tmp[TMPLEN];
     char_u	*usefmt = fmt;
     struct stl_hlrec *sp;
-    int		save_must_redraw = must_redraw;
     int		save_redr_type = curwin->w_redr_type;
     int		save_highlight_shcnaged = need_highlight_changed;
 
@@ -4686,7 +4685,6 @@ build_stl_str_hl(
     /* We do not want redrawing a stausline, ruler, title, etc. to trigger
      * another redraw, it may cause an endless loop.  This happens when a
      * statusline changes a highlight group. */
-    must_redraw = save_must_redraw;
     curwin->w_redr_type = save_redr_type;
     need_highlight_changed = save_highlight_shcnaged;
 

#1057 の件も再発してないのでこれで良い気がしています。

@h-east

This comment has been minimized.

Show comment
Hide comment
@h-east

h-east Sep 17, 2017

Member

@mattn そのpatchで「左側のウィンドウでスクロールが発生したのに表示が更新されない。」の件は改善されたのを確認しました👍
「カレントウィンドウのステータスラインの背景色がMagentaにならない。」は変化ないです。

Member

h-east commented Sep 17, 2017

@mattn そのpatchで「左側のウィンドウでスクロールが発生したのに表示が更新されない。」の件は改善されたのを確認しました👍
「カレントウィンドウのステータスラインの背景色がMagentaにならない。」は変化ないです。

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 18, 2017

Member

ひとまず投げました。

vim/vim#2120

Member

mattn commented Sep 18, 2017

ひとまず投げました。

vim/vim#2120

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 19, 2017

Member

Bram に再現しないと言われて別の PC で最新試したら確かに再現しない。8.0.1114 まで戻ってみたけど再現しない。

Member

mattn commented Sep 19, 2017

Bram に再現しないと言われて別の PC で最新試したら確かに再現しない。8.0.1114 まで戻ってみたけど再現しない。

@h-east

This comment has been minimized.

Show comment
Hide comment
@h-east

h-east Sep 19, 2017

Member
  • 左側のウィンドウでスクロールが発生したのに表示が更新されない。

これは私の手もとではmacOSでしか起きていないです。
(今手もとにないので確認出来ない。)

  • カレントウィンドウのステータスラインの背景色がMagentaにならない。

これはLinuxのCUI/GUIで最新(8.0.1127)でも起きています。

Member

h-east commented Sep 19, 2017

  • 左側のウィンドウでスクロールが発生したのに表示が更新されない。

これは私の手もとではmacOSでしか起きていないです。
(今手もとにないので確認出来ない。)

  • カレントウィンドウのステータスラインの背景色がMagentaにならない。

これはLinuxのCUI/GUIで最新(8.0.1127)でも起きています。

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 19, 2017

Member

Magenta の方は need_highlight_changed を退避してしまっていたのが原因なので、投げた方のパッチで直るかなと思うのですが、前者が再現しなくなってしまったのが良く分からない。。。

Member

mattn commented Sep 19, 2017

Magenta の方は need_highlight_changed を退避してしまっていたのが原因なので、投げた方のパッチで直るかなと思うのですが、前者が再現しなくなってしまったのが良く分からない。。。

@ichizok

This comment has been minimized.

Show comment
Hide comment
@ichizok

ichizok Sep 19, 2017

Member

以下で sg_gui_fg_name を free して文字列をコピーしていますが、環境とタイミング?によって free したアドレスと alloc したアドレスが同じだったり異なったりします。

https://github.com/vim/vim/blob/a8e93d6/src/syntax.c#L7976-L7980

                    vim_free(HL_TABLE()[idx].sg_gui_fg_name);
                    if (STRCMP(arg, "NONE") != 0)
                        HL_TABLE()[idx].sg_gui_fg_name = vim_strsave(arg);
                    else
                        HL_TABLE()[idx].sg_gui_fg_name = NULL;

異なる場合、以下で memcmp() != 0 となるので、if 節に入ると redraw_all_later 内で curwin->w_lines_valid = 0 となり、一方で must_redraw の値は save_must_redraw に戻るため、ウインドウが更新されないようです。

https://github.com/vim/vim/blob/a8e93d6/src/syntax.c#L8222-L8230

    if (memcmp(&HL_TABLE()[idx], &item_before, sizeof(item_before)) != 0
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
            && !did_highlight_changed
#endif
       )
    {
        redraw_all_later(NOT_VALID);
        need_highlight_changed = TRUE;
    }

その部分のstacktrace (Vim 8.0.1127 on macOS 10.12.6)

(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x000000010fe7623f vim`do_highlight(line="StatusLine cterm=NONE gui=NONE ctermfg=Black guifg=Black ctermbg=Magenta guibg=Magenta", forceit=0, init=0) at syntax.c:8222
    frame #1: 0x000000010fd0b7e8 vim`ex_highlight(eap=0x00007fff4ff7c1e0) at ex_docmd.c:7202
    frame #2: 0x000000010fcfdb66 vim`do_one_cmd(cmdlinep=0x00007fff4ff7c4c0, sourcing=1, cstack=0x00007fff4ff7c4f8, fgetline=(vim`get_func_line at userfunc.c:3257), cookie=0x00007fd0da81ee00) at ex_docmd.c:2908
    frame #3: 0x000000010fcf9e59 vim`do_cmdline(cmdline=0x0000000000000000, fgetline=(vim`get_func_line at userfunc.c:3257), cookie=0x00007fd0da81ee00, flags=7) at ex_docmd.c:1071
    frame #4: 0x000000010fea9e9a vim`call_user_func(fp=0x00007fd0d940e690, argcount=0, argvars=0x00007fff4ff7d3a0, rettv=0x00007fff4ff7db58, firstline=24, lastline=24, selfdict=0x0000000000000000) at userfunc.c:942
    frame #5: 0x000000010fea8902 vim`call_func(funcname="Sample()", len=6, rettv=0x00007fff4ff7db58, argcount_in=0, argvars_in=0x00007fff4ff7d3a0, argv_func=0x0000000000000000, firstline=24, lastline=24, doesrange=0x00007fff4ff7d5e4, evaluate=1, partial=0x0000000000000000, selfdict_in=0x0000000000000000) at userfunc.c:1427
    frame #6: 0x000000010fea818a vim`get_func_tv(name="Sample()", len=6, rettv=0x00007fff4ff7db58, arg=0x00007fff4ff7dae8, firstline=24, lastline=24, doesrange=0x00007fff4ff7d5e4, evaluate=1, partial=0x0000000000000000, selfdict=0x0000000000000000) at userfunc.c:455
    frame #7: 0x000000010fcc46ac vim`eval7(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1, want_string=0) at eval.c:4322
    frame #8: 0x000000010fcc3dbf vim`eval6(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1, want_string=0) at eval.c:3959
    frame #9: 0x000000010fcc383b vim`eval5(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3775
    frame #10: 0x000000010fcc2874 vim`eval4(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3474
    frame #11: 0x000000010fcc265a vim`eval3(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3391
    frame #12: 0x000000010fcb748a vim`eval2(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3323
    frame #13: 0x000000010fcb31a3 vim`eval1(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3251
    frame #14: 0x000000010fcb2cb4 vim`eval0(arg="Sample()", rettv=0x00007fff4ff7db58, nextcmd=0x00007fff4ff7de18, evaluate=1) at eval.c:3211
    frame #15: 0x000000010fcb33ed vim`eval_to_string(arg="Sample()", nextcmd=0x00007fff4ff7de18, convert=0) at eval.c:759
    frame #16: 0x000000010fcb35a1 vim`eval_to_string_safe(arg="Sample()", nextcmd=0x00007fff4ff7de18, use_sandbox=0) at eval.c:807
    frame #17: 0x000000010fc8b1c6 vim`build_stl_str_hl(wp=0x00007fd0db002c00, out="Sample()", outlen=1024, fmt="%{Sample()}", use_sandbox=0, fillchar=32, maxwidth=40, hltab=0x00007fff4ff7ed80, tabtab=0x00007fff4ff7e880) at buffer.c:4228
    frame #18: 0x000000010fe32b77 vim`win_redr_custom(wp=0x00007fd0db002c00, draw_ruler=0) at screen.c:7188
    frame #19: 0x000000010fe2bb3c vim`redraw_custom_statusline(wp=0x00007fd0db002c00) at screen.c:6984
    frame #20: 0x000000010fe2fcc8 vim`showruler(always=0) at screen.c:10798
    frame #21: 0x000000010feeea8d vim`main_loop(cmdwin=0, noexmode=0) at main.c:1284
    frame #22: 0x000000010feed3ee vim`vim_main2 at main.c:904
    frame #23: 0x000000010feeadc5 vim`main(argc=6, argv=0x00007fff4ff7f888) at main.c:415
    frame #24: 0x00007fffa5fbb235 libdyld.dylib`start + 1
    frame #25: 0x00007fffa5fbb235 libdyld.dylib`start + 1
Member

ichizok commented Sep 19, 2017

以下で sg_gui_fg_name を free して文字列をコピーしていますが、環境とタイミング?によって free したアドレスと alloc したアドレスが同じだったり異なったりします。

https://github.com/vim/vim/blob/a8e93d6/src/syntax.c#L7976-L7980

                    vim_free(HL_TABLE()[idx].sg_gui_fg_name);
                    if (STRCMP(arg, "NONE") != 0)
                        HL_TABLE()[idx].sg_gui_fg_name = vim_strsave(arg);
                    else
                        HL_TABLE()[idx].sg_gui_fg_name = NULL;

異なる場合、以下で memcmp() != 0 となるので、if 節に入ると redraw_all_later 内で curwin->w_lines_valid = 0 となり、一方で must_redraw の値は save_must_redraw に戻るため、ウインドウが更新されないようです。

https://github.com/vim/vim/blob/a8e93d6/src/syntax.c#L8222-L8230

    if (memcmp(&HL_TABLE()[idx], &item_before, sizeof(item_before)) != 0
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
            && !did_highlight_changed
#endif
       )
    {
        redraw_all_later(NOT_VALID);
        need_highlight_changed = TRUE;
    }

その部分のstacktrace (Vim 8.0.1127 on macOS 10.12.6)

(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x000000010fe7623f vim`do_highlight(line="StatusLine cterm=NONE gui=NONE ctermfg=Black guifg=Black ctermbg=Magenta guibg=Magenta", forceit=0, init=0) at syntax.c:8222
    frame #1: 0x000000010fd0b7e8 vim`ex_highlight(eap=0x00007fff4ff7c1e0) at ex_docmd.c:7202
    frame #2: 0x000000010fcfdb66 vim`do_one_cmd(cmdlinep=0x00007fff4ff7c4c0, sourcing=1, cstack=0x00007fff4ff7c4f8, fgetline=(vim`get_func_line at userfunc.c:3257), cookie=0x00007fd0da81ee00) at ex_docmd.c:2908
    frame #3: 0x000000010fcf9e59 vim`do_cmdline(cmdline=0x0000000000000000, fgetline=(vim`get_func_line at userfunc.c:3257), cookie=0x00007fd0da81ee00, flags=7) at ex_docmd.c:1071
    frame #4: 0x000000010fea9e9a vim`call_user_func(fp=0x00007fd0d940e690, argcount=0, argvars=0x00007fff4ff7d3a0, rettv=0x00007fff4ff7db58, firstline=24, lastline=24, selfdict=0x0000000000000000) at userfunc.c:942
    frame #5: 0x000000010fea8902 vim`call_func(funcname="Sample()", len=6, rettv=0x00007fff4ff7db58, argcount_in=0, argvars_in=0x00007fff4ff7d3a0, argv_func=0x0000000000000000, firstline=24, lastline=24, doesrange=0x00007fff4ff7d5e4, evaluate=1, partial=0x0000000000000000, selfdict_in=0x0000000000000000) at userfunc.c:1427
    frame #6: 0x000000010fea818a vim`get_func_tv(name="Sample()", len=6, rettv=0x00007fff4ff7db58, arg=0x00007fff4ff7dae8, firstline=24, lastline=24, doesrange=0x00007fff4ff7d5e4, evaluate=1, partial=0x0000000000000000, selfdict=0x0000000000000000) at userfunc.c:455
    frame #7: 0x000000010fcc46ac vim`eval7(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1, want_string=0) at eval.c:4322
    frame #8: 0x000000010fcc3dbf vim`eval6(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1, want_string=0) at eval.c:3959
    frame #9: 0x000000010fcc383b vim`eval5(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3775
    frame #10: 0x000000010fcc2874 vim`eval4(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3474
    frame #11: 0x000000010fcc265a vim`eval3(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3391
    frame #12: 0x000000010fcb748a vim`eval2(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3323
    frame #13: 0x000000010fcb31a3 vim`eval1(arg=0x00007fff4ff7dae8, rettv=0x00007fff4ff7db58, evaluate=1) at eval.c:3251
    frame #14: 0x000000010fcb2cb4 vim`eval0(arg="Sample()", rettv=0x00007fff4ff7db58, nextcmd=0x00007fff4ff7de18, evaluate=1) at eval.c:3211
    frame #15: 0x000000010fcb33ed vim`eval_to_string(arg="Sample()", nextcmd=0x00007fff4ff7de18, convert=0) at eval.c:759
    frame #16: 0x000000010fcb35a1 vim`eval_to_string_safe(arg="Sample()", nextcmd=0x00007fff4ff7de18, use_sandbox=0) at eval.c:807
    frame #17: 0x000000010fc8b1c6 vim`build_stl_str_hl(wp=0x00007fd0db002c00, out="Sample()", outlen=1024, fmt="%{Sample()}", use_sandbox=0, fillchar=32, maxwidth=40, hltab=0x00007fff4ff7ed80, tabtab=0x00007fff4ff7e880) at buffer.c:4228
    frame #18: 0x000000010fe32b77 vim`win_redr_custom(wp=0x00007fd0db002c00, draw_ruler=0) at screen.c:7188
    frame #19: 0x000000010fe2bb3c vim`redraw_custom_statusline(wp=0x00007fd0db002c00) at screen.c:6984
    frame #20: 0x000000010fe2fcc8 vim`showruler(always=0) at screen.c:10798
    frame #21: 0x000000010feeea8d vim`main_loop(cmdwin=0, noexmode=0) at main.c:1284
    frame #22: 0x000000010feed3ee vim`vim_main2 at main.c:904
    frame #23: 0x000000010feeadc5 vim`main(argc=6, argv=0x00007fff4ff7f888) at main.c:415
    frame #24: 0x00007fffa5fbb235 libdyld.dylib`start + 1
    frame #25: 0x00007fffa5fbb235 libdyld.dylib`start + 1
@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 19, 2017

Member

そこのケースだけでよければ free 後回しで解決できそう。

Member

mattn commented Sep 19, 2017

そこのケースだけでよければ free 後回しで解決できそう。

@ichizok

This comment has been minimized.

Show comment
Hide comment
@ichizok

ichizok Sep 19, 2017

Member

今回の場合 memcmp == 0 になるべきなので、文字列が同じ(STRCMP(HL_TABLE()[idx].sg_gui_fg_name, arg) == 0)なら free & alloc せずそのままにしておくか、あるいは memcmp でなく真面目に構造体を比較する(文字列フィールドは STRCMP で比較する)ことになると思います。

Member

ichizok commented Sep 19, 2017

今回の場合 memcmp == 0 になるべきなので、文字列が同じ(STRCMP(HL_TABLE()[idx].sg_gui_fg_name, arg) == 0)なら free & alloc せずそのままにしておくか、あるいは memcmp でなく真面目に構造体を比較する(文字列フィールドは STRCMP で比較する)ことになると思います。

@ichizok

This comment has been minimized.

Show comment
Hide comment
@ichizok

ichizok Sep 19, 2017

Member

いや、アドレス同じで中身違う場合もあるので真面目に比較しないとダメか。

Member

ichizok commented Sep 19, 2017

いや、アドレス同じで中身違う場合もあるので真面目に比較しないとダメか。

@ichizok

This comment has been minimized.

Show comment
Hide comment
@ichizok

ichizok Sep 19, 2017

Member

https://gist.github.com/ichizok/14c26966880fb7fd83f2a0b16c932b37

真面目に比較しなくても、この程度で十分ですね。
なので、スクロールの件については

  • 文字列が同じ場合は更新しない
  • free を後回しにする
  • must_redraw の退避をやめる

でよさそう。

Member

ichizok commented Sep 19, 2017

https://gist.github.com/ichizok/14c26966880fb7fd83f2a0b16c932b37

真面目に比較しなくても、この程度で十分ですね。
なので、スクロールの件については

  • 文字列が同じ場合は更新しない
  • free を後回しにする
  • must_redraw の退避をやめる

でよさそう。

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 19, 2017

Member

いいですね。

Member

mattn commented Sep 19, 2017

いいですね。

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 25, 2017

Member

ichizok さんが投げてくれたパッチ patch 8.0.1146 で直りました。

Member

mattn commented Sep 25, 2017

ichizok さんが投げてくれたパッチ patch 8.0.1146 で直りました。

@mattn mattn closed this Sep 25, 2017

@mattn mattn added the xlose/fixed label Sep 25, 2017

@h-east

This comment has been minimized.

Show comment
Hide comment
@h-east

h-east Sep 26, 2017

Member

Thanks to @ichizok and @mattn 🥇

Member

h-east commented Sep 26, 2017

Thanks to @ichizok and @mattn 🥇

@ichizok

This comment has been minimized.

Show comment
Hide comment
@ichizok

ichizok Sep 26, 2017

Member

いえ、まだ直ってないです、、
背景色の件もそうですが、以下のようにハイライトを変更すると表示が更新されません。

let s:s = 0
function! Sample()
  if s:s % 2 == 0
    highlight StatusLine cterm=NONE gui=NONE ctermfg=Black guifg=Black ctermbg=Magenta guibg=Magenta
  else
    highlight StatusLine cterm=NONE gui=NONE ctermfg=Black guifg=Black ctermbg=Cyan guibg=Cyan
  endif
  let s:s += 1
  return s:s
endfunction
set statusline=%{Sample()}
Member

ichizok commented Sep 26, 2017

いえ、まだ直ってないです、、
背景色の件もそうですが、以下のようにハイライトを変更すると表示が更新されません。

let s:s = 0
function! Sample()
  if s:s % 2 == 0
    highlight StatusLine cterm=NONE gui=NONE ctermfg=Black guifg=Black ctermbg=Magenta guibg=Magenta
  else
    highlight StatusLine cterm=NONE gui=NONE ctermfg=Black guifg=Black ctermbg=Cyan guibg=Cyan
  endif
  let s:s += 1
  return s:s
endfunction
set statusline=%{Sample()}

@ichizok ichizok reopened this Sep 26, 2017

@ichizok

This comment has been minimized.

Show comment
Hide comment
@ichizok

ichizok Sep 29, 2017

Member

vim/vim#2171
追加修正

Member

ichizok commented Sep 29, 2017

vim/vim#2171
追加修正

@ichizok

This comment has been minimized.

Show comment
Hide comment
@ichizok
Member

ichizok commented Sep 30, 2017

8.0.1164
vim/vim@65ed136

@ichizok ichizok closed this Sep 30, 2017

@KazuakiM

This comment has been minimized.

Show comment
Hide comment
@KazuakiM

KazuakiM Oct 5, 2017

h-eastさん、ichizokさん、 mattnさん
ありがとうございました。
本日MacVimにもパッチが取り込まれ修正されている事を確認しました。

KazuakiM commented Oct 5, 2017

h-eastさん、ichizokさん、 mattnさん
ありがとうございました。
本日MacVimにもパッチが取り込まれ修正されている事を確認しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment