============================================== 2002.10.21 発行 =========
         極私的 Emacs カスタマイズ紹介マガヂン
            Emacs をわたし色に染めて♪
------------------------------------------------------------------------
             第 24 回 最近の Emacs と Wnn をめぐる諸々の問題
                 【前編】エラーを起こさない ~/.emacs を書く
------------------------------------------------------------------------
※あなたのカスタマイズをぜひ教えてください。一般的なものから、他の人は
 絶対にしないような「外道」なものまで、何でも結構です。

※解除の方法は、このメールの末尾をごらんください。
========================================================================

	おひさしぶりです、でるもんた・いいじまです。

	なんとか体調が復調してきたかと思ったら、ふとしたきっかけでまた
	元の悪い状態に逆戻り…一進一退の状態です。完全回復はいつのことやら。

	というわけで、体調がよければ毎週のように発行することもあると思い
	ますが、場合によっては数ヶ月に一度しか発行できないかもしれません。
	とうぶん廃刊にはしませんので(ネタが尽きたら終刊しますが、かなり先の
	話になりそうです)、楽しみにお待ち下さい。

☆目次☆
	はじめに
	今回のお題
	背景 - Mule 2.3 はもはや黄昏時
	いろんなバージョンの egg/Wnn
	大原則:Wnn 関係のファイルが読み込まれるのは、~/.emacs より後である
	対策その 1:eval-after-load を使う
	対策その 2:~/.emacs の時点で Wnn 関係のファイルを読み込んでしまう
		〜C-x にまつわる問題〜
	おまけ - どうしても Linux で Mule 2.3 を使いたければ
	アンケートのお願い
	次回予告

☆はじめに☆

	バックナンバーを見て「Emacs 20/21 の人はまずこちらへ」と誘導されて
	この記事を web 上で読む方は、「なにやら文法的に難しいことが書いて
	あるな」と感じられることが多いと思います。そういう場合は、難しい
	ことは抜きにして、とりあえずここに書いてあるサンプルコードを書き
	写して動作させてみてください。

☆今回のお題☆

	さて、今回と次回のお題は「最近の Emacs と Wnn をめぐる諸々の問題」
	です。

	今まで当マガヂンでは、Wnn 関係に関しては Emacs 19.34 ベースの
	Mule 2.3 オンリーで話を進めてきたのですが、今となっては Emacs
	20.x や 21.x のユーザーを無視するわけにはいかなくなってしまい
	ました。

	そこで今回は Emacs 20/21、そして XEmacs にも対応するための方策を、
	とりあえず Wnn 関係に絞って説明します。実は Wnn 以外にもいろいろと
	問題がわかっているのですが、それは第 26 回以降に回させてください。

☆背景 - Mule 2.3 はもはや黄昏時☆

	最近では、一般的な日本人 UNIX 利用者が利用する Mule/Emacs のバー
	ジョンが、Mule 2.3 から Emacs 20.x や 21.x にシフトしてきました。

	たしかに今でも、
		○昔から稼働していて OS の再インストールがされていない
		○古いマシンで非力なため、Emacs 20.x/21.x の利用には堪え
		 られない
		○Emacs 20.x や 21.x ではサポートされていないアラビア語や
		 ヘブライ語を書きたい【注】
	といった理由で、Emacs 19.x ベースの Mule 2.3(欧米では、Mule 機能の
	ついていない英語版 Emacs 19.x)が動いているところも多いようです。

	【注】Mule の総本山 http://www.m17n.org/mule/ (ちなみに、このサー
	   バーは、Emacs の日本語化の総本山でもある電子技術総合研究所の
	   所有です)には、
		| Mule (or MULtilingual Enhancement to GNU Emacs) was a
		| multilingual editor based on GNU Emacs. Now most of
		| multilingual features of Mule are merged into GNU Emacs
		| as MULE (multilingual environment).
		|
		| You may still need Mule, however, if you want to have your
		| text written bi-directionally (for example, when you write
		| a English AND Arabic article.)
	   とあります。(どうやら、本家 GNU Emacs との統合前の Mule の
	   ことは大文字小文字混じりで Mule と書き、統合後の GNU Emacs に
	   組み込まれた多国語機能のことは全部大文字で MULE と書くのが
	   慣わしのようです。)

				☆

	しかし、最近の Linux のディストリビューションでは、そもそも Emacs
	20.x ないし 21.x しか用意しないところが多くなってきました。理由は
	簡単で、Mule 2.3 のソースコード(C 言語で書かれた元のプログラム)は、
	最近の Linux では微修正を加えないと、実行プログラムへとコンパイル
	できないからです(詳細は今回の末尾に書きます)。

	いっぽう、FreeBSD では、一部に反対の声はあるらしいのですが、今でも
	Mule 2.3 のサポートは続いています。Ports/Packages という形で一発
	インストールが可能です。

	また、Emacs 上で動く各種ソフトなど(メールリーダー Mew など)も、
	「Mule 2.3 と Emacs 20 とでは内部構造に大きな違いがあり、両方に
	対応するのは面倒」という理由で、Mule 2.3 のサポートを切り捨てつつ
	あります。ですから、Emacs をテキストエディタだけではなく総合環境と
	して使いたい、という人は、かなり昔から、着々と Emacs 20 以降への
	乗り換えを進めていました。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆いろんなバージョンの egg/Wnn☆

	さて、Emacs 自体の話はこれくらいにして、話を Wnn に絞りましょう。
	ご承知の通り、Wnn は仮名漢字変換ソフトですが、これは変換サーバーと
	呼ばれるソフトを動かしておいて、別に用意した変換クライアントと呼ば
	れるソフトが変換サーバーに漢字変換の依頼をかけます。

	Mule も、そんな変換クライアントの一種です。Mule に組み込まれている
	変換クライアントを egg と言います。

	【蛇足】(1)「一種です」ということは他にもあるわけで、しかるべき
	    クライアントをインストールすればコンソール上からでも Wnn
	    を利用した漢字入力が可能です。
	    (2) egg のことは「たまご」とも言います。世に出るまでに時間
		がかかったので、「たくさん待たせてごめんなさい」の頭文字を
		とって「たまご」としたそうです。egg というのはその直訳です。

				☆

	ところが、Mule/Emacs でも、Wnn の取り扱いに関しては、いろいろな
	亜種が存在して、扱いが一筋縄ではいきません。というのは、本家 GNU
	Emacs には、Wnn に関する機能はまだ取り込まれていないからです。

	【蛇足】これは、Emacs の開発責任者である Richard Stallman 氏が、
	    「特定の言語(ここでは日本語)に固有の機能は、Emacs の実行
	    プログラム本体にはできるだけ追加したくない。そういう機能は
	    マクロ(Emacs Lisp)で実現すべきだ」という意向を示したためと
	    聞き及んでいます。

	現在、Mule/Emacs で扱える Wnn については、次のものがあります。

	(1) Mule 2.3

		Mule 2.3 では、Mule 自体に Wnn サーバーとの通信機能が組み
		込まれています。ですので、Wnn 対応になっているものをイン
		ストールすれば(ソースからコンパイルする場合は、最初の
		configure の時に --with-wnn6 等のオプションをつけれぱ)、
		起動の時点から Wnn が使えるようになります。

	(2) emcws <http://emacs-20.ki.nu/emcws.shtml>

		emcws というのは「EMacs+Canna+Wnn+Sj3」の略で、Emacs 20.x
		や 21.x に大がかりなパッチを当てて、Mule 2.3 とほぼ同様に
		Wnn(や Canna、SJ3)が使えるようにしたものです。バイナリが
		配布されていることもありますし、ソースからコンパイルする
		こともできます。

	(3) XEmacs <http://www.xemacs.org>

		XEmacs は、Stallman 氏の手を離れて様々な機能追加が行われて
		います。Wnn をサポートしているのもそのひとつです。ですので、
		XEmacs では、インストール時に egg-its というパッケージを
		一緒にインストールすれば、Wnn が使えるようになります。
		ただし、若干の注意点が必要です。それは以下で述べます。

	(4) Tamago4 <http://www.m17n.org/tamago/>
	    ※今回はほんのちょっとしか扱いません

		これは、Emacs 本体には手を入れないで、Emacs Lisp だけで
		Wnn での変換機能を実現しようという試みで、将来的にはこちら
		が Emacs Lisp 本体に取り込まれる方向です。
		今までの (1)〜(3) で使われていた egg が version 3 だったので、
		その次のバージョンという意味で Tamago4 という名前がついて
		います。また、Tamago4 のことを単にローマ字で Tamago(ないし
		tamago)と書く場合もあります。

		…が、version 3 とは変数名・関数名などが大きく異なっており、
		旧来のカスタマイズ用の設定との互換性がほとんどありません。
		たとえば、version 3 では henkan-mode-map となっていたキー
		マップの名前が、Tamago4 では its-mode-map となっているよう
		です。

		【余談】これに限らず、Tamago4 では、変数名・関数名を、旧来の
		    日本語のローマ字綴りから、原則として英訳に変更する
		    ということが行われています。その割にはなぜか、単語
		    登録をする toroku-region コマンドは Tamago4 でも
		    egg-toroku-region と、日本語の名前のままなのですが。

		また、Tamago4 は、いままでコードをいろいろと継ぎ足してきた
		ものを清算し、すべてをゼロから作り直しているため、まだ実装
		されていない機能が多々あり(私が熱望している仮名キー入力も、
		現時点での一般公開版である 4.0.6 には入っていません)、
		version 3 に慣れている人から見ればいろいろと不満な部分が
		あります。

		今回は、Tamago4 を気軽に試せる環境がなかったので(出身大学の
		計算機センターは今年度から Tamago4 を本格導入しているの
		ですが、わざわざ大学に出かけていって他人のコンピュータを
		占拠するわけにはいきませんので…)、Tamago4 については今回
		は、「Tamago4 がインストールされている環境でもエラーには
		ならないけど、Tamago4 のカスタマイズはしない」ということで
		ご了承いただきたいと思います。

	(5) その他
	    ※今回は全く扱いません

		以上の他にも、Emacs 上で Wnn を使うためのソフトはいろいろ
		あるようです。しかし、当方に試せる環境がないため、これに
		ついてはバッサリ割愛させてください。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆大原則:Wnn 関係のファイルが読み込まれるのは、~/.emacs より後である☆

	Mule 2.3 や emcws では、Emacs が起動した時点ですでに egg 関係の
	モジュールの起動は済んでいます。従って、何も考えずに ~/.emacs に

		; 以下 4 行は第 14 回を参照
		(define-key fence-mode-map "\eO" nil)
		(define-key fence-mode-map "\e[" nil)
		(define-key henkan-mode-map "\eO" nil)
		(define-key henkan-mode-map "\e[" nil)

		;これは第 11 回で紹介
		(define-key fence-mode-map "\C-h" 'fence-backward-delete-char)

		;これは第 27 回で紹介予定
		(require 'wnn-recovery)

	のように必要なカスタマイズを書けば、それで済んでしまいます。

				☆

	ところが XEmacs では、egg 関係のモジュールが起動されるのは、起動
	前ではなく、C-\ を押して日本語入力モードに入ったときです。それま
	では、Wnn 関係の変数や関数は、何も存在していません。ですので、
	うっかり ~/.emacs にこういうことを書いてしまうと、XEmacs が起動して
	~/.emacs を読み込んだ段階で、

		Symbol's value as variable is void: fence-mode-map

	というエラーになってしまいます。

	さて、それではどうするか。
	前置きが長くなりましたが、それがこれからのお話です。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆対策その 1:eval-after-load を使う☆

	※※この項は第 24 回発行後に一部差し替えました※※

	ひとつ目の、オーソドックスな対策は、eval-after-load という関数を
	使うことです。次のように書いてください。

	(defun my-customize-egg3-wnn ()
		(interactive)

		(define-key fence-mode-map "\eO" nil)
		(define-key fence-mode-map "\e[" nil)
		(define-key henkan-mode-map "\eO" nil)
		(define-key henkan-mode-map "\e[" nil)

		(define-key fence-mode-map "\C-h" 'fence-backward-delete-char)

		(require 'wnn-recovery)

		; その他、Wnn 固有の設定はすべてこの defun の中に入れてしまう
		; ローマ字カスタマイズ関係は第 25 回を参照。
	)

	(eval-after-load "egg-wnn" '(my-customize-egg3-wnn)) ; XEmacs
	(if (boundp 'EGG)	; Mule 2.3(emcws も?)
		(my-customize-egg3-wnn)
	)

	eval-after-load は、「第一引数で指定された Emacs Lisp ファイルが
	すでに読み込まれていればすぐに、まだ読み込まれていなければそれが
	読み込まれた時点で、第二引数に書かれた式を実行する」という意味です。

	これを利用して、XEmacs では、Wnn 関係の設定をする egg-wnn.el が
	読み込まれた時点(具体的には、最初に C-\ を押して Wnn を起動した
	時点)まで待って (my-customize-egg3-wnn) を実行することができます。

	ところが Mule 2.3 の場合(完全な確認はしていませんが、各種設定
	ファイルを読む限りでは emcws も同様だと思います)、Mule をソース
	コードからコンパイルする時点で、すでに Wnn 関係の設定は読み込まれて
	いますので、eval-after-load でとらえることができません。

	そこで、Mule 2.3 や emcws では EGG という名前の変数が定義されている
	(XEmacs や Tamago4 にはこの変数はありません)ことを利用し、if と
	boundp を使って、この変数が定義されていれば Mule 2.3 であるとみなす
	ことにします。

	defun で新しくコマンドを作る方法については第 5 回・第 6 回を、
	if と boundp については第 2 回を、それぞれ参照してください。

				☆

	なお、Tamago4 ではファイル名がまた別になっていて、egg.el、egg-cnv.el、
	its.el、wnn.el などです。したがって、上記の記述を ~/.emacs に書い
	ても、Tamago4 には全く影響はありません。

	Tamago4 に関するカスタマイズをするとすれば、例えば次のような形に
	なるでしょうか。(試していないので、間違っていたらごめんなさい。)

	(eval-after-load "egg" '(my-customize-tamago4))
	(defun my-customize-tamago4 ()
		(interactive)

		; egg.el は egg version3 にもあるので、its-mode-map などの
		; 変数があるかどうかで Tamago4 かどうかを判別
		(if (boundp 'its-mode-map) (progn
		    (define-key its-mode-map "\C-h" 'its-delete-backward-SYL)
		    (define-key its-mode-map "\177" 'its-delete-SYL)
		    (define-key its-mode-map [backspace] nil)
		    (define-key its-mode-map [delete] nil)
		))
	)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆対策その 2:~/.emacs の時点で Wnn 関係のファイルを読み込んでしまう
	〜C-x にまつわる問題〜☆

	もうひとつは、~/.emacs が起動した時点で、Wnn を起動してしまう
	という方法です。普通の人ならばとるべき方法ではありませんが、
	私は事情あってそうしています。

	その事情とは…C-x キーの問題です。私の .emacs には、

		(global-set-key "\C-x" 'vz-next-line) ;……(*1)

	と書かれているのですが(第 4 回、第 16 回)、この状態で XEmacs を
	起動して C-\ を押すと、

		Key sequence C-x SPC uses invalid prefix characters

	というエラーになって、その後、普通の文字キーの入力が一切できなく
	なってしまいます。これは、egg.el に

		(define-key global-map "\C-x " 'henkan-region) ;……(*2)

	と書かれていて、これとバッティングするためです。

	これが、(define-key ctl-x-map " " 'henkan-region) と書かれていれば
	何も問題はないんですが、すでに上記のように書かれたものが広く出回って
	いる以上、今さら文句を言ってもはじまりません。

	これを回避するには、~/.emacs のできるだけ頭の部分で egg を起動
	して (*2) を先に実行してから、そのあとで (*1) を実行するしかあり
	ません。

	具体的には、次のようなコードになります。

	(if (boundp 'input-method-alist)
	(progn
		;いったん Wnn を起動する
	      	(if (assoc "japanese-egg-wnn" input-method-alist)
			(activate-input-method "japanese-egg-wnn")
		)

		;デフォルトのものに戻す
		(and
			default-input-method
			(assoc default-input-method input-method-alist)
			(activate-input-method default-input-method)
		)
		(inactivate-input-method)
	))

	キーポイントは、5 行目の
		(activate-input-method "japanese-egg-wnn")
	です。これを実行すれば、egg が起動されます。

	しかし、egg がインストールされていない Emacs 環境というものも、
	当然考えられます。そういう環境では、無闇に
		(activate-input-method "japanese-egg-wnn")
	を実行するとエラーになってしまいます。

	どんな多国語入力ソフトが Emacs にインストールされているかは、
	input-method-alist という変数に入っています。そこで、assoc 文を
	使って調べます。

	【補足】assoc 文の使い方の説明は後日に回させてください。

	さらに、Mule 2.3 には input-method-alist や activate-input-method
	はないので、
		(boundp 'input-method-alist)
	を使ってあらかじめ確認をします。

	最後に、単に
		(activate-input-method "japanese-egg-wnn")
	を実行しただけだと、Wnn が立ち上がった状態になってしまいますし、
	デフォルトで使っている入力ソフトが egg 以外の場合は、C-\ で Wnn を
	OFF にしたあとでもう一度 C-\ を押したら Wnn が起動してしまいます。

	そこで、
		(and
			default-input-method
			(assoc default-input-method input-method-alist)
			(activate-input-method default-input-method)
		)
	でデフォルトのものに戻した上で、
		(inactivate-input-method)
	で入力ソフトを OFF にします。

	【後日補足】
	  (1)発行時点では、入力ソフトをデフォルトのものに戻す作業を、単に
			(activate-input-method default-input-method)
	     と書いていましたが、これではうまくいかない事例がありました
	     ので、上記のように and 文の中に 3 つの式を並べる形にしてくだ
	     さい。詳細は第 26 回にて。
	  (2)この記述のうしろでは、必ず、egg が読み込まれたことを
	     確認してから、egg 関係のカスタマイズをするようにして
	     ください。そうしないと、egg をはじめとする日本語関係の
	     パッケージが入っていない環境ではエラーになってしまいます。

	    具体的には、たとえば次のように書いてください。

		(if (boundp 'fence-mode-map)
		(progn

			; この中に egg V3 関係の設定を集中して記入する

		))

		(if (boundp 'egg-conversion-map)
		(progn

			; この中に Tamago4 関係の設定を集中して記入する

		))

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆おまけ - どうしても Linux で Mule 2.3 を使いたければ☆

	冒頭で述べたように、Linux での Emacs のデフォルトは 20.x、21.x に
	移行してしまいましたが、たとえば Emacs 20 を動かすには非力なマシンが
	あるという理由で、いまだに Linux で Mule 2.3 を使いたい場合はあると
	思います。

	あるいは、私のように他人のための Emacs Lisp を書く人間の場合、
	動作チェックのためだけにも Mule 2.3 をインストールしておきたくなる
	でしょう。

	そのようなときに必要なパッチを、私のサイト
		http://www.ht.sakura.ne.jp/~delmonta/emacs/mule-2.3@linux/
	にまとめました。コンパイルできましたという報告をお待ちしております。

	なお、話は変わって Windows の場合、今ならば本家 GNU Emacs が Windows
	対応になっています(NTEmacs という名前になっていますが、Windows
	95/98/Me でも動きます)し、より Windows にフィットさせた Meadow と
	いう変種もあります。いずれも Emacs 20.x、21.x がベースです。

	ただし、Windows 環境でどうしても Mule 2.3 を使いたい、という場合は、
	Mule for Win32 というものがあり、たとえば

	     http://www.vector.co.jp/soft/win95/writing/se021927.html

	で配布されています。公式な配布元は

	     ftp://ftp.m17n.org/pub/mule/Windows/Mule2.3Win32-W122-i386.tar.gz

	のようです。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆アンケートのお願い☆

	ひさしぶりのマガヂンなので、どんな方が購読しているのかを把握したい
	と思います。そこで、ふたたびアンケートをとりたいと思います。

	御協力いただける方は、下記のアンケートにご記入の上、
		emacs_ankeeto@yahoo.co.jp
	あてにメールで送付してください。件名(Subject)はなんでも結構です。

	なお、送付先がこのマガヂンの配信メールに表示されているアドレス
	(Reply-to、返送先アドレス)とは別ですので、ご注意ください。

	--------ここから--------
	Q1. このマガヂンのことを、いつごろ、どこで知りましたか?
		(1) 開講時にウィークリーまぐまぐに掲載されているのを見た
		(2) 以前に『日経 Linux』で紹介されていたので知った
		(3) 東大ECC相談員ウェブの「今週の技」で知った
		(4) Google 等の検索エンジンで見つけた(知った時期も)
		(5) 他の Emacs 系ウェブサイトからリンクをたどってきた
		    (具体的なアドレスと、知った時期も)
		(6) その他(具体的に、いつどこで知ったのか)

	Q2. 今までのバックナンバーの難易度はどうですか?
		(1) かなり易しい、もっとレベルアップを求む
		(2) やや易しいが、許容範囲内
		(3) ちょうどよい
		(4) やや難しいが、許容範囲内
		(5) かなり難しい、もっと丁寧な説明を求む

	Q3. いま Mule/Emacs を、どんな OS の上で使っていますか?複数回答可
		(1) Linux(わかればディストリビューションとバージョンも)
		(2) FreeBSD(わかればバージョンも)
		(3) Windows(95、98、XP など、どのバージョンなのかも)
		(4) MacOS(バージョンも)
		(5) SunOS、Solaris(SPARC 版か Intel 版かと、バージョンも)
		(6) その他(具体的に OS 名とバージョンを)

	Q4. 使っている Mule/Emacs のバージョンは? ◎○△×でお答えください。
		◎…常用している
		○…ときどき使う
		△…使える環境はあるが滅多に使わない
		×…使える環境を持っていない

		↓ここの「・」を◎○△×のどれかに書き換えて下さい
		・Mule 2.3 を Wnn で使用
		・Mule 2.3 を Wnn 以外で使用(何を使っているか書いて下さい)
		・Emacs 20.x を emcws で使用
		・Emacs 20.x を Tamago4 で使用
		・Emacs 20.x を Wnn 以外で使用(何を使っているか書いて下さい)
		・Emacs 21.x を emcws で使用
		・Emacs 21.x を Tamago4 で使用
		・Emacs 21.x を Wnn 以外で使用(何を使っているか書いて下さい)
		・Meadow で日本語入力には MS IME や ATOK などを使用
		・Meadow で Tamago4 を使用
		・Meadow で上記以外を使用(何を使っているか書いて下さい)
		・その他の Emacs/Mule(何を使っているか書いて下さい)

	Q5. Mule/Emacs 以外のエディタをふだん使っていれば、具体的な名前・
	    バージョンと、上の◎○△の別を書いてください。


	Q6. プログラミング経験のある言語があれば、具体的な言語名(例:C++、
	    Java、Perl)を挙げてください。


	Q7. このマガヂンに何か苦言を呈したい点、取りあげてほしいトピック、
	    紹介したいテクニックなどありましたら、ご自由にお書きください。
	--------ここまで--------

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆次回予告☆

	次回は

		最近の Emacs と Wnn をめぐる諸々の問題
		    【後編】JIS かな入力の問題と、その他もろもろ

	の予定です。

	残念ながら Tamago4 では JIS かな入力ができません(できるように
	しようという動きはあるようです)が、XEmacs や emcws ではできます
	ので、その対応と、その他こまかい問題を扱います。

	その後は、

		・いままでの記述の誤りの訂正と、Emacs 20 以降では通用
		 しなくなってしまった内容の補足

		・「便利なマクロ」シリーズとして、Wnn でローマ字入力する
		 ときに便利なマクロの紹介

		・Emacs Lisp の文法の解説の続き(第 22 回の続き)

	などを予定しています。

========================================================================
極私的 Emacs カスタマイズ紹介マガジン Emacs をわたし色に染めて♪

発行人  でるもんた・いいじま <delmonta@ht.sakura.ne.jp>
        [ホームページ] http://www.ht.sakura.ne.jp/~delmonta/emacs/
        [掲示板]       http://6036.teacup.com/delmonta/bbs

配信    インターネットの本屋さん・まぐまぐ
        http://www.mag2.com/m/0000013484.htm

登録解除・メールアドレス変更は発行人ホームページからどうぞ。また、発行人
ホームページでは、第 0 回からのすべてのバックナンバーを公開しています。
========================================================================

Copyright © IIJIMA Hiromitsu aka Delmonta, 2016/03/10 15:09 JST
これは「古文書」です。 古くなった情報も原則未修正で保存していますのでご注意ください。

古文書本館トップ | 電脳外道学会