Article View: fj.editor.xemacs
Article #2.emacsでのカスタマイズより前にEgg/Wnnを読み込むには?
From: IIJIMA Hiromitsu
Date: Mon, 24 Jun 2002 09:51
Date: Mon, 24 Jun 2002 09:51
87 lines
5867 bytes
5867 bytes
いいじまです。
#クロスポストを少し広めにしてあります。適宜絞ってください。
[背景]
しばらく前に Mule 2.3 用に自作した
http://www.ht.sakura.ne.jp/~delmonta/emacs/wnn-recovery.el
なるものを一般公開すべく、XEmacs や GNU Emacs 20+ の環境でテストしており
ます。(正確にいえば、私の手の届くところに XEmacs や GNU Emacs 20+ の環境
はないので、知り合いのところに出かけていってテストしています。)
#ちなみにこのファイルの正体ですが、Egg/Wnn でローマ字入力中に、たとえば
#s h Backspace a と入力したときに |sあ| のようになってしまうので、これを
#|さ| のような形に置換してから仮名漢字変換をする、という設定です。
#
#事前に Egg/Wnn を起動しておいてからこのファイルを load-library すると
#動作するようになります。emcws や XEmacs でも動くと思いますが、Tamago4 は
#非対応です。
#(というか、Tamago4 では s h Backspace a できちんと |さ| になるので、
#こういう Lisp プログラムは必要ありません。)
が、どうしても分からないことがあるので、教えてください。
[質問]
XEmacs に Egg がインストールされている環境で、~/.emacs(Mule 2.3 や GNU
Emacs 20+ と共用するという前提です)から Wnn 周りの設定のカスタマイズを
行いたいのですが、XEmacs の場合、Mule 2.3 と違って、~/.emacs が解釈される
時点では Egg/Wnn 関係の Emacs Lisp ファイルは読み込まれていないため、
単にたとえば
(if (boundp 'fence-mode-map) (progn
(define-key fence-mode-map "\C-h" 'fence-backward-delete-char)
:
:
))
と書いても、boundp が nil を返してしまい、何も起こりません。
(1)こういう場合に、この if 文の前で Egg/Wnn を読み込むためには、どのように
記述するのが正しいのでしょうか?
とりあえず今のところ、
(if (fboundp 'toggle-input-method)
(let (_dim default-input-method)
(setq _dim default-input-method)
(setq default-input-method "japanese-egg-wnn")
(toggle-input-method)
(toggle-input-method)
(setq default-input-method _dim)
))
としていますが、もっとスマートで確実な方法はないでしょうか。
#さらに言うと、XEmacs では
# (global-set-key "\C-x" 'kill-region)
#のようにして C-x に単一のコマンドを割り当てた状態で Wnn を起動すると
#エラーになって、そのあと一般の文字キーが全く効かなくなる(egg.el で
#(global-set-key "\C-x " 'henkan-regiob)としているのが原因なので、egg.el
#を先に load してから C-x に単一コマンドを割り当てるようにすれば回避でき
#る)ので、その対策という意味でも Egg/Wnn は ~/.emacs の時点で読み込んで
#おきたいのです。
また、Egg/Wnn がインストールされていない Emacs でもエラーにならないこと、
というのが私の場合の大前提なのですが、上記の方法で、toggle-input-method
を実行したときに「japanese-egg-wnn なんて知らねーぞ」と叱られる危険性は
ないでしょうか。
(2)XEmacs に加えて Tamago4 の場合も ~/.emacs で Egg/Wnn をロードしたい
のですが(同じファイル名でも中身がガラリと違うので、(boundp 'egg-
conversion-map) などで場合分けする必要はありますが)、この場合はどう書く
のが適切でしょうか?
(3)私の周りに emcws な環境がないのですが、emcws の場合、Mule 2.3 と同じ
ように何もしなくても Egg/Wnn 周りのものは ~/.emacs より先に読み込まれて
いるのでしょうか? それとも、何らかの方法で読み込んでおく必要があるの
でしょうか?
========================================================================
飯嶋 浩光 / でるもんた http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta [自宅] mailto:delmonta@ht.sakura.ne.jp
------【宣伝】----------------------------------------------------------
Emacs の VZ + ATOK + カナ入力化など外道カスタマイズの数々
メールマガジン不定期配信中 ↓バックナンバーはこちらから
http://www.ht.sakura.ne.jp/~delmonta/emacs/
------------------------------------------------------------------------
Technical Details
Message-ID:
<3D16EBA4.D8D1F5E7@ht.sakura.ne.jp>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!newsfeed.media.kyoto-u.ac.jp!newsfeed.mesh.ad.jp!newsfeed2.kddnet.ad.jp!mmcatv.co.jp!jpix!giga-nspixp2!203.183.255.98.MISMATCH!newsgate.cwidc.net!tokyonet.ad.jp!t-newsgw1.odn.ne.jp!nwall.odn.ne.jp!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 1107f7,2175c898e004e0a6,start X-Google-Attributes: gid1107f7,public X-Google-Thread: ff358,2175c898e004e0a6,start X-Google-Attributes: gidff358,public X-Google-Thread: 100ca4,2175c898e004e0a6,start X-Google-Attributes: gid100ca4,public X-Google-ArrivalTime: 2002-06-24 02:52:19 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!newsfeed.media.kyoto-u.ac.jp!newsfeed.mesh.ad.jp!newsfeed2.kddnet.ad.jp!mmcatv.co.jp!jpix!giga-nspixp2!203.183.255.98.MISMATCH!newsgate.cwidc.net!tokyonet.ad.jp!t-newsgw1.odn.ne.jp!nwall.odn.ne.jp!not-for-mail From: IIJIMA Hiromitsu <delmonta@ht.sakura.ne.jp> Newsgroups: fj.editor.xemacs,fj.editor.emacs,fj.comp.input-method Subject: .emacsでのカスタマイズより前にEgg/Wnnを読み込むには? Date: Mon, 24 Jun 2002 18:51:32 +0900 Organization: DENNOU GEDOU GAKKAI, N.D.D. http://www.ht.sakura.ne.jp/~delmonta/dgg/ Lines: 87 Message-ID: <3D16EBA4.D8D1F5E7@ht.sakura.ne.jp> NNTP-Posting-Host: cbcba-156p8.ppp13.odn.ad.jp Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-Trace: nwall2.odn.ne.jp 1024912297 76835 218.46.48.8 (24 Jun 2002 09:51:37 GMT) X-Complaints-To: news@odn.ad.jp NNTP-Posting-Date: Mon, 24 Jun 2002 09:51:37 +0000 (UTC) X-Mailer: Mozilla 4.78 [ja] (Win98; U) X-Accept-Language: ja,en,zh-TW,zh,zh-CN,de,ko,es