From 8d2099810e7e28c3a8053558c9fe7501361d6137 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Tue, 27 Nov 2012 02:42:20 +0100 Subject: [PATCH] Issue 2972: Adding StringNumber 0 in TabStaff crashes This does not check against string numbers that are too large, however. --- scm/translation-functions.scm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/scm/translation-functions.scm b/scm/translation-functions.scm index aef6169425..a0b39edfe4 100644 --- a/scm/translation-functions.scm +++ b/scm/translation-functions.scm @@ -282,6 +282,12 @@ dot placement entries." (length (filter (lambda (x) (not (null? x))) art-list))) + (define (string-number event) + "Get the string-number from @var{event}. Return @var{#f} +if no string-number is present." + (let ((num (ly:event-property event 'string-number))) + (and (integer? num) (positive? num) num))) + (define (determine-frets-and-strings notes defined-strings @@ -325,14 +331,6 @@ if no fingering is present." articulations) finger-found)) - (define (string-number event) - "Get the string-number from @var{event}. Return @var{#f} -if no string-number is present." - (let ((num (ly:event-property event 'string-number))) - (if (number? num) - num - #f))) - (define (delete-free-string string) (if (number? string) (set! free-strings @@ -519,7 +517,7 @@ chords. Returns a placement-list." (defined-strings (map (lambda (x) (if (null? x) x - (ly:event-property x 'string-number))) + (or (string-number x) '()))) (car specified-info))) (defined-fingers (map (lambda (x) (if (null? x) -- 2.39.2