HomeBrewをupgradeしたらDDSKKが動かなくなった(macOS/Monterey)
状況
きっかけ
HomeBrewを最新にするために以下の作業をした。
% brew update
% brew upgrade
そうすると、インストール済みのフォーミュラ(パッケージのことかな)が 最新になる。
今回は、Emacs28 のソースコードがインストールされ、コンパイルされた。
そのあと、Emacsを起動すると、以下のようなエラーが出た。
Warning (initialization): An error occured while loading
‘/Users/(username)/.emacs.d/init.el’:File is missing: Cannot open load file, No suthch file or directory,
skk-autoloadsTo ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.
Start Emacs with the ‘–debug-init’ option to view a complete error
backtrace.
init.elの記述
init.el の DDSKK の部分は、以下の記述となっている。
;;;-----------------------------------------------------
;;; DDSKK
;;;
(setq load-path (cons "/opt/homebrew/Cellar/emacs-mac/emacs-28.1-mac-9.0/share/emacs/site-lisp/skk" load-path))
(setq Info-default-directory-list
(cons "/opt/homebrew/Cellar/emacs-mac/emacs-28.1-mac-9.0/share/info" Info-default-directory-list))
(require 'skk-autoloads)
;(setq default-input-method "japanese-skk")
(global-set-key "\C-x\C-j" 'skk-mode)
(global-set-key "\C-xj" 'skk-auto-fill-mode)
(global-set-key "\C-xt" 'skk-tutorial)
やった事
ネットで調べみると、skk-autoloads.elは、コンパイル時に自動的に生成 されるものであるらしい。
ということは、DDSKKをもう一度コンパイルすればいいかも。
ということで、DDSKKをコンパイルしなおすことにした。
DDSKKの再コンパイル
DDSKKをインストールした時の DDSKKのディレクトリがあったので、 Emacsの diredモード(C-x d) で DDSKKディレクトリの中の Skk-MK というファイルの上にカーソルをのせて、
L とキー入力する。すると、インストールが始まる。
いくつか尋ねられる。
/opt/homebrew/Cellar/emacs-mac/emacs-28.2-mac-9.1/share/emacs/site-lisp/ に skk ディレクトリを作成してもいい?
/opt/homebrew/Cellar/emacs-mac/emacs-28.2-mac-9.1/share/ に info ディレクトリを作成してもいい?
みんな yes と答えたが、この時点で なるほど、そういうことか と 感じた。
で、DDSKKのインストールが終わると、以下のようなメッセージが出力された。
load-path の設定
----------------
次のとおり 変数 load-path を設定してください。既にパスが通っているならば
不要です。
(setq load-path (cons "/opt/homebrew/Cellar/emacs-mac/emacs-28.2-mac-9.1/share/emacs/site-lisp/skk" load-path))
info ディレクトリの設定
-----------------------
次のとおり 変数 Info-default-directory-list を設定してください。既にパス
が通っているならば不要です。
(setq Info-default-directory-list
(cons "/opt/homebrew/Cellar/emacs-mac/emacs-28.2-mac-9.1/share/info" Info-default-directory-list))
load-path の修正
要するに、DDSKKをコンパイルしたので、それを /opt/homebrew/…/emacs-28.2-mac-9.1/…/skk に入れたよ。
load-path に加えておいてね。
ということだった。
brew upgrade で Emacsが最新版になったので、その site-lisp の置き場所の 名前が変ったのだった。
ということで、load-path を修正して、ちゃんと DDSKK は使えるようになった。
疑問点
ということは、Emacsが最新版になって、コンパイルしなおす度に、 DDSKK を再コンパイルしなくてはならないってこと?
というよりか、コンパイル済みの ddSKKファイルを /opt/homebrew/…/emacs-28.2-mac-9.1/…/skk に入れるんじゃなくて、 ~/.emacs.d/skk/ とかのディレクトリに入れればいいのでは?
今度やってみよう。
参考
windows10のemacsにDDSKKをインストールする(Macもこれで)
カテゴリー: MacOS, memo
タグ: DDSKK, HomeBrew, MacOS, Monterey
カウント: 218