[vim/vim] Fix that multibyte characters might be broken in :terminal on Cygwin (PR #11063)

12 views
Skip to first unread message

K.Takata

unread,
Sep 5, 2022, 10:41:24 PM9/5/22
to vim/vim, Subscribed

(Originally reported at vim-jp/issues#1394)

When the following script is executed in Cygwin Vim's :terminal,
Japanese characters might be broken:

#!/bin/sh



for i in $(seq 0 999); do

    echo -n " $i 日本語"

done

Example result:

% ./test.sh

 0 日本語 1 日本語 2 日本語 3 日本語 4 日本語 5 日本語 6 日本語 7 日本語 8 日本

語 9 日本語 10 日本語 11 日本語 12 日本語 13 日本語 14 日本語 15 日本語 16 日本

語 17 日本語 18 日本語 19 日本語 20 �本語 21 日本語 22 日本語 23 日本語 24 日本

#                                   ^^



#                                    (snip)

MAXMSGSIZE is defined as 4096, but Cygwin's sock_read() may return
only 256 bytes at most. So, the following if-block in channel_read()
breaks the loop too early:

	if (len < MAXMSGSIZE)

	    break;	// did read everything that's available

However, just removing this block causes infinite loop in the
Test_pipe_io_one_buffer() test, because write fds are always ready. To
avoid it, write fds should be set only when there are any remaining data
to be written.


You can view, comment on, or merge this pull request online at:

  https://github.com/vim/vim/pull/11063

Commit Summary

  • 8e432c1 Fix that multibyte characters might be broken in terminal

File Changes

(1 file)

Patch Links:


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11063@github.com>

codecov[bot]

unread,
Sep 5, 2022, 10:49:57 PM9/5/22
to vim/vim, Subscribed

Codecov Report

Merging #11063 (8e432c1) into master (e53a0d4) will decrease coverage by 0.60%.
The diff coverage is 92.30%.

@@            Coverage Diff             @@

##           master   #11063      +/-   ##

==========================================

- Coverage   81.73%   81.13%   -0.61%     

==========================================

  Files         162      152      -10     

  Lines      188064   177914   -10150     

  Branches    42798    40399    -2399     

==========================================

- Hits       153723   144348    -9375     

+ Misses      21834    20920     -914     

- Partials    12507    12646     +139     
Flag Coverage Δ
huge-clang-none 82.67% <92.30%> (+<0.01%) ⬆️
huge-gcc-none ?
huge-gcc-testgui ?
huge-gcc-unittests 0.29% <0.00%> (-0.01%) ⬇️
linux 81.13% <92.30%> (-1.32%) ⬇️
mingw-x64-HUGE ?
mingw-x64-HUGE-gui ?
windows ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/channel.c 83.16% <92.30%> (-0.72%) ⬇️
src/if_perl.xs 54.85% <0.00%> (-17.93%) ⬇️
src/regexp_nfa.c 80.60% <0.00%> (-9.07%) ⬇️
src/arabic.c 85.86% <0.00%> (-8.70%) ⬇️
src/typval.c 84.92% <0.00%> (-8.35%) ⬇️
src/vim9execute.c 83.97% <0.00%> (-7.44%) ⬇️
src/regexp_bt.c 78.43% <0.00%> (-7.44%) ⬇️
src/json.c 77.74% <0.00%> (-5.49%) ⬇️
src/vim9instr.c 77.17% <0.00%> (-5.14%) ⬇️
src/vim9compile.c 87.29% <0.00%> (-4.85%) ⬇️
... and 135 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11063/c1237600873@github.com>

Bram Moolenaar

unread,
Sep 6, 2022, 6:27:44 AM9/6/22
to vim/vim, Subscribed

Closed #11063 via 5903aaf.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11063/issue_event/7329117772@github.com>

Reply all
Reply to author
Forward
0 new messages