This results in
\markup \column \box { AVA
\concat { A V A }
\concat { A \char #(char->integer #\V) A }
}
using the same kerning in all three lines while previously the third
line differed.
@end lilypond"
(define (concat-string-args arg-list)
(fold-right (lambda (arg result-list)
@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))))
(if (and (string? result) (string? arg))
(cons (string-append arg result) (cdr result-list))
(cons arg result-list))))