Elispのエラーを久しぶりにデバッグした

いつからか、goplsの起動時にいつも以下のようなエラーがでて、定義ジャンプができなくなってしまっていました。プライベートのMacBookでは発生していませんでした。

(file-error "Opening directory" "Permission denied" "//.PKInstallSandboxManager-SystemSoftware").

直近だと業務でGoをガッツリ書くことがなかったので放置していたのですが、ふと業務でGoのOSSをいじることになりイラッときたので原因を特定することに(遅い)。

まずおもむろに以下を .emacs.d の適当なところに記載して、backtraceを得られるようにします。

(setq debug-on-error t)

で、Goなファイルを開くと上述したエラーがでてbacktraceつらつらとでてきました。

/.PKInstallSandboxManager-SystemSoftware がルートにあるディレクトリということから lsp--directory-files-recursively がアヤシイとにらんで軽くコードを確認してfmfmとなったあとに検索。

で、ビンゴ

github.com

以下のコマンドで / を削除しました。

M-x lsp-workspace-folders-remove

おそらく何かの拍子に /ワークスペースだと認識されてしまったんだろうなーと推測。

終わり。