From f95894a53930cd3c205d82fa706bd2635630f8c7 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Wed, 19 Oct 2011 21:51:06 +0200 Subject: [PATCH] display-woodwind-diagrams.scm: reorganize loops --- scm/display-woodwind-diagrams.scm | 46 +++++++++++-------------------- 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/scm/display-woodwind-diagrams.scm b/scm/display-woodwind-diagrams.scm index 642e37a34f..7f6def714e 100644 --- a/scm/display-woodwind-diagrams.scm +++ b/scm/display-woodwind-diagrams.scm @@ -1823,19 +1823,13 @@ (assoc-get 'stencils stencil-alist)))) (define-public (print-keys instrument) - (let* - ((chosen-instrument - (begin - (format #t "\nPrinting keys for: ~a\n" instrument) - (assoc-get instrument woodwind-data-alist))) - (key-list (list-all-possible-keys (assoc-get 'keys chosen-instrument)))) - (define (key-list-loop key-list) - (if (null? key-list) - 0 - (begin - (format #t "~a\n ~a\n" (caar key-list) (cdar key-list)) - (key-list-loop (cdr key-list))))) - (key-list-loop key-list))) + (format #t "\nPrinting keys for: ~a\n" instrument) + (let ((chosen-instrument (assoc-get instrument woodwind-data-alist))) + (do ((key-list + (list-all-possible-keys (assoc-get 'keys chosen-instrument)) + (cdr key-list))) + ((null? key-list)) + (format #t "~a\n ~a\n" (caar key-list) (cdar key-list))))) (define-public (get-woodwind-key-list instrument) (list-all-possible-keys-verbose @@ -1844,23 +1838,15 @@ (assoc-get instrument woodwind-data-alist)))) (define-public (print-keys-verbose instrument) - (let* - ((chosen-instrument - (begin - (format #t "\nPrinting keys in verbose mode for: ~a\n" instrument) - (assoc-get instrument woodwind-data-alist))) - (key-list - (list-all-possible-keys-verbose (assoc-get 'keys chosen-instrument)))) - (define (key-list-loop key-list) - (if (null? key-list) - 0 - (begin - (format #t "~a\n" (caar key-list)) - (map (lambda (x) - (format #t " possibilities for ~a:\n ~a\n" (car x) (cdr x))) - (cdar key-list)) - (key-list-loop (cdr key-list))))) - (key-list-loop key-list))) + (format #t "\nPrinting keys in verbose mode for: ~a\n" instrument) + (do ((key-list (get-woodwind-key-list instrument) + (cdr key-list))) + ((null? key-list)) + (format #t "~a\n" (caar key-list)) + (for-each + (lambda (x) + (format #t " possibilities for ~a:\n ~a\n" (car x) (cdr x))) + (cdar key-list)))) (define-markup-command (woodwind-diagram layout props instrument user-draw-commands) -- 2.39.2