如何在加载文件时关闭MIT-Scheme的解释器日志记录

3
这是一个非常具体的问题,但我已经尝试了两天都没有成功。我正在使用MIT-Scheme(发布版本7.7.90在Ubuntu 10.04上)运行一些Scheme脚本。我的命令行如下所示。
mit-scheme --band "myimage.com" --interactive --batch-mode < myscript.scm

我的问题是,如果主脚本加载了其他Scheme文件,则解释器会通过打印类似以下内容的方式进行记录:
;Loading "....scm"... done
;Loading "....scm"... 
;  Loading "....scm"... done
;  Loading "....scm"... 
;    Loading "....scm"... done
;  ... done
;... done
;Loading "....scm"... done

这很烦人,因为我的脚本还记录了一些进度信息,这些信息与上面的输出混在了一起。因此,我想完全抑制加载过程中的输出。
我已经查看了在线文档,但没有找到具体的解决方案。我找到的唯一解决方案是将脚本及其所有依赖项加载到解释器中,并使用disk-save保存图像。如果我使用--band选项加载该图像,则所有不需要的输出都会消失。
但是,我当然不想每次修改源文件时都加载源并保存图像。是否有更简单的解决方案,例如命令行选项、环境变量或可以从Scheme代码中设置的选项?
1个回答

4
这有点晚了,但对于后来者:
您可以使用load/suppress-loading-message?
例如,执行(set! load/suppress-loading-message? #t)将关闭加载消息。
在您的情况下,您应该尝试--eval "(set! load/suppress-loading-message? #t)"

你太棒了! (+1) 它完美地运行了!这个有文档记录吗? - Giorgio
我在主脚本开头添加了建议的行,它完成了任务。 - Giorgio
我不确定它是否有记录,但您可以在MIT-Scheme源代码的src/runtime/load.scm中看到其定义。 - Nick Russell
无论如何,它能够工作。现在我也可以使用MIT-Scheme进行脚本编写了。非常好。 - Giorgio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接