X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fgraphviz.scm;h=247d30c4a7fc1bba8ede9e56965ed57de2532f6c;hb=7404fd9d0d16a12b5f065268f5a6196024496aca;hp=ee3ddd7fe717072aa5cee8c420e790df6a018c8c;hpb=e18531db1f79fb685fbd16d6a2a67bf4b6c09915;p=lilypond.git diff --git a/scm/graphviz.scm b/scm/graphviz.scm index ee3ddd7fe7..247d30c4a7 100644 --- a/scm/graphviz.scm +++ b/scm/graphviz.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2007--2010 Joe Neeman +;;;; Copyright (C) 2007--2012 Joe Neeman ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -37,18 +37,18 @@ (define (add-cluster graph node-id cluster-name) (let* ((cs (clusters graph)) - (cluster (assq cluster-name cs)) + (cluster (assoc cluster-name cs)) (already-in-cluster (if cluster (cdr cluster) '()))) - (set-clusters! graph (assq-set! cs + (set-clusters! graph (assoc-set! cs cluster-name (cons node-id already-in-cluster))))) (define (add-node graph label . cluster-name) (let* ((ns (nodes graph)) (id (length ns))) - (set-nodes! graph (assq-set! ns id label)) + (set-nodes! graph (assv-set! ns id label)) (if (and (not (null? cluster-name)) (string? (car cluster-name))) (add-cluster graph id (car cluster-name))) @@ -61,18 +61,17 @@ (let ((ns (nodes graph)) (es (edges graph)) (cs (clusters graph))) - (ly:message (format (_ "Writing graph `~a'...") (port-filename out))) + (ly:message (format #f (_ "Writing graph `~a'...") (port-filename out))) (display "digraph G {\nrankdir=\"LR\"\nnode [shape=rectangle]\n" out) - (map (lambda (n) (display (format "~a [label=\"~a\"]\n" (car n) (cdr n)) out)) - ns) - (map (lambda (e) (display (format "~a -> ~a\n" (car e) (cdr e)) out)) - es) - (map (lambda (c) - (display (format "subgraph cluster_~a {\nlabel= \"~a\"\ncolor=blue\n" - (string-filter (car c) char-alphabetic?) - (car c)) - out) - (map (lambda (n) (display (format "~a\n" n) out)) (cdr c)) - (display "}\n" out)) - cs) + (for-each (lambda (n) (format out "~a [label=\"~a\"]\n" (car n) (cdr n))) + ns) + (for-each (lambda (e) (format out "~a -> ~a\n" (car e) (cdr e))) + es) + (for-each (lambda (c) + (format out "subgraph cluster_~a {\nlabel= \"~a\"\ncolor=blue\n" + (string-filter (car c) char-alphabetic?) + (car c)) + (for-each (lambda (n) (format out "~a\n" n)) (cdr c)) + (display "}\n" out)) + cs) (display "}" out)))