猿丸です。
On Sat, Mar 04, 2006 at 07:52:30PM JST, Tsurutani Naoki wrote:
FreeBSD/amd64 5-STABLEから6.1-PRERELEASEにアップデートしたマシンがあるのですが、
どうもtcshの補完がおかしい気がしています。
コマンド補完で、途中まで入力して候補を表示させた際、中途半端に改行された
ような表示が行われます。こんな感じです。
% set(ここでタブ)
set setextattr setfmac seticonssetpmac settc
setxkbma
p
setenv setfacl setfsmacsetkey setstylesetty
tcsh 6.14.0 のバグっぽいですね。コマンド補完だけでなく、内蔵
ls (ls-F) も同様です。
下記のパッチを試してみてください。
そもそもコマンド名ではファイル名とは違って末尾の / とか * とか
は関係ないと思うんですが、そんな処理をやっていること自体がおかし
いのかもしれません。というかファイル名表示でも no_file_suffix が
true になって同じ処理をしているみたいなんですけど…。
--- src/contrib/tcsh/tw.parse.c.origWed Sep 14 01:27:38 2005
+++ src/contrib/tcsh/tw.parse.c Thu Mar 16 11:18:02 2006
@@ -2086,10 +2086,11 @@ print_by_column(dir, items, count, no_fi
if (no_file_suffix) {
/* Print the command name */
Char f = items[i][w - 1];
items[i][w - 1] = 0;
print_with_color(items[i], w - 1, f);
+ wx++;
}
else {
/* Print filename followed by '/' or '*' or ' ' */
print_with_color(items[i], w, filetype(dir, items[i]));
wx++;
--
sarumaru