From 9bc2e451a320ffa3f282522b89454275493bc711 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Tue, 18 Aug 2015 11:02:11 +0200 Subject: [PATCH] (descend-to-context, context-spec-music): optional arguments id mods --- scm/music-functions.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 4e7e8aea1f..fd3d4ddb00 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -637,18 +637,23 @@ in @var{grob}." (make-grob-property-revert 'NoteColumn 'horizontal-shift))))) -(define-safe-public (context-spec-music m context #:optional id) - "Add \\context CONTEXT = ID to M." +(define-safe-public (context-spec-music m context #:optional id mods) + "Add \\context @var{context} = @var{id} \\with @var{mods} to @var{m}." (let ((cm (make-music 'ContextSpeccedMusic 'element m 'context-type context))) (if (string? id) (set! (ly:music-property cm 'context-id) id)) + (if mods + (set! (ly:music-property cm 'property-operations) + (if (ly:context-mod? mods) + (ly:get-context-mods mods) + mods))) cm)) -(define-public (descend-to-context m context) +(define-safe-public (descend-to-context m context #:optional id mods) "Like @code{context-spec-music}, but only descending." - (let ((cm (context-spec-music m context))) + (let ((cm (context-spec-music m context id mods))) (ly:music-set-property! cm 'descend-only #t) cm)) -- 2.39.5