我正在尝试编写一个每隔5秒执行一次shell命令的emacs函数。但是,我无法暂停工作。这就是我所拥有的:
(while '(test)
(insert (format "echo hello"))
(comint-send-input))
(sleep-for 0 5000)
我怀疑由于与Lisp功能评估相关的原因而忽略了睡眠。关于如何在每次命令评估后发生暂停的任何建议?
答案 0 :(得分:3)
正如评论中提到的那样,问题在于paren。
另外,我刚刚在sit-for
中尝试了*scratch*
,与sleep-for
相比,它表现得更顺畅。
(while 1
(insert "hello")
(sit-for 1))
但两者都锁定了Emacs,因为它是单线程的,所以你应该小心这种活动。
请考虑使用async
包或类似的东西。