2008年2月 7日

[ruby-list:44581] Re: [Q] el4rに対して(デフォールト以外の)スクリプトの位置を指定する方法

From: "ITSUMI ken-ichi" <itsumi.ml@xxxxx>
Subject: [ruby-list:44566] Re: [Q] el4r に対して(デフォールト以外の)スクリプトの位置を指定する方法
Date: Mon, 4 Feb 2008 21:33:53 +0900

るびきちです。

> 圧縮したものを添付致しました。一部下に抜粋致します
>

> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> @stdlib_dir = "/usr/lib/ruby/1.8/el4r/emacsruby"
> @site_dir = "/usr/local/lib/site_ruby/1.8/el4r/emacsruby"
> @autoload_dir = "/usr/lib/ruby/1.8/el4r/emacsruby/autoload"
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(snip)
> BloggerPost のインストーラがデフォでインストールする先は、小生の環境で
> は、/usr/local/lib/site_ruby/1.8 以下です。/usr/local/lib/ruby/site_ruby
> の方がよろしいのでしょうか?

Debian GNU/Linuxならばこうなっています。

> それと、~/.el4rrc.rb は手で書換えちゃってもいいんでしょうか?

# End of the el4r block.
# User-setting area is below this line.
の下がユーザー設定エリアです。

ユーザー設定エリアで変数をオーバーライドすればよいです。
ユーザー設定エリアより上の「el4r block」内を書き換えた場合、
el4rの新バージョンをインストールしたときに設定が戻ってしまいます。

新バージョンでもしかしたらディレクトリ配置を変更するかもしれないので、
このような仕組みをとっています。

> 1) EmacsRubyスクリプトを置くディレクトリはどこなのですか

このようになっています。

# 個人用
@home_dir = ENV['EL4R_HOME'] || File.expand_path("~/.el4r")
# システムワイド
@stdlib_dir = "/usr/lib/ruby/1.8/el4r/emacsruby"
# システムワイド(パッケージ外)
@site_dir = "/usr/local/lib/site_ruby/1.8/el4r/emacsruby"
@el4r_load_path = [ @home_dir, @site_dir, @stdlib_dir, "." ]

> 2) 環境変数 EL4R_HOME でディレクトリを指定する場合、
> 指定できるのは単一のディレクトリなのでしょうか、複数可でしょうか

現在のところ単一のディレクトリのみです。

> el4r が見るのは、その直下だけなのでしょうか、サブディレクトリも
> サーチしてくれるのでしょうか

デフォルトではその直下のみです。
たとえばユーザー設定エリアで以下のように設定すればサブディレクトリhogeも探索します。
@el4r_load_path = [ @home_dir, "#{@home_dir}/hoge", @site_dir, @stdlib_dir, "." ]

> 2) オートロードするスクリプトの置場は一箇所だけなのでしょうか?

現在のところ一箇所だけです。

----
結論は…
mv /usr/local/lib/site_ruby/1.8/el4r/emacsruby/autoload/50bloggerpost.rb /usr/lib/ruby/1.8/el4r/emacsruby/autoload
すれば動作するはずです。

# うーん、autoloadのディレクトリを複数可にしとくべきですね。

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/

投稿者 xml-rpc : 2008年2月 7日 01:13
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/69534
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。