ネット非接続状態でEmacs起動時にEmacsWikiへの通信がエラーになってしまう問題が解決した
以前から気になっていたのですが、インターネットへ接続していない状態でEmacsを起動するとエラーが発生してしまい、.emacsの読み込みが中途半端な状態になってしまう現象がありました。
これは、パッケージインストールツールのauto-installにて、起動時に EmacsWiki に掲載されているパッケージ名を読み込むために呼び出している auto-install-update-emacswiki-package-name
が、EmacsWikiへのとの接続を確立できないためにエラーになっているようでした。
ネットワークが繋がっていないときということで、頻繁に起きるものでもないこともあって放置していたのですが、ふと気になってきて調べて始めたところ、以下のツイートを見つけました。
@rubikitch auto-installの
(auto-install-update-emacswiki-package-name t)
がEmacsWikiが落ちているとフリーズするようです。、
— Kazuki Yoshida (@kaz_yos) 2013, 3月 5
auto-installのメンテナをされている@rubikitch氏とやりとりで、このツイートへのリプライの中で、
というものがありました。
私の環境にはHomebrewでwgetを導入してはいるのですが、もしかしたらそれがうまく検出されていないのかもしれない、と思い、明示的にwgetを使うように auto-install-use-wget
を t
に設定してみたところ、ネットワークが切断された状態でもエラーにならず、Emacsが起動してくれました。
(when (require 'auto-install nil t) (setq auto-install-use-wget t) ; <-- 入れた (auto-install-update-emacswiki-package-name t) (auto-install-compatibility-setup) )
ただ、環境によっては、逆にwgetを使っていることで?フリーズしてしまうケースなどもあったようなので、一概にこの設定で良いかはわかりません。
たまに外で作業している場合などでネットの接続状態が悪いと、この問題でEmacsが不完全に起動してしまい、 (auto-install-update-emacswiki-package-name t)
部分をコメントアウトして起動しなおしていたりしたのですが、これで気にしなくてもよくなりそう。
環境
項目 | バージョン | 備考 |
---|---|---|
OS | Mac OS X 10.10.5 | - |
Emacs | 24.5.1 | Homebrew版 |
auto-install | 1.58 | - |
wget | 1.16.3 | Homebrew版 |
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
- 作者: るびきち,佐々木拓郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/08/25
- メディア: 大型本
- この商品を含むブログ (8件) を見る