我在学习如何在Scheme中编程时,在Emacs下使用Guile和Geiser。我发现,每当我输入错字或输入错误的代码时,Guile就会陷入调试器。如何让Guile更容忍我的拼写错误/错误并跳过调试器,同时在Emacs下通过Geiser使用它?
随着我在Scheme编程方面越来越先进,我将如何恢复默认行为,或者如何在调试器始终启动与仅按需启动之间切换?
答案 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
自动(如果没有现场的那个)并评估表达式。