9:03:36jackdanielbeach: I'm thinking about changing the spec for process-next-event; I know you've thinked this function because you have annotated it, could you take a look when you have a moment? https://gist.github.com/dkochmanski/81de19e16b8637ba0a7a39a2012d1f05
9:03:47jackdaniels/thinked this/thinked about this/
9:43:22beachs/Function should/The function should/ (singular nouns usually take an article in English)
9:46:52beachs/Predicate ... is invoked/The predicate ... is invoked/
9:50:11beachHow does process-next-even wait until wait-function returns true?
9:52:44beachI am afraid I still don't understand the description.
9:52:51jackdanielthat is the problem - it is not specified. That's what I want to address. A convenient (to me) interpretation would be: wait-function is called before we try to get an event, then we try to read event from a display server (with a timeout), during this time port may but doesn't have to (because it may block), call wait-function and if we timeout, we check the wait-function again
9:53:27jackdanielin pseudocode it would be: (or (funcall wait-function) (read-event-from-display-server :timeout timeout) (funcall wait-function))
9:54:40beachWhy would there be no need for processing the next event?
9:55:13beachAnd does "the predicate" refer to the wait-function?
9:55:22jackdanielyes, the predicate refer to the wait-function
9:56:07jackdanielas of why would there be no need for processing the next event -- if we already have events in the queue, then we don't need to source the next event
9:56:18jackdanielwhen process-next-event is run in a separate thread, it never happens
9:56:38jackdanielbut when we run in single-threaded mode, it is called from event-queue protocol functions