あれ、これ今のバージョンだとDEF内でGOSUB使えるようになってますね…まじか。バグじゃなかった…?いやでもマニュアルとは挙動が異なるけど。 GOSUBからのRETURNの場合でも返り値の有無はチェックされるので最初のコードはエラーになったっぽい。そしてGOSUBの時に返り値設定されるので、もし関数から抜ける時RETURNなくてもUninitialized〜は起きないと。 というわけでいつの間にかGOSUB使えるようになってたが正解だった。