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の拡張ファイルを置くにはどうしたらよいのでしょう か。

質問者が選んだベストアンサー

  • ベストアンサー
  • koko_u_u
  • ベストアンサー率18% (216/1139)
回答No.1

よく知らんけど、ピリオドから始まるファイルは normal-top-level-add-subdirs-to-load-path で パスに追加されないんじゃなかったかな。 適当に (normal-top-level-add-subdirs-to-load-path) とだけ書いた private-path.el を作って .emacs に (load-file "~/lisp/private-path.el") とでもしておけばいいのでは?

LinTaro3
質問者

お礼

>ピリオドから始まるファイルは normal-top-level-add-subdirs-to-load-path でパスに追加されないんじゃなかったかな。 ディレクトリ名を.lispからmy-site-lispに変えることで解決しました。 ありがとうございました。

関連するQ&A

  • XEmacsにnxml-modeをインストールしたい

    RedHat9を使っています。 James Clark氏のnxml-modeを落してきて、使おうとしたのですが、Linuxは初心者で、XEmacsのモジュール追加(?)の方法が良く分りません。 とりあえず、 1: nxml-mode-20030915.tar.gzを落し、 2: 解凍し、/usr/share/xemacs/xemacs-packages/lispにコピー。 3: ~/.xemacs/custom.elに以下を追加。 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; for nXML ;; (setq load-path (append '("/usr/share/xemacs/xemacs-packages/lisp/nxml-mode-20030915") load-path)) (load "/usr/share/xemacs/xemacs-packages/lisp/nxml-mode-20030915/rng-auto.el") (setq auto-mode-alist (cons '("\\.\\(xml\\|xsl\\|rng\\|xhtml\\)\\'" . nxml-mode) auto-mode-alist)) 4: XEmacsを起動すると、以下のメッセージ。 FSF GNU Emacs version 21 or later required xemacs --versionでは、以下のようにでますので、バージョンはOKだと思いますが。 XEmacs 21.4 (patch 12) "Portable Code" [Lucid] (i386-redhat-linux, Mule) of Thu Feb 20 2003 on porky.devel.redhat.com 何かヒントをお持ちの方、ご教授いただけないでしょうか?

  • Meadowで.emacsを呼んでくれない。

    Meadowで軌道時に.emacsを呼んでくれないので毎回"M-x load-file .emacs"してます。 インストール時に設定したディレクトリや、cygwinでのホームディレクトリからは呼んでくれません。ホームがどう設定されているか調べるために、ファイルのオープンで"~/"で補間してみると、Meadow/1.14/bin/になってました。ここにも.emacsをおいたのですがそれでもダメです。どうすればよいでしょうか?

  • emacs trrのインストール時のエラー

    macbookを使っていて、emacsにtrrをインストールしようとしていろいろなホームページを参考にやってみたのですが、起動はするところまでできたのですが、テキストが読み込めません。 テキスト選択画面からテキストを選ぶと、 TRR:initiate-files: Opening input file: no such file or directory, /usr/share/emacs/site-lisp/trr/text/Constitution_of_the_USA.formed 以下の様なエラーが出ます。 どうやったらテキストを読み込めるのでしょうか?

    • 締切済み
    • Mac
  • Emacs-Lispモードで、式が返す値を全て表示

    こんにちは。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 Emacs-Lispモードで、バッファに記述されている式を評価した時、その式が返す値が、ミニバッファに出力されます。 ところが、式が返す値が長すぎると、途中までしか表示されません。 例えば自分の環境だと、 (symbol-value 'load-path) という式を評価すると、ミニバッファには (nil "~" "~/My_Lisp_Programs" "c:/Emacs_for_Windows/emacs-23.4" "C:/Emacs_for_Windows/emacs-23.4/site-lisp" "C:/Emacs_for_Windows/emacs-23.4/../site-lisp" "C:/Emacs_for_Windows/emacs-23.4/lisp" "c:/Emacs_for_Windows/emacs-23.4/lisp/url" "c:/Emacs_for_Windows/emacs-23.4/lisp/textmodes" "c:/Emacs_for_Windows/emacs-23.4/lisp/progmodes" "c:/Emacs_for_Windows/emacs-23.4/lisp/play" "c:/Emacs_for_Windows/emacs-23.4/lisp/org" ...) という文字列が出力され、...以降が表示されません。 どうすれば、Emacs-Lispモードで、式が返す値を全て表示する事ができるのでしょうか? 何か御存じの方がいらっしゃれば、是非、情報を提供して頂きたく思います。 では、よろしくお願い致します。

  • Emacs上で動かせるWebkitの設定について

    Emacsに関して初心者レベルなのですがお願いします。 http://www.emacswiki.org/emacs/WebKit 上記のページにEmacs上でWebkitを動かせる方法が記してあるので挑戦してみました。 まずDebian GNU/Linux 8.1をクリーンインストールした環境を準備。(apt-get upgradeも適用しました) はじめに「How to install it?」項目の一行目、”Emacs-webkit is based on PyQt5/PythonXlib/PythonEPC , so you need to install all these libraries to run emacs-webkit.”ということで、PyQt5、PythonXlib、PythonEPCを下記の手順でインストールしました。 PyQt5のインストール: $ sudo apt-get install qt5-default qttools5-dev-tools PythonXlibのインストール: $ sudo apt-get install python-xlib PythonEPCのインストール $ sudo apt-get install python-pip $ sudo pip install epc 次に「How to install it?」項目の二行目ですが、”Then download the emacs-webkit source code from github and put webkit.el in your load-path.”ということで、リンク先のgithubサイトから7つのファイルをダウンロードして、~/webkit/というディレクトリに保存したところまではできたのですが、”and put webkit.el in your load-path.”から先がよく分かりません。 ”load-pathが指定されてるところにwebkit.elを配置しろ”という意味だと思いましたので、~/.emacs.d/init.elに(add-to-list 'load-path "~/webkit/")と記し、「How to install it?」項目の三行目”After loading it, enjoy your browsing with M-x webkit-open-url.”に従ってEmacsを再起動後、M-x webkit-open-urlとしましたが[No match]となります。 ネットで検索したところ下記のようなページがありましたので、 (http://stackoverflow.com/questions/30460229/webkit-on-emacs-does-not-found-python-epc) 参考にして~/.emacs.d/init.elには次のように記しました。 (add-to-list 'load-path "~/webkit/") (require 'epc) (load "webkit.el") ただ、このページはエラーの相談ですので当然ですが、”File error: Cannot open load file, epc”となり先に進めません。 状況としては以上です。 どなたか良いアドバイスをお願いいたします。よろしくどうぞ。

  • emacs23でnavi2chのconfigure

    macportsでemacs23をインストールし、navi2chをconfigureしようとするのですが、以下のようになり、うまくできません。 checking whether to enable maintainer-specific portions of Makefiles... noが原因ではないかと思うのですが、何かpackageが不足しているのでしょうか? 分かる方教えていただけたら嬉しいです。 osはMAC OS X 1.7 Lionです。 $ sudo ./configure EMACS=/Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs --with-lispdir=~/.emacs.d/navi2ch checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for emacs... /Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs checking where .elc files should go... ~/.emacs.d/navi2ch checking detecting your emacs type... Loading /opt/local/share/emacs/site-lisp/subdirs.el (source)... emacs21 checking where icon files should go... Loading /opt/local/share/emacs/site-lisp/subdirs.el (source)... /Applications/MacPorts/Emacs.app/Contents/Resources/etc/navi2ch/icons configure: creating ./config.status config.status: creating Makefile config.status: creating contrib/Makefile config.status: creating doc/Makefile config.status: creating icons/Makefile config.status: creating navi2ch-config.el

    • ベストアンサー
    • Mac
  • ~/.bashrcを間違えて保存してしまいました

    linux初心者です。ubuntu使ってます。 あるソフトをインストールしている最中だったんですが、 suになった後、PATHを通そうと ~/.bashrcに export PATH=/usr/local/○○:$PATH と書こうとしたところ、 export PATH=/usr/local/○○:$PAT としてしまい、そのまま保存してsource .bashrcと打ってしまいました。 その後emacsもlsも、コマンドがうてなくなり、 bash: emacs: command not found と出てしまいます。 どうすれば戻せますでしょうか? お願いします。

  • emacsでnavi2chを使うには

    久しぶりに手動でnavi2chをインストしてみたんですが emacsでnavi2chとやってもできません w3mの時は (setq exec-path (append (list "/usr/local/bin" "/sw/bin" "/usr/bin")exec-path)) (setenv "PATH" (concat '"/usr/local/bin:/sw/bin:" (getenv "PATH"))) (require 'w3m-load) でやったらw3mがちゃんと読み込まれるんですが 2chnaviの場合どうすればいいのでしょう インストールほ保存先は決めないでインストールしました どなたかcarbonemacs+emacsで2chnaviが起動するまでを教えてください!

  • /usr/local

    mv でファイルを移動していた所、/usr/local/www/dataの下に、どうやら/usr/local/以下にshareというディレクトリができており、その中に/usr/local内のディレクトリやファイルが移動していました。 とりあえず、すべて/usr/localに戻して解るやつだけ移動したのですが、以下の分がどうしてもわかりません。 /usr/local --------------------------- analog apache2 autoconf bin cvsup ddclient dict doc emacs empty etc examples ezm3 gettext include info java lib libdata libexec libtool13 libtool15 locale man misc nls openssl private sbin sgml share skel swat www xml zsh --------------------------- どのディレクトリが本来どこに無いといけないのかわかりません。 わかる方いましたら、よろしくお願いします。

  • CentOS5にvmware-toolsのインストール

    vmwareにCentOSでデスクトップ環境を作っています。ホストとゲスト間のコピー&ペーストがしたいのですが、vmware-toolsのインストールで困っています。 環境は以下の通りです。 Host OS:Windows XP + VMware5.5.1 Guest OS:CentOS 5および5.1 vmware-toolsをインストールする際にkernel-headerの要求で詰まってしまいます。ネットで調べると定番の問題のようでkernel-source またはkernel-develのインストールでよいとのことで、確認すると既にインストールされています。しかしdefaultで聞かれる[/usr/src/linux/include] は存在しません。 現在のカーネルのバージョンは > uname -a Linux hostname 2.6.18-53.1.4.el5 #1 SMP Fri Nov 30 00:45:16 EST 2007 i686 i686 i386 GNU/Linux となっており、この番号を元に検索すると以下のディレクトリがありました > find / -name 2.6.18-53* -print /usr/src/kernels/2.6.18-53.1.4.el5-i686 /lib/modules/2.6.18-53.1.4.el5 そこでこれらをpathに与えてみました。defaultのpathにリンクを張っても見ましたが What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] /lib/modules/2.6.18-53.1.4.el5/build/include The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match your running kernel (version 2.6.18-53.1.4.el5). Even if the module were to compile successfully, it would not load into the running kernel. What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] となり堂々巡りです。 インストールの方法は、rpmとtarball両方試しました。 ネット上では皆さんkernel-develをいれて解決されている用なのですが、いったい何が間違っているのでしょうか?