※ ChatGPTを利用し、要約された質問です(原文:emacsでサブディレクトリもload-path に追加する方法)
emacsでサブディレクトリもload-pathに追加する方法
このQ&Aのポイント
Meadow3で使っていた拡張をLinuxのemacs-22.3で使える方法を探しています。
Meadow側のsite-lisp以下をLinuxのホームディレクトリに配置しましたが、サブディレクトリが認識されず、エラーが発生します。
ログインユーザのホームディレクトリに複数の階層構造のあるemacsの拡張ファイルを配置する方法を教えてください。
emacsでサブディレクトリもload-path に追加する方法
Meadow3 で使っていた拡張を Linux の emacs-22.3 で使えるものは流用
しようとして、失敗しました。
Meadow 側の site-lisp 以下を Linux のホームディレクトリに .lisp/myelisp と
いうフォルダをつくりました。
そして、.emacs に、(setq load-path (cons "~/.lisp/myelisp/" load-path))
と書きました。
~/.lisp/myelisp/ には、Meadow にあった、subdirs.el があるのですが、
サブディレクトリをロードパスとして認識できずに、emacs 起動時に、
サブディレクトリ以下にある .el ファイルを読み込めないというエラーが
発生します。
M-x describe-variable RET load-path RET でロードパスを確認すると、
load-path is a variable defined in `C source code'.Its value is
("~/.lisp/myelisp/" "/usr/share/emacs/22.3/site-lisp" "/usr/share/emacs/site-lisp"
"/usr/share/emacs/site-lisp/egg" "/usr/share/emacs/site-lisp/site-gentoo.d"
"/usr/share/emacs/site-lisp/tamago" "/usr/share/emacs/site-lisp/egg/egg"
以下省略
と表示されます。
"/usr/share/emacs/22.3/site-lisp" に Medow のsite-lisp 以下を置くとう
まく動くのですが、ログインユーザのホームディレクトリに、2階層以上の
階層構造のあるemacsの拡張ファイルを置くにはどうしたらよいのでしょう
か。
お礼
>ピリオドから始まるファイルは normal-top-level-add-subdirs-to-load-path でパスに追加されないんじゃなかったかな。 ディレクトリ名を.lispからmy-site-lispに変えることで解決しました。 ありがとうございました。