X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fgraphviz-init.ly;h=96f45ded93ccc3f784eeaea6e1ebe8a61764f2b1;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=470faffa6ac36228222bb077a250e1fdb2e240cb;hpb=915348828137a10d92ceeafd971be3f62ae4d089;p=lilypond.git diff --git a/ly/graphviz-init.ly b/ly/graphviz-init.ly index 470faffa6a..96f45ded93 100644 --- a/ly/graphviz-init.ly +++ b/ly/graphviz-init.ly @@ -2,6 +2,8 @@ #(use-modules (scm graphviz)) +#(use-modules (ice-9 regex)) + #(define last-grob-action '()) #(define sym-blacklist '()) @@ -55,9 +57,13 @@ #(define (grob-mod grob file line func prop val) (let* ((val-str (truncate-value val)) - (label (format #f "~a\\n~a:~a\\n~a <- ~a" (grob::name grob) file line prop val-str))) + (label (format #f "~a\\n~a:~a\\n~a <- ~a" (grob::name grob) file line prop val-str)) + ;; to keep escaped "\"" we need to transform it to "\\\"" + ;; otherwise the final pdf-creation will break + (escaped-label + (regexp-substitute/global #f "\"" label 'pre "\\\"" 'post))) (if (relevant? grob file line prop) - (grob-event-node grob label file)))) + (grob-event-node grob escaped-label file)))) #(define (grob-cache grob prop callback value) (let* ((val-str (truncate-value value))