如何防止Guile为每个错误启动调试器?

时间:2015-02-15 12:00:36

标签: debugging emacs scheme guile geiser

我在学习如何在Scheme中编程时,在Emacs下使用GuileGeiser。我发现,每当我输入错字或输入错误的代码时,Guile就会陷入调试器。如何让Guile更容忍我的拼写错误/错误并跳过调试器,同时在Emacs下通过Geiser使用它?

随着我在Scheme编程方面越来越先进,我将如何恢复默认行为,或者如何在调试器始终启动与仅按需启动之间切换?

2 个答案:

答案 0 :(得分:2)

您可以将on-error选项设置为report,它只会报告错误,而不会将您丢失在调试器中(默认值为debug); e.g。

scheme@(guile-user)> ,option on-error 'report
scheme@(guile-user)> (/ 1 0)
ERROR: Throw to key `numerical-overflow' with args `("/" "Numerical overflow" #f #f)'.
scheme@(guile-user)> 

请参阅:https://www.gnu.org/software/guile/manual/html_node/System-Commands.html

答案 1 :(得分:1)

我并不是真的写了很多Scheme,但似乎你可以忽略调试器。

如果您正在使用lispy来执行此操作 eval with e ,你甚至看不到REPL窗口,你只是 使用结果在echo区域中获取消息。

如果您设置了(setq geiser-impl--implementation 'guile),请按 <{1}}中的 e ,它将启动Geiser REPL 自动(如果没有现场的那个)并评估表达式。