X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fcontext.hh;h=130a304f935ea694c71d3f9d773ad1aed98e365d;hb=0398fdb9df24ac2e22a8cbff1b3c18ca04e9f221;hp=546152035082b302a887667aedc2018ba58f86f7;hpb=f60196bc3f9f565ad484edec211101ad491af8b5;p=lilypond.git diff --git a/lily/include/context.hh b/lily/include/context.hh index 5461520350..130a304f93 100644 --- a/lily/include/context.hh +++ b/lily/include/context.hh @@ -186,18 +186,23 @@ bool check_repeat_count_visibility (Context const *context, SCM count); void set_context_property_on_children (Context *trans, SCM sym, SCM val); /* Shorthand for creating and broadcasting stream events. */ -#define send_stream_event(ctx, type, origin, ...) \ -{ \ - SCM props[] = { __VA_ARGS__, 0 }; \ - ctx->internal_send_stream_event (ly_symbol2scm (type), origin, props); \ -} +#define send_stream_event(ctx, type, origin, ...) \ + do { \ + SCM props[] = { __VA_ARGS__, 0 }; \ + ctx->internal_send_stream_event (ly_symbol2scm (type), origin, props); \ + } while (0) SCM nested_property_alist (SCM alist, SCM prop_path, SCM value); +SCM nested_property (SCM alist, SCM prop_path, SCM fallback = SCM_EOL); SCM nested_create_alist (SCM prop_path, SCM value); SCM partial_list_copy (SCM alist, SCM tail, SCM newtail); SCM assq_tail (SCM key, SCM alist, SCM alist_end); +SCM assv_tail (SCM key, SCM alist, SCM alist_end); SCM assoc_tail (SCM key, SCM alist, SCM alist_end); SCM evict_from_alist (SCM, SCM, SCM); SCM nalist_to_alist (SCM nalist, int nested); +extern SCM ly_context_set_property_x_proc; +extern SCM ly_context_unset_property_proc; +extern SCM ly_context_matched_pop_property_proc; #endif /* CONTEXT_HH */