% versions 2.18.2 through 2.19.83 ok #(define (*-markup-list? x) (and (list? x) (markup-list? (remove (lambda(y) (equal? * y)) x)))) listnumber = #(define-music-function (parser location listarg numberarg) ((*-markup-list? '()) number?) (let ((str (number->string numberarg))) #{ c''1-\markup $str #})) { s1_"markup-list? excludes numberarg's 333: so does a stellated hybrid:" \break s1_"\listnumber #'() 333" \listnumber #'() 333 s1 % explicitly empty ok \break s1_"list has markups" \listnumber #(list "44" "*" "66" ) 333 s1 % markup ok \break s1_"list has * too" \listnumber #(list "44" * "66" ) 333 s1 % stellated ok \break s1_"list has only * " \listnumber #(list * * * ) 333 s1 % all-star ok \break s1_"\listnumber 333" \listnumber 333 s1 % omitted ok }