无输入时如何使用?


11

从文档字符串:

只要没有等待输入,就执行BODY。
如果输入到达,则结束BODY的执行,并while-no-input返回t。退出会使它返回nil。如果BODY完成,则while-no-input返回BODY产生的任何值。

如果我理解正确,则此宏允许我(尝试)执行大量计算而不会挂起接口。我肯定会觉得这是一个吸引人的概念,但是我想知道什么时候在实践中有用。

似乎可以随时中断计算,没有关于发生位置的信息,也没有以后恢复它的简便方法。这让我觉得毕竟可能没有那么有用...

  • 有使用while-no-input宏的推荐方法吗?
  • 有没有在野外使用此宏的示例用法?

1
看起来 icomplete +,ivy,helm很少使用它。
Kaushal Modi

Answers:


10

确实,不支持恢复。当然,机构while-no-input可以执行常规的“检查点”,以便下次知道从哪里开始。

但是,此功能的最初动机是在下一条命令之后计算出的信息可能无用的情况下。更具体地说,它是针对引入的icomplete,因此完成候选集的计算不会阻止用户键入其他文本(反过来,这反过来又需要对该完成候选集进行重新计算)。


4

Advisor-git-grep中非常有用:每次击键后,我都可以调用git grepEmacs git存储库的整个3,800,000行。没有挂断。可以打扰了,您只需要检查一下即可。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.