On 6/13/06, Han-Wen Nienhuys <[EMAIL PROTECTED]> wrote:
patch looks good. One minor issue:

> +
> +  assert (infant_event_);
> +  SCM infant_scm = infant_event_->get_property ("context");
> +  Context *infant = unsmob_context (infant_scm);
>

this looks a bit odd. Isn't there a way to have

   send_stream_event()

return a value, which could be infant_event_ or the infant context itself?

I don't see a sensible way: The information would have to go via a
return value of listeners. And listeners are by design passive, so we
shouldn't allow them to return values. Listeners that return values
would basically re-introduce the problem we had previously with
try_music's return value.

In addition, each event can be listened to by any number of listeners,
both in the context tree and in the back-end. I don't see a sensible
way of making send_stream_event combine these return values into one
useful value, and there would be problems with return values that
depend on which back-end is used.

Do you have any concrete ideas?

Erik


_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to