From yoichi @ eken.phys.nagoya-u.ac.jp Sun May 5 03:52:27 2002 From: yoichi @ eken.phys.nagoya-u.ac.jp (Yoichi NAKAYAMA) Date: Sun, 05 May 2002 03:52:27 +0900 Subject: default value of mime-file-types in mime-edit.el Message-ID: なかやまです 某所で application/octet-stream なメイルを弾く設定についての話を している中で、「patch は text/x-patch が正しいのだ」と言われた ので少し調べて見たのですが、RFC2046 を見ると、text のとこには material which is principally textual in form とあって、一方で octet-stream のとこには arbitrary binary data とあるので、diff は通常 text だから text/* のが適切なのかと思ってしまったのですが デフォルトの設定としてはどうなんでしょうか? --- mime-edit.el 2001/03/06 23:46:41 1.37.2.3 +++ mime-edit.el 2002/05/04 18:33:41 @@ -304,8 +304,8 @@ nil nil) ("\\.diff$\\|\\.patch$" - "application" "octet-stream" (("type" . "patch")) - nil + "text" "x-patch" nil + "7bit" "attachment" (("filename" . file)) ) -- Yoichi Nakayama From bg66 @ koka-in.org Sat May 11 21:38:22 2002 From: bg66 @ koka-in.org (OHASHI Akira (=?ISO-2022-JP?B?GyRCQmc2NhsoQiAbJEI+NBsoQg==?=)) Date: Sat, 11 May 2002 21:38:22 +0900 Subject: luna =?ISO-2022-JP?B?GyRCJEckTkpRP3REajVBJE47RUp9GyhC?= Message-ID: 大橋です。 luna.el や shimbun のソース等を読みながら luna の勉強をしています。 クラスの作成、メソッドの定義、インスタンスの作成等は概理解した のですが、変数(インスタンス変数、クラス変数)の定義の仕方が 良く判りません。 例えば下記のような TV クラスを定義しようと思った場合、 どのようにコーディングすれば良いのでしょうか。 +------------------------------+ | TV | +------------------------------+ | int channel_ | +------------------------------+ | void setChannel(int channel) | | int getChannel() | +------------------------------+ ひょっとしたら slot? を使用してどうにかするのかなぁと考えて、 以下のように書いてみたのですが、これで正しいでしょうか? (luna-define-class tv () (channel)) (luna-define-internal-accessors 'tv) (luna-define-generic set-channel (tv channel) "Set channel to CHANNEL.") (luna-define-generic get-channel (tv) "Get channel.") (luna-define-method set-channel ((tv tv) channel) (tv-set-channel-internal tv channel)) (luna-define-method get-channel ((tv tv)) (tv-channel-internal tv)) このコードで、なんとなくそれっぽく動いているようです。 (setq my-tv (luna-make-entity 'tv)) (get-channel my-tv) => nil (set-channel my-tv 1) (get-channel my-tv) => 1 もしこれで良いとしたら、後もう一つの疑問は、 初回の get-channel で nil になるのを防ぎたいので初期値を設定したい のですが、コンストラクタを定義するにはどう書けば良いのでしょうか? # standard-object の initialize-instance が鍵かしら… -- OHASHI Akira (大橋 彰) bg66 @ koka-in.org bg66 @ debian.org Share what you know. Learn what you don't. From minakaji @ osaka.email.ne.jp Sat May 11 22:22:35 2002 From: minakaji @ osaka.email.ne.jp (NAKAJIMA Mikio) Date: Sat, 11 May 2002 22:22:35 +0900 Subject: luna =?ISO-2022-JP?B?GyRCJEckTkpRP3REajVBJE47RUp9GyhC?= In-Reply-To: References: Message-ID: At Sat, 11 May 2002 21:38:22 +0900, OHASHI Akira (大橋 彰) wrote: > 変数(インスタンス変数、クラス変数)の定義の仕方が > 良く判りません。 インスタンス変数、クラス変数なんて luna にありましたっけ? ないんじゃ ないっすかね。 > 初回の get-channel で nil になるのを防ぎたいので初期値を設定したい > のですが、コンストラクタを定義するにはどう書けば良いのでしょうか? > # standard-object の initialize-instance が鍵かしら… (luna-define-method initialize-instance :before ((tv tv) &rest init-args) (tv-set-channel-internal tv 1) tv) とかやるんだと思います。最後に必ずインスタンスを返すことをお忘れなきよ う...(ぼくはこれをしょっちゅう忘れて不思議な bug に悩まされます)。 (setq my-tv1 (luna-make-entity 'tv)) (get-channel my-tv1) => 1 ちなみに :before を使うのは子クラスで :after を使いたくなるかも...とい うところかな。 -- 中島幹夫 http://www.asahi-net.or.jp/~gy2m-nkjm/ From akr @ m17n.org Sat May 11 22:25:42 2002 From: akr @ m17n.org (Tanaka Akira) Date: 11 May 2002 22:25:42 +0900 Subject: cvs.m17n.org supports SSH2 now. Message-ID: cvs.m17n.org の committer へのお知らせです。 (anonymous pserver での利用には関係ありません。) cvs.m17n.org の ssh サーバを OpenSSH 3.0.2p1 にしました。 これにより、ssh protocol version 2 が利用可能になりました。ssh protocol version 1 も利用可能です。 ここで、今の committer は ssh protocol version 1 用の公開鍵しか登録し ていないため、ssh client/server がネゴシエーションした結果、ssh protocol version 2 を使うと判断すると認証に失敗します。というわけで、 失敗するなら ~/.ssh/config に次のように書くなどして、ssh protocol version 1 を使用するように設定して下さい。 Host cvs.m17n.org Protocol 1 なお、ssh protocol version 2 用の公開鍵(id_dsa.pub とか)を送っていただ いても構いません。 また、ssh protocol version 1 はしばらく生かしておくつもりです。期限は 決めていません。 -- [田中 哲][たなか あきら][Tanaka Akira] 「ふえろ! わかめちゃん作戦です?」(Little Worker, 桂遊生丸) From bg66 @ koka-in.org Sun May 12 00:01:48 2002 From: bg66 @ koka-in.org (OHASHI Akira (=?ISO-2022-JP?B?GyRCQmc2NhsoQiAbJEI+NBsoQg==?=)) Date: Sun, 12 May 2002 00:01:48 +0900 Subject: luna =?ISO-2022-JP?B?GyRCJEckTkpRP3REajVBJE47RUp9GyhC?= In-Reply-To: References: Message-ID: 大橋です。 From: NAKAJIMA Mikio Subject: Re: luna での変数定義の仕方 Date: Sat, 11 May 2002 22:22:35 +0900 Message-Id: > (luna-define-method initialize-instance :before > ((tv tv) &rest init-args) > (tv-set-channel-internal tv 1) > tv) おぉ、ありがとうございます。期待の動作になりました。 なんとなく理解出来て来たかもしれません。 仰るようにクラス変数はどうやら無さそうですが、 slot をこの例のように使用すれば、カプセル化したインスタンス変数の ように使う事が出来そうですね。 それに luna-make-entity に引数を与えて値を変更する事が出来るので、 変数初期化のためだけにコンストラクタをたくさんオーバーロードする 必要が無いので便利かもしれません。 # (setq my-tv (luna-make-entity 'tv :channel 1)) -- OHASHI Akira (大橋 彰) bg66 @ koka-in.org bg66 @ debian.org Share what you know. Learn what you don't. From bg66 @ koka-in.org Mon May 13 11:21:38 2002 From: bg66 @ koka-in.org (OHASHI Akira) Date: Mon, 13 May 2002 11:21:38 +0900 Subject: luna=?ISO-2022-JP?B?GyRCJEckTkpRP3REajVBJE47RUp9GyhC?= In-Reply-To: References: Message-ID: <20020513112138.a94d.bg66@koka-in.org> 大橋です。 From: NAKAJIMA Mikio Subject: Re: luna での変数定義の仕方 Date: Sat, 11 May 2002 22:22:35 +0900 Message-Id: > At Sat, 11 May 2002 21:38:22 +0900, > OHASHI Akira (大橋 彰) wrote: > > > 変数(インスタンス変数、クラス変数)の定義の仕方が > > 良く判りません。 > > インスタンス変数、クラス変数なんて luna にありましたっけ? ないんじゃ > ないっすかね。 > > > > 初回の get-channel で nil になるのを防ぎたいので初期値を設定したい > > のですが、コンストラクタを定義するにはどう書けば良いのでしょうか? > > # standard-object の initialize-instance が鍵かしら… > > (luna-define-method initialize-instance :before > ((tv tv) &rest init-args) > (tv-set-channel-internal tv 1) > tv) > > とかやるんだと思います。最後に必ずインスタンスを返すことをお忘れなきよ > う...(ぼくはこれをしょっちゅう忘れて不思議な bug に悩まされます)。 > > (setq my-tv1 (luna-make-entity 'tv)) > (get-channel my-tv1) > => 1 > > ちなみに :before を使うのは子クラスで :after を使いたくなるかも...とい > うところかな。 > -- > 中島幹夫 > http://www.asahi-net.or.jp/~gy2m-nkjm/ > > -- OHASHI Akira (大橋 彰) bg66 @ koka-in.org bg66 @ debian.org Share what you know. Learn what you don't. From bg66 @ koka-in.org Mon May 13 11:24:17 2002 From: bg66 @ koka-in.org (OHASHI Akira) Date: Mon, 13 May 2002 11:24:17 +0900 Subject: luna=?ISO-2022-JP?B?GyRCJEckTkpRP3REajVBJE47RUp9GyhC?= In-Reply-To: References: Message-ID: <20020513112417.509c.bg66@koka-in.org> 大橋です。 # ごめんなさい。誤操作してしまいました。 From: NAKAJIMA Mikio Subject: Re: luna での変数定義の仕方 Date: Sat, 11 May 2002 22:22:35 +0900 Message-Id: > (luna-define-method initialize-instance :before > ((tv tv) &rest init-args) > (tv-set-channel-internal tv 1) > tv) これだと luna-make-entity 時に引数で渡された値を 常に上書きしてしまうんじゃないのかなと思ったのですが、 :before だからこの初期化コードの方が先に走るので問題無いんですね。 余談ですが私的 luna の覚え書きを書いてみました。 興味ある方は見てみてやって下さい。 http://www.koka-in.org/~bg66/?cmd=view;name=luna+%A4%C7+OOP+%A4%B7%A4%E8%A4%A6 # まだ勉強途中なので嘘が書いてあるかもしれません。 # もし間違いに気付かれた方は指摘して頂けると嬉しいです。 -- OHASHI Akira (大橋 彰) bg66 @ koka-in.org bg66 @ debian.org Share what you know. Learn what you don't. From minakaji @ osaka.email.ne.jp Mon May 13 22:37:16 2002 From: minakaji @ osaka.email.ne.jp (NAKAJIMA Mikio) Date: Mon, 13 May 2002 22:37:16 +0900 Subject: =?ISO-2022-JP?B?bHVuYRskQiRHJE5KUT90RGo1QSROO0VKfRsoQg==?= In-Reply-To: <20020513112417.509c.bg66@koka-in.org> References: <20020513112417.509c.bg66@koka-in.org> Message-ID: At Mon, 13 May 2002 11:24:17 +0900, OHASHI Akira wrote: > 余談ですが私的 luna の覚え書きを書いてみました。 > 興味ある方は見てみてやって下さい。 拝見いたしました。簡潔で良いですね。実はぼくも似たようなものを Palm でごにょごにょ書いていたのですが、先を越されてしまいましたね。quality も負けているようなので潔く消すことにします...f(^^;。 ところで、これこそ余談なのですが、luna を利用しているコード wanderlust や shimbun を見ていてもあまり slot をガシガシに利用している コードは見受けられません (ような気がします...)。 自分で書いているコードでは、インスタンス変数のつもりで利用することが多 いので、ついついスロットを多用してしまいます。 結果的にスロットの変数を参照して、その値を一時変数に取って、それを計算 してまたスロットに格納する...というコードが非常に多くなってしまうので すが、こういうコードを書く度に、何か非常に効率の悪いことをやっているよ うな罪悪感に呵まれます。 みなさんはこの辺、どう解決していらっしゃるのでしょうか? # といってもう global system variable が乱立するコードもやだし...。 -- 中島幹夫 http://www.asahi-net.or.jp/~gy2m-nkjm/ From tomo @ kanji.zinbun.kyoto-u.ac.jp Tue May 14 18:11:34 2002 From: tomo @ kanji.zinbun.kyoto-u.ac.jp (=?ISO-2022-JP?B?GyRCPGkyLBsoQiA=?= =?ISO-2022-JP?B?GyRCQ05JJxsoQg==?= / MORIOKA Tomohiko) Date: 14 May 2002 18:11:34 +0900 Subject: =?ISO-2022-JP?B?bHVuYRskQiRHJE5KUT90RGo1QSROO0VKfRsoQg==?= In-Reply-To: NAKAJIMA Mikio's message of "Mon, 13 May 2002 22:37:16 +0900" References: <20020513112417.509c.bg66@koka-in.org> Message-ID: >>>>> [emacs-mime-ja : No.01023] にて >>>>> “中島さん”= NAKAJIMA Mikio さま曰く: 中島さん> > 余談ですが私的 luna の覚え書きを書いてみました。 中島さん> > 興味ある方は見てみてやって下さい。 中島さん> 拝見いたしました。簡潔で良いですね。実はぼくも似たようなも 中島さん> のを Palmでごにょごにょ書いていたのですが、先を越されてしま 中島さん> いましたね。qualityも負けているようなので潔く消すことにしま 中島さん> す...f(^^;。 私も見せて頂きました。幾つか気になる点を発見しましたが、それを除けば、 分かりやすくて良いと思います。FLIM に収録したらどうでしょうか? 中島さん> ところで、これこそ余談なのですが、luna を利用しているコー 中島さん> ドwanderlust や shimbun を見ていてもあまり slot をガシガシに 中島さん> 利用しているコードは見受けられません (ような気がします...)。 中島さん> 自分で書いているコードでは、インスタンス変数のつもりで利用す 中島さん> ることが多いので、ついついスロットを多用してしまいます。 えっと、現状の luna の slot はインスタンス変数のことです。CLOS 的には slot には、インスタンス変数に相当する「局所 slot」とクラス変数に相当す る「共有 slot」がありますが、luna では、今の所、共有 slot が実装されて ないので、結果的に luna の slot = インスタンス変数 となっています。 前述の気になる点の一つは「インスタンス変数もどき」という記述で、これは もどきじゃなくて「インスタンス変数」のつもりなんです。 そして、もうひとつの気になる記述は accessor に関するものです。luna 的 には正規の accessor は luna-slot-value と luna-set-slot-value です。た だ、これは毎回名前解決を行って効率が悪いので、効率が問題になる場合の特 例として internal-accessors というものを導入しています。 ;; internal-accessors は名前解決を aref/aset に展開します。よって、多 ;; 重継承を行ったり、継承した class で制限をかけるような場合には正常な ;; 動作が保証されていません。 そういう訳で、最初は internal-accessors を定義せずに luna-slot-value とluna-set-slot-value を使って説明し、後に高速化に関する節を設けて internal-accessors の説明をすると良いんじゃないかと思います。 中島さん> 結果的にスロットの変数を参照して、その値を一時変数に取って、 中島さん> それを計算してまたスロットに格納する...というコードが非常に 中島さん> 多くなってしまうのですが、こういうコードを書く度に、何か非常 中島さん> に効率の悪いことをやっているような罪悪感に呵まれます。 luna の slot 参照に関する名前解決は obarray, 即ち hash で実現されてい るので、slot の数に対しては定数時間で処理されると思います。また、 internal-accessors を用いれば、名前解決の部分が定数に展開されるので、 let とも張り合えるのではないでしょうか?(調べてないけど) -- ===『幾千億の分子に分かれても ======================================== 決して忘れない。 この宇宙が終るまで』 守岡 知彦 (MORIOKA Tomohiko) ====================== Email: ====== From bg66 @ koka-in.org Tue May 14 21:39:19 2002 From: bg66 @ koka-in.org (OHASHI Akira) Date: Tue, 14 May 2002 21:39:19 +0900 Subject: luna=?ISO-2022-JP?B?GyRCJEckTkpRP3REajVBJE47RUp9GyhC?= In-Reply-To: References: <20020513112417.509c.bg66@koka-in.org> Message-ID: <20020514213919.d2a3.bg66@koka-in.org> 大橋です。 From: tomo @ kanji.zinbun.kyoto-u.ac.jp (守岡 知彦 / MORIOKA Tomohiko) Subject: Re: lunaでの変数定義の仕方 Date: 14 May 2002 18:11:34 +0900 Message-Id: > 私も見せて頂きました。幾つか気になる点を発見しましたが、それを除けば、 > 分かりやすくて良いと思います。FLIM に収録したらどうでしょうか? ありがとうございます。 指摘して頂いた点を修正して更新しておきました。 FLIM への収録の件は私的には問題ありません。 というか恐れ多いくらいです…。 ただ、文章がユーザ側の立場での記述になっているので、 今のままではちょっとふさわしくないかなという気もします。 > 前述の気になる点の一つは「インスタンス変数もどき」という記述で、これは > もどきじゃなくて「インスタンス変数」のつもりなんです。 失礼しました。 ちなみに私が「もどき」と表現した理由は、 internal-accessors で作成されたマクロ経由でしかアクセス出来ない と勘違いをしていたためです。 「もどき」は単純に「変数」に掛かっていたのでした。 -- OHASHI Akira (大橋 彰) bg66 @ koka-in.org bg66 @ debian.org Share what you know. Learn what you don't. From ichikawa @ jpl.org Tue May 21 20:49:01 2002 From: ichikawa @ jpl.org (Tatsuya Ichikawa) Date: 21 May 2002 06:49:01 -0500 Subject: ms-tnef =?ISO-2022-JP?B?GyRCJE4bKEI=?= SEMI =?ISO-2022-JP?B?GyRCRXkkRyROGyhC?= parse. Message-ID: 市川です。 application/ms-tnef 形式の添付ファイルを SEMI/FLIM 等で parse/decode して、play 出来るようにする方法、と言うものはあるんでしょうか? 現状、application/ms-tnef の部分を保存し、tnef と言う parser/decoder でファイルを取り出していますが、結構不便だったりします。 これを Emacs 上(SEMI/LIMIT/APEL/Gnus)を使用しています)から直接 Parse/Decode (例えば base64 のように…)することは出来るんでしょうか? もしくは、もうやっている人は…いますか? ;; 送らないようにしてもらう、って言うのは無しにしてください。 -- Tatsuya - Tim - Ichikawa