Help us understand the problem. What is going on with this article?

Tera Term経由でemacsを使う場合に行がずれる問題

Tera Term経由でemacsを使っていると、ミニバッファのリサイズが起きて行方向の表示が崩れることがある。
たとえば、通常はこのように見えているのだけど…
normal.PNG
何かの拍子にこんな感じになってしまう。
abnormal.PNG
ちなみに上記は、4行めでFlycheckの警告が出ている import にカーソルを移動した結果、「Data.Textimportしているけどコード中では使われてないよ」というメッセージがミニバッファに表示されて、emacsがとち狂った様子。カーソル位置にはmainという文字列があるように見えるし、左端の行数表示も6を指しているが、実際にはここは1枚目のキャプチャにおける4行めの先頭であり、importがある。

考えられる原因は以下のような感じだろう。

  • Tera TermのTermTypeと、サーバ側の環境変数TERMは一致しているか?
  • Tera TermのTerminalSizeと、サーバ側のttyが認識している画面の高さ(stty -aの結果)と、emacsが認識している画面の高さ((display-pixel-height)の評価結果)はすべて一致しているか?

しかし、それぞれ調べてみても何も問題がないので、仕方なく「emacsのミニバッファの高さが変わらない」ように設定した(つまり、高さの最大値を1にした)。

(setq max-mini-window-height 1)

これにより、ミニバッファのリサイズが原因で行がずれ、それにより表示が崩れることは回避できた。ちなみに、Flycheckはデフォルトではミニバッファに表示しきれない情報がある場合に新しいバッファを作るようだが、これだと行が崩れることはないので、やはり何らかの理由でミニバッファの高さ情報をうまく処理できていないらしい。
renormal.PNG

この回避方法だと、当然、ミニバッファのリサイズ以外の原因で起こる行ズレには耐えられない。Tera Termとemacsの間で根本的に何が起きているのか知っている方がいたら教えてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした