GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/User-Lisp-Directory.html ・ emacs-doc.conao3.com

51.4.7 ユーザーLispディレクトリ

user-lisp-directory で指定されるディレクトリ(デフォルトは ~/.config/emacs/user-lisp/ または ~/.emacs.d/user-lisp/)が存在する場合、Emacs は起動時にそのディレクトリ内の Lisp ファイルをセッションで使用できるよう準備します。具体的には、Emacs は以下の処理を行います:

User Lisp ディレクトリは、init ファイルの読み込み前に処理されます(Emacs 初期化ファイルを参照)。したがって、以下で説明するユーザーオプションのカスタマイズを反映させるには、初期 init ファイル(初期 init ファイルを参照)で設定を行う必要があります。

デフォルトでは、Emacsはサブディレクトリ内も含め、user-lisp-directory配下のすべてのLispファイルを対象とします。user-lisp-ignored-directoriesをカスタマイズすることで、特定のサブディレクトリへの再帰処理を防ぐことができます。user-lisp-auto-scrapeをnilにカスタマイズすれば、起動時のスクレイピングを完全に無効化できます。また、Emacsが起動時に自動的にLispファイルを準備する方法に加えて、prepare-user-lispコマンドを使用して手動で準備を実行することも可能です。

User Lispディレクトリ内のLispファイルの内容が変更された場合、Emacsは自動的に再コンパイルを行いますが、Emacsが自動検出できない理由で再コンパイルが必要になることもあります。こうした問題の大部分(すべてではありませんが)を把握するための有効な目安は、Emacsの新リリースにアップグレードするたびに、強制的に再コンパイルを行うことです。新しいバージョンのEmacsを起動し、C-u M-x prepare-user-lispと入力してから、終了して再度Emacsを起動してください。

User Lispディレクトリは、パッケージのインストール(Emacs Lispパッケージを参照)よりもシンプルな仕組みです。特に、User Lispディレクトリ内のファイルに対する自動的な依存関係の解決やアップグレード機能はなく、パッケージドキュメントの作成・登録を行うための機能も備わっていません。つまり、通常、User Lispディレクトリは自分だけのために書いたコードに最適です。ただし、サードパーティ製パッケージや、自身で管理している公開パッケージにUser Lispディレクトリを利用することも可能です。