お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2007-12-15 23:11:44

fourier
メンバ
登録日: 2007-11-23

emacs-env-jaパッケージについて

emacs-env-jaパッケージを使ってemacsを入れると便利でいいと思いますが、
ここで疑問があります。
依存関係を書き出すと

emacs-env-ja: emacs emacs-elなど

emacs: emacs22 -gtkなど
emacs.el: emacs21.el

emacs21.el:
依存 emacs21-common
置換 emacs21

emacs21: いろいろ

ここで疑問は、なぜ、emacs-elの依存がemacs22.elじゃないかという事です。

あとこれは非常に愚かな疑問かも知れませんが、

置換というのはなんですか?
emacs.elというのには具体的に何が入っているのですか?
emacs21.elはemacs22-gtkに対して効果がありますか?
emacs21.elが入った環境にemacs22.elを入れるとどうなりますか?上書きになるのですか?では逆の場合はどうなるのですか?
ruby-mode.elのようなファイルはemacs21でもemacs22でも共通に使える(はずな)のに、
emacs21.elや22.elのような違うパッケージが存在するのはなぜですか?
もしかしてemacs22というのは21の上位互換ですか?

オフライン

 

#2 2008-01-12 06:13:59

dek
メンバ
登録日: 2007-02-12

Re: emacs-env-jaパッケージについて

こんばんわ。KDE4に釣られてubuntuにまたお世話になりだした者です。
少々古い質問ですが、気になる問題を含んでいるようなので。

まず、emacs22-elなどの、*-elなパッケージについて。(もう気づいてらっしゃると思いますが)
EmacsというソフトウェアはCで書かれた部分とelispで書かれた部分とがあって、
後者だけでももう、かなりのファイル量になっています。
また、ご存知のとおり、elispはバイトコンパイルが可能で、
これにより処理の高速化が行われているわけです。
通常Emacはバイトコンパイルされたファイル(*.elc)を読んで動いているのですわけで
バイトコンパイルされる前のelispソース(*.el)は、Emacsの動作自身に必要ないのですが
ヘルプバッファで関数を調べている時など、もともとのソースが入っていなければ
ハイパーリンク機能でLispソースの該当部分に飛ぶようなことはできないわけです。
ですので、ただEmacsを使いたい人にはdebianパッケージのemacsXX-elは必要ないのですが
Lispのソースを参照したいユーザのために、lispのソースだけのパッケージを用意している
というところだと思います。
emacs22-elはemacs22からelispのソースだけを抜き出したもの。
emacs21-elはemacs21の以下同文です。

#emacs-elパッケージがemacs21-elに依存というのは単に、
#ubuntuでは未だemacs21がデフォルトだということでしょう。
#emacs22を使いたいならemacs22と(お好みで)emacs22-elを入れるだけでいい。

問題はここからで、emacs-env-jaパッケージを入れようとすると、
確かにemacs21を要求されるのですが、
くだんのdot.emacs.exampleを眺める限り「emacs21でなければ困る」ような箇所は見当たりません。
22では必要ないmule-ucsを呼ぶ箇所も「21なら」と条件分けされているわけですし。
他のelispパッケージ同様、21,22問わずのパッケージにしていただいた方がいいのではないかと思うのですが
いかがでしょうか > 偉い人。

オフライン

 

Board footer

Powered by FluxBB