gc[]のtrue/falseがGCされたかどうかのフラグということかな? なら、そのフラグを確保する配列に「スコープ」の情報を持たせたらいいでしょ。 例えば… gc[]と同じ長さのgcscope$[]を用意して、getnewcellで確保されるたびにそのスコープ名を入れておく。 スコープ名はグローバルなら空文字、関数なら関数名+通し番号みたいな感じで定義して。 入れ子のスコープなら「親スコープ名+"/"+子スコープ名」みたいな感じで。 で、gc(scopename$)みたいに拡張して、gc()内でgcscope$[]の全要素を前方一致を検索してまとめて廃棄。 みたいな。 セル増えてくると検索大変だからデータ構造に工夫が必要になるけども。