X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fly-syntax-constructors.scm;h=2712fc21f3c331228192f563285b8b34fc246777;hb=0b544cfb7332615ef809b71b57ab656741311ae1;hp=01fc9bcef820c41cdc6c6add54c9b7459f5efb7c;hpb=50b7d56d80c5842ce9bce3bcebe6b0491e37cee3;p=lilypond.git diff --git a/scm/ly-syntax-constructors.scm b/scm/ly-syntax-constructors.scm index 01fc9bcef8..2712fc21f3 100644 --- a/scm/ly-syntax-constructors.scm +++ b/scm/ly-syntax-constructors.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2006--2012 Erik Sandberg +;;;; Copyright (C) 2006--2014 Erik Sandberg ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -73,7 +73,7 @@ parser (format #f (_ "wrong type for argument ~a. Expecting ~a, found ~s") - n (type-name pred) arg) + n (type-name pred) (music->make-music arg)) location)) (define-ly-syntax-simple (void-music) @@ -134,9 +134,8 @@ "Extract @code{'direction} and @code{'text} from @var{music}, and transform into a @code{MultiMeasureTextEvent}." - (if (memq 'script-event (ly:music-property music 'types)) - (apply make-music 'MultiMeasureTextEvent - (flatten-alist (ly:music-mutable-properties music))) + (if (music-is-of-type? music 'script-event) + (make-music 'MultiMeasureTextEvent music) music)) (define-ly-syntax (multi-measure-rest parser location duration articulations) @@ -152,8 +151,7 @@ into a @code{MultiMeasureTextEvent}." 'origin location)) (define-ly-syntax-simple (context-specification type id ops create-new mus) - (let* ((type-sym (if (symbol? type) type (string->symbol type))) - (csm (context-spec-music mus type-sym id))) + (let ((csm (context-spec-music mus type id))) (set! (ly:music-property csm 'property-operations) ops) (if create-new (set! (ly:music-property csm 'create-new) #t)) csm))