From the docstring:
Execute BODY only as long as there's no pending input.
If input arrives, that ends the execution of BODY, andwhile-no-input
returns t. Quitting makes it return nil. If BODY finishes,while-no-input
returns whatever value BODY produced.
If I understand correctly, this macro allows me to (attempt to) perform a heavy computation without hanging the interface. That's certainly a concept that I find attractive, but I'm left wondering when is that useful in practice.
It seems that the computation can be interrupted at any moment, with no information on where that happened, and no easy way of resuming it later. Which makes me think it might not be that useful after all...
- Is there a recommended way of using the
while-no-input
macro? - Are there any example usages of this macro in the wild?