🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.xemacs
Article #2

.emacsでのカスタマイズより前にEgg/Wnnを読み込むには?

#2
From: IIJIMA Hiromitsu
Date: Mon, 24 Jun 2002 09:51
87 lines
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-mail

Show 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