
Ubuntu日本語フォーラム

ログインしていません。
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の上位互換ですか?
オフライン
こんばんわ。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問わずのパッケージにしていただいた方がいいのではないかと思うのですが
いかがでしょうか > 偉い人。
オフライン