@end lilypond"
(define (concat-string-args arg-list)
(fold-right (lambda (arg result-list)
- (let ((result (if (pair? result-list)
- (car result-list)
- '())))
- (if (and (pair? arg) (eqv? (car arg) simple-markup))
- (set! arg (cadr arg)))
+ (let ((result (and (pair? result-list)
+ (car result-list))))
+ (cond ((not (pair? arg)))
+ ((eq? (car arg) simple-markup)
+ (set! arg (cadr arg)))
+ ((eq? (car arg) char-markup)
+ (set! arg (ly:wide-char->utf-8 (cadr arg)))))
(if (and (string? result) (string? arg))
(cons (string-append arg result) (cdr result-list))
(cons arg result-list))))