Gauche > Archives > 2015/12/25

2015/12/25 17:35:02 UTC齊藤
#
スクリプトの先頭に #!r7rs を書くと
#
*** READ-ERROR: Read error at "c:\\gauche\\share\\gauche-0.9\\0.9.5_pre1\\lib/gauche/libutil.scm":line 52: lexical syntax [] isn't allowed in strict R7RS mode
    While loading "c:\\gauche\\share\\gauche-0.9\\0.9.5_pre1\\lib/gauche/libutil.scm" at line 52
#
というようなエラーになってしまいました。
2015/12/25 20:32:16 UTCshiro
#
ああそうか。リーダモードはロードするファイルごとに設定しないとまずいんだな。
2015/12/25 21:13:24 UTCkaki
#
gosh> (read-from-string ":")
:
gosh> (read-from-string "#!r7rs :")
|:|
gosh> (read-from-string ":")
|:|
#
こんな挙動を目撃したのを思い出しました。(0.9.5_pre1)
2015/12/25 21:56:18 UTCshiro
#
#!r7rsがグローバルなフラグを書き換えちゃって、新しく作られるポートがデフォルトのモードをそのグローバル値を継承するようになってるのが敗因。