Весь код нет смысла приводить, но суть в том, что с такой функцией работает нормально -
(defun rgraph-edges (graph)
(iter (for v in (rgraph-verticles graph))
(appending (rgraph-v-out v))))
(defun rgraph-edges (graph)
(let ((vs (rgraph-verticles graph)))
(mapcan (lambda (v) (rgraph-v-out v)) vs)))
висит, не выводя ничего в *standard-output* или точнее выводя, потому что при принудительном «Interrupt from Emacs» вывод печатается, но пока висит ничего не печатается. Причём вывод в *standard-output* производится до вызова этой функции. Не знаю как там устроена печать, но по ощущениям что-то типа flush делается только при выбрасывание ошибки. Всё это происходит при 2х вызовах rgraph-edges. То есть, если в коде rgraph-edges вызывается 1 раз, то всё нормально и печатается и работает. Если вызвать rgraph-edges 2 раза, то происходит то, что описано выше.