LoginSignup
1
0

More than 1 year has passed since last update.

Emacs 28のno window systemモード(-nw)で下線が大量に表示される問題への対処法

Last updated at Posted at 2023-01-23

TL;DR

  • 問題: GNU Screen内でGNU Emacs 28でnwすると下線が沢山出現。
  • 解決法: .screenrcsetenv COLORTERM "" を追加。

環境

  • MacBook Pro (13-inch, M1, 2020)
  • macOS Big Sur 11.7.2
  • iTERM2 3.4.4
  • GNU Screen 4.08.00
  • GNU Emacs 28.1 or 28.2 (27.2は問題なし)
  • Emacs呼び出し: emacs -nw # --no-window-system

問題の現象

GNU Screen内で emacs -nw すると以下のようにイレギュラーな下線が入ってしまう。
問題の現象
GNU Screen内で呼び出す場合だけが問題で、ターミナルから直接起動する場合は正常に動作。

参考: 正常な場合。
正常時

試行錯誤

  1. brewでEmacs 28.2をインストール => 問題発生
  2. 自分でコンパイルしたEmacs 27.2 => 正常に動作
  3. 自分でコンパイルしたEmacs 28.1と28.2 => 問題発生

コンパイル時コマンド(GUIなし):

$ ./configure --prefix=$HOME/Src/ --without-pop --without-kerberos --without-sound --without-wide-int --without-xpm --without-jpeg --without-tiff --without-gif --without-png --without-rsvg --without-xml2 --without-imagemagick --without-xft --without-libotf --without-m17n-flt --without-xaw3d --without-xim --without-ns --without-gpm --without-dbus --without-gconf --without-gsettings --without-selinux --without-gnutls --without-x
$ make && make install

解決

以下の議論で解決策を発見。
https://www.reddit.com/r/emacs/comments/y9b8cd/emacs_running_under_screen_on_a_mac_going/

環境変数 COLORTERM の設定が問題らしい。
ちなみに自分の環境だと以下のような状態。

$ echo $TERM
xterm-256color # GNU Screenなし
$ echo $TERM
screen-bce # GNU Screenあり
$ echo COLORTERM
truecolor # GNU Screenの有無を問わず

記事の最後にあるように ~/.screenrc に以下の設定をすると正常に動作する。

setenv COLORTERM ""

なお、OS付属のterminal.appだと COLORTERM は設定されていないので問題は発生しない。
記事にあるようにtmuxでも問題ないらしい。
GNU Screen + Emacsという組み合わせはそんなに珍しいのだろうか。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0