[Mew-dist 760] Re: mew-expand-file-name & reedit/redist
Kazu Yamamoto 山本和彦
kazu at example.com
1997年 3月 26日 (水) 23:54:57 JST
From: OKUNISHI Fujikazu <fuji0924 at example.com>
Subject: [Mew-dist 758] Re: mew-expand-file-name & reedit/redist
Date: Wed, 26 Mar 1997 02:31:13 +0900
> 山本さん> (1) 行末の差 (UNIX は LF、OS/2 は CRLF ) を埋めるのは、Mule
> 山本さん> を大前提にして coding-system を変更するとよいでしょう。Mule
> 山本さん> 2.3 なら、file-coding-system{,-for-read} を
> 山本さん> *iso-2022-jp*unix とすれば、よい気がします。
>
> 時間の取れた時に試してみます。
> #これは *もちろん* Mew 内部での変更ですよね? :-)
すいません。これは僕の勘違いのようです。以下、Mule 2.3 に限った話です。
(1) *iso-2022-jp* のように行末の修飾子がない場合は、入力時において、自
動的に行末を判断しMule の内部表現での「行末」を表すデータに変換されます。
(2) *dos*、*mac*、*unix* のような修飾子を補うと、行末が期待しているもの
と違う場合おかしくなるので、お勧めではありません。よって、
file-coding-system-for-read には修飾子のない coding-system を設定して
おくのがよいでしょう。
(3) 出力には、file-coding-system で指定されている行末が利用されます。
OS/2 では CRLF で書き出されても、(2) の読み込みの際に吸収されるので問題
ないでしょう。
(まとめ) coding-system をいじっても pick の問題は解決されない。
さて、僕の他の勘違いは、OS/2 で pick が失敗する理由を、行末の違いだと思っ
たことです。原因は、「行ベースのデータ」を「バイナリデータ」して扱ったこ
とにあります。これだと、Mule が行を意識しないので、行が変換されなかった
わけです。
1.67 では、mew-summary-pick の mew-plet を mew-piolet に変えましたので、
OS/2 でもそのまま動くのではないかと思います。
> うーん、そうすることの是非については僕には返答しかねます。開発者に相談
> してみて改めて。
もう少し厳密にいうと、
"$" は行末の*手前*にマッチ
"\n" は行末そのものにマッチ (OS/2 なら CRLF)
"\r" は CR にマッチ
するのが正しいと思います。
(insert "\n") で CRLF が入るのに、正規表現で違う意味になるのは、やはり
おかしいと思います。
念のため、Demacs の作者で、僕の親友/悪友の東田さんに、どうするのが正
しいのか現在問い合わせています。
> それで、環境変数も必要な場合には
> (format "mhdist=1 mhaltmsg=%s %s %s" ;; /bin/sh
> のような使い方はできませんで、
> (format "set mhdist=1 & set mhaltmsg=%s & %s %s" ;; OS/2 cmd.exe
> のように `&' を噛ませる必要があります。これは UNIX 的な `&' ではありま
> せん。(`;' にあたるのかな?)
これは単純にハードコーディングを止めて、内部の書式を defvar できるように
すればいいことですね?
> これについては 1.55 あたりで既に入ってますよね?
> それで、
はい、入れたのを忘れていました。
> > 私個人の意見としては、「make-symbolic-link」を使う事自体がUNIX以外の
> > 環境(VMS,MSDOS,OS2,WIN32などかな)を無視しているのであまりお勧めでき
> > ません。
>
> とか
>
> > Emacs は UNIX や X や internet からある程度独立しているべきだと思い
> > ます。また、ある程度、portable に書けるはずです。もしかすると Emacs
> > や Emacs Lisp の寿命は UNIX や X や現在の internet protocolよりも長
> > いかも知れないのでそういう配慮はした方が良いんだと思います。
>
> というもっともな意見を受けて納得してしまったのですが、かずさんはどのよ
> うにお考えでしょうか? VMS で MH + Mew を使ってる人がいるかどうかわかり
> ませんが、Win32も普及しつつあるようですし、MH互換スクリプトが出揃った
> 暁には mule-win32 or Mewdow or emacs-win32 でも Mew を使う人が増えるに
> 違いないので気になっています。
この種の問題は、「程度問題」です。とても特殊な機能が UNIX にあって、
OS/2 がサポートしていないなら、そんな機能は使うべきではありません。
ただ、今回のはシンボリックリンクです。UNIX には大昔からある機能で、他
の OS がサポートしていなのはさぼっているだけですから、利用していいと思
います。無い OS では、コピーでごまかすこともできますし。
> それと 1.65 あたりで mew.dot.emacs に追加された
> (setq mew-connection-type1 t) ;; use PTY
> については、デフォルト値がそうなので改めて指定させる必要はないと思いま
> す。OS/2 Emacs (非 MULE) については追ってません。
これも勘違いで、一部の Linux へのサポートでした。1.67 の mew.dot.emacs
では、OS/2 とは関係のないところに入れています。
ただ、デフォルト値は nil でパイプを使います。mew.dot.emacs のは、
PTY を使いたいときの例です。
--かず
Mew-dist メーリングリストの案内