Skip to content
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

--term=mlterm オプション付きで起動した mlterm で Vim の背景が乱れる #697

Closed
msmhrt opened this issue Feb 2, 2015 · 7 comments

Comments

@msmhrt
Copy link

msmhrt commented Feb 2, 2015

【概要】
--term=mlterm オプション付きで起動した mlterm で Vim の背景が乱れる

【発生環境】
OS: Ubuntu 14.04.1 LTS (amd64)
Vim: 7.4.608
mltem: version 3.4.2 post/2015-02-01

【詳細】
mlterm はデフォルトでは TERM=xterm と申告し BCE を使えるのですが、--term=mlterm オプション付きで起動するか .mlterm/mainterm=mlterm を指定すると、TERM=mlterm を申告するようになり、BCE が使えなくなります。

しかし、Vim は TERM=mlterm を申告する端末が BCE を使えるとみなすために、結果として Vim の背景色が乱れてしまいます。

これは修正されるべきだろうというのが私の意見です。

【再現手順】
~/.mlterm をリネーム等で一時的に退避してから、mlterm --term=mlterm を起動して、vim -u NONE -U NONE -c "colorscheme blue" を実行すると、一行目の背景色が青になりません。

なお、mlterm を一度起動すると ~/.mlterm が作成されますので、元に戻す際はご注意ください。

@saitoha
Copy link
Member

saitoha commented Feb 2, 2015

以下がきのう@msmhrt さんとtwitterでやりとりしていて、出てきた修正案になります。

https://gist.github.com/saitoha/dd656291153a815e0a2b

  1. vim_is_xterm("mlterm") をFALSEにして、TERM=mlterm 時にxtermのビルトインcapsを使わなくする。
  2. use_xterm_like_mouse("mlterm") と use_xterm_mouse("mlterm") の返値をTRUEのままにするような修正を入れ、termresponseを使ったマウスプロトルの判定とttyfastオプションの自動設定がいままで通り効くようにする。

他の課題として、ktermも非bce端末なので、同様の修正を入れる必要があるはずです。
nxtermはよく知らないのですが、少なくともterminfo上は非bceです。

あと、このようにktermやmltermなどを特別扱いをするコードが、そもそもどのような経緯でvimに入ったのかを明らかにしておきたいので、どうにかして@seiichiさんに思い出して頂くとありがたいです。

@saitoha saitoha self-assigned this Feb 2, 2015
@msmhrt
Copy link
Author

msmhrt commented Feb 4, 2015

@saitoha さんの patch で背景色が( #617 の右下隅が欠ける問題を除いて)正しく表示されることを確認しました。

@saitoha
Copy link
Member

saitoha commented Mar 21, 2015

問題無ければ、先のパッチでいこうと思います。
bceを想定したvimの挙動はbce端末に対しても互換性があるはずなので、非bce側に倒しておくのが無難かと思います。

@msmhrt
Copy link
Author

msmhrt commented Mar 21, 2015

念のため、

  • ~/.mlterm/termcapmlterm.ti を無理やり編集して TERM=mlterm でも bce 端末になるようにした mlterm
  • 先のパッチをあてた Vim

の組み合わせで試してみましたが、パッチをあてない Vim と比較して、

  • 起動している最中、編集画面が表示される前にエラー等で入力待ちになった場合にメッセージ部分以外の背景色が変わらない

という差分以外に目で見て分かるような違いはありませんでしたし、この差分についても問題視する必要はないと思われます。

@saitoha
Copy link
Member

saitoha commented Jun 18, 2016

すみません、閉じ忘れです。パッチを投げていて入っていたので閉じます。
https://groups.google.com/forum/#!topic/vim_dev/fYM-GAhmPg8
http://ftp.vim.org/vim/patches/7.4/7.4.627

@msmhrt
Copy link
Author

msmhrt commented Jun 18, 2016

私もすっかり忘れてました。
ありがとうございました。m(__)m

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

No branches or pull requests

4 participants