2020の変更点を書いていきます。今までAdaではファイル名にLatin-1以外の文字を使えませんでした。エンコーディングがLatin-1と規格で決められていたからです。他のエンコーディングは認められていませんでした。規格ではUTF-16ではなくUCS-2です。サロゲートペアには対応していません。入れるライブラリも追加されましたが、他の標準ライブラリがLatin-1を想定しているところにUTF-8を入れてもまともに動くはずがありません。Latin-9、SJIS、EUC-JP等を突っ込んで使うこともありましたが、言ってしまえば規格違反でした。渡すことでファイル名をUTF-8として解釈させることができました。パラメータは、処理系定義の追加のオプションを渡すためのパラメータです。https://gcc.gnu.org/onlinedocs/gnat_rm/FORM-Strings.htmlこれは、なんか複数の処理系で合意があったとかなかったとかそんなやり方らしいのですが、大きな欠点がありました。パラメータを持っているわけではないのです。等でディレクトリにあるファイル名を列挙させただけで、もしLatin-1に収まらないファイル名があればランタイムエラーになるというお粗末なことになりました。ファイル名を無変換のまま独自の謎チェックにかけてLatin-1として有効なファイル名でも一部エラーにしてしまう更にお粗末なことになっています。)そんな状況でしたので、これまではAdaでまともにファイル名を扱おうとすれば規格違反の実装を使うしかありませんでした。扱え、ということになります。コマンドラインや環境変数経由でファイル名(に限らずLatin-1に収まらない文字列)が指定されることもありますから必要です。版ライブラリって丸っとゴミになりますよね......。版も丸っとゴミなわけですが......。長年の問題が解消されるわけで、喜んでいいと思いますたぶんきっとおそらく。明日はもっとポジティブな話題を書きたいです。