入力なしの使用方法は?


11

docstringから:

保留中の入力がない限り、BODYを実行します。
入力が到着すると、BODYの実行が終了し、while-no-inputtが返されます。終了すると、nilが返されます。BODYが終了した場合、while-no-inputBODYが生成した値を返します。

私が正しく理解している場合、このマクロを使用すると、インターフェースを停止せずに重い計算を実行できます(試みます)。それは確かに私が魅力的だと思うコンセプトですが、それが実際にいつ役立つのか疑問に思っています。

計算はいつでも中断される可能性があり、それがどこで発生したかに関する情報も、後で簡単に再開する方法もありません。結局それはそれほど役に立たないかもしれないと思います...

  • while-no-inputマクロの使用に推奨される方法はありますか?
  • このマクロの実際の使用例はありますか?

1
以下のように見える icomplete +、ツタは、舵はそれを使用してパッケージのほんの一部です。
Kaushal Modi 2015

回答:


10

実際、再開のサポートはありません。もちろん、の本体while-no-inputは定期的な「チェックポイント」を実行して、次回どこから開始するかを知ることができます。

しかし、この機能の元々の動機は、次のコマンドの後に計算された情報がおそらく役に立たない場合にありました。より具体的には、が導入されたためicomplete、補完候補のセットの計算は、ユーザーがさらにテキストを入力することを妨げません(とにかく、補完候補のセットの再計算が必要になります)。


4

counsel-git-grepで非常に便利です。キーを押すたびgit grepに、Emacs gitリポジトリの3,800,000行全体を呼び出すことができます。ハングアップはありません。中断しても問題ありません。確認するだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.