2006年4月14日

[ruby-list:42026] Re: [問題解決御礼] was: [Q]debian etchで el4rが動きません

From: "ITSUMI ken-ichi" <itsumi.ml@xxxxx>
Subject: [ruby-list:42025] Re: [問題解決御礼] was: [Q]debian etch で el4r が動きません
Date: Fri, 14 Apr 2006 19:45:23 +0900

> > このままではEmacsRubyプログラムをソースからインストールすると動作しません。
> > とりあえず、@el4r_load_pathを以下のように書き換えて逃げてください。
> > @el4r_load_path = [ @home_dir, @site_dir, "/usr/local/lib/site_ruby/1.8/el4r/emacsruby", @stdlib_dir, "." ]
> > --

>
> ここの意味が僕にはよく判りません。
まず、EmacsRubyプログラムというのは、el4rアプリケーションのことです。
現在のところlanghelpとgonzui for emacsを公開しています。
両方とも同じ場所にてdebianizeされています。
近い将来もう少し増える予定です。

今EmacsRubyプログラムをインストールするには2つの方法があります。
* ソースからsetup.rbを使う方法
* apt-get installする方法

debianのものを使うと /usr/lib/ruby/el4r 以下にインストールされますが、
ソースからだと /usr/local/lib/site_ruby/1.8/el4r 以下にインストールされます。

debianizeされたもののみを使う場合は@el4r_load_pathを変更しなくても問題ないですが、
ソースからインストールする場合はファイルが見つからないと怒られるでしょう。
潜在的なトラブル回避です。

> ソースパッケージ以下を grep してみると @el4r_load_path への代入があるのは
> el4r-1.0.2/bin/el4r-rctool だけなのですが、ここの箇所を御指導のように変更しても
> 問題は代りません。どこを変更すればよいのでしょうか?

el4r-instanceでは代入は行われていません。参照のみです。
以下の部分で使われています。

modules El4r
class ELInstance
# ...
def el4r_load(path_to_rb, is_noerror = nil)
el4r_load_path.each do |dir|
full_path_to_rb = File.expand_path(path_to_rb, dir)
if File.exist?(full_path_to_rb)
source = el4r_readfile(full_path_to_rb)
instance_eval(source, full_path_to_rb)
return true
end
end

if is_noerror
false
else
raise LoadError, "el4r_load: cannot load #{path_to_rb}"
end
end
# ...
end
end
--
rubikitch
http://www.rubyist.net/~rubikitch/

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




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