[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00969] Re: LOG_DIR from within archive browser causes SEGV
- Subject: [FDclone-users:00969] Re: LOG_DIR from within archive browser causes SEGV
- From: "Akinori MUSHA" <knu@iDaemons.org>
- Date: Mon, 09 Apr 2012 16:59:39 +0900
At Sat, 07 Apr 2012 22:18:03 +0900,
Takashi SHIRAI wrote:
> わざわざ検証して頂いたんですが、実はあの対応では不完全なこ
> とが判明したので、時間の無駄使いをさせてしまったかも知れませ
> ん。申し訳ない。
いえいえ、ご心配なく。
> なので、window 毎にカーソル位置の filename を記憶させてお
> くように実装を改めました。
>
> なお、この副作用で LOG_DIR や cd による directory 移動時の
> カーソル位置に関する仕様が一部変更になってしまいました。
> 従来は、OUT_DIR による移動時のみ直前の directory にカーソ
> ル移動させていましたが、LOG_DIR や cd で .. に移動した場合も
> 同じ処理になります。
> 更には、../.. のように孫やひ孫の directory から移動した場
> 合も直系の子にあたる directory にカーソル移動します。慣れな
> いと気持ち悪いかも知れません。
私は逆に、そういう仕様の方が一つ前のディレクトリを忘れずに済んでいい
なと思っていたので違和感はないです。
> > > 取り敢えず、archive browser で使用禁止の internal command
> > > は command line 実行も禁止して、他の command も終了後に必ず
> > > CWD を元に戻すようにしてみました。
> >
> > あまりいろいろは試していませんが、 cd については
> >
> > cd / && ls
> >
> > が意図通り実行され、復帰するとCWDが戻っていることを確認しました。
>
> この挙動は従来の LOG_DIR 仕様と異なっていることに気づきま
> した。archive browser 内で LOG_DIR により archive 外に移動し
> た場合は、MUSHA さんの提案通り archive browser を終了します。
> CWD を戻すと cd だけでなく LOG_DIR の仕様まで変更されてし
> まうので、従来との継承性が失われてしまいます。なので考えを改
> め、cd の場合も LOG_DIR 同様の処理にしてみました。
> pushd/popd を含めて directory 移動系のコマンドは全て統合し
> たので、archive browser 内の directory 移動にも全て対応して
> います。
アーカイブブラウザ内での cd は、アーカイブ内のディレクトリ構造に該当
があれば(cwd の代わりに)アーカイブ内を移動するようになったんですね。
1. 「/a/b/c.tar:」の状態で「cd ..」とすると「/a/b」に移動
2. 「/a/b/c.tar:d」の状態で「cd ..」とすると「/a/b/c.tar」に移動
というあたりはなるほどという感じですが、
3. 「/a/b/c.tar:d」の状態で「cd ../..」とすると「/a/b/c.tar:..」に
移動
4. アーカイブブラウザ内での「cd .」は一律「cd: .: bad directory」
でエラー
はこれでいいのかわかりません。
シェル関数を書く上では、 cd はUnix的な chdir であってほしい気もします。
> という訳で patch です。この措置による変更箇所が多かったの
> で、わざわざ FD-3.00j をベースに今回の措置のみ適用したものか
> 差分を生成するという手の込んだことをしています。
> 普段はその逆で、最新版との差分から無関係な箇所を削除してい
> たのですが、今回のやり方だと適用ミスによる embug の可能性も
> あるので、その点はご容赦下さい。
> 更に、mail に添付するには大き過ぎるサイズになってしまった
> ので、FTP server に置いておきました。ML に置いとくと後で記録
> として読み返せて嬉しいんですけどね。
> ftp://ftp.unixusers.net/src/beta/fdclone/FD-3.00j-patch.txt
SCMを導入してブランチを使うと楽ですよ。
> code freeze に関しては暫く延長することにしますので、まずは
> この patch に関して妥当性の検証をお願いします。
先ほどから試した限りではSEGVは出ていません。何かあれば報告します。
--
Akinori MUSHA / http://akinori.org/