FileListSaveAsEnh-sumim.cs
ファイルリストは、通常、デスクトップメニュー → open... → file list で起動し、Squeak システム備え付けのファイラとして使用しますが、デスクトップメニュー → open... → file... でファイルを選んで開いたり、あるいは、次のようにファイルストリームに edit を送信したとき
(FileStream fileNamed: 'ReadMe.txt') edit
には、ワークスペースに似たシンプルなウインドウとして現われ、簡易テキストエディタのように振る舞わせることもできます。
普通のファイラモードと同様、編集したテキストは accept(alt/cmd- s)で overwrite that file を選べば保存でき(当然のことながら)同じウインドウでの編集も続行可能です。ところがここで、いわゆる“別名で保存...”を意味する choose anoher name を選ぶと、それまでの編集テキストは消え、代わりにディレクトリ内のファイル一覧に置き換えられてしまいます。
ファイラ機能用のペインがあるときは(つまり、普通のファイルリストでは)、新しい名前を付けたファイルを改めてファイル一覧のペインで選択すればよいので、さほどの問題はありません(少々、面倒ではありますが…)。しかし、簡易テキストエディタモードではこの動作はある意味、致命的で、いったんこの状態になると、もはや別のファイルはおろか元のファイルの内容を呼び出す手段すらなく(まあ、ないこともないのですが…(^_^;))、もうこのウインドウは用をなさなくなります。
そんなんでは困るので、名前を変えて保存した新しいファイルの編集を引き継ぐことができるように FileList >> #put: を改変してみたのが、タイトルのリンク先のチェンジセットです。ついでに、名前を変えて保存したときに、ウインドウタイトルの内容も、引き続き編集中のファイル名を反映するようにもしました(“ついで”と言いつつ、実はこちらのほうがメソッドやインスタンス変数を追加しなくてはならなくて、けっこう大がかりだったり…w)。
なお、今のところは、新しく作られるファイルが元のファイルと同じディレクトリに作成されている場合のみ、期待される動作をするようになっています。あしからず。