Sortコマンド

SRC本家HPのバグ報告掲示板に報告済み
前日にあれこれと騒いでいた現象は、Sortコマンドのバグによるものでした。
とりあえず以下にサンプル。

Array["Love to Peace"] = "Love to Peace"
Array["Love and Peace"] = "Love and Peace"
Array["Love or Peace"] = "Love or Peace"
Array["Love = Peace"] = "Love = Peace"
Array["Love & Peace"] = "Love & Peace"
Array["Love <> Peace"] = "Love <> Peace"
# Array["Love + Peace"] = "Love + Peace"
# Array["Love - Peace"] = "Love - Peace"
# Array["Love * Peace"] = "Love * Peace"
# Array["Love / Peace"] = "Love / Peace"
# Array["Love \ Peace"] = "Love \ Peace"
# Array["Love Mod Peace"] = "Love Mod Peace"

Sort Array
ForEach index In Array
talk
Array[$(index)] = $(Array[index])
end
Next

式となりうる文字列を配列のインデックスにすると、Sortコマンドで配列をソートする際に、その文字列を式として評価したものが、ソート段階で配列に加えられているようです。
例えば、

Array["Love & Peace"] = "Love & Peace"

という、要素を1つだけ持った配列でも、Sortコマンドによるソートを行うと、

Array["Love & Peace"] = "Love & Peace"
Array["LovePeace"] = "Love & Peace"

のような2つの要素を持つ配列になってしまいます。
サンプルではコメントアウトしてありますが、インデックスに算術演算子が入っている配列をソートしようとすると、「不正なコマンドです」と表示されます。
SRCのソースを覗いてみましたが、Sortコマンドは複雑な作りになっていて、VBを知らない僕には、なんとも解読が困難なものになってました。自分でソート用の関数作るしかないのか…。
まあそういうわけで、Sortコマンドを使うときはご注意を。