[Mew-dist 14006] XEmacs + mewls (was: Re: b54)
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2000年 8月 31日 (木) 22:19:33 JST
白井です。
XEmacs 上で 1.95b56 を試してみたのですが、その感想です。
# emacs-version -> "21.2 (beta35) "Nike" XEmacs Lucid"
# Solaris 7 + UA-80(4CPU) + 2GByte Mem というなかなか速い構成。
# ただし、WinNT4.0 から ASTEC-X で使っています。
From: KOIE Hidetaka (鯉江英隆) <hide at example.com> さん曰く
Subject: [Mew-dist 13890] Re: b54
Message-ID: <00Aug21.164248jst.29570 at example.com>
Date: Mon, 21 Aug 2000 16:35:04 +0900
鯉江> emacsはスクロールが速いとジャンプスクロールしたり描画を止めたりするので
鯉江> その辺の関係でぎこちなくなるんでしょうか。
鯉江> だとすると、mewlsを起動するときにnice値を指定してやると
鯉江> emacsにできるだけCPUがまわってくるようになって
鯉江> なめらかになったりするかもしれません。(根拠なし)
# nice はやっていないけど。
私の XEmacs では "滑らかか、ぎこちないか" というレベルではなく、
1. その folder の Scan がすべて終了するまで、Summary buffer はユー
ザから見て、書き変わらない。
2. Scan している間は XEmacs 上ではなんにも出来ない。
という感じで、call-process で呼んでいるのと、まったく同じ状態に
なります。;_;
XEmacs は debug option を全部はずして compile し直したりしてみま
した。また、鯉江さんの書かれた「PTY パッチ (X-Mail-Count: 13883)」
も全然だめでした。
結局、mewls が速すぎるのがいけないので、附属のパッチを使って
mewls をちょっとだけ遅くしていろいろ試してみたのですが、私の
XEmacs の場合、だいたい 'mewls --wait 20000' ぐらいが丁度良い感
じになりました。
私は 'C' は素人で、なおかつ、Solaris 7 でしか動かしていないので、
パッチの信憑性は 'ゼロ' ですが、世の中、こういう悩ましいことをし
ないとどうしようもない環境もあるよ、という報告まで。
## XEmacs でスムーズに動いている人っていらっしゃるのかしら?
ちなみに、Emacs 20.7 では 'mewls --wait 10000' ぐらいにすると、
folder を scan しながら、なんとか mew-pop もスムーズに動きました。
--
白井秀行 (mailto:shirai at example.com)
--- mewls.c.orig Thu Aug 31 18:13:37 2000
+++ mewls.c Thu Aug 31 18:14:39 2000
@@ -52,6 +52,7 @@
int First = 0, Last = 0;
int use_stat = 1;
+useconds_t Wait = 0;
char *
expandfolder(char *fld) {
@@ -158,8 +159,8 @@
putchar(*p++);
}
printf("\n");
-
fflush(stdout);
+ usleep(Wait);
}
void
@@ -344,6 +345,7 @@
" -n --nostat Don's use fstat().",
" -p --pick Pick expression.",
" -s --src Message source.",
+ " -w --wait Wait timer (microsecond).",
" -v --version Display the version.",
NULL
};
@@ -369,6 +371,7 @@
{"nostat", 0, 0, 'n'},
{"pick", 1, 0, 'p'},
{"src", 1, 0, 's'},
+ {"wait", 1, 0, 'w'},
{"version", 0, 0, 'v'},
{0, 0, 0, 0}
};
@@ -386,7 +389,7 @@
char *p;
int index = 0;
- while ((optc = getopt_long(argc, argv, "f:hnp:s:v", longopts, (int *)0)) != EOF)
+ while ((optc = getopt_long(argc, argv, "f:hnp:s:vw:", longopts, (int *)0)) != EOF)
{
switch (optc) {
case 'f':
@@ -414,6 +417,10 @@
case 'v':
version(progname);
exit(EXIT_SUCCESS);
+ break;
+ case 'w':
+ Wait = atoi(optarg);
+ if (Wait > 1000000) Wait = 1000000;
break;
default:
usage(progname);
Mew-dist メーリングリストの案内