xyzzyで文法的に正しいsiteinit.lが上手く読み込めない現象の解決

既にインストール手順の記事に補足として入れてしまったけれど、
文法的に正しいはずのsiteinit.lが上手く読み込まれないという現象でしばらくハマっていたので、
その原因と解決策を個別エントリーとして上げておく。

今回の問題は、あるマシンで正常に動作しているsiteinit.lが、別マシンに移動すると上手く読み込まれないというもの。
改めてsiteinit.lを開いてeval-bufferしてみても特にエラーを生じず、xyzzy.iniなどを比較しても特に差異は見られなかった。
また、読み込み先ファイルの配置も同様の構成になっていた。

結局原因は、別マシンへのsiteinit.lの移動にGithubを経由していたことだった。
.gitconfigでautocrlfを設定していたため、Githubに上げた時点で改行コードがLFになり、
そのファイルをブラウザからダウンロードして設置したために、xyzzyが上手く読み込めなかったらしい。
xyzzyで改めて開いてから評価しても、その場合は改行コードが解釈済みのためにエラーが出ないというオチだった。
xyzzyはどんなファイルでもある程度勝手に解釈してくれる印象があったから、
改行コードが原因というのは逆に盲点だった。

改行コードはchange-eol-code関数(Ctrl+x Ctrl+k n)で順に変化するので、
下部にあるモード行にcrlfと表示されたことを確認し、上書き保存すればOK。
この時、明示的に上書き保存しないと変更が反映されないので、
何か文字入力してそれを消す、などしてから保存する。